/* Layout: Nusia design system. Light linen page on a 12-column grid, left-aligned with asymmetry; one amethyst field at a time; gold once per screen. */
:root{
  --surface:#F3ECE8; --surface-alt:#EAE0DC; --lin:#DFCDCC; --line:#D6C6C2;
  --ink:#0C0203; --ink-muted:#594A50;
  --amethyste:#8764A8; --amethyste-fonce:#5B3A82; --amethyste-hover:#53357A; --on-af:#F3ECE8;
  --or:#F5C810; --on-or:#0C0203; --focus-ring:#5B3A82;

  --display:"Anton","Impact","Arial Narrow",sans-serif;
  --sans:"Familjen Grotesk","Helvetica Neue",Arial,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --greek:"Noto Sans","Helvetica Neue",Arial,sans-serif;

  --s1:4px; --s2:8px; --s3:16px; --s4:24px; --s5:40px; --s6:64px; --s7:112px;
  --r-sm:4px; --r-md:8px; --r-lg:16px;
  --shadow-raised:0 2px 4px rgba(12,2,3,.06),0 16px 40px rgba(12,2,3,.10);
  --gutter:clamp(16px,4vw,40px);
  --ease:cubic-bezier(.2,.7,.2,1);
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(72px + env(safe-area-inset-top,0px))}
body{margin:0;background:var(--surface);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:26px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{max-width:100%}
a{color:var(--amethyste-fonce)}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}

/* Language switch: English by default, French when the root element has data-lang=fr */
:root:not([data-lang="fr"]) body [lang="fr"]{display:none!important}
:root[data-lang="fr"] body [lang="en"]{display:none!important}

.wrap{max-width:1200px;margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:var(--s7)}
@media (max-width:760px){.section{padding-block:var(--s6)}}

/* Type scale */
.eyebrow{font:500 12px/16px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);margin:0}
.eyebrow.v{color:var(--amethyste-fonce)}
.display-xl,.display-l,.display-m{font-family:var(--display);font-weight:400;text-transform:uppercase;margin:0;text-wrap:balance}
.display-xl{font-size:clamp(60px,10.4vw,128px);line-height:.9;letter-spacing:.005em}
.display-l{font-size:clamp(40px,6vw,72px);line-height:.95;letter-spacing:.01em}
.display-m{font-size:clamp(28px,3vw,36px);line-height:1.05;letter-spacing:.01em}
.subtitle{font-weight:700;font-size:clamp(24px,3.2vw,36px);line-height:1.12;letter-spacing:-.045em;margin:0;text-wrap:balance}
.subtitle em,.subtitle i{font-style:normal;color:var(--amethyste-fonce)}
.heading{font-weight:700;font-size:20px;line-height:28px;letter-spacing:-.02em;margin:0}
.body-l{font-size:18px;line-height:30px;margin:0}
.small{font-size:14px;line-height:22px}
.muted{color:var(--ink-muted)}
.dot{display:inline-block;width:.2em;height:.2em;background:var(--amethyste-fonce);margin-left:.05em;border-radius:.03em;vertical-align:baseline}
.head-block{display:grid;gap:var(--s3);max-width:900px}
.head-block .subtitle{margin-top:var(--s1)}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:10px;font:700 16px/22px var(--sans);padding:14px 24px;border-radius:var(--r-md);border:2px solid transparent;text-decoration:none;cursor:pointer;transition:background-color 200ms ease-out,color 200ms ease-out,border-color 200ms ease-out}
.btn .arr{transition:transform 220ms var(--ease)}
.btn:hover .arr{transform:translateX(3px)}
.btn-primary{background:var(--amethyste-fonce);color:var(--on-af)}
.btn-primary:hover{background:var(--amethyste-hover)}
.btn-secondary{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-secondary:hover{background:var(--ink);color:var(--surface)}
.btn-inverse{background:var(--surface);color:var(--ink)}
.btn-inverse:hover{background:var(--ink);color:var(--surface)}
.btn-sm{padding:9px 16px;font-size:15px}

/* Sticker */
.sticker{display:inline-block;font-family:var(--display);font-size:24px;line-height:28px;text-transform:uppercase;letter-spacing:.02em;padding:10px 16px;border-radius:var(--r-sm);background:var(--or);color:var(--on-or);transform:rotate(-4deg);box-shadow:var(--shadow-raised);white-space:nowrap}
.sticker.k{background:var(--ink);color:var(--surface);transform:rotate(3deg)}

/* ---------- Header ---------- */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top{background:rgba(243,236,232,.92)}
.top .wrap{display:flex;align-items:center;gap:var(--s4);min-height:68px}
.logo{font-family:var(--display);font-size:30px;line-height:1;text-transform:uppercase;letter-spacing:.01em;color:var(--ink);text-decoration:none;white-space:nowrap}
.nav{display:flex;gap:var(--s4);margin-left:auto}
.nav a{color:var(--ink);text-decoration:none;font-weight:500;font-size:15px;line-height:22px;padding-block:4px;border-bottom:2px solid transparent;transition:border-color 200ms ease-out}
.nav a:hover{border-color:var(--amethyste-fonce)}
.lang{display:inline-flex;border:1px solid var(--ink);border-radius:var(--r-sm);overflow:hidden}
.lang a{display:block;font:500 12px/16px var(--mono);letter-spacing:.14em;padding:7px 9px 7px 10px;background:transparent;color:var(--ink);text-decoration:none;cursor:pointer}
.lang a[aria-current="true"]{background:var(--ink);color:var(--surface)}
.top-actions{display:flex;align-items:center;gap:var(--s3)}
@media (max-width:1120px){.nav{display:none}.top-actions{margin-left:auto}}
@media (max-width:520px){.top .btn-sm{display:none}}

/* ---------- Hero ---------- */
.hero{padding-block:var(--s6) var(--s7)}
.hero-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--s4) var(--s4);align-items:end}
.hero-title{grid-column:1 / span 8;display:grid;gap:var(--s4)}
.hero-side{grid-column:9 / span 4;display:grid;gap:var(--s4);padding-bottom:10px}
.hero h1 .line{display:block;overflow:hidden;padding-bottom:.02em}
.hero h1 .line>span{display:block;animation:rise 760ms var(--ease) both}
.hero h1 .line:nth-child(2)>span{animation-delay:90ms}
@keyframes rise{from{transform:translateY(105%)}to{transform:none}}
.cta-row{display:flex;flex-wrap:wrap;gap:var(--s3)}
.proof{display:flex;flex-wrap:wrap;gap:6px 18px;list-style:none;margin:0;padding:0}
.proof li{display:flex;align-items:center;gap:8px;font:500 12px/16px var(--mono);letter-spacing:.1em;text-transform:uppercase}
.proof li::before{content:"";width:7px;height:7px;background:var(--amethyste-fonce);border-radius:1px;flex:none}
@media (max-width:900px){.hero-title,.hero-side{grid-column:1 / -1}}

