/* Kalibr — direction artistique */

:root{
  --ink:#0A0B14;
  --deep:#0C0E1C;
  --surface:#161A30;
  --line-d:#262B45;
  --cream:#F7F3EA;
  --cream-2:#EFE9DC;
  --warm:#FFF1D2;
  --blue:#2B4BFF;
  --blue-l:#6E82FF;
  --amber:#FFB400;
  --amber-d:#E09600;
  --paper:#FFFFFF;
  --grey:#6E7185;
  --grey-l:#9AA0B8;
  --maxw:1240px;
  --pad:clamp(20px,5vw,56px);
  --disp:'Bricolage Grotesque','Archivo',system-ui,sans-serif;
  --body:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
}

*{box-sizing:border-box;}
[hidden]{display:none !important;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;background:var(--cream);color:var(--ink);
  font-family:var(--body);font-size:17px;line-height:1.55;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;}
.wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad);}

/* ============ en-tête ============ */
.top{
  position:sticky;top:0;z-index:60;background:rgba(12,14,28,.86);
  backdrop-filter:saturate(150%) blur(10px);border-bottom:1px solid rgba(255,255,255,.08);
}
.top-in{display:flex;align-items:center;justify-content:space-between;gap:18px;height:70px;}
.mark{
  display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;
  font-family:var(--disp);font-weight:800;font-size:24px;letter-spacing:-.045em;
}
.mark-tick{
  width:16px;height:16px;flex:none;border-radius:50%;
  background:radial-gradient(circle at 50% 50%, var(--amber) 0 34%, transparent 36%),
             conic-gradient(from 180deg, var(--blue-l), var(--blue) 60%, transparent 61%);
}
.top-right{display:flex;align-items:center;gap:22px;font-size:14.5px;color:#fff;}
.langs{display:flex;gap:10px;}
.langs a{text-decoration:none;color:var(--grey-l);}
.langs a[aria-current="true"]{color:#fff;font-weight:600;}
.langs a:hover{color:var(--amber);}
.top-tel{text-decoration:none;font-weight:600;white-space:nowrap;color:#fff;}
.top-tel:hover{color:var(--amber);}
.top-cta{
  text-decoration:none;font-weight:600;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis;
  background:var(--amber);color:var(--ink);padding:11px 18px;border-radius:999px;
  transition:background .15s,transform .15s;
}
.top-cta:hover{background:#fff;transform:translateY(-1px);}

/* ============ boutons ============ */
.btn{
  display:inline-block;padding:15px 24px;border-radius:999px;text-decoration:none;
  font-weight:600;font-size:16px;line-height:1;border:2px solid transparent;
  transition:background .16s,color .16s,border-color .16s,transform .16s;
}
.btn-amber{background:var(--amber);color:var(--ink);border-color:var(--amber);}
.btn-amber:hover{background:#fff;border-color:#fff;transform:translateY(-2px);}
.btn-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.35);}
.btn-outline:hover{border-color:#fff;background:rgba(255,255,255,.08);}
.btn-dark{background:var(--ink);color:#fff;border-color:var(--ink);}
.btn-dark:hover{background:var(--blue);border-color:var(--blue);transform:translateY(-2px);}
.btn-ghost-dark{background:transparent;color:var(--ink);border-color:rgba(10,11,20,.28);}
.btn-ghost-dark:hover{border-color:var(--ink);background:rgba(10,11,20,.06);}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--amber);outline-offset:3px;}

/* ============ hero ============ */
.hero{position:relative;background:var(--deep);color:#fff;overflow:hidden;
  padding:clamp(52px,7vw,96px) 0 clamp(74px,8vw,116px);}
.hero-bg{position:absolute;inset:0;pointer-events:none;}
.glow{position:absolute;border-radius:50%;filter:blur(100px);}
.glow-a{width:640px;height:640px;left:-180px;top:-260px;background:var(--blue);opacity:.40;}
.glow-b{width:520px;height:520px;right:-160px;top:-140px;background:var(--amber);opacity:.09;}
.hero-in{position:relative;display:grid;grid-template-columns:1.18fr .82fr;gap:clamp(32px,4vw,64px);align-items:center;}
.hero-copy{min-width:0;}
.hero h1{margin:0;font-family:var(--disp);font-weight:800;letter-spacing:-.05em;}
.hero h1 .l1{display:block;color:var(--cream);font-size:clamp(1.45rem,2.1vw,2.05rem);line-height:1.06;}
.hero h1 .l2{display:block;margin-top:14px;color:var(--amber);
  font-size:clamp(2.2rem,4.1vw,3.7rem);line-height:.94;max-width:14ch;}
.hero-sub{margin:30px 0 0;max-width:54ch;font-size:clamp(1rem,1.2vw,1.15rem);line-height:1.58;color:#D5D8E8;}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px;}
.hero-note{margin:22px 0 0;font-size:13.5px;color:var(--grey-l);}

.js .reveal{opacity:0;transform:translateY(16px);}
.loaded .reveal{opacity:1;transform:none;transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.3,1);}
.loaded .l2{transition-delay:.10s;}
.loaded .hero-sub{transition-delay:.20s;}
.loaded .hero-actions{transition-delay:.28s;}
.loaded .hero-note{transition-delay:.34s;}
.loaded .browser{transition-delay:.16s;}

/* écran + téléphone */
.device{position:relative;width:100%;margin:0;}
.screen{
  width:88%;border:1px solid rgba(247,243,234,.34);border-radius:14px;overflow:hidden;
  background:rgba(9,11,22,.92);box-shadow:0 44px 90px -40px rgba(0,0,0,.95);
}
.screen-bar{height:38px;display:flex;align-items:center;gap:12px;padding:0 14px;border-bottom:1px solid rgba(247,243,234,.18);}
.dots{display:flex;gap:6px;flex:none;}
.dots i{width:9px;height:9px;border-radius:50%;display:block;}
.dots i:nth-child(1){background:var(--blue);}
.dots i:nth-child(2){background:var(--amber);}
.dots i:nth-child(3){background:var(--cream);}
.screen-url{
  flex:1;height:23px;display:flex;align-items:center;padding:0 13px;
  border:1px solid rgba(247,243,234,.26);border-radius:999px;
  font-size:11px;color:var(--grey-l);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.screen-shot{aspect-ratio:16/9.4;overflow:hidden;}
.screen-shot img{width:100%;height:100%;object-fit:cover;object-position:top center;}

.phone-mock{
  position:absolute;right:0;bottom:26px;width:clamp(78px,21%,132px);
  aspect-ratio:9/17;border:5px solid #232744;border-radius:20px;background:#05060E;
  overflow:hidden;box-shadow:0 30px 60px -20px rgba(0,0,0,.95);
}
.phone-mock img{width:100%;height:100%;object-fit:cover;object-position:top center;}
.device figcaption{margin-top:52px;max-width:72%;font-size:13px;line-height:1.5;color:var(--grey-l);}
.loaded .phone-mock{transition-delay:.3s;}

/* règle graduée */
.ruler{position:absolute;left:0;right:0;bottom:0;width:100%;height:26px;opacity:.6;}
.ruler line{stroke:#fff;stroke-width:1;}

/* jauges (section référencement) */
.gauges{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 12px;max-width:520px;margin-top:36px;}
.gauge{text-align:center;}
.gauge svg{width:100%;max-width:112px;margin:0 auto;transform:rotate(-90deg);display:block;}
.g-bg{fill:none;stroke:rgba(255,255,255,.14);stroke-width:8;}
.g-fg{fill:none;stroke:var(--amber);stroke-width:8;stroke-linecap:round;
  stroke-dasharray:327;stroke-dashoffset:calc(327 - 327 * var(--pct) / 100);
  transition:stroke-dashoffset 1.6s cubic-bezier(.2,.8,.2,1);}
.js .g-fg{stroke-dashoffset:327;}
.js .g-fg.on{stroke-dashoffset:calc(327 - 327 * var(--pct) / 100);}
.gauge b{display:block;margin-top:-60px;font-family:var(--disp);font-size:1.6rem;font-weight:800;letter-spacing:-.03em;}
.gauge span{display:block;margin-top:32px;font-size:13px;color:var(--grey-l);}
.gauge-cap{grid-column:1/-1;margin:12px 0 0;font-size:13px;color:var(--grey-l);}

/* ============ sections ============ */
section{padding:clamp(64px,8vw,116px) 0;}
.cream{background:var(--cream);}
.cream.alt{background:var(--cream-2);}
.light{background:var(--paper);}
.deep{background:var(--deep);color:#fff;}
.sec-head{max-width:62ch;margin-bottom:clamp(36px,5vw,60px);}
.sec-head h2{
  font-family:var(--disp);margin:0;font-weight:800;
  font-size:clamp(2rem,4.4vw,3.5rem);line-height:1.02;letter-spacing:-.04em;
}
.sec-head p{margin:20px 0 0;color:#43465C;font-size:1.08rem;}
.deep .sec-head p{color:#B9BDD2;}
.admin .sec-head p{color:rgba(255,255,255,.86);}

/* bandeau promesse */
.promise{background:var(--warm);padding:clamp(34px,4.5vw,52px) 0;}
.promise-in{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,3vw,48px);}
.promise h3{font-family:var(--disp);margin:0 0 10px;font-size:1.3rem;font-weight:800;letter-spacing:-.03em;}
.promise p{margin:0;font-size:15.5px;color:#4A452F;}

/* étapes */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(22px,3vw,38px);}
.step .num{
  display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;
  border-radius:50%;background:var(--blue);color:#fff;font-weight:700;font-size:15px;margin-bottom:16px;
}
.step h3{font-family:var(--disp);margin:0 0 8px;font-size:1.2rem;font-weight:800;letter-spacing:-.03em;}
.step p{margin:0;font-size:15.5px;color:#43465C;}

/* trois arguments */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.2vw,28px);}
.grid3 > div{background:var(--paper);padding:clamp(26px,3vw,38px);border-radius:18px;}
.grid3 h3{font-family:var(--disp);margin:0 0 12px;font-size:1.3rem;letter-spacing:-.03em;font-weight:800;}
.grid3 p{margin:0;color:#43465C;font-size:15.5px;}

.seo-top{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,4vw,64px);align-items:center;}
.seo-top .sec-head{margin-bottom:0;}
.ai-card{margin:0;}
.ai-q{
  margin:0 0 14px;font-size:15.5px;color:var(--grey-l);
  border-left:2px solid var(--amber);padding-left:14px;
}
.ai-a{background:var(--surface);border:1px solid var(--line-d);border-radius:16px;padding:22px 24px;}
.ai-a p{margin:0 0 16px;font-size:16px;line-height:1.6;color:#E2E5F2;}
.ai-src{
  display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--grey-l);
  border-top:1px solid var(--line-d);padding-top:14px;width:100%;
}
.ai-src b{
  color:var(--blue-l);font-weight:600;background:rgba(110,130,255,.12);
  padding:4px 10px;border-radius:999px;
}
.ai-card figcaption{margin-top:14px;font-size:13px;color:var(--grey-l);}

/* référencement */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.4vw,28px);margin-top:clamp(36px,4.5vw,60px);}
.duo > div{background:var(--surface);border:1px solid var(--line-d);border-radius:18px;padding:clamp(24px,3vw,36px);}
.duo h3{font-family:var(--disp);margin:0 0 18px;font-size:1.3rem;font-weight:800;letter-spacing:-.03em;}
.duo ul{list-style:none;margin:0;padding:0;font-size:15.5px;color:#C4C8DC;}
.duo li{padding:9px 0 9px 20px;position:relative;line-height:1.45;}
.duo li::before{content:"";position:absolute;left:0;top:17px;width:9px;height:2px;border-radius:2px;background:var(--amber);}
.duo-note{margin:28px 0 0;font-size:15.5px;color:var(--grey-l);max-width:66ch;}

/* administration */
.admin{background:var(--blue);color:#fff;}
.admin-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(22px,3vw,40px);align-items:start;}

.cms{background:#fff;color:var(--ink);border-radius:16px;overflow:hidden;box-shadow:0 40px 80px -40px rgba(0,0,0,.6);}
.cms-top{display:flex;align-items:center;gap:14px;padding:14px 18px;background:var(--ink);color:#fff;}
.cms-name{font-weight:700;font-size:14px;}
.cms-status{margin-left:auto;font-size:12px;color:var(--amber);}
.cms-status.done{color:#7BE3A3;font-weight:700;}
.cms-pub{background:#12A05A;color:#fff;border:0;border-radius:8px;padding:9px 16px;font:inherit;font-weight:700;font-size:13px;cursor:pointer;}
.cms-pub:hover{background:#0E8B4D;}
.cms-main{display:grid;grid-template-columns:158px 1fr;min-height:264px;}
.cms-nav{display:flex;flex-direction:column;gap:2px;padding:14px 10px;border-right:1px solid #E6E2D9;background:#FAF8F3;}
.cms-tab{
  text-align:left;background:transparent;border:0;border-radius:8px;padding:10px 12px;
  font:inherit;font-size:13px;color:#454859;cursor:pointer;
}
.cms-tab:hover{background:#EFEBE1;}
.cms-tab.is-on{background:var(--blue);color:#fff;font-weight:600;}
.cms-form{padding:18px 20px 22px;}
.pane{display:none;}
.pane.is-on{display:block;}
.fld{display:block;margin-bottom:12px;}
.fld span{display:block;font-size:12.5px;color:var(--grey);margin-bottom:6px;}
.fld input,.fld textarea{
  width:100%;padding:10px 12px;font:inherit;font-size:14.5px;line-height:1.45;
  border:1px solid #DCD9D0;border-radius:8px;background:#fff;color:var(--ink);resize:vertical;
}
.fld input:focus,.fld textarea:focus{border-color:var(--blue);outline:2px solid rgba(43,75,255,.25);outline-offset:0;}
.hint{margin:0 0 16px;font-size:12.5px;color:var(--grey);}

.preview{position:relative;}
.prev{display:none;}
.prev.is-on{display:block;}
.preview-cap{font-size:13.5px;color:rgba(255,255,255,.85);margin:0 0 14px;}
.preview-band{background:rgba(255,255,255,.13);padding:22px;border-radius:14px;}
.pb-lab{font-size:13px;opacity:.85;margin:0 0 8px;}
.pb-plat{font-family:var(--disp);font-size:clamp(1.2rem,2.2vw,1.6rem);font-weight:800;letter-spacing:-.03em;margin:0;}
.pb-prix{margin:10px 0 0;font-size:1rem;opacity:.92;}
.pb-row{display:flex;justify-content:space-between;gap:16px;margin:8px 0 0;font-size:15px;}
.pb-row b{font-weight:700;}
.gres{background:#fff;color:var(--ink);border-radius:14px;padding:20px 22px;}
.gres-url{display:block;font-size:13px;color:#1A6B2E;margin-bottom:4px;}
.gres-title{display:block;font-size:1.1rem;line-height:1.3;color:#1A0DAB;margin-bottom:6px;}
.gres-desc{display:block;font-size:13.5px;line-height:1.5;color:#4D5156;}
.saved{display:block;margin-top:16px;font-size:13.5px;color:#fff;opacity:0;transition:opacity .25s;}
.saved.on{opacity:1;}
.admin-note{margin-top:28px;font-size:15.5px;color:rgba(255,255,255,.86);max-width:56ch;}

/* références */
.refs{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:clamp(26px,3vw,40px);align-items:start;}
.ref{text-decoration:none;display:block;}
.shot{display:block;aspect-ratio:16/9;overflow:hidden;border-radius:16px;background:var(--cream-2);box-shadow:0 18px 40px -24px rgba(10,11,20,.55);}
.shot img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .5s cubic-bezier(.2,.7,.3,1);}
.ref:hover .shot img{transform:scale(1.05);}
.ref-txt{display:block;padding:18px 2px 0;}
.ref b{font-family:var(--disp);display:block;font-size:1.2rem;letter-spacing:-.03em;font-weight:800;}
.ref-sec{display:block;margin-top:5px;font-size:14.5px;color:var(--grey);}
.ref-desc{display:block;margin-top:12px;font-size:14.5px;line-height:1.55;color:#43465C;}
.ref-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;}
.tag{
  display:inline-block;padding:5px 11px;border-radius:999px;font-size:12.5px;font-weight:600;
  color:var(--blue);background:rgba(43,75,255,.08);border:1px solid rgba(43,75,255,.18);
}

/* téléphone */
.mobile-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);align-items:center;}
.mobile .sec-head{margin-bottom:22px;}
.mob-cap{margin:0;font-size:14.5px;color:var(--grey-l);}
.phones{display:flex;gap:clamp(14px,2vw,26px);}
.phone{
  display:block;flex:1 1 0;max-width:290px;overflow:hidden;
  border:8px solid #1D2138;border-radius:26px;background:#000;
  box-shadow:0 30px 60px -30px rgba(0,0,0,.9);
}
.phone img{width:100%;height:auto;}

/* prix */
.prices{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.2vw,26px);}
.price{background:var(--paper);border-radius:20px;padding:clamp(26px,3vw,38px) clamp(22px,2.6vw,30px);display:flex;flex-direction:column;}
.price.feature{background:var(--ink);color:#fff;box-shadow:0 30px 60px -30px rgba(10,11,20,.7);}
.price h3{font-family:var(--disp);margin:0;font-size:1.25rem;font-weight:800;letter-spacing:-.03em;}
.amount{font-family:var(--disp);font-size:clamp(2.6rem,4.8vw,3.6rem);font-weight:800;letter-spacing:-.05em;margin:16px 0 4px;line-height:1;}
.price.feature .amount{color:var(--amber);}
.cur{font-size:.95rem;font-weight:600;letter-spacing:0;vertical-align:super;margin-right:5px;color:var(--grey);}
.price.feature .cur{color:var(--grey-l);}
.delay{font-size:14.5px;color:var(--grey);margin:0 0 24px;}
.price.feature .delay{color:var(--grey-l);}
.spec{margin-bottom:20px;}
.spec h4{margin:0 0 6px;font-size:13px;font-weight:700;color:var(--grey);}
.price.feature .spec h4{color:var(--grey-l);}
.price ul{list-style:none;margin:0;padding:0;font-size:15.5px;}
.price li{padding:7px 0 7px 18px;position:relative;line-height:1.42;}
.price li::before{content:"";position:absolute;left:0;top:15px;width:9px;height:2px;border-radius:2px;background:var(--blue);}
.price.feature li::before{background:var(--amber);}
.price .btn{margin-top:auto;text-align:center;}

.ownership{
  margin-top:clamp(20px,2.6vw,30px);background:var(--ink);color:#fff;border-radius:20px;
  padding:clamp(26px,3.2vw,40px);display:grid;grid-template-columns:.95fr 1.05fr;
  gap:clamp(24px,3vw,44px);align-items:center;
}
.own-copy h3{font-family:var(--disp);margin:0 0 12px;font-size:clamp(1.25rem,2.2vw,1.7rem);font-weight:800;letter-spacing:-.03em;}
.own-copy p{margin:0;font-size:15.5px;color:#B9BDD2;}
.own-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.own-card{background:rgba(255,255,255,.06);border:1px solid #2A2E48;border-radius:14px;padding:20px;}
.own-card.is-us{background:rgba(255,180,0,.1);border-color:var(--amber);}
.own-t{display:block;font-size:13px;color:var(--grey-l);margin-bottom:10px;}
.own-n{display:block;font-family:var(--disp);font-size:clamp(1.15rem,1.9vw,1.4rem);font-weight:800;letter-spacing:-.03em;margin-bottom:10px;}
.own-card.is-us .own-n{color:var(--amber);}
.own-d{display:block;font-size:14px;line-height:1.45;color:#C4C8DC;}

.extras{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.2vw,26px);margin-top:clamp(18px,2.2vw,26px);}
.extras > div{background:var(--warm);border-radius:20px;padding:clamp(26px,3vw,36px);}
.extras h3{font-family:var(--disp);margin:0 0 16px;font-size:1.2rem;font-weight:800;letter-spacing:-.03em;}
.extras ul{list-style:none;margin:0;padding:0;font-size:15.5px;color:#4A452F;}
.extras li{padding:7px 0 7px 18px;position:relative;}
.extras li::before{content:"";position:absolute;left:0;top:16px;width:9px;height:2px;border-radius:2px;background:var(--amber-d);}

.tva{margin:22px 0 0;font-size:14.5px;color:var(--grey);}
.qa-list{display:grid;gap:2px;background:var(--cream);border-radius:16px;overflow:hidden;}
.qa{background:var(--paper);}
.qa summary{
  cursor:pointer;list-style:none;padding:20px 56px 20px 24px;position:relative;
  font-family:var(--disp);font-weight:700;font-size:clamp(1.02rem,1.5vw,1.2rem);letter-spacing:-.02em;
}
.qa summary::-webkit-details-marker{display:none;}
.qa summary::after{
  content:"";position:absolute;right:26px;top:50%;width:13px;height:13px;
  border-right:2px solid var(--blue);border-bottom:2px solid var(--blue);
  transform:translateY(-70%) rotate(45deg);transition:transform .2s;
}
.qa[open] summary::after{transform:translateY(-30%) rotate(225deg);}
.qa summary:hover{background:var(--cream);}
.qa summary:focus-visible{outline:3px solid var(--blue);outline-offset:-3px;}
.qa-body{padding:0 56px 22px 24px;}
.qa-body p{margin:0;font-size:15.5px;line-height:1.6;color:#43465C;}

.mpage-back{margin:0 0 22px;font-size:14px;}
.mpage-back a{color:var(--grey-l);text-decoration:none;border-bottom:1px solid #2A2E48;}
.mpage-back a:hover{color:var(--amber);border-color:var(--amber);}
.hero h1 .l2{max-width:20ch;}
.duo-light > div{background:var(--paper);border-color:var(--cream-2);}
.duo-light h3{margin-bottom:10px;font-size:1.15rem;}
.duo-light p{margin:0;font-size:15.5px;line-height:1.55;color:#43465C;}
.mlist{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:16px;max-width:70ch;}
.mlist li{padding:12px 18px 12px 34px;position:relative;background:rgba(255,255,255,.12);border-radius:12px;}
.mlist li::before{content:"";position:absolute;left:14px;top:22px;width:9px;height:2px;border-radius:2px;background:var(--amber);}
.mlist-dark li{background:var(--cream-2);color:#43465C;}
.mlist-dark li::before{background:var(--blue);}
.light .focus > div{background:var(--cream);}
.cream .focus > div{background:var(--paper);}
.focus h3{margin:0 0 14px;}
.focus ul{list-style:none;margin:0;padding:0;font-size:15px;color:#43465C;}
.focus li{padding:8px 0 8px 18px;position:relative;line-height:1.45;}
.focus li::before{content:"";position:absolute;left:0;top:16px;width:9px;height:2px;border-radius:2px;background:var(--blue);}

.mgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.mcard{
  display:block;padding:20px 22px;border-radius:16px;text-decoration:none;
  background:var(--surface);border:1px solid var(--line-d);transition:border-color .15s,transform .15s;
}
.mcard:hover{border-color:var(--amber);transform:translateY(-2px);}
.mcard.is-on{border-color:var(--amber);background:rgba(255,180,0,.08);}
.mcard b{display:block;font-family:var(--disp);font-size:1.1rem;font-weight:800;letter-spacing:-.02em;color:#fff;}
.mcard span{display:block;margin-top:6px;font-size:14px;color:var(--grey-l);}

.why-in{display:grid;grid-template-columns:auto 1fr;gap:clamp(28px,4vw,64px);align-items:start;}
.why-mark{position:relative;width:64px;padding-top:8px;}
.why-mark span{
  display:block;height:230px;width:100%;
  background-image:
    repeating-linear-gradient(to bottom, rgba(247,243,234,.85) 0 1.5px, transparent 1.5px 70px),
    repeating-linear-gradient(to bottom, rgba(247,243,234,.4) 0 1px, transparent 1px 14px);
  background-size:38px 100%, 20px 100%;
  background-repeat:no-repeat, no-repeat;
  background-position:left top, left top;
  border-left:2px solid var(--amber);
}
.why-copy h2{font-family:var(--disp);margin:0 0 22px;font-weight:800;letter-spacing:-.04em;
  font-size:clamp(1.9rem,4vw,3.1rem);line-height:1.04;}
.why-lead{font-family:var(--disp);font-weight:700;letter-spacing:-.02em;
  font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.35;color:var(--amber);margin:0 0 20px;max-width:34ch;}
.why-copy p{margin:0 0 18px;font-size:1.05rem;line-height:1.65;color:#C4C8DC;max-width:62ch;}
.why-note{font-size:15px !important;color:var(--grey-l) !important;}

.legal-page{padding-top:clamp(46px,6vw,80px);}
.legal-page .sec-head{margin-bottom:clamp(28px,3vw,40px);}
.legal-back{margin-bottom:18px;}
.legal-back a{color:var(--grey);border-bottom-color:var(--cream-2);}
.legal-back a:hover{color:var(--blue);border-color:var(--blue);}
.legal-page .sec-head h2,.legal-page h1{font-family:var(--disp);font-weight:800;letter-spacing:-.04em;
  font-size:clamp(1.7rem,4.4vw,3.2rem);line-height:1.06;margin:0;
  overflow-wrap:anywhere;hyphens:auto;}
.legal-body h2,.legal-body p{overflow-wrap:anywhere;}
.legal-body{max-width:74ch;}
.legal-body section{padding:0;margin-bottom:clamp(26px,3vw,36px);}
.legal-body h2{font-family:var(--disp);font-weight:800;letter-spacing:-.03em;
  font-size:clamp(1.15rem,2vw,1.45rem);margin:0 0 12px;}
.legal-body p{margin:0 0 12px;font-size:16px;line-height:1.65;color:#43465C;}
.legal-date{margin:34px 0 0;font-size:14px;color:var(--grey);}
.legal-links{margin:10px 0 0;font-size:14.5px;color:var(--grey);}
.legal-links a{color:var(--blue);text-decoration:none;}
.legal-links a:hover{text-decoration:underline;}
.foot-langs{margin-top:12px;font-size:13.5px;}
.foot-langs a{color:var(--grey-l);text-decoration:none;margin-right:14px;}
.foot-langs a[aria-current="true"]{color:#fff;font-weight:600;}
.foot-langs a:hover{color:var(--amber);}
.foot-legal-links{margin-top:10px;font-size:13.5px;}
.foot-legal-links a{color:var(--grey-l);text-decoration:none;margin-right:16px;}
.foot-legal-links a:hover{color:#fff;}

/* contact */
.contact{background:var(--amber);color:var(--ink);}
.contact .sec-head h2{color:var(--ink);}
.contact .sec-head p{color:#4A3D10;}
.contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,4vw,56px);align-items:start;}
.cform{background:var(--ink);color:#fff;border-radius:20px;padding:clamp(24px,3vw,34px);}
.cform-h{margin:0 0 20px;font-family:var(--disp);font-weight:800;font-size:1.2rem;letter-spacing:-.03em;}
.cf{display:block;margin-bottom:14px;}
.cf > span{display:block;font-size:13px;color:var(--grey-l);margin-bottom:6px;}
.cf input,.cf textarea{
  width:100%;padding:13px 14px;font:inherit;font-size:15px;line-height:1.45;
  border:1px solid #2A2E48;border-radius:10px;background:#14172A;color:#fff;resize:vertical;
}
.cf input::placeholder,.cf textarea::placeholder{color:#6D7290;}
.cf input:focus,.cf textarea:focus{border-color:var(--amber);outline:2px solid rgba(255,180,0,.3);outline-offset:0;}
.cform-btn{
  width:100%;margin-top:8px;background:var(--amber);color:var(--ink);border:0;border-radius:999px;
  padding:16px 22px;font:inherit;font-weight:700;font-size:16px;cursor:pointer;transition:background .15s;
}
.cform-btn:hover{background:#fff;}
.cform-btn:disabled{opacity:.6;cursor:default;}
.cform-status{margin:14px 0 0;font-size:14.5px;min-height:1.2em;}
.cform-status.is-ok{color:#7BE3A3;}
.cform-status.is-err{color:#FFB4A6;}
.cform-privacy{margin:14px 0 0;font-size:12.5px;line-height:1.5;color:var(--grey-l);}
.contact-aside{padding-top:6px;}
.contact-lines{font-family:var(--disp);font-size:clamp(1.2rem,2.1vw,1.7rem);font-weight:800;letter-spacing:-.03em;line-height:1.9;}
.contact-lines a{text-decoration:none;border-bottom:3px solid rgba(10,11,20,.25);}
.contact-lines a:hover{border-color:var(--ink);}
.contact-side{color:#4A3D10;font-size:15.5px;margin-top:26px;}

.quickbar{display:none;}
@media (max-width:820px){
  .quickbar{
    display:grid;grid-template-columns:1fr 1fr;gap:8px;
    position:fixed;left:0;right:0;bottom:0;z-index:70;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom));
    background:rgba(12,14,28,.94);backdrop-filter:saturate(140%) blur(10px);
    border-top:1px solid rgba(255,255,255,.1);
  }
  .qb{
    display:flex;align-items:center;justify-content:center;gap:9px;
    min-height:52px;border-radius:999px;text-decoration:none;
    font-weight:700;font-size:16px;line-height:1;
  }
  .qb svg{width:20px;height:20px;fill:currentColor;flex:none;}
  .qb-call{background:var(--amber);color:var(--ink);}
  .qb-wa{background:#25D366;color:#05240F;}
  .qb:active{transform:translateY(1px);}
  body{padding-bottom:84px;}
}

/* pied */
footer{background:var(--ink);color:var(--grey-l);padding:38px 0 48px;font-size:14.5px;}
.foot-in{display:flex;flex-wrap:wrap;gap:14px 30px;justify-content:space-between;}
footer a{color:#fff;text-decoration:none;}
footer a:hover{color:var(--amber);}

/* responsive */
@media (max-width:1000px){
  .hero-in{grid-template-columns:1fr;}
  .device{max-width:560px;}
  .grid3,.prices{grid-template-columns:1fr;}
  .steps{grid-template-columns:repeat(2,1fr);}
  .duo,.extras,.admin-layout,.contact-grid,.mobile-layout,.promise-in,.ownership,.seo-top{grid-template-columns:1fr;}
  .why-in{grid-template-columns:1fr;gap:24px;}
  .why-mark{width:100%;}
  .why-mark span{height:40px;border-left:0;border-top:2px solid var(--amber);
    background-image:
      repeating-linear-gradient(to right, rgba(247,243,234,.85) 0 1.5px, transparent 1.5px 70px),
      repeating-linear-gradient(to right, rgba(247,243,234,.4) 0 1px, transparent 1px 14px);
    background-size:100% 24px, 100% 12px;}
  .mgrid{grid-template-columns:repeat(2,1fr);}
  .cms-main{grid-template-columns:1fr;min-height:0;}
  .cms-nav{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid #E6E2D9;padding:10px;}
  .cms-tab{white-space:nowrap;}
}
@media (max-width:620px){
  .steps{grid-template-columns:1fr;}
  .own-cols{grid-template-columns:1fr;}
  .mgrid{grid-template-columns:1fr;}
  .top-tel{display:none;}
  .top-cta{display:none;}
  .langs{gap:14px;font-size:15px;}
  .langs a{padding:6px 2px;}
  .top-in{height:64px;}
  .btn{width:100%;text-align:center;}
  .outline{-webkit-text-stroke-width:2px;}
  .gauge b{margin-top:-50px;font-size:1.35rem;}
  .gauge span{margin-top:24px;}
  .screen-bar{height:32px;}
  .screen-url{height:20px;font-size:10px;}
  .device figcaption{font-size:12px;}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none !important;animation:none !important;}
  .reveal{opacity:1;transform:none;}

  .g-fg{stroke-dashoffset:calc(327 - 327 * var(--pct) / 100);}
  html{scroll-behavior:auto;}
}
