
:root{
  --ink:#2b2730;--ink-2:#4d4756;--ink-3:#7a7385;--paper:#f1eff4;--mist:#d6e6ea;
  --orchid:#e57cf0;--magenta:#ff3ea5;--violet:#6d5cff;--plum:#2a0b4a;--char:#333236;
  --line:rgba(43,39,48,.14);--wline:rgba(255,255,255,.4);
  --serif:'Sentient',Georgia,serif;--sans:'General Sans',system-ui,-apple-system,sans-serif;--r:22px;
  --grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;background:var(--paper)}
a{color:inherit}
em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.01em}
.star{color:var(--orchid);font-style:normal}
.grainy{position:relative;isolation:isolate}
.grainy::before{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;background-image:var(--grain);opacity:.16;mix-blend-mode:overlay}

/* fixed dreamy sky behind the whole page */
html,body{overflow-x:clip}
.skysec{overflow:hidden}
.skysec>.skybg{position:absolute;inset:-30px;z-index:0;background:url(/assets/bbf9899dd4be.webp) center/cover no-repeat;filter:blur(5px) saturate(1.05)}
.skysec>.skybg::after{content:"";position:absolute;inset:0;background:rgba(244,238,250,.34)}
.skysec.flip>.skybg{transform:scaleX(-1);background-position:center 70%}