/* Product screen */
.shot{position:relative;margin:var(--s6) 0 0}
.shot .sticker{position:absolute;z-index:2;animation:drop 520ms var(--ease) 500ms both}
.shot .st1{top:-22px;left:clamp(12px,4vw,48px)}
.shot .st2{bottom:56px;right:clamp(-8px,-1vw,0px);animation-delay:650ms}
@keyframes drop{from{transform:translateY(-18px) rotate(-12deg);opacity:0}}
.app{display:grid;grid-template-columns:220px 1fr;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--surface);font-size:13px;line-height:18px;animation:wipe 700ms var(--ease) 150ms both}
@keyframes wipe{from{clip-path:inset(0 100% 0 0 round 16px)}to{clip-path:inset(0 0 0 0 round 16px)}}
.app-side{background:var(--surface-alt);border-right:1px solid var(--line);padding:18px 14px;display:grid;gap:18px;align-content:start}
.app-brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:15px}
.app-brand b{display:grid;place-items:center;width:26px;height:26px;border-radius:6px;background:var(--ink);color:var(--surface);font:400 15px/1 var(--display)}
.ws{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-md);padding:8px 10px;display:grid;gap:2px}
.ws small{font:500 10px/14px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted)}
.ws span{font-weight:700;display:flex;justify-content:space-between}
.app-nav{display:grid;gap:2px;list-style:none;margin:0;padding:0}
.app-nav li{padding:7px 10px;border-radius:6px;color:var(--ink-muted);display:flex;justify-content:space-between}
.app-nav li.on{background:var(--surface);color:var(--ink);font-weight:700;box-shadow:inset 3px 0 0 var(--amethyste-fonce)}
.app-nav em{font-style:normal;font:500 10px/18px var(--mono);color:var(--amethyste-fonce)}
.app-main{padding:20px 22px 22px;display:grid;gap:16px;min-width:0}
.app-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.app-head h4{margin:0;font-size:18px;line-height:24px;letter-spacing:-.02em}
.chip{font:500 10px/14px var(--mono);letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--ink-muted);color:var(--ink-muted);padding:3px 7px;border-radius:var(--r-sm)}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.kpi{border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px;display:grid;gap:4px;min-width:0}
.kpi small{color:var(--ink-muted)}
.kpi strong{font:400 30px/1 var(--display);letter-spacing:.01em;font-variant-numeric:tabular-nums}
.kpi .spark{height:26px;width:100%}
.app-cols{display:grid;grid-template-columns:1.1fr 1fr;gap:12px}
.panel{border:1px solid var(--line);border-radius:var(--r-md);padding:14px;display:grid;gap:10px;align-content:start;min-width:0}
.panel h5{margin:0;font-size:13px;line-height:18px;font-weight:700;display:flex;justify-content:space-between;gap:8px}
.panel h5 span{font:500 10px/18px var(--mono);letter-spacing:.1em;color:var(--ink-muted);text-transform:uppercase;font-weight:500}
.meter{height:10px;border-radius:2px;background:var(--surface-alt);overflow:hidden;border:1px solid var(--line)}
.meter i{display:block;height:100%;width:64%;background:var(--amethyste-fonce)}
.meter-row{display:flex;justify-content:space-between;font:500 11px/16px var(--mono);color:var(--ink-muted);font-variant-numeric:tabular-nums}
.feed{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.feed li{display:grid;grid-template-columns:8px 1fr auto;gap:10px;align-items:baseline}
.feed li::before{content:"";width:7px;height:7px;background:var(--amethyste-fonce);border-radius:1px;transform:translateY(-1px)}
.feed time{font:500 10px/16px var(--mono);color:var(--ink-muted)}
.roles{width:100%;border-collapse:collapse}
.roles td{padding:6px 0;border-top:1px solid var(--line)}
.roles tr:first-child td{border-top:0}
.roles td:last-child{text-align:right}
.tag{font:500 10px/14px var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:2px 6px;border-radius:var(--r-sm);background:var(--surface-alt);border:1px solid var(--line)}
.tag.v{background:var(--amethyste-fonce);color:var(--on-af);border-color:var(--amethyste-fonce)}
.shot figcaption{margin-top:var(--s3);font-size:14px;line-height:22px;color:var(--ink-muted);max-width:70ch}
@media (max-width:860px){.app{grid-template-columns:1fr}.app-side{display:none}.app-cols{grid-template-columns:1fr}}
@media (max-width:560px){.kpis{grid-template-columns:1fr 1fr}.kpi:nth-child(3){display:none}.shot .st2{display:none}}

/* ---------- The name (amethyst field) ---------- */
.field{position:relative;background:var(--amethyste-fonce);color:var(--on-af);overflow:hidden;isolation:isolate}
.field .eyebrow{color:var(--on-af);opacity:.85}
.bigN{position:absolute;z-index:-1;pointer-events:none;fill:var(--amethyste);opacity:.55}
.name .bigN{right:-6%;top:-14%;height:128%;width:auto}
.merge-stage{margin-top:var(--s5);display:grid;gap:var(--s3)}
.merge{font-family:var(--display);text-transform:uppercase;font-size:clamp(64px,15vw,200px);line-height:1;letter-spacing:.01em;white-space:nowrap}
.merge .k{display:inline-block;vertical-align:top}
.merge .d{display:inline-block;overflow:hidden;max-width:1em;vertical-align:top;transition:max-width 720ms cubic-bezier(.65,0,.35,1) 260ms,opacity 260ms ease-out,color 260ms ease-out}
.merge .plus{color:var(--or);margin-inline:.12em;transition:max-width 720ms cubic-bezier(.65,0,.35,1) 260ms,opacity 260ms ease-out,margin 720ms cubic-bezier(.65,0,.35,1) 260ms}
.merge .mdot{display:inline-block;width:0;height:.2em;background:var(--or);border-radius:.03em;margin-left:0;transform:rotate(-12deg) scale(.4);transition:width 240ms ease-out 980ms,margin 240ms ease-out 980ms,transform 260ms var(--ease) 1000ms}
.merge.merged .d{max-width:0;opacity:0}
.merge.merged .plus{margin-inline:0}
.merge.merged .mdot{width:.2em;margin-left:.05em;transform:none}
.merge-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3) var(--s4)}
.merge-meta .read{font:500 15px/20px var(--greek);letter-spacing:.04em}
.merge-meta .read b{font-weight:500;color:var(--or)}
.replay{font:700 15px/22px var(--sans);background:none;border:0;color:var(--on-af);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px;cursor:pointer;padding:2px}
.roots{display:grid;grid-template-columns:repeat(3,1fr);margin-top:var(--s6);border-top:4px solid var(--on-af)}
.roots>div{padding:var(--s4) var(--s4) 0 0;display:grid;gap:10px;align-content:start;min-width:0}
.roots>div+div{padding-left:var(--s4);border-left:1px solid rgba(243,236,232,.28)}
.gk{font:700 clamp(40px,4.4vw,56px)/1.05 var(--greek);letter-spacing:-.01em}
.roots .lab{font:500 12px/16px var(--mono);letter-spacing:.14em;text-transform:uppercase;opacity:.85}
.roots p{margin:0;max-width:44ch}
.roots .gk.wm{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.01em}
.roots .gk.wm .dot{background:var(--or)}
@media (max-width:860px){.roots{grid-template-columns:1fr}.roots>div+div{padding-left:0;border-left:0;border-top:1px solid rgba(243,236,232,.28);margin-top:var(--s4)}.name .bigN{right:-30%;top:auto;bottom:-6%;height:60%}}

