
  :root{
    --paper:#F5F1E8; --paper-alt:#EDE7DA; --card:#FBF9F3;
    --green-deep:#123B28; --green:#164633; --green-mid:#2E6A4C; --green-footer:#0C2A1C;
    --ink:#1E2A24; --ink-soft:#233029; --body:#3C4A42; --muted:#5C6B62;
    --gold:#C58A3A; --eyebrow:#8A5A1F; --gold-hero:#D9A24E; --gold-accent:#F0B860;
    --peach:#F6C98A;
    --line:rgba(16,66,46,.16); --line-soft:rgba(16,66,46,.12);
    --on-deep:#EAF1EB;
    --r:6px; --maxw:1180px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--paper);color:var(--ink);
    line-height:1.6;-webkit-font-smoothing:antialiased}
  ::selection{background:var(--green);color:var(--paper)}
  a{color:inherit;text-decoration:none}
  img{display:block;max-width:100%}
  h1,h2,h3,h4,.serif{font-family:Platypi,Georgia,serif}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
  .sec{padding:100px 0}
  .eyebrow{font:600 13px/1.5 Inter,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--eyebrow);margin:0 0 18px}
  .eyebrow.gold{color:var(--gold-hero)}
  .h2{font:600 40px/1.14 Platypi,Georgia,serif;color:var(--green);letter-spacing:-.01em;margin:0 0 14px}
  .h2.light{color:var(--paper)}
  .lead{font:400 17px/1.7 Inter,sans-serif;color:var(--muted);max-width:640px}
  .lead.on-deep{color:rgba(234,241,235,.72)}
  .lead.full{max-width:none}
  .bg-alt{background:var(--paper-alt);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
  .bg-deep{background:var(--green-deep);color:var(--on-deep)}
  .bg-green{background:var(--green);color:var(--paper)}

  /* NAV */
  header.nav{position:sticky;top:0;z-index:50;background:rgba(245,241,232,.86);backdrop-filter:blur(10px);
    border-bottom:1px solid rgba(16,66,46,.14)}
  .nav-inner{max-width:var(--maxw);margin:0 auto;padding:16px 24px;display:flex;align-items:center;gap:28px}
  .brand{display:flex;align-items:center;gap:11px;margin-right:auto}
  .brand .mark{width:29px;height:26px;flex:0 0 auto}
  .brand .mark .m1{fill:var(--green)}
  .brand .mark .m2{fill:var(--peach)}
  footer.ft .brand .mark .m1{fill:var(--paper)}
  .brand span{font:600 17px/1 Platypi,Georgia,serif;color:var(--green);letter-spacing:.01em}
  .nav-links{display:flex;gap:26px;align-items:center}
  .nav-links a{font:500 14px/1 Inter,sans-serif;color:var(--body);padding:9px 12px;margin:-9px -12px;border-radius:6px;transition:color .18s,background .18s}
  .nav-links a:hover{color:var(--green);background:rgba(22,70,51,.08)}
  .nav-links .mob-contact{display:none}
  .lang{display:flex;flex:0 0 auto;border:1px solid rgba(16,66,46,.2);border-radius:4px;overflow:hidden;font:600 12px/1 Inter,sans-serif}
  .lang button{border:0;background:transparent;cursor:pointer;padding:7px 10px;color:var(--muted);font:inherit}
  .lang button.active{background:var(--green);color:var(--paper)}
  .nav-cta{font:600 14px/1 Inter,sans-serif;color:var(--green);border:1px solid var(--green);padding:9px 16px;border-radius:4px;transition:background .18s,color .18s}
  .nav-cta:hover{background:var(--green);color:var(--paper)}
  .nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:6px}
  .nav-toggle span{display:block;width:24px;height:2px;background:var(--green);margin:5px 0;border-radius:2px}

  /* HERO */
  .hero{position:relative;overflow:hidden;background:var(--green-deep);color:var(--on-deep)}
  .hero .orb1{position:absolute;right:-160px;bottom:-220px;width:620px;height:620px;border-radius:50%;
    background:radial-gradient(circle at 40% 40%,rgba(246,201,138,.55),rgba(246,201,138,0) 68%);pointer-events:none}
  .hero .orb2{position:absolute;left:-140px;top:-160px;width:420px;height:420px;border-radius:50%;
    background:radial-gradient(circle at 50% 50%,rgba(120,180,150,.22),rgba(120,180,150,0) 70%);pointer-events:none}
  .hero .inner{position:relative;max-width:var(--maxw);margin:0 auto;padding:104px 24px 92px}
  .hero .eyebrow{color:var(--gold-hero);margin-bottom:22px;max-width:640px}
  .hero-quote{position:relative;font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;
    font-size:clamp(1.55rem,2.9vw,2.1rem);line-height:1.34;color:#E6D6A0;max-width:660px;margin:2px 0 30px;padding-top:52px}
  .hero-quote::before{content:"\201C";position:absolute;top:8px;left:-2px;font-family:'Cormorant Garamond',Georgia,serif;
    font-weight:600;font-size:74px;line-height:1;color:rgba(176,201,184,.32)}
  .hero h1{font:600 62px/1.08 Platypi,Georgia,serif;letter-spacing:-.015em;margin:0 0 26px;max-width:900px;color:var(--paper)}
  .hero h1 .accent{color:var(--gold-accent)}
  .hero .tag{font:400 18px/1.7 Inter,sans-serif;color:rgba(234,241,235,.82);margin:0 0 36px;max-width:620px}
  .cta-row{display:flex;gap:14px;flex-wrap:wrap}
  .btn{font:600 15px/1 Inter,sans-serif;padding:15px 28px;border-radius:999px;display:inline-block;transition:opacity .18s}
  .btn:hover{opacity:.9}
  .btn-primary{background:var(--gold-accent);color:var(--green-deep)}
  .btn-ghost{color:var(--paper);border:1px solid rgba(245,241,232,.4)}
  .hero-cred{font:400 14px/1.6 Inter,sans-serif;color:rgba(234,241,235,.6);margin:34px 0 0;max-width:680px}

  /* STAT BAND */
  .stat-grid{max-width:var(--maxw);margin:0 auto;padding:52px 24px;display:grid;grid-template-columns:repeat(4,1fr)}
  .stat{padding:6px 28px;border-right:1px solid rgba(245,241,232,.16)}
  .stat:last-child{border-right:0}
  .stat .num{font:600 52px/1 Platypi,Georgia,serif;color:var(--gold-accent)}
  .stat .num sup{font-size:30px;vertical-align:baseline;line-height:1}
  .stat .lbl{font:400 14px/1.5 Inter,sans-serif;color:rgba(245,241,232,.78);margin-top:12px}

  /* STORY */
  .story-grid{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:start}
  .story p.body{font:400 17px/1.75 Inter,sans-serif;color:var(--body);margin:0 0 22px}
  .story .pull{margin:0 0 22px;padding:4px 0 4px 22px;border-left:2px solid var(--gold);
    font:italic 500 20px/1.5 Platypi,Georgia,serif;color:var(--green)}
  .story .portrait{aspect-ratio:4/5;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--card)}
  .story .portrait img{width:100%;height:100%;object-fit:cover}
  .story .pcap{font:400 14px/1.6 Inter,sans-serif;color:var(--muted);margin:16px 2px 0}
  /* Sticky right column so it fills the space beside the tall story text.
     The block must fit the viewport or the quote and caption pin below the
     fold. A fixed 4/5 portrait made it 711px — taller than most laptop
     viewports (a 1440x900 Mac gives ~760px), so sticky never engaged.
     Sizing the portrait in vh keeps the whole block proportional to whatever
     screen it lands on; object-fit:cover keeps the subject centred. */
  .story .story-grid>div:last-child{max-width:400px;margin-left:auto}
  .story .story-grid .pull{margin:22px 0 0}
  /* Three grid items in a two-column grid, so placement must be explicit —
     auto-placement would drop the narrative into the right-hand column. */
  @media(min-width:981px){
    .story .story-head{grid-column:1;grid-row:1}
    .story .story-body{grid-column:1;grid-row:2}
    .story .story-grid>div:last-child{grid-column:2;grid-row:1/3}
  }
  @media(min-width:981px) and (min-height:640px){
    .story .story-grid>div:last-child{position:sticky;top:88px;align-self:start}
    .story .story-grid .portrait{aspect-ratio:auto;height:min(46vh,460px)}
  }
  @media(prefers-reduced-motion:reduce){
    .story .story-grid>div:last-child{position:static;top:auto}
  }
  @media(max-width:980px){
    /* Heading, then portrait + quote, then narrative. order defaults to 0, so
       pushing only the body to 1 leaves head and media in DOM order ahead of it. */
    .story .story-body{order:1}
    .story .story-grid>div:last-child{max-width:420px;margin-left:0}
  }

  /* APPROACH */
  .appr-grid{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
  .appr-head{max-width:none}
  .appr-head .lead{max-width:none}
  .appr-head .h2{max-width:860px}
  .diagram-center{display:flex;justify-content:center;margin:48px 0 4px}
  .diagram-wrap{display:flex;justify-content:center}
  .diagram{position:relative;width:460px;height:460px;border-radius:50%;background:#E7F0EA;border:1px solid rgba(16,66,46,.10)}
  .diagram .rl{position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap;font:700 15px/1 Inter,sans-serif;color:#1E4635}
  .ring{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;border:3px solid #fff}
  .r5>.rl{top:28px}
  .r4{width:376px;height:376px;background:#D3E4DA}
  .r4>.rl{top:24px}
  .r3{width:292px;height:292px;background:#B7D5C4}
  .r3>.rl{top:22px;color:#17402F}
  .r2{width:208px;height:208px;background:#8FBFA6}
  .r2>.rl{top:16px;color:#123B28}
  .r1{width:140px;height:140px;background:#1E4E3A;border:4px solid #fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}
  .r1 .person{width:38px;height:38px;flex:0 0 auto}
  .r1 .rl-c{color:#fff;font:700 15px/1 Inter,sans-serif}
  .mod-intro{font:400 15px/1.6 Inter,sans-serif;color:var(--body);margin:24px 0 0}
  .modality{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
  /* Approach: philosophy pillars + modalities (click-to-expand) */
  .appr-sub{font:italic 500 21px/1.32 Platypi,Georgia,serif;color:var(--gold);margin:54px 0 20px;max-width:820px}
  .acc-grid{display:grid;gap:14px;align-items:start}
  .acc-2col{grid-template-columns:1fr 1fr}
  .acc-4col{grid-template-columns:repeat(4,1fr);align-items:start;margin-top:16px}
  .acc-item{background:var(--card);border:1px solid var(--line);border-radius:var(--r)}
  .acc-item.open{border-color:rgba(197,138,58,.5)}
  .acc-head{width:100%;display:flex;align-items:center;gap:14px;text-align:left;background:none;border:0;cursor:pointer;padding:20px 22px;font:inherit}
  .acc-no{flex:0 0 auto;font:600 13px/1 Platypi,Georgia,serif;color:var(--gold)}
  .acc-t{flex:1;font:600 16px/1.36 Platypi,Georgia,serif;color:var(--green)}
  .acc-ic{flex:0 0 auto;width:16px;height:16px;position:relative}
  .acc-ic::before,.acc-ic::after{content:"";position:absolute;background:var(--gold);border-radius:2px}
  .acc-ic::before{top:7px;left:1px;width:14px;height:2px}
  .acc-ic::after{top:1px;left:7px;width:2px;height:14px;transition:transform .28s ease}
  .acc-item.open .acc-ic::after{transform:scaleY(0)}
  .acc-body{max-height:0;overflow:hidden;transition:max-height .32s ease}
  .acc-item.open .acc-body{max-height:520px}
  .acc-body p{padding:0 22px 20px;font:400 14.5px/1.66 Inter,sans-serif;color:var(--body);margin:0}
  @media(max-width:860px){.acc-4col{grid-template-columns:1fr 1fr}}
  @media(max-width:680px){.acc-2col,.acc-4col{grid-template-columns:1fr}.appr-sub{font-size:18px;margin-top:40px}}
  .modality span{font:500 13px/1 Inter,sans-serif;color:var(--green);border:1px solid rgba(16,66,46,.2);padding:8px 14px;border-radius:3px}

  /* SERVICES */
  .cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  .card{border:1px solid var(--line);border-radius:var(--r);padding:32px;background:var(--card)}
  .card .no{font:600 14px/1 Platypi,Georgia,serif;color:var(--gold);margin-bottom:22px}
  .card h3{font:600 22px/1.3 Platypi,Georgia,serif;color:var(--green);margin:0 0 14px}
  .card p{font:400 15px/1.65 Inter,sans-serif;color:var(--body);margin:0 0 20px}
  .card ul{list-style:none;padding:18px 0 0;border-top:1px solid var(--line-soft)}
  .card ul li{font:400 14px/1.5 Inter,sans-serif;color:var(--muted);padding:5px 0}

  /* PILLARS */
  .pillars{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
  .pillar{background:var(--card);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
  .pillar .band{padding:20px 18px 18px;color:#fff}
  .pillar .band .no{font:700 13px/1 Inter,sans-serif;color:rgba(255,255,255,.62);margin-bottom:12px}
  .pillar .band h3{font:600 19px/1.25 Platypi,Georgia,serif;color:#fff;margin:0;min-height:2.5em}
  .pillar ul{list-style:none;padding:18px;flex:1}
  .pillar ul li{font:400 14px/1.5 Inter,sans-serif;color:var(--body);padding:5px 0;border-bottom:1px solid rgba(16,66,46,.09)}
  .pillar ul li:last-child{border-bottom:0}

  /* PROGRAMS */
  .prog-sub{font:italic 500 20px/1.3 Platypi,Georgia,serif;color:var(--gold);margin:0 0 20px}
  .prog-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:56px}
  .prog-card{border:1px solid var(--line);border-radius:var(--r);padding:26px;background:var(--card)}
  .prog-card .tag{font:600 11px/1 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--eyebrow)}
  .prog-card h4{font:600 19px/1.32 Platypi,Georgia,serif;color:var(--green);margin:14px 0 12px}
  .prog-card p{font:400 14px/1.6 Inter,sans-serif;color:var(--muted);margin:0}
  .event-list{border-top:1px solid var(--line)}
  .event{display:flex;gap:28px;align-items:baseline;padding:20px 4px;border-bottom:1px solid var(--line-soft);flex-wrap:wrap}
  .event .yr{font:600 15px/1 Platypi,Georgia,serif;color:var(--gold);min-width:52px}
  .event .ti{font:500 18px/1.4 Platypi,Georgia,serif;color:var(--green)}
  .event .org{font:400 13px/1.4 Inter,sans-serif;color:var(--muted);margin-left:auto;white-space:nowrap;letter-spacing:.02em}
  @media(max-width:680px){.event .org{margin-left:80px;white-space:normal}}

  /* GALLERY */
  .gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
  .gal figure{margin:0}
  .gal .ph{aspect-ratio:3/2;border:1px solid var(--line);border-radius:5px;overflow:hidden;background:var(--card)}
  .gal .ph img{width:100%;height:100%;object-fit:cover}
  .gal figcaption{font:500 14px/1.45 Inter,sans-serif;color:#2E3A33;margin:12px 2px 2px}
  .gal .org{font:400 13px/1.4 Inter,sans-serif;color:var(--muted);margin:0 2px}

  /* TESTIMONIALS */
  .tgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
  .tcard{position:relative;margin:0;border:1px solid var(--line);border-radius:var(--r);padding:28px 30px 30px;background:var(--card)}
  .tcard::before{content:"\201C";position:absolute;top:12px;left:28px;font:italic 700 54px/1 Platypi,Georgia,serif;color:rgba(22,70,51,.16)}
  .tcard p{position:relative;font:italic 400 19px/1.55 Platypi,Georgia,serif;color:var(--ink-soft);margin:28px 0 18px}
  .tcard footer{font:600 13px/1.4 Inter,sans-serif;color:var(--eyebrow);letter-spacing:.02em}
  .t-note{font:400 17px/1.7 Inter,sans-serif;color:var(--muted);margin:0 0 26px;max-width:640px}
  .tcard-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
  .story-card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:30px 30px 28px;display:flex;flex-direction:column}
  .story-card .who{font:600 16px/1.3 Platypi,Georgia,serif;color:var(--green)}
  .story-card .ctx{display:block;font:400 13px/1.45 Inter,sans-serif;color:var(--muted);margin-top:4px}
  .story-card .reflection{position:relative;font:italic 400 18px/1.6 Platypi,Georgia,serif;color:var(--ink-soft);margin:18px 0 0;padding-top:28px}
  .story-card .reflection::before{content:"\201C";position:absolute;top:0;left:-2px;font:italic 700 50px/1 Platypi,Georgia,serif;color:rgba(22,70,51,.16)}
  .story-card.wide{grid-column:1/-1}
  .story-card.wide .reflection{max-width:82ch;font-size:19px}
  .advice-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
  .advice-card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:28px 30px 30px;display:flex;flex-direction:column}
  .advice-card::before{content:"\201C";position:absolute;top:12px;left:28px;font:italic 700 54px/1 Platypi,Georgia,serif;color:rgba(22,70,51,.16)}
  .advice-card p{position:relative;font:italic 400 19px/1.55 Platypi,Georgia,serif;color:var(--ink-soft);margin:28px 0 18px}
  .advice-card footer{margin-top:auto;font:600 13px/1.4 Inter,sans-serif;color:var(--eyebrow);letter-spacing:.02em}

  /* MEDIA */
  .media-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:44px}
  .yt-card{border:1px solid rgba(245,241,232,.18);border-radius:var(--r);overflow:hidden}
  .yt-facade{position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;padding:0;margin:0;cursor:pointer;background:#0d2c1e;overflow:hidden}
  .yt-facade img{width:100%;height:100%;object-fit:cover}
  .yt-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
  .yt-play span{width:56px;height:56px;border-radius:50%;border:1.5px solid rgba(245,241,232,.85);display:flex;align-items:center;justify-content:center;color:#F5F1E8;font-size:20px;background:rgba(18,59,40,.35)}
  .yt-card iframe{display:block;width:100%;aspect-ratio:16/9;border:0}
  .yt-meta{padding:20px}
  .yt-meta .ti{font:600 16px/1.4 Platypi,Georgia,serif;color:var(--paper)}
  .yt-meta .src{font:400 13px/1.4 Inter,sans-serif;color:rgba(234,241,235,.6);margin-top:6px}
  .yt-meta .watch{display:inline-block;margin-top:8px;font:600 13px/1 Inter,sans-serif;color:var(--gold-hero)}
  .vov-list{border-top:1px solid rgba(245,241,232,.16)}
  .vov{display:flex;gap:20px;align-items:baseline;padding:16px 2px;border-bottom:1px solid rgba(245,241,232,.12);transition:background .15s}
  .vov:hover{background:rgba(245,241,232,.04)}
  .vov .out{font:600 12px/1 Inter,sans-serif;letter-spacing:.08em;color:var(--gold-hero);min-width:130px}
  .vov .ti{font:500 16px/1.45 Inter,sans-serif;color:var(--on-deep)}
  .vov .dt{font:400 13px/1 Inter,sans-serif;color:rgba(234,241,235,.55);margin-left:auto;white-space:nowrap}
  .media-more{margin-top:28px;margin-bottom:44px}
  .media-more a{font:600 14px/1 Inter,sans-serif;color:var(--gold-hero);border:1px solid rgba(245,241,232,.28);padding:11px 20px;border-radius:4px;display:inline-block}

  /* CREDENTIALS + PUBLICATIONS */
  .cred{border-top:2px solid var(--green);padding-top:22px}
  .cred h3{font:600 18px/1.3 Platypi,Georgia,serif;color:var(--green);margin:0 0 16px}
  .cred .k{font:600 15px/1.5 Inter,sans-serif;color:var(--ink-soft);margin:0 0 4px}
  .cred .v{font:400 14px/1.55 Inter,sans-serif;color:var(--muted);margin:0 0 16px}
  .cred .v:last-child{margin-bottom:0}
  /* matte credential blocks */
  .credblk{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .cb{border-radius:14px;padding:34px 30px 32px;position:relative;overflow:hidden;min-height:268px;display:flex;flex-direction:column}
  .cb::after{content:"";position:absolute;right:-40px;top:-40px;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.06)}
  .cb .ic{width:52px;height:52px;border-radius:13px;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;margin-bottom:22px}
  .cb .ic svg{width:27px;height:27px;stroke:var(--peach);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .cb h3{font:600 21px/1.25 Platypi,Georgia,serif;color:#FBF9F4;margin:0 0 20px}
  .cb .row{padding:13px 0;border-top:1px solid rgba(245,241,232,.16)}
  .cb .row:first-of-type{border-top:0;padding-top:0}
  .cb .ck{font:600 15.5px/1.4 Inter,sans-serif;color:#FBF9F4;display:block;margin:0}
  .cb .cv{font:400 13.5px/1.45 Inter,sans-serif;color:rgba(245,241,232,.74);display:block;margin:2px 0 0}
  .pub-sub{font:600 15px/1.3 Platypi,Georgia,serif;color:var(--green);border-top:2px solid var(--green);padding-top:18px;margin:0 0 14px}
  .pub-list{list-style:none;max-width:960px}
  .pub-list li{font:400 14.5px/1.6 Inter,sans-serif;color:var(--body);padding:9px 0;border-bottom:1px solid var(--line-soft)}
  .pub-list li:last-child{border-bottom:0}
  .pub-list b{color:var(--green)}
  .pub-list i{color:var(--muted)}
  .pub-list a{color:var(--green);font-weight:600;border-bottom:1px solid rgba(22,70,51,.35)}

  /* CONTACT */
  .contact{padding:68px 0}
  .contact-inner{max-width:1000px;margin:0 auto;text-align:center}
  .contact h2{font:600 44px/1.12 Platypi,Georgia,serif;color:var(--paper);letter-spacing:-.015em;margin:0 0 16px}
  .contact .lead{color:rgba(234,241,235,.72);margin:0 auto 44px}
  .cta-row.center{justify-content:center}
  .privacy-note{display:flex;gap:9px;align-items:flex-start;font:400 12.5px/1.5 Inter,sans-serif;color:var(--muted)}
  .privacy-note svg{width:15px;height:15px;flex:0 0 auto;margin-top:2px;stroke:var(--gold);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .privacy-note b{color:var(--green);font-weight:600}
  .privacy-note.center{justify-content:center;text-align:left;max-width:660px;margin:40px auto 0;
    color:rgba(234,241,235,.55);padding-top:20px;border-top:1px solid rgba(245,241,232,.14)}
  .privacy-note.center b{color:var(--gold-hero)}

  /* FOOTER */
  footer.ft{background:var(--green-footer);color:rgba(234,241,235,.7);padding:56px 24px;text-align:center}
  footer.ft .brand{justify-content:center;margin:0 0 14px}
  footer.ft .brand span{color:var(--paper)}
  footer.ft .fsoc{display:flex;gap:22px;justify-content:center;margin-bottom:18px;font:500 14px/1 Inter,sans-serif}
  footer.ft .fsoc a{color:rgba(234,241,235,.8)}
  footer.ft .fsoc a:hover{color:var(--paper)}
  footer.ft .cp{font:400 13px/1.5 Inter,sans-serif;margin:0}

  /* CONSENT BANNER (analytics opt-in, injected by app.js) */
  .consent{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--green-deep);
    border-top:1px solid rgba(245,241,232,.16);padding:15px 24px;
    display:flex;gap:20px;align-items:center;justify-content:center;flex-wrap:wrap}
  .consent-txt{font:400 13px/1.5 Inter,sans-serif;color:rgba(234,241,235,.82);max-width:620px;margin:0}
  .consent-btns{display:flex;gap:10px;flex:0 0 auto}
  .consent button{font:600 13px/1 Inter,sans-serif;padding:10px 18px;border-radius:5px;cursor:pointer;border:1px solid transparent}
  .consent-accept{background:var(--gold-accent);color:var(--green-deep)}
  .consent-decline{background:transparent;color:var(--on-deep);border-color:rgba(245,241,232,.4)}
  @media(max-width:560px){
    .consent{justify-content:flex-start}
    .consent-btns{width:100%}
    .consent button{flex:1}
  }

  /* RESPONSIVE */
  @media(max-width:980px){
    .sec{padding:80px 0}
    .hero h1{font-size:48px}
    .story-grid,.appr-grid{grid-template-columns:1fr;gap:40px}
    .story .portrait{max-width:420px}
    .cols3,.credblk{grid-template-columns:1fr 1fr}
    .pillars{grid-template-columns:repeat(2,1fr)}
    .prog-cards{grid-template-columns:1fr 1fr}
    .stat-grid{grid-template-columns:repeat(2,1fr);gap:24px 0}
    .stat{border-bottom:1px solid rgba(245,241,232,.16)}
    .stat:nth-child(2){border-right:0}
    .media-grid,.tgrid,.tcard-grid,.advice-grid{grid-template-columns:1fr}
    .story-card.wide .reflection{max-width:none;font-size:18px}
    .cred-grid{grid-template-columns:1fr;gap:32px}
  }
  @media(max-width:680px){
    .sec{padding:64px 0}
    .hero h1{font-size:38px}
    .contact h2{font-size:34px}
    .nav-links{position:absolute;top:64px;left:0;right:0;background:var(--paper);flex-direction:column;
      align-items:flex-start;gap:0;padding:8px 24px 18px;border-bottom:1px solid var(--line);display:none}
    .nav-links.open{display:flex}
    .nav-links a{padding:11px 0;margin:0;width:100%;border-radius:0}
    .nav-toggle{display:block}
    .nav-cta{display:none}
    .nav-links .mob-contact{display:block}
    .cols3,.credblk,.pillars,.prog-cards,.gal-grid{grid-template-columns:1fr}
    .gal-grid{grid-template-columns:1fr 1fr}
    .stat-grid{grid-template-columns:1fr}
    .stat{border-right:0}
    .diagram{width:300px;height:300px}
    .r4{width:245px;height:245px}.r3{width:190px;height:190px}.r2{width:135px;height:135px}.r1{width:96px;height:96px}
    .diagram .rl{font-size:12px}
    .r5>.rl{top:12px}.r4>.rl{top:10px}.r3>.rl{top:9px}.r2>.rl{top:8px}
    .r1 .person{width:28px;height:28px}
  }

/* ===== multi-page: nav dropdowns, active state, home summaries ===== */
.nav-drop{position:relative;display:flex;align-items:center}
.nav-drop>.subm{position:absolute;top:100%;left:0;margin-top:8px;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:6px 0;min-width:150px;box-shadow:0 12px 30px rgba(16,66,46,.13);display:none;flex-direction:column;z-index:80}
.nav-drop:hover>.subm{display:flex}
.subm a{padding:9px 18px;white-space:nowrap;font:500 13.5px/1.2 Inter,sans-serif;color:var(--body)}
.subm a:hover{color:var(--green);background:rgba(22,70,51,.08)}
.nav-links a.active{color:var(--green)}
.home-sums{display:flex;flex-direction:column}
.hsum{max-width:860px;padding:48px 0;border-top:1px solid var(--line)}
.hsum:first-child{border-top:0;padding-top:4px}
.hsum .h2{margin:8px 0 16px}
.hsum .lead{color:var(--body);margin:0}
.hsum .more{display:inline-block;margin-top:22px;font:600 15px/1 Inter,sans-serif;color:var(--green-mid);border-bottom:2px solid var(--peach);padding-bottom:4px;transition:color .18s}
.hsum .more:hover{color:var(--gold)}
@media(max-width:680px){
  .nav-drop{flex-direction:column;align-items:flex-start;width:100%}
  .nav-drop>.subm{position:static;display:flex;box-shadow:none;border:0;background:none;padding:2px 0 6px 14px;margin:0;min-width:0}
  .subm a{padding:8px 0}
  .hsum{padding:36px 0}
}


/* ===== homepage v2: alternating split sections ===== */
.split{display:grid;grid-template-columns:1.05fr .95fr;background:var(--paper);align-items:stretch}
.split-copy{display:flex;flex-direction:column;justify-content:center;padding:110px 72px 110px max(72px,calc((100vw - var(--maxw))/2 + 24px))}
.split-copy .h2{margin:0 0 16px}
.split .body{font:400 17px/1.75 Inter,sans-serif;color:var(--body);max-width:560px;margin:0 0 18px}
.pull{max-width:560px;margin:0 0 22px;padding:4px 0 4px 22px;border-left:2px solid var(--gold);font:italic 500 20px/1.5 Platypi,Georgia,serif;color:var(--green);text-wrap:pretty}
.split-copy .pull{margin:6px 0 0}
.split .more,.story-band .more{display:inline-block;align-self:flex-start;margin-top:26px;font:600 15px/1 Inter,sans-serif;color:var(--green-mid);border-bottom:2px solid var(--peach);padding-bottom:4px;transition:color .18s}
.split .more:hover,.story-band .more:hover{color:var(--gold)}
.split-panel{margin:28px 28px 28px 0;border-radius:28px;min-height:584px}
.split-panel.deep{background:var(--green-deep);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:64px 40px}
.split-panel.photo{position:relative;overflow:hidden}
.split-panel.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 30%}

/* person-in-environment (dark) */
.pie{position:relative;width:460px;height:460px;max-width:100%;flex:0 0 auto}
.pie .pc{position:absolute;border-radius:50%;background:rgba(245,241,232,.05)}
.pc5{inset:0;border:1px solid rgba(245,241,232,.22)}
.pc4,.pc3,.pc2,.pc1{left:50%;top:50%;transform:translate(-50%,-50%)}
.pc4{width:83.5%;height:83.5%;border:1px solid rgba(245,241,232,.26)}
.pc3{width:62.6%;height:62.6%;background:rgba(245,241,232,.06);border:1px solid rgba(245,241,232,.3)}
.pc2{width:42.6%;height:42.6%;background:rgba(245,241,232,.07);border:1px solid rgba(245,241,232,.34)}
.pie .pc1{width:24.3%;height:24.3%;background:var(--gold-accent);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.pie .pl{position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap;font:600 14px/1 Inter,sans-serif;color:rgba(245,241,232,.88)}
.pc5>.pl{top:22px}.pc4>.pl{top:20px}.pc3>.pl{top:18px}.pc2>.pl{top:15px}
.pperson{width:30px;height:30px;fill:var(--green-deep)}
.plc{font:700 13px/1 Inter,sans-serif;color:var(--green-deep)}
.pie-cap{font:400 14px/1.6 Inter,sans-serif;color:rgba(234,241,235,.6);text-align:center;margin:0;max-width:400px}

/* story band */
.story-band{position:relative;background:var(--paper-alt);color:var(--ink);overflow:hidden;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.story-band .band-mark{position:absolute;right:-130px;top:50%;transform:translateY(-46%) rotate(-8deg);width:520px;height:470px;opacity:.18}
.story-band .inner{position:relative;max-width:var(--maxw);margin:0 auto;padding:110px 24px}
.story-band .copy{display:flex;flex-direction:column;max-width:960px}
.story-band .copy .h2{margin:0 0 22px}
.story-band .body{font:400 17px/1.75 Inter,sans-serif;color:var(--body);margin:0 0 18px}
.story-band .body:last-of-type{margin-bottom:0}

/* services numbered list */
.svc-list{display:flex;flex-direction:column;max-width:560px;margin-top:10px}
.svc{display:flex;gap:18px;align-items:baseline;padding:16px 0;border-top:1px solid var(--line)}
.svc:last-child{border-bottom:1px solid var(--line)}
.svc .no{font:600 14px/1 Platypi,Georgia,serif;color:var(--gold);flex:0 0 24px}
.svc p{font:400 15.5px/1.6 Inter,sans-serif;color:var(--body);margin:0}
.svc b{font-weight:600;color:var(--green)}

@media(max-width:980px){
  .split{grid-template-columns:1fr}
  .split-copy{padding:80px 24px 40px}
  .split-panel{margin:0 24px 64px;min-height:0}
  .split-panel.photo{min-height:420px}
  .split-panel.deep{padding:48px 24px}
  .story-band .band-mark{width:340px;height:307px;right:-110px;top:auto;bottom:-60px;transform:rotate(-8deg)}
  .pie{width:380px;height:380px}
}
@media(max-width:680px){
  .pie{width:300px;height:300px}
  .pie .pl{font-size:12px}
  .pc5>.pl{top:12px}.pc4>.pl{top:11px}.pc3>.pl{top:10px}.pc2>.pl{top:8px}
  .pperson{width:22px;height:22px}
}

/* Bilingual service note (homepage summary) + tagline (services page) */
.svc-bi{display:flex;gap:11px;align-items:center;align-self:flex-start;max-width:560px;margin-top:26px;padding-top:16px;border-top:1px solid var(--line-soft)}
.svc-bi svg{width:19px;height:19px;flex:0 0 auto;stroke:var(--gold);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.svc-bi p{font:400 13.5px/1.55 Inter,sans-serif;color:var(--muted);margin:0}
.svc-bi b{color:var(--green);font-weight:600}
.svc-bi-sub{font:italic 500 16.5px/1.4 Platypi,Georgia,serif;color:var(--gold);margin:12px 0 18px;max-width:none;white-space:nowrap}
@media(max-width:860px){.svc-bi-sub{white-space:normal}}
