/* aiservices.onl | content pages (services, tools, proof) | CMS MESH 5.1 (Media Express Static Hub), zero external requests
   Same tokens as the one-screen home (src/app.css): dark only, one accent (gold), Bricolage Grotesque (OFL, self-hosted).
   Every look-and-feel knob lives in :root. No inline styles anywhere (CSP): classes only. */
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:200 800;font-display:swap;
  src:url(/assets/fonts/bricolage-latin-ext-opsz-normal.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:200 800;font-display:swap;
  src:url(/assets/fonts/bricolage-latin-opsz-normal.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  color-scheme:dark;
  --bg:#070a11;--bg-2:#0a0f19;--surface:#0e1521;--surface-2:#141e2e;
  --line:#1b2638;--line-2:#2a3850;
  --text:#e9eef6;--text-2:#b6c2d4;--muted:#8d9bb2;
  --accent:#e8b84a;--accent-ink:#1a1305;--accent-soft:rgba(232,184,74,.11);--accent-line:rgba(232,184,74,.55);
  --ok:#7fd8a6;--err:#ff938a;
  --r:12px;--r-lg:18px;
  --font:"Bricolage Grotesque",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:ui-monospace,"Cascadia Mono",SFMono-Regular,Consolas,monospace;
  --ease:cubic-bezier(.16,1,.3,1);
  --pad:clamp(18px,3vw,40px);
  --hd:64px;                 /* header height */
  --read:760px;              /* article column */
  --hero-scrim:linear-gradient(90deg,rgba(7,10,17,.42) 0%,rgba(7,10,17,.14) 52%,rgba(7,10,17,0) 100%),linear-gradient(180deg,rgba(7,10,17,.30) 0%,rgba(7,10,17,0) 40%,rgba(7,10,17,.46) 100%);
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;background:var(--bg);scroll-behavior:smooth;scroll-padding-top:calc(var(--hd) + 16px)}
body{margin:0;background:var(--bg);color:var(--text);font:400 17px/1.65 var(--font);font-optical-sizing:auto;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:#f3cb6b}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.ic{width:1.15em;height:1.15em;flex:none;fill:currentColor;vertical-align:-.18em}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:var(--accent);color:var(--accent-ink);padding:10px 16px;border-radius:var(--r);font-weight:650}
.skip:focus{left:8px}

/* ---------- buttons (same as home) ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:48px;padding:0 22px;border-radius:var(--r);border:1px solid transparent;font:650 15.5px var(--font);white-space:nowrap;text-decoration:none;cursor:pointer;transition:transform .2s var(--ease),background .2s,border-color .2s,box-shadow .2s}
.btn:active{transform:translateY(1px) scale(.985)}
.btn--go{background:var(--accent);color:var(--accent-ink);box-shadow:0 10px 32px -12px rgba(232,184,74,.6)}
.btn--go:hover{background:#f3cb6b;color:var(--accent-ink);transform:translateY(-1px)}
.btn--ghost{background:transparent;border-color:var(--line-2);color:var(--text-2)}
.btn--ghost:hover{border-color:#44587a;color:var(--text)}
.btn[disabled],.btn[aria-busy="true"]{opacity:.5;cursor:not-allowed;pointer-events:none}
.btn--sm{height:40px;padding:0 16px;font-size:14.5px}

/* ---------- header ---------- */
.hd{position:sticky;top:0;z-index:50;height:var(--hd);display:flex;align-items:center;gap:20px;padding:0 var(--pad);background:rgba(7,10,17,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;flex:none;text-decoration:none;color:var(--text);font-weight:650;letter-spacing:-.01em;font-size:16px}
.brand:hover{color:var(--text)}
.brand .mark{width:34px;height:34px;border-radius:50%;border:2px solid var(--accent);display:block;flex:none;object-fit:cover}
.brand .bt{display:flex;flex-direction:column;line-height:1.1}
.brand .by{margin-top:2px;font-size:9.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--accent)}
.nav{display:flex;gap:6px;margin-left:auto;align-items:center}
.nav a{color:var(--text-2);text-decoration:none;font-weight:550;font-size:15px;padding:8px 12px;border-radius:10px}
.nav a:hover,.nav a[aria-current]{color:var(--text);background:var(--surface)}
.hd .call{display:inline-flex;align-items:center;gap:8px;color:var(--text);text-decoration:none;font-weight:650;white-space:nowrap}
.hd .call .ic{color:var(--accent)}
.menu{display:none;margin-left:auto}
.menu summary{list-style:none;cursor:pointer;padding:8px 14px;border:1px solid var(--line-2);border-radius:10px;font-weight:600;font-size:14.5px;color:var(--text-2)}
.menu summary::-webkit-details-marker{display:none}
.menu[open] summary{color:var(--text);border-color:var(--accent-line)}
.menu nav{position:absolute;right:var(--pad);top:calc(var(--hd) - 6px);min-width:220px;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-lg);padding:8px;display:flex;flex-direction:column;box-shadow:0 20px 50px -20px #000}
.menu nav a{padding:10px 12px;border-radius:10px;color:var(--text-2);text-decoration:none;font-weight:550}
.menu nav a:hover{background:var(--surface-2);color:var(--text)}
@media (max-width:900px){.nav{display:none}.hd .call span{display:none}.menu{display:block}.hd .btn{display:none}}

/* ---------- hero: one full screen, floating arrow (global rule 2026-09-26) ---------- */
.hero{position:relative;isolation:isolate;min-height:calc(100svh - var(--hd));display:grid;align-items:center;padding:clamp(14px,3.4vh,64px) var(--pad) clamp(64px,8.6vh,100px);overflow:hidden}
.hero .bg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:var(--hero-scrim)}
.hero-in{position:relative;z-index:2;width:100%;max-width:1120px;margin:0 auto}
.hero-net{position:absolute;inset:0;z-index:1;width:100%;height:100%;pointer-events:none;opacity:.9}
.kicker{margin:0 0 clamp(6px,1.4vh,14px);font:600 clamp(11px,1.7vh,12.5px) var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.hero h1{margin:0;max-width:18ch;font-size:clamp(28px,min(5vw,8.2vh),60px);line-height:1.04;letter-spacing:-.03em;font-weight:700}
.hero h1 em{font-style:normal;color:var(--accent)}
.answer{margin:clamp(8px,1.8vh,24px) 0 0;max-width:62ch;font-size:clamp(14.5px,min(1.35vw,2.4vh),19px);line-height:1.45;color:var(--text)}
.facts{list-style:none;margin:clamp(10px,2.2vh,28px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,1.4vh,12px);max-width:900px}
.facts li{display:flex;gap:10px;align-items:flex-start;padding:clamp(7px,1.5vh,14px) clamp(10px,1.2vw,16px);border:1px solid var(--line-2);border-radius:var(--r);background:rgba(14,21,33,.72);backdrop-filter:blur(6px)}
.facts .ic{color:var(--accent);font-size:clamp(16px,2.6vh,20px);margin-top:2px}
.facts b{display:block;font-size:clamp(13px,min(1.1vw,2.1vh),15px);line-height:1.25}
.facts span{display:block;margin-top:2px;font-size:clamp(11.5px,min(1vw,1.9vh),13.5px);line-height:1.35;color:var(--text-2)}
.cta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(10px,2.2vh,28px)}
@media (max-height:760px){.hero .btn{height:42px;padding:0 18px;font-size:14.5px}}
@media (max-height:620px){.kicker{display:none}}
@media (max-width:760px) and (max-height:700px){.kicker{display:none}.hero h1{font-size:26px}.answer{font-size:14px;line-height:1.4}.hero{padding-top:12px}}
.down{z-index:3;position:absolute;left:50%;bottom:clamp(16px,3vh,30px);transform:translateX(-50%);display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1px solid var(--accent-line);background:rgba(7,10,17,.6);color:var(--accent);text-decoration:none;animation:bob 2.2s ease-in-out infinite}
.down .ic{font-size:22px;transform:rotate(90deg)}
@keyframes bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,8px)}}
@media (max-width:760px){.hero h1{max-width:none}.facts{display:flex;flex-wrap:wrap;gap:6px}.facts li{flex:0 0 auto;align-items:center;gap:6px;padding:5px 10px}.facts .ic{font-size:15px;margin-top:0}.facts span{display:none}.facts b{font-size:12.5px}.cta-row .btn{flex:1 1 auto;height:44px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.down{animation:none}*{transition:none!important}}

/* ---------- article layout ---------- */
.wrap{max-width:1180px;margin:0 auto;padding:clamp(28px,5vw,64px) var(--pad) 40px;display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
@media (min-width:1100px){.wrap{grid-template-columns:230px minmax(0,var(--read));gap:56px;justify-content:center}}
.toc{align-self:start;font-size:14px}
.toc h2{margin:0 0 6px;font:600 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.toc ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.toc a{display:block;padding:5px 11px;border:1px solid var(--line);border-radius:999px;color:var(--text-2);text-decoration:none;font-weight:550}
.toc a:hover,.toc a.on{border-color:var(--accent-line);color:var(--text);background:var(--accent-soft)}
@media (min-width:1100px){.toc{position:sticky;top:calc(var(--hd) + 16px);max-height:calc(100svh - var(--hd) - 32px);overflow-y:auto;scrollbar-width:thin;font-size:clamp(12.5px,1.85vh,14px)}.toc ol{flex-direction:column;gap:0}.toc a{border:0;border-left:2px solid var(--line);border-radius:0;padding:clamp(3px,.75vh,6px) 12px;line-height:1.3}.toc a.on{border-left-color:var(--accent);background:transparent}}
article{min-width:0}
article section{margin:0 0 clamp(36px,5vw,60px)}
article h2{margin:0 0 16px;font-size:clamp(25px,2.7vw,34px);line-height:1.12;letter-spacing:-.02em;font-weight:700}
article h3{margin:26px 0 8px;font-size:20px;line-height:1.25;letter-spacing:-.01em}
article p{margin:0 0 16px}
article ul,article ol{margin:0 0 18px;padding-left:1.3em}
article li{margin:0 0 8px}
article li::marker{color:var(--accent)}
code{font:500 .9em var(--mono);padding:2px 6px;border-radius:6px;background:var(--surface-2);border:1px solid var(--line)}
.cite{font-size:.72em;margin-left:2px;white-space:nowrap}
.cite a{text-decoration:none;padding:0 1px}

/* tables */
.tw{overflow-x:auto;margin:0 0 20px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}
table{border-collapse:collapse;width:100%;min-width:560px;font-size:15px;line-height:1.45}
caption{caption-side:top;text-align:left;padding:14px 16px 4px;font-weight:650;color:var(--text)}
th,td{text-align:left;vertical-align:top;padding:11px 16px;border-top:1px solid var(--line)}
thead th{border-top:0;font:600 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);background:var(--surface-2)}
tbody th{font-weight:650;color:var(--text)}

/* steps */
.steps{list-style:none;padding:0;counter-reset:s;display:grid;gap:12px}
.steps li{counter-increment:s;position:relative;padding:16px 18px 16px 64px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}
.steps li::before{content:counter(s);position:absolute;left:16px;top:14px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font:700 15px var(--font);background:var(--accent);color:var(--accent-ink)}
.steps h3{margin:0 0 4px;font-size:17.5px}
.steps p{margin:0;color:var(--text-2);font-size:15.5px}

/* cards */
.cards{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:0 0 20px}
.cards li{padding:18px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);margin:0}
.cards .ic{font-size:24px;color:var(--accent)}
.cards h3{margin:8px 0 6px;font-size:17.5px}
.cards p{margin:0;font-size:15.5px;color:var(--text-2)}

/* callouts */
.co{--co:var(--accent);margin:0 0 20px;padding:16px 18px;border:1px solid color-mix(in srgb,var(--co) 45%,var(--line));border-radius:var(--r);background:color-mix(in srgb,var(--co) 7%,var(--surface))}
.co h3{margin:0 0 6px;font-size:16.5px;color:var(--co)}
.co p{margin:0;font-size:15.5px;color:var(--text-2)}
.co--warn{--co:var(--err)}
.co--own{--co:var(--ok)}

/* simulation */
.sim{margin:0 0 22px;border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}
.sim-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--surface-2)}
.sim-h b{font-size:15px}
.sim-log{list-style:none;margin:0;padding:16px;display:grid;gap:10px}
.sim-log li{max-width:92%;padding:10px 14px;border-radius:14px;font-size:15px;line-height:1.45;margin:0;background:var(--bg-2);border:1px solid var(--line)}
.sim-log li .who{display:block;margin-bottom:2px;font:600 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.sim-log li.agent{margin-left:auto;background:var(--accent-soft);border-color:var(--accent-line)}
.sim-log li.agent .who{color:var(--accent)}
.sim-log li.system{max-width:100%;font:500 13.5px var(--mono);background:transparent;border-style:dashed;color:var(--text-2)}
.sim-log li.hide{display:none}
.sim-n{margin:0;padding:10px 16px 14px;font-size:13.5px;color:var(--muted)}

/* FAQ accordion */
.qa{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);margin:0 0 10px}
.qa summary{cursor:pointer;list-style:none;padding:15px 48px 15px 18px;font-weight:650;font-size:16.5px;line-height:1.35;position:relative}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:22px;color:var(--accent);transition:transform .2s}
.qa[open]{border-color:var(--accent-line)}
.qa[open] summary::after{content:"\2212"}
.qa .ans{padding:0 18px 16px;color:var(--text-2);font-size:16px}
.qa .ans strong{color:var(--text)}