/* ---------- Problem ---------- */
.problem-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--s5) var(--s4);margin-top:var(--s6)}
.quote{grid-column:1 / span 7;margin:0;display:grid;gap:var(--s3);align-content:start}
.quote blockquote{margin:0;font-weight:700;font-size:clamp(24px,2.8vw,34px);line-height:1.18;letter-spacing:-.04em;text-wrap:pretty}
.quote blockquote i{font-style:normal;color:var(--amethyste-fonce)}
.tools{grid-column:9 / span 4;display:grid;gap:var(--s3);align-content:start}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips span{font:500 13px/18px var(--sans);padding:6px 10px;border:1px solid var(--line);background:var(--surface-alt);border-radius:var(--r-sm)}
.vs{grid-column:1 / -1;border-top:4px solid var(--ink)}
.vs-row{display:grid;grid-template-columns:5fr 7fr;gap:var(--s4);padding:18px 0;border-bottom:1px solid var(--line);align-items:baseline}
.vs-row.h{padding:14px 0}
.vs-row .p{color:var(--ink-muted)}
.vs-row .s{font-weight:700;font-size:18px;line-height:26px;letter-spacing:-.02em;display:flex;gap:12px;align-items:baseline}
.vs-row .s::before{content:"";flex:none;width:9px;height:9px;background:var(--amethyste-fonce);border-radius:1px;transform:translateY(-1px)}
.vs-row.h .s::before{display:none}
.vs-row.h span{font:500 12px/16px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted)}
@media (max-width:860px){.quote,.tools{grid-column:1 / -1}.vs-row{grid-template-columns:1fr;gap:6px}.vs-row.h{display:none}}

