  :root {
    --forest:#18352B; --ivory:#F4F0E7; --ivory-2:#ECE5D6; --sand:#D7C5A4; --ocean:#3E7775; --earth:#A8722F; --charcoal:#18201D;
    --ink:#18201D; --ink-2:#3d4a45; --ink-3:#5a6661; --line:rgba(24,53,43,0.14);
    --serif:"Cormorant Garamond","Times New Roman",Georgia,serif; --sans:"Manrope","Helvetica Neue",Arial,sans-serif;
  }
  @media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --ivory:#F4F0E7; --ivory-2:#ECE5D6; --ink:#18201D; } }
  :root[data-theme="dark"] { --ivory:#F4F0E7; --ivory-2:#ECE5D6; --ink:#18201D; }
  * { box-sizing:border-box; }
  body { margin:0; padding-top:84px; background:var(--ivory); color:var(--ink); font-family:var(--sans); -webkit-font-smoothing:antialiased; line-height:1.5; }
  img { max-width:100%; }
  a { color:var(--ocean); text-decoration:none; } a:hover { color:var(--forest); }
  h1,h2,h3 { font-family:var(--serif); font-weight:500; margin:0; color:var(--forest); letter-spacing:-0.005em; }
  p { margin:0; }
  .wrap { width:min(1312px, 100% - 48px); margin-inline:auto; }
  @media (max-width:700px) { .wrap { width:calc(100% - 40px); } }
  .page { display:none; } .page.active { display:block; }

  .btn { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:0 28px; border-radius:999px; font-size:14px; font-weight:600; letter-spacing:.02em; transition:background .25s,color .25s,transform .25s; border:0; cursor:pointer; font-family:var(--sans); }
  .btn:hover { transform:translateY(-1px); }
  .btn-dark { background:var(--forest); color:var(--ivory); } .btn-dark:hover { background:var(--ocean); color:var(--ivory); }
  .btn-light { background:var(--ivory); color:var(--forest); } .btn-light:hover { color:var(--forest); background:#fff; }
  .btn-ghost { border:1px solid rgba(244,240,231,.6); color:var(--ivory); } .btn-ghost:hover { background:rgba(244,240,231,.12); color:var(--ivory); }
  .tlink { display:inline-flex; align-items:center; gap:10px; font-size:13px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--forest); }
  .tlink svg { transition:transform .3s; } .tlink:hover svg { transform:translateX(4px); }

  .ph { position:relative; overflow:hidden; background:var(--forest); }
  .ph::before { content:""; position:absolute; inset:0; background-image:repeating-linear-gradient(135deg, rgba(255,255,255,.05) 0 2px, transparent 2px 14px); pointer-events:none; }
  .ph .lbl { position:absolute; left:20px; bottom:16px; z-index:2; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.75); border:1px solid rgba(255,255,255,.35); padding:6px 10px; border-radius:999px; }
  .ph.zoom::before { animation:slowzoom 18s ease-out forwards; }
  @keyframes slowzoom { from { transform:scale(1.04);} to { transform:scale(1);} }

  .rv { opacity:0; transform:translateY(24px); transition:opacity .9s ease, transform .9s ease; }
  .rv.in { opacity:1; transform:none; }
  .rv-d1 { transition-delay:.12s; } .rv-d2 { transition-delay:.24s; } .rv-d3 { transition-delay:.36s; }
  @media (prefers-reduced-motion: reduce) { html{scroll-behavior:auto;} .rv{opacity:1;transform:none;transition:none;} .ph.zoom::before{animation:none;} .btn,.tlink svg{transition:none;} }

  /* nav */
  .nav { position:fixed; top:0; left:0; right:0; z-index:20; transition:background .3s, border-color .3s; background:rgba(244,240,231,.92); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
  .nav .wrap { height:84px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
  .logo { font-family:var(--serif); color:var(--forest); font-weight:600; letter-spacing:.06em; font-size:22px; line-height:1; display:flex; flex-direction:column; gap:3px; }
  .logo small { font-size:12px; letter-spacing:.32em; font-weight:500; }
  .nav nav { display:flex; gap:32px; }
  .nav nav a { color:var(--forest); font-size:14px; font-weight:500; padding:6px 0; border-bottom:1px solid transparent; }
  .nav nav a:hover { color:var(--ocean); }
  .nav nav a.current { border-bottom-color:var(--ocean); color:var(--ocean); }
  .nav .btn { min-height:46px; }
  .menu-btn { display:none; width:44px; height:44px; border:0; background:transparent; color:var(--forest); cursor:pointer; align-items:center; justify-content:center; }
  @media (max-width:980px) {
    .nav nav { display:none; }
    .nav nav.open { display:flex; position:absolute; top:84px; left:0; right:0; flex-direction:column; gap:0; background:var(--ivory); border-bottom:1px solid var(--line); padding:8px 24px 16px; }
    .nav nav.open a { padding:14px 0; border-top:1px solid var(--line); border-bottom:0; }
    .menu-btn { display:inline-flex; }
    .nav .btn { padding:0 18px; font-size:13px; min-height:42px; }
  }

  /* hero (home) */
  .hero { min-height:min(92vh, 860px); display:flex; flex-direction:column; justify-content:flex-end; color:var(--ivory); background:#2B4A3E; }
  .hero .wrap { position:relative; z-index:2; padding:120px 0 48px; display:flex; flex-direction:column; gap:28px; }
  .hero h1 { color:var(--ivory); font-size:clamp(44px, 6.4vw, 88px); line-height:.98; max-width:14ch; }
  .hero p { font-size:clamp(16px,1.3vw,18px); line-height:1.6; color:rgba(244,240,231,.86); max-width:560px; }
  .hero .cta { display:flex; gap:14px; flex-wrap:wrap; }
  .hero .meta { display:flex; justify-content:space-between; margin-top:48px; font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:rgba(244,240,231,.7); gap:16px; flex-wrap:wrap; }

  /* inner page header */
  .phead { padding:clamp(64px,8vw,112px) 0 clamp(40px,5vw,64px); border-bottom:1px solid var(--line); }
  .phead .eyebrow { font-size:13px; letter-spacing:.16em; text-transform:uppercase; color:var(--ocean); font-weight:600; display:block; margin-bottom:20px; }
  .phead h1 { font-size:clamp(44px,6vw,84px); line-height:.98; max-width:16ch; }
  .phead p { font-size:clamp(17px,1.4vw,20px); line-height:1.6; color:var(--ink-2); max-width:640px; margin-top:24px; }
  .phead.img { padding:0; border:0; }
  .phead.img .band { min-height:clamp(320px,44vw,520px); display:flex; align-items:flex-end; color:var(--ivory); }
  .phead.img .band .wrap { position:relative; z-index:2; padding:80px 0 48px; }
  .phead.img h1 { color:var(--ivory); }
  .phead.img p { color:rgba(244,240,231,.86); }

  /* prose */
  .prose { padding:clamp(64px,8vw,112px) 0; }
  .prose .wrap { display:grid; grid-template-columns:1fr 1.7fr; gap:clamp(32px,6vw,96px); }
  .prose h2 { font-size:clamp(32px,3.6vw,48px); line-height:1.05; position:sticky; top:120px; }
  .prose .body { display:flex; flex-direction:column; gap:22px; font-size:18px; line-height:1.7; color:var(--ink-2); max-width:68ch; }
  .prose .body h3 { font-size:30px; margin-top:12px; }
  .prose .body ul { margin:0; padding-left:22px; display:flex; flex-direction:column; gap:10px; }
  .prose .body blockquote { margin:12px 0; padding:0 0 0 24px; border-left:1px solid var(--ocean); font-family:var(--serif); font-size:26px; font-style:italic; line-height:1.35; color:var(--forest); }
  .prose .body blockquote cite { display:block; font-family:var(--sans); font-style:normal; font-size:14px; color:var(--ink-3); margin-top:10px; }
  .prose .body figure { margin:12px 0; }
  .prose .body figure .ph { border-radius:4px; min-height:320px; }
  .prose .body figcaption { font-size:14px; color:var(--ink-3); margin-top:10px; }
  @media (max-width:900px) { .prose .wrap { grid-template-columns:1fr; } .prose h2 { position:static; } }

  .mv { padding:clamp(56px,7vw,96px) 0; background:var(--ivory-2); }
  .mv .wrap { display:grid; grid-template-columns:1fr 1fr; gap:48px; }
  .mv .card { border-top:1px solid var(--forest); padding-top:20px; }
  .mv .card b { font-family:var(--serif); font-weight:500; font-size:30px; color:var(--forest); display:block; margin-bottom:12px; }
  .mv .card p { font-size:18px; line-height:1.6; color:var(--ink-2); max-width:44ch; }
  @media (max-width:800px) { .mv .wrap { grid-template-columns:1fr; } }

  /* mission (home) */
  .mission { padding:clamp(80px,9vw,128px) 0; }
  .mission .wrap { display:grid; grid-template-columns:1fr 240px; gap:48px; align-items:center; }
  .mission h2 { font-size:clamp(36px,4.6vw,64px); line-height:1.05; max-width:16ch; }
  .mission p { font-size:clamp(17px,1.4vw,19px); line-height:1.65; color:var(--ink-2); max-width:600px; margin-top:24px; }
  .chain { display:flex; flex-direction:column; align-items:flex-start; color:var(--forest); font-weight:500; font-size:15px; }
  .chain .last { font-family:var(--serif); font-style:italic; font-size:26px; color:var(--ocean); }
  .chain svg path { stroke-dasharray:60; stroke-dashoffset:60; transition:stroke-dashoffset 1.2s ease; }
  .chain.in svg path { stroke-dashoffset:0; }
  .chain.in svg:nth-of-type(2) path { transition-delay:.4s; } .chain.in svg:nth-of-type(3) path { transition-delay:.8s; }
  @media (max-width:800px) { .mission .wrap{grid-template-columns:1fr;} .chain{flex-direction:row;flex-wrap:wrap;gap:12px;align-items:center;} .chain svg{display:none;} .chain span:not(.last)::after{content:"→";margin-left:12px;color:var(--ocean);} }

  .sh { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:32px; flex-wrap:wrap; }
  .sh h2 { font-size:clamp(32px,3.4vw,46px); } .sh span { font-size:15px; color:var(--ink-3); }

  .worlds { padding-bottom:clamp(64px,8vw,112px); }
  .worlds .grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
  .world { display:flex; flex-direction:column; justify-content:flex-end; min-height:560px; padding:40px; border-radius:4px; color:var(--ivory); transition:transform .5s ease; }
  .world:hover { transform:translateY(-4px); color:var(--ivory); }
  .world > div { position:relative; z-index:2; display:flex; flex-direction:column; gap:14px; }
  .world .name { font-family:var(--serif); font-size:40px; line-height:1; }
  .world .desc { font-size:17px; line-height:1.45; color:rgba(244,240,231,.9); }
  .world .tlink { color:var(--ivory); margin-top:8px; }
  @media (max-width:900px) { .worlds .grid{grid-template-columns:1fr;} .world{min-height:360px;padding:28px;} }

  .story { padding:clamp(48px,6vw,80px) 0; }
  .story .wrap { display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,6vw,96px); align-items:center; }
  .story .ph { min-height:clamp(360px,44vw,560px); border-radius:4px; }
  .story .text { display:flex; flex-direction:column; gap:24px; }
  .story .eyebrow { font-size:13px; letter-spacing:.16em; text-transform:uppercase; color:var(--ocean); font-weight:600; }
  .story h2 { font-size:clamp(34px,3.8vw,54px); line-height:1.02; }
  .story .quote { border-top:1px solid var(--line); padding-top:16px; display:flex; flex-direction:column; gap:10px; }
  .story .quote .t { font-family:var(--serif); font-size:26px; color:var(--forest); }
  .story .quote .q { font-family:var(--serif); font-size:clamp(22px,2vw,28px); font-style:italic; line-height:1.35; color:var(--ink-2); }
  .story.flip .ph { order:2; }
  @media (max-width:900px) { .story .wrap{grid-template-columns:1fr;} .story.flip .ph{order:0;} }
  .story .collage { display:grid; grid-template-columns:1fr 1fr; gap:20px; min-height:560px; }
  .story .collage .ph { min-height:0; } .story .collage .tall { grid-row:1 / span 2; }
  @media (max-width:900px) { .story .collage{min-height:420px;} }

  .impact { background:var(--ivory-2); padding:clamp(72px,8vw,112px) 0; }
  .impact h2 { font-size:clamp(36px,4vw,54px); margin-bottom:clamp(36px,5vw,64px); }
  .impact .grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; }
  .stat { border-top:1px solid var(--forest); padding-top:20px; display:flex; flex-direction:column; gap:10px; }
  .stat .n { font-family:var(--serif); font-size:clamp(48px,5vw,72px); line-height:1; color:var(--forest); font-variant-numeric:tabular-nums; }
  .stat .l { font-size:15px; color:var(--ink-2); }
  @media (max-width:900px) { .impact .grid{grid-template-columns:repeat(2,minmax(0,1fr));} }

  .purpose { padding:clamp(80px,9vw,128px) 0; }
  .purpose .wrap { display:grid; grid-template-columns:1fr 1.6fr; gap:clamp(32px,6vw,96px); }
  .purpose h2 { font-size:clamp(36px,4vw,54px); line-height:1.05; }
  .purpose .lead { font-size:17px; line-height:1.6; color:var(--ink-2); margin-top:20px; max-width:360px; }
  .purpose .list { display:grid; grid-template-columns:1fr 1fr; gap:40px 48px; }
  .purpose .item { border-top:1px solid var(--line); padding-top:16px; display:flex; flex-direction:column; gap:8px; }
  .purpose .item b { font-family:var(--serif); font-weight:500; font-size:28px; color:var(--forest); }
  .purpose .item span { font-size:16px; color:var(--ink-2); line-height:1.5; }
  @media (max-width:900px) { .purpose .wrap{grid-template-columns:1fr;} }
  @media (max-width:560px) { .purpose .list{grid-template-columns:1fr;gap:28px;} }

  .sdg { border-top:1px solid var(--line); padding:clamp(72px,8vw,112px) 0; }
  .sdg h2 { font-size:clamp(30px,3.4vw,46px); margin-bottom:clamp(36px,5vw,56px); max-width:24ch; }
  .sdg .grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:24px; }
  .goal { display:flex; align-items:center; gap:18px; }
  .goal .ring { position:relative; flex:0 0 76px; width:76px; height:76px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:28px; color:var(--forest); }
  .goal .ring svg { position:absolute; inset:0; transform:rotate(-90deg); }
  .goal .ring circle { fill:none; stroke:var(--ocean); stroke-width:1.5; stroke-dasharray:232; stroke-dashoffset:232; transition:stroke-dashoffset 1.4s ease; }
  .goal.in .ring circle { stroke-dashoffset:0; }
  .goal .ring circle.bg { stroke:var(--line); stroke-dashoffset:0; }
  .goal span.t { font-size:15px; line-height:1.4; color:var(--ink-2); }
  @media (max-width:1000px) { .sdg .grid{grid-template-columns:repeat(2,minmax(0,1fr));} }

  .journal { padding:clamp(48px,6vw,80px) 0 clamp(64px,8vw,112px); }
  .journal .grid { display:grid; grid-template-columns:1.4fr 1fr; gap:32px; }
  .post { display:flex; flex-direction:column; gap:18px; color:var(--ink); } .post:hover { color:var(--ink); }
  .post .ph { border-radius:4px; flex-grow:1; min-height:240px; }
  .post .meta { font-size:13px; color:var(--ink-3); }
  .post .h { font-family:var(--serif); color:var(--forest); font-size:24px; line-height:1.15; margin-top:6px; }
  .post.feat .ph { min-height:440px; } .post.feat .h { font-size:clamp(28px,2.6vw,36px); }
  .post .d { font-size:16px; color:var(--ink-2); margin-top:6px; line-height:1.55; }
  .post .tlink { margin-top:8px; }
  .journal .side { display:flex; flex-direction:column; gap:32px; }
  @media (max-width:900px) { .journal .grid{grid-template-columns:1fr;} }

  /* project grid */
  .pgrid { padding:clamp(48px,6vw,80px) 0 clamp(64px,8vw,112px); }
  .pgrid .grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 24px; }
  .pcard { display:flex; flex-direction:column; gap:14px; color:var(--ink); } .pcard:hover { color:var(--ink); }
  .pcard .ph { border-radius:4px; aspect-ratio:4/3; }
  .pcard .cat { font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--ocean); font-weight:600; }
  .pcard .h { font-family:var(--serif); font-size:26px; line-height:1.15; color:var(--forest); }
  .pcard .d { font-size:15px; color:var(--ink-2); line-height:1.55; }
  .pcard .tlink { font-size:12px; margin-top:2px; }
  @media (max-width:900px) { .pgrid .grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
  @media (max-width:560px) { .pgrid .grid{grid-template-columns:1fr;} }
  .filters { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:32px; }
  .filters button { min-height:44px; padding:0 18px; border-radius:999px; border:1px solid var(--line); background:transparent; color:var(--forest); font-family:var(--sans); font-size:14px; font-weight:500; cursor:pointer; }
  .filters button[aria-pressed="true"] { background:var(--forest); color:var(--ivory); border-color:var(--forest); }
  .pcard.hidden { display:none; }

  /* world bands on Our Work */
  .band3 { padding:clamp(48px,6vw,80px) 0; border-top:1px solid var(--line); }
  .band3 .wrap { display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,6vw,96px); align-items:center; }
  .band3 .ph { min-height:clamp(320px,36vw,480px); border-radius:4px; }
  .band3 .text { display:flex; flex-direction:column; gap:18px; }
  .band3 h2 { font-size:clamp(36px,4vw,56px); }
  .band3 p, .band3 li { font-size:17px; line-height:1.65; color:var(--ink-2); }
  .band3 ul { margin:0; padding-left:20px; display:flex; flex-direction:column; gap:6px; }
  .band3.flip .ph { order:2; }
  @media (max-width:900px) { .band3 .wrap{grid-template-columns:1fr;} .band3.flip .ph{order:0;} }

  /* stories list */
  .slist { padding:clamp(48px,6vw,80px) 0 clamp(64px,8vw,112px); }
  .slist .grid { display:grid; grid-template-columns:2fr 1fr; gap:clamp(32px,6vw,96px); }
  .slist .list { display:flex; flex-direction:column; }
  .srow { display:grid; grid-template-columns:200px 1fr; gap:32px; padding:32px 0; border-top:1px solid var(--line); color:var(--ink); align-items:start; }
  .srow:hover { color:var(--ink); } .srow:hover .h { color:var(--ocean); }
  .srow .ph { border-radius:4px; aspect-ratio:4/3; }
  .srow .meta { font-size:13px; color:var(--ink-3); }
  .srow .h { font-family:var(--serif); font-size:30px; line-height:1.15; color:var(--forest); margin:6px 0 10px; transition:color .2s; }
  .srow .d { font-size:16px; line-height:1.55; color:var(--ink-2); }
  @media (max-width:640px) { .srow{grid-template-columns:1fr;gap:16px;} }
  .aside h3 { font-size:22px; margin-bottom:16px; }
  .aside ul { list-style:none; margin:0 0 40px; padding:0; display:flex; flex-direction:column; }
  .aside li a { display:block; padding:12px 0; border-top:1px solid var(--line); color:var(--ink-2); font-size:15px; }
  .aside li a:hover { color:var(--ocean); }
  @media (max-width:900px) { .slist .grid{grid-template-columns:1fr;} }

  /* partners */
  .plist { padding:clamp(48px,6vw,80px) 0 clamp(64px,8vw,112px); }
  .plist .grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
  .pbox { border:1px solid var(--line); border-radius:4px; padding:32px; display:flex; flex-direction:column; gap:18px; min-height:260px; background:rgba(255,255,255,.35); }
  .pbox .slot { height:88px; border:1px dashed rgba(24,53,43,.3); border-radius:4px; display:flex; align-items:center; justify-content:center; font-size:12px; letter-spacing:.1em; color:var(--ink-3); }
  .pbox .h { font-family:var(--serif); font-size:26px; color:var(--forest); }
  .pbox .links { display:flex; gap:16px; font-size:14px; margin-top:auto; }
  @media (max-width:900px) { .plist .grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
  @media (max-width:560px) { .plist .grid{grid-template-columns:1fr;} }
  .quoteband { padding:clamp(64px,8vw,112px) 0; background:var(--ivory-2); text-align:center; }
  .quoteband blockquote { margin:0 auto; max-width:24ch; font-family:var(--serif); font-size:clamp(28px,3.4vw,44px); line-height:1.25; font-style:italic; color:var(--forest); }
  .quoteband cite { display:block; font-family:var(--sans); font-style:normal; font-size:14px; color:var(--ink-3); margin-top:20px; }

  /* contact */
  .contact { padding:clamp(48px,6vw,80px) 0 clamp(64px,8vw,112px); }
  .contact .wrap { display:grid; grid-template-columns:1fr 1.2fr; gap:clamp(32px,6vw,96px); }
  .ways { display:flex; flex-direction:column; margin-top:24px; }
  .ways .w { padding:22px 0; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:6px; }
  .ways .w:last-child { border-bottom:1px solid var(--line); }
  .ways .w b { font-family:var(--serif); font-weight:500; font-size:24px; color:var(--forest); }
  .ways .w span { font-size:15px; color:var(--ink-2); }
  form { display:flex; flex-direction:column; gap:18px; }
  .field { display:flex; flex-direction:column; gap:8px; }
  .field label { font-size:14px; font-weight:600; color:var(--forest); }
  .field input, .field textarea, .field select { font-family:var(--sans); font-size:16px; padding:14px 16px; border:1px solid rgba(24,53,43,.3); border-radius:4px; background:#fff; color:var(--ink); min-height:52px; }
  .field textarea { min-height:160px; resize:vertical; }
  .field input:focus, .field textarea:focus, .field select:focus { outline:2px solid var(--ocean); outline-offset:1px; border-color:var(--ocean); }
  .row2 { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
  .note { font-size:14px; color:var(--ink-3); }
  .sent { display:none; padding:20px; border:1px solid var(--ocean); border-radius:4px; color:var(--forest); font-size:16px; }
  @media (max-width:900px) { .contact .wrap{grid-template-columns:1fr;} .row2{grid-template-columns:1fr;} }

  .involved { background:var(--charcoal); color:var(--ivory); padding:clamp(80px,9vw,128px) 0; }
  .involved .wrap { position:relative; z-index:2; display:grid; grid-template-columns:1.2fr 1fr; gap:clamp(32px,6vw,96px); align-items:center; }
  .involved h2 { color:var(--ivory); font-size:clamp(40px,4.8vw,68px); line-height:1.02; }
  .involved p { font-size:18px; line-height:1.6; color:rgba(244,240,231,.78); max-width:480px; margin:24px 0 32px; }
  .involved .wl a { display:flex; justify-content:space-between; align-items:center; padding:22px 0; border-top:1px solid rgba(244,240,231,.2); font-size:20px; color:var(--sand); transition:color .25s,padding-left .25s; }
  .involved .wl a:last-child { border-bottom:1px solid rgba(244,240,231,.2); }
  .involved .wl a:hover { color:var(--ivory); padding-left:8px; }
  @media (max-width:900px) { .involved .wrap{grid-template-columns:1fr;} }

  .partners-strip { border-top:1px solid var(--line); padding:56px 0; }
  .partners-strip p { font-size:15px; color:var(--ink-3); margin-bottom:28px; }
  .partners-strip .grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:20px; }
  .partners-strip .slot { height:88px; border:1px dashed rgba(24,53,43,.3); border-radius:4px; display:flex; align-items:center; justify-content:center; font-size:12px; letter-spacing:.08em; color:var(--ink-3); text-align:center; padding:0 10px; }
  @media (max-width:800px) { .partners-strip .grid{grid-template-columns:repeat(2,minmax(0,1fr));} }

  .related { padding:clamp(48px,6vw,80px) 0; border-top:1px solid var(--line); }

  footer { padding:64px 0 40px; border-top:1px solid var(--line); }
  footer .top { display:grid; grid-template-columns:2fr 1fr 1fr 1.2fr; gap:32px; }
  footer .brand { display:flex; flex-direction:column; gap:16px; }
  footer .brand .n { font-family:var(--serif); font-size:26px; font-weight:600; letter-spacing:.06em; color:var(--forest); }
  footer .brand .tag { font-family:var(--serif); font-size:24px; line-height:1.25; color:var(--forest); }
  footer .brand .sub { font-size:14px; color:var(--ink-3); }
  footer nav { display:flex; flex-direction:column; gap:12px; }
  footer nav a, footer .contact-col { font-size:14px; color:var(--ink-2); }
  footer nav a:hover { color:var(--ocean); }
  footer .contact-col { display:flex; flex-direction:column; gap:12px; }
  footer .contact-col a { color:var(--ink-2); } footer .contact-col a:hover { color:var(--ocean); }
  footer .bottom { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:13px; color:var(--ink-3); padding-top:24px; margin-top:48px; border-top:1px solid var(--line); }
  @media (max-width:800px) { footer .top{grid-template-columns:1fr 1fr;} footer .brand{grid-column:1 / -1;} }

  .hasimg { background-size:cover; background-position:center; }
  .hasimg::before { background-image:none; }
  .hasimg .lbl { display:none; }
  .hero.hasimg::before, .world.hasimg::before, .involved.hasimg::before, .phead.img.hasimg::before { background-image:linear-gradient(to top, rgba(24,32,29,.82) 0%, rgba(24,32,29,.35) 50%, rgba(24,32,29,.15) 100%); }
  .eyebrow { display:block; font-size:12px; letter-spacing:.18em; text-transform:uppercase; font-weight:600; color:var(--ocean); margin-bottom:18px; }
  .eyebrow.light { color:var(--sand); }
  .bgc { background-size:cover; background-position:center; }
  .hero2 { position:relative; min-height:min(88vh,780px); display:flex; align-items:center; background-size:cover; background-position:center; color:var(--ivory); }
  .hero2::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(24,53,43,.82) 0%, rgba(24,53,43,.45) 45%, rgba(24,53,43,.05) 100%); }
  .hero2 .wrap { position:relative; z-index:1; padding:96px 0 72px; display:flex; flex-direction:column; gap:24px; }
  .hero2 h1 { color:var(--ivory); font-size:clamp(44px,5.6vw,80px); line-height:1.02; }
  .hero2 p { font-size:clamp(16px,1.3vw,18px); max-width:420px; color:rgba(244,240,231,.9); }
  .hero2 .cta { display:flex; gap:14px; flex-wrap:wrap; }
  .hero2 .tags { position:absolute; right:0; bottom:-40px; font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:rgba(244,240,231,.75); }
  @media (max-width:700px) { .hero2 .tags { position:static; margin-top:24px; } }

  .mission2 { padding:clamp(64px,8vw,112px) 0; position:relative; overflow:hidden; }
  .mission2 .wrap { display:grid; grid-template-columns:1fr 1.25fr; gap:clamp(32px,6vw,96px); align-items:center; }
  .mission2 h2 { font-size:clamp(34px,3.6vw,50px); line-height:1.08; }
  .mission2 p { font-size:16px; line-height:1.65; color:var(--ink-2); margin-top:20px; max-width:44ch; }
  .steps { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; position:relative; }
  .steps::before { content:""; position:absolute; left:12%; right:12%; top:34px; border-top:1px solid var(--line); }
  .step { display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px; position:relative; }
  .step .ic { width:68px; height:68px; border-radius:50%; border:1.5px solid; display:inline-flex; align-items:center; justify-content:center; background:var(--ivory); margin-bottom:8px; }
  .step .ic svg { width:28px; height:28px; fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
  .step b { font-family:var(--serif); font-weight:500; font-size:22px; color:var(--forest); }
  .step span:last-child { font-size:13px; color:var(--ink-2); }
  @media (max-width:900px) { .mission2 .wrap { grid-template-columns:1fr; } .steps { grid-template-columns:repeat(2,1fr); gap:28px 16px; } .steps::before { display:none; } }

  .worlds2 { display:grid; grid-template-columns:repeat(3,1fr); }
  .w2 { display:flex; flex-direction:column; color:var(--ivory); }
  .w2:hover { color:var(--ivory); }
  .w2 .img { aspect-ratio:2.1; background-size:cover; background-position:center; transition:transform .6s ease; }
  .w2:hover .img { transform:scale(1.02); }
  .w2 .txt { padding:32px 36px 36px; display:flex; flex-direction:column; gap:14px; flex-grow:1; }
  .w2 .name { font-family:var(--serif); font-size:34px; line-height:1; letter-spacing:.04em; text-transform:uppercase; }
  .w2 .ls { font-size:14px; line-height:1.7; color:rgba(244,240,231,.85); }
  .w2 .tlink { color:var(--ivory); font-size:12px; }
  @media (max-width:900px) { .worlds2 { grid-template-columns:1fr; } }

  .work2 { padding:clamp(64px,8vw,112px) 0; }
  .work2 .top { display:grid; grid-template-columns:1fr 1.4fr; gap:clamp(32px,5vw,80px); align-items:center; margin-bottom:32px; }
  .work2 h2 { font-size:clamp(34px,3.6vw,48px); line-height:1.1; }
  .dcard { display:grid; grid-template-columns:1fr 1.1fr; border:1px solid var(--line); background:#fff; color:var(--ink); }
  .dcard:hover { color:var(--ink); }
  .dcard .img { min-height:220px; background-size:cover; background-position:center; }
  .dcard .body { padding:28px 32px; display:flex; flex-direction:column; gap:12px; position:relative; }
  .dcard .t { font-family:var(--serif); font-size:26px; color:var(--forest); }
  .dcard .q { font-size:15px; line-height:1.6; color:var(--ink-2); }
  .dcard .tlink { font-size:12px; margin-top:4px; }
  .dcard .pager { margin-top:auto; padding-top:16px; border-top:1px solid var(--line); font-size:12px; letter-spacing:.1em; color:var(--ink-3); display:flex; gap:12px; justify-content:flex-end; align-items:center; }
  .dcard .pager span { color:var(--forest); }
  .work2 .two { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
  .panel { position:relative; min-height:300px; display:flex; align-items:flex-end; padding:32px; background-size:cover; background-position:center; color:var(--ivory); border-radius:2px; overflow:hidden; }
  .panel::before { content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(24,32,29,.85) 0%, rgba(24,32,29,.2) 60%, rgba(24,32,29,0) 100%); }
  .panel:hover { color:var(--ivory); }
  .panel > div { position:relative; z-index:1; display:flex; flex-direction:column; gap:8px; }
  .panel .t { font-family:var(--serif); font-size:28px; }
  .panel .d { font-size:14px; color:rgba(244,240,231,.85); max-width:38ch; }
  .panel .tlink { color:var(--ivory); font-size:12px; margin-top:6px; }
  @media (max-width:900px) { .work2 .top, .work2 .two { grid-template-columns:1fr; } }
  @media (max-width:560px) { .dcard { grid-template-columns:1fr; } }

  .impact2 { position:relative; padding:clamp(64px,8vw,104px) 0; background-size:cover; background-position:center; color:var(--ivory); }
  .impact2::before { content:""; position:absolute; inset:0; background:rgba(24,53,43,.66); }
  .impact2 .wrap { position:relative; z-index:1; }
  .impact2 h2 { color:var(--ivory); font-size:clamp(34px,3.6vw,50px); margin-bottom:48px; }
  .impact2 .grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center; }
  .impact2 .stat { border:0; padding:0; align-items:center; }
  .impact2 .stat .n { color:var(--ivory); font-size:clamp(36px,3.4vw,48px); }
  .impact2 .stat .l { color:rgba(244,240,231,.85); font-size:14px; }
  @media (max-width:800px) { .impact2 .grid { grid-template-columns:repeat(2,1fr); } }

  .strip { background:#1D2E27; display:grid; grid-template-columns:240px 1fr; }
  .chain2 { padding:40px 48px; display:flex; flex-direction:column; align-items:center; color:var(--ivory); font-size:11px; letter-spacing:.2em; text-transform:uppercase; }
  .chain2 i { width:1px; height:18px; background:var(--sand); margin:8px 0; display:block; }
  .film { display:flex; gap:6px; overflow-x:auto; padding:0; }
  .film > div { flex:0 0 clamp(140px,16vw,240px); min-height:240px; background-size:cover; background-position:center; }
  .film > div:last-child { flex:1 0 240px; }
  @media (max-width:800px) { .strip { grid-template-columns:1fr; } .chain2 { flex-direction:row; flex-wrap:wrap; gap:8px 14px; padding:24px 20px; } .chain2 i { width:14px; height:1px; margin:0; } }

  .purpose2 { padding:clamp(64px,8vw,104px) 0; }
  .purpose2 .wrap { display:grid; grid-template-columns:1fr 2.4fr; gap:clamp(32px,5vw,80px); align-items:center; }
  .purpose2 h2 { font-size:clamp(32px,3.4vw,44px); }
  .pl { display:grid; grid-template-columns:repeat(6,1fr); }
  .pl > div { display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px; padding:0 12px; border-left:1px solid var(--line); }
  .pl > div:first-child { border-left:0; }
  .pl svg { width:30px; height:30px; fill:none; stroke:var(--forest); stroke-width:1.3; stroke-linecap:round; stroke-linejoin:round; margin-bottom:6px; }
  .pl b { font-size:14px; font-weight:600; color:var(--forest); }
  .pl span { font-size:12px; line-height:1.45; color:var(--ink-2); }
  @media (max-width:1000px) { .purpose2 .wrap { grid-template-columns:1fr; } .pl { grid-template-columns:repeat(3,1fr); gap:28px 0; } .pl > div:nth-child(4) { border-left:0; } }
  @media (max-width:560px) { .pl { grid-template-columns:repeat(2,1fr); } .pl > div:nth-child(odd) { border-left:0; } .pl > div:nth-child(4) { border-left:1px solid var(--line); } }

  .sdg2 { display:grid; grid-template-columns:1fr 2.6fr; background:#1D2E27; color:var(--ivory); }
  .sdg2 .img { background-size:cover; background-position:center; min-height:200px; }
  .sdg2 .body { padding:clamp(40px,5vw,72px) clamp(24px,5vw,72px); display:grid; grid-template-columns:1fr 1.4fr; gap:40px; align-items:center; }
  .sdg2 .eyebrow { grid-column:1 / -1; margin:0; }
  .sdg2 h2 { color:var(--ivory); font-size:clamp(28px,2.8vw,38px); line-height:1.15; }
  .sdg2 .goals { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
  .sdg2 .goal { flex-direction:column; text-align:center; gap:10px; }
  .sdg2 .goal .ring { color:var(--ivory); font-size:22px; width:64px; height:64px; flex-basis:64px; }
  .sdg2 .goal .ring circle { stroke:var(--sand); }
  .sdg2 .goal .ring circle.bg { stroke:rgba(244,240,231,.2); }
  .sdg2 .goal .t { font-size:12px; color:rgba(244,240,231,.85); }
  @media (max-width:1000px) { .sdg2 { grid-template-columns:1fr; } .sdg2 .body { grid-template-columns:1fr; } }
  @media (max-width:600px) { .sdg2 .goals { grid-template-columns:repeat(3,1fr); } }

  .stories2 { padding:clamp(64px,8vw,104px) 0; }
  .stories2 .sh h2 { font-size:clamp(30px,3vw,40px); }
  .stories2 .grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
  .s2 { display:flex; flex-direction:column; gap:12px; color:var(--ink); }
  .s2:hover { color:var(--ink); } .s2:hover .h { color:var(--ocean); }
  .s2 .img { position:relative; aspect-ratio:3/2; background-size:cover; background-position:center; }
  .s2 .chip { position:absolute; left:0; bottom:0; background:var(--ivory); color:var(--forest); font-size:10px; letter-spacing:.14em; text-transform:uppercase; font-weight:600; padding:8px 12px; }
  .s2 .h { font-size:16px; font-weight:600; color:var(--forest); margin-top:4px; transition:color .2s; }
  .s2 .m { display:flex; justify-content:space-between; align-items:center; font-size:12px; color:var(--ink-3); }
  .s2 .m .tlink { font-size:11px; }
  @media (max-width:800px) { .stories2 .grid { grid-template-columns:1fr; } }

  .partners2 { padding:48px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .partners2 .wrap { display:grid; grid-template-columns:1fr 2fr; gap:32px; align-items:center; }
  .partners2 h2 { font-size:clamp(24px,2.4vw,32px); }
  .partners2 .eyebrow { margin-bottom:8px; }
  .partners2 .names { display:flex; flex-wrap:wrap; gap:16px 36px; justify-content:flex-end; }
  .partners2 .names span { font-family:var(--serif); font-size:20px; color:var(--forest); white-space:nowrap; }
  @media (max-width:900px) { .partners2 .wrap { grid-template-columns:1fr; } .partners2 .names { justify-content:flex-start; } }

  .involved2 { position:relative; padding:clamp(64px,7vw,96px) 0; background-size:cover; background-position:center 70%; color:var(--ivory); }
  .involved2::before { content:""; position:absolute; inset:0; background:rgba(24,32,29,.72); }
  .involved2 .wrap { position:relative; z-index:1; display:grid; grid-template-columns:1.4fr 1fr auto; gap:40px; align-items:center; }
  .involved2 h2 { color:var(--ivory); font-size:clamp(34px,3.8vw,52px); line-height:1.05; }
  .involved2 .small { font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--sand); display:block; margin-bottom:10px; }
  .involved2 ul { margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:6px; font-size:15px; }
  .involved2 ul li::before { content:"→"; color:var(--sand); margin-right:10px; }
  @media (max-width:900px) { .involved2 .wrap { grid-template-columns:1fr; } }

  footer.dark { background:#1D2E27; color:var(--ivory); border:0; padding:48px 0 32px; }
  footer.dark .fr { display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; }
  footer.dark .logo { color:var(--ivory); }
  footer.dark nav { display:flex; flex-direction:row; gap:28px; }
  footer.dark nav a { color:rgba(244,240,231,.85); font-size:14px; } footer.dark nav a:hover { color:var(--sand); }
  footer.dark .soc { display:flex; gap:14px; }
  footer.dark .soc a { color:var(--ivory); font-size:13px; } footer.dark .soc a:hover { color:var(--sand); }
  footer.dark .bottom { border-top:1px solid rgba(244,240,231,.15); color:rgba(244,240,231,.65); margin-top:32px; }

  :root { --gold:#D6A83D; --cream:#F4EFE4; --char:#101411; }
  .eyebrow.gold { color:var(--gold); }
  .hero3 { position:relative; height:100vh; min-height:760px; overflow:hidden; background-size:cover; background-position:center center; color:var(--cream); filter:none; }
  .hero3::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(8,12,10,.82) 0%, rgba(8,12,10,.66) 24%, rgba(8,12,10,.35) 43%, rgba(8,12,10,.05) 67%, rgba(8,12,10,0) 100%); }
  .hero3::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(8,12,10,.75) 0%, rgba(8,12,10,.12) 28%, transparent 55%); }
  .hero3-inner { position:absolute; z-index:2; left:5vw; top:23vh; max-width:520px; display:flex; flex-direction:column; }
  .hero3 h1 { color:var(--cream); font-size:72px; line-height:.92; font-weight:500; letter-spacing:-.035em; margin-top:22px; }
  .hero3 .gline { display:block; width:72px; height:2px; background:var(--gold); margin:28px 0; }
  .hero3 .stmt { font-family:var(--serif); font-size:34px; line-height:1.12; color:var(--cream); }
  .hero3 .stmt em { color:var(--gold); }
  .hero3 .sub { font-size:16px; line-height:1.6; color:rgba(244,239,228,.86); margin-top:22px; }
  .xcta { display:inline-flex; align-items:center; gap:14px; margin-top:36px; padding-bottom:10px; position:relative; color:var(--gold); font-size:14px; letter-spacing:.14em; text-transform:uppercase; font-weight:500; align-self:flex-start; }
  .xcta::after { content:""; position:absolute; left:0; bottom:0; height:1px; width:100%; background:var(--gold); transition:width .35s ease, transform .35s ease; transform-origin:left; }
  .xcta .arr { display:inline-block; transition:transform .3s ease; }
  .xcta:hover { color:#E4BB55; } .xcta:hover .arr { transform:translateX(5px); } .xcta:hover::after { width:calc(100% + 24px); }
  .scrollind { position:absolute; z-index:2; right:5vw; bottom:110px; display:flex; flex-direction:column; align-items:center; gap:14px; color:var(--cream); font-size:11px; letter-spacing:.2em; text-transform:uppercase; }
  .scrollind span { writing-mode:vertical-rl; transform:rotate(180deg); }
  .scrollind i { width:1px; height:44px; background:var(--cream); opacity:.7; position:relative; }
  .scrollind i::after { content:""; position:absolute; bottom:0; left:-4px; width:9px; height:9px; border-right:1px solid var(--cream); border-bottom:1px solid var(--cream); transform:rotate(45deg); }
  .ibar { position:absolute; z-index:2; left:5vw; right:5vw; bottom:35px; display:flex; align-items:center; gap:28px; }
  .ibar .ln { flex:1; height:1px; background:rgba(244,239,228,.25); }
  .ibar .items { display:flex; align-items:center; gap:26px; }
  .ibar .items span { display:inline-flex; align-items:center; gap:10px; font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--cream); white-space:nowrap; }
  .ibar .items b { color:rgba(244,239,228,.5); font-weight:400; }
  .ibar svg { width:20px; height:20px; fill:none; stroke:var(--gold); stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
  @media (max-width:1199px) { .hero3 h1 { font-size:60px; } .ibar .items { gap:18px; } .ibar .items span { font-size:12px; } }
  @media (max-width:767px) {
    .hero3 { height:100svh; min-height:700px; }
    .hero3::before { background:linear-gradient(90deg, rgba(8,12,10,.85) 0%, rgba(8,12,10,.55) 50%, rgba(8,12,10,.2) 100%); }
    .hero3::after { background:linear-gradient(0deg, rgba(8,12,10,.9) 0%, rgba(8,12,10,.3) 40%, transparent 65%); }
    .hero3-inner { left:20px; right:20px; max-width:none; width:calc(100% - 40px); top:18vh; }
    .hero3 h1 { font-size:52px; } .hero3 .stmt { font-size:28px; }
    .scrollind { display:none; }
    .ibar { left:20px; right:20px; bottom:24px; }
    .ibar .ln { display:none; }
    .ibar .items { display:grid; grid-template-columns:1fr 1fr; gap:12px 16px; width:100%; }
    .ibar .items b { display:none; }
  }
  /* transparent header over the home hero */
  body.home { padding-top:0; }
  .nav.over { background:transparent; backdrop-filter:none; border-bottom:0; }
  .nav.over .logo, .nav.over nav a, .nav.over .menu-btn { color:var(--cream); }
  .nav.over .logo svg { color:var(--gold); }
  .nav.over nav a:hover, .nav.over nav a.current { color:var(--gold); border-bottom-color:var(--gold); }
  .nav.over .btn { background:var(--gold); color:var(--char); border-radius:2px; }
  .nav.over .btn:hover { background:#C4983A; color:var(--char); }
  .nav.over nav.open { background:var(--char); }
  .nav .wrap { transition:none; }
  body.home-top { padding-top:0; }

  .hero3 .hbg { position:absolute; inset:0; background-size:cover; background-position:center center; filter:saturate(.92) contrast(1.05) sepia(.04); }
  .hero3::before, .hero3::after { z-index:1; }
  .hero3-inner { top:26vh; max-width:480px; }
  .hero3 h1 { font-size:64px; margin-top:26px; }
  .hero3 .gline { margin:30px 0; }
  .hero3 .stmt { font-size:30px; line-height:1.15; }
  .hero3 .sub { font-size:15px; margin-top:24px; color:rgba(244,239,228,.8); }
  .xcta { margin-top:40px; font-size:13px; }
  .hero3-inner::before { content:""; position:absolute; inset:-60px -80px -60px -40px; background:radial-gradient(ellipse at 30% 50%, rgba(8,12,10,.45) 0%, rgba(8,12,10,0) 70%); z-index:-1; pointer-events:none; }
  .hero3-inner { z-index:2; }
  .ibar { bottom:32px; gap:32px; }
  .ibar .ln { background:rgba(244,239,228,.18); }
  .ibar .items { gap:30px; }
  .ibar .items span { font-size:12px; letter-spacing:.16em; color:rgba(244,239,228,.85); }
  .ibar svg { width:16px; height:16px; opacity:.9; }
  .ibar .items b { color:rgba(244,239,228,.35); }
  .scrollind { font-size:10px; color:rgba(244,239,228,.75); }
  .nav.over .wrap { height:96px; }
  .nav.over nav { gap:36px; }
  .nav.over nav a { font-size:13px; letter-spacing:.03em; font-weight:500; color:rgba(244,239,228,.92); }
  .nav.over .btn { padding:0 24px; min-height:44px; font-size:13px; letter-spacing:.03em; }
  .nav.over .logo { font-size:18px; letter-spacing:.14em; font-weight:500; }
  @media (max-width:1199px) { .hero3 h1 { font-size:56px; } }
  @media (max-width:767px) { .hero3 h1 { font-size:48px; } .hero3 .stmt { font-size:26px; } .hero3-inner { top:20vh; } .hero3-inner::before { display:none; } }

  .hero3 { background:#14180F; }
  .hero3 .hbg { left:auto; right:0; width:74%; background-position:center center; -webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.6) 18%, #000 40%); mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.6) 18%, #000 40%); filter:none; }
  .hero3::before { background:linear-gradient(90deg, rgba(8,12,10,.55) 0%, rgba(8,12,10,.3) 30%, rgba(8,12,10,0) 55%); }
  .hero3::after { background:linear-gradient(0deg, rgba(8,12,10,.8) 0%, rgba(8,12,10,.15) 26%, transparent 50%); }
  @media (max-width:1100px) { .hero3 .hbg { width:88%; } }
  @media (max-width:767px) { .hero3 .hbg { width:100%; -webkit-mask-image:none; mask-image:none; } .hero3::before { background:linear-gradient(90deg, rgba(8,12,10,.8) 0%, rgba(8,12,10,.45) 55%, rgba(8,12,10,.15) 100%); } }

  :root { --navy:#172A2F; --cream:#F5F0E6; --gold:#D8A83E; --gold2:#E5C56B; }
  .hero3 { background:var(--navy); }
  .hero3 .hbg { left:0; right:0; width:100%; -webkit-mask-image:none; mask-image:none; background-position:center center; filter:none; }
  .hero3::before { background:linear-gradient(90deg, rgba(8,18,18,.72) 0%, rgba(8,18,18,.48) 28%, rgba(8,18,18,.15) 52%, rgba(8,18,18,0) 75%); }
  .hero3::after { background:linear-gradient(0deg, rgba(8,18,18,.55) 0%, rgba(8,18,18,0) 30%); }
  .hero3-inner { left:60px; top:50%; transform:translateY(-45%); max-width:500px; }
  .hero3-inner::before { display:none; }
  .hero3 h1 { font-size:72px; line-height:.92; letter-spacing:-1.5px; margin:0 0 4px; color:var(--cream); }
  .hero3 h1 em { font-style:normal; color:var(--gold); }
  .hero3 .gline { width:64px; height:2px; background:var(--gold); margin:24px 0 28px; }
  .hero3 .gline.top { margin:0 0 32px; }
  .hero3 .stmt { font-size:39px; line-height:1.04; letter-spacing:-.5px; color:var(--cream); margin-top:24px; }
  .hero3 .sub { font-size:16px; line-height:1.65; color:rgba(245,240,230,.86); max-width:410px; margin:0; }
  .gbtn { display:inline-flex; align-items:center; gap:12px; height:52px; padding:0 28px; margin-top:32px; background:var(--gold); color:var(--navy); border-radius:2px; font-size:13px; font-weight:600; letter-spacing:1px; text-transform:uppercase; align-self:flex-start; transition:background .3s ease, transform .3s ease, box-shadow .3s ease; }
  .gbtn:hover { background:var(--gold2); color:var(--navy); transform:translateY(-2px); box-shadow:0 8px 25px rgba(0,0,0,.18); }
  .gbtn .arr { transition:transform .3s; } .gbtn:hover .arr { transform:translateX(4px); }
  .ibar { left:60px; right:60px; bottom:38px; gap:0; }
  .ibar .ln { display:none; }
  .ibar .items { gap:38px; align-items:center; }
  .ibar .items span { flex-direction:column; align-items:flex-start; gap:12px; font-size:12px; font-weight:500; letter-spacing:1.5px; color:rgba(255,255,255,.9); }
  .ibar .items i { width:1px; height:22px; background:rgba(255,255,255,.35); display:block; align-self:center; }
  .ibar .items b { display:none; }
  .ibar svg { width:26px; height:26px; opacity:1; stroke:var(--gold); }
  .scrollind { right:32px; bottom:48px; font-size:10px; letter-spacing:3px; color:rgba(255,255,255,.8); }
  .scrollind i { height:45px; background:rgba(255,255,255,.5); }
  .nav.over .wrap { height:100px; }
  .nav.over .logo { font-size:24px; letter-spacing:3px; font-weight:500; color:var(--cream); flex-direction:row; }
  .nav.over .logo small { display:none; }
  .nav.over .logo > span > span:first-child::after { content:" TO VIRTUE"; }
  .nav.over nav a { font-size:14px; letter-spacing:.3px; color:rgba(255,255,255,.92); }
  .nav.over nav a:hover, .nav.over nav a.current { color:var(--gold); border-bottom-color:transparent; }
  .nav.over .btn { min-width:138px; min-height:46px; padding:0 24px; font-size:13px; font-weight:600; letter-spacing:.4px; background:var(--gold); color:var(--navy); }
  .nav.over .btn:hover { background:var(--gold2); }
  @media (min-width:1441px) { .hero3 h1 { font-size:82px; } .hero3 .stmt { font-size:44px; } }
  @media (max-width:1199px) { .hero3 { min-height:700px; } .hero3 h1 { font-size:58px; } .hero3 .stmt { font-size:34px; } .hero3-inner { left:40px; } .ibar { left:40px; right:40px; } .nav.over nav { gap:20px; } }
  @media (max-width:767px) {
    .hero3 { min-height:100svh; }
    .hero3-inner { left:24px; right:24px; top:auto; bottom:120px; transform:none; width:auto; max-width:none; }
    .hero3 h1 { font-size:48px; line-height:.95; } .hero3 .stmt { font-size:30px; line-height:1.05; } .hero3 .sub { font-size:14px; line-height:1.55; }
    .gbtn { height:48px; padding:0 22px; }
    .hero3 .gline.top { display:none; }
    .ibar { left:24px; right:24px; bottom:24px; }
    .ibar .items { display:flex; gap:20px; overflow-x:auto; width:100%; }
    .ibar .items span { flex:0 0 auto; gap:6px; font-size:10px; } .ibar .items i { display:none; }
    .nav.over .logo { font-size:20px; }
    .hero3::before { background:linear-gradient(90deg, rgba(8,18,18,.6) 0%, rgba(8,18,18,.35) 60%, rgba(8,18,18,.15) 100%); }
    .hero3::after { background:linear-gradient(0deg, rgba(8,18,18,.88) 0%, rgba(8,18,18,.4) 45%, rgba(8,18,18,0) 70%); }
  }

  .hero3 h1 { margin:0; }
  .hero3 .gline { margin:24px 0 28px; }
  .hero3 .stmt { margin:0; }
  .hero3 .sub { margin:28px 0 0; }
  .gbtn { margin-top:32px; }
  .hero3-inner { width:500px; max-width:500px; }
  .nav.over .wrap { padding:0; }
  .nav.over nav { gap:36px; }

  /* layout matched to reference: smaller, top-anchored */
  .hero3-inner { top:150px; transform:none; width:460px; max-width:460px; left:72px; }
  .hero3 .gline.top { width:44px; margin:0 0 30px; }
  .hero3 h1 { font-size:58px; line-height:.98; letter-spacing:-.5px; }
  .hero3 .stmt { font-size:30px; line-height:1.18; margin-top:22px; }
  .hero3 .gline { width:44px; margin:26px 0 24px; }
  .hero3 .sub { font-size:15px; line-height:1.7; margin:0; max-width:400px; }
  .gbtn { height:50px; padding:0 34px; margin-top:34px; font-size:12px; letter-spacing:1.2px; }
  .ibar { left:72px; right:auto; bottom:64px; }
  .ibar .items { gap:34px; }
  .ibar .items span { gap:14px; font-size:11px; letter-spacing:1.6px; }
  .ibar svg { width:30px; height:30px; }
  .ibar .items i { height:40px; background:rgba(216,168,62,.7); }
  .scrollind { right:36px; bottom:56px; }
  .nav.over .wrap { height:112px; }
  .nav.over .logo { font-size:21px; letter-spacing:3.5px; }
  .nav.over nav a { font-size:15px; }
  .nav.over .btn { min-height:34px; min-width:0; padding:0 26px; font-size:13px; font-weight:600; border-radius:2px; }
  /* lighting: brighter photo, lighter overlays, warm glow top-right */
  .hero3::before { background:linear-gradient(90deg, rgba(8,18,18,.78) 0%, rgba(8,18,18,.5) 22%, rgba(8,18,18,.12) 46%, rgba(8,18,18,0) 70%); }
  .hero3::after { background:linear-gradient(0deg, rgba(8,18,18,.5) 0%, rgba(8,18,18,0) 26%), radial-gradient(ellipse at 80% 0%, rgba(255,232,190,.14) 0%, rgba(255,232,190,0) 45%); }
  @media (min-width:1441px) { .hero3 h1 { font-size:64px; } .hero3 .stmt { font-size:33px; } }
  @media (max-width:1199px) { .hero3 h1 { font-size:50px; } .hero3 .stmt { font-size:27px; } .hero3-inner { left:40px; top:130px; } .ibar { left:40px; } }
  @media (max-width:767px) { .hero3-inner { left:24px; right:24px; top:auto; bottom:110px; width:auto; max-width:none; } .hero3 h1 { font-size:44px; } .hero3 .stmt { font-size:26px; } .ibar { left:24px; right:24px; bottom:24px; } .ibar .items i { display:none; } .ibar svg { width:20px; height:20px; } }

  .hero3 .hbg { background-position:right center; }
  .hero3::before { background:linear-gradient(90deg, rgba(8,18,18,.55) 0%, rgba(8,18,18,.32) 26%, rgba(8,18,18,.06) 48%, rgba(8,18,18,0) 65%); }
  @media (max-width:767px) { .hero3 .hbg { background-position:62% center; } }

  :root { --gold:#D6A83A; --gold2:#C99A32; --cream:#F5F0E6; }
  .hero3 { background:#1B2419; }
  .hero3 .hbg { background-position:right 72%; filter:none; }
  .hero3::before { background:linear-gradient(90deg, rgba(20,25,18,.65) 0%, rgba(20,25,18,.42) 26%, rgba(20,25,18,.12) 48%, rgba(20,25,18,0) 62%); }
  .hero3::after { background:linear-gradient(0deg, rgba(20,25,18,.42) 0%, rgba(20,25,18,0) 28%); }
  .hero3-inner { left:72px; top:50%; transform:translateY(-46%); width:520px; max-width:520px; }
  .hero3-inner::before { display:none; }
  .hero3 h1.stmt { font-size:clamp(40px,3.9vw,56px); line-height:1.08; letter-spacing:-.5px; color:var(--cream); margin:0; font-weight:500; }
  .hero3 h1.stmt em { font-style:italic; color:var(--gold); }
  .hero3 .sub { font-size:16px; line-height:1.7; color:rgba(245,240,230,.86); max-width:420px; margin:26px 0 0; }
  .hero3 .xcta { margin-top:34px; color:var(--gold); font-size:12px; letter-spacing:1.6px; padding-bottom:9px; }
  .hero3 .xcta::after { background:var(--gold); opacity:.9; }
  .hero3 .xcta:hover { color:var(--gold2); }
  .ibar { display:none; }
  .scrollind { right:36px; bottom:48px; color:rgba(245,240,230,.7); }
  /* nav on a quiet translucent band */
  .nav.over { background:linear-gradient(180deg, rgba(20,25,18,.62) 0%, rgba(20,25,18,.28) 70%, rgba(20,25,18,0) 100%); }
  .nav.over .wrap { height:100px; }
  .nav.over .logo { font-size:20px; letter-spacing:3.5px; color:var(--cream); }
  .nav.over .logo svg { color:var(--gold); }
  .nav.over nav a { font-size:14px; color:rgba(245,240,230,.9); }
  .nav.over nav a:hover, .nav.over nav a.current { color:var(--gold); }
  .nav.over .btn { background:transparent; color:var(--cream); border:1px solid rgba(245,240,230,.55); min-height:42px; padding:0 22px; font-size:12px; letter-spacing:1px; text-transform:uppercase; border-radius:2px; }
  .nav.over .btn:hover { background:rgba(245,240,230,.1); border-color:var(--gold); color:var(--gold); }
  /* quiet category row just below the hero */
  .focusrow { background:var(--ivory); border-bottom:1px solid var(--line); }
  .focusrow .wrap { display:flex; gap:40px; justify-content:center; padding:18px 0; flex-wrap:wrap; }
  .focusrow span { font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-3); }
  @media (max-width:1199px) { .hero3-inner { left:40px; } }
  @media (max-width:767px) {
    .hero3 .hbg { background-position:58% 60%; }
    .hero3-inner { left:24px; right:24px; top:auto; bottom:96px; transform:none; width:auto; max-width:none; }
    .hero3 h1.stmt { font-size:36px; }
    .hero3 .sub { font-size:14px; }
    .hero3::before { background:linear-gradient(90deg, rgba(20,25,18,.55) 0%, rgba(20,25,18,.35) 60%, rgba(20,25,18,.15) 100%); }
    .hero3::after { background:linear-gradient(0deg, rgba(20,25,18,.85) 0%, rgba(20,25,18,.35) 45%, rgba(20,25,18,0) 70%); }
    .focusrow .wrap { gap:18px; justify-content:flex-start; overflow-x:auto; flex-wrap:nowrap; }
  }

  /* === reference layout restored === */
  :root { --gold:#D8A83E; --gold2:#E5C56B; }
  .hero3 .hbg { background-position:right 60%; }
  .hero3::before { background:linear-gradient(90deg, rgba(8,18,18,.74) 0%, rgba(8,18,18,.5) 24%, rgba(8,18,18,.14) 46%, rgba(8,18,18,0) 66%); }
  .hero3::after { background:linear-gradient(0deg, rgba(8,18,18,.5) 0%, rgba(8,18,18,0) 28%); }
  .hero3-inner { left:72px; top:150px; transform:none; width:460px; max-width:460px; display:flex; flex-direction:column; }
  .hero3 .gline.top { display:block; width:44px; height:2px; background:var(--gold); margin:0 0 30px; }
  .hero3 h1 { font-size:58px; line-height:.98; letter-spacing:-.5px; margin:0; color:var(--cream); font-weight:500; }
  .hero3 h1 em { font-style:normal; color:var(--gold); }
  .hero3 .stmt { font-size:30px; line-height:1.18; margin:22px 0 0; color:var(--cream); font-family:var(--serif); }
  .hero3 .gline { width:44px; height:2px; background:var(--gold); margin:26px 0 24px; }
  .hero3 .sub { font-size:15px; line-height:1.7; margin:0; max-width:400px; color:rgba(245,240,230,.86); }
  .gbtn { display:inline-flex; height:50px; padding:0 34px; margin-top:34px; font-size:12px; letter-spacing:1.2px; background:var(--gold); color:var(--navy); }
  .gbtn:hover { background:var(--gold2); color:var(--navy); }
  .ibar { display:flex; left:72px; right:auto; bottom:64px; }
  .ibar .items { gap:34px; }
  .ibar .items span { flex-direction:column; align-items:flex-start; gap:14px; font-size:11px; letter-spacing:1.6px; color:rgba(255,255,255,.9); }
  .ibar svg { width:30px; height:30px; stroke:var(--gold); }
  .ibar .items i { display:block; width:1px; height:40px; background:rgba(216,168,62,.7); align-self:center; }
  .scrollind { right:36px; bottom:56px; }
  .nav.over { background:transparent; }
  .nav.over .wrap { height:112px; }
  .nav.over .logo { font-size:21px; letter-spacing:3.5px; color:var(--cream); }
  .nav.over nav a { font-size:15px; color:rgba(255,255,255,.92); text-transform:none; }
  .nav.over .btn { background:var(--gold); color:var(--navy); border:0; min-height:34px; padding:0 26px; font-size:13px; font-weight:600; letter-spacing:.4px; text-transform:none; border-radius:2px; }
  .nav.over .btn:hover { background:var(--gold2); color:var(--navy); }
  @media (min-width:1441px) { .hero3 h1 { font-size:64px; } .hero3 .stmt { font-size:33px; } }
  @media (max-width:1199px) { .hero3 h1 { font-size:50px; } .hero3 .stmt { font-size:27px; } .hero3-inner { left:40px; top:130px; } .ibar { left:40px; } }
  @media (max-width:767px) {
    .hero3 .hbg { background-position:58% 55%; }
    .hero3-inner { left:24px; right:24px; top:auto; bottom:110px; width:auto; max-width:none; }
    .hero3 h1 { font-size:44px; } .hero3 .stmt { font-size:26px; } .hero3 .gline.top { display:none; }
    .ibar { left:24px; right:24px; bottom:24px; } .ibar .items { overflow-x:auto; gap:20px; } .ibar .items i { display:none; } .ibar svg { width:20px; height:20px; }
  }

  /* refined placement: vertically balanced, no rules */
  .hero3-inner { top:50%; transform:translateY(-52%); left:80px; width:500px; max-width:500px; gap:0; }
  .hero3 h1 { font-size:60px; line-height:.96; letter-spacing:-.6px; }
  .hero3 .stmt { font-size:29px; line-height:1.22; margin:30px 0 0; }
  .hero3 .sub { font-size:15px; line-height:1.75; margin:28px 0 0; max-width:390px; }
  .gbtn { margin-top:36px; height:50px; padding:0 30px; }
  .ibar { left:80px; bottom:56px; }
  .ibar .items { gap:30px; }
  .ibar .items span { gap:12px; font-size:11px; }
  .ibar svg { width:26px; height:26px; }
  .ibar .items i { height:34px; }
  @media (max-width:1199px) { .hero3-inner { left:48px; } .ibar { left:48px; } .hero3 h1 { font-size:52px; } }
  @media (max-width:767px) { .hero3-inner { left:24px; right:24px; top:auto; bottom:110px; transform:none; } }


  /* mission + three worlds as one viewport slide */
  .slide2 { min-height:100svh; display:flex; flex-direction:column; }
  .slide2 .mission2 { flex:0 0 auto; padding:clamp(28px, 5vh, 56px) 0; }
  .slide2 .mission2 .wrap { align-items:center; }
  .slide2 .mission2 h2 { font-size:clamp(28px, 4.2vh, 44px); }
  .slide2 .mission2 .eyebrow { margin-bottom:clamp(8px, 1.4vh, 16px); }
  .slide2 .step .ic { width:clamp(48px, 7vh, 64px); height:clamp(48px, 7vh, 64px); margin-bottom:4px; }
  .slide2 .step .ic svg { width:clamp(20px, 3vh, 26px); height:clamp(20px, 3vh, 26px); }
  .slide2 .step b { font-size:clamp(16px, 2.2vh, 20px); } .slide2 .step span:last-child { font-size:clamp(11px, 1.4vh, 13px); }
  .slide2 .steps::before { top:calc(clamp(48px, 7vh, 64px) / 2); }
  .slide2 .worlds2 { flex:1 1 auto; min-height:0; }
  .slide2 .w2 { min-height:0; }
  .slide2 .w2 .img { aspect-ratio:auto; flex:1 1 auto; min-height:0; }
  .slide2 .w2 .txt { flex:0 0 auto; padding:clamp(14px, 2.4vh, 24px) clamp(20px, 2.4vw, 32px) clamp(16px, 2.8vh, 28px); gap:clamp(6px, 1vh, 10px); }
  .slide2 .w2 .name { font-size:clamp(22px, 3.4vh, 32px); }
  .slide2 .w2 .ls { font-size:clamp(12px, 1.5vh, 14px); line-height:1.55; }
  @media (max-width:900px) { .slide2 { min-height:0; } .slide2 .w2 .img { aspect-ratio:2.1; } }

  /* === Mission slide (reference) === */
  .mission3 { min-height:100svh; display:flex; flex-direction:column; background:#163B31; }
  .m3top { position:relative; flex:1 1 auto; min-height:0; background:#F4F0E7; overflow:hidden; display:flex; align-items:center; }
  .m3img { position:absolute; top:0; right:0; bottom:0; width:66%; background-size:cover; background-position:left center; -webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.55) 12%, #000 30%); mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.55) 12%, #000 30%); }
  .m3top .wrap { position:relative; z-index:1; padding:clamp(40px, 7vh, 80px) 0 clamp(70px, 10vh, 110px); }
  .m3text { max-width:500px; display:flex; flex-direction:column; align-items:flex-start; }
  .m3eye { display:inline-flex; align-items:center; gap:18px; font-size:13px; letter-spacing:.24em; text-transform:uppercase; font-weight:600; color:var(--forest); }
  .m3eye i { width:110px; height:1px; background:var(--forest); opacity:.7; }
  .m3text h2 { font-size:clamp(34px, 5.4vh, 58px); line-height:1.08; margin-top:clamp(14px, 2.6vh, 26px); color:var(--forest); }
  .m3text p { font-size:clamp(14px, 1.8vh, 17px); line-height:1.6; color:var(--ink-2); margin-top:clamp(14px, 2.4vh, 24px); max-width:430px; }
  .m3btn { margin-top:clamp(18px, 3.4vh, 34px); gap:12px; padding:0 26px; min-height:50px; }
  .m3btn:hover { background:#2F5F5D; }
  .m3wave { position:absolute; left:0; right:0; bottom:-1px; width:100%; height:clamp(28px, 6vh, 60px); z-index:2; }
  .m3band { position:relative; flex:0 0 auto; color:var(--ivory); padding:clamp(28px, 5vh, 56px) 0 clamp(40px, 7vh, 72px); overflow:hidden; }
  .m3lines { position:absolute; left:0; right:0; bottom:0; width:100%; height:clamp(50px, 10vh, 110px); fill:none; stroke:rgba(244,240,231,.12); stroke-width:1.2; pointer-events:none; }
  .m3cols { position:relative; display:grid; grid-template-columns:repeat(4, 1fr); }
  .m3col { display:flex; flex-direction:column; align-items:flex-start; gap:clamp(8px, 1.4vh, 14px); padding:0 32px; border-left:1px solid rgba(244,240,231,.18); color:var(--ivory); }
  .m3col:first-child { border-left:0; padding-left:0; }
  .m3col:hover { color:var(--ivory); } .m3col:hover .lm { color:var(--sand); }
  .m3col .ic { width:clamp(50px, 7vh, 66px); height:clamp(50px, 7vh, 66px); border-radius:50%; border:1.2px solid var(--sand); display:inline-flex; align-items:center; justify-content:center; margin-bottom:clamp(4px, 1vh, 10px); }
  .m3col .ic svg { width:clamp(22px, 3vh, 28px); height:clamp(22px, 3vh, 28px); fill:none; stroke:var(--sand); stroke-width:1.3; stroke-linecap:round; stroke-linejoin:round; }
  .m3col b { font-family:var(--serif); font-weight:500; font-size:clamp(22px, 3.2vh, 30px); line-height:1; }
  .m3col .d { font-size:clamp(13px, 1.7vh, 16px); line-height:1.55; color:rgba(244,240,231,.85); }
  .m3col .lm { display:inline-flex; align-items:center; gap:8px; font-size:clamp(13px, 1.6vh, 15px); font-weight:500; margin-top:clamp(6px, 1.4vh, 14px); transition:color .2s; }
  @media (max-width:1000px) { .m3cols { grid-template-columns:1fr 1fr; gap:32px 0; } .m3col:nth-child(3) { border-left:0; padding-left:0; } }
  @media (max-width:900px) { .mission3 { min-height:0; } .m3img { position:relative; width:100%; height:44vw; min-height:240px; -webkit-mask-image:none; mask-image:none; background-position:center; } .m3top { flex-direction:column; align-items:stretch; } .m3top .wrap { padding:36px 0 70px; } }
  @media (max-width:600px) { .m3cols { grid-template-columns:1fr; } .m3col { border-left:0; padding:0; } }

  /* mission slide tuning */
  .mission3 { height:100vh; height:100svh; min-height:600px; }
  .m3img { width:70%; background-position:left center; -webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.7) 7%, #000 14%); mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.7) 7%, #000 14%); }
  .m3top .wrap { width:calc(100% - 2 * clamp(24px, 7.5vw, 126px)); max-width:none; margin:0; margin-left:clamp(24px, 7.5vw, 126px); padding:clamp(24px, 5vh, 56px) 0 clamp(56px, 9vh, 96px); }
  .m3text { max-width:min(470px, 30vw); }
  .m3eye { font-size:clamp(11px, 1.3vh, 13px); }
  .m3text h2 { font-size:clamp(28px, 4.6vh, 46px); line-height:1.1; margin-top:clamp(12px, 2vh, 20px); }
  .m3text p { font-size:clamp(13px, 1.65vh, 15px); line-height:1.6; margin-top:clamp(10px, 2vh, 18px); max-width:420px; }
  .m3btn { min-height:clamp(40px, 5vh, 48px); padding:0 22px; font-size:13px; margin-top:clamp(14px, 2.6vh, 26px); }
  .m3band { padding:clamp(22px, 4vh, 44px) 0 clamp(30px, 6vh, 60px); }
  .m3band .wrap { width:calc(100% - 2 * clamp(24px, 7.5vw, 126px)); max-width:none; margin:0 auto; }
  .m3col { padding:0 24px; }
  .m3col .ic { width:clamp(44px, 6.4vh, 60px); height:clamp(44px, 6.4vh, 60px); }
  .m3col b { font-size:clamp(20px, 2.9vh, 28px); }
  .m3col .d { font-size:clamp(12px, 1.55vh, 15px); }
  .m3col .lm { font-size:clamp(12px, 1.5vh, 14px); }
  @media (max-width:1200px) { .m3text { max-width:min(420px, 38vw); } .m3img { width:62%; } }
  @media (max-width:900px) { .mission3 { height:auto; min-height:0; } .m3text { max-width:none; } .m3top .wrap { width:calc(100% - 48px); margin:0 auto; } }

  /* === Mission slide v2 === */
  .mission3 { height:100vh; height:100svh; min-height:600px; background:#12362B; }
  .m3top { background:#EFEBE1; }
  .m3img { position:absolute; top:0; right:0; bottom:0; width:64%; -webkit-mask-image:none; mask-image:none; }
  .m3img .p { position:absolute; top:0; bottom:0; background-size:cover; background-position:center; }
  .m3img .p1 { left:0; width:40%; background-position:center top; -webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.75) 16%, #000 32%); mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.75) 16%, #000 32%); }
  .m3img .p2 { left:34%; width:36%; clip-path:polygon(16% 0, 100% 0, 84% 100%, 0 100%); }
  .m3img .p3 { left:63%; width:37%; clip-path:polygon(16% 0, 100% 0, 100% 100%, 0 100%); background-position:center 40%; }
  .m3top .wrap { padding:clamp(24px, 5vh, 60px) 0 clamp(24px, 5vh, 60px); }
  .m3text { max-width:min(500px, 33vw); }
  .m3brand { display:inline-flex; align-items:center; gap:18px; color:var(--forest); }
  .m3brand svg { width:clamp(30px, 4.6vh, 44px); height:auto; }
  .m3brand span { font-family:var(--serif); font-size:clamp(18px, 2.9vh, 28px); letter-spacing:.24em; text-transform:uppercase; font-weight:500; }
  .m3rule { display:block; width:150px; height:1.5px; background:#C99A32; margin:clamp(8px, 1.4vh, 14px) 0 clamp(14px, 2.6vh, 26px); }
  .m3text h2 { font-size:clamp(26px, 4.2vh, 42px); line-height:1.15; margin:0; }
  .m3text p { max-width:460px; font-size:clamp(13px, 1.7vh, 16px); }
  .m3band { padding:clamp(22px, 4.2vh, 46px) 0 clamp(36px, 8vh, 80px); }
  .m3lines { stroke:rgba(216,168,62,.35); }
  .m3col .ic { border-color:#C9A65A; }
  .m3col .ic svg { stroke:#C9A65A; }
  .m3col b.stmt2 { font-size:clamp(17px, 2.4vh, 23px); line-height:1.3; }
  @media (max-width:1200px) { .m3img { width:58%; } }
  @media (max-width:900px) { .m3img { position:relative; width:100%; height:44vw; min-height:240px; } .m3img .p1 { width:34%; } .m3img .p2 { left:30%; width:36%; } .m3img .p3 { left:62%; width:38%; } }

  /* match reference: boy overlaps turtle softly, single hard diagonal, leaf line-art */
  .m3img .p1 { z-index:2; width:44%; -webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.8) 14%, #000 28%, #000 78%, rgba(0,0,0,.6) 90%, rgba(0,0,0,0) 100%); mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.8) 14%, #000 28%, #000 78%, rgba(0,0,0,.6) 90%, rgba(0,0,0,0) 100%); }
  .m3img .p2 { left:30%; width:40%; clip-path:polygon(0 0, 100% 0, 88% 100%, 0 100%); z-index:1; }
  .m3img .p3 { left:64%; width:36%; clip-path:polygon(14% 0, 100% 0, 100% 100%, 0 100%); z-index:1; }
  .m3leafart { position:absolute; pointer-events:none; height:clamp(140px, 30vh, 260px); width:auto; }
  .m3leafart.l { left:-6px; top:4%; color:rgba(24,53,43,.16); }
  .m3leafart.b { left:-6px; bottom:0; color:rgba(216,168,62,.28); transform:scaleY(-1); }
  .m3text { max-width:min(500px, 34vw); }
  .m3top .wrap { margin-left:clamp(24px, 5vw, 84px); width:calc(100% - clamp(24px, 5vw, 84px)); }
  .m3band .wrap { width:calc(100% - 2 * clamp(24px, 6vw, 100px)); }
  .nav:not(.over) nav a.current { border-bottom:1.5px solid var(--forest); color:var(--forest); padding-bottom:6px; }
  .nav .btn svg { transition:transform .25s; } .nav .btn:hover svg { transform:translateX(3px); }

  .m3img.one { width:64.6%; background-size:cover; background-position:right center; -webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.85) 5%, #000 10%); mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.85) 5%, #000 10%); }
  @media (max-width:900px) { .m3img.one { position:relative; width:100%; height:46vw; min-height:240px; -webkit-mask-image:none; mask-image:none; } }

  .slideimg { position:relative; background:#12362B; line-height:0; }
  .slideimg img { display:block; width:100%; height:auto; }
  .slideimg .hot { position:absolute; display:block; border-radius:6px; }
  .slideimg .hot:focus-visible { outline:2px solid var(--gold); }
  @media (min-width:1100px) { .slideimg { height:100svh; overflow:hidden; } .slideimg img { width:100%; height:100%; object-fit:cover; object-position:center; } }

  /* ===== Section 2 — measured from the 1673x848 reference (1vh = 8.48px, 1vw = 16.73px) ===== */
  .sec2 { --s2h: 100svh; height:100vh; height:var(--s2h); display:grid; grid-template-rows:59fr 41fr; background:#12362B; color:var(--forest); }
  .s2-top { position:relative; background:#EFEBE1; overflow:hidden; }
  .s2-img { position:absolute; top:0; right:0; bottom:0; width:64.6%; background-size:cover; background-position:right center; -webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.9) 4%, #000 9%); mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.9) 4%, #000 9%); }
  .s2-text { position:absolute; left:5vw; top:10.9vh; width:29vw; display:flex; flex-direction:column; align-items:flex-start; z-index:1; }
  .s2-brand { display:flex; align-items:center; gap:1.5vw; }
  .s2-brand .mark { width:3.4vw; height:3.9vw; display:inline-flex; color:var(--forest); } .s2-brand .mark svg { width:100%; height:100%; }
  .s2-brand .name { font-family:var(--serif); font-size:2.85vh; letter-spacing:.3em; text-transform:uppercase; font-weight:500; line-height:1; }
  .s2-rule { display:block; width:4.5vw; height:2px; background:#C99A32; margin:1.2vh 0 0 4.9vw; }
  .s2-text h2 { font-family:var(--serif); font-weight:500; font-size:4.75vh; line-height:1.1; letter-spacing:-.01em; margin:3.3vh 0 0; color:var(--forest); }
  .s2-text p { font-size:2vh; line-height:1.5; color:#3d4a45; margin:3vh 0 0; max-width:27vw; }
  .s2-btn { display:inline-flex; align-items:center; gap:1.2vw; height:6.7vh; padding:0 1.9vw; margin-top:4vh; background:#12362B; color:#F4F0E7; border-radius:999px; font-size:1.9vh; font-weight:500; transition:background .25s, transform .25s; }
  .s2-btn svg { width:1.1vw; height:auto; transition:transform .25s; }
  .s2-btn:hover { background:#1F5243; color:#F4F0E7; transform:translateY(-1px); } .s2-btn:hover svg { transform:translateX(3px); }
  .s2-leafart { position:absolute; pointer-events:none; }
  .s2-leafart svg { width:100%; height:100%; }
  .s2-leafart.a { left:-0.4vw; top:0; width:8vw; height:26vh; color:rgba(24,53,43,.14); }
  .s2-leafart.b { left:-0.4vw; bottom:0; width:8vw; height:30vh; color:rgba(216,168,62,.32); transform:scaleY(-1); }
  .s2-band { position:relative; overflow:hidden; color:#F4F0E7; }
  .s2-waves { position:absolute; left:0; right:0; bottom:0; width:100%; height:10.6vh; fill:none; stroke:rgba(216,168,62,.45); stroke-width:1.3; pointer-events:none; }
  .s2-cols { position:absolute; left:9.9vw; right:0; top:5.2vh; display:grid; grid-template-columns:22.4vw 23.2vw 22.7vw 1fr; }
  .s2-col { position:relative; display:flex; flex-direction:column; align-items:flex-start; color:#F4F0E7; padding-right:2vw; }
  .s2-col + .s2-col::before { content:""; position:absolute; left:-5.7vw; top:0; height:21.5vh; border-left:1px solid rgba(244,240,231,.22); }
  .s2-col .ic { width:7.5vh; height:7.5vh; border-radius:50%; border:1.3px solid #C9A65A; display:inline-flex; align-items:center; justify-content:center; }
  .s2-col .ic svg { width:3.6vh; height:3.6vh; fill:none; stroke:#C9A65A; stroke-width:1.3; stroke-linecap:round; stroke-linejoin:round; }
  .s2-col b { font-family:var(--serif); font-weight:500; font-size:3.5vh; line-height:1.1; margin-top:3.6vh; }
  .s2-col b.stmt { font-size:2.6vh; line-height:1.3; max-width:19vw; }
  .s2-col .d { font-size:1.9vh; line-height:1.55; color:rgba(244,240,231,.9); margin-top:1.6vh; }
  .s2-col:hover { color:#F4F0E7; } .s2-col:hover .ic { background:rgba(201,166,90,.12); }
  @media (max-width:1100px) {
    .sec2 { height:auto; display:block; }
    .s2-top { padding:40px 24px 0; }
    .s2-img { position:relative; width:100%; height:48vw; min-height:220px; -webkit-mask-image:none; mask-image:none; margin-top:24px; }
    .s2-text { position:static; width:auto; }
    .s2-brand .mark { width:34px; height:40px; } .s2-brand .name { font-size:20px; letter-spacing:.24em; }
    .s2-rule { width:72px; margin:10px 0 0 50px; }
    .s2-text h2 { font-size:clamp(28px, 5vw, 40px); margin-top:20px; }
    .s2-text p { font-size:16px; max-width:none; margin-top:18px; }
    .s2-btn { height:52px; padding:0 26px; font-size:15px; margin-top:26px; gap:12px; } .s2-btn svg { width:16px; }
    .s2-leafart { display:none; }
    .s2-cols { position:static; display:grid; grid-template-columns:1fr 1fr; gap:36px 24px; padding:40px 24px 72px; }
    .s2-col + .s2-col::before { display:none; }
    .s2-col .ic { width:60px; height:60px; } .s2-col .ic svg { width:28px; height:28px; }
    .s2-col b { font-size:26px; margin-top:22px; } .s2-col b.stmt { font-size:20px; max-width:none; } .s2-col .d { font-size:15px; }
    .s2-waves { height:70px; }
  }
  @media (max-width:560px) { .s2-cols { grid-template-columns:1fr; } }

  /* s2 fixes: no shadow at photo edge, cleaner leaves, safe column widths */
  .s2-img { width:64.2%; -webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0%, #000 8%); mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0%, #000 8%); }
  .s2-leafart.a { left:0.6vw; top:2vh; width:4.2vw; height:24vh; color:rgba(24,53,43,.22); transform:none; }
  .s2-leafart.b { left:0.6vw; bottom:1vh; width:4.2vw; height:26vh; color:rgba(216,168,62,.5); transform:scaleX(-1) rotate(180deg); transform-origin:center; }
  .s2-text { left:5.2vw; }
  .s2-cols { left:8.6vw; right:3vw; grid-template-columns:21.5vw 22vw 21.5vw 1fr; }
  .s2-col + .s2-col::before { left:-5.2vw; }
  .s2-col b.stmt { max-width:none; font-size:2.5vh; }
  .s2-col .d { font-size:1.8vh; }

  /* ===== Section 2 v3 — measured from 1674x848 reference ===== */
  .sec2 { grid-template-rows:59.6fr 40.4fr; }
  .s2-top { background:#F1EDE4; }
  .s2-img { width:63.1%; -webkit-mask-image:none; mask-image:none; background-position:right center; }
  .s2-text { left:7.5vw; top:9.8vh; width:30vw; }
  .s2-eye { display:inline-flex; align-items:center; gap:1.1vw; font-size:1.75vh; letter-spacing:.3em; text-transform:uppercase; font-weight:600; color:var(--forest); }
  .s2-eye i { display:block; width:7vw; height:1px; background:var(--forest); opacity:.75; }
  .s2-text h2 { font-size:5.9vh; line-height:1.15; margin-top:3.2vh; letter-spacing:-.005em; }
  .s2-text p { font-size:2vh; line-height:1.45; margin-top:3vh; max-width:25vw; }
  .s2-btn { height:5.7vh; padding:0 1.4vw; margin-top:3.8vh; font-size:1.85vh; gap:.9vw; background:#12362B; }
  .s2-wave { position:absolute; left:0; right:0; bottom:-1px; width:100%; height:4.5vh; z-index:3; }
  .s2-leafart.a { left:0.4vw; top:auto; bottom:0; width:4vw; height:20vh; color:rgba(24,53,43,.28); transform:none; }
  .s2-leafart.b { left:0.4vw; bottom:0; width:4vw; height:26vh; color:rgba(244,240,231,.22); transform:none; }
  .s2-cols { left:11.1vw; right:2vw; top:5.6vh; grid-template-columns:22.7vw 22.8vw 22.8vw 1fr; }
  .s2-col + .s2-col::before { left:-5.7vw; top:0; height:22vh; border-left:1px solid rgba(244,240,231,.2); }
  .s2-col .ic { width:7.8vh; height:7.8vh; border-color:#C9A65A; }
  .s2-col b { font-size:3.5vh; margin-top:3.4vh; }
  .s2-col .d { font-size:1.9vh; line-height:1.5; margin-top:1.4vh; }
  .s2-col .lm { display:inline-flex; align-items:center; gap:.6vw; font-size:1.75vh; font-weight:500; margin-top:3vh; color:#F4F0E7; transition:color .2s; }
  .s2-col .lm svg { width:1vw; height:auto; transition:transform .25s; }
  .s2-col:hover .lm { color:#C9A65A; } .s2-col:hover .lm svg { transform:translateX(3px); }
  .s2-waves { stroke:rgba(244,240,231,.12); }
  @media (max-width:1100px) {
    .s2-eye { font-size:12px; } .s2-eye i { width:80px; }
    .s2-wave { display:none; }
    .s2-col .lm { font-size:14px; margin-top:16px; } .s2-col .lm svg { width:14px; }
  }

  .s2-img { width:64.2%; -webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0%, #000 8%); mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0%, #000 8%); }

  /* s2 spacing without the paragraph: centre the block vertically in the cream area */
  .s2-text { top:0; bottom:0; justify-content:center; width:32vw; }
  .s2-text h2 { margin-top:3.6vh; font-size:6.2vh; }
  .s2-btn { margin-top:4.6vh; }
  @media (max-width:1100px) { .s2-text { width:auto; } .s2-text h2 { margin-top:20px; } .s2-btn { margin-top:26px; } }

  .s2-img { width:60.8%; -webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0%, #000 6%); mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0%, #000 6%); }
  .s2-text { width:30vw; }
  .s2-text h2 { font-size:5.8vh; }
  .s2-wave { height:3.2vh; }
  .s2-leafart.a { width:3.4vw; height:17vh; bottom:0; color:rgba(24,53,43,.3); }
  .s2-leafart.b { width:3.4vw; height:20vh; color:rgba(244,240,231,.26); }

  /* s2 polish */
  .s2-eye .mk { width:2.6vw; height:3vw; display:inline-flex; margin-right:.2vw; } .s2-eye .mk svg { width:100%; height:100%; }
  .s2-eye { gap:1.2vw; font-size:2.2vh; letter-spacing:.32em; font-weight:500; font-family:var(--serif); }
  .s2-rule { display:block; width:4.6vw; height:2px; background:#C99A32; margin:1.3vh 0 0 4vw; }
  .s2-text { width:36vw; left:5vw; }
  .s2-text h2 { font-size:4.7vh; line-height:1.18; margin-top:3vh; max-width:34vw; }
  .s2-btn { margin-top:4vh; }
  .s2-leafart.a { left:-1vw; top:auto; bottom:-2vh; width:11vw; height:38vh; color:rgba(24,53,43,.09); transform:none; }
  .s2-leafart.a2 { position:absolute; left:1.2vw; top:2vh; width:3vw; height:15vh; color:rgba(24,53,43,.28); pointer-events:none; }
  .s2-leafart.a2 svg { width:100%; height:100%; }
  .s2-leafart.b { left:.6vw; bottom:0; width:4.4vw; height:30vh; color:rgba(216,168,62,.42); }
  .s2-leafart.b2 { position:absolute; left:3.4vw; bottom:-4vh; width:3vw; height:20vh; color:rgba(216,168,62,.28); transform:rotate(18deg); pointer-events:none; }
  .s2-leafart.b2 svg { width:100%; height:100%; }
  .s2-waves { stroke:rgba(216,168,62,.4); }
  @media (max-width:1100px) { .s2-eye .mk { width:26px; height:30px; } .s2-eye { font-size:16px; } .s2-rule { width:70px; margin-left:40px; } .s2-text h2 { max-width:none; } .s2-leafart.a2, .s2-leafart.b2 { display:none; } }

  /* no CSS fade over the photo (edge is already blended in the file) */
  .s2-img { -webkit-mask-image:none !important; mask-image:none !important; width:61.5%; }
  /* band content pulled up, tighter */
  .s2-cols { top:3.6vh; }
  .s2-col .ic { width:7vh; height:7vh; }
  .s2-col b { margin-top:2.6vh; font-size:3.3vh; }
  .s2-col .d { margin-top:1.1vh; font-size:1.85vh; }
  .s2-col .lm { margin-top:2.2vh; }
  .s2-col + .s2-col::before { height:20vh; }
  .s2-waves { height:8vh; }

  /* photo exactly as in the reference: no blend, no mask, foliage intact */
  .s2-img { width:65.7%; -webkit-mask-image:none !important; mask-image:none !important; background-position:right center; }
  .s2-text { width:33vw; }
  .s2-text h2 { max-width:32vw; }

  /* soften only the outer strip of foliage (head starts at ~10% of the image and stays untouched) */
  .s2-img { -webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.55) 4%, #000 8%) !important; mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.55) 4%, #000 8%) !important; }

  /* keep the head clear of the feathered edge on every aspect ratio; raise the band */
  .s2-img { background-position:left center !important; }
  .sec2 { grid-template-rows:56fr 44fr; }
  .s2-cols { top:4.2vh; }

  /* very narrow feather: foliage beside the head stays visible */
  .s2-img { -webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0%, #000 2.5%) !important; mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0%, #000 2.5%) !important; }

  /* synchronised columns: equal tracks, fixed rows, aligned "Learn more" */
  .s2-cols { top:3vh; left:9vw; right:4vw; grid-template-columns:repeat(4, 1fr); column-gap:4vw; }
  .s2-col { height:31vh; padding-right:0; }
  .s2-col + .s2-col::before { left:-2vw; height:31vh; }
  .s2-col .ic { width:6.6vh; height:6.6vh; flex:0 0 auto; }
  .s2-col b { margin-top:2.4vh; font-size:3.1vh; line-height:1.1; min-height:3.4vh; }
  .s2-col .d { margin-top:1vh; font-size:1.8vh; line-height:1.45; min-height:5.3vh; }
  .s2-col .lm { margin-top:auto; font-size:1.7vh; }
  .s2-waves { height:7vh; }
  @media (max-width:1100px) { .s2-col { height:auto; } .s2-col .lm { margin-top:16px; } }

  .s2-col { height:auto; }
  .s2-col + .s2-col::before { height:24vh; }
  .s2-col .lm { margin-top:2.2vh; }

  /* ===== every home section as one viewport slide ===== */
  .slide { height:100vh; height:100svh; display:flex; flex-direction:column; overflow:hidden; }
  .slide > section { flex:0 0 auto; }
  /* slide 3: stories of courage */
  .slide3 .work2 { flex:1 1 auto; display:flex; align-items:center; padding:0; }
  .slide3 .work2 .wrap { display:flex; flex-direction:column; gap:3vh; }
  .slide3 .work2 .top { margin-bottom:0; }
  .slide3 .work2 h2 { font-size:4.6vh; }
  .slide3 .eyebrow { font-size:1.4vh; margin-bottom:1.6vh; }
  .slide3 .dcard .img { min-height:22vh; } .slide3 .dcard .body { padding:2.6vh 2vw; gap:1vh; }
  .slide3 .dcard .t { font-size:2.8vh; } .slide3 .dcard .q { font-size:1.75vh; } .slide3 .dcard .tlink { font-size:1.3vh; } .slide3 .dcard .pager { font-size:1.3vh; padding-top:1.4vh; }
  .slide3 .panel { min-height:30vh; padding:3vh 2vw; }
  .slide3 .panel .t { font-size:2.9vh; } .slide3 .panel .d { font-size:1.6vh; } .slide3 .panel .tlink { font-size:1.3vh; }
  /* slide 4: impact + film strip */
  .slide4 .impact2 { flex:0 0 52%; padding:0; display:flex; align-items:center; }
  .slide4 .impact2 h2 { font-size:4.6vh; margin-bottom:4vh; }
  .slide4 .impact2 .stat .n { font-size:4.4vh; } .slide4 .impact2 .stat .l { font-size:1.6vh; }
  .slide4 .strip { flex:1 1 auto; min-height:0; }
  .slide4 .film { height:100%; } .slide4 .film > div { min-height:0; height:100%; }
  .slide4 .chain2 { padding:0 3vw; justify-content:center; font-size:1.25vh; } .slide4 .chain2 i { height:2vh; margin:.8vh 0; }
  /* slide 5: purpose + SDGs */
  .slide5 .purpose2 { flex:1 1 auto; display:flex; align-items:center; padding:0; }
  .slide5 .purpose2 h2 { font-size:4.2vh; } .slide5 .purpose2 .tlink { font-size:1.3vh; margin-top:2vh; }
  .slide5 .pl svg { width:3.4vh; height:3.4vh; } .slide5 .pl b { font-size:1.6vh; } .slide5 .pl span { font-size:1.35vh; }
  .slide5 .sdg2 { flex:0 0 44%; min-height:0; }
  .slide5 .sdg2 .body { padding:0 4vw; align-items:center; }
  .slide5 .sdg2 h2 { font-size:3.4vh; } .slide5 .sdg2 .eyebrow { font-size:1.3vh; margin-bottom:1.2vh; }
  .slide5 .sdg2 .goal .ring { width:7vh; height:7vh; flex-basis:7vh; font-size:2.4vh; } .slide5 .sdg2 .goal .t { font-size:1.3vh; }
  /* slide 6: stories + partners */
  .slide6 .stories2 { flex:1 1 auto; display:flex; align-items:center; padding:0; min-height:0; }
  .slide6 .stories2 .wrap { width:min(1312px, 100% - 48px); }
  .slide6 .stories2 .sh { margin-bottom:2.4vh; } .slide6 .stories2 .sh h2 { font-size:4vh; } .slide6 .eyebrow { font-size:1.3vh; margin-bottom:1.2vh; }
  .slide6 .stories2 .s2 .img { aspect-ratio:3/2; max-height:34vh; }
  .slide6 .stories2 .s2 .h { font-size:1.9vh; } .slide6 .stories2 .s2 .m { font-size:1.35vh; } .slide6 .stories2 .s2 .chip { font-size:1.1vh; padding:.8vh 1vw; }
  .slide6 .partners2 { flex:0 0 auto; padding:2.6vh 0; }
  .slide6 .partners2 h2 { font-size:2.6vh; } .slide6 .partners2 .names span { font-size:2vh; }
  /* slide 7: get involved + footer inside one screen */
  .slide7 .involved2 { flex:1 1 auto; display:flex; align-items:center; padding:0; }
  .slide7 { height:auto; min-height:70vh; }
  .slide7 .involved2 h2 { font-size:5.2vh; } .slide7 .involved2 ul { font-size:1.8vh; gap:.8vh; } .slide7 .involved2 .small { font-size:1.3vh; }
  @media (max-width:1100px) { .slide { height:auto; overflow:visible; display:block; } }
  /* ===== one-page structure ===== */
  html { scroll-behavior:smooth; }
  body { padding-top:0; }
  .hero3-cta { display:flex; align-items:center; gap:14px; margin-top:clamp(16px,3.2vh,34px); flex-wrap:wrap; }
  .hero3-cta .gbtn { margin-top:0; }
  .hero3-ghost { min-height:clamp(42px,5.4vh,50px); border-radius:2px; font-size:clamp(11px,1.3vh,12px); letter-spacing:1.2px; text-transform:uppercase; padding:0 clamp(20px,2.2vw,30px); }
  .hero3 .stmt { font-size:clamp(20px,3vh,28px); max-width:30vw; }
  .hero3 .sub { max-width:29vw; }
  .about { justify-content:center; background:var(--ivory); }
  .about-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(32px,6vw,96px); align-items:center; }
  .about-text { display:flex; flex-direction:column; align-items:flex-start; }
  .about-text h2 { font-size:clamp(34px,5vh,54px); line-height:1.08; }
  .about-text .lead { font-size:clamp(17px,2.2vh,21px); line-height:1.55; color:var(--forest); margin-top:2.6vh; font-family:var(--serif); }
  .about-text p:not(.lead) { font-size:clamp(14px,1.8vh,17px); line-height:1.65; color:var(--ink-2); margin-top:1.8vh; max-width:52ch; }
  .about-text .tlink { margin-top:3.2vh; }
  .report { display:grid; grid-template-columns:1fr 1.15fr; border:1px solid var(--line); background:#fff; color:var(--ink); border-radius:4px; overflow:hidden; }
  .report .ph { min-height:34vh; background-size:cover; background-position:center; }
  .report-body { padding:clamp(20px,3.4vh,36px) clamp(20px,2vw,32px); display:flex; flex-direction:column; gap:1.2vh; }
  .report .t { font-family:var(--serif); font-size:clamp(22px,3vh,30px); line-height:1.15; color:var(--forest); }
  .report .d { font-size:clamp(13px,1.6vh,15px); line-height:1.55; color:var(--ink-2); }
  .report .tlink { font-size:12px; margin-top:auto; padding-top:1.4vh; }
  .report:hover { color:var(--ink); } .report:hover .t { color:var(--ocean); }
  .blog, .projects, .partners { justify-content:center; background:var(--ivory); }
  .blog .sh, .projects .sh { align-items:flex-end; margin-bottom:3vh; }
  .blog .sh h2, .projects .sh h2, .partners h2 { font-size:clamp(32px,4.6vh,50px); line-height:1.08; }
  .blog-intro { font-size:clamp(14px,1.7vh,16px); line-height:1.6; color:var(--ink-2); max-width:44ch; margin:0; }
  .blog-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
  .blog .s2 .img { aspect-ratio:4/3; max-height:30vh; }
  .blog .s2 .h { font-size:clamp(15px,1.9vh,18px); }
  .blog .s2 .m { display:inline-flex; gap:8px; align-items:center; color:var(--forest); font-weight:600; letter-spacing:.12em; text-transform:uppercase; font-size:11px; }
  .blog .center { text-align:center; margin-top:3.6vh; }
  .blog .center .btn { gap:10px; }
  .cats { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:2.6vh; }
  .cats span { font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--forest); border:1px solid var(--line); border-radius:999px; padding:8px 14px; }
  .proj-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
  .proj-grid .pcard .ph { aspect-ratio:4/3; max-height:28vh; background-size:cover; background-position:center; }
  .proj-grid .pcard .h { font-size:clamp(18px,2.4vh,24px); }
  .proj-grid .pcard .d { font-size:clamp(13px,1.6vh,15px); }
  .partners-grid { display:grid; grid-template-columns:1fr 1.3fr; gap:clamp(32px,6vw,96px); align-items:center; }
  .partners .lead { font-family:var(--serif); font-size:clamp(17px,2.2vh,21px); color:var(--forest); line-height:1.5; margin-top:2.4vh; }
  .partners p:not(.lead) { font-size:clamp(14px,1.8vh,17px); color:var(--ink-2); margin-top:1.6vh; }
  .logos { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
  .logos .slot { min-height:12vh; border:1px solid var(--line); border-radius:4px; background:#fff; display:flex; align-items:center; justify-content:center; text-align:center; padding:12px; font-family:var(--serif); font-size:clamp(15px,2vh,19px); color:var(--forest); transition:border-color .2s, color .2s; }
  .logos a.slot:hover { border-color:var(--ocean); color:var(--ocean); }
  .logos .become { background:var(--forest); color:var(--ivory); border-color:var(--forest); font-family:var(--sans); font-size:14px; font-weight:600; gap:10px; }
  .logos .become:hover { background:var(--ocean); color:var(--ivory); border-color:var(--ocean); }
  .involved2 .serif-note { font-family:var(--serif); font-style:italic; font-size:clamp(18px,2.4vh,24px); color:var(--sand); margin:0 0 3vh; }
  .involved2 .cta-row { display:flex; gap:14px; flex-wrap:wrap; }
  .involved2 h2 { font-size:clamp(38px,5.4vh,64px); }
  .involved2 p { margin:2.4vh 0 2vh; }
  .slide.involved2 { height:auto; min-height:80vh; justify-content:center; }
  .nav.over { background:transparent; }
  @media (max-width:1100px) {
    .about-grid, .partners-grid { grid-template-columns:1fr; }
    .blog-grid, .proj-grid { grid-template-columns:repeat(2,1fr); }
    .hero3 .stmt, .hero3 .sub { max-width:none; }
    .blog .sh, .projects .sh { flex-direction:column; align-items:flex-start; }
    .slide { padding:64px 0; }
  }
  @media (max-width:600px) { .blog-grid, .proj-grid, .logos { grid-template-columns:1fr; } .report { grid-template-columns:1fr; } }

  /* ===== About Us cards ===== */
  .about .wrap { display:flex; flex-direction:column; }
  .about-head h2 { font-size:clamp(34px,5vh,54px); line-height:1.08; margin-top:.6vh; }
  .about-cards { display:grid; grid-template-columns:1.05fr 1fr; gap:24px; margin-top:3.4vh; }
  .acard { background:#fff; border:1px solid var(--line); border-radius:6px; padding:clamp(22px,3.6vh,36px) clamp(22px,2.2vw,36px); display:flex; flex-direction:column; }
  .acard-eye { font-size:12px; letter-spacing:.16em; text-transform:uppercase; font-weight:600; color:var(--ocean); margin-bottom:1.6vh; }
  .acard .lead { font-family:var(--serif); font-size:clamp(19px,2.5vh,24px); line-height:1.4; color:var(--forest); margin:0; }
  .acard p:not(.lead) { font-size:clamp(14px,1.75vh,16px); line-height:1.65; color:var(--ink-2); margin:1.8vh 0 0; }
  .pill-row { display:flex; gap:8px; flex-wrap:wrap; margin-top:auto; padding-top:2.4vh; }
  .pill-row span { font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--forest); border:1px solid var(--line); border-radius:999px; padding:7px 12px; }
  .report2 { padding:0; overflow:hidden; display:grid; grid-template-columns:1fr 1.2fr; }
  .report2 .rimg { position:relative; background-size:cover; background-position:center; min-height:26vh; }
  .report2 .chip { position:absolute; left:0; bottom:0; background:var(--ivory); color:var(--forest); font-size:10px; letter-spacing:.14em; text-transform:uppercase; font-weight:600; padding:8px 12px; }
  .report2 .rbody { padding:clamp(20px,3vh,32px) clamp(20px,2vw,30px); display:flex; flex-direction:column; }
  .report2 .t { font-family:var(--serif); font-size:clamp(22px,3vh,30px); color:var(--forest); line-height:1.1; }
  .report2 p { font-size:clamp(13px,1.6vh,15px); line-height:1.55; color:var(--ink-2); margin:1.4vh 0 2vh; }
  .btn.dl { gap:10px; align-self:flex-start; min-height:46px; margin-top:auto; }
  .about-cta { display:flex; align-items:center; gap:28px; margin-top:3.4vh; flex-wrap:wrap; }
  .btn.big { gap:12px; min-height:54px; padding:0 30px; font-size:15px; }
  /* blog card extras */
  .blog .s2 .meta { font-size:12px; color:var(--ink-3); }
  .blog .s2 .desc { font-size:clamp(13px,1.5vh,14px); line-height:1.5; color:var(--ink-2); }
  /* get involved extras */
  .involved2 .opts { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin:-1vh 0 3vh; font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:rgba(244,240,231,.8); }
  .involved2 .opts i { color:var(--sand); font-style:normal; }
  .involved2 .btn-light { gap:10px; }
  /* ===== Learn More full-screen panel ===== */
  body.lm-lock { position:fixed; left:0; right:0; overflow:hidden; }
  .lm-overlay { position:fixed; inset:0; background:rgba(16,24,20,.5); z-index:60; opacity:0; transition:opacity .4s ease; }
  .lm-overlay.open { opacity:1; }
  .lm-panel { position:fixed; top:0; right:0; bottom:0; width:100%; z-index:70; background:var(--ivory); color:var(--ink); transform:translateX(100%); transition:transform .45s cubic-bezier(.22,1,.36,1); overflow-y:auto; overscroll-behavior:contain; }
  .lm-panel.open { transform:translateX(0); }
  .lm-head { position:sticky; top:0; z-index:2; display:flex; justify-content:space-between; align-items:center; height:84px; padding:0 clamp(24px,4vw,64px); background:rgba(244,240,231,.94); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
  .lm-head .logo { color:var(--forest); font-family:var(--serif); font-weight:600; letter-spacing:.06em; font-size:22px; line-height:1; display:flex; }
  .lm-head .logo small { font-size:12px; letter-spacing:.32em; font-weight:500; }
  .lm-close { width:48px; height:48px; border-radius:50%; border:1px solid var(--line); background:transparent; color:var(--forest); font-size:30px; line-height:1; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; transition:background .2s, color .2s; }
  .lm-close:hover { background:var(--forest); color:var(--ivory); }
  .lm-body { width:min(1240px, 100% - 48px); margin:0 auto; padding:clamp(40px,6vh,72px) 0 96px; display:flex; flex-direction:column; gap:clamp(48px,8vh,88px); }
  .lm-hero { display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,5vw,72px); align-items:center; }
  .lm-text h2 { font-size:clamp(48px,8vw,96px); line-height:.95; text-transform:uppercase; letter-spacing:-.01em; margin-top:.6vh; }
  .lm-text .lead { font-family:var(--serif); font-size:clamp(20px,2.4vw,26px); line-height:1.4; color:var(--forest); margin:28px 0 0; }
  .lm-text p:not(.lead) { font-size:17px; line-height:1.7; color:var(--ink-2); margin:18px 0 0; }
  .lm-img { min-height:clamp(320px,46vh,560px); border-radius:6px; background-size:cover; background-position:center; }
  .lm-story, .lm-mission { display:grid; grid-template-columns:1fr 1.6fr; gap:clamp(32px,5vw,72px); padding-top:clamp(32px,5vh,48px); border-top:1px solid var(--line); }
  .lm-story h3, .lm-mission h3, .lm-report h3 { font-size:clamp(28px,3vw,40px); line-height:1.12; margin-top:.4vh; }
  .lm-cols { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
  .lm-cols p, .lm-mission p { font-size:17px; line-height:1.7; color:var(--ink-2); margin:0; }
  .lm-principles { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
  .lm-principles .pr { border-top:1px solid var(--forest); padding-top:18px; display:flex; flex-direction:column; gap:8px; }
  .lm-principles b { font-family:var(--serif); font-weight:500; font-size:28px; color:var(--forest); }
  .lm-principles span { font-size:15px; line-height:1.55; color:var(--ink-2); }
  .lm-report { display:grid; grid-template-columns:1fr 1.3fr; background:#fff; border:1px solid var(--line); border-radius:6px; overflow:hidden; }
  .lm-rimg { min-height:320px; background-size:cover; background-position:center; }
  .lm-rbody { padding:clamp(28px,4vh,48px) clamp(24px,3vw,48px); display:flex; flex-direction:column; }
  .lm-rbody p { font-size:16px; line-height:1.65; color:var(--ink-2); margin:16px 0 28px; }
  @media (max-width:1100px) { .about-cards, .lm-hero, .lm-story, .lm-mission, .lm-report { grid-template-columns:1fr; } .lm-principles { grid-template-columns:1fr 1fr; } .lm-cols { grid-template-columns:1fr; } }
  .lm-reports-list { display:flex; flex-direction:column; align-items:flex-start; padding-top:8px; }
  .lm-reports-list .eyebrow { margin-bottom:10px; }
  .rl-row { display:grid; grid-template-columns:140px 1fr auto; column-gap:20px; align-items:center; width:100%; padding:16px 0; border-top:1px solid var(--line); color:var(--ink); font-size:15px; }
  .rl-row:last-of-type { border-bottom:1px solid var(--line); }
  .rl-row:hover { color:var(--ocean); }
  .rl-cat { font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-3); }
  .rl-t { font-family:var(--serif); font-size:18px; color:var(--forest); }
  .rl-row:hover .rl-t { color:var(--ocean); }
  .rl-d { font-size:13px; color:var(--ink-3); white-space:nowrap; }
  @media (max-width:700px) { .rl-row { grid-template-columns:1fr; row-gap:4px; } }
  @media (max-width:600px) { .report2 { grid-template-columns:1fr; } .lm-principles { grid-template-columns:1fr; } }
  @media (prefers-reduced-motion: reduce) { .lm-panel, .lm-overlay { transition:none; } }
  .slide.about { height:auto; min-height:100svh; overflow:visible; padding:clamp(48px,7vh,80px) 0; }

  .mv-row { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:24px; }
  .mvc { border-top:1px solid var(--forest); padding-top:14px; }
  .mvc p { font-size:clamp(14px,1.75vh,16px); line-height:1.6; color:var(--ink-2); margin:6px 0 0; }
  .lm-mv { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
  .lm-mv .mvc p { font-family:var(--serif); font-size:clamp(19px,2vw,24px); line-height:1.4; color:var(--forest); margin-top:10px; }
  .lm-prose { display:flex; flex-direction:column; gap:18px; }
  .lm-prose p { font-size:17px; line-height:1.7; color:var(--ink-2); margin:0; }
  .lm-link { color:var(--ocean); text-decoration:underline; text-underline-offset:3px; }
  .lm-quote { margin:8px 0 0; padding-left:22px; border-left:2px solid #C99A32; font-family:var(--serif); font-size:clamp(22px,2.2vw,28px); font-style:italic; line-height:1.35; color:var(--forest); }
  .lm-quote cite { display:block; font-family:var(--sans); font-style:normal; font-size:13px; color:var(--ink-3); margin-top:8px; }
  .lm-motto { font-size:13px !important; letter-spacing:.24em; text-transform:uppercase; font-weight:600; color:var(--forest) !important; }
  @media (max-width:700px) { .mv-row, .lm-mv { grid-template-columns:1fr; } }

  /* ===== About Us — editorial layout ===== */
  .slide.about { padding:clamp(48px,7vh,88px) 0; background:#F4F0E7; position:relative; }
  .ab-grid { display:grid; grid-template-columns:1.25fr 1fr; gap:clamp(32px,6vw,96px); align-items:start; }
  .ab-left h2 { font-size:clamp(36px,5.4vh,58px); line-height:1.06; margin-top:.4vh; max-width:14ch; }
  .ab-lead { font-family:var(--serif); font-size:clamp(20px,2.6vh,26px); line-height:1.4; color:var(--forest); margin:3vh 0 0; max-width:30ch; }
  .ab-p { font-size:clamp(14px,1.8vh,17px); line-height:1.7; color:var(--ink-2); margin:2vh 0 0; max-width:56ch; }
  .ab-defs { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:3.6vh; }
  .def { display:grid; grid-template-columns:auto auto; grid-template-rows:auto auto; column-gap:10px; align-items:baseline; padding-top:16px; border-top:2px solid #C99A32; }
  .def .w { font-family:var(--serif); font-size:clamp(26px,3.4vh,34px); color:var(--forest); font-weight:500; letter-spacing:.02em; }
  .def .pos { font-family:var(--serif); font-style:italic; font-size:14px; color:var(--ink-3); }
  .def .m { grid-column:1 / -1; font-size:clamp(13px,1.6vh,15px); line-height:1.55; color:var(--ink-2); margin-top:6px; }
  .rep3 { display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:8px; overflow:hidden; color:var(--ink); box-shadow:0 18px 50px rgba(24,53,43,.08); transition:transform .3s, box-shadow .3s; }
  .rep3:hover { transform:translateY(-3px); box-shadow:0 24px 60px rgba(24,53,43,.12); color:var(--ink); }
  .rep3 .rimg { position:relative; aspect-ratio:16/10; background-size:cover; background-position:center; }
  .rep3 .chip { position:absolute; left:0; bottom:0; background:var(--ivory); color:var(--forest); font-size:10px; letter-spacing:.14em; text-transform:uppercase; font-weight:600; padding:8px 12px; }
  .rep3 .yr { position:absolute; right:18px; top:14px; font-family:var(--serif); font-size:clamp(40px,6vh,64px); color:#fff; opacity:.9; line-height:1; text-shadow:0 2px 12px rgba(0,0,0,.35); }
  .rep3 .rbody { padding:clamp(20px,3vh,30px) clamp(20px,2vw,30px); display:flex; flex-direction:column; }
  .rep3 .t { font-family:var(--serif); font-size:clamp(24px,3.2vh,32px); color:var(--forest); line-height:1.1; }
  .rep3 p { font-size:clamp(13px,1.6vh,15px); line-height:1.55; color:var(--ink-2); margin:1.4vh 0 2.2vh; }
  .rep3 .dl { pointer-events:none; }
  .ab-mv { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:clamp(28px,4.4vh,48px); }
  .mvc2 { display:grid; grid-template-columns:auto 1fr; gap:20px; background:#12362B; color:var(--ivory); border-radius:8px; padding:clamp(20px,3vh,30px) clamp(20px,2.2vw,32px); }
  .mvc2 .num { font-family:var(--serif); font-size:clamp(28px,4vh,40px); color:#C9A65A; line-height:1; }
  .mvc2 .acard-eye { color:#C9A65A; margin-bottom:8px; display:block; }
  .mvc2 p { font-family:var(--serif); font-size:clamp(17px,2.2vh,21px); line-height:1.4; color:var(--ivory); margin:0; }
  .ab-quote { display:flex; justify-content:space-between; align-items:center; gap:32px; flex-wrap:wrap; margin-top:clamp(24px,4vh,40px); padding-top:clamp(20px,3vh,28px); border-top:1px solid var(--line); }
  .ab-quote blockquote { margin:0; font-family:var(--serif); font-size:clamp(20px,2.8vh,28px); font-style:italic; color:var(--forest); line-height:1.3; }
  .ab-quote cite { display:block; font-family:var(--sans); font-style:normal; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-3); margin-top:6px; }
  .ab-quote-r { display:flex; align-items:center; gap:28px; flex-wrap:wrap; }
  .ab-quote .motto { font-size:12px; letter-spacing:.24em; text-transform:uppercase; font-weight:600; color:var(--forest); }
  @media (max-width:1100px) { .ab-grid, .ab-mv, .ab-defs { grid-template-columns:1fr; } .ab-left h2 { max-width:none; } }

  /* ===== About Us — wow pass ===== */
  .slide.about { background:radial-gradient(ellipse at 85% 10%, rgba(62,119,117,.10) 0%, rgba(62,119,117,0) 45%), radial-gradient(ellipse at 0% 100%, rgba(201,154,50,.10) 0%, rgba(201,154,50,0) 40%), #F4F0E7; overflow:hidden; }
  .slide.about::before { content:"Since 2017"; position:absolute; right:-.4em; top:8vh; writing-mode:vertical-rl; font-family:var(--serif); font-size:clamp(14px,1.6vw,20px); letter-spacing:.4em; text-transform:uppercase; color:rgba(24,53,43,.18); pointer-events:none; }
  .ab-left h2 em { font-style:italic; color:#C99A32; font-weight:500; }
  .ab-grid { align-items:stretch; }
  .ab-right { display:flex; }
  .rep3 { width:100%; }
  .rep3 .rimg { aspect-ratio:auto; flex:1 1 auto; min-height:200px; }
  .rep3 .rimg::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,0) 40%, rgba(0,0,0,.35) 100%); }
  .rep3 .chip, .rep3 .yr { z-index:1; }
  .ab-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:3.6vh; padding-top:2.6vh; border-top:1px solid var(--line); }
  .ab-stats .n { font-family:var(--serif); font-size:clamp(30px,4.6vh,46px); color:var(--forest); line-height:1; display:block; font-variant-numeric:tabular-nums; }
  .ab-stats .l { font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-3); display:block; margin-top:8px; }
  .def { border-top:1px solid var(--line); position:relative; }
  .def::before { content:""; position:absolute; left:0; top:-1px; width:44px; height:2px; background:#C99A32; }
  .mvc2 { position:relative; overflow:hidden; transition:transform .3s, box-shadow .3s; }
  .mvc2::after { content:""; position:absolute; right:-40px; bottom:-60px; width:180px; height:180px; border-radius:50%; border:1px solid rgba(201,166,90,.25); pointer-events:none; }
  .mvc2:hover { transform:translateY(-3px); box-shadow:0 20px 50px rgba(18,54,43,.25); }
  .mvc2 .num { width:52px; height:52px; border-radius:50%; border:1px solid rgba(201,166,90,.6); display:inline-flex; align-items:center; justify-content:center; }
  .mvc2 .num svg { width:24px; height:24px; fill:none; stroke:#C9A65A; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
  .ab-quote { position:relative; }
  .ab-quote blockquote { padding-left:28px; border-left:2px solid #C99A32; }
  .ab-quote .motto::before { content:""; display:inline-block; width:28px; height:1px; background:#C99A32; vertical-align:middle; margin-right:12px; }
  @media (max-width:700px) { .ab-stats { grid-template-columns:1fr; gap:14px; } .slide.about::before { display:none; } }

  /* ===== About Us — photo panel + compact report bar ===== */
  .ab-p { margin-top:2.6vh; }
  .ab-photo { position:relative; width:100%; min-height:clamp(320px,52vh,560px); border-radius:10px; background-size:cover; background-position:center; box-shadow:0 24px 60px rgba(24,53,43,.16); overflow:hidden; }
  .ab-photo::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(18,54,43,.55) 100%); }
  .ab-photo::after { content:""; position:absolute; inset:14px; border:1px solid rgba(244,240,231,.35); border-radius:6px; pointer-events:none; }
  .ab-photo .cap { position:absolute; left:28px; bottom:26px; z-index:1; color:var(--ivory); font-size:12px; letter-spacing:.16em; text-transform:uppercase; }
  .rep-bar { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:24px; margin-top:clamp(20px,3.4vh,36px); padding:14px 18px 14px 14px; background:#fff; border:1px solid var(--line); border-radius:10px; color:var(--ink); box-shadow:0 10px 30px rgba(24,53,43,.06); transition:transform .25s, box-shadow .25s; }
  .rep-bar:hover { transform:translateY(-2px); box-shadow:0 18px 44px rgba(24,53,43,.12); color:var(--ink); }
  .rep-bar .ri { width:clamp(72px,9vh,96px); height:clamp(56px,7vh,72px); border-radius:6px; background-size:cover; background-position:center; display:block; }
  .rep-bar .rt { display:flex; flex-direction:column; gap:2px; }
  .rep-bar .acard-eye { margin-bottom:2px; font-size:11px; }
  .rep-bar .t { font-family:var(--serif); font-size:clamp(19px,2.4vh,24px); color:var(--forest); line-height:1.1; }
  .rep-bar .d { font-size:13px; color:var(--ink-2); }
  .rep-bar .dl { pointer-events:none; margin-top:0; }
  @media (max-width:700px) { .rep-bar { grid-template-columns:auto 1fr; } .rep-bar .dl { grid-column:1 / -1; } }

  .ab-stats { grid-template-columns:repeat(3,1fr); margin-top:clamp(24px,4vh,44px); padding:clamp(18px,2.8vh,28px) 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .ab-stats > div { display:flex; align-items:baseline; gap:14px; }
  .ab-stats .l { margin-top:0; }
  .ab-mv { margin-top:clamp(24px,4vh,44px); }
  .ab-quote { border-top:0; padding-top:0; }
  .rep-bar { margin-top:clamp(24px,4vh,44px); }
  .ab-photo { min-height:clamp(300px,46vh,500px); }
  @media (max-width:700px) { .ab-stats > div { flex-direction:column; gap:4px; } }

  /* ===== About Us: exactly one viewport ===== */
  .slide.about { height:100vh; height:100svh; min-height:0; overflow:hidden; padding:0; display:flex; align-items:center; }
  .slide.about .wrap { padding:calc(84px + 2vh) 0 2.5vh; display:flex; flex-direction:column; justify-content:space-between; height:100%; }
  .ab-grid { gap:clamp(24px,4vw,64px); align-items:center; }
  .ab-left .eyebrow { font-size:1.3vh; margin-bottom:1vh; }
  .ab-left h2 { font-size:4.3vh; line-height:1.06; }
  .ab-p { font-size:1.6vh; line-height:1.6; margin-top:1.8vh; }
  .ab-defs { margin-top:2.4vh; gap:20px; }
  .def { padding-top:1.2vh; } .def .w { font-size:2.8vh; } .def .pos { font-size:1.3vh; } .def .m { font-size:1.45vh; margin-top:.5vh; }
  .ab-photo { min-height:0; height:34vh; box-shadow:0 14px 40px rgba(24,53,43,.14); }
  .ab-stats { margin-top:2vh; padding:1.6vh 0; }
  .ab-stats .n { font-size:3.6vh; } .ab-stats .l { font-size:1.2vh; }
  .ab-mv { margin-top:2vh; gap:18px; }
  .mvc2 { padding:1.8vh 1.6vw; gap:14px; }
  .mvc2 .num { width:4.6vh; height:4.6vh; } .mvc2 .num svg { width:2.2vh; height:2.2vh; }
  .mvc2 .acard-eye { font-size:1.15vh; margin-bottom:.5vh; }
  .mvc2 p { font-size:1.75vh; line-height:1.35; }
  .ab-quote { margin-top:2vh; gap:20px; }
  .ab-quote blockquote { font-size:2.2vh; padding-left:18px; } .ab-quote cite { font-size:1.1vh; margin-top:.4vh; }
  .ab-quote .motto { font-size:1.15vh; }
  .btn.big { min-height:4.8vh; padding:0 2vw; font-size:1.5vh; }
  .rep-bar { margin-top:2vh; padding:1vh 1.2vw 1vh 1vh; gap:18px; }
  .rep-bar .ri { width:8vh; height:5.6vh; }
  .rep-bar .acard-eye { font-size:1.05vh; } .rep-bar .t { font-size:2vh; } .rep-bar .d { font-size:1.3vh; }
  .rep-bar .dl { min-height:4.2vh; font-size:1.35vh; padding:0 1.6vw; }
  .slide.about::before { font-size:1.6vh; top:14vh; }
  @media (max-width:1100px) { .slide.about { height:auto; overflow:visible; padding:64px 0; } .slide.about .wrap { height:auto; padding:0 0; } .ab-photo { height:auto; min-height:260px; } }

  /* bigger heading + photo, tighter elsewhere */
  .ab-left .eyebrow { font-size:1.6vh; letter-spacing:.24em; margin-bottom:1.2vh; }
  .ab-left h2 { font-size:5.6vh; line-height:1.04; max-width:13ch; }
  .ab-grid { grid-template-columns:1.1fr 1fr; }
  .ab-photo { height:42vh; }
  .ab-p { font-size:1.55vh; margin-top:1.6vh; }
  .ab-defs { margin-top:1.8vh; }
  .def .w { font-size:2.5vh; } .def .m { font-size:1.35vh; }
  .ab-stats { margin-top:1.6vh; padding:1.2vh 0; }
  .ab-stats .n { font-size:3.2vh; }
  .ab-mv { margin-top:1.6vh; }
  .mvc2 { padding:1.5vh 1.4vw; } .mvc2 p { font-size:1.6vh; }
  .ab-quote { margin-top:1.6vh; } .ab-quote blockquote { font-size:2vh; }
  .rep-bar { margin-top:1.6vh; }

  /* pull content up: only clear the fixed header, distribute the rest evenly */
  .slide.about .wrap { padding:calc(84px + 1vh) 0 2vh; justify-content:space-evenly; gap:0; }
  .ab-grid { margin-top:0; }
  .ab-photo { height:40vh; }
  .ab-stats, .ab-mv, .ab-quote, .rep-bar { margin-top:0; }



  /* bigger About us header block with breathing room above it */
  .slide.about .wrap { justify-content:flex-start; gap:2vh; padding-top:calc(84px + 3.5vh); }
  .ab-left .eyebrow { font-size:1.9vh; letter-spacing:.28em; margin-bottom:1.4vh; }
  .ab-left h2 { font-size:6.2vh; line-height:1.02; }
  .blog .s2 .img { background-size:cover, cover; background-position:center, center; }

  .logos .slot img { max-height:9vh; max-width:80%; width:auto; object-fit:contain; }
  .proj-grid .pcard .ph { background-size:cover, cover; background-position:center, center; }

  /* ===== BLOG — editorial ===== */
  .slide.blog2 { height:auto; min-height:100svh; overflow:hidden; background:var(--ivory); padding:calc(84px + 3vh) 0 0; display:block; }
  .b2-head { display:flex; justify-content:space-between; align-items:flex-end; gap:32px; flex-wrap:wrap; }
  .b2-head h2 { font-size:clamp(34px,5.4vh,60px); line-height:1.04; margin-top:.4vh; }
  .b2-intro { font-size:clamp(14px,1.8vh,17px); line-height:1.6; color:var(--ink-2); max-width:52ch; margin:2vh 0 0; }
  .b2-filters { display:flex; gap:6px; flex-wrap:wrap; margin:3vh 0 2.6vh; padding-bottom:2vh; border-bottom:1px solid var(--line); }
  .b2-filters button { min-height:40px; padding:0 16px; border-radius:999px; border:1px solid transparent; background:transparent; color:var(--forest); font-family:var(--sans); font-size:12px; letter-spacing:.14em; text-transform:uppercase; font-weight:600; cursor:pointer; transition:background .2s, border-color .2s; }
  .b2-filters button:hover { border-color:var(--line); }
  .b2-filters button[aria-pressed="true"] { background:var(--forest); color:var(--ivory); }
  .b2-grid { display:grid; grid-template-columns:1.35fr 1fr; gap:28px; }
  .b2-feat { position:relative; display:flex; align-items:flex-end; min-height:52vh; border-radius:10px; overflow:hidden; color:var(--ivory); }
  .b2-feat .img { position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .8s ease; }
  .b2-feat:hover .img { transform:scale(1.04); }
  .b2-feat::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(18,54,43,0) 35%, rgba(18,54,43,.85) 100%); }
  .b2-feat .txt { position:relative; z-index:1; padding:clamp(24px,3vw,44px); display:flex; flex-direction:column; gap:10px; max-width:60ch; }
  .b2-feat .lab { font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--sand); font-weight:600; }
  .b2-feat .h { font-family:var(--serif); font-size:clamp(28px,4vh,44px); line-height:1.08; }
  .b2-feat .d { font-size:clamp(14px,1.7vh,16px); line-height:1.55; color:rgba(244,240,231,.88); }
  .b2-feat .m { display:flex; justify-content:space-between; align-items:center; margin-top:6px; font-size:12px; color:rgba(244,240,231,.75); }
  .b2-feat .tlink { color:var(--ivory); }
  .b2-feat:hover { color:var(--ivory); }
  .b2-side { display:flex; flex-direction:column; gap:0; }
  .b2-card { display:grid; grid-template-columns:38% 1fr; gap:20px; padding:18px 0; border-top:1px solid var(--line); color:var(--ink); align-items:center; }
  .b2-card:first-child { border-top:0; padding-top:0; }
  .b2-card .img { aspect-ratio:4/3; border-radius:8px; background-size:cover; background-position:center; overflow:hidden; transition:transform .5s ease; }
  .b2-card:hover .img { transform:scale(1.02); }
  .b2-card:hover { color:var(--ink); } .b2-card:hover .h { color:var(--ocean); }
  .b2-card .txt { display:flex; flex-direction:column; gap:6px; }
  .b2-card .num { font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--ocean); font-weight:600; }
  .b2-card .h { font-family:var(--serif); font-size:clamp(18px,2.5vh,24px); line-height:1.15; color:var(--forest); transition:color .2s; }
  .b2-card .d { font-size:clamp(13px,1.5vh,14px); line-height:1.5; color:var(--ink-2); }
  .b2-card .m { display:flex; align-items:center; gap:10px; font-size:12px; color:var(--ink-3); margin-top:4px; }
  .b2-card .m i { display:inline-flex; color:var(--forest); transition:transform .25s; }
  .b2-card:hover .m i { transform:translateX(4px); }
  .b2-feat.hide, .b2-card.hide { display:none; }
  .b2-grid.solo { grid-template-columns:1fr; }
  .b2-empty { text-align:center; color:var(--ink-3); padding:24px 0; margin:0; }
  .b2-marquee { margin-top:clamp(28px,5vh,56px); border-top:1px solid var(--line); border-bottom:1px solid var(--line); overflow:hidden; white-space:nowrap; padding:14px 0; }
  .b2-marquee .track { display:inline-flex; gap:34px; align-items:center; font-family:var(--serif); font-size:clamp(22px,3.6vh,38px); color:var(--forest); text-transform:uppercase; letter-spacing:.06em; animation:b2scroll 40s linear infinite; will-change:transform; }
  .b2-marquee i { color:#C99A32; font-style:normal; }
  @keyframes b2scroll { from { transform:translateX(0); } to { transform:translateX(-50%); } }
  .b2-cta { display:flex; justify-content:space-between; align-items:center; gap:32px; flex-wrap:wrap; padding:clamp(28px,5vh,56px) 0 clamp(36px,6vh,64px); }
  .b2-cta h3 { font-size:clamp(28px,4.2vh,46px); line-height:1.1; max-width:22ch; }
  @media (prefers-reduced-motion: reduce) { .b2-marquee .track { animation:none; } }
  @media (max-width:1000px) { .b2-grid { grid-template-columns:1fr; } .b2-feat { min-height:52vw; } .slide.blog2 { padding:64px 0 0; } }
  @media (max-width:560px) { .b2-card { grid-template-columns:1fr; } }

  /* ===== BLOG — polished editorial pass ===== */
  .slide.blog2 { padding:calc(84px + 5vh) 0 0; min-height:0; background:linear-gradient(180deg, #F4F0E7 0%, #F7F4EC 100%); }
  .b2-head { display:grid; grid-template-columns:1.2fr 1fr; gap:48px; align-items:end; padding-bottom:28px; border-bottom:1px solid var(--line); }
  .b2-head h2 { font-size:clamp(40px,5.8vw,72px); line-height:.98; letter-spacing:-.01em; }
  .b2-head h2 em { font-style:italic; color:#C99A32; }
  .b2-head-r { display:flex; flex-direction:column; align-items:flex-start; gap:18px; padding-bottom:6px; }
  .b2-intro { margin:0; font-size:17px; line-height:1.65; max-width:46ch; }
  .b2-filters { border-bottom:0; padding:0; margin:22px 0 36px; gap:28px; }
  .b2-filters button { min-height:0; padding:0 0 10px; border:0; border-radius:0; border-bottom:2px solid transparent; background:transparent !important; color:var(--ink-3); font-size:12px; letter-spacing:.18em; }
  .b2-filters button:hover { color:var(--forest); border-color:var(--line); }
  .b2-filters button[aria-pressed="true"] { color:var(--forest); border-color:#C99A32; background:transparent !important; }
  .b2-grid { grid-template-columns:1.5fr 1fr; gap:40px; align-items:stretch; }
  .b2-feat { min-height:0; aspect-ratio:16/11; border-radius:14px; box-shadow:0 30px 70px rgba(24,53,43,.18); }
  .b2-feat::after { background:linear-gradient(180deg, rgba(18,54,43,.05) 0%, rgba(18,54,43,0) 30%, rgba(18,54,43,.88) 100%); }
  .b2-feat .txt { padding:clamp(28px,3.4vw,52px); gap:12px; }
  .b2-feat .lab { color:#E3C77A; }
  .b2-feat .h { font-size:clamp(30px,3.6vw,50px); }
  .b2-feat .d { font-size:16px; max-width:52ch; }
  .b2-feat .m { border-top:1px solid rgba(244,240,231,.25); padding-top:14px; margin-top:8px; }
  .b2-feat .date { position:absolute; top:22px; right:22px; z-index:1; background:rgba(244,240,231,.92); color:var(--forest); font-size:11px; letter-spacing:.16em; text-transform:uppercase; font-weight:600; padding:8px 12px; border-radius:999px; }
  .b2-side { justify-content:space-between; }
  .b2-card { grid-template-columns:36% 1fr; gap:22px; padding:22px 0; }
  .b2-card:first-child { padding-top:0; } .b2-card:last-child { padding-bottom:0; }
  .b2-card .img { aspect-ratio:1/1; border-radius:10px; }
  .b2-card .num { color:#C99A32; }
  .b2-card .h { font-size:clamp(20px,1.7vw,26px); }
  .b2-card .d { font-size:14px; }
  .b2-marquee { margin-top:clamp(40px,7vh,72px); padding:18px 0; border-color:rgba(24,53,43,.18); }
  .b2-marquee .track { font-size:clamp(26px,4.2vw,56px); letter-spacing:.04em; color:transparent; -webkit-text-stroke:1px var(--forest); gap:44px; }
  .b2-marquee .track span:nth-child(4n+1) { color:var(--forest); -webkit-text-stroke:0; }
  .b2-cta-band { position:relative; background:#12362B; color:var(--ivory); overflow:hidden; }
  .b2-cta-band .s2-waves { position:absolute; left:0; right:0; bottom:0; width:100%; height:90px; fill:none; stroke:rgba(216,168,62,.32); stroke-width:1.3; pointer-events:none; }
  .b2-cta { padding:clamp(44px,7vh,80px) 0; position:relative; z-index:1; }
  .b2-cta h3 { color:var(--ivory); font-size:clamp(30px,3.6vw,52px); max-width:20ch; margin-top:6px; }
  @media (max-width:1000px) { .b2-head { grid-template-columns:1fr; gap:20px; } .b2-grid { grid-template-columns:1fr; } .b2-feat { aspect-ratio:4/3; } .b2-side { gap:0; } .b2-card { grid-template-columns:40% 1fr; } }

  /* ===== FIX PASS (verified by screenshot) ===== */
  /* anchors land below the fixed header; viewport slides account for it */
  #about, #purpose, #blog, #projects, #partners, #get-involved { scroll-margin-top:84px; }
  .sec2 { height:calc(100vh - 84px); height:calc(100svh - 84px); }
  /* content sections: natural height, consistent rhythm */
  .slide.about, .slide.blog2, .slide.projects, .slide.partners, .slide.involved2 { height:auto !important; min-height:0 !important; overflow:visible !important; display:block; padding:clamp(72px,9vh,112px) 0; }
  .slide.about .wrap { height:auto; padding:0; gap:0; display:block; }
  .slide.about::before { display:none; }
  .ab-grid { grid-template-columns:1.15fr 1fr; gap:clamp(32px,5vw,72px); align-items:center; margin-bottom:40px; }
  .ab-left .eyebrow { font-size:12px; margin-bottom:14px; }
  .ab-left h2 { font-size:clamp(36px,4vw,56px); line-height:1.06; max-width:none; }
  .ab-p { font-size:16px; line-height:1.7; margin-top:20px; max-width:56ch; }
  .ab-defs { margin-top:28px; gap:24px; }
  .def .w { font-size:28px; } .def .m { font-size:14px; }
  .ab-photo { height:auto; aspect-ratio:4/3; box-shadow:0 24px 60px rgba(24,53,43,.14); }
  .ab-stats { margin:0 0 32px; padding:22px 0; }
  .ab-stats .n { font-size:40px; } .ab-stats .l { font-size:12px; }
  .ab-mv { margin:0 0 32px; gap:24px; }
  .mvc2 { padding:26px 28px; gap:18px; } .mvc2 .num { width:52px; height:52px; } .mvc2 .num svg { width:24px; height:24px; } .mvc2 p { font-size:19px; }
  .ab-quote { margin:0 0 32px; padding-top:28px; border-top:1px solid var(--line); }
  .ab-quote blockquote { font-size:24px; } .btn.big { min-height:54px; padding:0 30px; font-size:15px; }
  .rep-bar { margin:0; padding:14px 18px 14px 14px; } .rep-bar .ri { width:96px; height:72px; } .rep-bar .t { font-size:22px; } .rep-bar .d { font-size:13px; } .rep-bar .dl { min-height:46px; font-size:14px; padding:0 22px; }
  /* projects: no pattern over photos */
  .proj-grid .pcard .ph::before { display:none; }
  .proj-grid .pcard .ph { max-height:none; aspect-ratio:4/3; border-radius:8px; }
  .projects .sh, .blog .sh { margin-bottom:28px; }
  /* partners: compact */
  .partners-grid { align-items:center; }
  .logos .slot { min-height:110px; }
  /* header CTA arrow */
  .nav .btn.nav-cta svg { margin-left:10px; }
  /* get involved: landscape background + ways list */
  .slide.involved2.gi { position:relative; background-size:cover; background-position:center 30%; }
  .slide.involved2.gi::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(16,34,28,.94) 0%, rgba(16,34,28,.82) 50%, rgba(16,34,28,.6) 100%); }
  .slide.involved2.gi .wrap { position:relative; z-index:1; display:grid; grid-template-columns:1.15fr 1fr; gap:clamp(32px,5vw,80px); align-items:center; }
  .gi-ways { display:flex; flex-direction:column; }
  .gi-ways a { display:grid; grid-template-columns:1fr auto; grid-template-rows:auto auto; column-gap:16px; padding:18px 0; border-top:1px solid rgba(244,240,231,.18); color:var(--ivory); transition:padding-left .25s; }
  .gi-ways a:last-child { border-bottom:1px solid rgba(244,240,231,.18); }
  .gi-ways a:hover { padding-left:8px; color:var(--ivory); }
  .gi-ways b { font-family:var(--serif); font-weight:500; font-size:22px; }
  .gi-ways span { grid-column:1; font-size:14px; color:rgba(244,240,231,.75); margin-top:2px; }
  .gi-ways i { grid-row:1 / span 2; align-self:center; font-style:normal; color:var(--sand); font-size:20px; transition:transform .25s; }
  .gi-ways a:hover i { transform:translateX(4px); }
  @media (max-width:1000px) { .slide.involved2.gi .wrap { grid-template-columns:1fr; } .ab-grid { grid-template-columns:1fr; } }

  .gi-ways b { grid-column:1; grid-row:1; }
  .gi-ways span { grid-column:1; grid-row:2; }
  .gi-ways i { grid-column:2; grid-row:1 / span 2; }
  .slide.involved2.gi { background-position:center 40%; }
  .slide.involved2.gi::before { background:linear-gradient(90deg, rgba(14,32,26,.95) 0%, rgba(14,32,26,.88) 55%, rgba(14,32,26,.7) 100%); }
  .b2-feat { aspect-ratio:auto; width:100%; min-height:56vh; align-self:stretch; }
  .hero3 .hbg { background-position:38% center !important; }

  /* ===== BLOG refinement (verified) ===== */
  .b2-feat::after { background:linear-gradient(180deg, rgba(18,54,43,0) 30%, rgba(18,54,43,.55) 62%, rgba(18,54,43,.94) 100%); }
  .b2-feat .txt { padding:clamp(28px,3.2vw,48px); gap:14px; }
  .b2-feat .lab { display:flex; align-items:center; gap:10px; }
  .b2-feat .lab i { font-style:normal; color:#E3C77A; }
  .b2-feat .lab b { font-weight:600; background:rgba(244,240,231,.14); border:1px solid rgba(244,240,231,.3); padding:5px 10px; border-radius:999px; letter-spacing:.16em; }
  .b2-feat .h { font-size:clamp(32px,3.4vw,46px); }
  .b2-feat .m span:first-child { letter-spacing:.06em; text-transform:uppercase; font-size:11px; }
  .b2-side { gap:0; }
  .b2-card { grid-template-columns:38% 1fr; gap:24px; padding:20px 0; position:relative; }
  .b2-card::after { content:""; position:absolute; left:-24px; top:20px; bottom:20px; width:2px; background:#C99A32; opacity:0; transition:opacity .25s; }
  .b2-card:hover::after { opacity:1; }
  .b2-card .img { border-radius:12px; }
  .b2-card .h { font-size:clamp(20px,1.8vw,26px); }
  .b2-card .d { font-size:14px; line-height:1.55; }
  .b2-marquee { margin-top:clamp(40px,7vh,72px); padding:16px 0; border-color:rgba(24,53,43,.14); background:rgba(24,53,43,.03); }
  .b2-marquee .track { font-family:var(--serif); font-style:italic; font-size:clamp(22px,3vw,38px); letter-spacing:.06em; color:rgba(24,53,43,.55); -webkit-text-stroke:0; gap:40px; animation-duration:60s; }
  .b2-marquee .track span { color:inherit !important; -webkit-text-stroke:0 !important; }
  .b2-marquee i { color:#C99A32; font-size:.6em; }
  .b2-cta { padding:clamp(48px,7vh,84px) 0; }
  .b2-cta h3 { font-size:clamp(30px,3.4vw,48px); }

  :root{--im0:url(../images/site/hero-reef.jpg);--im1:url(../images/site/about-team.jpg);--im2:url(../images/site/purpose-hero.jpg);--im3:url(../images/site/site-im3.jpg);--im4:url(../images/site/site-im4.jpg);--im5:url(../images/site/site-im5.jpg);--im6:url(../images/site/site-im6.jpg);}
  .im0{background-image:var(--im0);}
  .im1{background-image:var(--im1);}
  .im2{background-image:var(--im2);}
  .im3{background-image:var(--im3);}
  .im4{background-image:var(--im4);}
  .im5{background-image:var(--im5);}
  .im6{background-image:var(--im6);}

  /* ===== BLOG v3 — split panel (reference) ===== */
  .b3 { scroll-margin-top:84px; background:var(--ivory); }
  .b3-grid { display:grid; grid-template-columns:2fr 1fr; min-height:calc(100svh - 84px); }
  .b3-hero { position:relative; display:flex; flex-direction:column; justify-content:space-between; padding:clamp(40px,7vh,72px) clamp(32px,5vw,80px) clamp(36px,6vh,56px); background-size:cover; background-position:right center; color:var(--ivory); overflow:hidden; }
  .b3-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(14,36,30,.96) 0%, rgba(14,36,30,.85) 32%, rgba(14,36,30,.35) 58%, rgba(14,36,30,.15) 100%); }
  .b3-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(14,36,30,.85) 0%, rgba(14,36,30,0) 45%); }
  .b3-hero:hover { color:var(--ivory); }
  .b3-hero > * { position:relative; z-index:1; }
  .b3-leaf { position:absolute; left:2vw; bottom:6vh; width:3vw; height:15vh; color:rgba(216,168,62,.7); pointer-events:none; }
  .b3-leaf svg { width:100%; height:100%; }
  .b3-intro { max-width:34vw; display:flex; flex-direction:column; align-items:flex-start; }
  .b3-eye { display:inline-flex; align-items:center; gap:14px; font-size:12px; letter-spacing:.24em; text-transform:uppercase; font-weight:600; color:var(--ivory); }
  .b3-eye i { width:48px; height:1px; background:#D8A83E; }
  .b3-intro h2 { color:var(--ivory); font-size:clamp(40px,5.2vw,74px); line-height:1.02; letter-spacing:-.01em; margin-top:18px; }
  .b3-intro h2 em { font-style:italic; color:#E3C77A; }
  .b3-intro p { font-size:17px; line-height:1.6; color:rgba(244,240,231,.9); max-width:38ch; margin:24px 0 26px; }
  .tlink.light { color:#E3C77A; } .tlink.light:hover { color:var(--ivory); }
  .b3-feat { align-self:flex-end; width:min(62%, 660px); display:flex; flex-direction:column; gap:10px; margin-top:24px; }
  .b3-feat .lab { display:flex; align-items:center; gap:10px; font-size:11px; letter-spacing:.2em; text-transform:uppercase; font-weight:600; color:#E3C77A; }
  .b3-feat .lab b { border:1px solid #D8A83E; border-radius:999px; padding:4px 10px; }
  .b3-feat .h { font-family:var(--serif); font-size:clamp(24px,2.3vw,34px); line-height:1.12; }
  .b3-feat .d { font-size:14px; line-height:1.55; color:rgba(244,240,231,.9); max-width:52ch; }
  .b3-feat .m { display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid rgba(244,240,231,.35); padding:10px 0 8px; margin-top:6px; }
  .b3-feat .date { font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:rgba(244,240,231,.8); }
  .b3-side { display:flex; flex-direction:column; justify-content:space-between; padding:clamp(28px,5vh,52px) clamp(24px,2.6vw,44px); background:var(--ivory); }
  .b3-card { display:grid; grid-template-columns:38% 1fr; gap:20px; padding:22px 0; border-bottom:1px solid var(--line); color:var(--ink); align-items:center; }
  .b3-card:last-child { border-bottom:0; } .b3-card:first-child { padding-top:0; }
  .b3-card:hover { color:var(--ink); } .b3-card:hover .h { color:var(--ocean); }
  .b3-card .img { aspect-ratio:1; border-radius:8px; background-size:cover; background-position:center; }
  .b3-card .txt { display:flex; flex-direction:column; gap:6px; }
  .b3-card .num { font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:#C99A32; font-weight:600; }
  .b3-card .h { font-family:var(--serif); font-size:clamp(18px,1.5vw,24px); line-height:1.15; color:var(--forest); transition:color .2s; }
  .b3-card .d { font-size:13px; line-height:1.5; color:var(--ink-2); }
  .b3-card .date { display:inline-flex; align-items:center; gap:10px; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-3); margin-top:4px; }
  .b3-card .date i { display:inline-flex; color:var(--forest); }
  .b3-icons { display:flex; justify-content:center; align-items:center; gap:0; padding:28px 24px; background:#EFEAE0; }
  .b3-icons span { display:flex; flex-direction:column; align-items:center; gap:12px; padding:0 clamp(24px,4vw,64px); font-size:12px; letter-spacing:.22em; text-transform:uppercase; font-weight:600; color:var(--forest); }
  .b3-icons svg { width:38px; height:38px; fill:none; stroke:var(--forest); stroke-width:1.3; stroke-linecap:round; stroke-linejoin:round; }
  .b3-icons i { width:1px; height:56px; background:rgba(24,53,43,.2); }
  .b3-band { background:#0F2B24; color:var(--ivory); }
  .b3-band .wrap { display:flex; justify-content:space-between; align-items:center; gap:32px; padding:26px 0; flex-wrap:wrap; }
  .b3-band p { margin:0; font-family:var(--serif); font-size:clamp(22px,2.2vw,32px); display:flex; align-items:center; gap:22px; }
  .b3-band p em { color:#E3C77A; } .b3-band p i { width:130px; height:1px; background:#D8A83E; display:inline-block; }
  .b3-gbtn { display:inline-flex; align-items:center; gap:12px; border:1px solid #D8A83E; color:#E3C77A; border-radius:999px; padding:0 26px; min-height:48px; font-size:12px; letter-spacing:.18em; text-transform:uppercase; font-weight:600; transition:background .25s, color .25s; }
  .b3-gbtn:hover { background:#D8A83E; color:#0F2B24; }
  @media (max-width:1000px) { .b3-grid { grid-template-columns:1fr; min-height:0; } .b3-hero { min-height:80vh; } .b3-intro { max-width:none; } .b3-feat { width:100%; } .b3-icons { flex-wrap:wrap; gap:16px 0; } .b3-icons i { display:none; } .b3-icons span { padding:0 16px; } }

  .b3-intro { max-width:42vw; }
  .b3-intro h2 { font-size:clamp(38px,4.4vw,64px); }
  .b3-feat .lab i { font-style:normal; }
  .b3-side { justify-content:center; gap:0; }
  .b3-card { padding:26px 0; }

  /* ===== BLOG v3 — exact measurements from 1673px reference (1vw = 16.73px) ===== */
  .b3-grid { grid-template-columns:66.65% 1fr; min-height:0; height:38.25vw; }
  .b3-hero { padding:0; display:block; }
  .b3-hero::before { background:linear-gradient(90deg, rgba(14,36,30,.96) 0%, rgba(14,36,30,.9) 26%, rgba(14,36,30,.45) 46%, rgba(14,36,30,.12) 70%, rgba(14,36,30,.05) 100%); }
  .b3-hero::after { background:linear-gradient(0deg, rgba(14,36,30,.88) 0%, rgba(14,36,30,.2) 38%, rgba(14,36,30,0) 60%); }
  .b3-intro { position:absolute; left:5.14vw; top:4.36vw; max-width:34vw; }
  .b3-eye { font-size:.78vw; letter-spacing:.24em; gap:1vw; } .b3-eye i { width:2.75vw; }
  .b3-intro h2 { font-size:3.94vw; line-height:1.09; margin-top:1.8vw; letter-spacing:-.005em; }
  .b3-intro p { font-size:1.02vw; line-height:1.45; max-width:22vw; margin:1.9vw 0 2.2vw; }
  .b3-intro .tlink { font-size:.78vw; letter-spacing:.2em; }
  .b3-leaf { left:3.4vw; bottom:3.5vw; width:3.2vw; height:9vw; }
  .b3-feat { position:absolute; left:25.1vw; right:2.7vw; bottom:2.8vw; width:auto; margin:0; gap:.45vw; }
  .b3-feat .lab { font-size:.66vw; letter-spacing:.2em; gap:.7vw; } .b3-feat .lab b { padding:.25vw .65vw; }
  .b3-feat .h { font-size:1.8vw; line-height:1.05; margin-top:.4vw; }
  .b3-feat .d { font-size:.9vw; line-height:1.4; max-width:44vw; margin-top:.4vw; }
  .b3-feat .m { padding:1.2vw 0 .55vw; margin:0; }
  .b3-feat .m .tlink { font-size:.72vw; } .b3-feat .date { font-size:.66vw; }
  .b3-side { padding:2.7vw 3vw 2vw 2.5vw; justify-content:flex-start; }
  .b3-card { grid-template-columns:9vw 1fr; gap:1.3vw; padding:2vw 0; align-items:start; }
  .b3-card:first-child { padding-top:0; }
  .b3-card .img { aspect-ratio:150/160; border-radius:.5vw; }
  .b3-card .txt { gap:.45vw; padding-top:.2vw; }
  .b3-card .num { font-size:.66vw; letter-spacing:.18em; }
  .b3-card .h { font-size:1.43vw; line-height:1.15; }
  .b3-card .d { font-size:.84vw; line-height:1.45; }
  .b3-card .date { font-size:.66vw; margin-top:.5vw; gap:.6vw; }
  .b3-icons { height:8.25vw; padding:0; gap:0; }
  .b3-icons span { padding:0 3vw; gap:.7vw; font-size:.78vw; letter-spacing:.22em; }
  .b3-icons svg { width:2.4vw; height:2.4vw; }
  .b3-icons i { height:3.6vw; }
  .b3-band { height:5.44vw; display:flex; align-items:center; }
  .b3-band .wrap { width:calc(100% - 13.5vw); padding:0; margin:0 6.75vw; }
  .b3-band p { font-size:1.55vw; gap:1.3vw; } .b3-band p i { width:8vw; }
  .b3-gbtn { min-height:2.6vw; padding:0 1.6vw; font-size:.72vw; gap:.7vw; }
  @media (max-width:1000px) {
    .b3-grid { height:auto; } .b3-hero { padding:40px 24px; display:flex; flex-direction:column; gap:32px; min-height:80vh; }
    .b3-intro, .b3-feat { position:static; max-width:none; }
    .b3-eye { font-size:12px; } .b3-eye i { width:40px; } .b3-intro h2 { font-size:clamp(36px,9vw,54px); } .b3-intro p { font-size:16px; max-width:none; } .b3-intro .tlink { font-size:13px; }
    .b3-feat .lab { font-size:11px; } .b3-feat .h { font-size:26px; } .b3-feat .d { font-size:14px; max-width:none; } .b3-feat .m .tlink, .b3-feat .date { font-size:11px; }
    .b3-leaf { display:none; }
    .b3-side { padding:28px 24px; } .b3-card { grid-template-columns:120px 1fr; gap:16px; padding:20px 0; } .b3-card .num { font-size:11px; } .b3-card .h { font-size:20px; } .b3-card .d { font-size:13px; } .b3-card .date { font-size:11px; }
    .b3-icons { height:auto; padding:24px; flex-wrap:wrap; gap:16px 0; } .b3-icons span { padding:0 16px; font-size:11px; } .b3-icons svg { width:32px; height:32px; }
    .b3-band { height:auto; } .b3-band .wrap { width:calc(100% - 48px); margin:0 24px; padding:22px 0; } .b3-band p { font-size:22px; } .b3-band p i { display:none; } .b3-gbtn { min-height:44px; padding:0 22px; font-size:12px; }
  }

  .b3-grid { height:auto; min-height:38.25vw; }
  .b3-hero { min-height:38.25vw; }
  .b3-side { overflow:hidden; padding:2.6vw 3vw 1.6vw 2.5vw; }
  .b3-card { padding:1.55vw 0; }
  .b3-card .h { font-size:1.35vw; }
  .b3-card .d { font-size:.8vw; }
  .b3-icons { flex-wrap:nowrap; }
  .b3-icons span { padding:0 2.3vw; letter-spacing:.2em; white-space:nowrap; }

  /* purpose section must never spill into the blog */
  .sec2 { height:auto; min-height:calc(100svh - 84px); overflow:hidden; }
  .s2-band { min-height:38vh; }
  .s2-cols { position:relative; top:auto; left:auto; right:auto; padding:3vh 11.1vw 0 11.1vw; width:100%; box-sizing:border-box; grid-template-columns:repeat(4,1fr); column-gap:3vw; }
  .s2-col + .s2-col::before { left:-1.5vw; }
  /* blog: one viewport, wider right column, larger images */
  .b3-grid { grid-template-columns:1fr 31%; min-height:0; height:calc(100svh - 84px - 13.7vw); }
  .b3-hero { min-height:0; }
  .b3-side { padding:2.4vw 2.6vw 1.4vw 2.4vw; justify-content:space-between; }
  .b3-card { grid-template-columns:10.5vw 1fr; gap:1.4vw; padding:1.2vw 0; }
  .b3-card .img { aspect-ratio:1; }
  .b3-card .h { font-size:1.45vw; }
  .b3-card .d { font-size:.86vw; }
  .b3-card .num { font-size:.7vw; }
  .b3-card .date { font-size:.7vw; }
  @media (max-width:1000px) { .b3-grid { height:auto; grid-template-columns:1fr; } .s2-cols { padding:24px; } }

  .b3-intro h2 { white-space:nowrap; }
  .b3-intro p { max-width:21vw; }
  .b3-intro .tlink { font-size:.74vw; }
  .b3-feat { left:28.5vw; }
  .b3-feat .d { max-width:40vw; }
  .b3-side { padding:1.8vw 2.4vw 1.2vw 2.2vw; }
  .b3-card { grid-template-columns:9.4vw 1fr; padding:1vw 0; gap:1.2vw; }
  .b3-card .h { font-size:1.3vw; }
  .b3-card .d { font-size:.8vw; }
  .b3-card .txt { gap:.35vw; }
  @media (max-width:1000px) { .b3-intro h2 { white-space:normal; } .b3-intro p { max-width:none; } }

  /* blog: full-width photo panel, no side column */
  .b3-grid { grid-template-columns:1fr; height:calc(100svh - 84px - 13.7vw); }
  .b3-side { display:none; }
  .b3-hero::before { background:linear-gradient(90deg, rgba(14,36,30,.92) 0%, rgba(14,36,30,.8) 22%, rgba(14,36,30,.35) 42%, rgba(14,36,30,.08) 60%, rgba(14,36,30,0) 100%); }
  .b3-hero::after { background:linear-gradient(0deg, rgba(14,36,30,.8) 0%, rgba(14,36,30,.15) 35%, rgba(14,36,30,0) 55%); }
  .b3-leaf { display:none; }
  .b3-intro { left:5.14vw; top:5vw; max-width:36vw; }
  .b3-intro p { max-width:26vw; }
  .b3-feat { left:25.1vw; right:auto; width:41vw; bottom:3vw; }
  .b3-feat .d { max-width:40vw; }
  .b3-hero { background-position:center 78%; }
  @media (max-width:1000px) { .b3-grid { height:auto; } }

  /* Blog photo panel = its own full-screen section; icons + band follow below it */
  .b3-grid { height:auto; min-height:max(calc(100svh - 84px), 640px); }
  .b3-hero { min-height:max(calc(100svh - 84px), 640px); background-position:center 55%; }
  .b3-intro { top:6vw; }
  .b3-feat { bottom:3.2vw; left:28.5vw; width:42vw; }
  @media (max-height:760px) {
    .b3-intro { top:4vw; }
    .b3-intro h2 { font-size:3.3vw; }
    .b3-intro p { margin:1.2vw 0 1.4vw; }
    .b3-feat { bottom:2.2vw; }
  }


  /* === split layout restored, per reference proportions === */
  .b3-grid { grid-template-columns:66.65% 1fr; height:auto; min-height:38.25vw; }
  .b3-side { display:flex; overflow:visible; }
  .b3-hero { min-height:38.25vw; background-position:center 50%; }
  .b3-hero::before { background:linear-gradient(90deg, rgba(14,36,30,.96) 0%, rgba(14,36,30,.9) 26%, rgba(14,36,30,.45) 46%, rgba(14,36,30,.12) 70%, rgba(14,36,30,.05) 100%); }
  .b3-hero::after { background:linear-gradient(0deg, rgba(14,36,30,.88) 0%, rgba(14,36,30,.2) 38%, rgba(14,36,30,0) 60%); }
  .b3-leaf { display:block; }
  .b3-intro { top:4.36vw; max-width:34vw; }
  .b3-intro h2 { font-size:3.94vw; white-space:nowrap; }
  .b3-intro p { max-width:22vw; }
  .b3-feat { left:25.1vw; right:2.7vw; width:auto; bottom:2.8vw; }
  .b3-feat .h { font-size:1.8vw; } .b3-feat .d { font-size:.9vw; max-width:40vw; }
  @media (max-width:1000px) { .b3-grid { grid-template-columns:1fr; } .b3-side { display:flex; } .b3-intro h2 { white-space:normal; } }

  /* layout image applied: photo panel, thumbnails, textured strips are the artwork; text stays live */
  .b3-hero { background-size:cover; background-position:center; }
  .b3-hero::before, .b3-hero::after { display:none; }
  .b3-leaf { display:none; }
  .b3-icons { background-size:cover; background-position:center; }
  .b3-band { background-size:cover; background-position:center; }
  .b3-card .img { border-radius:.5vw; }

  /* icon strip: use the baked icons from the artwork; position live labels under them */
  .b3-icons { position:relative; display:block; }
  .b3-icons svg, .b3-icons i { display:none; }
  .b3-icons span { position:absolute; top:62%; transform:translateX(-50%); padding:0; }
  .b3-icons span:nth-of-type(1) { left:28.1%; } .b3-icons span:nth-of-type(2) { left:39.6%; } .b3-icons span:nth-of-type(3) { left:49.9%; } .b3-icons span:nth-of-type(4) { left:60.8%; } .b3-icons span:nth-of-type(5) { left:72%; }
  .b3-band { background-size:cover; background-position:center; }
  @media (max-width:1000px) { .b3-icons { display:flex; background-image:none !important; background:#EFEAE0; } .b3-icons svg { display:block; } .b3-icons span { position:static; transform:none; } }

  .b3-latest { display:flex; align-items:center; gap:2.4vw; padding:0; width:calc(100% - 13.5vw); margin:0 6.75vw; height:100%; }
  .b3-lab { display:inline-flex; align-items:center; gap:.9vw; font-size:.72vw; letter-spacing:.24em; text-transform:uppercase; font-weight:600; color:#E3C77A; white-space:nowrap; }
  .b3-lab i { width:2.6vw; height:1px; background:#D8A83E; display:inline-block; }
  .b3-latest a { display:inline-flex; align-items:center; gap:.6vw; font-family:var(--serif); font-size:1.15vw; color:var(--ivory); white-space:nowrap; padding-left:2.4vw; border-left:1px solid rgba(244,240,231,.25); transition:color .2s; }
  .b3-latest a:hover { color:#E3C77A; }
  .b3-latest a svg { width:.9vw; height:auto; }
  @media (max-width:1000px) { .b3-latest { flex-direction:column; align-items:flex-start; gap:12px; width:calc(100% - 48px); margin:0 24px; padding:20px 0; } .b3-lab { font-size:11px; } .b3-lab i { width:36px; } .b3-latest a { font-size:16px; padding-left:0; border-left:0; white-space:normal; } .b3-latest a svg { width:14px; } }

  /* whole blog section in one viewport */
  .b3-grid { height:calc(100svh - 84px - 10.4vw); min-height:0; }
  .b3-hero { min-height:0; }
  .b3-icons { height:6vw; }
  .b3-icons span { top:60%; font-size:.7vw; }
  .b3-band { height:4.4vw; }
  .b3-latest a.first { padding-left:0; border-left:0; color:#E3C77A; }
  .b3-latest a { font-size:1.05vw; }
  .b3-side { padding:1.6vw 2.2vw 1vw 2vw; justify-content:space-between; }
  .b3-card { grid-template-columns:min(9vw, 15vh) 1fr; padding:.9vw 0; gap:1.1vw; }
  .b3-card .h { font-size:min(1.3vw, 2.3vh); } .b3-card .d { font-size:min(.8vw, 1.5vh); line-height:1.4; } .b3-card .num, .b3-card .date { font-size:min(.66vw, 1.2vh); }
  .b3-intro { top:min(4.36vw, 6vh); }
  .b3-intro h2 { font-size:min(3.94vw, 6.4vh); }
  .b3-intro p { font-size:min(1.02vw, 1.8vh); margin:min(1.9vw,2.6vh) 0 min(2.2vw,2.6vh); }
  .b3-feat { bottom:min(2.8vw, 3.6vh); }
  .b3-feat .h { font-size:min(1.8vw, 3vh); } .b3-feat .d { font-size:min(.9vw, 1.55vh); }
  @media (max-width:1000px) { .b3-grid { height:auto; } .b3-icons { height:auto; } .b3-band { height:auto; } }

  .b3-grid { height:calc(100svh - 84px - 6vw); }
  @media (max-width:1000px) { .b3-grid { height:auto; } }

  /* ===== Projects — premium polish ===== */
  .slide.projects { background:linear-gradient(180deg, #F4F0E7 0%, #F7F4EC 100%); position:relative; overflow:hidden; }
  .slide.projects::before { content:""; position:absolute; right:-6vw; top:-4vw; width:28vw; height:28vw; border-radius:50%; border:1px solid rgba(201,154,50,.25); pointer-events:none; }
  .slide.projects::after { content:""; position:absolute; right:-2vw; top:2vw; width:14vw; height:14vw; border-radius:50%; border:1px solid rgba(24,53,43,.12); pointer-events:none; }
  .projects .sh { border-bottom:1px solid var(--line); padding-bottom:24px; margin-bottom:28px; position:relative; z-index:1; }
  .cats { position:relative; z-index:1; }
  .cats span { background:#fff; border-color:rgba(24,53,43,.18); }
  .proj-grid { position:relative; z-index:1; gap:28px; }
  .proj-grid .pcard { position:relative; gap:12px; }
  .proj-grid .pcard .ph { position:relative; aspect-ratio:4/5; border-radius:14px; overflow:hidden; box-shadow:0 18px 44px rgba(24,53,43,.14); transition:transform .5s ease, box-shadow .5s ease; background-size:cover; background-position:center; }
  .proj-grid .pcard .ph::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(14,32,26,0) 55%, rgba(14,32,26,.55) 100%); }
  .proj-grid .pcard:hover .ph { transform:translateY(-6px); box-shadow:0 28px 60px rgba(24,53,43,.22); }
  .proj-grid .pcard .pnum { display:none;  position:absolute; left:18px; top:16px; z-index:2; font-family:var(--serif); font-size:15px; letter-spacing:.14em; color:#F4F0E7; background:rgba(14,32,26,.55); border:1px solid rgba(244,240,231,.35); padding:6px 10px; border-radius:999px; backdrop-filter:blur(4px); }
  .proj-grid .pcard .cat { margin-top:8px; color:#C99A32; }
  .proj-grid .pcard .h { font-size:clamp(20px,1.6vw,24px); }
  .proj-grid .pcard .d { font-size:14px; line-height:1.55; }
  .proj-grid .pcard .tlink { font-size:11px; margin-top:2px; }
  .projects .center .btn { gap:12px; min-height:52px; padding:0 30px; }
  .b3-side { justify-content:space-evenly; }
  .b3-card { grid-template-columns:min(10vw, 17vh) 1fr; }

  .proj-bar { display:flex; align-items:center; justify-content:center; gap:18px; height:52px; background:#12362B; color:#E3C77A; font-size:11px; letter-spacing:.26em; text-transform:uppercase; font-weight:600; border-top:1px solid rgba(216,168,62,.35); }
  .proj-bar i { width:60px; height:1px; background:#D8A83E; }
  .proj-head { display:grid; grid-template-columns:1fr 1fr; gap:24px 48px; align-items:end; border-bottom:1px solid var(--line); padding-bottom:26px; margin-bottom:28px; position:relative; z-index:1; }
  .proj-head .eyebrow { grid-column:1; margin-bottom:6px; }
  .proj-head h2 { grid-column:1; font-size:clamp(32px,4.6vh,50px); line-height:1.08; }
  .proj-lead { grid-column:2; grid-row:1 / span 2; margin:0; font-size:clamp(15px,1.8vh,17px); line-height:1.65; color:var(--ink-2); max-width:48ch; align-self:end; }
  @media (max-width:900px) { .proj-head { grid-template-columns:1fr; } .proj-lead { grid-column:1; grid-row:auto; } }

  .proj-head { grid-template-columns:1fr; gap:0; align-items:start; }
  .proj-lead { grid-column:1; grid-row:auto; margin-top:16px; max-width:64ch; }

  /* ===== GET INVOLVED — layout ===== */
  .gi2 { scroll-margin-top:84px; }
  .gi2-banner { position:relative; height:calc(264 / 1672 * 100vw); min-height:220px; background-size:cover; background-position:right center; background-color:#12362B; }
  .gi2-banner::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(14,36,30,.92) 0%, rgba(14,36,30,.75) 24%, rgba(14,36,30,.25) 42%, rgba(14,36,30,0) 60%); }
  .gi2-bt { position:absolute; left:10.8vw; top:50%; transform:translateY(-50%); z-index:1; color:var(--ivory); }
  .gi2-bt i { display:block; width:5.6vw; height:1px; background:#D8A83E; margin-bottom:1.4vw; }
  .gi2-bt h2 { color:var(--ivory); font-size:clamp(40px,5.2vw,86px); line-height:1.02; letter-spacing:-.01em; }
  .gi2-bt h2 em { font-style:italic; color:#E3C77A; }
  .gi2-body { display:grid; grid-template-columns:60% 1fr; }
  .gi2-form { background:#F4F2EC; background-repeat:no-repeat; background-position:left bottom; background-size:8.4vw auto; padding:4.2vw 5.8vw 5vw 11.2vw; }
  .gi2-lead { font-size:16px; line-height:1.6; color:var(--ink-2); margin:0 0 26px; max-width:52ch; }
  .gi2-form form { display:flex; flex-direction:column; gap:14px; }
  .gi2-form .row2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
  .fld { position:relative; display:block; }
  .fld .ic { position:absolute; left:18px; top:18px; width:22px; height:22px; color:var(--forest); pointer-events:none; }
  .fld .ic svg { width:100%; height:100%; }
  .fld input, .fld select, .fld textarea { width:100%; box-sizing:border-box; font-family:var(--sans); font-size:15px; color:var(--ink); background:#fff; border:1px solid rgba(24,53,43,.35); border-radius:14px; padding:17px 18px 17px 52px; min-height:58px; transition:border-color .2s, box-shadow .2s; }
  .fld input::placeholder, .fld textarea::placeholder { color:#7a857f; }
  .fld select { appearance:none; -webkit-appearance:none; }
  .fld select:invalid { color:#7a857f; }
  .fld input:focus, .fld select:focus, .fld textarea:focus { outline:none; border-color:var(--forest); box-shadow:0 0 0 3px rgba(24,53,43,.12); }
  .fld.ta .ic { top:20px; } .fld textarea { min-height:150px; resize:vertical; }
  .gi2-btn { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; width:246px; min-height:56px; padding:0 28px; background:#12362B; color:#E3C77A; border:0; border-radius:999px; font-family:var(--sans); font-size:14px; font-weight:600; letter-spacing:.06em; cursor:pointer; transition:background .25s, transform .25s; margin-top:6px; }
  .gi2-btn:hover { background:#1F5243; transform:translateY(-1px); }
  .gi2-note { margin:0; font-size:14px; color:var(--ocean); }
  .gi2-info { background-size:cover; background-position:right center; color:var(--ivory); padding:6.2vw 4.4vw 6vw 4.2vw; display:flex; align-items:center; border-left:2px solid #D8A83E; }
  .gi2-rows { display:flex; flex-direction:column; width:100%; }
  .gi2-row { display:grid; grid-template-columns:3.6vw 1fr; gap:1.6vw; align-items:center; padding:1.5vw 0; border-bottom:1px solid rgba(244,240,231,.22); color:var(--ivory); }
  .gi2-row:last-child { border-bottom:0; }
  .gi2-row .ico { width:3.6vw; height:3.6vw; border-radius:50%; border:1px solid rgba(216,168,62,.7); background:rgba(244,240,231,.06); display:inline-flex; align-items:center; justify-content:center; color:#E3C77A; }
  .gi2-row .ico svg { width:1.5vw; height:1.5vw; }
  .gi2-row b { display:block; font-family:var(--serif); font-weight:500; font-size:clamp(18px,1.4vw,22px); line-height:1.15; }
  .gi2-row span { font-size:14px; color:rgba(244,240,231,.8); }
  .gi2-row span a { color:#E3C77A; } .gi2-row span a:hover { color:var(--ivory); }
  a.gi2-row:hover { color:var(--ivory); } a.gi2-row:hover .ico { background:rgba(216,168,62,.18); }
  @media (max-width:1000px) { .gi2-body { grid-template-columns:1fr; } .gi2-form { padding:40px 24px; background-image:none !important; } .gi2-form .row2 { grid-template-columns:1fr; } .gi2-info { padding:40px 24px; border-left:0; } .gi2-row { grid-template-columns:52px 1fr; gap:16px; padding:18px 0; } .gi2-row .ico { width:52px; height:52px; } .gi2-row .ico svg { width:22px; height:22px; } .gi2-bt { left:24px; } .gi2-bt i { width:60px; margin-bottom:14px; } }

  .gi2-info { padding:4.6vw 4.4vw 4.6vw 4vw; }
  .gi2-ways { width:100%; display:flex; flex-direction:column; }
  .gi2-eye { display:inline-flex; align-items:center; gap:14px; font-size:11px; letter-spacing:.26em; text-transform:uppercase; font-weight:600; color:#E3C77A; margin-bottom:14px; }
  .gi2-eye i { width:44px; height:1px; background:#D8A83E; }
  .gi2-way { display:grid; grid-template-columns:1fr auto; align-items:center; gap:24px; padding:clamp(18px,1.6vw,26px) 0; border-top:1px solid rgba(244,240,231,.22); color:var(--ivory); transition:padding-left .25s; }
  .gi2-way:last-of-type { border-bottom:1px solid rgba(244,240,231,.22); }
  .gi2-way:hover { color:var(--ivory); padding-left:8px; }
  .gi2-way b { display:block; font-family:var(--serif); font-weight:500; font-size:clamp(20px,1.55vw,26px); line-height:1.1; margin-bottom:6px; }
  .gi2-way span { font-size:clamp(13px,.95vw,15px); color:rgba(244,240,231,.8); line-height:1.5; }
  .gi2-way i { color:#E3C77A; display:inline-flex; transition:transform .25s; }
  .gi2-way:hover i { transform:translateX(5px); }
  .gi2-contact { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; padding-top:22px; font-size:13px; }
  .gi2-contact > a { color:#E3C77A; letter-spacing:.04em; } .gi2-contact > a:hover { color:var(--ivory); }
  .gi2-contact .soc { display:flex; gap:18px; } .gi2-contact .soc a { color:rgba(244,240,231,.85); } .gi2-contact .soc a:hover { color:#E3C77A; }

  .gi2-bt { left:0; right:0; text-align:center; }
  .gi2-bt h2 { font-size:clamp(36px,4.6vw,76px); white-space:nowrap; }
  .gi2-banner::before { background:linear-gradient(180deg, rgba(14,36,30,.55) 0%, rgba(14,36,30,.35) 50%, rgba(14,36,30,.55) 100%); }
  /* ===== Footer ===== */
  .ft { background:#0F2B24; color:var(--ivory); padding:clamp(48px,6vw,72px) 0 28px; }
  .ft-top { display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:48px; align-items:start; padding-bottom:36px; border-bottom:1px solid rgba(244,240,231,.14); }
  .ft .logo { color:var(--ivory); font-family:var(--serif); font-weight:600; letter-spacing:.06em; font-size:22px; line-height:1; display:flex; }
  .ft .logo small { font-size:12px; letter-spacing:.32em; font-weight:500; }
  .ft .logo svg { color:#E3C77A; }
  .ft-brand p { margin:18px 0 0; font-family:var(--serif); font-size:clamp(18px,1.5vw,22px); line-height:1.4; color:rgba(244,240,231,.85); max-width:30ch; }
  .ft-eye { display:block; font-size:11px; letter-spacing:.24em; text-transform:uppercase; font-weight:600; color:#E3C77A; margin-bottom:14px; }
  .ft-contact, .ft-social { display:flex; flex-direction:column; gap:10px; font-size:15px; color:rgba(244,240,231,.85); }
  .ft-contact a, .ft-social a { color:rgba(244,240,231,.9); } .ft-contact a:hover, .ft-social a:hover { color:#E3C77A; }
  .ft-bottom { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; padding-top:22px; font-size:13px; color:rgba(244,240,231,.6); }
  .ft-up { color:rgba(244,240,231,.8); font-size:12px; letter-spacing:.14em; text-transform:uppercase; } .ft-up:hover { color:#E3C77A; }
  @media (max-width:900px) { .ft-top { grid-template-columns:1fr; gap:28px; } .gi2-bt h2 { white-space:normal; padding:0 24px; } }

  /* logo mark */
  .logo .mark { height:64px; width:auto; }
  .ft .logo .mark { height:60px; }
  .nav.over .logo .mark { filter:brightness(0) invert(1); opacity:.95; }
  /* footer icon row */
  .ft-icons { display:flex; gap:12px; }
  .ft-icons a { width:44px; height:44px; border-radius:50%; border:1px solid rgba(244,240,231,.35); display:inline-flex; align-items:center; justify-content:center; color:var(--ivory); transition:background .25s, border-color .25s, color .25s; }
  .ft-icons a svg { width:20px; height:20px; }
  .ft-icons a:hover { background:#E3C77A; border-color:#E3C77A; color:#0F2B24; }
  /* banner subtext */
  .gi2-bt p { margin:14px 0 0; font-size:clamp(14px,1.05vw,17px); line-height:1.6; color:rgba(244,240,231,.9); }
  .gi2-banner { height:calc(300 / 1672 * 100vw); min-height:250px; }
  /* hero: green accents in place of gold */
  .gbtn { background:#12362B; color:#F4F0E7; }
  .gbtn:hover { background:#1F5243; color:#F4F0E7; }
  .hero3-ghost { border-color:rgba(244,240,231,.7); color:#F4F0E7; }
  .nav.over .btn { background:#12362B; color:#F4F0E7; }
  .nav.over .btn:hover { background:#1F5243; color:#F4F0E7; }
  .hero3 h1 em { color:#C9A65A; }
  .ibar svg { stroke:#C9A65A; }
  .ibar .items i { background:rgba(244,240,231,.35); }
  .hero3::before { background:linear-gradient(90deg, rgba(14,36,30,.85) 0%, rgba(14,36,30,.6) 26%, rgba(14,36,30,.2) 50%, rgba(14,36,30,0) 70%); }
  .hero3::after { background:linear-gradient(0deg, rgba(14,36,30,.7) 0%, rgba(14,36,30,0) 32%); }
  /* preloader */
  .preload { position:fixed; inset:0; z-index:999; background:#000; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:22px; transition:opacity .6s ease, visibility .6s; }
  .preload img { width:150px; height:auto; animation:plpulse 1.6s ease-in-out infinite; }
  .preload span { color:#9a9a9a; font-size:12px; letter-spacing:.34em; text-transform:uppercase; font-family:var(--sans); }
  .preload.done { opacity:0; visibility:hidden; }
  @keyframes plpulse { 0%,100% { opacity:.75; transform:scale(.98); } 50% { opacity:1; transform:scale(1); } }
  @media (prefers-reduced-motion: reduce) { .preload img { animation:none; } }


  /* ===== PRESENTATION MODE: every section = one screen, no horizontal overflow ===== */
  html { scroll-snap-type:y mandatory; }
  body, main { overflow-x:hidden; }
  .hero3, .slide.about, .sec2, .b3, .slide.projects, .slide.partners, .gi2 { scroll-snap-align:start; scroll-snap-stop:always; }
  /* about */
  .slide.about { height:100vh !important; height:100svh !important; min-height:0 !important; overflow:hidden !important; padding:0 !important; display:flex; align-items:stretch; }
  .slide.about .wrap { height:100%; padding:calc(84px + 1.5vh) 0 1.6vh; display:flex; flex-direction:column; justify-content:space-between; gap:0; }
  .ab-grid { align-items:center; margin-bottom:0; }
  .ab-left .eyebrow { font-size:1.4vh; margin-bottom:.8vh; }
  .ab-left h2 { font-size:min(4.6vw, 5.6vh); line-height:1.04; }
  .ab-p { font-size:min(1.15vw,1.7vh); line-height:1.55; margin-top:1.4vh; }
  .ab-defs { margin-top:1.6vh; }
  .def { padding-top:1vh; } .def .w { font-size:min(2vw,2.8vh); } .def .m { font-size:min(1vw,1.45vh); margin-top:.4vh; }
  .ab-photo { aspect-ratio:auto; height:38vh; }
  .ab-stats { margin:0; padding:1.2vh 0; } .ab-stats .n { font-size:3.4vh; } .ab-stats .l { font-size:1.2vh; }
  .ab-mv { margin:0; gap:20px; } .mvc2 { padding:1.4vh 1.4vw; gap:14px; } .mvc2 .num { width:4.4vh; height:4.4vh; } .mvc2 .num svg { width:2.2vh; height:2.2vh; } .mvc2 .acard-eye { font-size:1.1vh; margin-bottom:.4vh; } .mvc2 p { font-size:1.7vh; line-height:1.35; }
  .ab-quote { margin:0; padding-top:1.2vh; } .ab-quote blockquote { font-size:2.1vh; padding-left:16px; } .ab-quote cite { font-size:1.1vh; margin-top:.3vh; } .ab-quote .motto { font-size:1.1vh; } .btn.big { min-height:4.8vh; padding:0 2vw; font-size:1.5vh; }
  .rep-bar { margin:0; padding:.8vh 1vw .8vh .8vh; } .rep-bar .ri { width:8vh; height:5.6vh; } .rep-bar .acard-eye { font-size:1vh; } .rep-bar .t { font-size:2vh; } .rep-bar .d { font-size:1.3vh; } .rep-bar .dl { min-height:4.2vh; font-size:1.35vh; padding:0 1.6vw; }
  /* purpose */
  .sec2 { height:100vh !important; height:100svh !important; min-height:0 !important; padding-top:84px; box-sizing:border-box; }
  /* blog */
  .b3 { height:100vh; height:100svh; padding-top:84px; box-sizing:border-box; display:flex; flex-direction:column; }
  .b3-grid { flex:1 1 auto; height:auto; min-height:0; }
  .b3-icons { flex:0 0 6vw; }
  .b3-bar { flex:0 0 2.2vw; background:#12362B; border-top:1px solid rgba(216,168,62,.35); }
  /* projects */
  .slide.projects { height:100vh !important; height:100svh !important; min-height:0 !important; overflow:hidden !important; padding:calc(84px + 2vh) 0 2vh !important; display:flex; align-items:center; }
  .proj-head { padding-bottom:1.6vh; margin-bottom:1.6vh; }
  .proj-head .eyebrow { font-size:1.3vh; margin-bottom:.5vh; }
  .proj-head h2 { font-size:min(3.4vw,4.6vh); }
  .proj-lead { font-size:min(1.1vw,1.7vh); line-height:1.55; margin-top:1vh; }
  .cats { margin-bottom:1.6vh; } .cats span { font-size:1.15vh; padding:.7vh 1vw; }
  .proj-grid { gap:1.8vw; }
  .proj-grid .pcard { gap:.7vh; }
  .proj-grid .pcard .ph { aspect-ratio:auto; height:34vh; border-radius:12px; }
  .proj-grid .pcard .cat { font-size:1.15vh; margin-top:.6vh; }
  .proj-grid .pcard .h { font-size:min(1.5vw,2.4vh); }
  .proj-grid .pcard .d { font-size:min(.95vw,1.5vh); line-height:1.45; }
  .proj-grid .pcard .tlink { font-size:1.1vh; }
  .projects .center { margin-top:1.8vh !important; } .projects .center .btn { min-height:4.6vh; font-size:1.45vh; padding:0 2vw; }
  .proj-grid .pcard:nth-child(2) .ph, .proj-grid .pcard:nth-child(4) .ph { margin-top:2.4vh; }
  .proj-grid .pcard .ph { position:relative; }
  .proj-grid .pcard .ph::before { content:""; position:absolute; inset:12px; border:1px solid rgba(244,240,231,.45); border-radius:8px; opacity:0; transition:opacity .35s; z-index:1; pointer-events:none; }
  .proj-grid .pcard:hover .ph::before { opacity:1; }
  .slide.projects .wrap { position:relative; }
  .slide.projects .wrap::before { content:"Projects"; position:absolute; right:0; top:-2vh; font-family:var(--serif); font-size:min(9vw,14vh); line-height:1; color:rgba(24,53,43,.05); pointer-events:none; letter-spacing:-.02em; }
  /* partners */
  .slide.partners { height:100vh !important; height:100svh !important; min-height:0 !important; overflow:hidden !important; padding:84px 0 0 !important; display:flex; align-items:center; }
  .partners h2 { font-size:min(3.6vw,5vh); }
  .logos .slot { min-height:14vh; }
  /* get involved */
  .gi2 { height:100vh; height:100svh; padding-top:84px; box-sizing:border-box; display:flex; flex-direction:column; }
  .gi2-banner { flex:0 0 26vh; height:auto; min-height:0; }
  .gi2-bt h2 { font-size:min(4.6vw,6.4vh); }
  .gi2-bt p { font-size:min(1.05vw,1.6vh); margin-top:1vh; }
  .gi2-body { flex:1 1 auto; min-height:0; }
  .gi2-form { padding:2.6vh 4vw 2vh 8vw; display:flex; align-items:center; }
  .gi2-form form { gap:1.2vh; width:100%; } .gi2-form .row2 { gap:1.2vh; }
  .gi2-lead { font-size:min(1.05vw,1.6vh); margin:0 0 1.4vh; }
  .fld input, .fld select, .fld textarea { min-height:5.8vh; padding:1.4vh 18px 1.4vh 52px; font-size:min(1vw,1.5vh); border-radius:12px; }
  .fld .ic { top:50%; transform:translateY(-50%); width:2.2vh; height:2.2vh; }
  .fld.ta .ic { top:2.2vh; transform:none; } .fld textarea { min-height:12vh; }
  .gi2-btn { min-height:5.4vh; width:220px; font-size:1.4vh; margin-top:0; }
  .gi2-info { padding:3vh 3vw 3vh 3vw; }
  .gi2-eye { font-size:1.1vh; margin-bottom:.8vh; }
  .gi2-way { padding:1.6vh 0; } .gi2-way b { font-size:min(1.4vw,2.4vh); margin-bottom:.3vh; } .gi2-way span { font-size:min(.9vw,1.4vh); }
  .gi2-contact { padding-top:1.4vh; font-size:1.25vh; }
  /* footer stays natural, not snapped */
  .ft { scroll-snap-align:end; }
  @media (max-width:1000px) {
    html { scroll-snap-type:none; }
    .slide.about, .slide.projects, .slide.partners { height:auto !important; overflow:visible !important; padding:64px 0 !important; }
    .sec2, .b3, .gi2 { height:auto !important; }
    .slide.about .wrap { height:auto; padding:0; }
    .ab-photo { height:auto; aspect-ratio:4/3; } .proj-grid .pcard .ph { height:auto; aspect-ratio:4/5; }
    .gi2-banner { flex:0 0 auto; min-height:220px; }
  }

  /* ===== GLOBAL: no horizontal overflow ===== */
  html, body { width:100%; max-width:100%; overflow-x:hidden; }
  * { box-sizing:border-box; }
  .b3-bar { display:none; }
  /* blog: green accent integrated */
  .b3-side { border-top:6px solid #12362B; }
  .b3-icons { border-bottom:6px solid #12362B; flex:0 0 6.4vw; }
  /* ===== PROJECT SHOWCASE — one project per screen ===== */
  .pshow { scroll-margin-top:0; }
  .ps { position:relative; height:100vh; height:100svh; overflow:hidden; background:#F4F0E7; scroll-snap-align:start; scroll-snap-stop:always; padding-top:84px; }
  .ps-img { position:absolute; top:84px; right:0; bottom:0; width:66%; background-size:cover; background-position:center; transform:scale(1.06); transition:transform 1.6s cubic-bezier(.22,1,.36,1); }
  .ps.in .ps-img { transform:scale(1); }
  .ps-img::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(244,240,231,.9) 0%, rgba(244,240,231,.35) 18%, rgba(244,240,231,0) 40%); }
  .ps.alt .ps-img { right:auto; left:0; }
  .ps.alt .ps-img::after { background:linear-gradient(270deg, rgba(244,240,231,.9) 0%, rgba(244,240,231,.35) 18%, rgba(244,240,231,0) 40%); }
  .ps-txt { position:absolute; left:7vw; top:50%; transform:translateY(-50%); width:44vw; z-index:2; display:flex; flex-direction:column; align-items:flex-start; }
  .ps.alt .ps-txt { left:auto; right:7vw; }
  .ps-tags { display:flex; align-items:center; gap:14px; font-size:min(.78vw,1.3vh); letter-spacing:.24em; text-transform:uppercase; font-weight:600; color:#C99A32; margin-bottom:2.4vh; }
  .ps-tags i { width:28px; height:1px; background:#C99A32; }
  .ps h3 { font-size:min(5.2vw,9vh); line-height:.98; letter-spacing:-.015em; color:var(--forest); max-width:12ch; }
  .ps p { font-size:min(1.15vw,1.9vh); line-height:1.65; color:var(--ink-2); max-width:38ch; margin:2.8vh 0 3.4vh; background:rgba(244,240,231,.72); padding:.6vh 0; }
  .ps-link { display:inline-flex; align-items:center; gap:14px; color:var(--forest); font-size:min(.85vw,1.4vh); letter-spacing:.2em; text-transform:uppercase; font-weight:600; padding-bottom:10px; position:relative; }
  .ps-link::after { content:""; position:absolute; left:0; bottom:0; height:1px; width:100%; background:#C99A32; transition:width .35s ease; }
  .ps-link svg { transition:transform .3s ease; }
  .ps-link:hover { color:var(--forest); } .ps-link:hover::after { width:calc(100% + 20px); } .ps-link:hover svg { transform:translateX(5px); }
  .ps-geo { position:absolute; inset:0; pointer-events:none; z-index:1; }
  .ps-geo .ring { position:absolute; left:5vw; bottom:8vh; width:12vw; height:12vw; border-radius:50%; border:1px solid rgba(24,53,43,.18); }
  .ps-geo .line { position:absolute; left:33.5vw; top:84px; bottom:0; width:1px; background:rgba(24,53,43,.14); }
  .ps.alt .ps-geo .ring { left:auto; right:5vw; } .ps.alt .ps-geo .line { left:auto; right:33.5vw; }
  .ps-count { position:absolute; right:3vw; bottom:4vh; writing-mode:vertical-rl; transform:rotate(180deg); font-size:min(.72vw,1.2vh); letter-spacing:.3em; text-transform:uppercase; color:rgba(24,53,43,.45); z-index:2; }
  .ps.alt .ps-count { right:auto; left:3vw; transform:none; }
  @media (max-width:1000px) {
    .ps { height:auto; min-height:80vh; padding:64px 0 48px; }
    .ps-img, .ps.alt .ps-img { position:relative; top:auto; width:100%; height:50vw; left:auto; right:auto; transform:none; }
    .ps-img::after, .ps.alt .ps-img::after { display:none; }
    .ps-txt, .ps.alt .ps-txt { position:static; transform:none; width:auto; padding:28px 24px 0; }
    .ps h3 { font-size:36px; } .ps p { font-size:15px; background:none; } .ps-tags { font-size:11px; } .ps-link { font-size:12px; }
    .ps-geo, .ps-count { display:none; }
  }

  .ps-txt { width:36vw; left:6vw; }
  .ps.alt .ps-txt { right:6vw; }
  .ps h3 { font-size:min(4.4vw,8vh); max-width:none; }
  .ps p { max-width:30vw; }
  .ps-img::after { background:linear-gradient(90deg, rgba(244,240,231,.96) 0%, rgba(244,240,231,.7) 14%, rgba(244,240,231,.25) 32%, rgba(244,240,231,0) 50%); }
  .ps.alt .ps-img::after { background:linear-gradient(270deg, rgba(244,240,231,.96) 0%, rgba(244,240,231,.7) 14%, rgba(244,240,231,.25) 32%, rgba(244,240,231,0) 50%); }

  html { scroll-snap-type:none !important; }
  .hero3, .slide.about, .sec2, .b3, .slide.projects, .slide.partners, .gi2, .ft, .ps { scroll-snap-align:none !important; scroll-snap-stop:normal !important; }
  .b3-bar { display:block; }
  .b3-side { border-top:0; } .b3-icons { border-bottom:0; flex:0 0 6vw; }

  /* natural scrolling: no header gaps between sections; each section still one screen (minus header) */
  .sec2 { padding-top:0; height:calc(100vh - 84px) !important; height:calc(100svh - 84px) !important; }
  .b3 { padding-top:0; height:calc(100vh - 84px); height:calc(100svh - 84px); }
  .gi2 { padding-top:0; height:calc(100vh - 84px); height:calc(100svh - 84px); }
  .slide.about { height:calc(100vh - 84px) !important; height:calc(100svh - 84px) !important; }
  .slide.about .wrap { padding:3vh 0 1.6vh; }
  .slide.projects { height:calc(100vh - 84px) !important; height:calc(100svh - 84px) !important; padding:3vh 0 2vh !important; }
  .slide.partners { height:calc(100vh - 84px) !important; height:calc(100svh - 84px) !important; padding:0 !important; }
  .ps-img { top:0; }
  @media (max-width:1000px) { .sec2, .b3, .gi2, .slide.about, .slide.projects, .slide.partners { height:auto !important; } }

  /* ===== PROJECTS — premium, clean ===== */
  .slide.projects { background:#F4F0E7 !important; }
  .slide.projects::before, .slide.projects::after, .slide.projects .wrap::before { display:none !important; content:none !important; }
  .proj-head { grid-template-columns:1fr 1fr; gap:24px 64px; align-items:end; border-bottom:1px solid rgba(24,53,43,.18); padding-bottom:2.2vh; margin-bottom:3vh; }
  .proj-head .eyebrow { grid-column:1; }
  .proj-head h2 { grid-column:1; font-size:min(3.6vw,5.2vh); }
  .proj-lead { grid-column:2; grid-row:1 / span 2; margin:0; max-width:46ch; font-size:min(1.05vw,1.65vh); line-height:1.65; align-self:end; }
  .cats { display:none; }
  .proj-grid { gap:2vw; }
  .proj-grid .pcard { gap:0; }
  .proj-grid .pcard .ph { height:36vh; border-radius:10px; box-shadow:none; margin:0 !important; overflow:hidden; }
  .proj-grid .pcard .ph::before { display:none; }
  .proj-grid .pcard .ph::after { background:linear-gradient(180deg, rgba(14,32,26,.18) 0%, rgba(14,32,26,0) 35%, rgba(14,32,26,.25) 100%); transition:opacity .4s; }
  .proj-grid .pcard:hover .ph { transform:none; box-shadow:0 22px 50px rgba(24,53,43,.16); }
  .proj-grid .pcard .ph { transition:box-shadow .4s ease, transform .5s ease; background-size:cover !important; background-position:center; }
  .proj-grid .pcard:hover .ph { transform:translateY(-4px); }
  .proj-grid .pcard .pill { position:absolute; left:14px; top:14px; z-index:2; font-size:10px; letter-spacing:.18em; text-transform:uppercase; font-weight:600; color:var(--forest); background:rgba(244,240,231,.92); padding:7px 11px; border-radius:999px; }
  .proj-grid .pcard .h { margin-top:2.2vh; padding-top:1.6vh; border-top:1px solid rgba(24,53,43,.18); position:relative; font-size:min(1.45vw,2.5vh); }
  .proj-grid .pcard .h::before { content:""; position:absolute; left:0; top:-1px; width:32px; height:2px; background:#C99A32; }
  .proj-grid .pcard .d { margin-top:1vh; font-size:min(.92vw,1.5vh); line-height:1.55; color:var(--ink-2); }
  .proj-grid .pcard .tlink { margin-top:1.4vh; font-size:11px; }
  .projects .center { margin-top:2.6vh !important; }
  .projects .center .btn { background:transparent; color:var(--forest); border:1px solid var(--forest); }
  .projects .center .btn:hover { background:var(--forest); color:var(--ivory); }
  @media (max-width:1000px) { .proj-head { grid-template-columns:1fr; } .proj-lead { grid-column:1; grid-row:auto; } .proj-grid .pcard .ph { height:auto; aspect-ratio:4/5; } }

  /* ===== PROJECTS — layout 2 ===== */
  .slide.projects { background-color:#F5F2EA !important; background-image:url(../images/site/projects-deco-top.png), url(../images/site/projects-deco-left.png), url(../images/site/projects-deco-bottom.png) !important; background-repeat:no-repeat !important; background-position:right top, left bottom, right bottom !important; background-size:7.9vw auto, 14.4vw auto, 31.2vw auto !important; }
  .proj-head { grid-template-columns:1fr; gap:0; border-bottom:0; padding-bottom:0; margin-bottom:3.4vh; }
  .proj-head .eyebrow { grid-column:1; position:relative; padding-left:26px; margin-bottom:.4vh; }
  .proj-head .eyebrow::before { content:""; position:absolute; left:0; top:-3px; bottom:-3px; width:1px; background:var(--forest); }
  .proj-head h2 { grid-column:1; font-size:min(4.2vw,6.2vh); line-height:1.02; }
  .proj-head h2 em { font-style:italic; color:#C99A32; }
  .proj-rule { display:block; width:64px; height:2px; background:#C99A32; margin:1.6vh 0 1.8vh; grid-column:1; }
  .proj-lead { grid-column:1; grid-row:auto; margin:0; max-width:64ch; font-size:min(1.05vw,1.65vh); }
  .proj-grid { gap:1.6vw; }
  .proj-grid .pcard { background:#fff; border-radius:16px; padding:10px 10px 14px; box-shadow:0 10px 30px rgba(24,53,43,.06); transition:transform .35s, box-shadow .35s; }
  .proj-grid .pcard:hover { transform:translateY(-4px); box-shadow:0 22px 50px rgba(24,53,43,.14); }
  .proj-grid .pcard .ph { height:31vh; border-radius:12px; margin:0 !important; }
  .proj-grid .pcard:hover .ph { transform:none; box-shadow:none; }
  .proj-grid .pcard .h { margin:1.6vh 8px 0; padding-top:1.2vh; border-top:0; }
  .proj-grid .pcard .h::before { top:0; }
  .proj-grid .pcard .d { margin:.8vh 8px 0; }
  .pc-foot { display:flex; justify-content:space-between; align-items:center; margin:1.4vh 8px 0; }
  .pc-arrow { width:32px; height:32px; border-radius:50%; border:1px solid #C99A32; display:inline-flex; align-items:center; justify-content:center; color:var(--forest); transition:background .25s, color .25s; }
  .pc-arrow svg { width:14px; height:auto; }
  .proj-grid .pcard:hover .pc-arrow { background:#C99A32; color:#fff; }
  .proj-grid .pcard .tlink { margin:0; font-size:11px; }
  .projects .center { margin-top:2.8vh !important; }
  @media (max-width:1000px) { .slide.projects { background-image:none !important; } .proj-grid .pcard .ph { height:auto; aspect-ratio:4/3; } }

  /* ===== Project detail panel (reuses Learn More styling) ===== */
  .pj-overlay { position:fixed; inset:0; background:rgba(16,24,20,.5); z-index:60; opacity:0; transition:opacity .4s ease; }
  .pj-overlay.open { opacity:1; }
  .pj-panel { position:fixed; top:0; right:0; bottom:0; width:100%; z-index:70; background:var(--ivory); color:var(--ink); transform:translateX(100%); transition:transform .45s cubic-bezier(.22,1,.36,1); overflow-y:auto; overscroll-behavior:contain; }
  .pj-panel.open { transform:translateX(0); }
  @media (prefers-reduced-motion: reduce) { .pj-panel, .pj-overlay { transition:none; } }
  .pcard { cursor:pointer; text-align:left; border:0; background:#fff; font-family:inherit; display:block; width:100%; text-decoration:none; }
  :focus-visible { outline:2px solid var(--ocean); outline-offset:3px; }

/* ===== Multi-page standalone-page fix: Partners is short content, don't force full-viewport height ===== */
.slide.partners { height:auto !important; min-height:0 !important; overflow:visible !important; padding:clamp(72px,9vh,112px) 0 !important; display:block !important; }

  /* ===== Multi-page override: Partners no longer needs to fill a screen ===== */
  .slide.partners { height:auto !important; min-height:0 !important; padding:clamp(64px,9vh,104px) 0 !important; overflow:visible !important; }

