/*
 * ════════════════════════════════════════════════════════════════
 * OOSCF HOME PAGE — ooscf-home.css
 * Enqueued via functions.php (only on the front page).
 * Upload to: hello-elementor-child/css/ooscf-home.css
 * ════════════════════════════════════════════════════════════════
 */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;0,900;1,400;1,700&family=Outfit:wght@300;400;500;600;700&display=swap');

    /* ══════════════════════════════════════════════════════════════
       OOSCF HOME PAGE — FULL CSS
       All styles scoped under .ooscfp-page to avoid WordPress conflicts
    ══════════════════════════════════════════════════════════════ */

    :root {
      --oc-crimson:       #B71C1C;
      --oc-crimson-light: #E53935;
      --oc-crimson-dark:  #7F0000;
      --oc-gold:          #E8952F;
      --oc-gold-light:    #FFD08A;
      --oc-gold-pale:     #FFF8EE;
      --oc-navy:          #0D1B2A;
      --oc-navy-mid:      #1A2E44;
      --oc-slate:         #2C3E50;
      --oc-gray:          #6B7280;
      --oc-light:         #F8F5F2;
      --oc-cream:         #FDF9F5;
      --oc-white:         #FFFFFF;
      --oc-border:        rgba(183,28,28,0.12);
      --oc-shadow:        0 4px 24px rgba(13,27,42,0.12);
      --oc-shadow-lg:     0 12px 48px rgba(13,27,42,0.18);
      --oc-radius:        16px;
      --oc-radius-sm:     8px;
      --oc-transition:    0.35s cubic-bezier(0.4,0,0.2,1);
      --oc-font-display:  'Playfair Display', Georgia, serif;
      --oc-font-body:     'Outfit', -apple-system, sans-serif;
    }

    /* ── Reset & Base ── */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    body { font-family: var(--oc-font-body); color: var(--oc-slate); background: var(--oc-cream); line-height: 1.6; overflow-x: hidden; -webkit-font-smoothing: antialiased; }
    a { text-decoration: none; color: inherit; }
    img { max-width: 100%; display: block; }

    /* ── Skip link ── */
    .ooscfp-skip {
      position: absolute; top: -100px; left: 1rem;
      background: var(--oc-crimson); color: #fff;
      padding: 0.5rem 1rem; border-radius: 4px;
      font-family: var(--oc-font-body); font-size: 0.875rem; z-index: 9999; transition: top 0.2s;
    }
    .ooscfp-skip:focus { top: 1rem; }

    /* ── ANNOUNCEMENT BANNER ── */
    .ooscfp-announce {
      background: linear-gradient(90deg, var(--oc-crimson-dark), #9B1515, var(--oc-crimson-dark));
      background-size: 200% 100%;
      animation: announcePan 6s linear infinite;
      color: #fff; text-align: center; padding: .6rem 1.5rem;
      font-size: .8rem; font-weight: 600; letter-spacing: .04em;
      position: relative; z-index: 10;
      display: flex; align-items: center; justify-content: center; gap: .75rem; flex-wrap: wrap;
    }
    @keyframes announcePan { 0%{background-position:0% 0} 100%{background-position:200% 0} }
    .ooscfp-announce__dot { width: 7px; height: 7px; background: var(--oc-gold); border-radius: 50%; animation: ocPulse 2s ease infinite; flex-shrink: 0; }
    .ooscfp-announce a { color: var(--oc-gold-light); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
    .ooscfp-announce a:hover { color: #fff; }

    /* ── HERO ── */
    .ooscfp-hero {
      position: relative; min-height: 100vh;
      display: flex; flex-direction: column; align-items: center; justify-content: center;
      background: var(--oc-navy); overflow: hidden; padding-bottom: 2rem;
    }
    .ooscfp-hero__bg {
      position: absolute; inset: 0;
      background: linear-gradient(135deg,#0D1B2A 0%,#1A0A0A 50%,#2C1810 100%);
    }
    .ooscfp-cell { position: absolute; border-radius: 50% 20% 50% 20%; opacity: .07; animation: cellFloat 12s ease-in-out infinite; }
    .ooscfp-cell--1 { width:520px;height:340px;background:var(--oc-crimson);top:-80px;right:-120px;animation-delay:0s; }
    .ooscfp-cell--2 { width:380px;height:240px;background:var(--oc-gold);bottom:60px;left:-60px;animation-delay:-4s;border-radius:20% 50% 20% 50%; }
    .ooscfp-cell--3 { width:280px;height:180px;background:var(--oc-crimson-light);top:40%;left:30%;animation-delay:-8s;opacity:.05; }
    .ooscfp-cell--4 { width:180px;height:110px;background:var(--oc-gold);top:20%;right:25%;animation-delay:-2s;opacity:.06;border-radius:50% 20% 50% 20%; }
    @keyframes cellFloat { 0%,100%{transform:translateY(0) rotate(0deg) scale(1)} 33%{transform:translateY(-30px) rotate(8deg) scale(1.04)} 66%{transform:translateY(18px) rotate(-5deg) scale(.97)} }
    .ooscfp-hero__grid {
      position:absolute;inset:0;
      background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
      background-size:60px 60px;
    }
    .ooscfp-hero__content { position:relative;z-index:2;text-align:center;max-width:960px;padding:2rem 1.5rem 1rem;width:100%; }
    .ooscfp-hero__eyebrow {
      display:inline-flex;align-items:center;gap:.5rem;
      background:rgba(232,149,47,.15);border:1px solid rgba(232,149,47,.35);
      color:var(--oc-gold-light);font-size:.8rem;font-weight:600;
      letter-spacing:.12em;text-transform:uppercase;
      padding:.4rem 1.1rem;border-radius:100px;margin-bottom:1.5rem;
      animation:fadeUp .7s both;
    }
    .ooscfp-hero__eyebrow span { width:6px;height:6px;background:var(--oc-gold);border-radius:50%;display:inline-block; }
    .ooscfp-hero__h1 {
      font-family:var(--oc-font-display);font-size:clamp(2.2rem,5.5vw,4.6rem);
      font-weight:900;line-height:1.1;color:var(--oc-white);
      margin-bottom:1rem;animation:fadeUp .7s .15s both;
    }
    .ooscfp-hero__h1 em {
      font-style:normal;background:linear-gradient(135deg,#E8952F,#FFD08A);
      -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
    }
    .ooscfp-hero__subtext {
      font-size:clamp(1.05rem,2.2vw,1.4rem);font-weight:700;
      color:var(--oc-gold-light);margin-bottom:.75rem;
      animation:fadeUp .7s .25s both, subtextPulse 3s 1s ease-in-out infinite;
      letter-spacing:.01em; text-shadow:0 0 30px rgba(232,149,47,.4);
    }
    @keyframes subtextPulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.85;transform:scale(1.015)} }
    .ooscfp-hero__sub {
      font-size:clamp(.9rem,2vw,1.1rem);color:rgba(255,255,255,.7);
      max-width:580px;margin:0 auto 2rem;animation:fadeUp .7s .35s both;
    }
    .ooscfp-hero__actions {
      display:grid;grid-template-columns:repeat(2,auto);gap:.75rem;
      justify-content:center;margin-bottom:2.5rem;animation:fadeUp .7s .45s both;
    }
    @media(max-width:540px){ .ooscfp-hero__actions{grid-template-columns:1fr;max-width:280px;margin-left:auto;margin-right:auto;} }

    /* ── Buttons ── */
    .ooscfp-btn {
      display:inline-flex;align-items:center;justify-content:center;gap:.45rem;
      font-family:var(--oc-font-body);font-size:.875rem;font-weight:700;
      padding:.75rem 1.5rem;border-radius:100px;transition:var(--oc-transition);
      border:2px solid transparent;letter-spacing:.02em;white-space:nowrap;cursor:pointer;
      text-decoration:none;
    }
    .ooscfp-btn:focus-visible{outline:3px solid var(--oc-gold);outline-offset:3px;}
    .ooscfp-btn--primary{background:linear-gradient(135deg,var(--oc-crimson),#E53935);color:#fff;box-shadow:0 6px 24px rgba(183,28,28,.4);}
    .ooscfp-btn--primary:hover{transform:translateY(-2px);box-shadow:0 10px 32px rgba(183,28,28,.5);filter:brightness(1.08);}
    .ooscfp-btn--gold{background:linear-gradient(135deg,var(--oc-gold),#F4C66A);color:var(--oc-navy);font-weight:800;box-shadow:0 6px 24px rgba(232,149,47,.35);}
    .ooscfp-btn--gold:hover{transform:translateY(-2px);box-shadow:0 10px 32px rgba(232,149,47,.5);filter:brightness(1.05);}
    .ooscfp-btn--outline-white{border-color:rgba(255,255,255,.5);color:#fff;background:rgba(255,255,255,.08);backdrop-filter:blur(8px);}
    .ooscfp-btn--outline-white:hover{border-color:var(--oc-gold);color:var(--oc-gold);background:rgba(232,149,47,.1);transform:translateY(-2px);}
    .ooscfp-btn--warrior{border-color:rgba(232,149,47,.6);color:var(--oc-gold-light);background:rgba(232,149,47,.1);backdrop-filter:blur(8px);}
    .ooscfp-btn--warrior:hover{background:rgba(232,149,47,.2);border-color:var(--oc-gold-light);transform:translateY(-2px);color:#fff;}
    .ooscfp-btn--dark{background:var(--oc-navy);color:#fff;border-color:var(--oc-navy);}
    .ooscfp-btn--dark:hover{background:var(--oc-navy-mid);transform:translateY(-2px);}
    .ooscfp-btn--ghost{color:var(--oc-crimson);background:transparent;border-color:var(--oc-crimson);}
    .ooscfp-btn--ghost:hover{background:var(--oc-crimson);color:#fff;transform:translateY(-2px);}
    .ooscfp-btn--cause{background:linear-gradient(135deg,#6D1212,var(--oc-crimson));color:#fff;font-size:.8rem;padding:.6rem 1.25rem;}
    .ooscfp-btn--cause:hover{transform:translateY(-2px);filter:brightness(1.1);}
    .ooscfp-btn--explore{background:var(--oc-navy-mid);color:#fff;border-color:var(--oc-navy-mid);}
    .ooscfp-btn--explore:hover{background:var(--oc-navy);transform:translateY(-2px);}

    /* ── Hero Stats Bar ── */
    .ooscfp-hero__stats {
      display:flex;flex-wrap:wrap;gap:1px;justify-content:center;
      background:rgba(255,255,255,.08);border-radius:16px;overflow:hidden;
      animation:fadeUp .7s .6s both;width:100%;
    }
    .ooscfp-hero__stat{flex:1;min-width:120px;padding:1.1rem 1rem;text-align:center;background:rgba(255,255,255,.05);backdrop-filter:blur(10px);}
    .ooscfp-hero__stat-num{font-family:var(--oc-font-display);font-size:1.85rem;font-weight:700;color:var(--oc-gold);display:block;line-height:1.1;}
    .ooscfp-hero__stat-label{font-size:.7rem;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.07em;margin-top:.15rem;}

    /* ── Partners Section ── */
    .ooscfp-partners-wrap {
      overflow:hidden;position:relative;max-width:1100px;margin:0 auto;
    }
    .ooscfp-partners-wrap::before,.ooscfp-partners-wrap::after {
      content:'';position:absolute;top:0;bottom:0;width:90px;z-index:2;pointer-events:none;
    }
    .ooscfp-partners-wrap--light::before{background:linear-gradient(90deg,var(--oc-light),transparent);}
    .ooscfp-partners-wrap--light::after{right:0;background:linear-gradient(-90deg,var(--oc-light),transparent);}
    .ooscfp-partners-track {
      display:flex;gap:2.5rem;align-items:center;
      animation:marquee 32s linear infinite;width:max-content;
    }
    .ooscfp-partners-wrap:hover .ooscfp-partners-track{animation-play-state:paused;}
    @keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
    .ooscfp-partner-logo {
      width:110px; height:60px; display:flex; align-items:center; justify-content:center;
      background:#ffffff; border-radius:10px; padding:8px 12px;
      box-shadow:0 2px 10px rgba(0,0,0,.1);
      transition:transform .35s ease, box-shadow .35s ease;
      flex-shrink:0;
    }
    .ooscfp-partner-logo--full { filter:none; }
    .ooscfp-partner-logo--full:hover {
      transform:scale(1.1) translateY(-3px);
      box-shadow:0 8px 28px rgba(183,28,28,.22), 0 0 0 3px rgba(232,149,47,.3);
    }
    .ooscfp-partner-logo img { max-width:100%; max-height:42px; object-fit:contain; display:block; }

    /* ── FLW Trust Badge ── */
    .ooscfp-flw-badge {
      display:inline-flex;align-items:center;gap:.5rem;
      background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
      border-radius:100px;padding:.4rem 1rem;
      font-size:.72rem;font-weight:600;color:rgba(255,255,255,.65);
      letter-spacing:.04em;
    }
    .ooscfp-flw-badge svg { flex-shrink:0; }
    .ooscfp-flw-badge--light {
      background:rgba(232,149,47,.07);border-color:rgba(232,149,47,.2);
      color:var(--oc-slate);
    }
    .ooscfp-flw-badge--form {
      display:flex;align-items:center;justify-content:center;gap:.4rem;
      font-size:.71rem;color:var(--oc-gray);margin-top:.75rem;
    }

    /* ── Trust Strip (floating) ── */
    .ooscfp-trust-strip {
      position:fixed;bottom:0;right:0;z-index:99;
      display:flex;flex-direction:column;align-items:flex-end;gap:.4rem;
      padding:0 2rem 8rem;
      pointer-events:none; opacity:0; transition:opacity .4s ease;
    }
    .ooscfp-trust-strip-inner {
      background:rgba(13,27,42,.92);backdrop-filter:blur(12px);
      border:1px solid rgba(255,255,255,.1);border-radius:12px;
      padding:.6rem 1rem;display:flex;flex-direction:column;gap:.25rem;
      pointer-events:auto;
    }
    .ooscfp-trust-row {
      display:flex;align-items:center;gap:.4rem;
      font-size:.67rem;color:rgba(255,255,255,.55);white-space:nowrap;
    }
    .ooscfp-trust-row svg { flex-shrink:0; }

    /* ── SECTION COMMON ── */
    .ooscfp-section{padding:5.5rem 1.5rem;}
    .ooscfp-section--light{background:var(--oc-light);}
    .ooscfp-section--cream{background:var(--oc-cream);}
    .ooscfp-section--dark{background:var(--oc-navy);}
    .ooscfp-container{max-width:1200px;margin:0 auto;}
    .ooscfp-label{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--oc-crimson);margin-bottom:.75rem;}
    .ooscfp-label::before{content:'';display:inline-block;width:22px;height:2px;background:var(--oc-crimson);border-radius:2px;}
    .ooscfp-label--gold{color:var(--oc-gold);}
    .ooscfp-label--gold::before{background:var(--oc-gold);}
    .ooscfp-label--white{color:rgba(255,255,255,.6);}
    .ooscfp-label--white::before{background:rgba(255,255,255,.4);}
    .ooscfp-h2{font-family:var(--oc-font-display);font-size:clamp(1.75rem,3.5vw,2.8rem);font-weight:700;line-height:1.2;color:var(--oc-navy);}
    .ooscfp-h2--white{color:var(--oc-white);}
    .ooscfp-h2 em{font-style:normal;color:var(--oc-crimson);}
    .ooscfp-h3{font-family:var(--oc-font-display);font-size:clamp(1.15rem,2vw,1.6rem);font-weight:700;color:var(--oc-navy);}
    .ooscfp-body{font-size:1.0625rem;color:var(--oc-gray);line-height:1.75;}
    .ooscfp-body--light{color:rgba(255,255,255,.7);}
    .ooscfp-text-center{text-align:center;}
    .ooscfp-section-header{max-width:680px;margin-bottom:3rem;}
    .ooscfp-section-header--center{margin-left:auto;margin-right:auto;text-align:center;}

    /* ── Stats Bar ── */
    .ooscfp-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:linear-gradient(135deg,var(--oc-navy),var(--oc-crimson-dark));border-radius:24px;overflow:hidden;}
    .ooscfp-stat-item{padding:2.25rem 1.5rem;text-align:center;border-right:1px solid rgba(255,255,255,.1);position:relative;transition:background var(--oc-transition);}
    .ooscfp-stat-item:last-child{border-right:none;}
    .ooscfp-stat-item:hover{background:rgba(255,255,255,.05);}
    .ooscfp-stat-item__num{font-family:var(--oc-font-display);font-size:clamp(2rem,3.5vw,3.2rem);font-weight:900;color:var(--oc-gold);line-height:1;display:block;}
    .ooscfp-stat-item__label{font-size:.82rem;color:rgba(255,255,255,.65);margin-top:.35rem;font-weight:500;}
    .ooscfp-stat-item__icon{font-size:1.6rem;margin-bottom:.6rem;display:block;}

    /* ── Founder ── */
    .ooscfp-founder{display:grid;grid-template-columns:1fr 1fr;gap:4.5rem;align-items:center;}
    .ooscfp-founder__img-wrap{position:relative;}
    .ooscfp-founder__img-bg{position:absolute;bottom:-20px;left:-20px;width:100%;height:100%;background:linear-gradient(135deg,var(--oc-crimson),var(--oc-gold));border-radius:var(--oc-radius);z-index:0;opacity:.12;transform:rotate(-2deg);}
    .ooscfp-founder__img{position:relative;z-index:1;border-radius:var(--oc-radius);overflow:hidden;box-shadow:var(--oc-shadow-lg);aspect-ratio:4/5;object-fit:cover;width:100%;transition:transform .5s ease;}
    .ooscfp-founder__img:hover{transform:scale(1.02);}
    .ooscfp-founder__badge{position:absolute;bottom:1.5rem;right:1.5rem;z-index:2;background:var(--oc-white);border-radius:12px;padding:.7rem 1.1rem;box-shadow:var(--oc-shadow);display:flex;align-items:center;gap:.5rem;}
    .ooscfp-founder__badge-icon{font-size:1.3rem;}
    .ooscfp-founder__badge-text{font-size:.75rem;font-weight:700;color:var(--oc-navy);line-height:1.2;}
    .ooscfp-founder__badge-sub{font-size:.68rem;color:var(--oc-gray);font-weight:400;}
    .ooscfp-founder__quote{border-left:4px solid var(--oc-crimson);padding-left:1.25rem;font-family:var(--oc-font-display);font-style:italic;font-size:1.05rem;color:var(--oc-crimson-dark);margin:1.75rem 0;line-height:1.6;}

    /* ── Programs ── */
    .ooscfp-programs{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
    .ooscfp-program-card{background:var(--oc-white);border-radius:var(--oc-radius);overflow:hidden;box-shadow:var(--oc-shadow);transition:transform var(--oc-transition),box-shadow var(--oc-transition);display:flex;flex-direction:column;border:1px solid rgba(183,28,28,.06);}
    .ooscfp-program-card:hover{transform:translateY(-7px);box-shadow:var(--oc-shadow-lg);}
    .ooscfp-program-card__img{aspect-ratio:16/10;overflow:hidden;}
    .ooscfp-program-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
    .ooscfp-program-card:hover .ooscfp-program-card__img img{transform:scale(1.06);}
    .ooscfp-program-card__body{padding:1.35rem;flex:1;display:flex;flex-direction:column;gap:.4rem;}
    .ooscfp-program-card__sdg{display:inline-flex;font-size:.68rem;font-weight:700;color:var(--oc-crimson);background:rgba(183,28,28,.08);padding:.18rem .55rem;border-radius:100px;text-transform:uppercase;letter-spacing:.05em;align-self:flex-start;}
    .ooscfp-program-card__h{font-family:var(--oc-font-display);font-size:1rem;font-weight:700;color:var(--oc-navy);margin-top:.2rem;}
    .ooscfp-program-card__p{font-size:.85rem;color:var(--oc-gray);line-height:1.6;flex:1;}
    .ooscfp-program-card__link{margin-top:auto;padding-top:.85rem;font-size:.85rem;font-weight:700;color:var(--oc-crimson);display:inline-flex;align-items:center;gap:.25rem;transition:gap var(--oc-transition);}
    .ooscfp-program-card:hover .ooscfp-program-card__link{gap:.5rem;}

    /* ── SDG ── */
    .ooscfp-sdg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem;}
    .ooscfp-sdg-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:var(--oc-radius);padding:1.75rem 1.5rem;transition:transform var(--oc-transition),background var(--oc-transition);display:flex;flex-direction:column;align-items:flex-start;gap:.85rem;}
    .ooscfp-sdg-card:hover{transform:translateY(-5px);background:rgba(255,255,255,.08);}
    .ooscfp-sdg-card__top{display:flex;align-items:center;gap:.85rem;width:100%;}
    .ooscfp-sdg-card__img{width:58px;height:58px;border-radius:10px;object-fit:cover;flex-shrink:0;}
    .ooscfp-sdg-card__num{font-size:.68rem;font-weight:700;color:var(--oc-gold);text-transform:uppercase;letter-spacing:.1em;}
    .ooscfp-sdg-card__title{font-family:var(--oc-font-display);font-size:.95rem;font-weight:700;color:#fff;line-height:1.3;}
    .ooscfp-sdg-card__desc{font-size:.84rem;color:rgba(255,255,255,.65);line-height:1.6;}
    .ooscfp-sdg-progress-wrap{width:100%;}
    .ooscfp-sdg-progress-label{display:flex;justify-content:space-between;margin-bottom:.35rem;font-size:.72rem;color:rgba(255,255,255,.5);}
    .ooscfp-sdg-progress-bar{height:5px;background:rgba(255,255,255,.1);border-radius:3px;overflow:hidden;}
    .ooscfp-sdg-progress-fill{height:100%;background:linear-gradient(90deg,var(--oc-gold),var(--oc-crimson-light));border-radius:3px;width:0;transition:width 1.2s .3s ease;}

    /* ── Causes ── */
    .ooscfp-causes{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
    .ooscfp-cause-card{background:var(--oc-white);border-radius:var(--oc-radius);padding:1.75rem;box-shadow:var(--oc-shadow);border-top:4px solid var(--oc-crimson);transition:transform var(--oc-transition),box-shadow var(--oc-transition);display:flex;flex-direction:column;gap:.65rem;}
    .ooscfp-cause-card:hover{transform:translateY(-6px);box-shadow:var(--oc-shadow-lg);}
    .ooscfp-cause-card__icon{font-size:2.2rem;}
    .ooscfp-cause-card__h{font-family:var(--oc-font-display);font-size:1.05rem;font-weight:700;color:var(--oc-navy);}
    .ooscfp-cause-card__p{font-size:.875rem;color:var(--oc-gray);line-height:1.65;flex:1;}
    .ooscfp-cause-card__impact{font-size:.77rem;font-weight:600;color:var(--oc-crimson);background:rgba(183,28,28,.07);padding:.35rem .75rem;border-radius:6px;display:inline-block;}

    /* ── CSR Banner ── */
    .ooscfp-csr{background:linear-gradient(135deg,var(--oc-crimson-dark) 0%,#5C1111 40%,var(--oc-navy) 100%);border-radius:24px;padding:3.5rem 2.75rem;display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:center;position:relative;overflow:hidden;}
    .ooscfp-csr::before{content:'';position:absolute;top:-60px;right:200px;width:260px;height:260px;background:var(--oc-gold);border-radius:50%;opacity:.04;}
    .ooscfp-csr__figure{font-family:var(--oc-font-display);font-size:3.2rem;font-weight:900;color:var(--oc-gold);line-height:1;}
    .ooscfp-csr__figure span{font-size:.85rem;font-weight:400;color:rgba(255,255,255,.5);display:block;margin-top:.2rem;}

    /* ── Volunteer ── */
    .ooscfp-volunteer{display:grid;grid-template-columns:1fr 1fr;gap:4.5rem;align-items:center;}
    .ooscfp-vol-img{border-radius:var(--oc-radius);overflow:hidden;box-shadow:var(--oc-shadow-lg);}
    .ooscfp-vol-img img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .5s ease;}
    .ooscfp-vol-img:hover img{transform:scale(1.03);}
    .ooscfp-steps{display:flex;flex-direction:column;gap:1.5rem;margin:1.75rem 0;}
    .ooscfp-step{display:flex;gap:1.1rem;align-items:flex-start;}
    .ooscfp-step__num{width:42px;height:42px;background:linear-gradient(135deg,var(--oc-crimson),var(--oc-crimson-light));border-radius:50%;color:#fff;font-weight:700;font-size:.95rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px rgba(183,28,28,.3);}
    .ooscfp-step__content h4{font-family:var(--oc-font-display);font-size:1rem;color:var(--oc-navy);margin-bottom:.2rem;}
    .ooscfp-step__content p{font-size:.875rem;color:var(--oc-gray);line-height:1.6;}
    .ooscfp-vol-perks{display:flex;flex-wrap:wrap;gap:.4rem;margin:1.25rem 0;}
    .ooscfp-vol-perk{background:rgba(183,28,28,.06);border:1px solid rgba(183,28,28,.12);color:var(--oc-crimson);font-size:.78rem;font-weight:600;padding:.3rem .8rem;border-radius:100px;}

    /* ── Testimonials ── */
    .ooscfp-founder-quote{background:linear-gradient(135deg,var(--oc-crimson-dark),var(--oc-navy));border-radius:var(--oc-radius);padding:2.75rem;text-align:center;margin-bottom:3.5rem;position:relative;}
    .ooscfp-founder-quote__text{font-family:var(--oc-font-display);font-size:1.25rem;font-style:italic;color:rgba(255,255,255,.9);line-height:1.65;max-width:740px;margin:0 auto 1.25rem;}
    .ooscfp-founder-quote::before{content:'\201C';position:absolute;top:.4rem;left:1.25rem;font-size:5.5rem;color:rgba(232,149,47,.15);font-family:Georgia,serif;line-height:1;}
    .ooscfp-founder-quote__attr{color:var(--oc-gold);font-weight:700;font-size:.875rem;}
    .ooscfp-testi-slider{position:relative;overflow:hidden;}
    .ooscfp-testi-track{display:flex;gap:1.5rem;transition:transform .5s cubic-bezier(.4,0,.2,1);}
    .ooscfp-testi-card{flex:0 0 calc(33.333% - 1rem);background:var(--oc-white);border-radius:var(--oc-radius);padding:1.75rem;box-shadow:var(--oc-shadow);border-bottom:3px solid var(--oc-crimson);}
    .ooscfp-testi-stars{color:#F59E0B;font-size:.875rem;letter-spacing:.1em;margin-bottom:.65rem;}
    .ooscfp-testi-text{font-size:.95rem;color:var(--oc-gray);font-style:italic;line-height:1.7;margin-bottom:1.1rem;}
    .ooscfp-testi-author{display:flex;align-items:center;gap:.7rem;}
    .ooscfp-testi-avatar{width:42px;height:42px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--oc-light);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.85rem;}
    .ooscfp-testi-avatar img{width:100%;height:100%;object-fit:cover;}
    .ooscfp-testi-name{font-weight:700;font-size:.875rem;color:var(--oc-navy);}
    .ooscfp-testi-role{font-size:.75rem;color:var(--oc-gray);}
    .ooscfp-testi-controls{display:flex;gap:.65rem;justify-content:center;margin-top:1.75rem;}
    .ooscfp-testi-dot{width:9px;height:9px;border-radius:5px;background:rgba(183,28,28,.2);border:none;cursor:pointer;transition:all .3s ease;padding:0;}
    .ooscfp-testi-dot.active{background:var(--oc-crimson);width:26px;}

    /* ── Blog ── */
    .ooscfp-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
    .ooscfp-blog-card{background:var(--oc-white);border-radius:var(--oc-radius);overflow:hidden;box-shadow:var(--oc-shadow);transition:transform var(--oc-transition),box-shadow var(--oc-transition);display:flex;flex-direction:column;}
    .ooscfp-blog-card:hover{transform:translateY(-6px);box-shadow:var(--oc-shadow-lg);}
    .ooscfp-blog-card__img{aspect-ratio:16/9;overflow:hidden;}
    .ooscfp-blog-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
    .ooscfp-blog-card:hover .ooscfp-blog-card__img img{transform:scale(1.07);}
    .ooscfp-blog-card__body{padding:1.35rem;flex:1;display:flex;flex-direction:column;gap:.45rem;}
    .ooscfp-blog-card__date{font-size:.73rem;color:var(--oc-gray);text-transform:uppercase;letter-spacing:.08em;}
    .ooscfp-blog-card__h{font-family:var(--oc-font-display);font-size:1rem;font-weight:700;color:var(--oc-navy);line-height:1.35;}
    .ooscfp-blog-card__p{font-size:.85rem;color:var(--oc-gray);line-height:1.65;flex:1;}
    .ooscfp-blog-card__link{font-size:.82rem;font-weight:700;color:var(--oc-crimson);margin-top:.65rem;display:inline-flex;align-items:center;gap:.25rem;transition:gap var(--oc-transition);}
    .ooscfp-blog-card:hover .ooscfp-blog-card__link{gap:.5rem;}

    /* ── Events Grid ── */
    .ooscfp-events-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem; }
    .ooscfp-event-card {
      background: var(--oc-white); border-radius: var(--oc-radius);
      overflow: hidden; box-shadow: var(--oc-shadow);
      transition: transform var(--oc-transition), box-shadow var(--oc-transition);
      display: flex; flex-direction: column;
    }
    .ooscfp-event-card:hover { transform: translateY(-6px); box-shadow: var(--oc-shadow-lg); }
    .ooscfp-event-card__date-block {
      background: linear-gradient(135deg, var(--oc-crimson), var(--oc-crimson-dark));
      padding: 1rem 1.5rem; display: flex; align-items: center; gap: 1rem;
    }
    .ooscfp-event-card__day { font-family: var(--oc-font-display); font-size: 2.2rem; font-weight: 900; color: #fff; line-height: 1; }
    .ooscfp-event-card__month { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--oc-gold-light); }
    .ooscfp-event-card__year { font-size: .7rem; color: rgba(255,255,255,.55); margin-top: .1rem; }
    .ooscfp-event-card__body { padding: 1.35rem; flex: 1; display: flex; flex-direction: column; gap: .4rem; }
    .ooscfp-event-card__type { font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--oc-crimson); }
    .ooscfp-event-card__h { font-family: var(--oc-font-display); font-size: 1rem; font-weight: 700; color: var(--oc-navy); line-height: 1.35; }
    .ooscfp-event-card__loc { font-size: .8rem; color: var(--oc-gray); display: flex; align-items: center; gap: .3rem; margin-top: .2rem; }
    .ooscfp-event-card__link { margin-top: auto; padding-top: .85rem; font-size: .82rem; font-weight: 700; color: var(--oc-crimson); display: inline-flex; align-items: center; gap: .25rem; transition: gap var(--oc-transition); }
    .ooscfp-event-card:hover .ooscfp-event-card__link { gap: .5rem; }

    /* ── Social Grid ── */
    .ooscfp-social-grid { display: flex; flex-wrap: wrap; gap: .85rem; justify-content: center; }
    .ooscfp-social-btn {
      display: inline-flex; align-items: center; gap: .6rem;
      padding: .8rem 1.6rem; border-radius: 100px;
      font-family: var(--oc-font-body); font-size: .9rem; font-weight: 700;
      transition: var(--oc-transition);
      background: #ffffff; border: 2px solid rgba(255,255,255,.15);
      color: var(--oc-slate); text-decoration: none;
      box-shadow: 0 3px 14px rgba(0,0,0,.18);
    }
    .ooscfp-social-btn:hover { transform: translateY(-3px); box-shadow: 0 8px 28px rgba(0,0,0,.25); }
    .ooscfp-social-btn:focus-visible { outline: 3px solid var(--oc-gold); outline-offset: 3px; }
    .ooscfp-social-btn svg { flex-shrink: 0; }
    .ooscfp-social-btn--fb:hover  { border-color: #1877F2; color: #1877F2; background: #EEF4FF; }
    .ooscfp-social-btn--ig:hover  { border-color: #DD2A7B; color: #DD2A7B; background: #FFF0F6; }
    .ooscfp-social-btn--x:hover   { border-color: #000; color: #000; background: #F4F4F4; }
    .ooscfp-social-btn--li:hover  { border-color: #0A66C2; color: #0A66C2; background: #EEF4FF; }

    /* ── Final CTA ── */
    .ooscfp-final-cta {
      background: linear-gradient(135deg, var(--oc-crimson-dark) 0%, #4A0000 50%, var(--oc-navy) 100%);
      border-radius: 24px; padding: 4rem 3rem; text-align: center; position: relative; overflow: hidden;
    }
    .ooscfp-final-cta::before {
      content: ''; position: absolute; top: -80px; left: 50%; transform: translateX(-50%);
      width: 400px; height: 400px; background: radial-gradient(circle, rgba(232,149,47,.12) 0%, transparent 70%);
      pointer-events: none;
    }
    .ooscfp-final-cta__h { font-family: var(--oc-font-display); font-size: clamp(1.8rem,4vw,3rem); font-weight: 900; color: #fff; line-height: 1.15; }
    .ooscfp-final-cta__h em { font-style: normal; color: var(--oc-gold); }
    .ooscfp-final-cta__actions { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; margin-top: 2rem; }

    /* ── Registry Banner ── */
    .ooscfp-registry {
      background: linear-gradient(135deg, var(--oc-navy-mid), var(--oc-navy));
      border: 1px solid rgba(232,149,47,.2); border-radius: 20px;
      padding: 2rem 2.5rem; display: flex; align-items: center; gap: 2rem;
      flex-wrap: wrap;
    }
    .ooscfp-registry__icon { font-size: 3rem; flex-shrink: 0; }
    .ooscfp-registry__content { flex: 1; min-width: 200px; }
    .ooscfp-registry__h { font-family: var(--oc-font-display); font-size: 1.25rem; font-weight: 700; color: #fff; margin-bottom: .35rem; }
    .ooscfp-registry__p { font-size: .9rem; color: rgba(255,255,255,.65); line-height: 1.6; }

    /* ── Reveal Animations ── */
    .ooscfp-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;}
    .ooscfp-reveal.ooscfp-visible{opacity:1;transform:none;}
    .ooscfp-reveal--left{transform:translateX(-24px);}
    .ooscfp-reveal--right{transform:translateX(24px);}
    .ooscfp-reveal--left.ooscfp-visible,.ooscfp-reveal--right.ooscfp-visible{transform:none;}
    .ooscfp-delay-1{transition-delay:.1s;}
    .ooscfp-delay-2{transition-delay:.2s;}
    .ooscfp-delay-3{transition-delay:.3s;}
    .ooscfp-delay-4{transition-delay:.4s;}

    /* ── Floating Donate ── */
    .ooscfp-float-btn{position:fixed;bottom:2rem;right:2rem;z-index:100;background:linear-gradient(135deg,var(--oc-crimson),var(--oc-crimson-light));color:#fff;border:none;border-radius:100px;padding:.85rem 1.6rem;font-family:var(--oc-font-body);font-size:.875rem;font-weight:700;box-shadow:0 8px 30px rgba(183,28,28,.45);cursor:pointer;display:flex;align-items:center;gap:.45rem;transition:transform .2s ease,box-shadow .2s ease,opacity .4s ease;opacity:0;pointer-events:none;}
    .ooscfp-float-btn:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 14px 40px rgba(183,28,28,.55);}
    .ooscfp-float-btn:focus-visible{outline:3px solid var(--oc-gold);outline-offset:3px;}
    .ooscfp-float-pulse{width:9px;height:9px;background:var(--oc-gold);border-radius:50%;animation:ocPulse 2s ease infinite;}
    @keyframes ocPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.6}}

    /* ── Back to top ── */
    .ooscfp-back-top {
      position: fixed; bottom: 2rem; left: 2rem; z-index: 99;
      width: 44px; height: 44px; border-radius: 50%;
      background: rgba(13,27,42,.85); backdrop-filter: blur(8px);
      border: 1px solid rgba(255,255,255,.15); color: rgba(255,255,255,.8);
      font-size: 1.1rem; cursor: pointer; display: flex; align-items: center; justify-content: center;
      opacity: 0; pointer-events: none; transition: opacity .4s ease, transform .2s ease, background .2s;
    }
    .ooscfp-back-top:hover { background: var(--oc-crimson); border-color: var(--oc-crimson); color: #fff; transform: translateY(-3px); }
    .ooscfp-back-top:focus-visible { outline: 3px solid var(--oc-gold); outline-offset: 3px; }

    /* ════════════════════════════════════════════════
       MODALS
    ════════════════════════════════════════════════ */
    .ooscfp-modal-overlay {
      position:fixed;inset:0;z-index:1000;
      background:rgba(13,27,42,.88);backdrop-filter:blur(6px);
      display:flex;align-items:center;justify-content:center;
      padding:1.25rem;opacity:0;pointer-events:none;transition:opacity .3s ease;
    }
    .ooscfp-modal-overlay.open{opacity:1;pointer-events:auto;}
    .ooscfp-modal {
      background:var(--oc-white);border-radius:24px;
      width:100%;max-width:560px;max-height:92vh;overflow-y:auto;
      box-shadow:0 24px 80px rgba(0,0,0,.4);
      transform:translateY(24px) scale(.97);transition:transform .3s ease;
    }
    .ooscfp-modal-overlay.open .ooscfp-modal{transform:translateY(0) scale(1);}
    .ooscfp-modal__header {
      background:linear-gradient(135deg,var(--oc-crimson-dark),var(--oc-navy));
      padding:1.75rem 2rem 1.5rem;border-radius:24px 24px 0 0;
      display:flex;justify-content:space-between;align-items:flex-start;
    }
    .ooscfp-modal__logo{width:48px;height:48px;border-radius:10px;overflow:hidden;object-fit:cover;}
    .ooscfp-modal__title-wrap{flex:1;margin-left:1rem;}
    .ooscfp-modal__title{font-family:var(--oc-font-display);font-size:1.3rem;font-weight:700;color:#fff;}
    .ooscfp-modal__desc{font-size:.8rem;color:rgba(255,255,255,.65);margin-top:.2rem;}
    .ooscfp-modal__close{background:rgba(255,255,255,.12);border:none;color:#fff;width:34px;height:34px;border-radius:50%;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;flex-shrink:0;margin-left:.75rem;}
    .ooscfp-modal__close:hover{background:rgba(255,255,255,.25);}
    .ooscfp-modal__body{padding:2rem;}
    .ooscfp-form-group{margin-bottom:1.25rem;}
    .ooscfp-form-label{display:block;font-size:.8rem;font-weight:700;color:var(--oc-navy);text-transform:uppercase;letter-spacing:.07em;margin-bottom:.45rem;}
    .ooscfp-form-input,.ooscfp-form-select,.ooscfp-form-textarea {
      width:100%;padding:.8rem 1rem;
      border:1.5px solid rgba(183,28,28,.2);border-radius:10px;
      font-family:var(--oc-font-body);font-size:.95rem;color:var(--oc-slate);
      background:#fff;transition:border-color .2s,box-shadow .2s;outline:none;
    }
    .ooscfp-form-input:focus,.ooscfp-form-select:focus{border-color:var(--oc-crimson);box-shadow:0 0 0 3px rgba(183,28,28,.12);}
    .ooscfp-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
    .ooscfp-amount-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:.75rem;}
    .ooscfp-amount-preset{padding:.55rem;background:var(--oc-light);border:1.5px solid transparent;border-radius:8px;text-align:center;font-family:var(--oc-font-body);font-size:.875rem;font-weight:600;color:var(--oc-slate);cursor:pointer;transition:all .2s;}
    .ooscfp-amount-preset:hover{border-color:var(--oc-crimson);color:var(--oc-crimson);}
    .ooscfp-amount-preset.selected{background:var(--oc-crimson);color:#fff;border-color:var(--oc-crimson);}
    .ooscfp-modal-step{display:none;}
    .ooscfp-modal-step.active{display:block;}
    .ooscfp-modal__nav{display:flex;gap:.75rem;margin-top:1.5rem;}
    .ooscfp-modal__nav button{flex:1;}
    .ooscfp-modal-success{text-align:center;padding:2rem 1rem;display:none;}
    .ooscfp-modal-success__icon{font-size:4rem;margin-bottom:1rem;}
    .ooscfp-modal-success__h{font-family:var(--oc-font-display);font-size:1.5rem;color:var(--oc-navy);}
    .ooscfp-modal-success__p{color:var(--oc-gray);margin-top:.5rem;font-size:.95rem;}
    .ooscfp-modal-progress{display:flex;gap:.5rem;justify-content:center;margin-bottom:1.5rem;}
    .ooscfp-modal-progress-dot{width:8px;height:8px;background:rgba(183,28,28,.2);border-radius:50%;transition:all .3s;}
    .ooscfp-modal-progress-dot.active{background:var(--oc-crimson);width:20px;border-radius:4px;}

    /* Book Modal */
    .ooscfp-book-modal {
      background:var(--oc-white);border-radius:24px;
      width:100%;max-width:720px;max-height:94vh;overflow-y:auto;
      box-shadow:0 24px 80px rgba(0,0,0,.45);
      transform:translateY(24px) scale(.97);transition:transform .3s ease;
      display:grid;grid-template-columns:240px 1fr;
    }
    .ooscfp-modal-overlay.open .ooscfp-book-modal{transform:translateY(0) scale(1);}
    .ooscfp-book-modal__cover {
      background:linear-gradient(160deg,#1A0A0A 0%,#2C1810 60%,#0D1B2A 100%);
      border-radius:24px 0 0 24px;
      display:flex;flex-direction:column;align-items:center;justify-content:center;
      padding:2rem 1.5rem;gap:1.25rem;position:relative;overflow:hidden;min-height:500px;
    }
    .ooscfp-book-modal__cover::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 120%,rgba(232,149,47,.18) 0%,transparent 65%);}
    .ooscfp-book-modal__img {width:100%;max-width:180px;border-radius:10px;box-shadow:0 12px 40px rgba(0,0,0,.6);position:relative;z-index:1;transition:transform .3s ease;}
    .ooscfp-book-modal__img:hover{transform:scale(1.03) translateY(-4px);}
    .ooscfp-book-modal__price-pill {
      background:linear-gradient(135deg,var(--oc-gold),#F4C66A);
      color:var(--oc-navy);font-family:var(--oc-font-display);font-size:1.5rem;font-weight:900;
      padding:.5rem 1.5rem;border-radius:100px;box-shadow:0 4px 16px rgba(232,149,47,.5);
      position:relative;z-index:1;
    }
    .ooscfp-book-modal__cover-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.45);position:relative;z-index:1;text-align:center;}
    .ooscfp-book-modal__cover-copies{position:relative;z-index:1;text-align:center;font-size:.78rem;color:rgba(255,255,255,.6);line-height:1.6;}
    .ooscfp-book-modal__cover-copies strong{color:var(--oc-gold-light);}
    .ooscfp-book-modal__form {padding:2rem;display:flex;flex-direction:column;gap:0;}
    .ooscfp-book-modal__header {display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;}
    .ooscfp-book-modal__title {font-family:var(--oc-font-display);font-size:1.2rem;font-weight:700;color:var(--oc-navy);line-height:1.3;}
    .ooscfp-book-modal__sub {font-size:.8rem;color:var(--oc-gray);margin-top:.25rem;}

    /* Story Modal */
    .ooscfp-story-modal {
      background:var(--oc-white);border-radius:24px;
      width:100%;max-width:640px;max-height:92vh;overflow-y:auto;
      box-shadow:0 24px 80px rgba(0,0,0,.4);
      transform:translateY(24px) scale(.97);transition:transform .3s ease;
    }
    .ooscfp-modal-overlay.open .ooscfp-story-modal{transform:translateY(0) scale(1);}
    .ooscfp-story-modal__header{
      background:linear-gradient(135deg,var(--oc-navy-mid),var(--oc-navy));
      border-radius:24px 24px 0 0;padding:1.75rem 2rem;
      display:flex;justify-content:space-between;align-items:flex-start;
    }
    .ooscfp-story-modal__body{padding:2rem;}
    .ooscfp-story-template{
      background:var(--oc-light);border-radius:12px;padding:1.25rem 1.5rem;
      font-size:.875rem;color:var(--oc-slate);line-height:1.8;
      border:1px solid rgba(183,28,28,.1);
      font-family:'Courier New',Courier,monospace;
      white-space:pre-line;word-break:break-word;
      max-height:240px;overflow-y:auto;margin:1rem 0;
    }
    .ooscfp-story-template strong{color:var(--oc-crimson);}

    /* ── Scroll hint ── */
    .ooscfp-scroll-hint{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.4rem;color:rgba(255,255,255,.35);font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;animation:fadeIn 1s 1.2s both;}
    .ooscfp-scroll-dot{width:20px;height:32px;border:2px solid rgba(255,255,255,.2);border-radius:12px;position:relative;}
    .ooscfp-scroll-dot::after{content:'';position:absolute;top:5px;left:50%;transform:translateX(-50%);width:3px;height:7px;background:var(--oc-gold);border-radius:2px;animation:scrollBounce 2s ease-in-out infinite;}
    @keyframes scrollBounce{0%,100%{top:5px;opacity:1}60%{top:14px;opacity:0}}
    @keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
    @keyframes fadeIn{from{opacity:0}to{opacity:1}}
    @keyframes ooscfSpin { to { transform: rotate(360deg); } }

    /* Mobile trust bar */
    .ooscfp-mobile-trust { display:none; }
    @media(max-width:600px){ .ooscfp-mobile-trust{ display:block; } }

    /* ── RESPONSIVE ── */
    @media(max-width:1100px){
      .ooscfp-programs{grid-template-columns:repeat(2,1fr);}
      .ooscfp-sdg-grid{grid-template-columns:repeat(2,1fr);}
      .ooscfp-causes{grid-template-columns:repeat(2,1fr);}
      .ooscfp-stats{grid-template-columns:repeat(2,1fr);}
      .ooscfp-stats .ooscfp-stat-item:nth-child(2){border-right:none;}
      .ooscfp-stats .ooscfp-stat-item:nth-child(3){border-top:1px solid rgba(255,255,255,.1);}
    }
    @media(max-width:860px){
      .ooscfp-founder{grid-template-columns:1fr;gap:2.5rem;}
      .ooscfp-volunteer{grid-template-columns:1fr;gap:2.5rem;}
      .ooscfp-csr{grid-template-columns:1fr;}
      .ooscfp-blog-grid{grid-template-columns:repeat(2,1fr)!important;}
      .ooscfp-testi-card{flex:0 0 calc(50% - .75rem);}
      .ooscfp-section{padding:4rem 1.25rem;}
      .ooscfp-form-row{grid-template-columns:1fr;}
      .ooscfp-events-grid{grid-template-columns:repeat(2,1fr);}
      .ooscfp-dei-grid{grid-template-columns:1fr!important;}
      .ooscfp-dei-grid > div:first-child{min-height:220px!important;}
    }
    @media(max-width:640px){
      .ooscfp-book-modal{grid-template-columns:1fr;}
      .ooscfp-book-modal__cover{border-radius:24px 24px 0 0;min-height:auto;padding:1.5rem;}
      .ooscfp-book-modal__img{max-width:130px;}
    }
    @media(max-width:600px){
      .ooscfp-programs{grid-template-columns:1fr;}
      .ooscfp-sdg-grid{grid-template-columns:1fr;}
      .ooscfp-causes{grid-template-columns:1fr;}
      .ooscfp-blog-grid{grid-template-columns:1fr!important;}
      .ooscfp-testi-card{flex:0 0 100%;}
      .ooscfp-csr{padding:2rem 1.5rem;}
      .ooscfp-amount-presets{grid-template-columns:repeat(2,1fr);}
      .ooscfp-hero__stat-num{font-size:1.5rem;}
      .ooscfp-partner-logo{width:76px;height:40px;}
      .ooscfp-book-grid{grid-template-columns:1fr!important;}
      .ooscfp-book-grid > div:first-child{min-height:260px!important;min-width:unset!important;padding:1.25rem!important;}
      .ooscfp-trust-strip{display:none;}
      .ooscfp-events-grid{grid-template-columns:1fr;}
      .ooscfp-final-cta{padding:2.5rem 1.5rem;}
      .ooscfp-registry{padding:1.5rem;gap:1.25rem;}
      .ooscfp-contact-grid{grid-template-columns:repeat(2,1fr)!important;}
    }
    @media(max-width:460px){
      .ooscfp-contact-grid{grid-template-columns:1fr!important;}
    }
    @media(prefers-reduced-motion:reduce){
      .ooscfp-cell,.ooscfp-partners-track{animation:none!important;}
      .ooscfp-reveal{opacity:1;transform:none!important;transition:none!important;}
      .ooscfp-hero__subtext{animation:none!important;}
    }

    /* ── CONTACT BAR ── */
    .ooscfp-contact-bar {
      background: var(--oc-navy);
      padding: 2.25rem 1.5rem;
      border-top: 1px solid rgba(255,255,255,.06);
    }
    .ooscfp-contact-grid {
      display: grid;
      grid-template-columns: repeat(4,1fr);
      gap: 2rem;
      max-width: 1100px;
      margin: 0 auto;
    }
    .ooscfp-contact-item { display: flex; flex-direction: column; gap: .3rem; }
    .ooscfp-contact-item__label {
      font-size: .65rem; font-weight: 700;
      text-transform: uppercase; letter-spacing: .12em;
      color: var(--oc-gold); margin-bottom: .15rem;
    }
    .ooscfp-contact-item__val { font-size: .85rem; color: rgba(255,255,255,.75); line-height: 1.55; }
    .ooscfp-contact-item__val a { color: rgba(255,255,255,.75); transition: color .2s; }
    .ooscfp-contact-item__val a:hover { color: var(--oc-gold); }

    /* ── COPYRIGHT BAR ── */
    .ooscfp-copyright {
      background: #07111A;
      padding: 1.1rem 1.5rem;
      display: flex; flex-wrap: wrap; gap: .75rem;
      justify-content: space-between; align-items: center;
    }
    .ooscfp-copyright__text { font-size: .75rem; color: rgba(255,255,255,.35); }
    .ooscfp-copyright__links { display: flex; gap: 1.25rem; flex-wrap: wrap; }
    .ooscfp-copyright__links a {
      font-size: .72rem; color: rgba(255,255,255,.35);
      transition: color .2s; text-decoration: none;
    }
    .ooscfp-copyright__links a:hover { color: var(--oc-gold); }
    .ooscfp-copyright__links a:focus-visible { outline: 2px solid var(--oc-gold); outline-offset: 2px; border-radius: 2px; }

    /* ── SOCIAL BUTTONS ── */
    .ooscfp-social-grid { display: flex; flex-wrap: wrap; gap: .85rem; justify-content: center; }
    .ooscfp-social-btn {
      display: inline-flex; align-items: center; gap: .6rem;
      padding: .8rem 1.6rem; border-radius: 100px;
      font-family: var(--oc-font-body); font-size: .9rem; font-weight: 700;
      transition: var(--oc-transition);
      background: #ffffff; border: 2px solid rgba(255,255,255,.15);
      color: var(--oc-slate); text-decoration: none;
      box-shadow: 0 3px 14px rgba(0,0,0,.18);
    }
    .ooscfp-social-btn:hover { transform: translateY(-3px); box-shadow: 0 8px 28px rgba(0,0,0,.25); }
    .ooscfp-social-btn:focus-visible { outline: 3px solid var(--oc-gold); outline-offset: 3px; }
    .ooscfp-social-btn svg { flex-shrink: 0; }
    .ooscfp-social-btn--fb:hover  { border-color: #1877F2; color: #1877F2; background: #EEF4FF; }
    .ooscfp-social-btn--ig:hover  { border-color: #DD2A7B; color: #DD2A7B; background: #FFF0F6; }
    .ooscfp-social-btn--x:hover   { border-color: #000; color: #000; background: #F4F4F4; }
    .ooscfp-social-btn--li:hover  { border-color: #0A66C2; color: #0A66C2; background: #EEF4FF; }

    /* ── EVENTS GRID ── */
    .ooscfp-events-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem; }
    .ooscfp-event-card {
      background: var(--oc-white); border-radius: var(--oc-radius);
      overflow: hidden; box-shadow: var(--oc-shadow);
      transition: transform var(--oc-transition), box-shadow var(--oc-transition);
      display: flex; flex-direction: column;
    }
    .ooscfp-event-card:hover { transform: translateY(-6px); box-shadow: var(--oc-shadow-lg); }
    .ooscfp-event-card__date-block {
      background: linear-gradient(135deg, var(--oc-crimson), var(--oc-crimson-dark));
      padding: 1rem 1.5rem; display: flex; align-items: center; gap: 1rem;
    }
    .ooscfp-event-card__day { font-family: var(--oc-font-display); font-size: 2.2rem; font-weight: 900; color: #fff; line-height: 1; }
    .ooscfp-event-card__month { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--oc-gold-light); }
    .ooscfp-event-card__year { font-size: .7rem; color: rgba(255,255,255,.55); margin-top: .1rem; }
    .ooscfp-event-card__body { padding: 1.35rem; flex: 1; display: flex; flex-direction: column; gap: .4rem; }
    .ooscfp-event-card__type { font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--oc-crimson); }
    .ooscfp-event-card__h { font-family: var(--oc-font-display); font-size: 1rem; font-weight: 700; color: var(--oc-navy); line-height: 1.35; }
    .ooscfp-event-card__loc { font-size: .8rem; color: var(--oc-gray); display: flex; align-items: center; gap: .3rem; margin-top: .2rem; }
    .ooscfp-event-card__link { margin-top: auto; padding-top: .85rem; font-size: .82rem; font-weight: 700; color: var(--oc-crimson); display: inline-flex; align-items: center; gap: .25rem; transition: gap var(--oc-transition); }
    .ooscfp-event-card:hover .ooscfp-event-card__link { gap: .5rem; }

    /* ── FINAL CTA ── */
    .ooscfp-final-cta {
      background: linear-gradient(135deg, var(--oc-crimson-dark) 0%, #4A0000 50%, var(--oc-navy) 100%);
      border-radius: 24px; padding: 4rem 3rem; text-align: center; position: relative; overflow: hidden;
    }
    .ooscfp-final-cta::before {
      content: ''; position: absolute; top: -80px; left: 50%; transform: translateX(-50%);
      width: 400px; height: 400px; background: radial-gradient(circle, rgba(232,149,47,.12) 0%, transparent 70%);
      pointer-events: none;
    }
    .ooscfp-final-cta__h { font-family: var(--oc-font-display); font-size: clamp(1.8rem,4vw,3rem); font-weight: 900; color: #fff; line-height: 1.15; }
    .ooscfp-final-cta__h em { font-style: normal; color: var(--oc-gold); }
    .ooscfp-final-cta__actions { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; margin-top: 2rem; }

    /* ── REGISTRY BANNER ── */
    .ooscfp-registry {
      background: linear-gradient(135deg, var(--oc-navy-mid), var(--oc-navy));
      border: 1px solid rgba(232,149,47,.2); border-radius: 20px;
      padding: 2rem 2.5rem; display: flex; align-items: center; gap: 2rem;
      flex-wrap: wrap;
    }
    .ooscfp-registry__icon { font-size: 3rem; flex-shrink: 0; }
    .ooscfp-registry__content { flex: 1; min-width: 200px; }
    .ooscfp-registry__h { font-family: var(--oc-font-display); font-size: 1.25rem; font-weight: 700; color: #fff; margin-bottom: .35rem; }
    .ooscfp-registry__p { font-size: .9rem; color: rgba(255,255,255,.65); line-height: 1.6; }