/* ---------- Foundation ---------- */
.alt{background:var(--surface-alt)}
.found-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--s5) var(--s4);align-items:start}
.found-copy{grid-column:1 / span 5;display:grid;gap:var(--s4)}
.found-copy p{margin:0;max-width:52ch}
.stack-d{grid-column:7 / span 6;display:grid;gap:10px;position:relative}
.layer{display:grid;gap:4px;padding:16px 18px;border:2px solid var(--ink);border-radius:var(--r-md);background:var(--surface);transition:transform 220ms var(--ease),background-color 200ms ease-out}
.layer:hover{transform:translateX(-6px)}
.layer h3{margin:0;font-size:18px;line-height:26px;letter-spacing:-.02em}
.layer p{margin:0;font-size:14px;line-height:22px;color:var(--ink-muted)}
.layer.yours{background:var(--or);border-color:var(--or);color:var(--on-or);padding:22px 20px}
.layer.yours h3{font:400 clamp(28px,3vw,36px)/1 var(--display);text-transform:uppercase;letter-spacing:.01em}
.layer.yours p{color:var(--on-or)}
.built{display:flex;align-items:center;gap:12px;margin-top:8px}
.built::before,.built::after{content:"";height:2px;background:var(--ink);flex:1}
.built span{font:500 12px/16px var(--mono);letter-spacing:.14em;text-transform:uppercase}
@media (max-width:900px){.found-copy,.stack-d{grid-column:1 / -1}}

/* ---------- Offers ---------- */
.offers{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s4);margin-top:var(--s6)}
.offer{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);display:grid;grid-template-rows:auto 1fr;overflow:hidden;min-width:0}
.offer .viz{background:var(--surface-alt);border-bottom:1px solid var(--line);padding:22px;min-height:178px;display:grid;align-items:center}
.offer .txt{padding:var(--s4);display:grid;gap:8px;align-content:start}
.offer .txt p{margin:0;color:var(--ink-muted);max-width:52ch}
.offer .kick{font:500 12px/16px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--amethyste-fonce)}
.mini{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:12px;font-size:13px;line-height:18px;display:grid;gap:8px;max-width:360px;width:100%}
.mini-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;border-radius:6px}
.mini-row.on{background:var(--surface-alt);font-weight:700}
.bubble{padding:9px 12px;border-radius:var(--r-md);max-width:88%}
.bubble.u{background:var(--surface-alt);justify-self:end}
.bubble.a{background:var(--amethyste-fonce);color:var(--on-af)}
.bubble small{display:block;font:500 10px/14px var(--mono);letter-spacing:.1em;text-transform:uppercase;opacity:.8;margin-bottom:2px}
.ledger{display:grid;gap:6px;font-variant-numeric:tabular-nums}
.ledger div{display:flex;justify-content:space-between;gap:8px}
.ledger .tot{border-top:1px solid var(--line);padding-top:6px;font-weight:700}
.log{display:grid;gap:6px}
.log div{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:baseline}
.log code{font:500 11px/16px var(--mono);color:var(--amethyste-fonce)}
@media (max-width:760px){.offers{grid-template-columns:1fr}}

/* ---------- References: logo strip ---------- */
.refs-sec{padding-block:var(--s5);border-block:1px solid var(--line)}
.refs-row{display:grid;gap:var(--s4)}
/* Reference logos: one set shown twice in a track that slides left forever; pauses on hover */
.logos-marquee{--lh:clamp(36px,3.8vw,48px);--gap:clamp(40px,5vw,72px);overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.logos-track{display:flex;width:max-content;animation:logos-slide 38s linear infinite}
.logos-marquee:hover .logos-track,.logos-marquee:focus-within .logos-track{animation-play-state:paused}
@keyframes logos-slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.logos{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--gap);padding-right:var(--gap);padding-block:6px}
.logos>*{flex:none}
.logos a{display:block;border-radius:var(--r-sm);padding:4px;transition:transform 220ms var(--ease)}
.logos a:hover{transform:translateY(-2px)}
.logos img,.logos svg{display:block;width:auto;max-width:none}
.lg-hub svg{height:var(--lh)}
.lg-grova{height:calc(var(--lh)*.97)}.lg-solide{height:calc(var(--lh)*.89)}.lg-pod svg{height:calc(var(--lh)*.72)}
/* Agenclose: the cut around its arrow is drawn in the page's linen (logos/agenclose.svg), so it sits directly on the page */
.lg-agenclose{display:block;padding:4px}
.lg-agenclose img{height:calc(var(--lh)*1.05)}
.lg-lps svg{height:calc(var(--lh)*1.1)}
@media (max-width:860px){.logos-marquee{--lh:34px;--gap:44px}.logos-track{animation-duration:30s}}
/* Visitors who turn animations off: a still, wrapping row with no copy */
@media (prefers-reduced-motion:reduce){
  .logos-marquee{-webkit-mask-image:none;mask-image:none}
  .logos-track{width:auto;animation:none}
  .logos{flex-wrap:wrap;padding-right:0;row-gap:var(--s4)}
  .logos[aria-hidden="true"]{display:none}
}