/* sources + how we checked */
.src{padding-left:1.4em;font-size:14.5px;line-height:1.5;color:var(--text-2)}
.src li{margin-bottom:10px}
.src .u{display:block;color:var(--muted);font-size:13px;word-break:break-all}
.chk{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.chk>div{padding:16px 18px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}
.chk h3{margin:0 0 8px;font-size:16px}
.chk ul{margin:0;padding-left:1.1em;font-size:15px;color:var(--text-2)}
@media (max-width:760px){.chk{grid-template-columns:1fr}}
.meta{font:500 13px var(--mono);color:var(--muted);margin:0 0 12px}

/* related + contact */
.rel{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.rel a{display:block;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);text-decoration:none;color:var(--text);font-weight:650;line-height:1.3;height:100%}
.rel a small{display:block;margin-top:6px;font-weight:450;font-size:14px;color:var(--text-2)}
.rel a:hover{border-color:var(--accent-line)}
.ct{margin:0 0 20px;padding:clamp(20px,3vw,32px);border:1px solid var(--accent-line);border-radius:var(--r-lg);background:linear-gradient(180deg,var(--surface-2),var(--surface))}
.ct h2{margin-top:0}
.ct form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ct label{display:block;font:600 13px var(--font);color:var(--text-2);margin-bottom:6px}
.ct input,.ct textarea{width:100%;padding:12px 14px;border-radius:var(--r);border:1px solid var(--line-2);background:var(--bg);color:var(--text);font:400 16px var(--font)}
.ct input:focus,.ct textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.ct .full{grid-column:1/-1}
.ct textarea{min-height:130px;resize:vertical}
.ct .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ct .note{font-size:13.5px;color:var(--muted);margin:0}
.ct .msg{grid-column:1/-1;padding:12px 14px;border-radius:var(--r);font-size:15px}
.ct .msg.ok{border:1px solid var(--ok);background:rgba(127,216,166,.08);color:var(--ok)}
.ct .msg.bad{border:1px solid var(--err);background:rgba(255,147,138,.08);color:var(--err)}
@media (max-width:760px){.ct form{grid-template-columns:1fr}}

/* tool: readiness audit */
.aud{margin:0 0 24px;border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--surface);padding:clamp(18px,3vw,30px)}
.aud-bar{height:6px;border-radius:99px;background:var(--line);overflow:hidden;margin:0 0 18px}
.aud-bar i{display:block;height:100%;width:0;background:var(--accent);transition:width .35s var(--ease)}
.aud-q{margin:0 0 6px;font:600 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.aud h3{margin:0 0 14px;font-size:22px;line-height:1.25}
.aud-o{display:grid;gap:10px;margin:0 0 18px}
.aud-o button{text-align:left;padding:13px 16px;border-radius:var(--r);border:1px solid var(--line-2);background:var(--bg-2);color:var(--text);font:500 16px/1.4 var(--font);cursor:pointer;transition:border-color .2s,background .2s}
.aud-o button:hover{border-color:#44587a}
.aud-o button[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft)}
.aud-nav{display:flex;justify-content:space-between;gap:12px}
.aud-res{display:grid;grid-template-columns:150px 1fr;gap:24px;align-items:center}
.ring{width:150px;height:150px;border-radius:50%;background:conic-gradient(var(--accent) calc(var(--p,0)*1%),var(--line) 0);display:grid;place-items:center}
.ring b{display:grid;place-items:center;width:112px;height:112px;border-radius:50%;background:var(--surface);font-size:34px;letter-spacing:-.02em}
.ring small{display:block;font-size:12px;font-weight:500;color:var(--muted);text-align:center;line-height:1}
.aud-res h3{margin:0 0 6px}
.aud-res p{margin:0 0 10px}
.aud-recs{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:10px}
.aud-recs li{margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2);font-size:15.5px}
@media (max-width:640px){.aud-res{grid-template-columns:1fr}.ring{margin:0 auto}}

