/* Layout: navy bookends (nav, hero, footer) around warm cream pages; tinted pathway cards edged in the logo's chevron colors. */
:root{
  --cream:#FBF8F3; --paper:#FFFDF9; --ink:#1A1A2E; --navy:#0F172A; --navy-2:#18223B;
  --muted:#5B5868; --line:#E7E0D6;
  --indigo:#4158E4; --indigo-ink:#2F43C2; --indigo-tint:#ECEEFD;
  --orange:#FFB052; --orange-ink:#9A5800; --orange-tint:#FFF1DE;
  --coral:#F18080; --coral-ink:#B23A3D; --coral-tint:#FDE9E8;
  --purple:#84309E; --purple-ink:#74288C; --purple-tint:#F4E8F7;
  --on-navy:#F1F5F9; --on-navy-muted:#AAB5C8;
  --pride:linear-gradient(90deg,#E40303,#FF8C00 20%,#FFED00 40%,#008026 60%,#004DFF 80%,#750787);
  --display:'Barlow Condensed','Arial Narrow','Helvetica Neue',sans-serif;
  --serif:'Source Serif 4',Georgia,'Times New Roman',serif;
  --radius:22px; --wrap:1160px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--serif);font-size:1.125rem;line-height:1.62;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--navy)}
a{color:inherit}
img,svg{max-width:100%}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.eyebrow{font-family:var(--display);font-weight:600;font-size:1rem;letter-spacing:.2em;text-transform:uppercase;margin:0}
h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.02;margin:0;text-wrap:balance;letter-spacing:.005em}
h1{font-size:clamp(2.7rem,6.4vw,5.4rem)}
h2{font-size:clamp(2.2rem,4.4vw,3.6rem)}
h3{font-size:clamp(1.6rem,2.4vw,2.05rem);line-height:1.08}
p{margin:0}
.lede{font-size:clamp(1.18rem,1.7vw,1.38rem);line-height:1.55}
.pride{height:6px;border-radius:6px;background:var(--pride)}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:0}
.skip:focus{left:16px;top:16px;z-index:100;background:var(--orange);color:var(--navy);padding:8px 14px;border-radius:8px}

/* nav */
.site-nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--navy);border-bottom:1px solid rgba(255,255,255,.06)}
.site-nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px}
.brand{display:flex;align-items:center;flex-shrink:0}
.nav-logo{height:46px;width:auto;display:block}
.nav-links{display:flex;gap:4px;align-items:center;list-style:none;margin:0;padding:0}
.nav-links a{font-family:var(--display);font-weight:600;font-size:1.06rem;letter-spacing:.09em;text-transform:uppercase;color:var(--on-navy);text-decoration:none;padding:10px 14px;border-radius:999px;transition:background .2s,color .2s}
.nav-links a:hover{background:rgba(255,255,255,.08)}
.nav-links a[aria-current="page"]{color:var(--navy);background:var(--orange)}
.menu-btn{display:none;background:none;border:1.5px solid rgba(255,255,255,.35);color:var(--on-navy);border-radius:999px;padding:8px 16px;font-family:var(--display);font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:.95rem;cursor:pointer}
@media (max-width:860px){
  .menu-btn{display:block}
  .nav-links{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;background:var(--navy);padding:8px max(20px,env(safe-area-inset-right,0px)) 20px max(20px,env(safe-area-inset-left,0px));gap:2px;border-bottom:6px solid transparent;border-image:var(--pride) 1}
  .nav-links a{padding:14px 16px;border-radius:12px}
  .site-nav:not(.open) .nav-links{display:none}
  .nav-logo{height:38px}
}

/* buttons */
.btns{display:flex;flex-wrap:wrap;gap:14px}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-weight:600;font-size:1.12rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;padding:15px 28px;border-radius:999px;border:2px solid transparent;transition:transform .2s,background .2s,color .2s}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--orange);color:var(--navy)}
.btn-ghost{border-color:rgba(241,245,249,.55);color:var(--on-navy)}
.btn-ghost:hover{background:rgba(255,255,255,.08)}
.btn-ink{background:var(--navy);color:var(--on-navy)}
.arrow{display:inline-block;transition:transform .2s}
a:hover .arrow{transform:translateX(4px)}

/* hero */
.hero{background:var(--navy);color:var(--on-navy);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0 auto 0 0;width:14px;background:var(--orange)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:48px;align-items:center;padding-block:clamp(56px,8vw,104px) clamp(60px,8vw,96px)}
.hero .eyebrow{color:var(--orange)}
.hero-copy{display:flex;flex-direction:column;gap:24px;min-width:0}
.hero h1 em{font-style:normal;color:var(--orange)}
.hero .lede{color:var(--on-navy-muted);max-width:36em}
.hero-mark{width:100%;max-width:400px;justify-self:center}
.hero-mark path{stroke-dasharray:640;stroke-dashoffset:0;animation:draw 1.4s cubic-bezier(.6,.05,.3,1) both}
.hero-mark path:nth-of-type(2){animation-delay:.18s}
.hero-mark path:nth-of-type(3){animation-delay:.36s}
.hero-mark rect{transform-origin:center;animation:grow 1s .7s cubic-bezier(.6,.05,.3,1) both}
@keyframes draw{from{stroke-dashoffset:640}to{stroke-dashoffset:0}}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.hero-pride{position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--pride)}
.page-hero .wrap{grid-template-columns:minmax(0,1fr);padding-block:clamp(48px,7vw,88px)}
.page-hero h1{font-size:clamp(2.6rem,5.6vw,4.6rem);max-width:15em}
@media (max-width:860px){.hero::before{width:6px}.hero .wrap{grid-template-columns:minmax(0,1fr);padding-left:max(26px,env(safe-area-inset-left,0px))}.hero-mark{max-width:220px;justify-self:start;order:-1}}

