:root{
    --ocean:   #071A22;
    --ocean-2: #0C2530;
    --pacific: #087F9C;
    --sand:    #F2EBDD;
    --coral:   #D96C62;
    --forest:  #315B4A;
    --bone:    #FAF8F2;

    --display: 'Cormorant Garamond', serif;
    --sans: 'Manrope', sans-serif;

    --ease: cubic-bezier(0.16, 1, 0.3, 1);
    --container: min(1240px, 92vw);
  }

  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--sand);
    color:var(--ocean);
    font-family:var(--sans);
    font-weight:400;
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img,svg{display:block;max-width:100%;}
  a{color:inherit;text-decoration:none;}
  .wrap{width:var(--container);margin-inline:auto;}
  .eyebrow{
    font-family:var(--sans);
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.22em;
    text-transform:uppercase;
  }
  .serif{font-family:var(--display);}

  @media (prefers-reduced-motion: reduce){
    *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important;scroll-behavior:auto !important;}
  }

  /* reveal on scroll */
  .reveal{opacity:0;transform:translateY(28px);transition:opacity 1s var(--ease), transform 1s var(--ease);}
  .reveal.in{opacity:1;transform:translateY(0);}

  /* staggered children within a revealed group */
  .pillar-grid.reveal .pillar,
  .involved-grid.reveal .involve-card,
  .story-rail.reveal .story-card,
  .impact .wrap.reveal .stat{
    opacity:0;transform:translateY(22px);
    transition:opacity .7s var(--ease), transform .7s var(--ease);
  }
  .pillar-grid.reveal.in .pillar,
  .involved-grid.reveal.in .involve-card,
  .story-rail.reveal.in .story-card,
  .impact .wrap.reveal.in .stat{opacity:1;transform:translateY(0);}
  .pillar-grid .pillar:nth-child(1),.involved-grid .involve-card:nth-child(1),.story-rail .story-card:nth-child(1),.impact .stat:nth-child(1){transition-delay:.05s;}
  .pillar-grid .pillar:nth-child(2),.involved-grid .involve-card:nth-child(2),.story-rail .story-card:nth-child(2),.impact .stat:nth-child(2){transition-delay:.16s;}
  .pillar-grid .pillar:nth-child(3),.involved-grid .involve-card:nth-child(3),.story-rail .story-card:nth-child(3),.impact .stat:nth-child(3){transition-delay:.27s;}
  .pillar-grid .pillar:nth-child(4),.impact .stat:nth-child(4){transition-delay:.38s;}

  /* signature: wave motif draws in, echoes the NWA4CJ mark — used once at open and close */
  .wave-sig{width:64px;height:14px;display:block;margin-bottom:14px;}
  .wave-sig path{
    fill:none;stroke:var(--coral);stroke-width:1.6;stroke-linecap:round;
    stroke-dasharray:110;stroke-dashoffset:110;
  }
  .wave-sig-pacific path{stroke:var(--pacific);}
  .hero-eyebrow .wave-sig path{animation:drawwave 1.3s var(--ease) .9s forwards;}
  .reveal.in .wave-sig path{transition:stroke-dashoffset 1.3s var(--ease) .2s;stroke-dashoffset:0;}
  @keyframes drawwave{to{stroke-dashoffset:0;}}
  @media (prefers-reduced-motion: reduce){.wave-sig path{stroke-dashoffset:0 !important;animation:none !important;}}

  /* ============ NAV ============ */
  header{
    position:fixed;top:0;left:0;right:0;z-index:100;
    padding:22px 0;
    transition:background .5s var(--ease), padding .5s var(--ease), border-color .5s var(--ease);
    border-bottom:1px solid transparent;
  }
  header.scrolled{
    background:rgba(7,26,34,.92);
    backdrop-filter:blur(10px);
    padding:14px 0;
    border-color:rgba(255,255,255,.08);
  }
  nav{display:flex;align-items:center;justify-content:space-between;}
  .brand{display:flex;align-items:center;gap:12px;}
  .brand-mark{
    width:38px;height:38px;border-radius:50%;
    border:1.5px solid var(--bone);
    display:flex;align-items:center;justify-content:center;
    overflow:hidden;
    flex-shrink:0;transition:transform .4s var(--ease);
  }
  .brand:hover .brand-mark{transform:scale(1.08) rotate(-4deg);}
  .brand-mark img{width:100%;height:100%;object-fit:cover;}
  .brand-name{
    font-family:var(--sans);font-weight:700;font-size:.82rem;
    letter-spacing:.06em;color:var(--bone);line-height:1.25;
  }
  .brand-name small{display:block;font-weight:500;font-size:.68rem;letter-spacing:.14em;opacity:.7;text-transform:uppercase;margin-top:2px;}
  .nav-links{display:flex;gap:34px;align-items:center;}
  .nav-links a{
    color:var(--bone);font-size:.82rem;font-weight:600;letter-spacing:.02em;
    position:relative;padding-bottom:4px;opacity:.88;
  }
  .nav-links a::after{
    content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--coral);
    transition:width .35s var(--ease);
  }
  .nav-links a:hover{opacity:1;}
  .nav-links a:hover::after{width:100%;}
  .nav-cta{
    background:var(--coral);color:var(--bone) !important;
    padding:10px 20px;border-radius:2px;font-size:.78rem !important;
    letter-spacing:.04em;
  }
  .nav-cta::after{display:none;}
  .nav-cta{transition:background .35s var(--ease), transform .25s var(--ease);}
  .nav-cta:hover{background:#c25a50;}
  .nav-cta:active{transform:scale(.94);}
  .menu-toggle{display:none;background:none;border:none;color:var(--bone);font-size:1.6rem;cursor:pointer;}

  @media (max-width:860px){
    .nav-links{position:fixed;inset:0 0 0 auto;width:78vw;max-width:340px;
      background:var(--ocean);flex-direction:column;justify-content:center;align-items:flex-start;
      padding:0 40px;gap:26px;transform:translateX(100%);transition:transform .5s var(--ease);}
    .nav-links.open{transform:translateX(0);}
    .menu-toggle{display:block;z-index:110;}
  }

  /* ============ HERO ============ */
  .hero{
    position:relative;min-height:100svh;
    display:flex;align-items:flex-end;
    background:var(--ocean);
    overflow:hidden;
  }
  .hero-photo{
    position:absolute;inset:0;overflow:hidden;
  }
  .hero-photo img{
    width:100%;height:100%;object-fit:cover;object-position:center 38%;
    animation:kenburns 22s ease-in-out infinite alternate;
    filter:contrast(1.06) saturate(1.04);
    display:block;
  }
  @keyframes kenburns{from{transform:scale(1);}to{transform:scale(1.07);}}
  .hero-scene{
    position:absolute;inset:0;
    background:
      linear-gradient(180deg, rgba(7,26,34,.72) 0%, rgba(7,26,34,.28) 32%, rgba(7,26,34,.2) 55%, rgba(7,26,34,.94) 100%),
      linear-gradient(90deg, rgba(7,26,34,.55) 0%, rgba(7,26,34,.1) 45%);
  }
  .hero-swell{
    position:absolute;left:0;right:0;bottom:-2px;height:30%;
    background:linear-gradient(180deg, transparent, rgba(7,26,34,.55) 55%, rgba(7,26,34,.96) 100%);
  }
  .hero-lines{position:absolute;inset:0;opacity:.5;}
  .hero-photo-note{
    position:absolute;top:100px;right:6%;
    font-size:.68rem;color:rgba(250,248,242,.55);letter-spacing:.08em;text-transform:uppercase;
    max-width:220px;text-align:right;border-right:1px solid rgba(250,248,242,.3);padding-right:14px;
  }
  .hero-content{
    position:relative;z-index:2;
    width:var(--container);margin-inline:auto;
    padding-bottom:9vh;padding-top:140px;
    color:var(--bone);
  }
  .hero-eyebrow{color:var(--coral);margin-bottom:26px;display:flex;align-items:center;gap:10px;}
  .hero-eyebrow .wave-sig{margin-bottom:0;}
  .hero h1{
    font-family:var(--display);font-weight:500;
    font-size:clamp(2.8rem, 8.4vw, 7.2rem);
    line-height:.98;letter-spacing:-.01em;
    max-width:14ch;
  }
  .hero h1 em{font-style:italic;color:var(--pacific);}
  .hero-sub{
    margin-top:34px;max-width:34ch;
    font-size:1.05rem;font-weight:400;color:rgba(250,248,242,.82);line-height:1.65;
  }
  .hero-actions{display:flex;gap:16px;margin-top:44px;flex-wrap:wrap;}
  .btn{
    display:inline-flex;align-items:center;gap:10px;position:relative;overflow:hidden;isolation:isolate;
    padding:15px 28px;font-size:.82rem;font-weight:700;letter-spacing:.04em;cursor:pointer;
    border-radius:2px;transition:transform .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease), box-shadow .35s var(--ease);
  }
  .btn::before{
    content:'';position:absolute;inset:0;z-index:-1;transform:translateY(102%);
    transition:transform .45s var(--ease);
  }
  .btn:hover::before{transform:translateY(0);}
  .btn:active{transform:scale(.96);}
  .btn-primary{background:var(--coral);color:var(--bone);}
  .btn-primary::before{background:#c25a50;}
  .btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 24px -8px rgba(217,108,98,.55);}
  .btn-primary:active{transform:scale(.96);}
  .btn-ghost{border:1px solid rgba(250,248,242,.4);color:var(--bone);}
  .btn-ghost::before{background:rgba(250,248,242,.1);}
  .btn-ghost:hover{border-color:var(--bone);}
  .btn-dark{border:1px solid rgba(7,26,34,.25);color:var(--ocean);}
  .btn-dark::before{background:var(--ocean);}
  .btn-dark:hover{color:var(--bone);border-color:var(--ocean);}

  .scroll-cue{
    position:absolute;bottom:34px;left:50%;transform:translateX(-50%);z-index:3;
    display:flex;flex-direction:column;align-items:center;gap:10px;color:rgba(250,248,242,.55);
  }
  .scroll-cue span{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;}
  .scroll-line{width:1px;height:36px;background:rgba(250,248,242,.35);position:relative;overflow:hidden;}
  .scroll-line::after{content:'';position:absolute;top:-100%;left:0;width:100%;height:100%;background:var(--coral);animation:scrolldrop 2.2s ease-in-out infinite;}
  @keyframes scrolldrop{0%{top:-100%;}60%{top:100%;}100%{top:100%;}}

  /* ============ INTRO STATEMENT ============ */
  .statement{
    padding:16vh 0;background:var(--sand);position:relative;
  }
  .statement .wrap{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;}
  .statement h2{
    font-family:var(--display);font-weight:500;font-style:italic;
    font-size:clamp(2rem,4.6vw,3.4rem);line-height:1.14;color:var(--ocean);
  }
  .statement-body{padding-top:.8rem;}
  .statement-body p{font-size:1.02rem;color:#33474d;max-width:44ch;line-height:1.75;}
  .statement-body p + p{margin-top:1.1em;}
  @media (max-width:820px){.statement .wrap{grid-template-columns:1fr;gap:34px;}}

  /* ============ PILLARS (OUR WORK) ============ */
  .pillars{background:var(--bone);padding:14vh 0 12vh;}
  .section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:60px;gap:30px;flex-wrap:wrap;}
  .section-head .eyebrow{color:var(--forest);margin-bottom:18px;}
  .section-head h2{font-family:var(--display);font-weight:500;font-size:clamp(2.1rem,4.4vw,3.4rem);line-height:1.05;max-width:14ch;}
  .section-head p{max-width:36ch;color:#4a5a5f;font-size:.95rem;line-height:1.6;}

  .pillar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(7,26,34,.1);}
  .pillar{
    background:var(--bone);padding:44px 30px;position:relative;overflow:hidden;
    min-height:340px;display:flex;flex-direction:column;justify-content:flex-end;
    transition:background .5s var(--ease), transform .45s var(--ease), box-shadow .45s var(--ease);
    cursor:pointer;
  }
  .pillar:hover{transform:translateY(-6px);box-shadow:0 24px 40px -20px rgba(7,26,34,.5);z-index:3;}
  .pillar-ph{
    position:absolute;inset:0;opacity:.9;transition:transform 1.4s var(--ease), opacity .5s var(--ease);
  }
  .pillar:hover .pillar-ph{transform:scale(1.06);}
  .pillar::before{
    content:'';position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(7,26,34,0) 30%, rgba(7,26,34,.82) 100%);
    z-index:1;
  }
  .pillar-num{position:relative;z-index:2;font-family:var(--display);font-style:italic;font-size:.85rem;color:rgba(250,248,242,.65);margin-bottom:auto;}
  .pillar-txt{position:relative;z-index:2;color:var(--bone);}
  .pillar-txt h3{font-family:var(--display);font-weight:500;font-size:1.55rem;margin-bottom:10px;}
  .pillar-txt p{font-size:.85rem;color:rgba(250,248,242,.78);line-height:1.55;}

  .p1 .pillar-ph{background:radial-gradient(circle at 30% 20%, #0d3a49, var(--ocean));}
  .p2 .pillar-ph{background:radial-gradient(circle at 70% 30%, #7a3730, var(--ocean));}
  .p3 .pillar-ph{background:radial-gradient(circle at 40% 70%, #2c4a3d, var(--ocean));}
  .p4 .pillar-ph{background:radial-gradient(circle at 60% 40%, #0d4f5f, var(--ocean));}

  @media (max-width:980px){.pillar-grid{grid-template-columns:1fr 1fr;}}
  @media (max-width:560px){.pillar-grid{grid-template-columns:1fr;}}

  /* ============ FEATURED PROJECT ============ */
  .feature{background:var(--ocean);color:var(--bone);padding:16vh 0;position:relative;overflow:hidden;}
  .feature-texture{position:absolute;inset:0;opacity:.5;
    background:radial-gradient(ellipse 60% 50% at 80% 20%, rgba(8,127,156,.25), transparent 60%);}
  .feature .wrap{position:relative;z-index:2;}
  .feature-eyebrow{color:var(--pacific);}
  .feature h2{
    font-family:var(--display);font-weight:500;font-size:clamp(2.6rem,6.4vw,5.4rem);
    line-height:1.02;margin:26px 0 40px;max-width:16ch;
  }
  .feature-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center;}
  .feature-visual{
    aspect-ratio:4/5;border-radius:2px;position:relative;overflow:hidden;
  }
  .feature-visual::after{
    content:'';
    position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(7,26,34,0) 60%, rgba(7,26,34,.5) 100%);
  }
  .feature-copy h3{font-family:var(--display);font-weight:500;font-style:italic;font-size:1.7rem;color:var(--bone);margin-bottom:16px;}
  .feature-copy p{color:rgba(250,248,242,.78);font-size:1rem;line-height:1.75;max-width:42ch;}
  .feature-copy p + p{margin-top:1.1em;}
  .initiative-list{margin-top:64px;padding-top:44px;border-top:1px solid rgba(250,248,242,.15);display:grid;grid-template-columns:1fr 1fr;gap:44px;}
  .initiative-status{display:inline-block;font-family:var(--sans);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.62rem;color:var(--coral);border:1px solid rgba(217,108,98,.5);border-radius:999px;padding:4px 10px;margin-bottom:12px;}
  .initiative-item h4{font-family:var(--display);font-weight:500;font-style:italic;font-size:1.15rem;color:var(--bone);margin-bottom:8px;line-height:1.3;}
  .initiative-item p{font-size:.85rem;color:rgba(250,248,242,.55);line-height:1.6;}
  @media (max-width:720px){.initiative-list{grid-template-columns:1fr;}}
  .feature-tags{display:flex;gap:10px;flex-wrap:wrap;margin:30px 0;}
  .feature-tags span{
    border:1px solid rgba(250,248,242,.28);padding:8px 14px;font-size:.72rem;
    letter-spacing:.05em;border-radius:2px;color:rgba(250,248,242,.75);
  }
  @media (max-width:900px){.feature-grid{grid-template-columns:1fr;}}

  /* ============ STORIES ============ */
  .stories{background:var(--sand);padding:14vh 0;}
  .story-rail{
    display:flex;gap:26px;overflow-x:auto;padding-bottom:20px;scroll-snap-type:x mandatory;
    -ms-overflow-style:none;scrollbar-width:none;
  }
  .story-rail::-webkit-scrollbar{display:none;}
  .story-card{
    flex:0 0 min(360px,80vw);scroll-snap-align:start;
    display:flex;flex-direction:column;transition:transform .45s var(--ease);cursor:pointer;
  }
  .story-card:hover{transform:translateY(-6px);}
  .story-photo{
    aspect-ratio:4/5;position:relative;overflow:hidden;border-radius:2px;margin-bottom:20px;
    background:linear-gradient(155deg, var(--forest), #1c3129);
  }
  .story-photo::after{
    content:'PHOTO PLACEHOLDER';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
    font-size:.65rem;letter-spacing:.14em;color:rgba(250,248,242,.4);
  }
  .story-photo:has(.story-img)::after{content:none;}
  .story-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%;
    transform:scale(1.001);transition:transform .7s var(--ease);}
  .story-card:hover .story-img{transform:scale(1.08);}
  .story-photo::before{
    content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
    background:linear-gradient(0deg, rgba(7,26,34,.45), rgba(7,26,34,0) 45%);
    opacity:0;transition:opacity .4s var(--ease);
  }
  .story-card:hover .story-photo::before{opacity:1;}
  .s2 .story-photo{background:linear-gradient(155deg, var(--pacific), #0a3a48);}
  .s3 .story-photo{background:linear-gradient(155deg, var(--coral), #7a3730);}
  .story-loc{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--forest);font-weight:700;margin-bottom:8px;}
  .story-card h3{font-family:var(--display);font-weight:500;font-size:1.5rem;margin-bottom:10px;line-height:1.2;}
  .story-card p{font-size:.88rem;color:#4a5a5f;line-height:1.6;}

  /* ============ IMPACT ============ */
  .impact{background:var(--forest);color:var(--bone);padding:11vh 0 12vh;position:relative;overflow:hidden;}
  .impact::before{
    content:'';position:absolute;inset:0;pointer-events:none;
    background:
      radial-gradient(ellipse 50% 60% at 8% -10%, rgba(8,127,156,.28), transparent 60%),
      radial-gradient(ellipse 42% 55% at 100% 115%, rgba(217,108,98,.18), transparent 62%);
  }
  .impact .wrap{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:40px;}
  .stat{padding-top:0;transition:transform .4s var(--ease);}
  .stat:hover{transform:translateY(-4px);}
  .stat-line{height:1px;background:rgba(250,248,242,.22);position:relative;overflow:hidden;margin-bottom:26px;}
  .stat-line::after{
    content:'';position:absolute;inset:0;background:var(--coral);
    transform:scaleX(0);transform-origin:left;transition:transform 1s var(--ease);
  }
  .impact .wrap.reveal.in .stat-line::after{transform:scaleX(1);}
  .impact .stat:nth-child(1) .stat-line::after{transition-delay:.25s;}
  .impact .stat:nth-child(2) .stat-line::after{transition-delay:.36s;}
  .impact .stat:nth-child(3) .stat-line::after{transition-delay:.47s;}
  .impact .stat:nth-child(4) .stat-line::after{transition-delay:.58s;}
  .stat-value{margin-bottom:12px;}
  .stat-value .tbc{
    display:inline-block;font-family:var(--sans);font-weight:700;font-size:.7rem;
    letter-spacing:.16em;color:var(--coral);border:1px solid rgba(217,108,98,.4);
    padding:6px 13px;border-radius:20px;
    animation:tbcpulse 2.8s ease-in-out infinite;
  }
  @keyframes tbcpulse{0%,100%{opacity:.65;border-color:rgba(217,108,98,.3);}50%{opacity:1;border-color:rgba(217,108,98,.8);}}
  .stat .lbl{font-size:.85rem;font-weight:600;color:rgba(250,248,242,.85);margin-top:2px;max-width:20ch;}
  .impact-note{margin-top:52px;position:relative;z-index:2;font-size:.78rem;color:rgba(250,248,242,.5);max-width:52ch;}
  @media (max-width:820px){.impact .wrap{grid-template-columns:1fr 1fr;row-gap:36px;}}

  /* ============ PARTNERS ============ */
  .partners{background:var(--bone);padding:9vh 0;border-bottom:1px solid rgba(7,26,34,.08);}
  .partners .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:30px;}
  .partners p.lbl{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#6b7a7e;}
  .partner-marks{display:flex;gap:44px;flex-wrap:wrap;align-items:center;}
  .partner-marks span{font-family:var(--display);font-style:italic;font-size:1.3rem;color:#9aa8ab;}

  /* ============ GET INVOLVED ============ */
  .involved{background:var(--sand);padding:14vh 0;}
  .involved-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(7,26,34,.1);margin-top:60px;}
  .involve-card{background:var(--sand);padding:44px 34px;transition:background .4s var(--ease), transform .4s var(--ease), box-shadow .4s var(--ease);cursor:pointer;}
  .involve-card:hover{background:var(--bone);transform:translateY(-6px);box-shadow:0 20px 36px -18px rgba(7,26,34,.28);}
  .involve-card h3{font-family:var(--display);font-weight:500;font-size:1.5rem;margin-bottom:14px;}
  .involve-card p{font-size:.88rem;color:#4a5a5f;line-height:1.6;margin-bottom:22px;}
  .involve-card a{font-size:.78rem;font-weight:700;letter-spacing:.04em;color:var(--coral);display:inline-flex;align-items:center;gap:8px;}
  .involve-card a::after{content:'→';transition:transform .3s var(--ease);}
  .involve-card a:hover::after{transform:translateX(4px);}
  @media (max-width:820px){.involved-grid{grid-template-columns:1fr;}}

  /* ============ CLOSING CTA ============ */
  .closing{
    background:var(--ocean);color:var(--bone);padding:18vh 0;text-align:center;position:relative;overflow:hidden;
  }
  .closing::before{
    content:'';position:absolute;inset:0;
    background:radial-gradient(ellipse 60% 60% at 50% 100%, rgba(8,127,156,.28), transparent 65%);
  }
  .closing .wrap{position:relative;z-index:2;}
  .closing h2{
    font-family:var(--display);font-weight:500;font-style:italic;
    font-size:clamp(2.2rem,5.6vw,4.2rem);max-width:18ch;margin:0 auto 40px;line-height:1.1;
  }

  /* ============ FOOTER ============ */
  footer{background:var(--ocean);color:rgba(250,248,242,.75);padding:80px 0 30px;border-top:1px solid rgba(250,248,242,.08);}
  .foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:50px;padding-bottom:60px;}
  .foot-brand .brand-name{color:var(--bone);}
  .foot-brand p{margin-top:20px;font-size:.85rem;line-height:1.7;max-width:32ch;color:rgba(250,248,242,.6);}
  .foot-col h4{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(250,248,242,.5);margin-bottom:18px;}
  .foot-col ul{list-style:none;display:flex;flex-direction:column;gap:12px;}
  .foot-col a{font-size:.88rem;color:rgba(250,248,242,.82);}
  .foot-col a:hover{color:var(--coral);}
  .foot-bottom{
    border-top:1px solid rgba(250,248,242,.1);padding-top:26px;
    display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;
    font-size:.74rem;color:rgba(250,248,242,.45);
  }
  .foot-vagahau{font-family:var(--display);font-style:italic;font-size:.95rem;color:rgba(250,248,242,.55);}
  @media (max-width:860px){.foot-top{grid-template-columns:1fr 1fr;}}
  @media (max-width:520px){.foot-top{grid-template-columns:1fr;}}

  /* ============ BACK TO TOP ============ */
  .back-to-top{
    position:fixed;right:26px;bottom:26px;z-index:90;
    width:48px;height:48px;border-radius:50%;
    background:var(--ocean);color:var(--bone);border:1px solid rgba(250,248,242,.18);
    display:flex;align-items:center;justify-content:center;cursor:pointer;
    opacity:0;visibility:hidden;transform:translateY(12px);
    transition:opacity .4s var(--ease), transform .4s var(--ease), background .3s var(--ease), visibility .4s;
  }
  .back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0);}
  .back-to-top:hover{background:var(--coral);}
  .back-to-top:active{transform:scale(.9);}
  .back-to-top:focus-visible{outline:2px solid var(--coral);outline-offset:3px;}
  .back-to-top svg{width:18px;height:18px;}
  @media (max-width:600px){.back-to-top{right:16px;bottom:16px;width:44px;height:44px;}}
  @media (prefers-reduced-motion: reduce){.back-to-top{transition:opacity .01ms,visibility .01ms;}}

  /* ============ PAGE HERO (About / Team / Feedback) ============ */
  .page-hero{
    position:relative;
    /* height is tied to viewport WIDTH (not vh) so the cover-crop on portrait source
       photos stays consistent at any screen size — vh alone gets tighter (crops faces
       out) the wider the screen gets, since cover-scale is driven by width. */
    min-height:clamp(360px, 30vw, 640px);
    display:flex;align-items:flex-end;
    background:var(--ocean);overflow:hidden;padding-top:120px;
  }
  .page-hero-photo{position:absolute;inset:0;overflow:hidden;}
  .page-hero-photo img{width:100%;height:100%;object-fit:cover;filter:contrast(1.06) saturate(1.04);}
  .page-hero-scene{
    position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(7,26,34,.75) 0%, rgba(7,26,34,.3) 40%, rgba(7,26,34,.96) 100%);
  }
  .page-hero-content{position:relative;z-index:2;width:var(--container);margin-inline:auto;padding-bottom:8vh;color:var(--bone);}
  .page-hero .eyebrow{color:var(--coral);margin-bottom:20px;display:flex;align-items:center;gap:10px;}
  .page-hero h1{font-family:var(--display);font-weight:500;font-size:clamp(2.4rem,6vw,4.6rem);line-height:1.02;max-width:18ch;}
  .page-hero p{margin-top:22px;max-width:46ch;font-size:1.02rem;color:rgba(250,248,242,.8);line-height:1.65;}

  /* generic page section rhythm reused across About / Team / Feedback */
  .page-section{padding:14vh 0;background:var(--bone);}
  .page-section.alt{background:var(--sand);}
  .page-section .section-head{margin-bottom:50px;}
  .page-lede{max-width:56ch;font-size:1.02rem;color:#33474d;line-height:1.75;}
  .page-lede + .page-lede{margin-top:1.1em;}

  .fact-row{display:flex;gap:44px;flex-wrap:wrap;margin-top:40px;}
  .fact{padding-top:16px;border-top:1px solid rgba(7,26,34,.14);min-width:160px;}
  .fact .eyebrow{color:var(--forest);margin-bottom:8px;}
  .fact p{font-size:.95rem;color:var(--ocean);font-weight:600;}

  /* ============ TEAM ============ */
  .team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(7,26,34,.1);margin-top:20px;}
  .team-card{background:var(--bone);padding:40px 32px;transition:background .4s var(--ease), transform .4s var(--ease), box-shadow .4s var(--ease);}
  .team-card:hover{background:var(--sand);transform:translateY(-6px);box-shadow:0 20px 36px -18px rgba(7,26,34,.28);}
  .team-avatar{
    width:64px;height:64px;border-radius:50%;margin-bottom:22px;
    display:flex;align-items:center;justify-content:center;
    font-family:var(--display);font-style:italic;font-size:1.4rem;color:var(--bone);
    background:radial-gradient(circle at 30% 20%, var(--pacific), var(--ocean));
  }
  .team-card:nth-child(2) .team-avatar{background:radial-gradient(circle at 70% 30%, var(--coral), #7a3730);}
  .team-card:nth-child(3) .team-avatar{background:radial-gradient(circle at 40% 70%, var(--forest), #2c4a3d);}
  .team-card h3{font-family:var(--display);font-weight:500;font-size:1.4rem;margin-bottom:6px;}
  .team-role{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--coral);margin-bottom:14px;}
  .team-card p{font-size:.88rem;color:#4a5a5f;line-height:1.6;}
  .team-card p a:hover{color:var(--coral);}
  .team-card.pending{display:flex;align-items:center;justify-content:center;text-align:center;}
  .team-card.pending p{font-size:.82rem;color:#6b7a7e;font-style:italic;}
  @media (max-width:980px){.team-grid{grid-template-columns:1fr 1fr;}}
  @media (max-width:560px){.team-grid{grid-template-columns:1fr;}}

  /* ============ FEEDBACK FORM ============ */
  .feedback-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:start;}
  @media (max-width:900px){.feedback-layout{grid-template-columns:1fr;gap:50px;}}
  .contact-info-list{margin-top:40px;display:flex;flex-direction:column;gap:26px;}
  .contact-info-item .eyebrow{color:var(--forest);margin-bottom:6px;}
  .contact-info-item p, .contact-info-item a{font-size:.95rem;color:var(--ocean);}
  .contact-info-item a{font-weight:600;}
  .contact-info-item a:hover{color:var(--coral);}

  .form-field{margin-bottom:22px;}
  .form-field label{display:block;font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ocean);margin-bottom:8px;}
  .form-field input,.form-field select,.form-field textarea{
    width:100%;padding:14px 16px;font-family:var(--sans);font-size:.92rem;color:var(--ocean);
    background:var(--bone);border:1px solid rgba(7,26,34,.18);border-radius:2px;
    transition:border-color .3s var(--ease), box-shadow .3s var(--ease);
  }
  .form-field input:focus,.form-field select:focus,.form-field textarea:focus{
    outline:none;border-color:var(--pacific);box-shadow:0 0 0 3px rgba(8,127,156,.15);
  }
  .form-field textarea{resize:vertical;min-height:140px;}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
  @media (max-width:560px){.form-row{grid-template-columns:1fr;}}
  .form-note{font-size:.72rem;color:#6b7a7e;margin-top:-8px;margin-bottom:22px;}
  .form-status{font-size:.88rem;margin-top:18px;padding:14px 16px;border-radius:2px;display:none;}
  .form-status.show{display:block;}
  .form-status.ok{background:rgba(49,91,74,.12);color:var(--forest);}
  .form-status.err{background:rgba(217,108,98,.14);color:#a4453b;}
  .btn[disabled]{opacity:.6;cursor:not-allowed;}
  .btn[disabled]:hover{transform:none;box-shadow:none;}
