/* Leogurilab v2 — one brand family: navy, a working blue, and a single light-blue accent (#9CC0FF). */
@font-face{font-family:"Inter Tight";src:url("/assets/inter-tight.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Inter";src:url("/assets/inter-var.woff2") format("woff2");font-weight:100 900;font-display:swap}
:root{
  --navy:#0B1220; --ink:#0B1220; --ink-2:#27324A; --muted:#56647A; --soft:#8A97AD;
  --line:#E4E9F2; --blue:#1F5BE6; --tint:#9CC0FF; --tint-bg:#EFF4FF;
  --display:"Inter Tight","Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --ease:cubic-bezier(.2,.75,.2,1);
  --pad:clamp(20px,5vw,64px);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
html,body{margin:0;background:#fff;color:var(--ink)}
body{font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:16px;line-height:1.55;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
a{color:inherit}
img,svg{display:block}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
button{font:inherit;color:inherit}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.defs{position:absolute;width:0;height:0;overflow:hidden}
.skip{position:fixed;left:12px;top:-60px;z-index:50;background:var(--navy);color:#fff;padding:10px 16px;border-radius:10px;text-decoration:none}
.skip:focus{top:12px}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:6px}
section[id],div[id="top"]{scroll-margin-top:72px}
.wrap{max-width:1240px;margin:0 auto;padding-inline:var(--pad)}
.micro{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--soft);font-weight:600}

/* ---------- nav: transparent over the hero, a slim frosted bar after it ---------- */
.nav{position:fixed;inset:0 0 auto 0;z-index:30;color:#fff;transition:background .35s,color .35s,box-shadow .35s,backdrop-filter .35s}
.nav-in{display:flex;align-items:center;gap:28px;padding:22px clamp(20px,4vw,56px);transition:padding .35s var(--ease)}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none}
.brand img{width:26px;height:26px}
.wordmark{font-family:var(--display);font-weight:650;font-size:17px;letter-spacing:-.02em}
.links{display:flex;gap:26px;margin-left:auto}
.links a{position:relative;text-decoration:none;font-size:14px;color:rgba(232,239,255,.78);letter-spacing:-.005em;transition:color .2s}
.links a:hover,.links a[aria-current="true"]{color:#fff}
.links a[aria-current="true"]::after{content:"";position:absolute;left:50%;bottom:-8px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:currentColor}
.nav-cta{display:inline-flex;align-items:center;height:36px;padding:0 16px;border-radius:999px;text-decoration:none;font-size:14px;font-weight:600;
  color:var(--navy);background:#fff;transition:background .3s,color .3s}
.menu-btn{display:none;width:40px;height:40px;border:0;background:none;padding:0;cursor:pointer;position:relative}
.menu-btn i{position:absolute;left:11px;right:11px;height:1.6px;background:currentColor;border-radius:2px;transition:transform .3s var(--ease)}
.menu-btn i:first-of-type{top:16px}.menu-btn i:last-of-type{top:23px}
.menu-btn[aria-expanded="true"] i:first-of-type{transform:translateY(3.5px) rotate(45deg)}
.menu-btn[aria-expanded="true"] i:last-of-type{transform:translateY(-3.5px) rotate(-45deg)}
.nav:not(.solid) :focus-visible{outline-color:#fff}
.nav.solid{background:rgba(255,255,255,.84);color:var(--ink);box-shadow:0 1px 0 rgba(11,18,32,.07);
  backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px)}
.nav.solid .nav-in{padding-block:11px}
.nav.solid .links a{color:var(--muted)}
.nav.solid .links a:hover,.nav.solid .links a[aria-current="true"]{color:var(--ink)}
.nav.solid .nav-cta{background:var(--navy);color:#fff}

/* ---------- hero (unchanged from the approved prototype, except the subline) ---------- */
.hero{position:relative;min-height:max(100svh,640px);display:grid;place-items:center;overflow:hidden;
  background:linear-gradient(180deg,#0B1220 0%,#0D1D45 26%,#123276 50%,#2F5FC4 68%,#9DB8EC 84%,#E9F0FC 94%,#FFFFFF 100%);
  touch-action:pan-y;isolation:isolate}
.field{position:absolute;inset:0;width:100%;height:100%;z-index:0;display:block}
.hero-content{position:relative;z-index:2;text-align:center;padding:96px 24px 120px;max-width:1240px;
  display:flex;flex-direction:column;align-items:center;transform:translateY(-4vh)}
.mark{width:64px;height:64px;margin-bottom:34px;filter:drop-shadow(0 10px 30px rgba(30,107,255,.45))}
h1{margin:0;font-family:var(--display);font-weight:640;color:#fff;font-size:clamp(46px,6.9vw,104px);line-height:.96;letter-spacing:-.052em}
h1 span{display:block}
h1 .l2{color:var(--tint)}
.sub{margin:30px 0 0;font-size:clamp(17px,1.5vw,21px);line-height:1.5;color:rgba(226,235,255,.86);letter-spacing:-.01em}
.ctas{display:flex;gap:12px;margin-top:40px;flex-wrap:wrap;justify-content:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:50px;padding:0 24px;border-radius:999px;border:0;cursor:pointer;
  font-size:15px;font-weight:600;letter-spacing:-.01em;text-decoration:none;transition:transform .2s ease,background .2s,box-shadow .2s}
.btn svg{width:15px;height:15px}
.btn.primary{background:#fff;color:var(--navy);box-shadow:0 10px 30px rgba(5,12,35,.35)}
.btn.primary:hover{transform:translateY(-1px);box-shadow:0 14px 36px rgba(5,12,35,.45)}
.btn.ghost{color:#fff;border:1px solid rgba(255,255,255,.32);background:rgba(11,18,32,.18);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.btn.ghost:hover{background:rgba(255,255,255,.1)}
.hero .btn:focus-visible{outline-color:#fff}

/* ---------- shared section rhythm ---------- */
.sec{padding-top:clamp(104px,12vw,176px)}
.sec:last-of-type{padding-bottom:clamp(104px,12vw,176px)}
#faq{padding-bottom:clamp(104px,12vw,168px)}
.kicker{display:flex;align-items:center;gap:12px;font-size:13.5px;font-weight:500;color:var(--muted);letter-spacing:-.005em}
.kicker span{font-family:var(--display);font-weight:600;color:var(--blue);font-variant-numeric:tabular-nums}
.kicker span::after{content:"";display:inline-block;width:22px;height:1px;background:currentColor;opacity:.45;vertical-align:middle;margin-left:12px}
.h2{margin-top:18px;font-family:var(--display);font-weight:580;font-size:clamp(38px,5.1vw,70px);line-height:1.01;letter-spacing:-.045em;color:var(--ink);max-width:15em;text-wrap:balance}
.lead{margin-top:30px;max-width:27em;font-size:clamp(20px,2.1vw,27px);line-height:1.38;letter-spacing:-.018em;color:var(--ink-2);text-wrap:pretty}
.body{margin-top:26px;max-width:34em;font-size:17.5px;line-height:1.65;color:var(--muted);text-wrap:pretty}
.fine{margin-top:26px;font-size:14.5px;color:var(--muted)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:48px;flex-wrap:wrap}
.aside{max-width:24em;color:var(--muted);font-size:16px}
.link{display:inline-flex;align-items:center;gap:6px;color:var(--blue);font-weight:600;text-decoration:none;
  background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;transition:background-size .35s var(--ease)}
.link:hover{background-size:100% 1.5px}
.link svg{width:14px;height:14px;transition:transform .3s var(--ease)}
.link:hover svg{transform:translate(2px,-2px)}

/* reveal on scroll (only when JS runs, never under reduced motion) */
.js .rv{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0s)}
.js .rv.in{opacity:1;transform:none}

/* ---------- 01 challenge: three marks ---------- */
.marks{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(32px,5vw,72px);margin-top:clamp(64px,8vw,104px)}
.mark-item .mk{width:76px;height:76px;overflow:visible;transition:transform .7s var(--ease)}
.mark-item h3{margin-top:28px;font-family:var(--display);font-size:21px;font-weight:600;letter-spacing:-.02em}
.mark-item p{margin-top:10px;color:var(--muted);font-size:16px;max-width:21em}
.ring-gap{transform-origin:50px 50px;transform:rotate(-40deg);transition:transform .9s var(--ease)}
.l-stem{transform-origin:30px 80px;transition:transform .7s var(--ease)}
.plus{transform-origin:50px 50px;transition:transform .7s var(--ease)}
.mark-item:hover .ring-gap{transform:rotate(140deg)}
.mark-item:hover .mk-l{transform:translate(3px,-4px)}
.mark-item:hover .l-stem{transform:rotate(7deg)}
.mark-item:hover .plus{transform:rotate(90deg)}

/* solution */
.solution{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(40px,7vw,112px);margin-top:clamp(120px,14vw,190px);align-items:start}
.searchrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:34px}
.searchrow .micro{margin-right:6px}
.chip{display:inline-flex;align-items:center;height:32px;padding:0 14px;border-radius:999px;border:1px solid var(--line);font-size:14px;font-weight:550;color:var(--ink-2)}
.sol-steps{border-top:1px solid var(--line);margin-top:8px}
.sol-steps li{display:grid;grid-template-columns:64px 1fr;gap:8px;padding:30px 0;border-bottom:1px solid var(--line)}
.n{font-family:var(--display);font-weight:600;font-size:15px;color:var(--blue);padding-top:6px;font-variant-numeric:tabular-nums}
.sol-steps h3,.ag-list h3{font-family:var(--display);font-size:clamp(22px,2.2vw,28px);font-weight:580;letter-spacing:-.03em}
.sol-steps p,.ag-list p{margin-top:6px;color:var(--muted);font-size:16.5px}

/* ---------- 03 roles ---------- */
.roles{margin-top:48px}
.tabs{display:flex;flex-wrap:wrap;gap:8px}
.tabs [role="tab"]{position:relative;overflow:hidden;height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:#fff;
  font-size:14.5px;font-weight:550;color:var(--muted);cursor:pointer;transition:color .25s,border-color .25s,background .25s}
.tabs [role="tab"]:hover{color:var(--ink);border-color:#CCD6E6}
.tabs [role="tab"][aria-selected="true"]{color:var(--navy);background:var(--tint-bg);border-color:var(--tint)}
.tabs .bar{position:absolute;left:14px;right:14px;bottom:5px;height:1.5px;border-radius:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;opacity:0}
.roles.cycling [aria-selected="true"] .bar{opacity:.55;animation:fill var(--cycle,7s) linear forwards}
.roles.paused [aria-selected="true"] .bar{animation-play-state:paused}
@keyframes fill{to{transform:scaleX(1)}}
.pitch{margin-top:40px;min-height:5.6em;font-size:clamp(26px,3.3vw,46px);border-radius:8px}
.pitch-text{font-family:var(--display);font-weight:430;font-size:1em;line-height:1.16;letter-spacing:-.032em;color:var(--ink);max-width:23em}
.pitch-text .w{display:inline-block;transition:opacity .45s var(--ease),transform .45s var(--ease),filter .45s var(--ease)}
.pitch-text .w.pre{opacity:0;transform:translateY(.28em);filter:blur(4px)}
.pitch-text.leaving .w{opacity:0;transform:translateY(-.18em);filter:blur(3px);transition-duration:.22s}
.whys-title{margin-top:clamp(88px,10vw,128px);font-family:var(--display);font-size:clamp(22px,2.2vw,28px);font-weight:580;letter-spacing:-.03em}
.whys{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:28px}
.whys>div{border-top:1px solid var(--ink);padding-top:20px}
.whys dt{font-weight:650;font-size:16.5px;letter-spacing:-.01em}
.whys dd{margin-top:8px;color:var(--muted);font-size:15.5px}

/* ---------- accordions (services + FAQ) ---------- */
.acc{margin-top:56px;border-top:1px solid var(--line)}
.acc-item{border-bottom:1px solid var(--line)}
.acc-h{font-size:inherit;font-weight:inherit}
.acc-btn{width:100%;display:grid;align-items:center;text-align:left;background:none;border:0;cursor:pointer;padding:28px 0}
.acc-btn:focus-visible{outline-offset:-2px}
.pm{position:relative;justify-self:end;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);transition:background .3s,border-color .3s}
.pm::before,.pm::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.6px;margin:-.8px 0 0 -6px;background:var(--ink);border-radius:2px;transition:transform .4s var(--ease),background .3s}
.pm::after{transform:rotate(90deg)}
.acc-btn:hover .pm{border-color:var(--tint)}
.is-open .pm{background:var(--navy);border-color:var(--navy)}
.is-open .pm::before{background:#fff}
.is-open .pm::after{transform:rotate(0);background:#fff}
.acc-p{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .5s var(--ease),visibility 0s .5s}
.is-open>.acc-p{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .5s var(--ease),visibility 0s}
.acc-in{overflow:hidden;min-height:0}

.svc .acc-btn{grid-template-columns:72px 128px 1fr 44px;column-gap:16px}
.idx{font-family:var(--display);font-weight:600;font-size:15px;color:var(--soft);font-variant-numeric:tabular-nums}
.kind{font-size:12px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
.ttl b{display:block;font-family:var(--display);font-weight:580;font-size:clamp(25px,2.6vw,34px);letter-spacing:-.035em;line-height:1.1;transition:color .25s}
.ttl small{display:block;margin-top:8px;font-size:15.5px;color:var(--muted);max-width:40em}
.svc .acc-btn:hover .ttl b{color:var(--blue)}
.svc .acc-in>*:first-child{margin-top:0}
.svc .acc-in{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;padding-left:216px}
.svc .acc-in::after{content:"";flex-basis:100%;height:34px}
.ticks{display:grid;gap:10px}
.ticks li{position:relative;padding-left:26px;font-size:16.5px;color:var(--ink-2)}
.ticks li::before{content:"";position:absolute;left:0;top:.42em;width:12px;height:12px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg stroke='%231F5BE6' stroke-linecap='round'%3E%3Cline x1='21.8' y1='80' x2='44.6' y2='19' stroke-width='37' opacity='.55'/%3E%3Cline x1='26' y1='83' x2='83.5' y2='81.5' stroke-width='33'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat}
.ask{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 20px;border-radius:999px;border:1px solid var(--navy);color:var(--navy);
  font-size:14.5px;font-weight:600;text-decoration:none;white-space:nowrap;transition:background .25s,color .25s}
.ask svg{width:14px;height:14px;transition:transform .3s var(--ease)}
.ask:hover{background:var(--navy);color:#fff}
.ask:hover svg{transform:translate(2px,-2px)}
.svc-foot{display:grid;grid-template-columns:1.5fr 1fr;gap:56px;margin-top:64px;align-items:end}
.value{font-family:var(--display);font-weight:480;font-size:clamp(25px,2.8vw,38px);line-height:1.2;letter-spacing:-.03em;max-width:21em;text-wrap:balance}
.value em{font-style:normal;background:linear-gradient(transparent 60%,rgba(156,192,255,.6) 60%) 0 0/0 100% no-repeat;transition:background-size 1.2s var(--ease) .4s}
.value.in em,.no-js .value em{background-size:100% 100%}
.notes{display:grid;gap:10px;color:var(--muted);font-size:14.5px}
.notes p{display:flex;gap:10px;align-items:baseline}
.li{flex:none;width:12px;height:12px;color:var(--tint);transform:translateY(1px)}

/* ---------- 05 how it works ---------- */
.timeline{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:72px}
.timeline::before,.timeline::after{content:"";position:absolute;left:19px;right:calc((100% - 84px)/4 - 19px);top:19px;height:1.5px;background:var(--line)}
.timeline::after{background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform 1.6s var(--ease) .2s}
.timeline.in::after{transform:scaleX(1)}
.timeline li{position:relative;padding-right:12px}
.dot{position:relative;z-index:1;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#fff;border:1.5px solid var(--line);
  font-family:var(--display);font-weight:600;font-size:15px;color:var(--muted);transition:background .4s,color .4s,border-color .4s;transition-delay:var(--d,0s)}
.timeline.in .dot{background:var(--navy);border-color:var(--navy);color:#fff}
.timeline h3{margin-top:26px;font-family:var(--display);font-size:20px;font-weight:600;letter-spacing:-.02em;line-height:1.2}
.timeline p{margin-top:8px;color:var(--muted);font-size:15.5px}
.report{margin-top:88px;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 30px 60px -36px rgba(11,18,32,.28)}
.report-top{display:flex;align-items:center;gap:14px;padding:22px 28px;border-bottom:1px solid var(--line);background:#FAFBFE}
.report-l{width:26px;height:26px;color:var(--blue)}
.report-top b{display:block;font-family:var(--display);font-size:18px;font-weight:620;letter-spacing:-.02em}
.report-top span{display:block;font-size:13.5px;color:var(--muted)}
.rt-row{display:grid;grid-template-columns:1fr 1fr .8fr 1.5fr;gap:28px;padding:20px 28px;border-bottom:1px solid var(--line);font-size:15.5px;color:var(--ink-2)}
.rt-row:last-child{border-bottom:0}
.rt-head{padding-block:14px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:650;color:var(--soft)}
.rt-ghost i{display:block;height:9px;border-radius:5px;background:#EEF2F8;margin-block:5px}
.rt-ghost i:nth-child(1){width:70%}.rt-ghost i:nth-child(2){width:88%}.rt-ghost i:nth-child(3){width:60%}.rt-ghost i:nth-child(4){width:76%}
.rt-ghost+.rt-ghost i:nth-child(1){width:54%}.rt-ghost+.rt-ghost i:nth-child(2){width:72%}.rt-ghost+.rt-ghost i:nth-child(4){width:58%}

/* ---------- 06 samples ---------- */
.tag{display:inline-flex;align-items:center;height:32px;padding:0 14px;border-radius:999px;background:var(--tint-bg);border:1px solid #D6E4FF;
  color:var(--navy);font-size:12.5px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}
.samples{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:64px;align-items:start}
.samples li:nth-child(2){margin-top:44px}
.samples li:nth-child(3){margin-top:88px}
.sample{display:flex;flex-direction:column;min-height:380px;padding:26px;border:1px solid var(--line);border-radius:18px;background:#fff;text-decoration:none;
  transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .3s}
.sample:hover{transform:translateY(-6px);border-color:#CFDDF7;box-shadow:0 30px 50px -30px rgba(11,18,32,.3)}
.s-mast{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:14px;border-bottom:2px solid var(--navy)}
.s-mast b{font-family:var(--display);font-size:18px;font-weight:650;letter-spacing:-.02em}
.s-head{margin-top:22px;font-family:var(--display);font-size:23px;font-weight:580;line-height:1.22;letter-spacing:-.025em}
.s-lines{display:grid;gap:8px;margin-top:20px}
.s-lines i{height:7px;border-radius:4px;background:#EEF2F8}
.s-lines i:nth-child(2){width:92%}.s-lines i:nth-child(3){width:64%}
.s-meta{display:flex;justify-content:space-between;gap:12px;margin-top:auto;padding-top:28px;font-size:13.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.s-open{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:14.5px;font-weight:600;color:var(--blue)}
.s-open svg{width:14px;height:14px;transition:transform .3s var(--ease)}
.sample:hover .s-open svg{transform:translate(2px,-2px)}
#samples .fine{margin-top:40px}

/* ---------- 07 agencies ---------- */
.agencies{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,112px);align-items:start}
.ag-art{width:200px;height:200px;margin-top:56px}
.ag-orbit{transform-origin:110px 110px;animation:spin 16s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.ag-list{border-top:1px solid var(--line);margin-top:64px}
.ag-list li{display:grid;grid-template-columns:64px 1fr;gap:8px;padding:32px 0;border-bottom:1px solid var(--line)}
.ag-list .ag-cta{display:block;border-bottom:0;padding-left:72px}

/* ---------- 08 beyond ---------- */
.beyond{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(40px,7vw,112px);align-items:end}
.beyond .body{margin-top:0}
.path{position:relative;display:grid;grid-template-columns:repeat(4,1fr);margin-top:72px}
.path::before{content:"";position:absolute;left:28px;right:calc(25% - 28px);top:28px;border-top:1.5px dashed #C9D5EA}
.path li{position:relative;display:flex;flex-direction:column;gap:16px;font-family:var(--display);font-size:19px;font-weight:580;letter-spacing:-.02em}
.path svg{box-sizing:content-box;width:24px;height:24px;padding:15px;border-radius:50%;background:#fff;border:1.5px dashed #C9D5EA;color:#B9CBEA;transition:color .35s,border-color .35s,transform .45s var(--ease)}
.path li:hover svg{color:var(--blue);border-color:var(--tint);transform:translateY(-3px)}
.path li.on svg{background:var(--navy);border:1.5px solid var(--navy);color:var(--tint)}
.path li:not(.on) span{color:var(--ink-2)}

/* ---------- 09 faq ---------- */
.faq-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,7vw,112px);align-items:start}
.faq{margin-top:28px}
.faq .acc-btn{grid-template-columns:1fr 44px;column-gap:20px;padding:24px 0}
.q{font-family:var(--display);font-size:clamp(19px,1.7vw,22px);font-weight:560;letter-spacing:-.02em;transition:color .25s}
.faq .acc-btn:hover .q{color:var(--blue)}
.faq .acc-in p{padding:0 64px 28px 0;color:var(--muted);font-size:16.5px;max-width:40em}

/* ---------- contact band ---------- */
.contact{position:relative;overflow:hidden;color:#fff;isolation:isolate;
  background:radial-gradient(120% 90% at 100% 100%,#1A47B0 0%,rgba(26,71,176,0) 60%),linear-gradient(165deg,#0B1220 0%,#0E2154 60%,#123276 100%)}
.contact-in{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr minmax(0,.9fr);gap:clamp(40px,6vw,96px);align-items:center;padding-block:clamp(104px,12vw,160px)}
.kicker.light{color:rgba(226,235,255,.7)}
.kicker.light span{color:var(--tint)}
.h2.big{color:#fff;font-weight:620;font-size:clamp(60px,9vw,132px);line-height:.92;letter-spacing:-.058em}
.h2.big span{color:var(--tint)}
.contact-sub{margin-top:28px;max-width:22em;font-size:clamp(18px,1.7vw,22px);line-height:1.45;color:rgba(226,235,255,.86);letter-spacing:-.01em}
.direct{margin-top:40px;display:grid;gap:6px}
.direct .micro{color:rgba(226,235,255,.6)}
.direct a{font-family:var(--display);font-size:clamp(20px,2vw,26px);font-weight:560;letter-spacing:-.02em;text-decoration:underline;text-decoration-color:rgba(156,192,255,.6);text-underline-offset:6px;text-decoration-thickness:1.5px;width:max-content;max-width:100%}
.direct a:hover{text-decoration-color:#fff}
.contact :focus-visible{outline-color:#fff}
.form{background:#fff;color:var(--ink);border-radius:22px;padding:clamp(24px,3vw,36px);box-shadow:0 40px 90px -30px rgba(2,8,26,.6)}
.form :focus-visible{outline-color:var(--blue)}
.form-title{font-family:var(--display);font-size:21px;font-weight:620;letter-spacing:-.02em;margin-bottom:20px}
.field-row{margin-bottom:14px}
.field-row label{display:block;font-size:13.5px;font-weight:600;color:var(--ink-2);margin-bottom:6px}
.opt{font-weight:450;color:var(--soft)}
.form input,.form textarea{width:100%;border:1px solid #D5DDEA;border-radius:11px;background:#F7F9FC;color:var(--ink);font:inherit;font-size:16px;padding:11px 14px;
  transition:border-color .2s,box-shadow .2s,background .2s}
.form textarea{resize:vertical;min-height:112px}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px rgba(31,91,230,.16)}
.form [aria-invalid="true"]{border-color:#B42318;background:#FFFBFA}
.err{min-height:0;font-size:13px;color:#B42318;margin-top:6px}
.err:empty{display:none}
.btn.submit{width:100%;margin-top:6px;background:var(--navy);color:#fff}
.btn.submit:hover{background:#15265C}
.form-note{margin-top:12px;font-size:13px;color:var(--muted);text-align:center}
.form-note.ok{color:var(--navy);font-weight:550}

/* ---------- footer ---------- */
.footer{padding-top:72px;overflow:hidden}
.foot-top{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.brand.dark{color:var(--ink)}
.foot-links{display:flex;flex-wrap:wrap;gap:8px 24px}
.foot-links a{font-size:14.5px;color:var(--muted);text-decoration:none}
.foot-links a:hover{color:var(--ink)}
.foot-meta{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:36px;padding-top:24px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.foot-meta a{color:var(--ink-2)}
.privacy{margin-top:12px;font-size:13.5px;color:var(--muted);max-width:62em}
.giant{margin:56px 0 -1.2vw;text-align:center;font-family:var(--display);font-weight:700;font-size:21.5vw;line-height:.82;letter-spacing:-.065em;white-space:nowrap;
  background:linear-gradient(180deg,#1F5BE6 0%,#6F9BF5 45%,rgba(156,192,255,.3) 70%,rgba(255,255,255,0) 90%);-webkit-background-clip:text;background-clip:text;color:transparent;user-select:none}

/* ---------- responsive ---------- */
@media (max-width:1040px){
  .svc .acc-btn{grid-template-columns:56px 108px 1fr 44px}
  .svc .acc-in{padding-left:180px}
  .whys{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .links{display:none;position:absolute;top:calc(100% + 6px);left:12px;right:12px;flex-direction:column;gap:0;padding:8px;border-radius:18px;
    background:#fff;box-shadow:0 24px 60px -20px rgba(11,18,32,.35)}
  .links.open{display:flex}
  .links a,.nav.solid .links a{color:var(--ink);font-size:17px;padding:14px 16px;border-radius:12px}
  .links a:hover{background:var(--tint-bg)}
  .links a[aria-current="true"]::after{display:none}
  .nav-cta{margin-left:auto}
  .menu-btn{display:block}
  .solution,.agencies,.beyond,.faq-wrap,.contact-in,.svc-foot{grid-template-columns:1fr}
  .samples{grid-template-columns:1fr;gap:16px}
  .samples li:nth-child(n){margin-top:0}
  .sample{min-height:0}
  .ag-art{display:none}
  .ag-list{margin-top:8px}
  .beyond .body{margin-top:-8px}
}
@media (max-width:760px){
  .marks{grid-template-columns:1fr;gap:48px}
  .mark-item{display:grid;grid-template-columns:64px 1fr;column-gap:20px}
  .mark-item .mk{width:56px;height:56px;grid-row:span 2}
  .mark-item h3{margin-top:2px}
  .timeline{grid-template-columns:1fr;gap:0;margin-top:48px}
  .timeline::before,.timeline::after{left:19px;right:auto;top:20px;bottom:40px;width:1.5px;height:auto}
  .timeline::after{transform:scaleY(0);transform-origin:top}
  .timeline.in::after{transform:scaleY(1)}
  .timeline li{display:grid;grid-template-columns:40px 1fr;column-gap:20px;padding:0 0 32px}
  .timeline .dot{grid-row:span 2}
  .timeline h3{margin-top:8px}
  .report{margin-top:56px}
  .rt-head,.rt-ghost{display:none}
  .rt-row{grid-template-columns:1fr;gap:14px;padding:22px}
  .rt-row [role="cell"]::before{content:attr(data-h);display:block;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:650;color:var(--soft);margin-bottom:2px}
  .svc .acc-btn{grid-template-columns:36px 1fr 40px;grid-template-areas:"i k p" "i t p";row-gap:6px;padding:24px 0}
  .svc .idx{grid-area:i;align-self:start;padding-top:2px}
  .svc .kind{grid-area:k}
  .svc .ttl{grid-area:t}
  .svc .pm{grid-area:p}
  .svc .acc-in{padding-left:52px}
  .whys{grid-template-columns:1fr;gap:22px}
  .path{grid-template-columns:1fr 1fr;row-gap:28px}
  .path::before{display:none}
  .faq .acc-in p{padding-right:8px}
  .ag-list .ag-cta{padding-left:0}
  .pitch{min-height:8.4em}
}
@media (max-width:560px){
  .nav-in{gap:10px}
  .hero-content{padding:104px 22px 120px;transform:translateY(-2vh)}
  .mark{width:52px;height:52px;margin-bottom:26px}
  h1{font-size:clamp(40px,12.4vw,56px);letter-spacing:-.048em}
  .sub{margin-top:22px}
  .ctas{flex-direction:column;width:100%;max-width:340px;margin-top:32px}
  .hero .btn{width:100%}
  .tabs [role="tab"]{font-size:13.5px;padding:0 13px}
  .pitch{font-size:25px;min-height:10.6em}
  .ask{white-space:normal;height:auto;min-height:46px;padding:10px 18px}
  .tag{height:auto;padding:7px 12px;border-radius:10px;font-size:11px;letter-spacing:.05em;line-height:1.35}
  .contact-in{padding-block:96px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms!important;animation:none!important}
  .js .rv{opacity:1;transform:none}
  .timeline::after{transform:none}
  .value em{background-size:100% 100%}
}