/* ---------- Personas ---------- */
.groups{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4);margin-top:var(--s5)}
.group{display:grid;gap:6px;padding-top:var(--s3);border-top:4px solid var(--ink)}
.group:first-child{border-color:var(--amethyste-fonce)}
.group p{margin:0;color:var(--ink-muted);max-width:52ch}
.people{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3);margin-top:var(--s5)}
.person{border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s4) 20px;display:grid;gap:14px;align-content:start;background:var(--surface);min-width:0}
.person .who{display:grid;gap:4px}
.person .nm{font:400 34px/1 var(--display);text-transform:uppercase;letter-spacing:.01em}
.person .meta{font:500 11px/16px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted)}
.person .role{font-weight:700;line-height:22px}
.person h4{margin:0;font:500 11px/16px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted)}
.person h4.v{color:var(--amethyste-fonce)}
.person p{margin:4px 0 0;font-size:14px;line-height:22px}
.person .after{padding-top:14px;border-top:1px solid var(--line)}
.note{margin-top:var(--s3);font-size:14px;line-height:22px;color:var(--ink-muted)}
@media (max-width:900px){.people{grid-template-columns:1fr}}
@media (max-width:620px){.groups{grid-template-columns:1fr}}

/* ---------- Method / pricing ---------- */
.method-head{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--s4);align-items:end}
.method-head .head-block{grid-column:1 / span 8}
.method-head .stickers{grid-column:10 / span 3;justify-self:end;display:grid;gap:18px;justify-items:end;padding-bottom:8px}
.ms{list-style:none;margin:var(--s6) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);counter-reset:s}
.ms li{position:relative;padding:var(--s4) var(--s4) 0 0;display:grid;gap:8px;align-content:start;min-width:0}
.ms li::after{content:"";position:absolute;top:0;left:0;right:0;border-top:4px solid var(--ink)}
.ms li:first-child::after{border-color:var(--amethyste-fonce)}
.ms li::before{counter-increment:s;content:counter(s,decimal-leading-zero);font:500 12px/16px var(--mono);letter-spacing:.14em;color:var(--ink-muted)}
.ms li.opt::after{border-top-style:dashed;border-top-width:2px;border-color:var(--ink-muted)}
.ms .pay{font-family:var(--display);font-size:clamp(32px,3.4vw,44px);line-height:1;text-transform:uppercase;letter-spacing:.01em}
.ms li:first-child .pay{color:var(--amethyste-fonce)}
.ms h3{margin:0;font-size:17px;line-height:24px;font-weight:700}
.ms p{margin:0;font-size:14px;line-height:22px;color:var(--ink-muted);max-width:30ch}
.founder{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--s4);margin-top:var(--s7);align-items:start}
.founder .eyebrow{grid-column:1 / span 3;padding-top:10px}
.founder figure{grid-column:4 / span 8;margin:0;display:grid;gap:var(--s3)}
.founder blockquote{margin:0;font-weight:700;font-size:clamp(22px,2.4vw,30px);line-height:1.25;letter-spacing:-.035em;text-wrap:pretty}
.founder figcaption{font:500 12px/16px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted)}
@media (max-width:900px){.method-head .head-block,.method-head .stickers{grid-column:1 / -1}.method-head .stickers{justify-self:start;justify-items:start;grid-auto-flow:column;padding-top:var(--s3)}.ms{grid-template-columns:1fr 1fr;row-gap:var(--s5)}.founder .eyebrow,.founder figure{grid-column:1 / -1}.founder{margin-top:var(--s6)}}
@media (max-width:520px){.ms{grid-template-columns:1fr}}

