/*
 * landing.css
 * Tibalo
 *
 * Created by Kévin Naudin on 20/10/2026.
 *
 * Landing page (FR and EN). Tokens and motion from design/project/poche26.css (V2 "Poche").
 * Legal pages keep style.css.
 */

@font-face{font-family:Spectral;src:url(fonts/Spectral-Light.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:Spectral;src:url(fonts/Spectral-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Spectral;src:url(fonts/Spectral-Italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url(fonts/IBMPlexMono-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}

:root{
  color-scheme:light dark;
  --bg:#F8F3EA;--sf:#F0E8DA;--sf2:#E8DECB;--ink:#1C1915;--ink2:#6A604F;--rule:#E3D9C7;--acc:#B0341C;--sec:#2D4A63;
  --onink:#F8F3EA;--pencil:#3A362F;--scrim:rgba(28,25,21,.32);--desk:#EEE8DD;
  --ease:cubic-bezier(.2,.8,.2,1);
  --mono:"IBM Plex Mono",ui-monospace,monospace;--serif:Spectral,Georgia,serif;
}
@media (prefers-color-scheme:dark){
  :root{--bg:#12100D;--sf:#1C1814;--sf2:#26211A;--ink:#EFE7D8;--ink2:#A99D89;--rule:#2E281F;--acc:#EC8A62;--sec:#93B4D0;
    --onink:#12100D;--pencil:#DCD3C3;--scrim:rgba(0,0,0,.55);--desk:#0C0B09}
}

/* Lenis */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 18px/1.6 var(--serif);overflow-x:clip}
img{max-width:100%;display:block}
a{color:var(--sec);text-decoration-thickness:1px;text-underline-offset:3px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;padding:8px 12px;background:var(--ink);color:var(--bg);z-index:30}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

.wrap{max-width:1200px;margin:0 auto;padding:0 16px}
@media (min-width:700px){.wrap{padding:0 32px}}

/* Type */
.eb{font:500 12px/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink2);margin:0 0 16px}
.disp{font:300 clamp(44px,7.4vw,104px)/.98 var(--serif);letter-spacing:-.025em;margin:0}
.disp em,.h2 em{font-style:italic;font-weight:400}
.h2{font:300 clamp(34px,5vw,64px)/1.04 var(--serif);letter-spacing:-.02em;margin:0 0 20px}
.lede{font-size:clamp(18px,1.6vw,21px);line-height:1.55;color:var(--ink2);margin:0;max-width:34em}

/* Header */
.top{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:border-color .3s}
.top.scrolled{border-bottom-color:var(--rule)}
.top .wrap{display:flex;align-items:center;gap:20px;height:68px}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font:300 26px/1 var(--serif);letter-spacing:-.01em;margin-right:auto}
.brand img{width:36px;height:36px;border-radius:9px;background:#F8F3EA}
.top nav{display:none;gap:4px}
.top nav a,.lang{display:inline-flex;align-items:center;min-height:44px;padding:0 10px;color:var(--ink2);text-decoration:none;font:500 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.top nav a:hover,.lang:hover{color:var(--ink)}
.cta-s{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:22px;background:var(--ink);color:var(--onink);text-decoration:none;font:500 15px/1 var(--serif)}
@media (min-width:960px){.top nav{display:flex}}
@media (max-width:420px){.cta-s{display:none}}

/* Buttons */
.badges{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:32px 0 0}
.badges a{display:block;border-radius:9px}
.badges .as{height:48px;width:auto}
.badges .gp{height:48px;width:auto}
.fine{font:500 12px/1.5 var(--mono);letter-spacing:.06em;color:var(--ink2);margin:16px 0 0}
.pri{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 26px;border:0;border-radius:28px;background:var(--ink);color:var(--onink);font:500 17px var(--serif);cursor:pointer;text-decoration:none;transition:transform .2s cubic-bezier(.2,.9,.2,1)}
.pri:active{transform:scale(.97)}
.gh{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 24px;border:1px solid var(--rule);border-radius:28px;background:none;color:var(--ink);font:400 17px var(--serif);cursor:pointer;text-decoration:none}

section{position:relative}

/* Hero */
.hero{min-height:calc(100svh - 68px);display:flex;align-items:center;padding:40px 0 64px}
.hero .wrap{display:grid;gap:56px;width:100%}
@media (min-width:960px){.hero .wrap{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center}}
.hero .lede{margin-top:28px}
.js .hero-title{visibility:hidden;animation:shown 0s 2.5s forwards}
@keyframes shown{to{visibility:visible}}
.hero-title .ch-i{display:inline-block}

/* 3D book (CSS only) */
.scene{perspective:1900px;display:flex;justify-content:center;padding:24px 0}
.tilt{transform-style:preserve-3d}
.book{--w:min(320px,64vw);position:relative;width:var(--w);aspect-ratio:2/3;transform-style:preserve-3d;transform:rotateY(-26deg) rotateX(9deg)}
.book .face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:2px 5px 5px 2px}
.book .back{position:absolute;inset:0;background:#E9DFCC;border-radius:2px 5px 5px 2px;transform:translateZ(-16px);box-shadow:0 40px 60px -20px rgba(30,20,10,.45)}
.book .edge{position:absolute;top:3px;bottom:3px;right:2px;width:16px;transform-origin:right center;transform:rotateY(-90deg);background:repeating-linear-gradient(90deg,#F4EDE0 0 1px,#DCD0BB 1px 2px)}
.book .edge.b{top:auto;bottom:2px;left:2px;right:2px;width:auto;height:16px;transform-origin:center bottom;transform:rotateX(90deg);background:repeating-linear-gradient(0deg,#F4EDE0 0 1px,#DCD0BB 1px 2px)}
.page{position:absolute;inset:0;background:#FBF7EF;color:#1C1915;border-radius:2px 5px 5px 2px;padding:9% 10%;display:flex;flex-direction:column;box-shadow:inset 14px 0 18px -14px rgba(30,20,10,.25);overflow:hidden}
.page .no{display:flex;align-items:center;justify-content:center;gap:12px;margin:6% 0 8%}
.page .no i{width:24px;height:1px;background:#6A604F;opacity:.5}
.page .no b{font:300 clamp(48px,7vw,72px)/.9 var(--serif);color:#B0341C}
.page p{font:400 clamp(11px,1.3vw,13.5px)/1.55 var(--serif);margin:0 0 .7em;hyphens:auto}
.page .go{margin-top:auto;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #E3D9C7;padding-top:10px;font:400 clamp(11px,1.2vw,13px)/1.3 var(--serif)}
.page .go b{font:300 22px/1 var(--serif);color:#B0341C}
.leaf{position:absolute;inset:0;transform-style:preserve-3d;transform-origin:left center}
.l1{transform:translateZ(.3px)}.l2{transform:translateZ(.6px)}.l3{transform:translateZ(.9px)}
.leaf .face{background:#FBF7EF;background-image:repeating-linear-gradient(180deg,transparent 0 17px,rgba(28,25,21,.06) 17px 18px);background-clip:content-box;padding:12% 11%;box-shadow:inset -10px 0 16px -12px rgba(30,20,10,.25)}
.leaf .face.r{transform:rotateY(180deg);box-shadow:inset 10px 0 16px -12px rgba(30,20,10,.25)}
.cover{position:absolute;inset:0;transform-style:preserve-3d;transform-origin:left center;transform:translateZ(1.2px)}
.cover .face.f{container-type:inline-size;background:#F8F3EA;color:#1C1915;display:flex;flex-direction:column;box-shadow:inset 3px 0 0 rgba(28,25,21,.08)}
.cover .bd{height:11cqw;background:#B0341C;color:#FBF7EF;display:flex;align-items:center;justify-content:space-between;padding:0 6cqw;flex:none;border-radius:2px 5px 0 0}
.cover .bd b{font:500 5.4cqw/1 var(--serif);letter-spacing:.2em;text-transform:uppercase}
.cover .bd i{font:500 4.4cqw/1 var(--mono);font-style:normal}
.cover .il{margin:7cqw 7cqw 0;height:82cqw;overflow:hidden}
.cover .il img{width:100%;height:100%;object-fit:cover}
.cover .tt{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 8cqw;gap:3cqw}
.cover .tt p{font:400 7cqw/1.12 var(--serif);text-transform:uppercase;letter-spacing:.09em;margin:0}
.cover .tt span{font:italic 400 4.4cqw var(--serif);color:#6A604F}
.cover .face.r{transform:rotateY(180deg);background:#E9DFCC;display:flex;align-items:center;justify-content:center}
.cover .face.r img{width:28%;opacity:.55;border-radius:12px;mix-blend-mode:multiply}
.shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,rgba(255,255,255,.18),rgba(0,0,0,.18));opacity:0;border-radius:inherit}

/* Manifesto */
.manifesto{padding:clamp(80px,14vw,180px) 0}
.manifesto p{font:300 clamp(28px,4vw,52px)/1.2 var(--serif);letter-spacing:-.015em;margin:0;max-width:22em}
.manifesto em{font-style:italic;font-weight:400;color:var(--acc)}

/* How it works */
.how{padding:64px 0 96px;border-top:1px solid var(--rule)}
.how-stage{display:grid;gap:48px}
.steps-nav{display:none}
.step{display:grid;gap:28px;align-items:center}
.step h3{font:300 clamp(30px,3.6vw,48px)/1.05 var(--serif);letter-spacing:-.015em;margin:0 0 14px}
.step .n{font:500 12px/1 var(--mono);letter-spacing:.14em;color:var(--acc);margin:0 0 14px}
.vis{background:var(--sf);border-radius:32px;min-height:340px;display:flex;align-items:center;justify-content:center;padding:32px;overflow:hidden;position:relative}
.req{width:100%;max-width:440px;background:var(--bg);border-radius:20px;padding:22px 22px 18px;box-shadow:0 18px 40px -24px rgba(30,20,10,.35)}
.req .eb{margin-bottom:10px}
.req .q{font:400 21px/1.45 var(--serif);margin:0;min-height:4.4em}
.req .q::after{content:"";display:inline-block;width:2px;height:1.1em;background:var(--acc);vertical-align:-.15em;margin-left:2px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.fan{display:flex;justify-content:center;align-items:flex-end;height:280px}
.fan .cv{width:min(130px,25vw);container-type:inline-size;aspect-ratio:2/3;background:#F8F3EA;color:#1C1915;display:flex;flex-direction:column;border-radius:2px 4px 4px 2px;box-shadow:1.5px 0 0 #EFE7D9,3px 0 0 #E3D9C7,4.5px 0 0 #EFE7D9,6px 0 0 #D9CDB8,0 24px 30px -18px rgba(30,20,10,.45)}
.fan .cv.mid{width:min(164px,32vw);position:relative;z-index:1}
.fan .cv .bd{height:11cqw;background:#B0341C;color:#FBF7EF;display:flex;align-items:center;justify-content:space-between;padding:0 6cqw;border-radius:2px 4px 0 0}
.fan .cv .bd b{font:500 5.6cqw/1 var(--serif);letter-spacing:.18em;text-transform:uppercase}
.fan .cv .bd i{font:500 4.6cqw/1 var(--mono);font-style:normal}
.fan .cv .il{margin:7cqw 7cqw 0;height:82cqw;overflow:hidden}
.fan .cv .il img{width:100%;height:100%;object-fit:cover}
.fan .cv .tt{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 8cqw}
.fan .cv .tt p{font:400 7.2cqw/1.12 var(--serif);text-transform:uppercase;letter-spacing:.08em;margin:0}
.fan .l{transform:rotate(-8deg) translate(22px,14px)}
.fan .r{transform:rotate(8deg) translate(-22px,14px)}
.acts{width:100%;max-width:420px;text-align:center}
.acts .big{font:300 clamp(96px,12vw,150px)/.9 var(--serif);letter-spacing:-.04em;color:var(--acc);margin:0}
.acts .lbl{font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink2);margin:10px 0 28px}
.prog{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.prog span{height:4px;border-radius:2px;background:var(--rule);position:relative;overflow:hidden}
.prog span i{position:absolute;inset:0;background:var(--ink);transform-origin:left}
.prog span:first-child i{background:var(--acc)}
.prog-l{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:10px;font:500 11px/1.2 var(--mono);letter-spacing:.08em;color:var(--ink2)}
.prog-l span:first-child{color:var(--acc)}

@media (min-width:960px){
  .how .step{grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:64px}
  .how.pinned .how-stage{position:relative;height:calc(100vh - 210px);min-height:520px}
  .how.pinned .step{position:absolute;inset:0}
  .how.pinned .steps-nav{display:flex;gap:10px;position:absolute;left:0;bottom:0;z-index:2}
  .steps-nav span{width:34px;height:3px;border-radius:2px;background:var(--rule);overflow:hidden;position:relative}
  .steps-nav span i{position:absolute;inset:0;background:var(--ink);transform-origin:left;transform:scaleX(0)}
  .vis{min-height:460px}
}

/* Demo */
.demo{padding:96px 0;background:var(--desk)}
.demo-head{max-width:40em;margin-bottom:48px}
.demo-grid{display:grid;gap:40px;align-items:start}
@media (min-width:960px){.demo-grid{grid-template-columns:393px minmax(0,1fr);gap:72px}.guide{position:sticky;top:100px}}
.phone{position:relative;width:min(393px,100%);height:min(780px,82svh);min-height:600px;margin:0 auto;border-radius:52px;background:var(--bg);color:var(--ink);overflow:hidden;box-shadow:0 0 0 1px var(--rule),0 0 0 9px #1C1915,0 50px 80px -30px rgba(30,20,10,.5);isolation:isolate}
@media (prefers-color-scheme:dark){.phone{box-shadow:0 0 0 1px var(--rule),0 0 0 9px #2A251E,0 50px 80px -30px rgba(0,0,0,.7)}}
.phone .island{position:absolute;top:12px;left:50%;width:110px;height:32px;margin-left:-55px;border-radius:16px;background:#1C1915;z-index:9}
.bar{position:absolute;top:0;left:0;right:0;height:96px;padding:52px 22px 0;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(var(--bg) 70%,transparent);z-index:5}
.bar .t{font:500 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink2)}
.reader{position:absolute;inset:0;overflow-y:auto;padding:100px 26px 120px;scrollbar-width:none}
.reader::-webkit-scrollbar{display:none}
.no2{display:flex;align-items:center;justify-content:center;gap:16px;margin:8px 0 20px}
.no2 i{width:36px;height:1px;background:var(--ink2);opacity:.5}
.no2:focus{outline:none}
.no2 b{font:300 76px/.9 var(--serif);letter-spacing:-.03em;color:var(--acc)}
.reader p.b{font:400 18px/1.6 var(--serif);margin:0 0 .8em;hyphens:auto}
.reader p.b:first-of-type::first-letter{float:left;font:300 64px/52px var(--serif);padding:6px 9px 0 0}
.chs{margin:18px 0 0}
.ch{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;width:100%;min-height:64px;padding:14px 0;border:0;border-top:1px solid var(--rule);background:none;color:var(--ink);text-align:left;font:400 17px/1.4 var(--serif);cursor:pointer;transition:padding .3s var(--ease)}
.ch:last-child{border-bottom:1px solid var(--rule)}
.ch:hover{padding-left:8px}
.ch .to{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.ch .to small{font:500 10px/1 var(--mono);letter-spacing:.06em;color:var(--ink2)}
.ch .to b{font:300 26px/1 var(--serif);color:var(--acc)}
.ch.fg .to b{font-size:20px}
.test{margin:20px 0 0;padding:22px 18px;background:var(--sf);border-radius:24px;text-align:center}
.test .eb{margin-bottom:6px}
.test .rule{font:italic 400 15px/1.4 var(--serif);color:var(--ink2);margin:0 0 6px}
.dice{display:flex;gap:20px;justify-content:center;align-items:center;min-height:104px}
.die{width:64px;height:64px;border-radius:16px;background:#FBF7EF;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));padding:11px;box-shadow:0 22px 28px -14px rgba(30,20,10,.45),0 2px 3px rgba(30,20,10,.2),inset 0 -3px 0 rgba(28,25,21,.07)}
.pip{width:11px;height:11px;border-radius:50%;place-self:center}
.pip.on{background:#1C1915}
.idle{animation:idle 3.2s ease-in-out infinite}
.idle+.idle{animation-delay:-1.6s}
.rollA{animation:rollA .95s both cubic-bezier(.18,.9,.25,1)}
.rollB{animation:rollB .95s .08s both cubic-bezier(.18,.9,.25,1)}
.res{font:500 16px/1.4 var(--mono);margin:6px 0 0}
.verd{font:300 28px/1.1 var(--serif);margin:6px 0 14px}
.verd em{font-style:italic}
.test .pri{width:100%}
.delta{display:flex;align-items:center;gap:14px;margin:6px 0 16px;padding:12px 16px;background:var(--sf);border-radius:16px;font:italic 400 16px/1.4 var(--serif);color:var(--pencil)}
.box{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:58px;height:46px;border-radius:12px;background:var(--bg);font:500 21px/1 var(--mono);color:var(--pencil);flex:none}
.box .w{display:inline-block;transform:rotate(-3deg);animation:write .7s .2s both steps(12,end)}
.box .was{position:absolute;top:5px;left:7px;font-size:10px;color:var(--ink2);text-decoration:line-through;animation:erase .9s both}
.fin{margin:24px 0 0;padding:24px 20px;border-radius:24px;background:var(--ink);color:var(--onink);text-align:center}
.fin .eb{color:inherit;opacity:.7}
.fin h4{font:300 28px/1.1 var(--serif);margin:0 0 10px}
.fin p{font-size:16px;line-height:1.5;margin:0 0 18px;opacity:.85}
.fin .pri{background:var(--onink);color:var(--ink);width:100%}
.fin .again{display:block;width:100%;margin-top:6px;min-height:48px;background:none;border:0;color:inherit;font:italic 400 16px var(--serif);text-decoration:underline;text-underline-offset:4px;cursor:pointer;opacity:.85}
.pill{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);z-index:6;display:flex;align-items:center;gap:13px;height:54px;padding:0 20px;border-radius:27px;border:0;background:var(--ink);color:var(--onink);font:500 14px var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer;transition:transform .25s cubic-bezier(.2,.9,.2,1)}
.pill:hover{transform:translateX(-50%) scale(1.03)}
.pill .k{font-size:9.5px;letter-spacing:.14em;margin-right:5px;opacity:.75}
.pill .sep{width:1px;height:18px;background:currentColor;opacity:.25}
.tide{display:inline-flex;gap:3px;align-items:center}
.tide span{width:5px;height:14px;border-radius:3px;border:1px solid currentColor;opacity:.9}
.tide span.on{background:currentColor}
@media (max-width:360px){.pill{gap:8px;padding:0 14px}.toast{white-space:normal;width:max-content;max-width:86%;text-align:center}}
.bump{display:inline-block;animation:bump .6s both}
.tide.bump{display:inline-flex}
.scr{position:absolute;inset:0;background:var(--scrim);z-index:7;border:0;padding:0;cursor:pointer;animation:fade .35s both}
.sheet{position:absolute;left:0;right:0;bottom:0;top:120px;z-index:8;background:var(--bg);border-radius:34px 34px 0 0;padding:10px 26px 30px;overflow-y:auto;animation:sheetUp .55s both cubic-bezier(.2,.9,.1,1)}
.sheet .grab{width:36px;height:5px;border-radius:3px;background:var(--ink2);opacity:.35;margin:0 auto 18px}
.sheet h4{font:300 30px/1.1 var(--serif);margin:0 0 16px}
.srow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--rule)}
.srow .eb{margin:0}
.sheet > .eb{margin:22px 0 4px}
.itm{display:flex;align-items:center;min-height:52px;border-top:1px solid var(--rule);font-size:17px}
.sheet .x{margin-top:18px;width:100%}
.toast{position:absolute;top:100px;left:50%;z-index:9;transform:translateX(-50%);padding:10px 16px;border-radius:20px;background:var(--acc);color:#FBF7EF;font:500 11px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;pointer-events:none;opacity:0}
@media (prefers-color-scheme:dark){.toast{color:#12100D}}
.guide h3{font:300 30px/1.1 var(--serif);margin:0 0 6px}
.guide .count{font:500 12px/1 var(--mono);letter-spacing:.1em;color:var(--ink2);margin:0 0 20px}
.guide ol{list-style:none;padding:0;margin:0;counter-reset:g}
.guide li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:14px;padding:16px 0;border-top:1px solid var(--rule);color:var(--ink2);transition:color .4s}
.guide li:last-child{border-bottom:1px solid var(--rule)}
.guide li::before{counter-increment:g;content:counter(g);width:28px;height:28px;border-radius:50%;border:1px solid var(--rule);display:flex;align-items:center;justify-content:center;font:500 11px/1 var(--mono);transition:background-color .4s,color .4s,border-color .4s}
.guide li.on{color:var(--ink)}
.guide li.on::before{content:"\2713";background:var(--acc);border-color:var(--acc);color:#FBF7EF}
@media (prefers-color-scheme:dark){.guide li.on::before{color:#12100D}}
.guide li b{display:block;font:500 12px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;margin:4px 0 6px}
.guide li p{margin:0;font-size:16px;line-height:1.5}
.guide li.flash{animation:flash 1.2s var(--ease)}
@keyframes flash{0%{background:color-mix(in srgb,var(--acc) 14%,transparent)}100%{background:transparent}}

/* Rules */
.rules{padding:120px 0 96px}
.cards{display:grid;gap:16px;margin-top:48px}
@media (min-width:700px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.cards{grid-template-columns:repeat(4,minmax(0,1fr))}}
.card{background:var(--sf);border-radius:28px;padding:26px 24px 28px;display:flex;flex-direction:column;gap:12px}
.card .v{height:120px;display:flex;align-items:center;justify-content:center}
.card h3{font:400 23px/1.2 var(--serif);margin:0}
.card p{margin:0;font-size:16px;line-height:1.55;color:var(--ink2)}
.stats{display:flex;gap:8px}
.stats span{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 10px;min-width:62px;border-radius:14px;background:var(--bg);font:500 22px/1 var(--mono);color:var(--pencil)}
.stats small{font-size:9.5px;letter-spacing:.14em;color:var(--ink2)}
.inv{list-style:none;padding:0;margin:0;width:100%;font:italic 400 17px/1.3 var(--serif);color:var(--pencil)}
.inv li{padding:8px 4px;border-bottom:1px solid var(--rule)}
.inv li:first-child{border-top:1px solid var(--rule)}
.pages{position:relative;width:130px;height:96px}
.pages span{position:absolute;inset:0;border-radius:4px 10px 10px 4px;background:var(--bg);box-shadow:0 10px 20px -12px rgba(30,20,10,.4);display:flex;align-items:center;justify-content:center;font:300 40px/1 var(--serif);color:var(--acc)}
.pages span:first-child{transform:rotate(-7deg) translate(-12px,4px);color:var(--ink2)}

/* Not a chat */
.notchat{padding:96px 0;border-top:1px solid var(--rule)}
.nums{display:grid;gap:40px;margin-top:56px}
@media (min-width:860px){.nums{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}}
.nums .big{font:300 clamp(72px,9vw,120px)/.9 var(--serif);letter-spacing:-.04em;color:var(--acc);margin:0 0 6px}
.nums h3{font:400 23px/1.25 var(--serif);margin:0 0 8px}
.nums p{margin:0;color:var(--ink2);font-size:17px}

/* Pricing */
.price{padding:96px 0;background:var(--ink);color:var(--onink)}
.price .eb,.price .lede{color:inherit;opacity:.7}
.plans{display:grid;gap:16px;margin-top:48px}
@media (min-width:860px){.plans{grid-template-columns:repeat(3,minmax(0,1fr))}}
.plan{border:1px solid color-mix(in srgb,var(--onink) 22%,transparent);border-radius:28px;padding:28px 26px;display:flex;flex-direction:column;gap:10px}
.plan.hl{background:var(--acc);border-color:var(--acc);color:#FBF7EF}
@media (prefers-color-scheme:dark){.plan.hl{color:#12100D}}
.plan .eb{margin:0;color:inherit;opacity:.75}
.plan.hl .eb{opacity:1}
.plan .p{font:300 clamp(52px,6vw,72px)/1 var(--serif);letter-spacing:-.03em;margin:4px 0;display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px}
.off{font:500 18px/1 var(--mono);letter-spacing:.04em;padding:10px 14px;border-radius:20px;background:#FBF7EF;color:#B0341C}
@media (prefers-color-scheme:dark){.off{background:#12100D;color:#EC8A62}}
.plan p{margin:0;font-size:17px;opacity:.88}
.price .fine{color:inherit;opacity:.65;margin-top:28px}

/* FAQ */
.faq{padding:96px 0}
.faq .wrap{max-width:860px}
details{border-top:1px solid var(--rule)}
details:last-of-type{border-bottom:1px solid var(--rule)}
summary{cursor:pointer;min-height:68px;display:flex;align-items:center;gap:16px;font:400 21px/1.35 var(--serif);list-style:none;padding:12px 0}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";margin-left:auto;color:var(--acc);font-size:26px;font-weight:300;transition:transform .3s var(--ease)}
details[open] summary::after{transform:rotate(45deg)}
details p{margin:0 0 22px;color:var(--ink2);max-width:40em}

/* Final call */
.end{padding:clamp(96px,14vw,180px) 0;text-align:center;border-top:1px solid var(--rule)}
.end .no2{margin-bottom:28px}
.end .no2 b{font-size:clamp(96px,14vw,160px)}
.end .no2 i{width:60px}
.end .h2{max-width:14em;margin:0 auto 18px}
.end .lede{margin:0 auto}
.end .badges{justify-content:center}

footer{border-top:1px solid var(--rule);padding:32px 0 48px;color:var(--ink2);font-size:15px}
footer .wrap{display:flex;flex-wrap:wrap;gap:12px 32px;align-items:baseline;justify-content:space-between}
footer ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:0 20px}
footer a{display:inline-block;padding:10px 0;color:var(--ink2)}
footer p{margin:0}

/* Motion */
@keyframes idle{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-6px) rotate(3deg)}}
@keyframes rollA{0%{opacity:0;transform:translate(-90px,-140px) rotate(-260deg) scale(.8)}55%{opacity:1;transform:translate(6px,6px) rotate(14deg) scale(1.04)}75%{transform:translate(-2px,-2px) rotate(-5deg)}100%{transform:none}}
@keyframes rollB{0%{opacity:0;transform:translate(90px,-150px) rotate(280deg) scale(.8)}55%{opacity:1;transform:translate(-6px,6px) rotate(-12deg) scale(1.04)}75%{transform:translate(2px,-2px) rotate(4deg)}100%{transform:none}}
@keyframes write{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes erase{0%{opacity:0}30%{opacity:.9;color:var(--pencil)}100%{opacity:.45}}
@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.35)}100%{transform:scale(1)}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes sheetUp{from{transform:translateY(100%)}to{transform:none}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition:none!important}
}
