:root{
  --bg:#f2ebd9; --bg2:#e6dcc0; --ink:#24201a; --soft:#5a5144; --thread:#3f6b3b; --stamp:#c2331f; --card:#fbf6e8; --line:#cfc19c;
  --hf:'Bricolage Grotesque','Helvetica Neue',Arial,sans-serif; --bf:'Work Sans','Helvetica Neue',Arial,sans-serif; --mf:'IBM Plex Mono',Menlo,Consolas,monospace;
  box-sizing:border-box; padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#1d1b15;--bg2:#27241b;--ink:#f1ead8;--soft:#bdb39a;--thread:#8dbb7f;--stamp:#ec6a52;--card:#2b2820;--line:#403b2d}}
:root[data-theme="dark"]{--bg:#1d1b15;--bg2:#27241b;--ink:#f1ead8;--soft:#bdb39a;--thread:#8dbb7f;--stamp:#ec6a52;--card:#2b2820;--line:#403b2d}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.1rem/1.65 var(--bf)}
h1,h2,h3{font-family:var(--hf);font-weight:800;line-height:1.02;letter-spacing:-.025em;margin:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--stamp);outline-offset:3px}
.wrap{max-width:1040px;margin:0 auto;padding:0 1.5rem}
section{padding:5.5rem 0}
p{max-width:60ch;margin:0 0 1rem}
h2{font-size:clamp(2rem,4.6vw,3.4rem);max-width:17ch;margin-bottom:1.4rem}
.mono{font:600 .8rem var(--mf);letter-spacing:.08em;text-transform:uppercase}
.site-header{position:absolute;top:0;left:0;right:0;z-index:10;padding-top:env(safe-area-inset-top,0px)}
.site-header__in{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:0.5rem;padding-bottom:1.25rem}
.brand{display:inline-flex;align-items:center;text-decoration:none}
.brand img{display:block;height:2.75rem;width:auto;max-width:55vw}
.lang{display:flex;gap:.25rem;font:600 .85rem/1 var(--hf);letter-spacing:.06em}
.lang a{padding:.5rem .6rem;color:var(--soft);text-decoration:none;transition:color .2s}
.lang a:hover{color:var(--ink)}
.lang a[aria-current="page"]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--spore)}
.flogo{display:block;height:2rem;width:auto;margin-bottom:.8rem}
.btn{display:inline-block;margin-top:1.6rem;padding:1rem 1.8rem;border-radius:4px;background:var(--ink);color:var(--bg);font:600 1rem var(--bf);text-decoration:none;box-shadow:5px 5px 0 var(--stamp);transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--stamp)}
.btn.alt{background:transparent;color:var(--ink);border:2px solid var(--ink);box-shadow:none}
.btn.alt:hover{background:var(--ink);color:var(--bg);transform:none}

.hero{position:relative;min-height:90vh;display:flex;align-items:center;overflow:hidden;padding:3rem 0 5rem}
.hero svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero .wrap{position:relative}
.hero h1{font-size:clamp(2.4rem,7vw,5.4rem);max-width:15ch}
.hero h1 em{font-style:normal;color:var(--stamp)}
.lead{font-size:1.25rem;color:var(--soft);margin-top:1.6rem;max-width:48ch}
.stamp{display:inline-block;margin-top:2rem;padding:.35rem .8rem;border:3px solid var(--stamp);color:var(--stamp);transform:rotate(-4deg);border-radius:4px;opacity:.9}

.who{background:var(--ink);color:var(--bg);padding:1.1rem 0}
.who .wrap{display:flex;flex-wrap:wrap;gap:.4rem 1.6rem;justify-content:center}

.rl{list-style:none;margin:2rem 0 0;padding:0}.rl li{padding:1.2rem 0;border-top:2px solid var(--ink);color:var(--soft)}.rl b{display:block;font:800 clamp(1.5rem,3.6vw,2.4rem)/1.05 var(--hf);color:var(--ink);margin-bottom:.3rem}.punch{font:800 clamp(1.5rem,3.4vw,2.2rem)/1.1 var(--hf);margin:1.6rem 0 0;color:var(--stamp);max-width:22ch}
.problems{background:var(--bg2)}
.intro{color:var(--soft)}
.deck{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1.2rem;margin-top:2.4rem}
.case{position:relative;text-align:left;font:inherit;color:inherit;cursor:pointer;background:var(--card);border:2px dashed var(--line);border-radius:6px;padding:1.3rem;display:flex;flex-direction:column;gap:.6rem;min-height:15rem;transition:border-color .2s,transform .2s}
.case:hover{border-color:var(--ink);transform:rotate(-.4deg)}
.case h3{font-size:1.3rem;line-height:1.1}
.case .q{color:var(--soft);font-size:1rem}
.case .a{display:none;font-size:1rem}
.case .st{display:flex;justify-content:space-between;align-items:center;color:var(--soft)}
.case .st b{font-weight:600}
.case .hint{margin-top:auto;color:var(--soft)}
.case[aria-expanded="true"]{border:2px solid var(--thread);background:var(--card)}
.case[aria-expanded="true"] .a{display:block}
.case[aria-expanded="true"] .q,.case[aria-expanded="true"] .hint{display:none}
.case[aria-expanded="true"] .st b{color:var(--stamp);border:2px solid var(--stamp);padding:0 .4rem;transform:rotate(-3deg);border-radius:3px}

.say{display:grid;grid-template-columns:1fr 1fr;gap:3rem}
.nope{list-style:none;margin:0;padding:0}
.nope li{padding:.7rem 0;border-top:1px solid var(--line);font:600 1.1rem var(--hf)}
.nope s{color:var(--soft);text-decoration-color:var(--stamp);text-decoration-thickness:3px}
.yep li{padding:.7rem 0 .7rem 1.6rem;border-top:1px solid var(--line);position:relative;list-style:none;color:var(--soft)}
.yep{margin:0;padding:0}
.yep li::before{content:"✓";position:absolute;left:0;color:var(--thread);font-weight:800}
.yep b{color:var(--ink)}

.how{background:var(--bg2)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2rem;counter-reset:s}
.steps div{counter-increment:s;border-top:3px solid var(--ink);padding-top:1rem}
.steps h3{font-size:1.3rem;margin-bottom:.4rem}
.steps h3::before{content:counter(s,decimal-leading-zero) " ";font-family:var(--mf);color:var(--stamp);font-size:.9rem}
.steps p{color:var(--soft);font-size:1rem}

.mid{padding:3rem 0;border-block:2px solid var(--ink)}
.mid .wrap{display:flex;gap:1.5rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.mid p{margin:0;font:800 1.7rem/1.1 var(--hf);max-width:22ch}
.mid .btn{margin:0}

.cta{background:var(--ink);color:var(--bg);text-align:center}
.cta h2{margin:0 auto 1.2rem;max-width:14ch}
.cta p{margin:0 auto 1rem;opacity:.85}
.cta .btn{background:var(--bg);color:var(--ink)}
footer{padding:2rem 0 2.5rem;color:var(--soft);font-size:.95rem}

@media (max-width:760px){
  section{padding:3.8rem 0}
  .say,.steps{grid-template-columns:1fr}
  .hero{min-height:82vh}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.case,.btn{transition:none}}