/* ---------- Questions ---------- */
.qa{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5) var(--s4);margin-top:var(--s6)}
.qa article{display:grid;gap:10px;align-content:start;padding-top:var(--s3);border-top:1px solid var(--ink);min-width:0}
.qa h3{margin:0;font-size:20px;line-height:27px;letter-spacing:-.02em;font-weight:700}
.qa p{margin:0;color:var(--ink-muted)}
@media (max-width:980px){.qa{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.qa{grid-template-columns:1fr}}

/* ---------- Final call ---------- */
.final .bigN{right:-4%;bottom:-30%;height:150%;width:auto}
.final-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--s5) var(--s4);align-items:start}
.final-copy{grid-column:1 / span 6;display:grid;gap:var(--s4)}
.final .subtitle i{color:var(--or)}
.final p{margin:0}
.final p.body-l{max-width:48ch}
.brief{grid-column:8 / span 5;display:grid;gap:18px;background:var(--amethyste-fonce);border:1px solid rgba(243,236,232,.35);border-radius:var(--r-lg);padding:var(--s4)}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fld{display:grid;gap:6px;min-width:0;border:0;margin:0;padding:0}
.fld>label,.fld>legend{font:500 12px/16px var(--mono);letter-spacing:.14em;text-transform:uppercase;padding:0;margin-bottom:6px}
.fld input,.fld textarea{font:400 16px/24px var(--sans);color:var(--ink);background:var(--surface);border:2px solid var(--surface);border-radius:var(--r-sm);padding:10px 12px;width:100%;min-width:0}
.fld textarea{resize:vertical;min-height:132px}
.fld input::placeholder,.fld textarea::placeholder{color:var(--ink-muted)}
.fld input:focus-visible,.fld textarea:focus-visible,.opt input:focus-visible+span{outline:2px solid var(--or);outline-offset:2px}
.fld [aria-invalid="true"],.opts[aria-invalid="true"] .opt>span{border-color:var(--or)}
.opts{display:grid;gap:8px}
.opt{position:relative;display:flex;cursor:pointer}
.opt input{position:absolute;opacity:0;width:1px;height:1px}
.opt>span{flex:1;display:flex;align-items:center;gap:12px;padding:10px 12px;border:2px solid rgba(243,236,232,.5);border-radius:var(--r-sm);font-weight:500;line-height:22px;transition:background-color 180ms ease-out,border-color 180ms ease-out}
.opt>span::before{content:"";flex:none;width:12px;height:12px;border:2px solid var(--on-af);border-radius:2px}
.opt:hover>span{border-color:var(--on-af)}
.opt input:checked+span{background:var(--surface);color:var(--ink);border-color:var(--surface)}
.opt input:checked+span::before{background:var(--amethyste-fonce);border-color:var(--amethyste-fonce)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.send{display:grid;gap:12px;justify-items:start}
.send .btn[disabled]{opacity:.6;cursor:progress}
.privacy{opacity:.9;max-width:46ch}
.status{margin:0;padding:12px 14px;border-radius:var(--r-sm);font-weight:700}
.status.ok{background:var(--or);color:var(--on-or)}
.status.err{background:var(--surface);color:var(--ink)}
@media (max-width:980px){.final-copy,.brief{grid-column:1 / -1}.final .bigN{height:60%;bottom:-8%;right:-24%}}
@media (max-width:560px){.f2{grid-template-columns:1fr}.brief{padding:var(--s3)}}

/* ---------- About (plain facts) ---------- */
.about{background:var(--surface-alt);border-top:1px solid var(--line);padding-block:var(--s6)}
.about-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--s5) var(--s4)}
.about-who{grid-column:1 / span 5;display:grid;gap:10px;align-content:start}
.about-who p{margin:0;font-size:15px;line-height:24px;color:var(--ink-muted);max-width:52ch}
.about-who p:first-of-type{color:var(--ink);font-weight:600}
.about-products{grid-column:7 / span 6;display:grid;gap:var(--s3);align-content:start}
.about-products dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:var(--s3) var(--s4)}
.about-products dl>div{display:grid;gap:4px;min-width:0}
.about-products dt a{font-weight:700;font-size:15px;color:var(--ink);text-decoration:none;border-bottom:2px solid var(--line)}
.about-products dt a:hover{border-color:var(--amethyste-fonce)}
.about-products dd{margin:0;font-size:13px;line-height:20px;color:var(--ink-muted)}
@media (max-width:900px){.about-who,.about-products{grid-column:1 / -1}}
@media (max-width:560px){.about-products dl{grid-template-columns:1fr}}

/* ---------- Footer ---------- */
.foot{border-top:4px solid var(--ink);padding-block:var(--s5) var(--s5)}
.foot-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--s4);align-items:end}
.lockup{grid-column:1 / span 5;font-size:clamp(64px,8vw,96px)}
.stack{display:inline-grid;justify-items:start}
.stack .wm{font-family:var(--display);text-transform:uppercase;letter-spacing:.01em;line-height:.9;white-space:nowrap}
.stack .tg{font-family:var(--sans);font-weight:500;font-size:.16em;line-height:1;margin-top:.06em;text-transform:uppercase;white-space:nowrap}
.stack .tg i{font-style:normal;color:var(--amethyste-fonce)}
.foot-mid{grid-column:6 / span 4;display:grid;gap:6px}
.foot-mid .gk{font-size:22px;line-height:30px;font-weight:500}
.foot-end{grid-column:10 / span 3;display:grid;gap:var(--s3);justify-items:end}
@media (max-width:860px){.lockup,.foot-mid,.foot-end{grid-column:1 / -1}.foot-end{justify-items:start}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}

