/* Mots complices landing page. Built from docs/design/landing (Main.dc.html, FR.dc.html). */

@font-face{font-family:'Fraunces';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/fraunces-normal-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:400 700;font-display:swap;src:url(../fonts/fraunces-italic-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/dmsans-normal-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'DM Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(../fonts/dmsans-italic-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* tokens: same values as the app (docs/design/tokens.md, V2) */
:root{--paper:#F5EFE4;--card:#FFFCF6;--sunk:#EDE5D6;--ink:#1D1B18;--ink2:#3A352E;--muted:#625B51;--line:#E4DBCB;--line2:#C9C0AE;
--blue:#23346E;--blue-soft:#E3E7F4;--on-blue:#FFFFFF;--hero:#23346E;--hero-ink:#C9D1EC;
--green:#2E6A4A;--green-soft:#DDEBE2;--green-ink:#1F4B34;--on-green:#FFFFFF;
--brick:#A8402A;--brick-soft:#F6E1D8;--brick-ink:#8F3620;--on-brick:#FFFFFF;
--ochre:#7D5200;--ochre-fill:#E9B44C;--ochre-soft:#F6E7C4;--ochre-line:#E2C47E;--on-ochre:#1D1B18;
--night:#1B2856;--gold:#F3D9A4;--bezel:#1D1B18;
--lift:0 1px 2px rgba(60,45,20,.06),0 10px 30px rgba(60,45,20,.10);--soft:0 1px 2px rgba(60,45,20,.05),0 6px 20px rgba(60,45,20,.07);--hl:#F9DE9C;--hl-ok:#BFE3CB;color-scheme:light}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--paper:#14130F;--card:#1F1C17;--sunk:#2A2620;--ink:#EEE7DA;--ink2:#DCD3C3;--muted:#A9A091;--line:#332F28;--line2:#4D473D;
--blue:#9DB0F0;--blue-soft:#232B45;--on-blue:#10152B;--hero:#22336F;--hero-ink:#C9D1EC;
--green:#7FCBA2;--green-soft:#183025;--green-ink:#A8DFC0;--on-green:#0E1F16;
--brick:#E8896B;--brick-soft:#3B241B;--brick-ink:#F2AE95;--on-brick:#1E0E08;
--ochre:#E3B04B;--ochre-fill:#E3B04B;--ochre-soft:#33290F;--ochre-line:#5A4519;--on-ochre:#1D1B18;
--night:#22336F;--gold:#F3D9A4;--bezel:#0A0907;
--lift:0 10px 30px rgba(0,0,0,.45);--soft:0 1px 0 rgba(255,255,255,.03),0 8px 24px rgba(0,0,0,.35);--hl:#3A3016;--hl-ok:#1E3A2A;color-scheme:dark}}
:root[data-theme="dark"]{--paper:#14130F;--card:#1F1C17;--sunk:#2A2620;--ink:#EEE7DA;--ink2:#DCD3C3;--muted:#A9A091;--line:#332F28;--line2:#4D473D;
--blue:#9DB0F0;--blue-soft:#232B45;--on-blue:#10152B;--hero:#22336F;--hero-ink:#C9D1EC;
--green:#7FCBA2;--green-soft:#183025;--green-ink:#A8DFC0;--on-green:#0E1F16;
--brick:#E8896B;--brick-soft:#3B241B;--brick-ink:#F2AE95;--on-brick:#1E0E08;
--ochre:#E3B04B;--ochre-fill:#E3B04B;--ochre-soft:#33290F;--ochre-line:#5A4519;--on-ochre:#1D1B18;
--night:#22336F;--gold:#F3D9A4;--bezel:#0A0907;
--lift:0 10px 30px rgba(0,0,0,.45);--soft:0 1px 0 rgba(255,255,255,.03),0 8px 24px rgba(0,0,0,.35);--hl:#3A3016;--hl-ok:#1E3A2A;color-scheme:dark}

html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0}
[hidden]{display:none!important}
a{color:var(--blue)}

.l-root{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:600px;overflow-x:hidden}
.l-root *{box-sizing:border-box}
.l-root p,.l-root h1,.l-root h2,.l-root h3{margin:0}
.l-wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 20px}
.fr{font-family:'Fraunces',Georgia,'Times New Roman',serif;font-optical-sizing:auto}
.eb{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:inline-flex;align-items:center;gap:6px;line-height:1.3}
.mut{color:var(--muted)}
.i{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.i.s{width:18px;height:18px}.i.xs{width:15px;height:15px}
.l-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* app components, same values as the app */
.btn{display:flex;align-items:center;justify-content:center;gap:8px;height:52px;padding:0 20px;border-radius:14px;background:var(--blue);color:var(--on-blue);font-family:'DM Sans',system-ui,sans-serif;font-weight:600;font-size:16px;line-height:1;text-decoration:none;border:0;cursor:pointer;white-space:nowrap}
.l-root a.btn{color:var(--on-blue)}
.btn.ok,.l-root a.btn.ok{background:var(--green);color:var(--on-green)}
.btn.white,.l-root a.btn.white{background:#FFFFFF;color:#23346E}
.btn.sm{height:44px;font-size:14px;border-radius:12px;padding:0 14px}
.lnk{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;white-space:nowrap;padding:0 8px;font-family:'DM Sans',system-ui,sans-serif;font-weight:600;font-size:15px;color:var(--blue);background:none;border:0;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px;cursor:pointer}
.l-root a.lnk{color:var(--blue)}
.lnk.okc,.l-root a.lnk.okc{color:var(--green-ink)}
.ib{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;background:transparent;border:0;color:var(--ink);cursor:pointer;text-decoration:none;padding:0;flex-shrink:0}
.ib.fl{background:var(--card);border-radius:50%;box-shadow:var(--soft);border:1px solid var(--line)}
.card{background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:var(--soft)}
.tag{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 8px;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.05em;line-height:1;white-space:nowrap;color:var(--ink2);box-shadow:inset 0 0 0 1px var(--line2)}
.tag.act{background:var(--ochre-soft);color:var(--ochre);box-shadow:none}
.chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:999px;background:var(--sunk);color:var(--ink2);font-size:13px;font-weight:600;white-space:nowrap}
.chip.ok{background:var(--green-soft);color:var(--green-ink)}
.chip.ochre{background:var(--ochre-soft);color:var(--ochre)}
.chip.blue{background:var(--blue-soft);color:var(--blue)}
.lv{display:inline-flex;align-items:center;height:22px;padding:0 7px;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.05em;line-height:1;white-space:nowrap;background:var(--sunk);color:var(--ink2)}
.col{font-style:italic;font-weight:600;color:var(--blue);padding:0 .08em;background:linear-gradient(transparent 56%,var(--hl) 56%,var(--hl) 94%,transparent 94%)}
.dot{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;flex-shrink:0}
.dot.ok{background:var(--green);color:var(--on-green)}.dot.ko{background:var(--brick);color:var(--on-brick)}
.cc{display:inline-block;flex-shrink:0;font-family:'Fraunces',Georgia,serif;font-style:italic;font-size:19px;line-height:44px;height:46px;padding:0 16px;border-radius:16px;white-space:nowrap;background:var(--card);color:var(--ink);border:1px solid var(--line);box-shadow:var(--soft)}
.cc b{font-weight:600;color:var(--blue)}
.cc.o{background:var(--ochre-soft);border-color:var(--ochre-line)}.cc.o b{color:var(--ochre)}

@keyframes up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes pop{0%{opacity:0;transform:scale(.6)}65%{opacity:1;transform:scale(1.08)}100%{transform:scale(1)}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes sway{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
@keyframes blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(.12)}}
@keyframes shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes strike{from{background-size:0 2px}to{background-size:100% 2px}}
.bob{animation:bob 4.2s ease-in-out infinite}
.bob2{animation:bob 5s 1.2s ease-in-out infinite}
.sway{animation:sway 5s ease-in-out infinite;transform-origin:50% 90%}
.eye{transform-box:fill-box;transform-origin:center;animation:blink 5s infinite}
.an>*{animation:up .55s cubic-bezier(.2,.8,.2,1) both}
.an>*:nth-child(2){animation-delay:.06s}.an>*:nth-child(3){animation-delay:.12s}.an>*:nth-child(4){animation-delay:.18s}.an>*:nth-child(5){animation-delay:.24s}.an>*:nth-child(n+6){animation-delay:.3s}
.btn{transition:transform .15s ease,background .2s ease}
.btn:hover{transform:translateY(-1px)}.btn:active,.ib:active{transform:scale(.96)}

/* nav */
.l-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:72px}
.l-brand{display:inline-flex;align-items:center;gap:10px;min-height:44px;text-decoration:none;font-family:'Fraunces',Georgia,serif;font-size:21px;font-weight:500;letter-spacing:-.01em}
.l-root a.l-brand{color:var(--ink)}
.l-logo{display:block;width:36px;height:36px;border-radius:10px;overflow:hidden;flex-shrink:0;box-shadow:0 1px 2px rgba(0,0,0,.14),0 4px 10px rgba(20,20,40,.18)}
.l-logo svg{display:block;width:100%;height:100%}
.l-navr{display:flex;align-items:center;gap:8px}
.l-navcta{display:none}

/* hero */
.l-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:40px;padding:12px 0 56px}
.l-htext{display:flex;flex-direction:column;gap:18px;min-width:0}
.l-h1{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:46px;line-height:1.02;letter-spacing:-.025em;text-wrap:balance}
.l-h1 em{font-style:italic;font-weight:500;color:var(--brick-ink);text-decoration:underline wavy var(--brick);text-decoration-thickness:2px;text-underline-offset:9px;text-decoration-skip-ink:none}
.l-lead{font-size:18px;line-height:1.5;color:var(--ink2);max-width:33em;text-wrap:pretty}
.l-hvis{position:relative;display:flex;justify-content:center;padding:28px 0 8px}
.l-hst{position:absolute;left:calc(50% - 178px);top:0;z-index:2}
.l-hcc{display:none}

/* form + states */
.l-form{display:flex;flex-direction:column;gap:10px;max-width:520px;width:100%}
.l-label{font-size:13px;font-weight:700;color:var(--ink2)}
.l-input{display:block;width:100%;height:56px;border-radius:14px;border:1.5px solid var(--line2);background:var(--card);padding:0 16px;font-family:'DM Sans',system-ui,sans-serif;font-size:17px;color:var(--ink);outline:none;transition:border-color .15s ease,box-shadow .15s ease;-webkit-appearance:none;appearance:none}
.l-input::placeholder{color:var(--muted);opacity:1}
.l-input:focus,.l-input.is-focus{border-color:var(--blue);box-shadow:0 0 0 4px var(--blue-soft)}
.l-input.is-invalid{border-color:var(--brick);box-shadow:0 0 0 4px var(--brick-soft);animation:shake .4s ease both}
.l-input[readonly]{background:var(--sunk);color:var(--ink2)}
.l-cta{height:auto;min-height:56px;width:100%;white-space:normal;text-align:center;line-height:1.25;padding:14px 20px;font-size:16px}
.l-cta[disabled]{cursor:progress;transform:none}
.l-cta .l-plus{color:#F9DE9C}
[data-theme="dark"] .l-cta .l-plus{color:#23346E}
.l-spin{width:18px;height:18px;animation:spin .8s linear infinite}
.l-err{display:flex;gap:8px;align-items:flex-start;color:var(--brick-ink);font-size:14px;font-weight:600;line-height:1.4}
.l-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px;font-weight:600;color:var(--muted)}
.l-meta i{display:block;width:4px;height:4px;border-radius:2px;background:var(--line2)}
.l-ok{background:var(--green-soft);border-radius:22px;padding:20px;display:flex;flex-direction:column;gap:12px;max-width:520px;width:100%;animation:up .5s cubic-bezier(.2,.8,.2,1) both;position:relative}
.l-ok-top{display:flex;align-items:center;gap:12px;padding-right:76px}
.l-ok-t{font-family:'Fraunces',Georgia,serif;font-size:26px;line-height:1.15;font-weight:500;color:var(--ink);text-wrap:balance}
.l-ok-t b{font-weight:600;color:var(--green-ink);font-variant-numeric:lining-nums tabular-nums}
.l-ok-p{font-size:16px;color:var(--ink2)}
.l-ok .l-st{position:absolute;right:14px;top:-18px}
.l-share{background:var(--card);border-radius:16px;padding:12px 14px;display:flex;flex-direction:column;gap:2px;border:1px solid var(--line)}
.l-share s{font-family:'Fraunces',Georgia,serif;font-style:italic;font-size:16px;color:var(--brick-ink);text-decoration-thickness:1.5px}
.l-share .l-sg{font-family:'Fraunces',Georgia,serif;font-size:21px;line-height:1.3}
.l-okrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

/* phone mockup */
.l-phone{--s:.74;position:relative;padding:9px;border-radius:calc(44px * var(--s) + 9px);background:var(--bezel);box-shadow:0 2px 4px rgba(30,20,10,.12),0 30px 60px -20px rgba(30,20,10,.35);flex-shrink:0}
[data-theme="dark"] .l-phone{box-shadow:0 0 0 1px var(--line2),0 30px 60px -20px rgba(0,0,0,.7)}
.l-phone.sm{--s:.66}
.l-screen{position:relative;width:calc(390px * var(--s));height:calc(844px * var(--s));border-radius:calc(44px * var(--s));overflow:hidden;background:var(--paper)}
.l-sb{position:absolute;left:0;top:0;width:390px;height:54px;transform:scale(var(--s));transform-origin:0 0;z-index:2;pointer-events:none;display:flex;align-items:center;justify-content:space-between;padding:4px 30px 0 46px;box-sizing:border-box;color:var(--ink);font-family:'DM Sans',system-ui,-apple-system,sans-serif}
.l-sb b{font-size:17px;font-weight:600;letter-spacing:-.2px;font-variant-numeric:tabular-nums}
.l-sb .isl{position:absolute;left:50%;top:11px;width:124px;height:36px;margin-left:-62px;border-radius:20px;background:#000}
.l-sb .ic{display:flex;align-items:center;gap:6px}
.l-sb svg{display:block;fill:currentColor}
.l-scale{position:absolute;left:0;top:0;width:390px;height:844px;transform:scale(var(--s));transform-origin:0 0;pointer-events:none}

/* sections */
.l-sec{padding:64px 0}
.l-shead{display:flex;flex-direction:column;gap:12px;max-width:640px}
.l-h2{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:34px;line-height:1.08;letter-spacing:-.02em;text-wrap:balance}
.l-p{font-size:17px;line-height:1.55;color:var(--ink2);text-wrap:pretty}

/* demo */
.l-demo-g{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:center}
.l-demo{display:flex;flex-direction:column;gap:14px;width:100%;max-width:520px}
.l-dcard{display:none;width:100%;text-align:left;font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-bottom-width:4px;border-radius:24px;box-shadow:var(--lift);padding:18px;cursor:pointer;flex-direction:column;gap:14px;touch-action:pan-y;-webkit-tap-highlight-color:transparent}
.l-dcard.on{display:flex;animation:up .45s cubic-bezier(.2,.8,.2,1) both}
.l-dcard:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.l-d-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.l-d-n{font-size:13px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}
.l-d-bad{display:flex;align-items:center;gap:12px;padding:14px;border-radius:16px;background:var(--brick-soft)}
.l-d-lab{display:block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.l-d-bad .l-d-lab{color:var(--brick-ink)}
.l-d-w{display:inline;font-family:'Fraunces',Georgia,serif;font-style:italic;font-size:22px;line-height:1.25;color:var(--ink2);text-decoration:none;background:linear-gradient(var(--brick),var(--brick)) no-repeat 0 58%;background-size:100% 2px;animation:strike .5s .25s cubic-bezier(.2,.8,.2,1) both}
.l-d-good{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:16px;background:var(--green-soft);position:relative}
.l-d-head{display:flex;align-items:center;gap:10px}
.l-d-head .dot{animation:pop .45s .35s cubic-bezier(.2,.9,.3,1.3) both}
.l-d-ex{font-size:20px;font-weight:700;color:var(--green-ink);line-height:1.2}
.l-d-b{display:block;font-family:'Fraunces',Georgia,serif;font-size:30px;line-height:1.15;letter-spacing:-.01em;color:var(--ink);animation:up .45s .3s cubic-bezier(.2,.8,.2,1) both}
.l-d-good .l-st{position:absolute;right:10px;top:-22px;animation:pop .5s .45s cubic-bezier(.2,.9,.3,1.3) both}
.l-d-hint{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--muted)}
.l-ctl{display:flex;align-items:center;justify-content:space-between;gap:8px}
.l-dots{display:flex;align-items:center}
.l-dot{display:inline-flex;align-items:center;justify-content:center;width:32px;height:44px;border:0;background:none;padding:0;cursor:pointer}
.l-dot i{display:block;width:8px;height:8px;border-radius:4px;background:var(--line2);transition:width .25s ease,background .25s ease}
.l-dot.on i{width:22px;background:var(--blue)}

/* benefits */
.l-bens{display:flex;flex-direction:column}
.l-ben{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:center;padding:40px 0}
.l-ben+.l-ben{border-top:1px solid var(--line)}
.l-btext{display:flex;flex-direction:column;gap:14px;min-width:0;position:relative}
.l-bhead{display:flex;align-items:center;gap:12px}
.l-h3{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:28px;line-height:1.12;letter-spacing:-.015em;text-wrap:balance}
.l-stage{display:flex;justify-content:center;align-items:center;border-radius:32px;padding:28px 16px;width:100%}
.l-stage.b{background:var(--blue-soft)}.l-stage.g{background:var(--green-soft)}.l-stage.o{background:var(--ochre-soft)}
.l-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}

/* TCF strip */
.l-tcf{background:var(--hero);color:#FFFFFF;border-radius:28px;padding:32px 22px;display:grid;grid-template-columns:minmax(0,1fr);gap:22px;align-items:center;position:relative;overflow:hidden}
.l-tcf .eb{color:#C9D1EC}
.l-tcf .l-h2{color:#FFFFFF;font-size:32px}
.l-tcf .l-h2 i{font-weight:500}
.l-x{font-style:italic;color:#F2AE95;text-decoration:line-through;text-decoration-color:#F2AE95;text-decoration-thickness:3px}
.l-tcf-r{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.l-tcf-p{color:#C9D1EC;font-size:16px;line-height:1.5;max-width:30em}

/* join */
.l-join{background:var(--card);border:1px solid var(--line);border-radius:28px;box-shadow:var(--lift);padding:28px 20px;display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:start;position:relative}
.l-jtext{display:flex;flex-direction:column;gap:14px;min-width:0}
.l-ph{display:inline-flex;align-items:center;padding:2px 8px;border-radius:8px;border:1.5px dashed var(--ochre-line);background:var(--ochre-soft);color:var(--ochre);font-family:ui-monospace,'SFMono-Regular',Menlo,monospace;font-size:.82em;font-weight:600;letter-spacing:0;white-space:nowrap;line-height:1.5}
.l-offer{background:var(--night);color:#F5EFE4;border-radius:20px;padding:18px 18px 16px;display:flex;flex-direction:column;gap:8px}
.l-offer-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.l-offer .eb{color:#C9D1EC}
.l-save{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:999px;background:#F3D9A4;color:#1B2856;font-size:13px;font-weight:700}
.l-offer-p{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.l-big{font-family:'Fraunces',Georgia,serif;font-size:46px;line-height:1;font-weight:500;color:#F3D9A4;font-variant-numeric:lining-nums tabular-nums}
.l-offer-p span:last-child{font-size:16px;font-weight:600}
.l-offer-n{font-size:14px;color:#C9D1EC;line-height:1.45}
.l-offer-n s{text-decoration-thickness:1.5px}
.l-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:16px;overflow:hidden}
.l-plan{display:flex;flex-direction:column;gap:2px;padding:10px 12px}
.l-plan+.l-plan{border-left:1px solid var(--line)}
.l-plan b{font-family:'Fraunces',Georgia,serif;font-size:20px;font-weight:500;font-variant-numeric:lining-nums tabular-nums}
.l-plan span{font-size:12px;font-weight:600;color:var(--muted)}
.l-fine{font-size:13px;color:var(--muted);line-height:1.45}

/* faq */
.l-faq-g{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
.l-faq{border-bottom:1px solid var(--line)}
.l-faq details{border-top:1px solid var(--line)}
.l-faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:68px;padding:12px 0;cursor:pointer;font-family:'Fraunces',Georgia,serif;font-size:20px;line-height:1.25;font-weight:500}
.l-faq summary::-webkit-details-marker{display:none}
.l-faq summary:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:6px}
.l-faq summary .i{transition:transform .25s ease;color:var(--muted)}
.l-faq details[open] summary .i{transform:rotate(180deg)}
.l-faq .l-ans{padding:0 36px 22px 0;color:var(--ink2);font-size:16px;line-height:1.55}

/* footer */
.l-foot{border-top:1px solid var(--line);padding:32px 0 40px;display:flex;flex-direction:column;gap:16px}
.l-foot-r{display:flex;flex-direction:column;gap:6px}
.l-legal{border-top:1px solid var(--line);padding:20px 0 40px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;font-size:14px}
.l-legal nav{display:flex;flex-wrap:wrap;gap:10px}
.l-legal a.l-ph{text-decoration:none;font-family:inherit;font-size:13px}
.l-foot{padding-bottom:32px}

@media (min-width:720px){
.l-wrap{padding:0 40px}
.l-navcta{display:flex}
.l-h1{font-size:68px}
.l-phone{--s:.82}.l-phone.sm{--s:.74}
.l-hst{left:calc(50% - 196px)}
.l-sec{padding:96px 0}
.l-h2{font-size:46px}
.l-h3{font-size:34px}
.l-tcf{padding:48px 48px}
.l-tcf .l-h2{font-size:44px}
.l-join{padding:44px}
.l-foot{flex-direction:row;justify-content:space-between;align-items:flex-start}
.l-foot-r{align-items:flex-end;text-align:right}
}
@media (min-width:980px){
.l-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:40px;padding:40px 0 96px}
.l-h1{font-size:84px}
.l-hvis{padding:28px 0}
.l-hcc{display:block;position:absolute;z-index:2}
.l-hcc.a{left:-6px;top:40%;transform:rotate(-4deg)}
.l-hcc.b{right:-10px;bottom:16%;transform:rotate(3deg)}
.l-demo-g{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px}
.l-ben{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;padding:56px 0}
.l-ben.rev .l-bvis{order:-1}
.l-tcf{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:48px;padding:56px 64px}
.l-join{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;padding:56px}
.l-faq-g{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:72px}
}
@media (prefers-reduced-motion:reduce){.l-root *{animation:none!important;transition:none!important}}
/* French page: intensity ladder, audiences */
.l-ideas{display:flex;flex-wrap:wrap;gap:8px}
.l-idea{display:inline-flex;align-items:center;height:44px;padding:0 16px;border-radius:999px;border:1.5px solid var(--line2);background:var(--card);color:var(--ink2);font-family:'DM Sans',system-ui,sans-serif;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease}
.l-idea.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.l-idea:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.l-lcard{display:none;width:100%;text-align:left;font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-bottom-width:4px;border-radius:24px;box-shadow:var(--lift);padding:18px;cursor:pointer;flex-direction:column;gap:14px;touch-action:pan-y;-webkit-tap-highlight-color:transparent}
.l-lcard.on{display:flex}
.l-lcard:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.l-ltitle{display:block;font-family:'Fraunces',Georgia,serif;font-size:26px;line-height:1.15;font-weight:500}
.l-steps{display:flex;flex-direction:column;gap:8px}
.l-step{display:flex;align-items:center;gap:14px;min-height:58px;padding:10px 14px;border-radius:14px;background:var(--paper);animation:up .45s cubic-bezier(.2,.8,.2,1) both}
.l-step:nth-child(2){animation-delay:.07s}.l-step:nth-child(3){animation-delay:.14s}.l-step:nth-child(4){animation-delay:.21s}
.l-step.top{background:var(--blue-soft)}
.l-seg{display:flex;gap:3px;flex-shrink:0}
.l-seg i{display:block;width:8px;height:20px;border-radius:3px;background:var(--line2)}
.l-seg i.on{background:var(--blue)}
.l-sp{flex:1;min-width:0;font-family:'Fraunces',Georgia,serif;font-size:22px;line-height:1.25}
.l-who{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:16px;margin-top:32px}
.l-whoc{background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:var(--soft);padding:22px;display:flex;flex-direction:column;gap:10px}
.l-whoc .l-h3{font-size:24px}
.l-ex{font-family:'Fraunces',Georgia,serif;font-style:italic;font-size:17px;color:var(--ink2)}
.l-ex b{font-weight:600;color:var(--blue)}
.l-lead i b{font-weight:600;color:var(--blue)}

/* static-site additions: app screens as images, skip link */
.l-shot{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
.l-shot.d,[data-theme="dark"] .l-shot.l{display:none}
[data-theme="dark"] .l-shot.d{display:block}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .l-shot.l{display:none}:root:not([data-theme="light"]) .l-shot.d{display:block}:root:not([data-theme="light"]) .l-cta .l-plus{color:#23346E}}
.l-skip{position:absolute;left:16px;top:-80px;z-index:10;padding:12px 16px;border-radius:12px;background:var(--blue);color:var(--on-blue);font-weight:600;text-decoration:none}
.l-skip:focus{top:12px}
.l-root a:focus-visible,.l-root button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.l-tsun{display:none}
[data-theme="dark"] .l-tsun{display:block}
[data-theme="dark"] .l-tmoon{display:none}
.l-busy{display:inline-flex;align-items:center;gap:8px}

/* legal pages (privacy/, terms/, fr/confidentialite/, fr/conditions/) and the footer links to them */
.l-legal nav a:not(.l-ph){display:inline-flex;align-items:center;min-height:32px;color:var(--ink2);font-size:13px;text-underline-offset:3px}
.l-legal nav a[aria-current]{color:var(--ink);font-weight:600;text-decoration:none}
.l-doc{max-width:760px;margin:0 auto;padding:24px 0 72px}
.l-doc-h1{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:42px;line-height:1.04;letter-spacing:-.022em;text-wrap:balance;margin:10px 0 12px!important}
.l-doc-sum{margin:32px 0 0;padding:22px;border-radius:22px;background:var(--card);border:1px solid var(--line);box-shadow:var(--soft)}
.l-doc-sum ul{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}
.l-doc-sum li{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.5;color:var(--ink2)}
.l-doc-sum li .dot{margin-top:1px}
.l-doc-sum .dot{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--green-soft);color:var(--green-ink);flex-shrink:0}
.l-doc-sum .dot .i{width:15px;height:15px;stroke-width:2.4}
.l-toc{margin:28px 0 0;padding:20px 0 0;border-top:1px solid var(--line)}
.l-toc ol{margin:10px 0 0;padding-left:22px;columns:2 240px;column-gap:32px;font-size:15px;line-height:1.5}
.l-toc li{padding:3px 0;break-inside:avoid;color:var(--muted)}
.l-toc a{text-underline-offset:3px}
.l-doc section{padding-top:40px;scroll-margin-top:12px}
/* unsubscribe pages (unsubscribe/, fr/desinscription/) */
.l-unsub{margin-top:24px;max-width:520px}
.l-unsub [data-unsub-ask]:not([hidden]){display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.l-unsub .l-ok{animation:none}
.l-doc h2{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:27px;line-height:1.15;letter-spacing:-.015em;text-wrap:balance;margin:0 0 12px}
.l-doc h3{font-size:17px;font-weight:700;line-height:1.35;color:var(--ink);margin:24px 0 6px}
.l-doc section p,.l-doc section li{font-size:16.5px;line-height:1.65;color:var(--ink2);text-wrap:pretty}
.l-doc section p+p,.l-doc section ul+p,.l-doc section p+ul{margin-top:12px}
.l-doc section ul{margin:0;padding-left:22px}
.l-doc section li+li{margin-top:6px}
.l-doc b{font-weight:600;color:var(--ink)}
.l-doc a{text-underline-offset:3px}
.l-doc .l-ph{font-size:13px;padding:0 6px}
.l-tbl{margin:14px 0 0;overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:var(--card)}
.l-tbl table{border-collapse:collapse;width:100%;min-width:520px}
.l-tbl th,.l-tbl td{text-align:left;vertical-align:top;padding:12px 16px;border-bottom:1px solid var(--line);font-size:15px;line-height:1.5;color:var(--ink2)}
.l-tbl th{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:var(--sunk)}
.l-tbl tr:last-child td{border-bottom:0}
.l-tbl td:first-child{color:var(--ink);font-weight:600}
@media (min-width:720px){
.l-doc{padding:48px 0 104px}
.l-doc-h1{font-size:58px}
.l-doc h2{font-size:31px}
.l-doc-sum{padding:28px 30px}
}

/* scroll reveal: landing.js tags elements with .rv (and a --d stagger delay), then adds .in once they
   enter the viewport. Only under html.js-rv, so nothing is hidden without JS or with reduced motion. */
.js-rv .rv{opacity:0;transform:translate3d(var(--rx,0),var(--ry,26px),0) scale(var(--rs,1));transition:opacity .7s cubic-bezier(.2,.8,.2,1) var(--d,0s),transform .9s cubic-bezier(.2,.8,.2,1) var(--d,0s)}
.js-rv .rv.in{opacity:1;transform:none}
.rv.rv-s{--rs:.94;--ry:18px}
.rv.rv-l{--rx:-40px;--ry:0px}
.rv.rv-r{--rx:40px;--ry:0px}
/* parallax: landing.js sets --py on each phone stage while scrolling */
.l-hvis .l-phone,.l-bvis .l-phone{translate:0 var(--py,0px)}