nav{position:fixed;inset:0 0 auto 0;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:22px 48px;color:#fff;background:rgba(200,170,215,.18);backdrop-filter:blur(28px) saturate(1.3);-webkit-backdrop-filter:blur(28px) saturate(1.3);border-bottom:1px solid rgba(255,255,255,.35);transition:background .3s,color .3s}
nav.scrolled{background:rgba(245,240,250,.6);backdrop-filter:blur(28px) saturate(1.3);-webkit-backdrop-filter:blur(28px) saturate(1.3);color:var(--ink);border-bottom:1px solid var(--line)}
nav .links{display:flex;gap:26px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500}
nav .links a{text-decoration:none}
nav .links a:hover{text-decoration:underline;text-underline-offset:5px}
.wordmark{font-family:var(--sans);font-weight:700;font-size:24px;letter-spacing:-.03em;text-decoration:none;white-space:nowrap}
.wordmark em{font-weight:400}
nav .nr{justify-self:end;display:flex;align-items:center;gap:22px}
nav .login{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;text-decoration:none;padding:7px 16px;border:1.5px solid currentColor;border-radius:999px;opacity:.9}
nav .login:hover{opacity:1;background:rgba(255,255,255,.15)}
nav .cta{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;text-decoration:none;padding:7px 2px;border-bottom:1.5px solid currentColor}

/* HERO */
.hero{min-height:145svh;display:grid;justify-items:center;align-content:start;padding:calc(min(0px,305px - 20vw) + 20.3vw - 74px) 24px 120px;overflow:hidden}
.hero .hbg{position:absolute;left:0;right:0;top:0;height:calc(100% - 45svh*.7 + 2px);z-index:0;background:url(/assets/8500e47f1398.webp) center top min(0px,calc(305px - 20vw))/cover no-repeat,url(/assets/8500e47f1398.webp) center top/cover no-repeat;will-change:transform}

.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(40,20,60,.25),transparent 30%,transparent 75%,rgba(40,20,60,.25));z-index:0}
.card{position:relative;z-index:6;width:min(900px,100%);display:grid;grid-template-columns:1.15fr 1fr;border-radius:var(--r);border:0;background:rgba(120,80,110,.22);backdrop-filter:blur(30px) saturate(1.2);-webkit-backdrop-filter:blur(30px) saturate(1.2);box-shadow:0 30px 90px rgba(40,10,50,.3);overflow:hidden;color:#fff}
.card::before{content:'';position:absolute;inset:0;border-radius:inherit;padding:2px;background:linear-gradient(120deg,#ffd6f6,#b9a6ff,#9ff0ff,#ffe9b0,#ff9ee8);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:9}
.card .copy{padding:48px 48px 44px}
.eyebrow{font-weight:500;font-size:19px;letter-spacing:-.01em;margin-bottom:30px}
h1{font-weight:600;font-size:clamp(46px,5.6vw,74px);line-height:1;letter-spacing:-.035em;text-wrap:balance}
h1 em{display:block;font-weight:400;line-height:1.08}
.lede{margin-top:22px;max-width:40ch;font-size:14px;color:rgba(255,255,255,.88)}
.pill{display:inline-flex;align-items:center;justify-content:center;margin-top:36px;padding:18px 40px;border:1px solid rgba(255,255,255,.75);border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;background:rgba(255,255,255,.06);transition:background .25s,color .25s}
.pill:hover{background:#fff;color:var(--ink)}
.tile{position:relative;min-height:470px;margin:0;display:flex;flex-direction:column;justify-content:space-between;padding:30px 30px;text-decoration:none;background:url(/assets/04f11b152752.webp) center/cover no-repeat}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(60,20,70,.25),transparent 30%,transparent 60%,rgba(60,20,70,.5))}
.tile>*{position:relative;z-index:1}
.tag{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:500}
.tile .t{font-weight:600;font-size:22px;letter-spacing:-.02em;border-bottom:1.5px solid #fff;align-self:flex-start;padding-bottom:3px}

/* sections */
section{position:relative;padding:130px 48px}
.wrap{max-width:1140px;margin:0 auto;position:relative;z-index:6}
.kicker{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);font-weight:500;margin-bottom:18px}
h2{font-weight:600;font-size:clamp(36px,4.6vw,66px);line-height:1;letter-spacing:-.035em;text-wrap:balance}
h2 em{font-weight:400}
.center{text-align:center}

/* practices cards (Fluros case-study row) */
.practices{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:center;margin-top:70px}
.pc{position:relative;border-radius:var(--r);min-height:340px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;background:rgba(255,255,255,.28);border:1px solid rgba(255,255,255,.6);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:transform .3s}
.pc:hover{transform:translateY(-4px)}
.pc p{font-size:clamp(19px,1.6vw,23px);line-height:1.35;letter-spacing:-.01em;font-weight:500;color:var(--ink);max-width:22ch}
.pc b{font-weight:600;font-size:22px;letter-spacing:-.02em;border-bottom:1.5px solid currentColor;align-self:flex-start;padding-bottom:2px}
.pc.img{min-height:380px;color:#fff;background:url(/assets/4943afa68810.webp) center 30%/cover no-repeat;border:0;overflow:hidden}
.pc.img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(60,30,80,.45),rgba(60,30,80,.1) 40%,rgba(60,30,80,.55));border-radius:inherit}
.pc.img>*{position:relative;z-index:1}
.pc.img p{color:#fff}
.glowdot{position:absolute;left:50%;top:60%;width:720px;height:520px;transform:translate(-50%,-50%);background:radial-gradient(ellipse,rgba(239,120,240,.65),transparent 62%);filter:blur(30px);z-index:0;pointer-events:none}

/* dark star band */
.band{background:var(--paper);color:var(--ink);padding:0;overflow:visible}
.band .row{display:flex;align-items:center;gap:20px;padding:22px 48px;border-bottom:1px solid rgba(43,39,48,.14);font-size:clamp(28px,3.4vw,50px);letter-spacing:-.03em;font-weight:500}
.band .row:last-child{border-bottom:0}
.band .row .star{font-size:.7em}
.band .row em{font-weight:400}
.fo{position:absolute;pointer-events:none;z-index:7;filter:drop-shadow(0 20px 40px rgba(217,70,239,.35));animation:float 12s ease-in-out infinite alternate}
@keyframes float{to{transform:translateY(-22px) rotate(6deg)}}
.oa{background:url(/assets/908c796698ce.webp) center/contain no-repeat;aspect-ratio:560/803}
.ob{background:url(/assets/c31121ab51bf.webp) center/contain no-repeat;aspect-ratio:560/545}
.oc{background:url(/assets/51f9ccf86a40.webp) center/contain no-repeat;aspect-ratio:520/776}

/* expertise panel */
.panel{border-radius:var(--r);background:rgba(255,255,255,.34);border:1px solid rgba(255,255,255,.7);backdrop-filter:blur(22px) saturate(1.1);-webkit-backdrop-filter:blur(22px) saturate(1.1);box-shadow:0 30px 80px rgba(80,40,120,.12)}
.panel h2{padding:64px 72px 40px}
.prow{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;padding:34px 72px;border-top:1px solid var(--line)}
.prow h3{font-size:18px;font-weight:600;letter-spacing:-.01em}
.prow p{font-size:14px;color:#3a3540}
.prow ul{list-style:none;margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}
.prow li{font-size:12px;padding:5px 12px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.4);color:var(--ink-2)}

/* model band */
.mband{color:#fff;background:url(/assets/d2c0e6ca64bb.webp) center 30%/cover no-repeat;padding:150px 48px}
.mband::after{content:"";position:absolute;inset:0;background:rgba(70,40,100,.38);z-index:0}
.mband h2{font-size:clamp(44px,6vw,88px)}
.principles{margin-top:60px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;text-align:left}
.pr{border:1px solid rgba(255,255,255,.45);border-radius:20px;padding:26px 24px;background:rgba(255,255,255,.12);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.pr b{display:block;font-weight:600;font-size:17px;margin-bottom:8px}
.pr p{font-size:14px;color:rgba(255,255,255,.88)}

/* apply */
.apply{background:var(--paper)}
.ap{display:grid;grid-template-columns:1fr 1.15fr;align-items:stretch;max-width:1000px;margin:0 auto}
.ap .pic{border-radius:var(--r);background:url(/assets/8500e47f1398.webp) 62% 40%/cover no-repeat;min-height:460px;position:relative;overflow:hidden}
.ap .frm{margin-left:-24px;border-radius:var(--r);border:1px solid rgba(255,255,255,.75);background:rgba(255,255,255,.62);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:48px 44px;position:relative;z-index:2}
.ap h2{font-size:clamp(32px,3.4vw,46px)}
.ap .sub{margin:14px 0 26px;font-size:14px;color:var(--ink-2)}
form{display:grid;gap:12px}
.r2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
input,select,textarea{width:100%;background:#fff;border:1px solid transparent;color:var(--ink);font:inherit;font-size:14px;padding:14px 16px;outline:none;border-radius:4px}
select{appearance:none;color:var(--ink-3)}
textarea{min-height:90px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--orchid)}
.btn{justify-self:start;background:var(--orchid);color:#1d1320;border:0;border-radius:6px;padding:16px 26px;font:600 11px var(--sans);letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
.btn:hover{background:#d65fe3}
.note{font-size:12px;color:var(--ink-3)}

/* closing CTA */
.closer{color:var(--ink);text-align:center;padding:130px 48px;background:url(/assets/bbf9899dd4be.webp) center/cover no-repeat;overflow:hidden}
.closer::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(241,239,244,.35),rgba(241,239,244,.1))}
.closer p{max-width:46ch;margin:20px auto 0;color:var(--ink-2)}
.closer .pill{color:var(--ink);border-color:var(--ink);background:rgba(255,255,255,.35)}
.closer .wrap{position:relative;z-index:2;max-width:820px;margin:0 auto;padding:64px 48px;border-radius:var(--r);border:2px solid rgba(255,255,255,.85);background:rgba(255,255,255,.3);backdrop-filter:blur(26px) saturate(1.2);-webkit-backdrop-filter:blur(26px) saturate(1.2);box-shadow:0 30px 90px rgba(80,40,120,.15)}

footer{position:relative;background:var(--paper);padding:56px 48px 28px;overflow:hidden}
footer .glow{position:absolute;right:-5%;bottom:-40%;width:60%;height:120%;background:radial-gradient(ellipse,rgba(239,120,240,.6),transparent 60%);filter:blur(30px)}
footer .top{position:relative;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
footer .fl{display:grid;gap:4px;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
footer .big{font-weight:700;font-size:clamp(64px,13vw,190px);letter-spacing:-.05em;line-height:.85}
footer .big em{font-weight:400}
footer .legal{position:relative;margin-top:30px;padding-top:18px;border-top:1px solid var(--line);font-size:12px;color:var(--ink-3);text-align:center}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .9s,transform .9s}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.fo{animation:none}}

/* tagline switcher (preview only) */
.tls{position:fixed;left:18px;bottom:18px;z-index:30;display:flex;gap:6px;align-items:center;padding:8px 10px;border-radius:999px;background:rgba(40,30,50,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.tls button{all:unset;cursor:pointer;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.25);font-size:12px;color:#fff}
.tls button.on{background:#fff;color:#222}

@media (max-width:960px){
  nav{padding:16px 22px;grid-template-columns:auto 1fr}
  nav .links{display:none}
  nav .nr{grid-column:2;gap:14px}
  nav .login{padding:6px 12px}
  .hero .hbg{background-position:center top,center top}
  .hero{padding-top:250px}
  .wordmark{font-size:21px}
  .card{grid-template-columns:1fr}
  .card .copy{padding:34px 26px 30px}
  .tile{min-height:300px}
  .pill{width:100%;padding:17px 20px}
  section{padding:90px 22px}
  .practices{grid-template-columns:1fr;gap:18px;margin-top:44px}
  .pc,.pc.img{min-height:260px}
  .band .row{padding:18px 22px}
  .panel h2{padding:40px 26px 26px}
  .prow{grid-template-columns:1fr;gap:10px;padding:26px}
  .mband{padding:100px 22px}
  .principles{grid-template-columns:1fr 1fr}
  .ap{grid-template-columns:1fr}
  .ap .pic{min-height:300px}
  .ap .frm{margin:-30px 10px 0;padding:32px 22px}
  .r2{grid-template-columns:1fr}
  .closer{padding:110px 22px}
  footer{padding:44px 22px 24px}
  .fo{width:120px!important;opacity:.85}
  .band .fo{right:-24px!important;top:-118px!important;width:96px!important}
  #expertise .fo.oc{right:-60px!important;top:40px!important}
  #expertise .fo.ob{left:-55px!important;bottom:-10px!important}
  .closer .fo.oa{left:-45px!important;bottom:-20px!important}
  .closer .fo.ob{right:-45px!important;top:10px!important}
  .tls{transform:scale(.85);transform-origin:left bottom}
}
@media (max-width:520px){.principles{grid-template-columns:1fr}}
footer{padding:96px 48px 40px}
footer .lgrid{position:relative;margin-top:110px;padding-top:56px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(6,1fr);gap:40px 28px}
footer .lcol h4{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--ink);margin:0 0 18px}
footer .lcol a{display:block;font-size:13px;line-height:1.35;color:var(--ink-2);text-decoration:none;margin-bottom:11px}
footer .lcol a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
footer .fine{position:relative;margin-top:64px;max-width:900px;font-size:11.5px;line-height:1.7;color:var(--ink-3)}
footer .legal{display:flex;justify-content:space-between;margin-top:40px;text-align:left}
.lv{position:fixed;inset:0;z-index:50;overflow:auto;background:var(--paper)}
.lv[hidden]{display:none}
.lvin{max-width:760px;margin:0 auto;padding:120px 32px 120px}
.lvx{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;text-decoration:none;border-bottom:1.5px solid currentColor;padding-bottom:4px}
.lv .lvk{margin:56px 0 8px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--orchid);font-weight:600}
.lv h1{font-size:clamp(36px,5vw,60px);letter-spacing:-.03em;line-height:1.02;margin:0}
.lv .lvd{font-size:13px;color:var(--ink-3);margin:16px 0 48px}
.lv h3{font-size:20px;margin:40px 0 12px}
.lv p{color:var(--ink-2);margin:0 0 14px}
@media(max-width:1100px){footer .lgrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:360px){nav{padding:14px 16px}.wordmark{font-size:18px!important}nav .nr{gap:10px!important}nav .login{padding:5px 10px!important}nav .cta,nav .login{white-space:nowrap;letter-spacing:.1em}}
@media(max-width:640px){footer .lcol a{padding:6px 0;margin-bottom:2px}footer .fl{gap:0}footer .fl a{padding:7px 0}footer{padding:64px 22px 30px}footer .lgrid{grid-template-columns:1fr 1fr;margin-top:60px}footer .legal{flex-direction:column;gap:6px}}
footer .ltop{grid-template-columns:repeat(5,1fr)}
footer .lhead{position:relative;margin-top:80px;font-size:clamp(28px,3vw,40px);font-weight:600;letter-spacing:-.02em}
footer .lsub{margin-top:28px;padding-top:36px}
footer .lsub h4{color:var(--ink-3)}
footer .lsub{grid-template-columns:repeat(5,1fr)}
@media(max-width:1100px){footer .lsub{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){footer .lsub{grid-template-columns:1fr 1fr}}
@media(max-width:1100px){footer .ltop{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){footer .ltop{grid-template-columns:1fr 1fr}}

/* type scale v2 (Navarre plan, 15 rows) */
.lede{font-size:18.5px;font-weight:500}
.pill{font-size:13px;padding:20px 44px}
.btn{font-size:13px;padding:18px 30px}
.kicker{font-size:13px;color:#c45fd0}
.prow h3{font-size:27px}
.prow p{font-size:18px}
.prow li{font-size:15px}
.pr b{font-size:22px}
.pr p{font-size:17px}
.ap .sub{font-size:18px}
input,select,textarea{font-size:16px}
.note{font-size:13px}
.closer p{font-size:20px}
nav .links,nav .login,nav .cta{font-size:12px}
footer .lcol h4{font-size:12px}
footer .lcol a{font-size:15px}
footer .fine,footer .legal{font-size:13px}
@media(max-width:960px){.pill{padding:18px 20px}}

/* spacing v2 (1a): fluid, capped at plan values */
section{padding-top:clamp(120px,12.5vw,180px);padding-bottom:clamp(120px,12.5vw,180px)}
.practices{margin-top:96px}
.band{padding:0}
.band .row{padding-top:34px;padding-bottom:34px}
.panel h2{padding-top:88px}
.prow{padding-top:52px;padding-bottom:52px}
.mband{padding-top:clamp(130px,14vw,200px);padding-bottom:clamp(130px,14vw,200px)}
.closer{padding-top:clamp(110px,12.5vw,180px);padding-bottom:clamp(110px,12.5vw,180px)}
.closer .wrap{padding-top:88px;padding-bottom:88px}
@media(max-width:960px){.practices{margin-top:60px}.band .row{padding-top:26px;padding-bottom:26px}.panel h2{padding-top:56px}.prow{padding-top:34px;padding-bottom:34px}.closer .wrap{padding-top:64px;padding-bottom:64px}}