/* ---------- Service pages (/saas, /saas-ai, /websites, /dashboards and their French versions) ---------- */
.nav a[aria-current="page"]{border-color:var(--amethyste-fonce)}
.svc-hero{padding-block:var(--s6)}
.svc-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--s4);align-items:end}
.svc-title{grid-column:1 / span 7;display:grid;gap:var(--s4)}
.svc-title .display-xl{font-size:clamp(52px,8vw,104px)}
.svc-side{grid-column:8 / span 5;display:grid;gap:var(--s4)}
@media (max-width:900px){.svc-title,.svc-side{grid-column:1 / -1}}
.incl{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5) var(--s4);margin-top:var(--s5)}
.incl>div{display:grid;gap:6px;align-content:start;padding-top:var(--s3);border-top:4px solid var(--ink);min-width:0}
.incl>div:first-child{border-color:var(--amethyste-fonce)}
.incl h3{margin:0;font-size:18px;line-height:26px;letter-spacing:-.02em}
.incl p{margin:0;color:var(--ink-muted)}
.for-you{margin-top:var(--s6);display:grid;gap:var(--s3);max-width:760px}
.for-you ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.for-you li{display:grid;grid-template-columns:10px 1fr;gap:12px;align-items:baseline;font-size:17px;line-height:27px}
.for-you li::before{content:"";width:9px;height:9px;background:var(--amethyste-fonce);border-radius:1px;transform:translateY(-1px)}
@media (max-width:860px){.incl{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.incl{grid-template-columns:1fr}}
.pkgs{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--s4);margin-top:var(--s5);align-items:start}
.pkg{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);padding:var(--s4);display:grid;gap:14px;align-content:start;min-width:0}
.pkg.main{border:2px solid var(--amethyste-fonce)}
.pkg-name{margin:0;font:400 28px/1 var(--display);text-transform:uppercase;letter-spacing:.01em}
.pkg-price{margin:0;display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}
.pkg-price .pnum{font:400 52px/1 var(--display);letter-spacing:.01em}
.pkg-price .pfrom,.pkg-price .pvat{font:500 12px/16px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted)}
.pkg-founders{margin:0;font-weight:700;color:var(--amethyste-fonce)}
.pkg-time{margin:0;font-size:15px}
.pkg-time span{font:500 11px/16px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);margin-right:6px}
.pkg ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;border-top:1px solid var(--line);padding-top:14px}
.pkg li{display:grid;grid-template-columns:8px 1fr;gap:10px;align-items:baseline}
.pkg li::before{content:"";width:7px;height:7px;background:var(--amethyste-fonce);border-radius:1px}
.pkg .btn{justify-self:start;margin-top:4px}
.founders-note{display:flex;align-items:center;gap:var(--s4);margin-top:var(--s5);padding:var(--s4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-alt)}
.founders-note p{margin:0;max-width:70ch}
.cross{margin:var(--s5) 0 0;font-size:17px}
.cross a{font-weight:700;text-decoration-thickness:2px;text-underline-offset:5px}
.own{margin:var(--s4) 0 0;max-width:80ch}
.plans-grid{display:grid;grid-template-columns:7fr 5fr;gap:var(--s6) var(--s5);align-items:start}
.plans-grid>div{display:grid;gap:var(--s3);min-width:0}
.plans{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}
.plan{border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s4) 20px;display:grid;gap:8px;align-content:start;background:var(--surface)}
.plan h3{margin:0;font-size:18px;letter-spacing:-.02em}
.plan-price{margin:0}
.plan-price .pnum{font:400 34px/1 var(--display)}
.plan-price small{font:500 11px/16px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted)}
.plan p:last-child{margin:0;font-size:14px;line-height:22px;color:var(--ink-muted)}
.opt-table{width:100%;border-collapse:collapse;border-top:4px solid var(--ink)}
.opt-table td{padding:12px 0;border-bottom:1px solid var(--line);vertical-align:baseline}
.opt-table td.r{text-align:right;font:400 20px/1 var(--display);white-space:nowrap;padding-left:var(--s3)}
@media (max-width:900px){.plans-grid{grid-template-columns:1fr}}
@media (max-width:560px){.plans{grid-template-columns:1fr}.founders-note{flex-direction:column;align-items:flex-start}}
.qa2{grid-template-columns:repeat(2,1fr)}
@media (max-width:620px){.qa2{grid-template-columns:1fr}}
.related{margin-top:var(--s6);display:grid;gap:var(--s3)}
.related-links{display:flex;flex-wrap:wrap;gap:10px}
.related-links a{font-weight:700;color:var(--ink);text-decoration:none;padding:8px 14px;border:1px solid var(--ink);border-radius:var(--r-md);transition:background-color 200ms ease-out,color 200ms ease-out}
.related-links a:hover{background:var(--ink);color:var(--surface)}
.foot-mid a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.foot-mid a:hover{border-color:var(--amethyste-fonce)}