/* hub grid */
.hub{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin:0 0 24px}
.hub li{margin:0}
.hub a{display:flex;flex-direction:column;gap:8px;height:100%;padding:20px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);text-decoration:none;color:var(--text)}
.hub a:hover{border-color:var(--accent-line);transform:translateY(-2px)}
.hub .ic{font-size:26px;color:var(--accent)}
.hub b{font-size:18px;line-height:1.25}
.hub span{font-size:15px;color:var(--text-2);line-height:1.45}
.hub em{font:600 12px var(--mono);font-style:normal;color:var(--accent);letter-spacing:.08em;margin-top:auto}

/* footer */
/* ---------- footer: closing CTA, department ticker, link grid, skyline wordmark (Arek 2026-10-13: spectacular) ---------- */
@property --ftang{syntax:"<angle>";initial-value:0deg;inherits:false}
.ft{position:relative;margin-top:clamp(40px,6vw,88px);background:linear-gradient(180deg,#070a11 0%,#05080e 100%);border-top:1px solid var(--line);color:var(--muted);font-size:14.5px;overflow:hidden}
.ft::before{content:"";position:absolute;left:50%;top:-150px;width:min(1200px,130vw);height:360px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(232,184,74,.17),transparent 70%);pointer-events:none}
.ft a{color:var(--text-2);text-decoration:none}
.ft a:hover{color:var(--accent)}
.ft p{margin:0 0 8px}
.ft-cta{position:relative;padding:clamp(28px,4.5vw,56px) var(--pad) 0}
.ft-cta-in{position:relative;max-width:1180px;margin:0 auto;padding:clamp(24px,4vw,48px);border-radius:var(--r-lg);text-align:center;background:radial-gradient(120% 140% at 50% 0%,rgba(232,184,74,.15),rgba(14,21,33,.92) 58%),var(--surface)}
.ft-cta-in::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:conic-gradient(from var(--ftang),rgba(232,184,74,.1) 0 55%,var(--accent) 78%,rgba(232,184,74,.1) 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;animation:ftspin 8s linear infinite;pointer-events:none}
@keyframes ftspin{to{--ftang:360deg}}
.ft-kicker{margin:0 0 12px!important;font:600 12px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
.ft .ft-big{margin:0 auto;max-width:20ch;font:700 clamp(30px,4.6vw,60px)/1.04 var(--font);letter-spacing:-.03em;text-transform:none;color:var(--text)}
.ft-cta-in>p{max-width:56ch;margin:14px auto 0;font-size:clamp(15px,1.3vw,18px);color:var(--text-2)}
.ft-cta-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:clamp(18px,2.6vw,30px)}
.ft-cta-row .btn{height:52px;font-size:16px}
.ft-cta-row .btn--go{color:var(--accent-ink);animation:ftglow 3.2s ease-in-out infinite}
.ft-cta-row .btn--go:hover{color:var(--accent-ink)}
@keyframes ftglow{0%,100%{box-shadow:0 10px 32px -12px rgba(232,184,74,.55)}50%{box-shadow:0 14px 46px -8px rgba(232,184,74,.9)}}
.ft-cta-in>.ft-open-line{margin:20px auto 0;font-size:14px;color:var(--muted)}
.ft-open{display:inline-flex;align-items:center;gap:8px}
.ft-open.is-open::before,.ft-open.is-closed::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--muted)}
.ft-open.is-open::before{background:var(--ok);animation:ftping 2s ease-out infinite}
.ft-open.is-closed::before{background:var(--err)}
@keyframes ftping{0%{box-shadow:0 0 0 0 rgba(127,216,166,.55)}100%{box-shadow:0 0 0 10px rgba(127,216,166,0)}}
.ft-mq{margin-top:clamp(28px,4vw,56px);border-block:1px solid var(--line);background:rgba(14,21,33,.5);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ft-mq-track{display:flex;width:max-content;animation:ftmq 70s linear infinite}
.ft-mq:hover .ft-mq-track{animation-play-state:paused}
.ft-mq span{flex:none;padding:14px clamp(18px,2.4vw,34px);font:600 13px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-2);white-space:nowrap}
.ft-mq span::after{content:"";display:inline-block;width:6px;height:6px;margin-left:clamp(18px,2.4vw,34px);border-radius:50%;background:var(--accent);vertical-align:middle;box-shadow:0 0 12px rgba(232,184,74,.8)}
@keyframes ftmq{to{transform:translateX(-50%)}}
.ft-in{position:relative;max-width:1180px;margin:0 auto;padding:clamp(28px,4vw,48px) var(--pad) 0;display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:clamp(24px,3vw,44px)}
.ft-in h2{margin:0 0 14px;font:600 12px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text)}
.ft-in ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.ft-in li span{display:block;font-size:12.5px;color:var(--muted)}
.ft-in a{display:inline-block;background:linear-gradient(var(--accent),var(--accent)) 0 100%/0 1px no-repeat;transition:background-size .3s var(--ease),color .2s}
.ft-in a:hover{background-size:100% 1px}
.ft-brand b{display:block;margin-bottom:8px;font:700 22px/1.15 var(--font);color:var(--text)}
.ft-brand p{max-width:34ch}
.ft-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.ft-badges span{padding:5px 11px;border:1px solid var(--line-2);border-radius:999px;font-size:12.5px;color:var(--text-2);background:rgba(14,21,33,.6)}
.ft-mark{position:relative;height:clamp(96px,15vw,270px);margin-top:clamp(22px,3.5vw,48px);overflow:hidden;isolation:isolate}
.ft-mark::before{content:"";position:absolute;inset:0;z-index:-1;background:url(skyline-1536.webp) 50% 78%/cover no-repeat;opacity:.34;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 70%);mask-image:linear-gradient(180deg,transparent 0%,#000 70%)}
.ft-mark::after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.7}
.ft-word{position:absolute;left:50%;bottom:-.14em;transform:translateX(-50%);font:800 clamp(34px,8.6vw,160px)/1 var(--font);letter-spacing:-.045em;white-space:nowrap;color:transparent;background:linear-gradient(180deg,rgba(232,184,74,.95) 0%,rgba(232,184,74,.35) 55%,rgba(232,184,74,0) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-stroke:1px rgba(232,184,74,.3);user-select:none}
.ft-bar{position:relative;max-width:1180px;margin:0 auto;padding:18px var(--pad);border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;font-size:13px}
.ft-bar .sp{flex:1}
.ft-top{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--accent-line);background:var(--accent-soft);color:var(--accent)!important;transition:transform .25s var(--ease),background .2s}
.ft-top:hover{transform:translateY(-3px);background:rgba(232,184,74,.2)}
.ft-top .ic{font-size:20px;transform:rotate(-90deg)}
.ft .fine{max-width:1180px;margin:0 auto;padding:0 var(--pad) clamp(20px,3vw,34px);font-size:12.5px;line-height:1.55;color:#6f7e96}
@media (max-width:1000px){.ft-in{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.ft-in{grid-template-columns:1fr 1fr;gap:22px 16px}.ft-brand,.ft-in>div:nth-child(2){grid-column:1/-1}.ft-in li span{display:none}.ft-brand p{max-width:none}.ft-badges{display:none}.ft-in>div:nth-child(2) ul{grid-template-columns:1fr 1fr;gap:9px 14px}.ft-cta-row .btn{flex:1 1 100%}.ft-bar{justify-content:center;text-align:center}.ft-bar .sp{display:none}.ft-mark::before{background-image:url(skyline-m.webp)}}
@supports (animation-timeline:view()){.ft-in>div,.ft-cta-in{animation:ftrise linear both;animation-timeline:view();animation-range:entry 0% entry 60%}@keyframes ftrise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}}
@media (prefers-reduced-motion:reduce){.ft *,.ft *::before{animation:none!important}.ft-mq{-webkit-mask-image:none;mask-image:none}.ft-mq-track{width:auto;flex-wrap:wrap;justify-content:center}.ft-mq .dup{display:none}}
.lnk{background:none;border:0;padding:0;color:var(--accent);font:inherit;text-decoration:underline;cursor:pointer}
.legal h2{margin-top:30px}
@media (max-width:999px){:root{--hero-scrim:linear-gradient(180deg,rgba(7,10,17,.30) 0%,rgba(7,10,17,.50) 38%,rgba(7,10,17,.50) 62%,rgba(7,10,17,.34) 100%)}}
.hero-in .kicker,.hero-in h1,.hero-in .answer{text-shadow:0 1px 18px rgba(4,7,14,.85),0 0 3px rgba(4,7,14,.55)}
/* frosted top bar */
.hd{background:rgba(8,12,20,.38);-webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5);border-bottom:1px solid rgba(255,255,255,.10);box-shadow:0 14px 34px -24px rgba(0,0,0,.75)}
@supports selector(:has(*)){
.hd:has(+ main > .hero){margin-bottom:calc(-1 * var(--hd))}
.hd + main > .hero{min-height:100svh;padding-top:calc(var(--hd) + clamp(14px,3.4vh,64px))}
@media (max-width:760px) and (max-height:700px){.hd + main > .hero{padding-top:calc(var(--hd) + 12px)}}
}

/* services tiles: a tile that has its own page is one big link (the title link is stretched over the tile) */
.cards li.tl{position:relative;transition:border-color .2s,transform .2s}
.cards li.tl h3 a{color:inherit;text-decoration:none}
.cards li.tl h3 a::after{content:"";position:absolute;inset:0;border-radius:inherit}
.cards li.tl h3::after{content:" →";color:var(--accent)}
.cards li.tl:hover,.cards li.tl:focus-within{border-color:var(--accent-line,var(--accent));transform:translateY(-2px)}
.cards li.tl h3 a:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:6px}
.co a{color:var(--accent)}
