@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');
:root{--navy:#082635;--navy2:#10394e;--ink:#12242d;--cream:#fbf8f1;--sand:#efe8dc;--gold:#d7a33f;--gold2:#f0c45f;--white:#fff;--muted:#64747c;--line:rgba(10,39,56,.15);--max:1180px;--top-stack-height:122px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--top-stack-height) + 18px)}body{margin:0;padding-top:var(--top-stack-height);font-family:"DM Sans",system-ui,sans-serif;color:var(--ink);background:var(--cream);line-height:1.65;overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(var(--max),calc(100% - 42px));margin:auto}.eyebrow{font-size:.77rem;letter-spacing:.17em;text-transform:uppercase;font-weight:700;color:var(--gold)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:"Playfair Display",Georgia,serif;font-weight:600;letter-spacing:-.035em}h1{font-size:clamp(3.45rem,7.2vw,7.2rem);line-height:.9;margin-bottom:28px}h2{font-size:clamp(2.5rem,4.6vw,4.8rem);line-height:1.03;margin-bottom:24px}h3{font-size:1.16rem;margin-bottom:8px}.lede{font-size:clamp(1.08rem,1.6vw,1.32rem);color:#42545e;max-width:720px}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:999;background:#fff;padding:10px 14px}.top-stack{position:fixed;inset:0 0 auto 0;z-index:100}.crisis{background:#061d2b;color:#e9f0f2;font-size:.82rem;padding:8px 0;text-align:center}.crisis a{text-decoration:underline;color:white;text-underline-offset:3px}header{position:relative;background:rgba(251,248,241,.88);backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);border-bottom:1px solid rgba(10,39,56,.09)}.nav{height:80px;display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative}.brand{display:flex;align-items:center;gap:11px;font-weight:700;z-index:102}.brand img{width:44px;height:44px}.brand b{display:block;font-size:1rem;line-height:1}.brand small{display:block;font-size:.65rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-top:5px}.links{display:flex;align-items:center;gap:27px;font-size:.88rem;font-weight:600}.links>a:not(.btn){position:relative}.links>a:not(.btn):after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--gold);transition:right .35s ease}.links>a:not(.btn):hover:after{right:0}.menu{display:none;width:44px;height:44px;border:0;background:transparent;position:relative;z-index:103;padding:10px}.menu span{display:block;width:26px;height:2px;background:var(--navy);margin:6px auto;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .25s ease}.nav.open .menu span:nth-child(1){transform:translateY(8px) rotate(45deg)}.nav.open .menu span:nth-child(2){opacity:0}.nav.open .menu span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.menu-meta{display:none}
.btn{display:inline-flex;align-items:center;gap:11px;padding:14px 19px;border:0;font-weight:700;font-size:.91rem;transition:transform .3s ease,background .3s ease,color .3s ease,box-shadow .3s ease;background:var(--navy);color:#fff}.btn:hover{transform:translateY(-3px);background:var(--navy2);box-shadow:0 12px 32px rgba(8,38,53,.14)}.btn.light{background:#fff;color:var(--navy)}.btn.gold{background:var(--gold2);color:var(--navy)}.btn.ghost{background:transparent;color:var(--navy);box-shadow:inset 0 0 0 1px rgba(10,39,56,.34)}.btn.ghost:hover{background:var(--navy);color:white}.btn-row{display:flex;gap:12px;flex-wrap:wrap}
/* full-bleed home hero */
.hero{position:relative;overflow:hidden;padding:0 0 46px}.hero-slider>.wrap{width:100%;max-width:none;margin:0}.hero-visual{position:relative;width:100%;min-height:clamp(600px,74vh,810px);overflow:hidden;background:#0d2c3d}.hero-slides,.hero-slide{position:absolute;inset:0;margin:0}.hero-slide{opacity:0;transition:opacity 1.15s ease}.hero-slide.active{opacity:1}.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:70% center;transform:scale(1.035);transition:transform 7s ease}.hero-slide.active img{transform:scale(1)}.hero-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(38px,5vw,72px) max(22px,calc((100vw - var(--max))/2));background:linear-gradient(90deg,rgba(4,22,32,.66) 0%,rgba(4,22,32,.38) 35%,rgba(4,22,32,.05) 68%,rgba(4,22,32,.06) 100%),linear-gradient(180deg,rgba(3,20,30,.12) 0%,transparent 48%,rgba(3,20,30,.46) 100%)}.hero-headline{max-width:730px}.hero-headline h1{color:white;margin:0;text-shadow:0 3px 28px rgba(0,0,0,.4)}.hero-headline em{color:var(--gold2);font-style:italic}.hero-bottom{max-width:760px}.hero-eyebrow{color:#f5d793;text-shadow:0 2px 16px rgba(0,0,0,.7);font-size:clamp(.72rem,1vw,.9rem)}.hero-dots{position:absolute;right:max(22px,calc((100vw - var(--max))/2));bottom:28px;display:flex;gap:8px}.hero-dots span{width:28px;height:2px;background:rgba(255,255,255,.38);transition:background .4s,width .4s}.hero-dots span.active{width:48px;background:var(--gold2)}.hero-copy{width:min(var(--max),calc(100% - 42px));margin:0 auto;padding-top:34px}.hero-copy .lede{max-width:850px}.hero-note{margin-top:26px;display:flex;gap:24px;flex-wrap:wrap;color:#53636b;font-size:.83rem}.hero-note span{display:flex;align-items:center;gap:8px}.hero-note i{width:7px;height:7px;border-radius:50%;background:var(--gold)}
/* clean text sections */
.pathways{background:#fff}.path-grid{display:grid;grid-template-columns:1fr 1fr;width:min(var(--max),calc(100% - 42px));margin:auto}.path{padding:72px 6vw 72px 0;min-height:310px;position:relative}.path+ .path{padding-left:6vw;padding-right:0;border-left:1px solid var(--line)}.path .num{font-family:"Playfair Display";font-size:4.2rem;color:rgba(10,39,56,.075);position:absolute;right:18px;top:36px}.path p{max-width:510px;color:#5a6a72}.section,.block{padding:112px 0}.section.tinted,.block[style*="background"]{background:var(--sand)!important}.section.dark{background:var(--navy);color:white}.section.dark .lede,.section.dark p{color:#cbd6db}.intro-grid,.two{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;margin-top:58px}.card{background:transparent;border:0;border-top:1px solid var(--line);padding:27px 0 0;min-height:0}.card .icon{font-size:1.45rem;margin-bottom:22px;color:var(--gold)}.card p{color:#66757c;font-size:.92rem}.approach{display:grid;grid-template-columns:repeat(5,1fr);gap:28px;margin-top:55px;border:0}.step{padding:26px 0 0;background:transparent;min-height:0;border:0;border-top:1px solid rgba(10,39,56,.19)}.step span{font-family:"Playfair Display";font-size:2.6rem;color:var(--gold)}.step p{font-size:.87rem;color:#66757c}.funder-grid{display:grid;grid-template-columns:1fr 1fr;gap:78px;align-items:start}.framework{background:transparent;color:inherit;padding:0;box-shadow:none;border-top:1px solid rgba(255,255,255,.24)}.framework-row{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.16)}.framework-row b{color:var(--gold2)}.section:not(.dark) .framework-row{border-bottom-color:var(--line)}.snapshot{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:58px}.snapshot div{border:0;border-top:1px solid rgba(255,255,255,.2);padding:18px 0 0}.snapshot strong{display:block;color:var(--gold2);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}.snapshot span{display:block;margin-top:7px;font-size:.92rem}.leader{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:center}.leader-art{min-height:390px;background:linear-gradient(135deg,#0b2c3e,#16485f);position:relative;overflow:hidden}.leader-art:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 18%,rgba(240,196,95,.2),transparent 38%)}.leader-art:before{content:"CMF";position:absolute;right:-8px;bottom:-62px;font-family:"Playfair Display";font-size:13rem;color:rgba(255,255,255,.05)}.leader-art .quote{position:absolute;z-index:2;left:10%;top:14%;right:10%;color:white;font-family:"Playfair Display";font-size:2.4rem;line-height:1.12}.leader-art .quote span{display:block;font-family:"DM Sans";font-size:.82rem;color:#d4dee2;margin-top:25px}.info-band{background:var(--gold2);color:var(--navy);padding:44px 0}.info-band .wrap{display:flex;justify-content:space-between;gap:30px;align-items:center}.info-band h3{font-family:"Playfair Display";font-size:2.05rem;margin:0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:48px}.contact-card{background:transparent;border:0;padding:10px 46px 10px 0}.contact-card+ .contact-card{padding-left:46px;padding-right:0;border-left:1px solid var(--line)}.contact-card small{display:block;color:var(--muted);margin-bottom:10px}
/* secondary page full-width photography */
.page-hero{min-height:clamp(560px,70vh,760px);display:flex;align-items:flex-end;position:relative;overflow:hidden;color:#fff;padding:0}.page-hero:before{content:"";position:absolute;inset:0;background-size:cover;background-position:72% center;transform:scale(1.02)}.page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,23,34,.72),rgba(3,23,34,.42) 42%,rgba(3,23,34,.08) 75%),linear-gradient(180deg,rgba(3,23,34,.06),rgba(3,23,34,.52))}.support-hero:before{background-image:url('hero-slide-3.webp')}.partner-hero:before{background-image:url('hero-slide-2.webp')}.page-hero>.wrap{position:relative;z-index:2;padding:70px 0;max-width:var(--max);width:min(var(--max),calc(100% - 42px))}.page-hero h1{font-size:clamp(3.5rem,7vw,6.8rem);max-width:850px;text-shadow:0 3px 28px rgba(0,0,0,.38)}.page-hero .lede{color:#eef4f6;max-width:780px;text-shadow:0 2px 14px rgba(0,0,0,.28)}.page-hero .eyebrow{color:var(--gold2)}
.list{display:grid;gap:0}.list div{background:transparent;border:0;border-bottom:1px solid var(--line);padding:23px 0}.list div:first-child{border-top:1px solid var(--line)}.list strong{display:block;margin-bottom:5px}.notice{background:transparent;border:0;border-left:3px solid var(--gold);padding:4px 0 4px 22px;font-size:.92rem}.table{border:0;background:transparent}.tr{display:grid;grid-template-columns:210px 1fr;border-bottom:1px solid var(--line)}.tr:first-child{border-top:1px solid var(--line)}.tr>*{padding:18px 0}.tr b{background:transparent;padding-right:22px}.tr span{padding-left:22px}
footer{background:#061b28;color:#c9d3d8;padding:62px 0 30px}.foot-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:46px}.foot-brand{display:flex;gap:13px;align-items:flex-start}.foot-brand img{width:56px}.foot-brand strong{color:white;font-size:1.2rem}.foot-brand p{font-size:.84rem;max-width:530px;margin-top:10px}.foot-col strong{display:block;color:white;margin-bottom:12px}.foot-col a{display:block;font-size:.86rem;margin:7px 0;transition:color .25s,transform .25s}.foot-col a:hover{color:var(--gold2);transform:translateX(3px)}.legal{border-top:1px solid rgba(255,255,255,.12);margin-top:38px;padding-top:20px;font-size:.76rem;color:#8ea0aa}
/* motion */
.reveal{opacity:0;transform:translateY(28px);filter:blur(4px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1),filter .8s ease;transition-delay:var(--delay,0ms)}.reveal.show{opacity:1;transform:none;filter:none}.card,.step,.framework-row,.snapshot>div,.list>div,.tr{transition:transform .3s ease,color .3s ease}.card:hover,.step:hover,.list>div:hover{transform:translateY(-4px)}
@media(max-width:900px){
  .menu{display:block}.links{position:fixed;top:calc(var(--top-stack-height) - 2px);left:0;right:0;height:calc(100dvh - var(--top-stack-height) + 2px);display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:0;padding:18px max(22px,calc((100vw - var(--max))/2)) 0;background:linear-gradient(180deg,rgba(247,244,237,.58) 0%,rgba(247,244,237,.50) 58%,rgba(247,244,237,.60) 100%);backdrop-filter:blur(17px) saturate(132%);-webkit-backdrop-filter:blur(17px) saturate(132%);border-top:0;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-10px);transition:opacity .34s ease,transform .46s cubic-bezier(.16,1,.3,1),visibility .34s}.nav.open .links{opacity:1;visibility:visible;pointer-events:auto;transform:none}.links>a{font-family:"Playfair Display";font-size:clamp(1.8rem,6vw,3rem);padding:10px 0;width:100%;opacity:0;transform:translateY(14px);text-shadow:0 1px 16px rgba(251,248,241,.7);transition:opacity .32s ease,transform .46s cubic-bezier(.16,1,.3,1),color .25s}.links .btn{font-family:"DM Sans";font-size:.95rem;width:auto;margin-top:12px;padding:13px 18px;text-shadow:none}.nav.open .links>a{opacity:1;transform:none}.nav.open .links>a:nth-child(1){transition-delay:.05s}.nav.open .links>a:nth-child(2){transition-delay:.09s}.nav.open .links>a:nth-child(3){transition-delay:.13s}.nav.open .links>a:nth-child(4){transition-delay:.17s}.nav.open .links>a:nth-child(5){transition-delay:.21s}.links>a:not(.btn):after{display:none}.menu-meta{display:flex!important;width:calc(100% + (max(22px,calc((100vw - var(--max))/2)) * 2));margin-left:calc(max(22px,calc((100vw - var(--max))/2)) * -1);margin-top:auto;padding:15px max(22px,calc((100vw - var(--max))/2)) max(16px,env(safe-area-inset-bottom));align-items:center;justify-content:space-between;gap:16px;border-top:1px solid rgba(8,38,53,.14);background:rgba(247,244,237,.30);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.menu-meta a{font-family:"DM Sans"!important;font-size:.73rem!important;letter-spacing:.02em;padding:0!important;width:auto!important;opacity:0;transform:translateY(8px);white-space:nowrap;text-shadow:none!important}.nav.open .menu-meta a{opacity:.82;transform:none;transition-delay:.26s}.nav.open .menu-meta a:last-child{transition-delay:.30s}.menu-meta a:hover{opacity:1;color:var(--navy)}
  .intro-grid,.funder-grid,.leader,.two{grid-template-columns:1fr;gap:42px}.path-grid{grid-template-columns:1fr}.path{padding:58px 0}.path+.path{padding:58px 0;border-left:0;border-top:1px solid var(--line)}.cards{grid-template-columns:1fr 1fr}.approach{grid-template-columns:1fr 1fr}.snapshot{grid-template-columns:1fr 1fr}.foot-grid{grid-template-columns:1fr}.info-band .wrap{align-items:flex-start;flex-direction:column}.page-hero:before{background-position:68% center}
}
@media(max-width:560px){
  .wrap{width:calc(100% - 28px)}.crisis{font-size:.78rem;line-height:1.5;padding:9px 12px}.menu-meta{gap:10px}.menu-meta a{font-size:.69rem!important}.nav{height:72px}.brand small{display:none}.brand img{width:40px;height:40px}.hero-visual{min-height:560px}.hero-overlay{padding:26px 16px 28px}.hero-headline h1{font-size:3.55rem;line-height:.9;max-width:340px}.hero-eyebrow{font-size:.69rem;letter-spacing:.13em;max-width:310px}.hero-dots{right:16px;bottom:24px}.hero-slide img{object-position:72% center}.hero-copy{width:calc(100% - 28px);padding-top:28px}.hero-copy .lede{font-size:1.12rem}.btn-row{flex-direction:column;align-items:stretch}.btn{justify-content:center}.hero-note{gap:12px 18px}.section,.block{padding:78px 0}.cards,.approach,.snapshot,.contact-grid{grid-template-columns:1fr}.cards{gap:28px}.contact-card,.contact-card+.contact-card{padding:26px 0;border-left:0}.contact-card+.contact-card{border-top:1px solid var(--line)}.leader-art{min-height:320px}.leader-art .quote{font-size:1.9rem}.page-hero{min-height:620px}.page-hero>.wrap{width:calc(100% - 28px);padding:48px 0}.page-hero h1{font-size:3.5rem}.page-hero:before{background-position:74% center}.tr{grid-template-columns:1fr}.tr b,.tr span{padding:14px 0}.tr span{padding-top:0}.info-band h3{font-size:1.75rem}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;filter:none;transition:none}.hero-slide,.hero-slide img,.links,.links a{transition:none!important}}


/* ===== v1.6 mobile menu refinement ===== */
@media (max-width:900px){
  .top-stack{z-index:100}
  .nav{position:relative}
  .nav.open .links{
    position:fixed;
    left:0;
    right:0;
    top:var(--stack-height, 0px);
    bottom:0;
    margin:0;
    padding:18px 26px 88px;
    gap:22px;
    overflow-y:auto;
    background:rgba(247,243,234,.88);
    backdrop-filter:blur(20px) saturate(115%);
    -webkit-backdrop-filter:blur(20px) saturate(115%);
    border:0;
    border-top:1px solid rgba(10,39,56,.06);
    box-shadow:0 18px 60px rgba(6,27,40,.14);
    transform-origin:top center;
    animation:menuGlassIn .34s cubic-bezier(.22,.8,.24,1) both;
  }
  .nav.open .links::before{
    content:"";
    position:fixed;
    left:0;
    right:0;
    top:var(--stack-height, 0px);
    bottom:0;
    z-index:-1;
    pointer-events:none;
    background:linear-gradient(180deg,rgba(251,248,241,.18),rgba(251,248,241,.34));
  }
  .nav.open .links > a{
    font-family:"Playfair Display",Georgia,serif;
    font-size:clamp(2rem,7.8vw,3.05rem);
    line-height:1.02;
    font-weight:600;
    letter-spacing:-.03em;
    width:100%;
    padding:0;
    margin:0;
    opacity:0;
    transform:translateY(14px);
    animation:menuItemIn .38s ease forwards;
  }
  .nav.open .links > a:nth-child(1){animation-delay:.03s}
  .nav.open .links > a:nth-child(2){animation-delay:.07s}
  .nav.open .links > a:nth-child(3){animation-delay:.11s}
  .nav.open .links > a:nth-child(4){animation-delay:.15s}
  .nav.open .links > a.btn{display:none!important}
  .menu-contact-bar{
    display:none;
  }
  .nav.open .menu-contact-bar{
    display:grid;
    grid-template-columns:1fr 1fr;
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    min-height:68px;
    align-items:center;
    background:rgba(9,36,51,.94);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    border-top:1px solid rgba(255,255,255,.12);
    z-index:115;
    animation:menuContactIn .34s .12s ease both;
  }
  .menu-contact-bar a,
  .menu-contact-bar .phone-pending{
    min-width:0;
    padding:14px 18px;
    display:flex;
    align-items:center;
    gap:9px;
    color:#fff;
    font-size:.76rem;
    font-weight:700;
    letter-spacing:.01em;
    white-space:nowrap;
  }
  .menu-contact-bar a:first-child{
    border-right:1px solid rgba(255,255,255,.12);
  }
  .menu-contact-bar a:last-child,
  .menu-contact-bar .phone-pending{
    justify-content:flex-end;
  }
  .menu-contact-bar svg{
    width:17px;
    height:17px;
    flex:0 0 auto;
    stroke:var(--gold2);
    stroke-width:1.8;
    fill:none;
  }
}
@keyframes menuGlassIn{
  from{opacity:0;transform:translateY(-10px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes menuItemIn{
  to{opacity:1;transform:translateY(0)}
}
@keyframes menuContactIn{
  from{opacity:0;transform:translateY(14px)}
  to{opacity:1;transform:translateY(0)}
}


/* ===== v1.7 mobile menu structure ===== */
@media (max-width:900px){
  .top-stack{
    z-index:120;
  }

  /* Header always remains visible above menu */
  header{
    z-index:122;
  }

  .nav{
    position:relative;
    z-index:123;
  }

  /* Full menu begins exactly at bottom of fixed stack — no seam/gap */
  .links,
  .nav.open .links{
    position:fixed!important;
    top:var(--stack-height, var(--top-stack-height))!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0 26px 0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:0!important;
    overflow-y:auto!important;
    background:rgba(247,244,237,.92)!important;
    backdrop-filter:blur(18px) saturate(118%)!important;
    -webkit-backdrop-filter:blur(18px) saturate(118%)!important;
    border:0!important;
    border-top:0!important;
    box-shadow:none!important;
  }

  .links{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-8px);
    transition:
      opacity .30s ease,
      transform .42s cubic-bezier(.16,1,.3,1),
      visibility .30s;
  }

  .nav.open .links{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
  }

  /* First item comes up close to the header: no empty visible strip */
  .nav.open .links > a:first-child{
    margin-top:0!important;
    padding-top:14px!important;
  }

  .nav.open .links > a:not(.btn){
    font-family:"Playfair Display",Georgia,serif;
    font-size:clamp(2rem,7.8vw,3.05rem);
    line-height:1.02;
    font-weight:600;
    letter-spacing:-.03em;
    width:100%;
    padding:10px 0;
    margin:0;
    color:var(--navy);
    opacity:0;
    transform:translateY(14px);
    text-shadow:none;
    animation:menuItemIn .38s ease forwards;
  }

  .nav.open .links > a:nth-child(1){animation-delay:.03s}
  .nav.open .links > a:nth-child(2){animation-delay:.07s}
  .nav.open .links > a:nth-child(3){animation-delay:.11s}
  .nav.open .links > a:nth-child(4){animation-delay:.15s}

  /* Desktop Connect CTA not shown in mobile menu */
  .nav.open .links > a.btn{
    display:none!important;
  }

  /* ONE contact strip, anchored by flex layout to bottom of menu */
  .menu-contact-bar{
    display:none!important;
  }

  .nav.open .links .menu-contact-bar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    width:calc(100% + 52px);
    margin-left:-26px;
    margin-top:auto;
    flex:0 0 auto;
    min-height:72px;
    padding-bottom:max(0px,env(safe-area-inset-bottom));
    align-items:center;
    background:rgba(8,38,53,.96);
    border-top:1px solid rgba(255,255,255,.11);
    box-shadow:0 -14px 32px rgba(6,27,40,.12);
    position:relative!important;
    inset:auto!important;
    z-index:2;
    animation:menuContactIn .35s .12s ease both;
  }

  .nav.open .links .menu-contact-bar a,
  .nav.open .links .menu-contact-bar .phone-pending{
    display:flex;
    min-width:0;
    align-items:center;
    gap:9px;
    padding:16px 18px;
    color:#fff;
    font-family:"DM Sans",system-ui,sans-serif!important;
    font-size:.72rem!important;
    line-height:1.2;
    font-weight:700;
    letter-spacing:.01em;
    white-space:nowrap;
    opacity:1!important;
    transform:none!important;
    text-shadow:none!important;
  }

  .nav.open .links .menu-contact-bar a{
    border-right:1px solid rgba(255,255,255,.13);
  }

  .nav.open .links .menu-contact-bar .phone-pending{
    justify-content:flex-end;
  }

  .nav.open .links .menu-contact-bar svg{
    width:17px;
    height:17px;
    flex:0 0 auto;
    stroke:var(--gold2);
    stroke-width:1.8;
    fill:none;
  }

  .nav.open .links .menu-contact-bar span{
    overflow:hidden;
    text-overflow:ellipsis;
  }
}

/* remove the obsolete v1.6 pseudo backdrop behavior */
@media (max-width:900px){
  .nav.open .links::before{
    display:none!important;
  }
}


/* ===== v1.8 clean mobile overlay menu ===== */
.crisis-inner{
  width:min(1180px,calc(100% - 40px));
  margin:0 auto;
}
.crisis-inner span{display:inline}
.crisis-inner span + span::before{content:" "}

.mobile-menu-panel{display:none}

@media (max-width:900px){
  /* Crisis bar: exactly two compact lines on normal mobile widths */
  .crisis{
    padding:8px 0 9px!important;
    font-size:12px!important;
    line-height:1.35!important;
    letter-spacing:0!important;
  }
  .crisis-inner{
    width:100%!important;
    max-width:430px!important;
    padding:0 10px!important;
    margin:0 auto!important;
    text-align:center;
  }
  .crisis-inner span{
    display:block!important;
    white-space:nowrap;
  }
  .crisis-inner span + span::before{content:""!important}

  /* Desktop links never serve as the mobile menu */
  .nav .links{
    display:none!important;
  }

  .menu{
    position:relative;
    z-index:141!important;
  }

  /* Independent mobile overlay */
  .mobile-menu-panel{
    display:flex;
    position:fixed;
    z-index:138;
    top:var(--top-stack-height, 0px);
    left:0;
    right:0;
    bottom:0;
    flex-direction:column;
    background:rgba(247,244,237,.92);
    backdrop-filter:blur(18px) saturate(118%);
    -webkit-backdrop-filter:blur(18px) saturate(118%);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-8px);
    transition:
      opacity .28s ease,
      transform .42s cubic-bezier(.16,1,.3,1),
      visibility .28s;
    overflow:hidden;
  }

  .mobile-menu-panel.open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
  }

  .mobile-menu-links{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    padding:0 26px 22px;
  }

  .mobile-menu-links a{
    display:block;
    width:100%;
    padding:10px 0;
    margin:0;
    color:var(--navy);
    font-family:"Playfair Display",Georgia,serif;
    font-size:clamp(2rem,7.8vw,3.05rem);
    line-height:1.03;
    font-weight:600;
    letter-spacing:-.03em;
    opacity:0;
    transform:translateY(14px);
  }

  .mobile-menu-panel.open .mobile-menu-links a{
    animation:menuItemIn .40s cubic-bezier(.22,.8,.24,1) forwards;
  }
  .mobile-menu-panel.open .mobile-menu-links a:nth-child(1){animation-delay:.03s}
  .mobile-menu-panel.open .mobile-menu-links a:nth-child(2){animation-delay:.08s}
  .mobile-menu-panel.open .mobile-menu-links a:nth-child(3){animation-delay:.13s}
  .mobile-menu-panel.open .mobile-menu-links a:nth-child(4){animation-delay:.18s}

  /* First link is intentionally tight to the header: no blank gap */
  .mobile-menu-links a:first-child{
    padding-top:8px!important;
  }

  /* One contact strip, always at bottom of open menu */
  .mobile-menu-contact{
    flex:0 0 auto;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    min-height:68px;
    padding-bottom:env(safe-area-inset-bottom);
    background:rgba(8,38,53,.97);
    border-top:1px solid rgba(255,255,255,.12);
    box-shadow:0 -12px 32px rgba(6,27,40,.12);
    opacity:0;
    transform:translateY(12px);
  }

  .mobile-menu-panel.open .mobile-menu-contact{
    animation:menuContactIn .34s .14s ease forwards;
  }

  .mobile-menu-contact a,
  .mobile-menu-contact .phone-pending{
    display:flex;
    align-items:center;
    min-width:0;
    gap:9px;
    padding:15px 18px;
    color:white;
    font-family:"DM Sans",system-ui,sans-serif;
    font-size:.72rem;
    line-height:1.2;
    font-weight:700;
    white-space:nowrap;
  }

  .mobile-menu-contact a{
    border-right:1px solid rgba(255,255,255,.13);
  }

  .mobile-menu-contact .phone-pending{
    justify-content:flex-end;
  }

  .mobile-menu-contact svg{
    width:17px;
    height:17px;
    flex:0 0 auto;
    stroke:var(--gold2);
    stroke-width:1.8;
    fill:none;
  }

  .mobile-menu-contact span{
    overflow:hidden;
    text-overflow:ellipsis;
  }

  body.menu-open{
    overflow:hidden;
  }
}

@media (max-width:350px){
  .crisis{font-size:11px!important}
  .crisis-inner{padding:0 6px!important}
}


/* ===== v1.9 mobile menu reliability fix ===== */
@media (max-width:900px){
  .top-stack{
    z-index:200!important;
  }

  .mobile-menu-panel{
    position:fixed!important;
    top:var(--top-stack-height, 120px)!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    z-index:190!important;
    display:flex!important;
    flex-direction:column!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(-8px)!important;
    background:rgba(247,244,237,.93)!important;
    backdrop-filter:blur(18px) saturate(118%)!important;
    -webkit-backdrop-filter:blur(18px) saturate(118%)!important;
    transition:
      opacity .28s ease,
      transform .42s cubic-bezier(.16,1,.3,1),
      visibility .28s!important;
  }

  .mobile-menu-panel.open{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateY(0)!important;
  }

  .mobile-menu-links{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    padding:4px 26px 22px!important;
  }

  .mobile-menu-links a:first-child{
    padding-top:4px!important;
    margin-top:0!important;
  }

  .mobile-menu-contact{
    margin-top:auto!important;
  }

  .menu{
    display:block!important;
    cursor:pointer!important;
    touch-action:manipulation!important;
    pointer-events:auto!important;
  }

  .nav.open .menu span:nth-child(1){
    transform:translateY(8px) rotate(45deg)!important;
  }
  .nav.open .menu span:nth-child(2){
    opacity:0!important;
  }
  .nav.open .menu span:nth-child(3){
    transform:translateY(-8px) rotate(-45deg)!important;
  }

  body.menu-open{
    overflow:hidden!important;
    touch-action:none;
  }

  .crisis{
    padding:7px 0 8px!important;
  }
  .crisis-inner{
    max-width:460px!important;
  }
}


/* v1.10: custom crop tuning for hero slide 2 */
.hero-slide:nth-child(2) img{
  object-position: 62% center;
}
@media (max-width: 900px){
  .hero-slide:nth-child(2) img{
    object-position: 64% center;
  }
}


/* v1.11: support hero crop adjustment to reveal more of the man on the right */
.support-hero:before{
  background-position: 80% center;
}
@media (max-width: 900px){
  .support-hero:before{
    background-position: 84% center;
  }
}
@media (max-width: 560px){
  .support-hero:before{
    background-position: 87% center;
  }
}


/* ===== v1.12 inquiry modal ===== */
button.btn{
  font:inherit;
  cursor:pointer;
}
.inquiry-modal{
  position:fixed;
  inset:0;
  z-index:500;
  display:grid;
  align-items:end;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .28s ease, visibility .28s;
}
.inquiry-modal.open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.inquiry-backdrop{
  position:absolute;
  inset:0;
  border:0;
  margin:0;
  padding:0;
  background:rgba(4,22,32,.54);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  opacity:0;
  transition:opacity .34s ease;
}
.inquiry-modal.open .inquiry-backdrop{opacity:1}
.inquiry-sheet{
  position:relative;
  z-index:1;
  width:min(860px,calc(100% - 28px));
  max-height:min(88vh,900px);
  margin:0 auto 14px;
  padding:32px;
  overflow:auto;
  background:rgba(251,248,241,.98);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 30px 90px rgba(3,20,30,.28);
  transform:translateY(34px) scale(.985);
  opacity:0;
  transition:transform .46s cubic-bezier(.16,1,.3,1),opacity .28s ease;
}
.inquiry-modal.open .inquiry-sheet{
  transform:translateY(0) scale(1);
  opacity:1;
}
.inquiry-top{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:flex-start;
  padding-bottom:24px;
}
.inquiry-top h2{
  margin:5px 0 0;
  font-size:clamp(2.25rem,5vw,4rem);
}
.inquiry-close{
  width:44px;
  height:44px;
  flex:0 0 44px;
  position:relative;
  border:0;
  background:transparent;
  cursor:pointer;
}
.inquiry-close span{
  position:absolute;
  width:28px;
  height:2px;
  left:8px;
  top:21px;
  background:var(--navy);
}
.inquiry-close span:first-child{transform:rotate(45deg)}
.inquiry-close span:last-child{transform:rotate(-45deg)}

.inquiry-options{
  border:0;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  background:rgba(10,39,56,.12);
}
.inquiry-options legend{
  width:100%;
  padding:0 0 12px;
  background:var(--cream);
  font-weight:700;
  color:var(--navy);
}
.inquiry-option{
  position:relative;
  display:block;
  padding:19px 18px;
  background:var(--cream);
  cursor:pointer;
  transition:background .22s ease,color .22s ease,transform .22s ease;
}
.inquiry-option:hover{
  background:#f1eadb;
}
.inquiry-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.inquiry-option span{display:block}
.inquiry-option strong{
  display:block;
  color:var(--navy);
  font-size:.94rem;
  margin-bottom:5px;
}
.inquiry-option small{
  display:block;
  color:#63737b;
  line-height:1.45;
  font-size:.78rem;
}
.inquiry-option:has(input:checked){
  background:var(--navy);
}
.inquiry-option:has(input:checked) strong,
.inquiry-option:has(input:checked) small{
  color:white;
}
.inquiry-option:has(input:focus-visible){
  outline:3px solid var(--gold2);
  outline-offset:-3px;
}

.inquiry-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:26px;
}
.inquiry-fields label,
.inquiry-message{
  display:grid;
  gap:8px;
}
.inquiry-fields label>span,
.inquiry-message>span{
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--navy);
}
.inquiry-fields small{
  text-transform:none;
  letter-spacing:0;
  color:#7a878d;
  font-weight:500;
}
.inquiry-fields input,
.inquiry-fields select,
.inquiry-message textarea{
  width:100%;
  border:0;
  border-bottom:1px solid rgba(10,39,56,.28);
  background:transparent;
  border-radius:0;
  padding:12px 2px;
  color:var(--ink);
  font:inherit;
  outline:none;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.inquiry-fields input:focus,
.inquiry-fields select:focus,
.inquiry-message textarea:focus{
  border-bottom-color:var(--gold);
  box-shadow:0 2px 0 var(--gold);
}
.inquiry-message{
  margin-top:24px;
}
.inquiry-message textarea{
  min-height:118px;
  resize:vertical;
}
.inquiry-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
  margin-top:28px;
  padding-top:24px;
  border-top:1px solid var(--border);
}
.inquiry-actions p{
  margin:0;
  max-width:530px;
  color:#69777e;
  font-size:.78rem;
  line-height:1.45;
}
.inquiry-submit{
  flex:0 0 auto;
}
body.inquiry-open{
  overflow:hidden;
}

@media(max-width:700px){
  .inquiry-sheet{
    width:100%;
    max-height:91vh;
    margin:0;
    padding:24px 18px calc(18px + env(safe-area-inset-bottom));
    border:0;
  }
  .inquiry-top{padding-bottom:18px}
  .inquiry-top h2{font-size:2.7rem}
  .inquiry-options{grid-template-columns:1fr}
  .inquiry-option{padding:16px 14px}
  .inquiry-fields{grid-template-columns:1fr;gap:14px}
  .inquiry-actions{
    align-items:stretch;
    flex-direction:column;
  }
  .inquiry-submit{
    width:100%;
    justify-content:center;
  }
}

@media(prefers-reduced-motion:reduce){
  .inquiry-modal,.inquiry-backdrop,.inquiry-sheet{transition:none!important}
}


/* ===== v1.13 compressed information architecture ===== */
.compact-section{padding:82px 0}
.compact-heading{
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:60px;
  align-items:end;
  margin-bottom:42px;
}
.compact-heading h2{margin-bottom:0}
.compact-heading>p{
  margin:0;
  max-width:620px;
  color:#5f6e75;
  font-size:1.04rem;
}
.dark .compact-heading>p{color:#c9d4d9}

.explore-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.explore-item{
  appearance:none;
  border:0;
  border-right:1px solid var(--border);
  background:transparent;
  min-height:250px;
  padding:28px 24px 24px;
  text-align:left;
  color:var(--ink);
  cursor:pointer;
  display:flex;
  flex-direction:column;
  transition:background .25s ease,transform .25s ease;
}
.explore-item:last-child{border-right:0}
.explore-item:hover{background:rgba(216,162,62,.08);transform:translateY(-2px)}
.explore-icon{
  width:45px;height:45px;
  display:grid;place-items:center;
  color:var(--gold);
  margin-bottom:38px;
}
.explore-icon svg{width:100%;height:100%;stroke:currentColor;stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
.explore-copy strong{display:block;font-family:"Playfair Display",Georgia,serif;font-size:1.45rem;color:var(--navy);line-height:1.05}
.explore-copy small{display:block;color:#6c7a80;font-size:.82rem;line-height:1.5;margin-top:9px}
.learn-more{margin-top:auto;padding-top:25px;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--navy)}
.learn-more i{font-style:normal;color:var(--gold);margin-left:7px;transition:transform .2s ease;display:inline-block}
.explore-item:hover .learn-more i{transform:translate(3px,-3px)}

.explore-grid-dark{border-color:rgba(255,255,255,.16)}
.explore-grid-dark .explore-item{border-color:rgba(255,255,255,.16);color:white}
.explore-grid-dark .explore-item:hover{background:rgba(255,255,255,.05)}
.explore-grid-dark .explore-copy strong,.explore-grid-dark .learn-more{color:white}
.explore-grid-dark .explore-copy small{color:#bdcbd2}

.image-callout{
  min-height:520px;
  position:relative;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  color:white;
  background-size:cover;
  background-position:center;
}
.approach-callout{background-image:url('hero-slide-2.webp');background-position:62% center}
.support-process-callout{background-image:url('hero-slide-3.webp');background-position:78% center}
.partner-callout{background-image:url('partner-callout.webp');background-position:66% center}
.image-callout-overlay{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(3,23,34,.72),rgba(3,23,34,.35) 45%,rgba(3,23,34,.08)),
             linear-gradient(180deg,rgba(3,23,34,.03),rgba(3,23,34,.52));
}
.image-callout-content{
  position:relative;z-index:2;
  padding:74px 0;
}
.image-callout-content h2{max-width:760px;margin-bottom:16px}
.image-callout-content p{max-width:650px;color:#eef4f6;font-size:1.06rem}
.text-action{
  border:0;background:transparent;padding:0;
  color:var(--navy);font:inherit;font-weight:700;
  cursor:pointer;display:inline-flex;gap:12px;align-items:center;
  border-bottom:1px solid rgba(10,39,56,.26);
  padding-bottom:5px;
}
.text-action span{color:var(--gold);transition:transform .2s ease}
.text-action:hover span{transform:translate(3px,-3px)}
.image-callout .text-action,.light-action{color:white;border-color:rgba(255,255,255,.35)}
.compact-actions{display:flex;gap:28px;flex-wrap:wrap;margin-top:30px}

.compact-leadership{padding:82px 0}
.compact-leader-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:54px;align-items:center}
.compact-leadership .leader-art{min-height:360px}

.compact-connect{padding:34px 0;background:var(--gold2);color:var(--navy)}
.compact-connect .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px}
.compact-connect span{font-family:"Playfair Display",Georgia,serif;font-size:clamp(1.35rem,2.6vw,2.2rem);line-height:1.1}

.scope-strip{padding:42px 0;background:#f2ecdf}
.scope-strip .wrap{display:flex;justify-content:space-between;gap:28px;align-items:center}
.scope-strip strong{font-family:"Playfair Display",Georgia,serif;font-size:clamp(1.35rem,2.5vw,2rem)}

.partner-quick{padding:0 0 78px}
.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.quick-link{
  border:0;border-right:1px solid var(--border);
  background:transparent;padding:25px 20px;
  display:grid;grid-template-columns:40px 1fr auto;gap:14px;
  align-items:center;text-align:left;color:var(--ink);cursor:pointer;
}
.quick-link:last-child{border-right:0}
.quick-link svg{width:36px;height:36px;stroke:var(--gold);stroke-width:1.5;fill:none}
.quick-link strong{display:block;color:var(--navy)}
.quick-link small{display:block;color:#748188;font-size:.75rem;margin-top:3px}
.quick-link>i{font-style:normal;color:var(--gold)}

/* general Learn More bottom-sheet */
.info-modal{
  position:fixed;inset:0;z-index:540;
  display:grid;align-items:end;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .26s ease,visibility .26s;
}
.info-modal.open{opacity:1;visibility:visible;pointer-events:auto}
.info-backdrop{
  position:absolute;inset:0;border:0;
  background:rgba(4,22,32,.52);
  backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);
  opacity:0;transition:opacity .3s ease;
}
.info-modal.open .info-backdrop{opacity:1}
.info-sheet{
  position:relative;z-index:1;
  width:min(800px,calc(100% - 28px));
  max-height:82vh;
  margin:0 auto 14px;
  padding:32px;
  overflow:auto;
  background:rgba(251,248,241,.985);
  box-shadow:0 30px 90px rgba(3,20,30,.28);
  transform:translateY(34px);
  opacity:0;
  transition:transform .42s cubic-bezier(.16,1,.3,1),opacity .25s ease;
}
.info-modal.open .info-sheet{transform:none;opacity:1}
.info-sheet-top{display:flex;justify-content:space-between;gap:22px;align-items:flex-start;border-bottom:1px solid var(--border);padding-bottom:22px}
.info-sheet-top h2{font-size:clamp(2.2rem,5vw,4rem);margin:5px 0 0}
.info-close{width:44px;height:44px;position:relative;border:0;background:transparent;cursor:pointer;flex:0 0 auto}
.info-close span{position:absolute;width:27px;height:2px;background:var(--navy);left:8px;top:21px}
.info-close span:first-child{transform:rotate(45deg)}
.info-close span:last-child{transform:rotate(-45deg)}
.info-body{padding-top:24px;color:#44565f;font-size:1rem}
.info-body p{max-width:680px}
.info-body p:last-child{margin-bottom:0}
.modal-steps{display:grid;grid-template-columns:180px 1fr;border-top:1px solid var(--border)}
.modal-steps b,.modal-steps p{padding:16px 0;margin:0;border-bottom:1px solid var(--border)}
.modal-steps b{color:var(--navy);padding-right:20px}
.snapshot-modal p{display:grid;grid-template-columns:180px 1fr;gap:20px;padding:13px 0;margin:0;border-bottom:1px solid var(--border)}
.snapshot-modal b{color:var(--navy)}
body.info-open{overflow:hidden}
template{display:none!important}

@media(max-width:900px){
  .compact-heading{grid-template-columns:1fr;gap:20px;margin-bottom:32px}
  .explore-grid{grid-template-columns:1fr 1fr}
  .explore-item:nth-child(2){border-right:0}
  .explore-item:nth-child(-n+2){border-bottom:1px solid var(--border)}
  .explore-grid-dark .explore-item:nth-child(-n+2){border-color:rgba(255,255,255,.16)}
  .compact-leader-grid{grid-template-columns:1fr}
  .quick-actions{grid-template-columns:1fr}
  .quick-link{border-right:0;border-bottom:1px solid var(--border)}
  .quick-link:last-child{border-bottom:0}
}
@media(max-width:560px){
  .compact-section,.compact-leadership{padding:62px 0}
  .explore-grid{grid-template-columns:1fr}
  .explore-item{min-height:0;border-right:0!important;border-bottom:1px solid var(--border);padding:22px 4px}
  .explore-item:last-child{border-bottom:0}
  .explore-icon{margin-bottom:18px;width:38px;height:38px}
  .explore-copy strong{font-size:1.35rem}
  .learn-more{padding-top:15px}
  .image-callout{min-height:470px}
  .image-callout-content{padding:54px 0}
  .approach-callout{background-position:67% center}
  .support-process-callout{background-position:82% center}
  .partner-callout{background-position:68% center}
  .compact-connect .wrap,.scope-strip .wrap{align-items:flex-start;flex-direction:column}
  .compact-connect .btn{width:100%}
  .info-sheet{width:100%;max-height:88vh;margin:0;padding:24px 18px calc(20px + env(safe-area-inset-bottom))}
  .modal-steps{grid-template-columns:1fr}
  .modal-steps b{border-bottom:0;padding-bottom:4px}
  .modal-steps p{padding-top:0}
  .snapshot-modal p{grid-template-columns:1fr;gap:3px}
}


/* v1.14: partnership callout image updated to a dedicated collaboration scene */
@media (max-width:560px){
  .partner-callout{
    background-position:72% center;
  }
}


/* ===== v1.17 refinements ===== */
.hero-slide:nth-child(3) img{
  object-position: 73% center;
}
@media (max-width: 560px){
  .hero-slide:nth-child(3) img{
    object-position: 76% center;
  }
}

.leader-art:before{
  content:none !important;
  display:none !important;
}
.leader-art .quote{
  left:9%;
  right:9%;
}
.leader-art .quote span{
  display:block;
  font-family:"DM Sans";
  font-size:.9rem;
  color:#dbe6eb;
  margin-top:22px;
  letter-spacing:.02em;
}

.foot-connect .foot-placeholder{
  display:block;
  font-size:.86rem;
  color:#c9d3d8;
  margin:7px 0 14px;
}
.social-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:10px;
}
.social-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 12px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  color:#d8e1e6;
  font-size:.78rem;
  line-height:1;
  transition:transform .25s ease, color .25s ease, border-color .25s ease, background .25s ease;
}
.social-link:hover{
  transform:translateY(-2px);
  color:var(--gold2);
  border-color:rgba(240,196,95,.45);
  background:rgba(255,255,255,.03);
}
.social-link svg{
  width:16px;
  height:16px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.social-link:first-child svg path{fill:currentColor;stroke:none}
.social-link:nth-child(4) svg path:last-child{fill:currentColor;stroke:none}

.legal{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:24px;
}
.legal-copy{
  flex:1 1 auto;
}
.legal-links{
  display:flex;
  gap:16px;
  flex:0 0 auto;
  flex-wrap:wrap;
}
.legal-links a{
  color:#cfd9de;
  font-size:.76rem;
}
.legal-links a:hover{
  color:var(--gold2);
}

.policy-hero{
  min-height: 420px;
}
.policy-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(4,22,32,.78), rgba(4,22,32,.50)),
    linear-gradient(180deg, rgba(4,22,32,.12), rgba(4,22,32,.32));
}
.policy-hero .wrap{
  position:relative;
  z-index:2;
}
.policy-section{
  padding-top:74px;
}
.policy-wrap{
  display:grid;
  gap:26px;
}
.policy-block{
  border-top:1px solid var(--line);
  padding-top:22px;
}
.policy-block h2{
  font-size:clamp(1.6rem,2.6vw,2.2rem);
  margin-bottom:12px;
}
.policy-block p{
  max-width:860px;
}

@media (max-width: 900px){
  .legal{
    flex-direction:column;
  }
}
@media (max-width: 560px){
  .social-row{
    gap:8px;
  }
  .social-link{
    width:100%;
    justify-content:center;
  }
  .legal-links{
    gap:12px;
  }
}


/* ===== v1.18 Cynthia portrait + policy back-home refinements ===== */
.policy-hero .wrap{
  position:relative;
}
.hero-back-home{
  position:absolute;
  top:0;
  right:0;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:12px 18px;
  background:var(--gold2);
  color:var(--navy);
  font-family:"DM Sans",system-ui,sans-serif;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  border-radius:999px;
  box-shadow:0 12px 32px rgba(3,20,30,.18);
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease;
}
.hero-back-home:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 36px rgba(3,20,30,.24);
  background:#f2cf7a;
}
.policy-hero .eyebrow{
  margin-top:80px;
}

.founder-portrait-band{
  padding:18px 0 10px;
}
.founder-portrait-frame{
  position:relative;
  overflow:hidden;
  border-radius:28px;
  background:#e9e4d9;
  box-shadow:0 20px 60px rgba(3,20,30,.14);
}
.founder-portrait-frame img{
  display:block;
  width:100%;
  height:auto;
}

@media (min-width: 901px){
  .founder-portrait-frame{
    max-width:560px;
  }
}
@media (max-width: 900px){
  .policy-hero .eyebrow{
    margin-top:86px;
  }
}
@media (max-width: 560px){
  .hero-back-home{
    top:6px;
    right:0;
    padding:10px 14px;
    font-size:.74rem;
  }
  .policy-hero .eyebrow{
    margin-top:74px;
  }
  .founder-portrait-band{
    padding:10px 0 2px;
  }
  .founder-portrait-frame{
    border-radius:20px;
  }
}


/* ===== v1.19 founder sequence + sitemap support ===== */
.compact-leader-grid{
  grid-template-columns:1fr !important;
  gap:30px !important;
}
.compact-leader-grid .leader-art{
  width:100%;
}
.founder-portrait-band{
  width:100%;
}
.founder-portrait-frame{
  max-width:none !important;
  width:100%;
}
.founder-portrait-frame img{
  width:100%;
  max-height:760px;
  object-fit:cover;
  object-position:center 28%;
}
.compact-leader-grid > .reveal:not(.leader-art):not(.founder-portrait-band){
  max-width:820px;
}

@media(max-width:560px){
  .founder-portrait-frame img{
    max-height:none;
    object-position:center;
  }
}


/* ===== v1.20 launch polish ===== */

/* Subtle reading-progress indicator */
.scroll-progress{
  position:fixed;
  left:0;
  right:0;
  top:calc(var(--top-stack-height, 120px) - 3px);
  height:3px;
  z-index:208;
  pointer-events:none;
  background:rgba(255,255,255,.05);
}
.scroll-progress span{
  display:block;
  width:100%;
  height:100%;
  transform:scaleX(0);
  transform-origin:left center;
  background:linear-gradient(90deg,var(--gold2),#77d9cd);
  box-shadow:0 0 12px rgba(242,196,95,.24);
  will-change:transform;
}

/* Better vertical rhythm inside the full-screen mobile menu */
@media(max-width:900px){
  .mobile-menu-links{
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    gap:clamp(24px,4.7vh,42px)!important;
    padding:clamp(28px,5.4vh,58px) 26px 28px!important;
  }
  .mobile-menu-links a{
    padding:0!important;
  }
  .mobile-menu-links a:first-child{
    padding-top:0!important;
  }
}

/* Open Door AI - lightweight coming-soon signature element */
.od-ai{
  position:fixed;
  right:18px;
  bottom:48px;
  z-index:176;
  font-family:"DM Sans",system-ui,sans-serif;
}
.od-ai-launch{
  appearance:none;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(8,39,56,.96);
  color:white;
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 13px 9px 9px;
  border-radius:999px;
  box-shadow:0 18px 45px rgba(3,20,30,.24);
  cursor:pointer;
  transition:transform .25s ease, box-shadow .25s ease;
}
.od-ai-launch:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 50px rgba(3,20,30,.30);
}
.od-ai-icon{
  width:34px;height:34px;
  border-radius:50%;
  display:grid;place-items:center;
  background:var(--gold2);
  color:var(--navy);
  position:relative;
}
.od-ai-icon:after{
  content:"";
  position:absolute;
  inset:-4px;
  border:1px solid rgba(242,196,95,.38);
  border-radius:50%;
  animation:odAiPulse 2.8s ease-out infinite;
}
.od-ai-icon svg{
  width:20px;height:20px;
  fill:none;stroke:currentColor;stroke-width:1.5;
  stroke-linecap:round;stroke-linejoin:round;
}
.od-ai-label{
  display:grid;
  text-align:left;
  line-height:1.05;
}
.od-ai-label strong{font-size:.78rem}
.od-ai-label small{
  color:#d8e2e6;
  font-size:.62rem;
  margin-top:3px;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.od-ai-panel{
  position:absolute;
  right:0;
  bottom:58px;
  width:min(330px,calc(100vw - 28px));
  background:rgba(248,245,237,.98);
  color:var(--ink);
  padding:24px;
  box-shadow:0 28px 80px rgba(3,20,30,.30);
  border:1px solid rgba(10,39,56,.12);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(14px) scale(.98);
  transform-origin:bottom right;
  transition:opacity .24s ease,transform .34s cubic-bezier(.16,1,.3,1),visibility .24s;
}
.od-ai.open .od-ai-panel{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:none;
}
.od-ai-panel h3{
  font-family:"Playfair Display",Georgia,serif;
  font-size:2rem;
  margin:4px 0 12px;
  color:var(--navy);
}
.od-ai-panel p{
  color:#53666f;
  font-size:.88rem;
  line-height:1.55;
}
.od-ai-panel .od-ai-note{
  color:var(--navy);
  font-weight:700;
  margin-top:18px;
}
.od-ai-email{
  display:inline-flex;
  margin-top:4px;
  color:var(--navy);
  font-size:.82rem;
  font-weight:700;
  border-bottom:1px solid rgba(10,39,56,.28);
  padding-bottom:3px;
}
.od-ai-phone{
  display:block;
  margin-top:12px;
  color:#89969c;
  font-size:.74rem;
}
.od-ai-close{
  position:absolute;
  right:12px;top:10px;
  width:34px;height:34px;
  border:0;background:transparent;
  color:var(--navy);
  font-size:1.7rem;
  line-height:1;
  cursor:pointer;
}
@keyframes odAiPulse{
  0%{transform:scale(.9);opacity:.75}
  75%,100%{transform:scale(1.38);opacity:0}
}

@media(max-width:560px){
  .od-ai{
    right:12px;
    bottom:max(52px, calc(36px + env(safe-area-inset-bottom)));
  }
  .od-ai-launch{
    padding-right:11px;
  }
  .od-ai-label strong{font-size:.72rem}
  .od-ai-panel{
    right:0;
    bottom:56px;
  }
}

@media(prefers-reduced-motion:reduce){
  .od-ai-icon:after{animation:none!important}
}

/* Funder brief download links */
a[download][href*="FunderBrief"]{
  white-space:nowrap;
}


/* ===== v1.21 production launch finish ===== */
.mobile-menu-contact a.phone-live{
  justify-content:flex-end;
  border-right:0;
}
.foot-connect .foot-phone{
  display:inline-block;
  margin-top:7px;
}
.od-ai-phone{
  display:inline-block;
  margin-top:12px;
  color:var(--navy);
  font-size:.78rem;
  font-weight:700;
  border-bottom:1px solid rgba(10,39,56,.22);
  padding-bottom:3px;
}
.inquiry-actions a{color:inherit;text-decoration:underline;text-underline-offset:3px}

/* Oasis-inspired restrained light/current movement: visual only, no layout dependency */
.hero-visual::before{
  content:"";
  position:absolute;
  inset:-18% -35%;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(108deg,transparent 34%,rgba(246,205,113,.02) 43%,rgba(246,205,113,.16) 49%,rgba(255,244,207,.08) 53%,transparent 61%);
  transform:translateX(-45%);
  animation:heroGoldSweep 13s cubic-bezier(.55,.05,.45,.95) infinite;
  mix-blend-mode:screen;
}
.hero-overlay{z-index:2}
.hero-dots{z-index:3}
.hero-slide{z-index:0}
@keyframes heroGoldSweep{
  0%,18%{transform:translateX(-46%);opacity:0}
  28%{opacity:.85}
  54%{transform:translateX(46%);opacity:.65}
  64%,100%{transform:translateX(46%);opacity:0}
}
.page-hero:before{
  animation:pageHeroBreath 16s ease-in-out infinite alternate;
  will-change:transform;
}
@keyframes pageHeroBreath{
  from{transform:scale(1.02) translate3d(0,0,0)}
  to{transform:scale(1.055) translate3d(-.35%,0,0)}
}
/* premium, tactile micro response without changing button geometry */
.explore-item,.text-action,.brand img{transition:transform .3s ease,filter .3s ease,opacity .3s ease}
@media(hover:hover) and (pointer:fine){
  .explore-item:hover .explore-icon{transform:translateY(-2px) scale(1.035)}
  .brand:hover img{filter:drop-shadow(0 6px 12px rgba(216,162,62,.22))}
}

/* Branded 404 */
.not-found-hero{
  min-height:calc(100vh - var(--top-stack-height,120px));
  display:grid;
  place-items:center;
  position:relative;
  overflow:hidden;
  background:radial-gradient(circle at 72% 34%,rgba(216,162,62,.16),transparent 28%),linear-gradient(135deg,#061b28,#0a2738 58%,#123d52);
  color:white;
}
.not-found-hero:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(110deg,transparent 35%,rgba(242,196,95,.12) 49%,transparent 62%);
  animation:heroGoldSweep 12s ease-in-out infinite;
}
.not-found-inner{position:relative;z-index:2;width:min(900px,calc(100% - 42px));padding:90px 0;text-align:center}
.not-found-code{font-family:"DM Sans",sans-serif;font-size:.78rem;letter-spacing:.22em;color:var(--gold2);font-weight:800}
.not-found-hero h1{color:white;font-size:clamp(3.2rem,8vw,7rem);margin:14px auto 18px;max-width:850px}
.not-found-hero p{color:#d8e3e8;max-width:650px;margin:0 auto 28px;font-size:1.08rem}
.not-found-hero .btn-row{justify-content:center}

@media(max-width:560px){
  .hero-visual::before{opacity:.72}
  .not-found-inner{width:calc(100% - 28px);padding:70px 0}
}
@media(prefers-reduced-motion:reduce){
  .hero-visual::before,.page-hero:before,.not-found-hero:before{animation:none!important}
}

/* ===== v1.22 desktop-only founder refinements ===== */
@media (min-width: 901px){
  /* Quote band: tighter, vertically balanced, and intentionally centered. */
  .compact-leadership .leader-art{
    min-height:250px;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .compact-leadership .leader-art .quote{
    position:relative;
    left:auto;
    right:auto;
    top:auto;
    width:min(920px, calc(100% - 96px));
    margin:0 auto;
    padding:46px 0;
    text-align:center;
    font-size:clamp(2rem, 3vw, 2.8rem);
    line-height:1.08;
  }
  .compact-leadership .leader-art .quote span{
    margin-top:18px;
    text-align:center;
  }

  /* Cynthia portrait: show the complete portrait on desktop instead of
     filling the width with an oversized crop. The soft background keeps
     the full-width section cinematic while the foreground portrait remains intact. */
  .founder-portrait-frame{
    position:relative;
    min-height:680px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    background:#102f42;
    isolation:isolate;
  }
  .founder-portrait-frame::before{
    content:"";
    position:absolute;
    inset:-28px;
    z-index:-2;
    background:
      linear-gradient(90deg,rgba(6,27,40,.36),rgba(6,27,40,.10),rgba(6,27,40,.36)),
      url('cynthia-franklin-portrait.webp') center 28% / cover no-repeat;
    filter:blur(22px) saturate(.86);
    transform:scale(1.08);
    opacity:.72;
  }
  .founder-portrait-frame::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:linear-gradient(180deg,rgba(5,24,36,.05),rgba(5,24,36,.18));
    pointer-events:none;
  }
  .founder-portrait-frame img{
    width:auto;
    height:680px;
    max-width:100%;
    max-height:680px;
    object-fit:contain;
    object-position:center;
    position:relative;
    z-index:1;
    box-shadow:0 22px 62px rgba(3,20,30,.22);
  }
}


/* ===== v1.23 footer-clearance refinement =====
   Keep Open Door AI clear of Privacy / Terms links on desktop and mobile. */
