:root {
  --navy:#1a2437;
  --violet:#8c6dbd;
  --violet-dark:#65449a;
  --lavender:#ded2ef;
  --paper:#f7f5fa;
  --white:#fff;
  --ink:#1a2437;
  --muted:#606777;
  --line:rgba(26,36,55,.16);
  --width:1380px;
  --gutter:clamp(22px,5vw,90px);
  --ease:cubic-bezier(.22,1,.36,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
body,h1,h2,h3,p,figure,blockquote{margin:0}
img,svg{display:block;max-width:100%}
img{height:auto}
button,input,textarea,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a{color:inherit;text-underline-offset:.22em}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--violet);outline-offset:6px;border-radius:3px}
::selection{background:var(--lavender);color:var(--navy)}
p{font-size:1.06rem;line-height:1.75}
h1,h2,h3{text-wrap:balance}
h2{font-size:clamp(2.15rem,4.4vw,4.75rem);font-weight:500;line-height:1.08;letter-spacing:-.045em}
h3{font-size:clamp(1.3rem,2vw,1.7rem);line-height:1.18;letter-spacing:-.025em;font-weight:500}
main{overflow:clip}
.container{width:min(var(--width),100% - var(--gutter)*2);margin-inline:auto}
.section{padding-block:clamp(76px,9vw,148px)}
.section--paper{background:var(--paper)}
.section--lavender{background:var(--lavender)}
.section--navy{background:var(--navy);color:var(--white)}
.section--navy p{color:#ccd0dc}
.section--navy .eyebrow{color:var(--lavender)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:1000;top:12px;left:12px;background:white;color:var(--navy);padding:14px 20px;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.eyebrow{display:flex;align-items:center;gap:10px;font-size:.69rem;font-weight:700;line-height:1.5;text-transform:uppercase;letter-spacing:.17em;color:var(--violet-dark);margin-bottom:24px}
.lead{font-size:clamp(1.08rem,1.5vw,1.3rem);line-height:1.65;max-width:620px}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:32px}
.button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:15px 24px;border:1px solid transparent;border-radius:3px;text-decoration:none;font-size:.84rem;font-weight:600;line-height:1.4;transition:background .25s,border-color .25s,transform .25s var(--ease)}
.button>span{display:inline-block;transition:transform .25s var(--ease)}
.button:hover>span{transform:translate(2px,-2px)}
.button:active{transform:translateY(1px)}
.button--primary{background:var(--lavender);color:var(--navy)}
.button--primary:hover{background:#f0e7fc}
.button--ghost{color:inherit;border-color:currentColor}
.button--ghost:hover{background:rgba(140,109,189,.12)}
.button--dark{background:var(--navy);color:white}
.button--dark:hover{background:#303d58}
.text-link{display:inline-flex;align-items:center;min-height:44px;gap:12px;font-size:.9rem;font-weight:600;text-decoration:none;border-bottom:1px solid currentColor;line-height:1.5}
.text-link:hover{color:var(--violet-dark)}
.section--navy .text-link:hover{color:var(--lavender)}
.status-label{display:inline-flex;align-items:center;gap:8px;font-size:.67rem;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;padding:9px 13px;border:1px solid currentColor;border-radius:999px}
.status-dot{width:7px;height:7px;background:var(--lavender);border-radius:50%;box-shadow:0 0 0 5px rgba(222,210,239,.08)}
.icon{width:34px;height:34px;color:var(--violet-dark);flex:none}

/* Navigation: visible and usable before enhancement. */
.site-header{position:relative;z-index:100;background:var(--navy);color:white;border-bottom:1px solid rgba(255,255,255,.13)}
.header-inner{min-height:98px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand{display:block;flex:0 0 210px}
.brand img{width:210px;height:auto}
.site-nav{display:flex;align-items:center;gap:clamp(14px,1.6vw,28px)}
.site-nav a{display:flex;align-items:center;gap:9px;min-height:44px;font-size:.73rem;text-decoration:none;color:#e2dfeb;white-space:nowrap;position:relative}
.site-nav a:hover,.site-nav a[aria-current=page]{color:white}
.site-nav a[aria-current=page]::after{content:"";height:2px;background:var(--lavender);position:absolute;bottom:1px;left:0;right:0}
.site-nav .nav-contact{border:1px solid rgba(255,255,255,.45);padding:0 15px;border-radius:3px}
.site-nav .nav-contact:hover{background:rgba(255,255,255,.08)}
.nav-toggle{display:none;width:48px;height:48px;border:1px solid rgba(255,255,255,.35);background:transparent;border-radius:3px;color:white;padding:13px}
.nav-toggle>span:not(.sr-only){display:block;height:1px;background:currentColor;margin:6px 0;transition:transform .25s}
.nav-toggle[aria-expanded=true]>span:first-child{transform:translateY(3.5px) rotate(45deg)}
.nav-toggle[aria-expanded=true]>span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}

/* The hero is a visual composition, not a boxed banner. */
.hero{position:relative;background:var(--navy);color:white;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.06fr 1fr;align-items:center;gap:clamp(24px,5vw,76px);padding-block:64px 44px}
.hero-content{position:relative;z-index:2;padding-block:28px}
.hero .eyebrow{color:var(--lavender)}
.display{font-size:clamp(3.5rem,6.1vw,6.6rem);font-weight:500;letter-spacing:-.065em;line-height:.99;margin-bottom:30px}
.display em{font-weight:400;font-style:normal;color:var(--lavender)}
.hero .lead{max-width:490px;font-size:clamp(1rem,1.2vw,1.15rem);color:#c9cddd;line-height:1.7}
.hero-note{font-size:.7rem;line-height:1.5;color:#aab0c1;margin-top:31px}
.hero-visual{position:relative;min-width:0;isolation:isolate;aspect-ratio:.86;overflow:hidden;border-radius:46% 46% 3px 3px;background:#282e46}
.hero-image{width:100%;height:100%;object-fit:cover;object-position:49% center;transition:transform 1.2s var(--ease)}
.hero-visual::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(26,36,55,.03) 65%,rgba(26,36,55,.8));pointer-events:none}
.hero-paths{position:absolute;z-index:2;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.hero-paths path{stroke:#ded2ef;stroke-width:1;opacity:.48}
.hero-paths path:nth-child(2){stroke:var(--violet);opacity:.65}
.visual-caption{position:absolute;bottom:26px;left:28px;right:28px;z-index:3;display:flex;justify-content:space-between;gap:15px;font-size:.6rem;line-height:1.4;letter-spacing:.09em;text-transform:uppercase;color:#f1eafa}
.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid rgba(255,255,255,.18);padding-block:24px 28px;font-size:.67rem;letter-spacing:.06em;color:#c2c6d2}
.hero-bottom a{display:inline-flex;gap:20px;align-items:center;min-height:32px;text-decoration:none;color:white}
.statement{font-size:clamp(2.5rem,5.45vw,6rem);font-weight:500;letter-spacing:-.055em;line-height:1.08}
.statement span{color:var(--violet-dark)}
.statement-bottom{margin-top:54px;display:grid;grid-template-columns:1.1fr .9fr;align-items:end;gap:70px}
.statement-bottom p{max-width:580px;color:var(--muted)}
.statement-bottom .text-link{justify-self:end}
.section-heading{max-width:740px;margin-bottom:48px}
.section-heading>p:not(.eyebrow){margin-top:25px;max-width:560px;color:var(--muted)}
.section-heading>.button,.section-heading>.text-link{margin-top:30px}
.section--navy .section-heading>p:not(.eyebrow){color:#c9cddd}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,7vw,110px);align-items:start}
.split .section-heading{margin-bottom:0}
.split--reverse>:first-child{order:2}
.prose{max-width:650px}
.prose p+p{margin-top:25px}
.prose p{color:var(--muted)}
.prose a:not(.button){text-decoration-thickness:1px}
.prose .button{margin-top:5px}
.section--navy .prose p{color:#ccd0dc}
.flow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px;margin:54px 0 40px}
.feature{border-top:1px solid rgba(26,36,55,.35);padding-top:22px}
.feature-number{font-size:.68rem;letter-spacing:.1em;display:block;margin-bottom:32px}
.feature .icon{margin-bottom:26px}
.feature h3{max-width:240px;margin-bottom:17px}
.feature p{font-size:.91rem;line-height:1.7;color:#505164}
.pathway{list-style:none;margin:0;padding:0}
.pathway-step{position:relative;display:grid;grid-template-columns:46px 1fr;gap:25px;padding:30px 0;border-top:1px solid rgba(255,255,255,.25)}
.pathway-step:last-child{border-bottom:1px solid rgba(255,255,255,.25)}
.pathway-step>span{font-size:.73rem;letter-spacing:.08em;color:var(--lavender);padding-top:6px}
.pathway-step h3{font-size:clamp(1.65rem,2.5vw,2.4rem);margin-bottom:14px}
.pathway-step p{font-size:.98rem;max-width:460px;color:#c9cddd}
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-bottom:42px}
.person-card{min-width:0}
.person-image{aspect-ratio:4/5;overflow:hidden;background:#e7e2ec;margin-bottom:25px}
.person-image>img{width:100%;height:100%;object-fit:cover;object-position:center 25%;transition:transform .7s var(--ease)}
.person-card:hover .person-image>img{transform:scale(1.025)}
.person-monogram{width:100%;height:100%;display:grid;place-items:center;font-size:5rem;color:var(--violet-dark);background:radial-gradient(ellipse at 60% 30%,#ede8f5,#d1c5e0);font-weight:400;letter-spacing:-.06em}
.person-card .eyebrow{margin-bottom:12px}
.person-card h3{margin-bottom:14px;font-size:1.6rem}
.person-card>p:not(.eyebrow){font-size:.93rem;color:var(--muted)}
.person-card .text-link{margin-top:14px;font-size:.8rem}
.digital-art{position:relative;isolation:isolate;min-height:410px;display:grid;place-items:center}
.digital-circle{position:absolute;width:75%;aspect-ratio:1;border:1px solid rgba(222,210,239,.4);border-radius:50%;transform:rotate(-20deg) scaleY(.78)}
.digital-circle:nth-child(2){width:92%;transform:rotate(35deg) scaleY(.6);border-color:rgba(140,109,189,.65)}
.digital-center{display:grid;place-items:center;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,#675085,#252d43);box-shadow:0 0 70px rgba(140,109,189,.18);font-size:1rem;position:relative;z-index:2}
.digital-art>span{position:absolute;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;padding:9px 13px;background:var(--navy);color:var(--lavender);border:1px solid rgba(222,210,239,.4);border-radius:50px;z-index:3}
.digital-art>span:nth-last-child(3){top:18%;left:11%}
.digital-art>span:nth-last-child(2){top:48%;right:0}
.digital-art>span:last-child{bottom:12%;left:22%}
.page-hero{position:relative;overflow:hidden;padding-block:clamp(74px,10vw,145px);isolation:isolate}
.page-hero>.container{position:relative;z-index:2}
.page-title{font-size:clamp(2.8rem,6.6vw,7rem);line-height:1.04;letter-spacing:-.055em;font-weight:500;max-width:1100px;margin-bottom:34px}
.page-hero .lead{max-width:710px;color:#c9cddd}
.page-hero .status-label{margin-top:32px;color:var(--lavender)}
.page-orbit{position:absolute;z-index:0;right:-170px;top:-170px;width:620px;height:620px;border:1px solid rgba(140,109,189,.3);border-radius:50%}
.page-orbit::before,.page-orbit::after{content:"";position:absolute;inset:45px;border:1px solid rgba(140,109,189,.22);border-radius:50%}
.page-orbit::after{inset:90px}
.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.article-card{border-top:1px solid var(--navy);padding-top:25px;display:flex;flex-direction:column;align-items:flex-start}
.article-card h2{font-size:clamp(1.8rem,2.5vw,2.8rem);margin-bottom:25px;line-height:1.1}
.article-card h2 a{text-decoration:none}
.article-card h2 a:hover{color:var(--violet-dark)}
.article-card>p:not(.eyebrow){font-size:1rem;color:var(--muted);margin-bottom:35px}
.article-card .text-link{margin-top:auto}
.article-back{padding-bottom:60px}
.article-back a{display:inline-block;min-height:44px}
.cta-band{display:flex;justify-content:space-between;align-items:center;gap:60px}
.cta-band h2{font-size:clamp(2.3rem,4.2vw,4.5rem)}
.cta-band p:not(.eyebrow){max-width:620px;margin-top:25px;color:#505164}
.cta-band>.button{flex-shrink:0}
.site-footer{padding:75px 0 28px;background:var(--navy);color:white}
.footer-top{display:grid;grid-template-columns:1.3fr 1fr .85fr;gap:70px;padding-bottom:65px}
.footer-logo{width:260px;height:auto;margin-bottom:30px}
.footer-top>div:first-child>p{font-size:1.7rem;line-height:1.25;letter-spacing:-.03em;margin-bottom:24px}
.footer-top .status-label{color:var(--lavender)}
.footer-top nav{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.footer-top nav a{font-size:.84rem;text-decoration:none;min-height:32px;display:flex;align-items:center;color:#d6d7e1}
.footer-top nav a:hover{color:white;text-decoration:underline}
.footer-credit>img{width:150px;height:auto;margin-bottom:16px}
.footer-credit>p{font-size:.75rem;line-height:1.8;color:#b7bdcc}
.footer-bottom{display:flex;justify-content:space-between;gap:30px;padding-top:25px;border-top:1px solid rgba(255,255,255,.2);font-size:.66rem;line-height:1.6;color:#b7bdcc}
[data-reveal]{scroll-margin-top:100px}
.reveal-ready{opacity:0;transform:translateY(20px)}
.reveal-ready.is-visible{opacity:1;transform:none;transition:opacity .7s var(--ease),transform .7s var(--ease)}
@media(min-width:1600px){.hero-grid{padding-block:80px 64px}}
@media(max-width:1150px){
  .header-inner{flex-wrap:wrap;gap:0;min-height:86px;padding-block:20px}
  .brand,.brand img{width:200px;flex-basis:200px}
  .site-nav{width:100%;flex-wrap:wrap;gap:12px 24px;margin-top:20px}
  .nav-ready .nav-toggle{display:block;margin-left:auto}
  .nav-ready .site-nav{flex-direction:column;align-items:stretch;gap:0;margin:0;padding-top:18px}
  .nav-ready .site-nav a{font-size:1rem;min-height:50px;border-bottom:1px solid rgba(255,255,255,.14)}
  .nav-ready .site-nav .nav-contact{margin-top:16px;justify-content:space-between}
  .nav-ready[data-menu-open=false] .site-nav{display:none}
  .nav-ready .site-nav a[aria-current=page]::after{display:none}
  .nav-ready .site-nav a[aria-current=page]{color:var(--lavender)}
  .hero-grid{gap:35px}
  .display{font-size:clamp(3.2rem,6.5vw,5.1rem)}
  .hero .actions{align-items:stretch;flex-direction:column;max-width:310px}
  .hero-visual{aspect-ratio:.74}
  .flow-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
  .feature-number{margin-bottom:24px}
  .footer-top{gap:38px}
}
@media(max-width:760px){
  :root{--gutter:24px}
  html{scroll-padding-top:30px}
  .header-inner{min-height:78px;padding-block:15px}
  .brand,.brand img{width:185px;flex-basis:185px}
  .hero-grid{grid-template-columns:1fr;padding-block:38px 28px;gap:40px}
  .hero-content{padding:10px 0 0}
  .display{font-size:clamp(3rem,10.7vw,4.5rem);letter-spacing:-.055em}
  .hero .lead{font-size:1rem;max-width:540px}
  .hero .actions{max-width:none;flex-direction:row}
  .hero-note{margin-top:22px}
  .hero-visual{aspect-ratio:1.08;max-height:540px;border-radius:40% 40% 3px 3px}
  .visual-caption{left:22px;right:22px;bottom:20px;font-size:.55rem}
  .hero-bottom{align-items:flex-start;flex-direction:column;gap:10px;padding-block:19px 22px;line-height:1.6;font-size:.62rem}
  .statement{font-size:clamp(2.45rem,7.8vw,3.7rem)}
  .statement-bottom{grid-template-columns:1fr;gap:26px;margin-top:30px}
  .statement-bottom .text-link{justify-self:start}
  .split{grid-template-columns:1fr;gap:36px}
  .split--reverse>:first-child{order:initial}
  .section-heading{margin-bottom:36px}
  .section-heading .eyebrow{margin-bottom:18px}
  .flow-grid{margin-top:35px;gap:30px 24px}
  .feature h3{font-size:1.25rem}
  .feature p{font-size:.87rem}
  .team-grid{grid-template-columns:1fr;gap:44px}
  .person-image{aspect-ratio:1;max-height:520px}
  .person-card h3{font-size:1.6rem}
  .person-monogram{font-size:5.5rem}
  .digital-art{min-height:340px}
  .page-hero{padding-block:64px 72px}
  .page-title{font-size:clamp(2.65rem,8.5vw,4.2rem);overflow-wrap:break-word;margin-bottom:28px}
  .page-orbit{opacity:.6;right:-380px}
  .article-grid{grid-template-columns:1fr;gap:48px}
  .article-card h2{font-size:2.15rem;max-width:600px}
  .article-card>p:not(.eyebrow){margin-bottom:20px}
  .cta-band{align-items:flex-start;flex-direction:column;gap:30px}
  .footer-top{grid-template-columns:1fr 1fr;gap:45px 30px;padding-bottom:45px}
  .footer-top>div:first-child{grid-column:1/-1}
  .footer-logo{width:235px}
  .footer-bottom{flex-direction:column;gap:12px}
}
@media(max-width:420px){
  .actions{gap:10px}
  .hero .actions{flex-direction:column}
  .button{padding-inline:19px}
  .flow-grid{grid-template-columns:1fr}
  .feature{display:grid;grid-template-columns:42px 1fr;column-gap:16px}
  .feature-number{grid-column:1/-1;margin-bottom:20px}
  .feature .icon{grid-row:2/4;margin:0}
  .feature h3,.feature p{grid-column:2;max-width:none}
  .feature h3{margin-bottom:12px}
  .footer-top{grid-template-columns:1fr}
  .footer-top>div:first-child{grid-column:auto}
  .pathway-step{grid-template-columns:30px 1fr;gap:15px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal-ready{opacity:1!important;transform:none!important}
  .hero-image,.person-card:hover .person-image>img{transform:none!important}
}
@media print{
  .site-header,.site-footer,.hero-visual,.digital-art,.page-orbit,.actions,.cta-band,.nav-toggle{display:none}
  body,.section,.page-hero,.hero{background:white!important;color:black!important}
  .container{width:100%}
  .section,.page-hero,.hero-grid{padding:25px 0}
  .hero-grid,.split{display:block}
  .display,.page-title{font-size:36pt}
  h2,.statement{font-size:24pt}
  p,.lead{color:black!important;font-size:11pt}
  .reveal-ready{opacity:1;transform:none}
  .person-image{max-height:180px}
  a{text-decoration:underline}
}