/* sections */
.section{padding-block:clamp(64px,9vw,112px)}
.section-head{display:flex;flex-direction:column;gap:14px;max-width:46rem;margin-bottom:clamp(32px,4vw,52px)}
.section-head .eyebrow{color:var(--indigo-ink)}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}
.split > *{min-width:0}
.prose{display:flex;flex-direction:column;gap:18px;color:#2C2A3A;max-width:36rem}
@media (max-width:820px){.split{grid-template-columns:minmax(0,1fr)}}

/* pathway cards */
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.card{display:flex;flex-direction:column;gap:14px;padding:32px 32px 30px;border-radius:var(--radius);border-left:12px solid;text-decoration:none;color:var(--ink);transition:transform .25s,box-shadow .25s;min-width:0}
a.card:hover{transform:translateY(-4px);box-shadow:0 18px 36px -22px rgba(15,23,42,.45)}
.card p{color:#3A3748}
.card .more{margin-top:auto;padding-top:8px;font-family:var(--display);font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:1rem}
.c-indigo{background:var(--indigo-tint);border-color:var(--indigo)} .c-indigo .eyebrow,.c-indigo .more{color:var(--indigo-ink)}
.c-orange{background:var(--orange-tint);border-color:var(--orange)} .c-orange .eyebrow,.c-orange .more{color:var(--orange-ink)}
.c-coral{background:var(--coral-tint);border-color:var(--coral)} .c-coral .eyebrow,.c-coral .more{color:var(--coral-ink)}
.c-purple{background:var(--purple-tint);border-color:var(--purple)} .c-purple .eyebrow,.c-purple .more{color:var(--purple-ink)}
@media (max-width:760px){.cards{grid-template-columns:minmax(0,1fr)}}

/* navy band */
.band{background:var(--navy);color:var(--on-navy)}
.band .section-head .eyebrow{color:var(--orange)}
.band .section-head p{color:var(--on-navy-muted)}
.practices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.practice{display:flex;flex-direction:column;gap:12px;padding-top:22px;border-top:4px solid;min-width:0}
.practice h3{font-size:2rem}
.practice p{color:var(--on-navy-muted);font-size:1.04rem}
.practice:nth-child(1){border-color:var(--indigo)}
.practice:nth-child(2){border-color:var(--orange)}
.practice:nth-child(3){border-color:var(--coral)}
.practice:nth-child(4){border-color:#B98AF2}
.band .practice:nth-child(1) h3{color:#8FA8F6}
.band .practice:nth-child(2) h3{color:var(--orange)}
.band .practice:nth-child(3) h3{color:var(--coral)}
.band .practice:nth-child(4) h3{color:#B98AF2}
@media (max-width:900px){.practices{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.practices{grid-template-columns:minmax(0,1fr)}}

/* light-practice variant on cream */
.practices.light .practice p{color:#3A3748}
.practices.light .practice:nth-child(1) h3{color:var(--indigo-ink)}
.practices.light .practice:nth-child(2) h3{color:var(--orange-ink)}
.practices.light .practice:nth-child(3) h3{color:var(--coral-ink)}
.practices.light .practice:nth-child(4) h3{color:var(--purple-ink)}

/* partnership strip */
.partner{background:var(--paper);border-block:1px solid var(--line)}
.partner .wrap{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:28px;align-items:center;padding-block:40px}
.partner .eyebrow{color:var(--coral-ink)}
.partner p{font-size:1.15rem}
@media (max-width:820px){.partner .wrap{grid-template-columns:minmax(0,1fr)}}

/* callout */
.callout{background:var(--orange);color:var(--navy);border-radius:28px;padding:clamp(32px,5vw,56px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center}
.callout h2{font-size:clamp(2rem,3.6vw,3rem)}
.callout p{margin-top:12px;max-width:34rem}
@media (max-width:760px){.callout{grid-template-columns:minmax(0,1fr)}}

/* people */
.founder{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,4vw,56px);background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:clamp(28px,4vw,52px);align-items:start}
.founder > *{min-width:0}
.monogram{aspect-ratio:1;max-width:100%;border-radius:24px;background:var(--navy);display:grid;place-items:center;position:relative;overflow:hidden}
.monogram span{font-family:var(--display);font-weight:700;font-size:clamp(4rem,9vw,7rem);color:var(--on-navy);letter-spacing:.04em}
.monogram::after{content:"";position:absolute;left:0;right:0;bottom:0;height:8px;background:var(--pride)}
.creds{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:10px}
.creds li{padding-left:20px;position:relative;font-size:1.05rem}
.creds li::before{content:"";position:absolute;left:0;top:.62em;width:9px;height:9px;border-radius:2px;background:var(--orange);transform:rotate(45deg)}
.role{font-family:var(--display);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--purple-ink);font-size:1.02rem}
.people{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.person{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:24px 22px;display:flex;flex-direction:column;gap:8px;border-top:6px solid;min-width:0}
.person:nth-child(4n+1){border-top-color:var(--indigo)}
.person:nth-child(4n+2){border-top-color:var(--orange)}
.person:nth-child(4n+3){border-top-color:var(--coral)}
.person:nth-child(4n+4){border-top-color:var(--purple)}
.person h3{font-size:1.65rem}
.person .org{font-size:1rem;color:var(--muted)}
.person a.org{color:var(--indigo-ink);text-decoration-thickness:1px;text-underline-offset:3px}
@media (max-width:980px){.people{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:820px){.founder{grid-template-columns:minmax(0,1fr)}.monogram{max-width:220px}}
@media (max-width:480px){.people{grid-template-columns:minmax(0,1fr)}}

/* frameworks */
.warm{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:8px}
.warm div{border-radius:18px;padding:20px;min-width:0}
.warm b{display:block;font-family:var(--display);font-size:3.4rem;line-height:1}
.warm span{font-family:var(--display);font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:1.05rem}
.warm div:nth-child(1){background:var(--indigo-tint)} .warm div:nth-child(1) b{color:var(--indigo-ink)}
.warm div:nth-child(2){background:var(--orange-tint)} .warm div:nth-child(2) b{color:var(--orange-ink)}
.warm div:nth-child(3){background:var(--coral-tint)} .warm div:nth-child(3) b{color:var(--coral-ink)}
.warm div:nth-child(4){background:var(--purple-tint)} .warm div:nth-child(4) b{color:var(--purple-ink)}
@media (max-width:640px){.warm{grid-template-columns:repeat(2,minmax(0,1fr))}}
.panel{background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:clamp(28px,4vw,48px);display:flex;flex-direction:column;gap:18px;min-width:0}
.stack{display:flex;flex-direction:column;gap:22px}
.quoteline{font-family:var(--serif);font-style:italic;font-size:clamp(1.25rem,2vw,1.5rem);line-height:1.5;border-left:6px solid var(--coral);padding-left:22px;color:#2C2A3A}

/* contact */
.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.contact-grid .panel{gap:8px}
.contact-grid .panel .eyebrow{color:var(--indigo-ink)}
.copyable{font-family:var(--serif);font-size:1.15rem;user-select:all;word-break:break-word}
@media (max-width:820px){.contact-grid{grid-template-columns:minmax(0,1fr)}}

/* footer */
.site-foot{background:var(--navy);color:var(--on-navy-muted);position:relative}
.site-foot::before{content:"";position:absolute;inset:0 0 auto;height:6px;background:var(--pride)}
.site-foot .wrap{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:36px;padding-block:64px 40px}
.site-foot .wrap > *{min-width:0}
.foot-logo{height:54px;width:auto;display:block;margin-bottom:18px}
.site-foot h4{font-family:var(--display);font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--on-navy);font-size:1rem;margin:0 0 12px}
.site-foot ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.site-foot a{color:var(--on-navy);text-decoration:none}
.site-foot a:hover{text-decoration:underline;text-underline-offset:3px}
.site-foot address{font-style:normal;line-height:1.7}
.legal{border-top:1px solid rgba(255,255,255,.1)}
.legal .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-block:22px;font-size:.95rem;grid-template-columns:none}
@media (max-width:820px){.site-foot .wrap{grid-template-columns:minmax(0,1fr)}}

.project-head{display:flex;flex-direction:column;gap:14px;max-width:48rem;margin-bottom:clamp(28px,4vw,44px)}
.chip{align-self:flex-start;font-family:var(--display);font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:.92rem;padding:7px 14px;border-radius:999px}
.chip-funded{background:var(--coral-tint);color:var(--coral-ink)}
.chip-pending{background:rgba(255,176,82,.16);color:var(--orange);border:1px solid rgba(255,176,82,.5)}
.practices.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.practices.three h3{font-size:1.7rem}
.partners-line{margin-top:40px;color:var(--on-navy-muted);font-size:1.05rem;max-width:46rem}
@media (max-width:900px){.practices.three{grid-template-columns:minmax(0,1fr)}}
/* reveal (visible at rest; only below-fold elements get the pre-state from script) */
.reveal.pre{opacity:.001;transform:translateY(22px)}
.reveal{transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal,.reveal.pre{opacity:1;transform:none;transition:none}
  .hero-mark path,.hero-mark rect{animation:none}
  .btn,.card,.arrow{transition:none}
}