/* ---------- Homepage: links to the service pages ---------- */
.svc-cards{margin-top:var(--s6);display:grid;gap:var(--s3)}
.svc-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s3)}
.svc-card{display:grid;gap:6px;align-content:start;padding:var(--s4) 20px;border:1px solid var(--line);border-top:4px solid var(--ink);border-radius:var(--r-md);background:var(--surface);color:var(--ink);text-decoration:none;transition:border-color 200ms ease-out,transform 220ms var(--ease)}
.svc-card:hover{border-color:var(--amethyste-fonce);transform:translateY(-3px)}
.svc-k{font:400 26px/1 var(--display);text-transform:uppercase;letter-spacing:.01em}
.svc-d{color:var(--ink-muted);font-size:15px;line-height:22px}
.svc-p{font-weight:700;color:var(--amethyste-fonce);margin-top:4px}
@media (max-width:900px){.svc-row{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.svc-row{grid-template-columns:1fr}}
.teaser{margin:0;font-size:15px}
.teaser a{font-weight:700;text-decoration-thickness:2px;text-underline-offset:5px}

/* ---------- Service pages: problems, comparison, who, next steps, mobile call to action ---------- */
.pains-head{display:grid;gap:var(--s3);max-width:900px}
.pains-quote{margin:0;font-weight:700;font-size:clamp(24px,3vw,38px);line-height:1.2;letter-spacing:-.035em;text-wrap:pretty}
.pains{list-style:none;margin:var(--s6) 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}
.pains li{display:grid;gap:12px;align-content:start;padding:var(--s4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);min-width:0}
.pains .pain{margin:0;font-size:18px;line-height:27px;font-weight:700;letter-spacing:-.015em}
.pains .fix{margin:0;padding-top:12px;border-top:1px solid var(--line);color:var(--ink-muted);display:grid;gap:4px}
.pains .fix span{font:500 11px/16px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--amethyste-fonce)}
@media (max-width:760px){.pains{grid-template-columns:1fr}}
.cmp-wrap{margin-top:var(--s5)}
.cmp{width:100%;border-collapse:collapse;table-layout:fixed}
.cmp th,.cmp td{text-align:left;vertical-align:top;padding:14px 16px 14px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:22px}
.cmp thead th{font:500 11px/16px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);border-bottom:4px solid var(--ink);vertical-align:bottom}
.cmp thead td{border-bottom:4px solid var(--ink)}
.cmp tbody th{font-weight:700;width:28%}
.cmp td{color:var(--ink-muted)}
.cmp .us{color:var(--amethyste-fonce);font-weight:700;padding-left:16px;background:rgba(91,58,130,.06)}
.cmp thead th.us{color:var(--amethyste-fonce);border-bottom-color:var(--amethyste-fonce)}
@media (max-width:760px){
  .cmp,.cmp tbody,.cmp tr,.cmp th,.cmp td{display:block;width:auto}
  .cmp thead{display:none}
  .cmp tr{padding:var(--s3) 0;border-bottom:1px solid var(--line)}
  .cmp tr:first-child{border-top:4px solid var(--ink)}
  .cmp th,.cmp td{border:0;padding:3px 0}
  .cmp tbody th{width:auto;font-size:17px;margin-bottom:6px}
  .cmp td::before{content:attr(data-label) " · ";font:500 11px/16px var(--mono);letter-spacing:.1em;text-transform:uppercase}
  .cmp .us{padding:8px 10px;margin-top:6px;border-radius:var(--r-sm)}
}
.who{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--s4);align-items:start}
.who>.eyebrow{grid-column:1 / span 3;padding-top:10px}
.who-body{grid-column:4 / span 8;display:grid;gap:var(--s3)}
.who blockquote{margin:0;font-weight:700;font-size:clamp(24px,2.6vw,34px);line-height:1.2;letter-spacing:-.035em;text-wrap:pretty}
.who .body-l{margin:0;max-width:62ch}
.who-name{margin:0;font:500 12px/16px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted)}
@media (max-width:900px){.who>.eyebrow,.who-body{grid-column:1 / -1}}
.next-t{margin-top:var(--s4);color:inherit;opacity:.8}
.next{list-style:none;margin:0;padding:0;display:grid;gap:14px;counter-reset:n}
.next li{display:grid;grid-template-columns:32px 1fr;column-gap:10px;align-items:baseline}
.next li::before{counter-increment:n;content:counter(n,decimal-leading-zero);font:500 12px/16px var(--mono);letter-spacing:.12em;grid-row:span 2;opacity:.8}
.next h3{margin:0;font-size:16px;line-height:24px}
.next p{margin:0;font-size:14px;line-height:21px;opacity:.85}
.mcta{display:none}
@media (max-width:760px){
  .mcta{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:40;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 16px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-raised);transform:translateY(140%);transition:transform 260ms var(--ease)}
  .mcta.show{transform:none}
  .mcta-p{font:400 22px/1 var(--display);letter-spacing:.01em;white-space:nowrap}
  .mcta-p small{font:500 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted)}
  .mcta .btn{white-space:nowrap}
}
@media (prefers-reduced-motion:reduce){.mcta{transition:none}}

/* ---------- Contact form (HubOpus): field errors, news checkbox, robot check ---------- */
.ferr{margin:2px 0 0;padding-left:10px;border-left:3px solid var(--or);color:var(--on-af);font-weight:700;font-size:14px;line-height:20px}
.chk{display:flex!important;align-items:flex-start;gap:12px;cursor:pointer;font:500 15px/22px var(--sans)!important;letter-spacing:0!important;text-transform:none!important;margin:0!important}
.chk input{flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:var(--surface);cursor:pointer}
.chk input:focus-visible{outline:2px solid var(--or);outline-offset:2px}
.brief altcha-widget{display:block;--altcha-max-width:100%;--altcha-border-width:2px;--altcha-border-radius:4px;
  --altcha-color-base:transparent;--altcha-color-text:#F3ECE8;--altcha-color-border:rgba(243,236,232,.5);
  --altcha-color-border-focus:#F5C810;--altcha-color-active:#F3ECE8;--altcha-color-error-text:#F5C810;--altcha-color-footer-bg:transparent}
.status b{margin-right:4px}
.status .status-link{color:inherit;font-weight:700}
