@font-face{font-family:'Big Shoulders Display';font-weight:700;font-style:normal;font-display:swap;src:url('../fonts/big-shoulders-display-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:'Big Shoulders Display';font-weight:900;font-style:normal;font-display:swap;src:url('../fonts/big-shoulders-display-latin-900-normal.woff2') format('woff2')}
@font-face{font-family:'Figtree';font-weight:400;font-style:normal;font-display:swap;src:url('../fonts/figtree-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Figtree';font-weight:500;font-style:normal;font-display:swap;src:url('../fonts/figtree-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Figtree';font-weight:700;font-style:normal;font-display:swap;src:url('../fonts/figtree-latin-700-normal.woff2') format('woff2')}

:root{--chalk:#eef1f4;--ink:#0e1b2c;--cobalt:#1f4bff;--sun:#ffd23f;--line:#c9d1da;--muted:#4a5a6e;
--d:'Big Shoulders Display','Arial Narrow',Impact,sans-serif;--b:'Figtree',system-ui,sans-serif;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--chalk:#0e1b2c;--ink:#eef1f4;--line:#26364b;--muted:#a3b1c2}}
:root[data-theme="dark"]{--chalk:#0e1b2c;--ink:#eef1f4;--line:#26364b;--muted:#a3b1c2}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth;scroll-padding-top:70px}
body{margin:0;background:var(--chalk);color:var(--ink);font:400 17px/1.6 var(--b)}
a{color:inherit}
:focus-visible{outline:3px solid var(--cobalt);outline-offset:3px}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:var(--d);font-weight:900;line-height:.92;margin:0;text-transform:uppercase;letter-spacing:.005em}
h2{font-size:clamp(2.6rem,7vw,5rem)}
p{max-width:60ch}
header{position:sticky;top:0;z-index:5;background:var(--chalk);border-bottom:1px solid var(--line)}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:60px;gap:16px}
.logo{font:900 1.35rem var(--d);text-decoration:none;letter-spacing:.04em}
.logo b{color:var(--cobalt)}
nav{display:flex;gap:22px;align-items:center;font-size:.95rem;font-weight:500}
nav a{text-decoration:none}
nav a:hover{color:var(--cobalt)}
.btn{display:inline-block;background:var(--cobalt);color:#fff;font:700 1rem var(--b);padding:14px 26px;border:0;border-radius:2px;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--ink);color:var(--chalk)}
nav .btn{padding:8px 16px;font-size:.9rem;color:#fff}
@media(max-width:720px){nav a:not(.btn){display:none}}
/* hero: running-track lanes */
.hero{position:relative;overflow:hidden;padding:88px 0 96px;
background:repeating-linear-gradient(to bottom,transparent 0 calc(12.5% - 2px),var(--line) calc(12.5% - 2px) 12.5%)}
.hero .wrap{position:relative}
.hero small{display:block;font-weight:700;margin-bottom:20px;color:var(--muted)}
.hero h1{font-size:clamp(3rem,10vw,7.5rem)}
.hero h1 span{display:block}
.hero h1 .go{color:var(--cobalt)}
.hero .sub{font-size:1.2rem;margin:28px 0 8px;background:var(--chalk);display:inline-block;padding-right:12px}
.hero .sub2{color:var(--muted);margin:0 0 32px;background:var(--chalk);display:inline-block;padding-right:12px}
.runner{position:absolute;left:0;bottom:-14px;height:6px;width:100%;background:var(--sun);transform-origin:left;animation:run 1.4s cubic-bezier(.2,.8,.2,1) both}
@keyframes run{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.runner{animation:none}html{scroll-behavior:auto}}
.tag{background:var(--ink);color:var(--chalk);padding:22px 0;font:900 clamp(1.3rem,3vw,2rem)/1 var(--d);text-transform:uppercase;letter-spacing:.03em}
.tag .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;align-items:center}
.tag a{color:var(--sun);font-size:1rem;font-family:var(--b);font-weight:700;text-decoration:none}
section{padding:96px 0}
.mind{font:500 clamp(1.5rem,3.4vw,2.4rem)/1.3 var(--b);max-width:26em}
.mind em{font-style:normal;background:linear-gradient(transparent 62%,var(--sun) 62%)}
/* services */
.svc-head{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:end;margin-bottom:48px}
@media(max-width:800px){.svc-head{grid-template-columns:1fr}}
.svc{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--ink)}
@media(max-width:900px){.svc{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.svc{grid-template-columns:1fr}}
.svc article{padding:28px 24px 28px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:12px}
.svc h3{font-size:2rem}
.svc p{margin:0;color:var(--muted);font-size:.98rem}
.svc a{margin-top:auto;font-weight:700;color:var(--cobalt);text-decoration:none;border-bottom:2px solid currentColor;align-self:flex-start;font-size:.95rem}
/* about */
.about{background:var(--ink);color:var(--chalk)}
.about .grid{display:grid;grid-template-columns:1fr 1fr;gap:56px}
@media(max-width:800px){.about .grid{grid-template-columns:1fr}}
.about h2 em{font-style:normal;color:var(--sun)}
.about p{color:#c3cedb}
.about ul{list-style:none;margin:0;padding:0}
.about li{padding:14px 0 14px 34px;border-bottom:1px solid #26364b;position:relative}
.about li::before{content:"";position:absolute;left:0;top:22px;width:18px;height:3px;background:var(--sun)}
/* process: the track */
.steps{list-style:none;margin:56px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);position:relative}
.steps::before{content:"";position:absolute;left:0;right:0;top:14px;height:4px;background:var(--ink)}
.steps li{padding:44px 20px 0 0;position:relative}
.steps li::before{content:"";position:absolute;top:6px;left:0;width:20px;height:20px;background:var(--chalk);border:4px solid var(--cobalt);border-radius:50%}
.steps li:last-child::before{background:var(--sun);border-color:var(--ink)}
.steps h3{font-size:2rem;margin-bottom:8px}
.steps p{margin:0;font-size:.95rem;color:var(--muted)}
@media(max-width:860px){.steps{grid-template-columns:1fr;gap:28px}
.steps::before{left:12px;right:auto;top:0;bottom:0;width:4px;height:auto}
.steps li{padding:0 0 0 48px}.steps li::before{top:2px;left:3px}}
.who{border-top:1px solid var(--line);padding:56px 0}
.who h2{font-size:clamp(2rem,5vw,3.4rem);margin-bottom:24px}
.chips{display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0;list-style:none}
.chips li{border:2px solid var(--ink);padding:8px 18px;font-weight:700;border-radius:99px}
/* contact */
.contact{background:var(--cobalt);color:#fff}
.contact .grid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px}
@media(max-width:860px){.contact .grid{grid-template-columns:1fr}}
.contact p{color:#e1e8ff}
.note{border-left:4px solid var(--sun);padding-left:16px;margin-top:28px;font-size:.95rem}
form{background:var(--chalk);color:var(--ink);padding:32px;display:grid;gap:18px;border-radius:2px}
label{display:grid;gap:6px;font-weight:700;font-size:.92rem}
input,select,textarea{font:400 1rem var(--b);padding:12px 14px;border:2px solid var(--line);background:transparent;color:var(--ink);border-radius:2px;width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--cobalt);outline:none}
textarea{min-height:110px;resize:vertical}
.fine{font-size:.85rem;color:var(--muted);margin:0}
.ok{display:none;background:var(--sun);color:var(--ink);padding:14px 16px;font-weight:700}
form.sent .ok{display:block}
form.sent .btn{display:none}
footer{background:var(--ink);color:var(--chalk);padding:36px 0;font-size:.92rem}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;align-items:center}
footer nav{gap:18px}

.svc img{width:44px;height:44px;display:block}
