:root{
  --ink:#0d0f14; --ink2:#161a22; --ink3:#232936;
  --paper:#f5f4ef; --card:#ffffff; --line:#e3e1d8; --muted:#5c6170; --muted2:#8b90a0;
  --lime:#c8f05a; --lime2:#b4e03c; --blue:#3d5afe; --blue2:#2a44e0; --coral:#ff6b4a;
  --r:18px; --shadow:0 1px 2px rgba(13,15,20,.05),0 12px 32px -12px rgba(13,15,20,.18);
  --fd:'Bricolage Grotesque',system-ui,sans-serif; --fb:'Instrument Sans',system-ui,sans-serif; --fm:'JetBrains Mono',ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font-family:var(--fb);font-size:17px;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img,svg{display:block}
.wrap{width:min(1180px,100% - 32px);margin-inline:auto}
.mono{font-family:var(--fm);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase}
h1,h2,h3{font-family:var(--fd);letter-spacing:-.025em;line-height:1.04;font-weight:800}
h2{font-size:clamp(34px,5vw,58px)}
h3{font-size:22px;font-weight:700;letter-spacing:-.01em;line-height:1.2}
.kicker{display:inline-flex;align-items:center;gap:10px;color:var(--muted)}
.kicker::before{content:"";width:22px;height:2px;background:var(--blue);border-radius:2px}
.lead{font-size:clamp(17px,1.6vw,20px);color:var(--muted);max-width:640px}
.btn{display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 24px;border-radius:999px;font-weight:600;font-size:16px;transition:transform .2s,background .2s,box-shadow .2s;white-space:nowrap;border:0;cursor:pointer;font-family:var(--fb)}
.btn:hover{transform:translateY(-2px)}
.btn-lime{background:var(--lime);color:var(--ink);box-shadow:0 8px 24px -10px rgba(140,190,20,.8)}
.btn-lime:hover{background:var(--lime2)}
.btn-ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor}
.btn-ink{background:var(--ink);color:#fff}
.btn svg{width:18px;height:18px}

/* nav */
.nav{position:fixed;inset:0 0 auto;z-index:50;transition:background .3s,box-shadow .3s}
.nav.on{background:rgba(245,244,239,.86);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);box-shadow:0 1px 0 var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{display:flex;align-items:baseline;gap:6px;font-family:var(--fd);font-weight:800;font-size:21px;letter-spacing:-.03em}
.logo i{width:34px;height:34px;border-radius:10px;background:var(--ink);display:grid;place-items:center}
.logo i svg{width:18px;height:18px}
.logo b{font-weight:500;color:var(--muted)}
.menu{display:flex;gap:30px;font-size:15px;font-weight:500}
.menu a{opacity:.75;transition:opacity .2s}.menu a:hover{opacity:1}
.nav .btn{height:44px;padding:0 18px;font-size:15px}
.burger{display:none;align-items:center;gap:10px;height:42px;padding:0 16px 0 18px;border-radius:999px;background:var(--ink);color:#fff;border:0;cursor:pointer;font:600 14.5px/1 var(--fb);-webkit-tap-highlight-color:transparent;transition:background .25s,color .25s}
.burger .bi{position:relative;width:16px;height:10px;flex:none}
.burger .bi i{position:absolute;left:0;width:16px;height:2px;border-radius:2px;background:currentColor;transition:transform .3s cubic-bezier(.6,0,.2,1),top .3s cubic-bezier(.6,0,.2,1)}
.burger .bi i:first-child{top:0}.burger .bi i:last-child{top:8px}
.burger.x{background:var(--lime);color:var(--ink)}
.burger.x .bi i:first-child{top:4px;transform:rotate(45deg)}
.burger.x .bi i:last-child{top:4px;transform:rotate(-45deg)}
.drawer{display:none}

/* hero */
.hero{padding:140px 0 40px;position:relative}
.hero .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.hero h1{font-size:clamp(42px,5.9vw,80px);margin:22px 0 24px}
.hero h1 em{font-style:normal;position:relative;white-space:nowrap}
.hero h1 em::after{content:"";position:absolute;left:-2%;right:-2%;bottom:.08em;height:.32em;background:var(--lime);z-index:-1;border-radius:4px;transform:scaleX(0);transform-origin:left;animation:mark 1s .5s cubic-bezier(.7,0,.2,1) forwards}
@keyframes mark{to{transform:scaleX(1)}}
.rot{display:inline-block;color:var(--blue)}
.hero .cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.proof{display:flex;gap:28px;flex-wrap:wrap;margin-top:44px;padding-top:28px;border-top:1px solid var(--line)}
.proof div{min-width:110px}
.proof strong{display:block;font-family:var(--fd);font-size:34px;line-height:1;letter-spacing:-.03em}
.proof span{font-size:14px;color:var(--muted)}

/* hero visual */
.stage{position:relative;padding:20px 0 104px}
.proj{position:relative;background:var(--ink);color:#e9ecf2;border-radius:24px;padding:26px 26px 22px;box-shadow:0 40px 80px -40px rgba(13,15,20,.6);transition:transform .25s ease-out;max-width:520px;margin-left:auto}
.proj::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(140deg,rgba(200,240,90,.55),rgba(61,90,254,.35) 40%,transparent 70%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.proj .top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.proj .top small{font-family:var(--fm);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#8a91a3}
.proj .top b{display:block;font-family:var(--fd);font-size:22px;letter-spacing:-.02em;color:#fff;margin-top:2px}
.pct{position:relative;width:58px;height:58px;flex:none}
.pct svg{width:58px;height:58px;transform:rotate(-90deg)}
.pct circle{fill:none;stroke-width:5}
.pct .bg{stroke:#262c3a}.pct .fg{stroke:var(--lime);stroke-linecap:round;stroke-dasharray:151;stroke-dashoffset:151;transition:stroke-dashoffset 1.2s cubic-bezier(.3,.7,.2,1)}
.pct span{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--fd);font-weight:700;font-size:15px;color:#fff}
.tasks{list-style:none;margin-top:20px;display:grid;gap:8px}
.tasks li{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:12px;padding:11px 12px;border-radius:14px;background:#151922;border:1px solid #20263283;opacity:0;transform:translateY(10px);transition:opacity .5s,transform .5s,background .4s}
.tasks li.in{opacity:1;transform:none}
.tasks .ti{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#1f2533;color:#aab2c5}
.tasks .ti svg{width:17px;height:17px}
.tasks li strong{display:block;font-size:14.5px;font-weight:600;color:#fff;line-height:1.25}
.tasks li em{font-style:normal;font-size:12.5px;color:#8a91a3}
.stt{font-family:var(--fm);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border-radius:999px;white-space:nowrap}
.stt.ok{background:rgba(200,240,90,.14);color:var(--lime)}
.stt.run{background:rgba(61,90,254,.2);color:#9fb0ff}
.stt.next{background:#20263a;color:#8a91a3}
.tasks li.done .ti{background:var(--lime);color:var(--ink)}
.tasks li.go .ti{background:var(--blue);color:#fff}
.mbar{height:4px;border-radius:2px;background:#232a3a;margin-top:7px;overflow:hidden}
.mbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--blue),#8fa2ff);border-radius:2px;transition:width 1.6s .3s ease-out}
.bubble{position:absolute;left:0;bottom:0;max-width:300px;background:#fff;border-radius:18px 18px 18px 6px;padding:12px 14px 10px;box-shadow:var(--shadow);border:1px solid rgba(13,15,20,.06);opacity:0;transform:translateY(12px) scale(.96);transition:opacity .5s,transform .5s cubic-bezier(.3,1.4,.5,1)}
.bubble.in{opacity:1;transform:none}
.bubble .who{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#128c4a;margin-bottom:4px}
.bubble .who i{width:20px;height:20px;border-radius:6px;background:var(--ink);color:var(--lime);font-style:normal;font-family:var(--fd);font-weight:800;font-size:9px;display:grid;place-items:center}
.bubble p{font-size:14.5px;line-height:1.4}
.bubble small{display:block;text-align:right;font-size:11px;color:var(--muted2);margin-top:2px}
.chip2{position:absolute;right:90px;top:-16px;background:var(--lime);color:var(--ink);font-weight:700;font-size:13px;padding:8px 14px;border-radius:999px;box-shadow:0 10px 24px -10px rgba(120,170,10,.8);transform:rotate(4deg)}

/* ticker */
.ticker{margin-top:56px;border-block:1px solid var(--line);overflow:hidden;white-space:nowrap;padding:18px 0;background:#efeee8}
.ticker div{display:inline-flex;gap:44px;animation:slide 40s linear infinite;padding-left:44px}
.ticker span{font-family:var(--fd);font-weight:700;font-size:22px;letter-spacing:-.02em;display:inline-flex;align-items:center;gap:44px;color:#2a2e38}
.ticker span::after{content:"";width:9px;height:9px;border-radius:50%;background:var(--blue)}
@keyframes slide{to{transform:translateX(-50%)}}

section{padding:110px 0}
.head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:56px;flex-wrap:wrap}
.head h2{max-width:720px;margin-top:16px}
.head p{max-width:380px;color:var(--muted)}

/* services */
.svc{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.s{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px;display:flex;flex-direction:column;min-height:300px;position:relative;overflow:hidden;transition:transform .3s,border-color .3s,box-shadow .3s}
.s:hover{transform:translateY(-4px);border-color:transparent;box-shadow:var(--shadow)}
.s .ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;margin-bottom:22px;background:#eef0ff;color:var(--blue)}
.s .ic svg{width:24px;height:24px}
.s p{color:var(--muted);font-size:15px;margin-top:10px}
.s ul{list-style:none;margin-top:auto;padding-top:18px;display:flex;flex-wrap:wrap;gap:6px}
.s li{font-size:12.5px;padding:4px 10px;border-radius:999px;background:#f4f3ee;color:#3a3f4c}
.s.wide{grid-column:span 2;min-height:240px}
.s.big{grid-column:span 2;background:var(--ink);color:#fff;border-color:var(--ink)}
.s.big p{color:#aab0c0}.s.big li{background:var(--ink3);color:#dfe3ec}
.s.big .ic{background:var(--lime);color:var(--ink)}
.s.big .n{position:absolute;right:-10px;bottom:-40px;font-family:var(--fd);font-weight:800;font-size:200px;line-height:1;color:rgba(255,255,255,.04);letter-spacing:-.06em}
.s .no{position:absolute;top:24px;right:24px;color:var(--muted2)}

/* why */
.why{background:var(--ink);color:#fff;border-radius:32px;margin:0 16px;padding:110px 0}
.why .head p{color:#aab0c0}.why .kicker{color:#aab0c0}
.vs{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.col{border-radius:var(--r);padding:30px;border:1px solid var(--ink3)}
.col.us{background:linear-gradient(160deg,#1c2233,#141824);border-color:#33405f}
.col h3{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.col h3 small{font-family:var(--fm);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:999px;background:var(--ink3);color:#aab0c0;font-weight:500}
.col.us h3 small{background:var(--lime);color:var(--ink)}
.col li{list-style:none;display:flex;gap:12px;padding:13px 0;border-top:1px solid var(--ink3);color:#c5cad6;font-size:15.5px}
.col li svg{width:20px;height:20px;flex:none;margin-top:2px}
.col.them li svg{color:#6b7283}.col.us li svg{color:var(--lime)}
.col.us li{color:#eef0f5}

/* hosting */
.host{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
.plans{display:grid;gap:14px}
.plan{display:grid;grid-template-columns:1.1fr 2fr auto;gap:20px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px 24px;transition:border-color .2s,box-shadow .2s}
.plan:hover{box-shadow:var(--shadow);border-color:transparent}
.plan.hot{border:2px solid var(--ink);position:relative}
.plan.hot::before{content:"Le plus choisi";position:absolute;top:-12px;left:22px;background:var(--lime);font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px}
.plan h3{font-size:24px}
.plan .use{font-size:13px;color:var(--muted)}
.specs{display:flex;gap:18px;flex-wrap:wrap}
.specs div{font-size:13px;color:var(--muted)}
.specs b{display:block;font-family:var(--fd);font-size:20px;color:var(--ink);letter-spacing:-.02em}
.plan .btn{height:44px;font-size:14px;padding:0 18px}
.inc{margin-top:26px;display:grid;grid-template-columns:1fr 1fr;gap:10px 22px}
.inc div{display:flex;gap:10px;font-size:15px;align-items:flex-start}
.inc svg{width:20px;height:20px;color:var(--blue);flex:none;margin-top:2px}
.console{margin-top:30px;background:var(--ink);border-radius:var(--r);padding:20px 22px;font-family:var(--fm);font-size:12.5px;color:#c9cfdb;line-height:1.85;min-height:236px}
.console .g{color:var(--lime)}.console .d{color:#6f7689}.console .b{color:#8fa2ff}
.caret{display:inline-block;width:8px;height:15px;background:var(--lime);vertical-align:-2px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}

/* process */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:st}
.st{padding:28px 24px;border-top:3px solid var(--ink);background:var(--card);border-radius:0 0 var(--r) var(--r)}
.st:nth-child(2){border-color:var(--blue)}.st:nth-child(3){border-color:var(--lime2)}.st:nth-child(4){border-color:var(--coral)}
.st .mono{color:var(--muted2)}
.st h3{margin:14px 0 10px}
.st p{color:var(--muted);font-size:15px}

/* about */
.about{display:grid;grid-template-columns:auto 1fr;gap:48px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:28px;padding:48px}
.avatar{width:150px;height:150px;border-radius:36px;background:var(--ink);display:grid;place-items:center;position:relative}
.avatar span{font-family:var(--fd);font-weight:800;font-size:56px;color:var(--lime);letter-spacing:-.04em}
.avatar::after{content:"";position:absolute;right:-8px;bottom:-8px;width:34px;height:34px;border-radius:12px;background:var(--blue);border:5px solid var(--card)}
.about blockquote{font-family:var(--fd);font-weight:700;font-size:clamp(22px,2.4vw,30px);line-height:1.25;letter-spacing:-.02em}
.about .sig{margin-top:18px;color:var(--muted);font-size:15px}
.about .sig a{color:var(--blue);font-weight:600}

/* faq */
.faq{max-width:860px}
details{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;padding:24px 0;font-family:var(--fd);font-weight:700;font-size:21px;letter-spacing:-.01em;display:flex;justify-content:space-between;gap:20px;align-items:center}
summary::-webkit-details-marker{display:none}
summary i{width:32px;height:32px;border-radius:50%;background:#ecebe4;flex:none;position:relative;transition:transform .3s,background .3s}
summary i::before,summary i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:var(--ink);transform:translate(-50%,-50%)}
summary i::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .3s}
details[open] summary i{background:var(--lime)}
details[open] summary i::after{transform:translate(-50%,-50%) rotate(0)}
details p{padding:0 50px 26px 0;color:var(--muted)}

/* contact */
.contact{background:var(--blue);color:#fff;border-radius:32px;margin:0 16px;padding:100px 0;position:relative;overflow:hidden}
.contact::before{content:"";position:absolute;width:640px;height:640px;border-radius:50%;background:radial-gradient(circle,rgba(200,240,90,.35),transparent 65%);right:-200px;top:-260px}
.contact .grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;position:relative}
.contact h2{font-size:clamp(38px,5.4vw,66px)}
.contact .lead{color:#dfe4ff;margin-top:20px}
.contact .kicker::before,.why .kicker::before{background:var(--lime)}
.ways{margin-top:34px;display:grid;gap:12px}
.ways a{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:16px;background:rgba(255,255,255,.1);transition:background .2s;font-weight:600}
.ways a:hover{background:rgba(255,255,255,.18)}
.ways a small{display:block;font-weight:400;color:#cfd7ff;font-size:13.5px}
.ways svg{width:22px;height:22px;flex:none}
form{background:#fff;color:var(--ink);border-radius:24px;padding:30px;display:grid;gap:14px;box-shadow:0 30px 60px -30px rgba(0,0,0,.5)}
form h3{font-size:24px}
label{display:grid;gap:6px;font-size:14px;font-weight:600}
input,select,textarea{font:inherit;font-weight:400;font-size:16px;padding:13px 14px;border-radius:12px;border:1.5px solid var(--line);background:#fafaf7;color:var(--ink);width:100%}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue);background:#fff}
textarea{min-height:110px;resize:vertical}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{display:block;cursor:pointer}
.chips input{position:absolute;opacity:0;width:1px;height:1px}
.chips span{display:block;padding:8px 14px;border-radius:999px;border:1.5px solid var(--line);font-weight:500;font-size:14px;transition:.2s}
.chips input:checked+span{background:var(--ink);color:#fff;border-color:var(--ink)}
.chips input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}
.send{display:flex;gap:10px;flex-wrap:wrap}
.send .btn{flex:1;justify-content:center}
.wa{background:#25d366;color:#08331a}
.note{font-size:13px;color:var(--muted)}


.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}

@media (max-width:1080px){
  .svc{grid-template-columns:repeat(2,1fr)}
  .hero .grid,.host,.contact .grid{grid-template-columns:1fr}
  .proj{margin-left:0}
  .steps{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){
  .menu,.nav .btn-desk{display:none}
  .burger{display:inline-flex}
  .drawer{display:flex;flex-direction:column;position:fixed;inset:72px 0 0;background:var(--paper);padding:8px 16px 28px;z-index:40;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s,transform .3s,visibility 0s .3s;overflow-y:auto}
  .drawer.open{opacity:1;visibility:visible;transform:none;transition:opacity .3s,transform .3s}
  .drawer .dl{display:flex;align-items:baseline;gap:14px;padding:16px 2px;font-family:var(--fd);font-weight:700;font-size:26px;letter-spacing:-.02em;border-bottom:1px solid var(--line)}
  .drawer .dl small{font-family:var(--fm);font-size:11px;font-weight:500;color:var(--muted2);letter-spacing:.06em}
  .drawer .dfoot{margin-top:auto;padding-top:24px;display:grid;gap:12px}
  .drawer .dfoot .btn{width:100%;justify-content:center;height:56px;font-size:16px}
  .drawer .dfoot p{font-size:14px;color:var(--muted);text-align:center}
  .drawer .dfoot p a{color:var(--ink);font-weight:600}
  body.lock{overflow:hidden}
  .nav.open{background:var(--paper);box-shadow:0 1px 0 var(--line)}
}
@media (max-width:720px){
  body{font-size:16px}
  section{padding:76px 0}
  .hero{padding-top:112px}
  .stage{padding:8px 0 104px}
  .proj{padding:20px 16px 16px;border-radius:20px}
  .tasks li{grid-template-columns:30px 1fr auto;gap:10px;padding:9px 10px}
  .tasks .ti{width:30px;height:30px}
  .tasks li strong{font-size:13.5px}
  .chip2{top:-14px;right:auto;left:16px;font-size:12px}
  .bubble{left:8px;right:24px;max-width:none}
  .svc,.vs,.steps,.inc{grid-template-columns:1fr}
  .s.big,.s.wide{grid-column:auto}.s{min-height:0}
  .why,.contact{margin:0;border-radius:24px;padding:76px 0}
  .plan{grid-template-columns:1fr;gap:12px}
  .plan .btn{justify-self:start}
  .about{grid-template-columns:1fr;padding:30px;gap:28px}
  .avatar{width:96px;height:96px;border-radius:26px}.avatar span{font-size:36px}
  summary{font-size:18px}
  details p{padding-right:0}
  form{padding:22px}
  .proof{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.proof div{min-width:0}.proof strong{font-size:22px}.proof span{font-size:12.5px;display:block;line-height:1.35;margin-top:4px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.build>*{opacity:1;transform:none}.hero h1 em::after{transform:none}}

/* ===== multi-page additions ===== */
section.tight{padding:80px 0}
.menu a.cur{opacity:1;position:relative}
.menu a.cur::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--blue);border-radius:2px}
.ulink{color:var(--blue);font-weight:600;display:inline-flex;align-items:center;gap:6px}
.ulink svg{width:16px;height:16px}
.btn-ghost-w{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.6)}
.btn-ghost-w:hover{box-shadow:inset 0 0 0 1.5px #fff}

/* service cards as links */
a.s{color:inherit}
.s .lvtag{position:absolute;top:24px;right:22px}
.s .more{margin-top:16px;display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--blue)}
.s .more svg{width:16px;height:16px;transition:transform .2s}
.s:hover .more svg{transform:translateX(4px)}
.s.big .more{color:var(--lime)}
.s.big .lvtag{background:var(--lime);color:var(--ink)}
.svc.three{grid-template-columns:repeat(3,1fr)}
.lvtag{display:inline-block;font-family:var(--fm);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:999px;font-weight:500}
.lv1{background:#e9f7e1;color:#2b7a17}.lv2{background:#e7ebff;color:#2a44e0}.lv3{background:#fff0e6;color:#b4520f}.lv4{background:var(--ink);color:var(--lime)}

/* ladder */
.ladder{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.lv{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;display:flex;flex-direction:column}
.lv.lvl4{background:var(--ink);color:#fff;border-color:var(--ink)}
.lvhead{display:flex;align-items:center;gap:12px;color:var(--muted2)}
.lvbar{flex:1;height:4px;border-radius:2px;background:#eceae2;overflow:hidden}
.lvl4 .lvbar{background:#262c3a}
.lvbar i{display:block;height:100%;background:linear-gradient(90deg,var(--lime2),var(--blue));border-radius:2px}
.lv h3{margin:16px 0 8px}
.lv p{font-size:15px;color:var(--muted)}
.lvl4 p{color:#aab0c0}
.lv .ex{list-style:none;margin:16px 0;display:grid;gap:7px}
.lv .ex li{font-size:14px;padding-left:18px;position:relative}
.lv .ex li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:2px;background:var(--blue)}
.lvl4 .ex li::before{background:var(--lime)}
.lvlinks{margin-top:auto;display:flex;flex-wrap:wrap;gap:6px;padding-top:10px}
.lvlinks a{font-size:12.5px;font-weight:600;padding:6px 10px;border-radius:999px;background:#f1f0ea;transition:background .2s}
.lvlinks a:hover{background:var(--lime)}
.lvl4 .lvlinks a{background:#1d2230;color:#dfe3ec}.lvl4 .lvlinks a:hover{background:var(--lime);color:var(--ink)}

/* AI spotlight */
.ai{background:var(--ink);color:#fff;border-radius:32px;margin:0 16px;padding:100px 0;position:relative;overflow:hidden}
.ai::before{content:"";position:absolute;width:700px;height:700px;left:-260px;bottom:-380px;border-radius:50%;background:radial-gradient(circle,rgba(61,90,254,.35),transparent 65%)}
.ai .kicker{color:#aab0c0}.ai .kicker::before{background:var(--lime)}
.ai .lead{color:#b8bfcf;margin-top:18px}
.aigrid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;position:relative}
.ai h2{margin-top:16px}
.incl{list-style:none;display:grid;gap:10px;margin-top:22px}
.incl li{display:flex;gap:10px;font-size:15.5px;align-items:flex-start}
.incl svg{width:20px;height:20px;color:var(--blue);flex:none;margin-top:2px}
.incl.dk li{color:#dfe3ec}.incl.dk svg{color:var(--lime)}
.ai .cta{margin-top:30px}
.agent{background:#141822;border:1px solid #262c3a;border-radius:24px;padding:18px;display:flex;flex-direction:column;gap:10px;min-height:470px;box-shadow:0 40px 80px -40px rgba(0,0,0,.7)}
.agtop{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid #232938}
.agav{width:38px;height:38px;border-radius:12px;background:var(--lime);color:var(--ink);font-family:var(--fd);font-weight:800;font-size:12px;display:grid;place-items:center}
.agtop b{display:block;font-size:15px}.agtop small{color:#7ed957;font-size:12px}
.agent [data-t]{opacity:0;transform:translateY(8px);transition:opacity .45s,transform .45s}
.agent [data-t].in{opacity:1;transform:none}
.msg{max-width:84%;padding:11px 14px;border-radius:16px;font-size:14.5px;line-height:1.45}
.msg.me{align-self:flex-end;background:#2a44e0;border-bottom-right-radius:5px}
.msg.bot{align-self:flex-start;background:#20263a;border-bottom-left-radius:5px}
.tool{align-self:flex-start;font-family:var(--fm);font-size:11.5px;color:#c9d2e3;background:#0f121a;border:1px dashed #33405f;padding:7px 11px;border-radius:10px;display:flex;align-items:center;gap:8px}
.tool i{width:7px;height:7px;border-radius:50%;background:var(--lime);flex:none}
.hand{align-self:center;font-size:12px;color:#9aa1b2;background:#1b2030;padding:6px 12px;border-radius:999px;margin-top:4px}

/* sectors teaser */
.stzs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.stz{display:flex;align-items:center;gap:14px;padding:18px 20px;background:var(--card);border:1px solid var(--line);border-radius:16px;font-weight:600;transition:border-color .2s,transform .2s}
.stz:hover{border-color:var(--ink);transform:translateY(-2px)}
.stz svg{width:26px;height:26px;color:var(--blue);flex:none}

/* inner pages */
.phero{padding:130px 0 40px}
.phero h1{font-size:clamp(38px,5.4vw,68px);margin:18px 0 20px}
.crumbs{font-size:13.5px;color:var(--muted);margin-bottom:26px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.crumbs a{color:var(--ink);font-weight:500}.crumbs a:hover{color:var(--blue)}
.crumbs i{font-style:normal;color:var(--muted2)}
.phgrid{display:grid;grid-template-columns:1.3fr .9fr;gap:48px;align-items:start}
.phero .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.brief{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow)}
.brief .ic.big{width:56px;height:56px;border-radius:16px;background:var(--ink);color:var(--lime);display:grid;place-items:center;margin-bottom:18px}
.brief .ic.big svg{width:28px;height:28px}
.brief .incl{margin-top:14px}
.ideal{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.ideal .mono{color:var(--muted2)}
.ideal p{font-size:15px;margin-top:6px}
.answer-s{padding:10px 0 0!important}
.answer{background:linear-gradient(120deg,#eef0ff,#f4fbe6);border-radius:20px;padding:26px 30px;border:1px solid #dfe3fb}
.answer .mono{color:var(--blue)}
.answer p{font-size:clamp(17px,1.6vw,19px);margin-top:8px;line-height:1.55}
.offers{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.of{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px}
.ofn{color:var(--blue)}
.of h3{margin:12px 0 8px;font-size:19px}
.of p{color:var(--muted);font-size:15px}
.dark-soft{background:#ecebe4}
.cases{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.case{background:var(--card);border-radius:var(--r);padding:24px;border-left:4px solid var(--lime2)}
.case:nth-child(2){border-color:var(--blue)}.case:nth-child(3){border-color:var(--coral)}.case:nth-child(4){border-color:var(--ink)}
.case .mono{color:var(--muted2)}
.case p{margin-top:10px;font-size:15.5px}
.zone{display:grid;grid-template-columns:1fr 1fr;gap:32px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px 28px}
.zone .mono{color:var(--muted2)}
.zone p{font-size:15px;margin-top:8px;color:var(--muted)}
.kw{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.kw li{font-size:13px;padding:5px 10px;border-radius:999px;background:#f1f0ea;color:#3a3f4c}
.ctaband{padding:30px 0 110px}
.ctaband .wrap{background:var(--blue);color:#fff;border-radius:28px;padding:48px;display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap;position:relative;overflow:hidden}
.ctaband .wrap::after{content:"";position:absolute;right:-120px;top:-160px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(200,240,90,.35),transparent 65%);pointer-events:none}
.ctaband h2{font-size:clamp(28px,3.4vw,42px);max-width:620px}
.ctaband p{color:#dfe4ff;margin-top:10px;max-width:560px}
.ctab{display:flex;gap:12px;flex-wrap:wrap;position:relative;z-index:1}
.lvgroup{margin-bottom:70px}
.lvgh{max-width:760px;margin-bottom:26px}
.lvgh h2{font-size:clamp(28px,3.6vw,44px);margin:12px 0 10px}
.lvgh p{color:var(--muted)}
.sects{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.sect{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px;display:flex;flex-direction:column;scroll-margin-top:100px}
.secth{display:flex;gap:14px;align-items:flex-start}
.secth .ic{width:46px;height:46px;border-radius:14px;background:#eef0ff;color:var(--blue);display:grid;place-items:center;flex:none}
.secth .ic svg{width:24px;height:24px}
.secth h3{font-size:19px}
.secth p{font-size:14.5px;color:var(--muted);margin-top:6px}
.sect .incl{margin:18px 0}
.sect .incl li{font-size:14.5px}
.contact.page{margin-top:96px}
.contact.page h1{font-size:clamp(38px,5.4vw,66px);margin-top:16px}
.contact.page .crumbs,.contact.page .crumbs a{color:#dfe4ff}
.contact.page .crumbs i{color:#aab6ff}
.after{list-style:none;margin-top:26px;display:grid;gap:10px}
.after li{display:flex;gap:10px;color:#eef1ff}
.after svg{width:20px;height:20px;color:var(--lime);flex:none}
.flabel{font-size:14px;font-weight:600;margin-bottom:8px}
.nf{min-height:60vh}

/* footer */
.foot{padding:70px 0 34px;font-size:14.5px;color:var(--muted)}
.ftop{display:grid;grid-template-columns:1.4fr repeat(5,1fr);gap:28px}
.fbrand p{margin:14px 0 20px;max-width:300px}
.fbrand .btn{height:46px;font-size:14.5px}
.foot h4{font-family:var(--fm);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);font-weight:500;margin-bottom:12px}
.ftop>div>a:not(.btn):not(.logo){display:block;padding:4px 0;color:var(--muted)}
.ftop>div>a:not(.btn):not(.logo):hover{color:var(--ink)}
.fbot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:44px;padding-top:22px;border-top:1px solid var(--line)}

@media (max-width:1080px){
  .ladder,.stzs{grid-template-columns:1fr 1fr}
  .aigrid,.phgrid{grid-template-columns:1fr}
  .offers,.sects,.svc.three{grid-template-columns:1fr 1fr}
  .ftop{grid-template-columns:1fr 1fr 1fr}
  .fbrand{grid-column:1/-1}
}
@media (max-width:720px){
  section.tight{padding:60px 0}
  .ladder,.stzs,.offers,.sects,.svc.three,.zone{grid-template-columns:1fr}
  .ai{margin:0;border-radius:24px;padding:70px 0}
  .agent{min-height:0}
  .phero{padding:100px 0 20px}
  .answer{padding:20px}
  .ctaband{padding:10px 0 70px}
  .ctaband .wrap{padding:30px 22px;border-radius:22px;width:calc(100% - 32px)}
  .ctab .btn{flex:1;justify-content:center}
  .ftop{grid-template-columns:1fr 1fr}
  .contact.page{margin-top:72px}
  .s .lvtag{position:static;align-self:flex-start;margin-bottom:14px}
}
@media (max-width:720px){
  #services .svc{gap:10px}
  #services .s{padding:18px 18px 16px}
  #services .s ul{display:none}
  #services .s .ic{width:40px;height:40px;margin-bottom:12px}
  #services .s h3{font-size:19px}
  #services .s p{font-size:14.5px;margin-top:6px}
  #services .s .more{margin-top:10px}
}
