@font-face{font-family:"Geist";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/geist-latin-wght-normal.woff2") format("woff2-variations"),url("../fonts/geist-latin-wght-normal.woff2") format("woff2")}
:root{
  --ink:#0B0C22;--ink-2:#2B2E44;--muted:#626779;--line:#E6E7EC;--soft:#F5F5F7;--soft-2:#EEEFF3;--bg:#fff;
  --navy:#0B0C22;--accent:#FFC53D;--focus:#0B0C22;
  --font:"Geist",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --wrap:1200px;--gut:clamp(20px,4vw,40px);--r:18px;--r-sm:12px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;font:400 17px/1.6 var(--font);color:var(--ink-2);background:var(--bg);-webkit-font-smoothing:antialiased}
img,svg,video{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
h1,h2,h3,h4,p,ul,ol,figure,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
h1,h2,h3,h4{color:var(--ink);font-weight:600;letter-spacing:-.025em;text-wrap:balance}
h1{font-size:clamp(2.5rem,1.6rem + 3.6vw,4.4rem);line-height:1.02;letter-spacing:-.045em}
h2{font-size:clamp(1.9rem,1.4rem + 1.9vw,2.9rem);line-height:1.08;letter-spacing:-.035em}
h3{font-size:1.2rem;line-height:1.3;letter-spacing:-.015em}
p{text-wrap:pretty}
.wrap{width:100%;max-width:calc(var(--wrap) + var(--gut) * 2);margin:0 auto;padding:0 var(--gut)}
.narrow{max-width:760px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:12px;top:-80px;z-index:300;background:var(--ink);color:#fff;padding:12px 18px;border-radius:999px;text-decoration:none}
.skip:focus{top:12px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:999px;border:1px solid transparent;font:500 15.5px/1 var(--font);text-decoration:none;white-space:nowrap;transition:background-color .18s,border-color .18s,color .18s,transform .18s}
.btn svg{width:17px;height:17px;margin-right:8px}
.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:#25284A}
.btn-light{background:#fff;color:var(--ink);border-color:var(--line)}.btn-light:hover{border-color:var(--ink)}
.btn-white{background:#fff;color:var(--ink)}.btn-white:hover{background:var(--soft-2)}
.btn-ghost-w{border-color:rgba(255,255,255,.35);color:#fff}.btn-ghost-w:hover{border-color:#fff}
.btn-row{display:flex;flex-wrap:wrap;margin:-6px}.btn-row > *{margin:6px}
.tlink{color:var(--ink);font-weight:500;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.arrow-link{display:inline-flex;align-items:center;gap:6px;font-weight:500;color:var(--ink);text-decoration:none}
.arrow-link::after{content:"";width:7px;height:7px;border-top:1.6px solid currentColor;border-right:1.6px solid currentColor;transform:rotate(45deg);transition:transform .18s}
.arrow-link:hover::after{transform:translateX(3px) rotate(45deg)}

/* Header */
.hdr{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line)}
.hdr-in{position:relative;display:flex;align-items:center;height:72px}.hdr-in > * + *{margin-left:20px}
.logo{display:inline-flex;align-items:center;text-decoration:none;color:var(--ink);font-weight:650;font-size:18px;letter-spacing:-.03em;white-space:nowrap;flex:none}
.logo i{position:relative;width:24px;height:24px;border-radius:50%;background:var(--ink);flex:none;margin-right:10px}
.logo i::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--accent)}
.nav{display:flex;align-items:center;margin:0 auto 0 24px}.nav > li + li{margin-left:2px}
.nav > li{position:static}
.nav-a,.nav-b{display:inline-flex;align-items:center;height:40px;padding:0 10px;white-space:nowrap;border:0;background:none;border-radius:999px;font-size:15px;font-weight:500;color:var(--ink);text-decoration:none}
.nav-a:hover,.nav-b:hover,.nav-b[aria-expanded="true"]{background:var(--soft)}
.nav-a[aria-current]{background:var(--soft)}
.drop-ind{grid-template-columns:repeat(3,minmax(0,1fr))}
.drop-ind ul{columns:1}
.nav-b svg{width:12px;height:12px;margin-left:6px;transition:transform .2s}
.nav-b[aria-expanded="true"] svg{transform:rotate(180deg)}
.drop{display:none;position:absolute;top:calc(100% + 8px);left:var(--gut);right:var(--gut);background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:0 24px 48px -12px rgba(11,12,34,.18);padding:28px}
.drop.open{display:block}
.drop-grid{display:grid;gap:28px}
.drop-svc{grid-template-columns:repeat(5,minmax(0,1fr))}
.drop-ind{grid-template-columns:repeat(3,minmax(0,1fr))}
.drop h3{font-size:13px;font-weight:500;color:var(--muted);letter-spacing:0;margin-bottom:10px}
.drop h3 a{text-decoration:none}
.drop li a{display:block;padding:6px 0;font-size:15px;font-weight:500;color:var(--ink);text-decoration:none;line-height:1.35}
.drop li a:hover{text-decoration:underline;text-underline-offset:4px}
.drop-foot{display:flex;justify-content:space-between;gap:16px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:15px}
.hdr-cta{display:flex;align-items:center;flex:none}.hdr-cta > * + *{margin-left:8px}
.hdr-phone{display:inline-flex;align-items:center;height:44px;padding:0 12px;border-radius:999px;font-weight:500;font-size:15px;color:var(--ink);text-decoration:none;white-space:nowrap}
.hdr-phone:hover{background:var(--soft)}
.hdr-phone svg{width:16px;height:16px;margin-right:7px}
.hdr .btn{min-height:44px;padding:0 18px}
.menu-btn{display:none;margin-left:auto;width:44px;height:44px;border-radius:999px;border:1px solid var(--line);background:#fff;align-items:center;justify-content:center}
.menu-btn svg{width:20px;height:20px}
.mnav{display:none;position:fixed;top:72px;right:0;bottom:0;left:0;background:#fff;overflow-y:auto;padding:12px var(--gut) 40px;z-index:99}
.mnav.open{display:block}
.mnav > a,.macc-b{display:flex;justify-content:space-between;align-items:center;width:100%;padding:16px 0;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;font-size:18px;font-weight:500;color:var(--ink);text-decoration:none}
.macc-b span{width:12px;height:12px;background:linear-gradient(var(--ink),var(--ink)) center/100% 1.6px no-repeat,linear-gradient(var(--ink),var(--ink)) center/1.6px 100% no-repeat;transition:transform .2s}
.macc-b[aria-expanded="true"] span{transform:rotate(45deg)}
.macc-p{padding:4px 0 12px;border-bottom:1px solid var(--line)}
.macc-p p{font-size:13px;color:var(--muted);margin:10px 0 2px}
.macc-p a{display:block;padding:9px 0;color:var(--ink-2);text-decoration:none;font-size:16px}
.mnav-cta{display:grid;gap:10px;margin-top:20px}

/* Hero */
.hero{padding:clamp(56px,9vw,112px) 0 clamp(48px,6vw,72px);text-align:center}
.hero h1{max-width:13.5em;margin:0 auto}
.hero .sub{margin:20px auto 0;max-width:40em;font-size:clamp(1.05rem,1rem + .35vw,1.25rem);color:var(--muted)}
.crumbs{font-size:14px;color:var(--muted);margin-bottom:22px}
.crumbs ol{display:flex;flex-wrap:wrap;gap:6px}
.hero .crumbs ol{justify-content:center}
.crumbs li + li::before{content:"/";margin-right:6px;color:#B5B8C4}
.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--ink)}
.ask{max-width:720px;margin:36px auto 0;text-align:left;position:relative}
.ask-field{display:flex;align-items:center;background:#fff;border:1px solid var(--line);border-radius:20px;padding:8px 8px 8px 22px;box-shadow:0 1px 2px rgba(11,12,34,.04),0 12px 32px -12px rgba(11,12,34,.12);transition:border-color .2s,box-shadow .2s}
.ask-field:focus-within{border-color:var(--ink);box-shadow:0 0 0 4px rgba(11,12,34,.08),0 12px 32px -12px rgba(11,12,34,.14)}
.ask-field svg.lead{width:20px;height:20px;color:var(--muted);flex:none;margin-right:10px}
.ask-go{margin-left:10px}
.ask-in{position:relative;flex:1;min-width:0}
.ask input{width:100%;height:52px;border:0;outline:0;background:transparent;font-size:17px;color:var(--ink)}
.ph{position:absolute;inset:0;display:flex;align-items:center;color:#8B90A0;font-size:17px;pointer-events:none;white-space:nowrap;overflow:hidden;transition:opacity .3s}
.ph.out{opacity:0}
.ask.has .ph,.ask-field:focus-within .ph{opacity:0}
.ask-go{flex:none;width:48px;height:48px;border-radius:14px;border:0;background:var(--ink);color:#fff;display:grid;place-items:center}
.ask-go:hover{background:#25284A}.ask-go svg{width:20px;height:20px}
.chips{display:flex;flex-wrap:wrap;justify-content:center;margin:12px -4px 0}.chip{margin:4px}
.chip{height:38px;padding:0 15px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:14.5px;font-weight:500;color:var(--ink-2)}
.chip:hover{border-color:var(--ink);color:var(--ink)}
.answer{margin-top:14px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px 24px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 28px;align-items:center;box-shadow:0 12px 32px -16px rgba(11,12,34,.18);animation:rise .3s ease-out}
.answer[hidden]{display:none}
@keyframes rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.ans-t{font-size:1.35rem;font-weight:600;color:var(--ink);letter-spacing:-.02em}
.ans-p{margin-top:6px;color:var(--muted);font-size:15.5px;line-height:1.55}
.ans-l{margin-top:10px;font-size:15px}
.ans-cta{display:flex;flex-direction:column;gap:8px}
.logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;margin:clamp(48px,6vw,72px) 0 0;min-width:0}.logos img{margin:10px 16px}
.logos img{height:40px;width:auto;object-fit:contain;filter:grayscale(1) contrast(1.1);mix-blend-mode:multiply;opacity:.75;transition:opacity .2s}
.logos img.tall{height:54px}
.phero .logos{margin-top:clamp(40px,5vw,56px)}
.logos img:hover{opacity:1}

/* Page hero (left aligned) */
.phero{padding:clamp(40px,6vw,80px) 0 clamp(40px,5vw,64px)}
.phero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-width:0;gap:clamp(32px,5vw,72px);align-items:center}
.phero-grid.solo{grid-template-columns:minmax(0,1fr)}
.phero h1{max-width:12em}
.phero .sub{margin-top:18px;max-width:30em;font-size:clamp(1.05rem,1rem + .35vw,1.25rem);color:var(--muted)}
.phero .btn-row{margin-top:30px}
.phero-media{border-radius:var(--r);overflow:hidden;background:var(--soft)}

/* Sections */
.sec{padding:clamp(64px,8vw,112px) 0}
.sec-soft{background:var(--soft)}
.sec-dark{background:var(--navy);color:#C9CCDA}
.sec-dark h2,.sec-dark h3{color:#fff}
.head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(32px,4vw,48px)}
.head h2{max-width:16em}
.head p{max-width:34em;color:var(--muted);margin-top:12px}
.sec-dark .head p{color:#A9ADC0}
.lead{font-size:1.15rem;color:var(--muted);max-width:40em}

/* Service groups */
.groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}
.group{background:var(--soft);border-radius:var(--r);padding:24px}
.sec-soft .group{background:#fff}
.group h3{font-size:1.05rem;margin-bottom:12px}
.group li a{display:block;padding:7px 0;color:var(--ink-2);text-decoration:none;border-top:1px solid var(--soft-2)}
.group li:first-child a{border-top:0}
.group li a:hover{color:var(--ink)}

/* Feature grid */
.feat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 36px}
.feat li{padding-top:18px;border-top:1px solid var(--line)}
.feat h3{font-size:1.1rem}
.feat p{margin-top:8px;color:var(--muted);font-size:16px}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.steps li{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px}
.sec-soft .steps li{border-color:transparent}
.steps b{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ink);color:#fff;font-size:13px;font-weight:600;margin-bottom:18px}
.steps h3{font-size:1.05rem}
.steps p{margin-top:6px;color:var(--muted);font-size:15.5px}

/* Results */
.results{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.res{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;display:flex;flex-direction:column;gap:20px}
.sec-soft .res{border-color:transparent}
.res-logo{height:44px;display:flex;align-items:center}
.res-logo img{max-height:44px;max-width:150px;width:auto;object-fit:contain;filter:grayscale(1);mix-blend-mode:multiply}
.res-logo span{font-weight:650;font-size:20px;color:var(--ink);letter-spacing:-.03em}
.res-stats{display:grid;gap:14px}
.res-stats div{display:grid;gap:2px}
.res-stats b{font-size:2.4rem;line-height:1;font-weight:600;color:var(--ink);letter-spacing:-.04em}
.res-stats span{color:var(--muted);font-size:15px}
.res small{margin-top:auto;font-size:13px;color:var(--muted);padding-top:14px;border-top:1px solid var(--line)}

/* Sliders */
.slider{position:relative}
.track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px;margin-right:calc(var(--gut) * -1);padding-right:var(--gut)}
.track::-webkit-scrollbar{display:none}
.slide{flex:none;scroll-snap-align:start;margin:0}
.slide img,.slide video{width:100%;height:100%;object-fit:cover;border-radius:var(--r-sm);background:var(--soft)}
.v .slide{height:clamp(360px,42vw,520px)}
.v .slide img,.v .slide video{width:auto;height:100%}
.sq .slide{width:clamp(260px,32vw,400px);aspect-ratio:1}
.slide-cap{margin-top:10px;font-size:14px;color:var(--muted)}
.v .slide-cap{display:none}
.s-nav{display:flex;gap:8px}
.s-btn{width:44px;height:44px;border-radius:999px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;color:var(--ink)}
.s-btn:hover{border-color:var(--ink)}.s-btn svg{width:18px;height:18px}
.s-btn:disabled{opacity:.35;cursor:default}
.sec-dark .s-btn{background:transparent;border-color:rgba(255,255,255,.25);color:#fff}
.slider + .slider{margin-top:56px}
.sub-h{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}
.sub-h h3{font-size:1.25rem}
.sec-dark .slide img{background:#1A1C38}

/* Web showcase */
.webs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.webs.one{grid-template-columns:minmax(0,1fr)}
.webcard figcaption{display:flex;justify-content:space-between;gap:12px;margin-top:14px;font-size:15px}
.webcard figcaption b{color:var(--ink);font-weight:600}
.webcard figcaption span{color:var(--muted)}
.browser{border-radius:14px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:0 20px 40px -24px rgba(11,12,34,.3)}
.br-bar{display:flex;gap:6px;align-items:center;height:34px;padding:0 14px;background:var(--soft);border-bottom:1px solid var(--line)}
.br-bar i{width:9px;height:9px;border-radius:50%;background:#D5D7DF}
.br-view{aspect-ratio:16/10;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.br-view img{width:100%;height:auto}

/* Industry and link lists */
.links{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.links a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 22px;border-radius:var(--r-sm);background:var(--soft);text-decoration:none;color:var(--ink);font-weight:500;transition:background-color .18s}
.links a:hover{background:var(--soft-2)}
.links a::after{content:"";flex:none;width:8px;height:8px;border-top:1.6px solid currentColor;border-right:1.6px solid currentColor;transform:rotate(45deg)}
.sec-soft .links a{background:#fff}
.sec-dark .links a{background:rgba(255,255,255,.06);color:#fff}
.links-sm{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}

/* Service rows */
.rows{border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr) auto;gap:24px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line);text-decoration:none}
.row h3{font-size:1.2rem}
.row p{color:var(--muted)}
.row span{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;transition:all .18s}
.row span::after{content:"";width:7px;height:7px;border-top:1.6px solid var(--ink);border-right:1.6px solid var(--ink);transform:translateX(-1px) rotate(45deg)}
.row:hover span{background:var(--ink)}.row:hover span::after{border-color:#fff}

/* Split, points */
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start}
.pts{display:grid;gap:28px}
.pts h3{font-size:1.15rem}
.pts p{margin-top:6px;color:var(--muted)}
.chips-static{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.chips-static li{padding:8px 14px;border-radius:999px;background:var(--soft);font-size:15px;color:var(--ink-2)}
.client-note{display:flex;align-items:center;gap:18px;margin-top:28px;padding:20px 22px;border-radius:var(--r-sm);background:var(--soft)}
.client-note img{height:40px;width:auto;max-width:120px;object-fit:contain;filter:grayscale(1);mix-blend-mode:multiply}

/* Clients table */
.clients{border-top:1px solid var(--line)}
.clients li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);align-items:center}
.clients b{color:var(--ink);font-weight:600}
.clients span{color:var(--muted)}
.clients a{color:var(--muted);text-decoration:none;font-size:15px}
.clients a:hover{color:var(--ink)}

/* FAQ */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;list-style:none;cursor:pointer;font-weight:500;font-size:1.08rem;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:12px;height:12px;background:linear-gradient(var(--ink),var(--ink)) center/100% 1.6px no-repeat,linear-gradient(var(--ink),var(--ink)) center/1.6px 100% no-repeat;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{padding:0 40px 22px 0;color:var(--muted);max-width:44em}

/* CTA band */
.cta{padding:clamp(48px,6vw,80px) 0}
.cta-box{background:var(--navy);border-radius:28px;padding:clamp(40px,6vw,72px);text-align:center;color:#B9BDCF}
.cta-box h2{color:#fff;max-width:16em;margin:0 auto}
.cta-box p{margin:14px auto 0;max-width:32em}
.cta-box .btn-row{justify-content:center;margin-top:28px}

/* Contact */
.contact-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,80px);align-items:start}
.contact-info{display:grid;gap:20px;margin-top:28px}
.contact-info a{color:var(--ink);text-decoration:none;font-weight:500}
.contact-info small{display:block;color:var(--muted);font-size:14px}
.big-phone{font-size:clamp(1.8rem,1.4rem + 1.4vw,2.4rem);font-weight:600;letter-spacing:-.03em}
.form{background:var(--soft);border-radius:var(--r);padding:clamp(22px,3vw,36px)}
.fld{margin-top:16px}.fld:first-child{margin-top:0}
.fld label{display:block;font-size:14.5px;font-weight:500;color:var(--ink);margin-bottom:6px}
.fld label small{color:var(--muted);font-weight:400}
.fld input,.fld select,.fld textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;font-size:16px}
.fld textarea{min-height:120px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:2px solid var(--ink);outline-offset:0;border-color:transparent}
.fld .err{display:none;margin-top:6px;color:#B42318;font-size:14px}
.fld.bad .err{display:block}.fld.bad input,.fld.bad textarea{border-color:#B42318}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.two .fld{margin-top:16px}
.form .btn{width:100%;margin-top:22px}
.fine{margin-top:12px;font-size:13.5px;color:var(--muted)}
.hp{position:absolute;left:-9999px}
.ok h3{font-size:1.5rem}.ok p{margin-top:8px;color:var(--muted)}
.cal iframe{width:100%;height:660px;border:0;margin-top:16px;border-radius:var(--r-sm);background:#fff}

/* Blog */
.blog-feature{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,56px);align-items:center;padding:28px;border-radius:24px;background:var(--soft);text-decoration:none}
.blog-art{aspect-ratio:4/3;border-radius:var(--r);background:var(--navy);position:relative;overflow:hidden}
.blog-art::before{content:"";position:absolute;width:62%;aspect-ratio:1;border-radius:50%;right:-12%;bottom:-18%;background:var(--accent)}
.blog-art::after{content:"";position:absolute;width:34%;aspect-ratio:1;border-radius:50%;left:12%;top:16%;border:2px solid rgba(255,255,255,.4)}
.tag{display:inline-block;font-size:13px;font-weight:500;color:var(--ink);background:#fff;border:1px solid var(--line);padding:5px 11px;border-radius:999px}
.blog-feature h2{margin-top:14px;font-size:clamp(1.6rem,1.2rem + 1.4vw,2.3rem)}
.blog-feature p{margin-top:12px;color:var(--muted)}
.meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:16px;font-size:14px;color:var(--muted)}
.cats{display:flex;flex-wrap:wrap;gap:8px;margin:40px 0 28px}
.cats button{height:38px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:14.5px;font-weight:500}
.cats button[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.post{display:flex;flex-direction:column;gap:12px;padding:24px;border-radius:var(--r);border:1px solid var(--line);text-decoration:none}
.post[hidden]{display:none}
.post h3{font-size:1.2rem}.post p{color:var(--muted);font-size:15.5px}
.post:hover{border-color:var(--ink)}
.art-head{max-width:780px}
.art-head h1{font-size:clamp(2.2rem,1.5rem + 2.6vw,3.4rem);margin-top:16px}
.art-head .sub{margin-top:16px;color:var(--muted);font-size:1.2rem}
.byline{display:flex;align-items:center;gap:12px;margin-top:24px;font-size:14.5px;color:var(--muted)}
.byline .av{width:40px;height:40px;border-radius:50%;background:var(--ink);position:relative;flex:none}
.byline .av::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--accent)}
.byline b{color:var(--ink);font-weight:600;display:block}
.art{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:clamp(32px,5vw,72px);align-items:start;margin-top:48px}
.art-body{max-width:720px;min-width:0}
.art-body h2{font-size:clamp(1.5rem,1.2rem + 1vw,2rem);margin-top:52px;scroll-margin-top:96px}
.art-body h3{font-size:1.2rem;margin-top:32px}
.art-body p,.art-body li{font-size:18px;line-height:1.75;color:var(--ink-2)}
.art-body p{margin-top:18px}
.art-body ul,.art-body ol{margin-top:16px;padding-left:22px}.art-body ul{list-style:disc}.art-body ol{list-style:decimal}.art-body li{margin-top:8px}
.art-body a{color:var(--ink);text-underline-offset:4px}
.takeaways{background:var(--soft);border-radius:var(--r);padding:26px 28px}
.takeaways h2{font-size:1.15rem;margin-top:0}
.takeaways ul{margin-top:12px}.takeaways li{font-size:16.5px;margin-top:6px}
.note{margin-top:28px;padding:20px 24px;border-left:3px solid var(--ink);background:var(--soft);border-radius:0 var(--r-sm) var(--r-sm) 0}
.note p{margin-top:0;font-size:16.5px}
.toc{position:sticky;top:96px;font-size:14.5px}
.toc b{display:block;color:var(--ink);font-weight:600;margin-bottom:10px}
.toc a{display:block;padding:7px 0 7px 14px;border-left:1.5px solid var(--line);color:var(--muted);text-decoration:none}
.toc a:hover,.toc a.on{color:var(--ink);border-left-color:var(--ink)}
.toc-m{display:none;margin-top:28px;border:1px solid var(--line);border-radius:var(--r-sm);padding:4px 18px}
.toc-m summary{padding:12px 0;font-weight:500;cursor:pointer;color:var(--ink)}
.toc-m a{display:block;padding:6px 0;color:var(--muted);text-decoration:none;font-size:15.5px}
.toc-m ol{padding-bottom:12px}
.author{display:flex;gap:18px;margin-top:56px;padding:26px;border-radius:var(--r);border:1px solid var(--line)}
.author .av{width:56px;height:56px}
.author b{color:var(--ink)}
.author p{margin-top:6px;font-size:15.5px;color:var(--muted);line-height:1.6}
.art-cta{margin-top:40px;padding:28px;border-radius:var(--r);background:var(--navy);color:#B9BDCF}
.art-cta h2{color:#fff;font-size:1.4rem;margin-top:0}
.art-cta p{color:#B9BDCF;font-size:16px;margin-top:8px}
.art-cta .btn{margin-top:18px}
.legal h2{font-size:1.4rem;margin-top:36px}.legal p{margin-top:12px;color:var(--ink-2)}

/* Footer */
.foot{background:var(--navy);color:#A9ADC0;padding:72px 0 32px}
.foot .logo{color:#fff}.foot .logo i{background:#fff}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(4,minmax(0,1fr));gap:36px}
.foot p{margin-top:16px;max-width:22em;font-size:15px}
.foot h4{font-size:14px;font-weight:500;color:#fff;letter-spacing:0;margin-bottom:14px}
.foot li a{display:block;padding:5px 0;color:#A9ADC0;text-decoration:none;font-size:15px;word-break:break-word;overflow-wrap:anywhere}
.foot-grid > div{min-width:0}
.foot li a:hover{color:#fff}
.foot-bot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:56px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);font-size:14px}
.foot-bot nav{display:flex;gap:18px}.foot-bot a{color:#A9ADC0;text-decoration:none}.foot-bot a:hover{color:#fff}
.mbar{display:none}

/* Responsive */
@media (max-width:1500px){.hdr-phone span{display:none}.hdr-phone svg{margin-right:0}.nav-a,.nav-b{font-size:14.5px;padding:0 9px}}
@media (max-width:1240px){
  .nav,.hdr-cta{display:none}
  .menu-btn{display:inline-flex}
  .foot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .foot-grid > div:first-child{grid-column:1 / -1}
}
@media (max-width:900px){
  .phero-grid,.split,.contact-grid,.blog-feature{grid-template-columns:minmax(0,1fr)}
  .feat{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .webs{grid-template-columns:minmax(0,1fr)}
  .row{grid-template-columns:minmax(0,1fr) auto;gap:6px 16px}
  .row p{grid-column:1;grid-row:2}
  .row span{grid-column:2;grid-row:1 / span 2}
  .art{grid-template-columns:minmax(0,1fr)}
  .toc{display:none}.toc-m{display:block}
  .clients li{grid-template-columns:minmax(0,1fr) auto}
  .clients li span{grid-column:1;grid-row:2}
  .mbar{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:90;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line);transition:transform .25s}
  .mbar.away{transform:translateY(110%)}
  body{padding-bottom:72px}
}
@media (max-width:600px){
  .feat,.steps{grid-template-columns:minmax(0,1fr)}
  .two{grid-template-columns:minmax(0,1fr)}
  .answer{grid-template-columns:minmax(0,1fr);padding:18px}
  .ask-field{padding-left:16px;border-radius:16px}
  .ask-field svg.lead{display:none}
  .ask input,.ph{font-size:16px}
  .chips{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;margin-left:calc(var(--gut) * -1);margin-right:calc(var(--gut) * -1);padding:0 var(--gut);scrollbar-width:none}
  .chip{flex:none}
  .logos{margin-left:0;margin-right:0}.logos img{height:30px;margin:8px 10px}.logos img.tall{height:42px}
  .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .author{flex-direction:column}
  .head{margin-bottom:28px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Stats, badges, reviews */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:clamp(40px,5vw,64px);text-align:center}
.stats li{padding:22px 16px;border-radius:var(--r);background:var(--soft)}
.stats b{display:block;font-size:1.6rem;font-weight:600;color:var(--ink);letter-spacing:-.03em}
.stats span{font-size:14.5px;color:var(--muted)}
.stars{display:inline-flex}
.stars i{width:14px;height:14px;margin-right:2px;background:#F4B400;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
.gbadge{display:inline-flex;align-items:center;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:14px}
.gbadge .gword{margin-left:8px;color:var(--muted);font-weight:500}
.gbadge .stars{margin-right:8px}
.gbadge b{font-weight:600}
.mpbadge{display:inline-flex;align-items:center;padding:8px 14px;border:1px solid rgba(255,255,255,.2);border-radius:999px;color:#fff;font-size:14px;font-weight:500;margin-left:10px}
.reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.review{padding:26px;border:1px solid var(--line);border-radius:var(--r);display:flex;flex-direction:column}
.review p{margin:14px 0 18px;color:var(--ink-2)}
.review b{color:var(--ink)}.review small{color:var(--muted);font-size:13px}
.ai-note{margin-top:32px;padding:18px 22px;border-radius:var(--r-sm);background:#fff;border:1px solid var(--line);color:var(--muted);font-size:15.5px;max-width:56em}
.checks.big li{font-size:1.05rem;padding-left:32px;margin-bottom:4px}
.res-text{color:var(--ink-2);font-size:15.5px;line-height:1.55}
.phero-media{width:100%}
img.phero-media{aspect-ratio:7/5;object-fit:cover}
.inline-cta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-top:32px;padding:22px 24px;border-radius:var(--r);background:var(--navy);color:#B9BDCF}
.inline-cta b{display:block;color:#fff;font-size:1.05rem}.inline-cta span{font-size:15px}
.inline-cta > div{flex:1 1 320px;margin-right:16px}.inline-cta .btn{margin:8px 0}
/* CTA box with imagery */
.cta-box{position:relative;overflow:hidden;background:var(--navy) url("../img/cta-bg.webp") center/cover no-repeat;border-radius:28px;padding:clamp(44px,7vw,88px) clamp(24px,5vw,72px);text-align:center;color:#C9CCDA}
.cta-in{position:relative;max-width:640px;margin:0 auto}
.cta-box h2{color:#fff;font-size:clamp(1.9rem,1.4rem + 2.2vw,3.2rem)}
.cta-box p{margin:16px auto 0;max-width:34em;font-size:1.08rem}
/* Footer */
.foot{padding:64px 0 28px;background:#0B0C22}
.foot-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:start;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.12)}
.foot-tag{margin-top:14px;color:#A9ADC0;max-width:26em}
.foot-badges{display:flex;align-items:center;flex-wrap:wrap;margin-top:18px}
.foot-badges .gbadge{background:#fff;margin-top:8px}.foot-badges .mpbadge{margin-top:8px}
.foot-contact{display:grid;gap:4px;padding:22px 26px;border-radius:var(--r);background:rgba(255,255,255,.06);color:#C9CCDA;font-size:15px;min-width:260px}
.foot-contact b{color:#fff;font-size:16px}.foot-contact a{color:#fff;text-decoration:none;font-weight:600;font-size:18px;margin:6px 0 2px}
.foot-grid{margin-top:40px;grid-template-columns:repeat(4,minmax(0,1fr))}
.foot-bot nav a{margin-left:18px}
.foot-bot nav a:first-child{margin-left:0}
/* Modal */
.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}
.modal[hidden]{display:none}
.modal-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(11,12,34,.55)}
.modal-box{position:relative;width:100%;max-width:560px;max-height:calc(100vh - 40px);overflow-y:auto;background:#fff;border-radius:24px;padding:32px;box-shadow:0 30px 60px -20px rgba(0,0,0,.4)}
.modal-x{position:absolute;right:14px;top:14px;width:40px;height:40px;border:0;border-radius:50%;background:var(--soft);font-size:24px;line-height:1}
.msteps{display:flex;align-items:center;margin-bottom:18px}
.msteps span{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;font-size:13px;font-weight:600;color:var(--muted)}
.msteps span.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.msteps i{flex:0 0 40px;height:1.5px;background:var(--line);margin:0 8px}
.mstep h3{font-size:1.4rem}
.mstep .btn{margin-top:20px}
.form .btn-row .btn{width:auto}
@supports not (aspect-ratio:1/1){.br-view{height:420px}.sq .slide{height:clamp(260px,32vw,400px)}.blog-art{height:300px}img.phero-media{height:420px}}
@media (max-width:900px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.foot-top{grid-template-columns:minmax(0,1fr)}.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cta-box{border-radius:22px}}
@media (max-width:600px){.foot-grid{grid-template-columns:minmax(0,1fr)}.modal-box{padding:24px 18px}.stats li{padding:16px 10px}.stats b{font-size:1.3rem}}

/* Packages */
.pkgs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.pkg{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;display:flex;flex-direction:column}
.pkg.featured{border-color:var(--ink);box-shadow:0 20px 40px -24px rgba(11,12,34,.35)}
.pkg h3{font-size:1.3rem}
.pkg-price{margin-top:10px;color:var(--muted)}.pkg-price b{font-size:2.2rem;font-weight:600;color:var(--ink);letter-spacing:-.04em;margin-right:6px}
.pkg-tag{margin-top:6px;color:var(--muted);font-size:15px;min-height:46px}
.pkg-list{margin:20px 0 24px;border-top:1px solid var(--line)}
.pkg-list li{display:grid;gap:2px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.pkg-list span{color:var(--muted)}.pkg-list b{color:var(--ink);font-weight:500}
.pkg .btn{margin-top:auto;width:100%}
/* Learn */
.subjects{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.subject{display:flex;flex-direction:column;padding:26px;border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:var(--ink)}
.subject h3{font-size:1.25rem}.subject p{margin:8px 0 16px;color:var(--muted);flex:1}
.subject.soon{background:var(--soft);border-color:transparent}.subject.soon span{font-size:14px;color:var(--muted)}
a.subject:hover{border-color:var(--ink)}
.path-box{background:var(--soft);border-radius:var(--r);padding:24px 28px;margin-bottom:48px}
.path-box h3{font-size:1.1rem}.path-box p{margin-top:8px;color:var(--ink-2);font-size:16px}
.level{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(24px,4vw,64px);padding:40px 0;border-top:1px solid var(--line)}
.level-n{display:inline-block;font-size:13px;font-weight:500;color:var(--muted);margin-bottom:8px}
.level-h h2{font-size:1.7rem}.level-h p{margin-top:8px;color:var(--muted)}
.lessons li a,.lessons li.soon{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.lessons li b{font-size:13px;color:var(--muted);font-weight:500}
.lessons h4{font-size:1.05rem;font-weight:600}.lessons p{margin-top:2px;color:var(--muted);font-size:15px}
.lessons li.soon{color:var(--muted)}.lessons li.soon h4{color:var(--muted)}.lessons li.soon > span{font-size:13px;padding:4px 10px;border:1px solid var(--line);border-radius:999px;white-space:nowrap}
.lessons li a:hover h4{text-decoration:underline;text-underline-offset:4px}
.infobox{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-bottom:8px}
.infobox-h{background:var(--navy);color:#fff;padding:10px 18px;font-size:13px;font-weight:600;letter-spacing:.02em;text-transform:uppercase}
.infobox > div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;padding:11px 18px;border-top:1px solid var(--line);font-size:15px}
.infobox > div:first-of-type{border-top:0}
.infobox dt{color:var(--muted)}.infobox dd{color:var(--ink);font-weight:500}
.terms{margin-top:16px}
.terms > div{display:grid;grid-template-columns:170px minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.terms dt{font-weight:600;color:var(--ink);font-size:16.5px}.terms dd{color:var(--ink-2);font-size:16.5px;line-height:1.6}
.facts{margin-top:14px;padding-left:22px;list-style:disc}.facts li{font-size:17px}
.warn{margin-top:28px;padding:18px 22px;border-radius:var(--r-sm);background:#FFF6DF;border:1px solid #F3DFA3}
.warn b{display:block;color:var(--ink);font-size:14px;margin-bottom:4px}.warn p{margin:0;font-size:16px;color:var(--ink-2)}
.refs{margin-top:14px;padding-left:22px;list-style:decimal}.refs li{font-size:16px;margin-top:8px}.refs a{color:var(--ink);text-underline-offset:4px}.refs span{color:var(--muted);font-size:13.5px;margin-left:6px}
.related{margin-top:40px;padding:22px 26px;border-radius:var(--r);background:var(--soft)}
.related h3{font-size:1.05rem;margin-bottom:10px}.related li{margin-top:6px;font-size:16px}.related a{color:var(--ink);text-underline-offset:4px}
.lesson-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:40px}
.lesson-nav a{display:block;padding:18px 20px;border:1px solid var(--line);border-radius:var(--r-sm);text-decoration:none;color:var(--ink);font-weight:500}
.lesson-nav a small{display:block;color:var(--muted);font-weight:400;font-size:13px;margin-bottom:4px}
.lesson-nav a.next{text-align:right}
.lesson-nav a:hover{border-color:var(--ink)}
@media (max-width:900px){.pkgs{grid-template-columns:minmax(0,1fr)}.level{grid-template-columns:minmax(0,1fr);gap:16px}.infobox > div,.terms > div{grid-template-columns:minmax(0,1fr);gap:2px}.lesson-nav{grid-template-columns:minmax(0,1fr)}.lesson-nav a.next{text-align:left}}

/* Results refinements */
.res-big{position:relative;padding:14px 0 10px;border-top:1px solid var(--line)}
.res-big b{display:block;font-size:2.8rem;line-height:1;font-weight:600;color:var(--ink);letter-spacing:-.045em}
.res-big span{display:block;margin-top:4px;color:var(--muted);font-size:15px}
.spark{position:absolute;right:0;top:12px;width:96px;height:32px;fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:160;stroke-dashoffset:160;transition:stroke-dashoffset 1.4s ease-out .2s}
.in .spark,.rv.in .spark{stroke-dashoffset:0}
.res-more{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px 0;border-top:1px solid var(--line)}
.res-more b{display:block;font-size:1.15rem;font-weight:600;color:var(--ink);letter-spacing:-.02em}
.res-more span{font-size:13px;color:var(--muted)}
.res .res-text{border-top:1px solid var(--line);padding-top:14px;margin-top:auto}
/* Reveal on scroll */
.rv{opacity:1;transform:none}
.rv.in{opacity:1;transform:none}
.rv:nth-child(2){transition-delay:.06s}.rv:nth-child(3){transition-delay:.12s}.rv:nth-child(4){transition-delay:.18s}.rv:nth-child(5){transition-delay:.24s}
.no-js .rv{opacity:1;transform:none}
/* Interaction refinements */
.group{transition:transform .25s ease,box-shadow .25s ease}
.group:hover{transform:translateY(-3px);box-shadow:0 20px 40px -28px rgba(11,12,34,.35)}
.group li a{display:flex;justify-content:space-between;align-items:center}
.group li a::after{content:"";width:6px;height:6px;border-top:1.4px solid currentColor;border-right:1.4px solid currentColor;transform:rotate(45deg);opacity:0;transition:opacity .2s,transform .2s}
.group li a:hover::after{opacity:1;transform:translateX(2px) rotate(45deg)}
.links a{transition:background-color .2s,transform .2s}
.links a:hover{transform:translateX(2px)}
.steps li{position:relative;transition:transform .25s ease}
.steps li:hover{transform:translateY(-3px)}
.steps{position:relative}
.steps::before{content:"";position:absolute;left:36px;right:36px;top:39px;height:1px;background:var(--line);z-index:0}
.steps li{z-index:1}
.feat li{transition:border-color .25s}.feat li:hover{border-top-color:var(--ink)}
.faq details p{animation:fade .3s ease}
@keyframes fade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.pts > div{padding-left:22px;border-left:2px solid var(--line);transition:border-color .25s}
.pts > div:hover{border-left-color:var(--ink)}
.chips-static li{transition:background-color .2s}.chips-static li:hover{background:var(--soft-2)}
/* Learn example box */
.example{margin-top:14px;padding:22px 26px;border-radius:var(--r);background:var(--soft);border-left:3px solid var(--accent)}
.example p{margin:0;font-size:17px;line-height:1.7}
.art-cta .btn-row{margin-top:18px;justify-content:center}
@media (max-width:900px){.steps::before{display:none}.res-more{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}.spark{stroke-dashoffset:0}}

.art-body .btn-ghost-w{color:#fff}.art-body .btn-white{color:var(--ink)}

.art-body p,.art-body li,.art-body td,.art-body dd{overflow-wrap:anywhere;word-break:break-word}
.art-body code{font-size:.92em;background:var(--soft);padding:1px 5px;border-radius:4px}
.art-body table{display:block;overflow-x:auto}
