:root{--ink: #1e1b18;--ink-soft: #4a443e;--paper: #faf8f5;--paper-alt: #f1ece5;--accent: #c4502a;--accent-dark: #9c3d1e;--ok: #2a7d4f;--mono: "SFMono-Regular", "Cascadia Code", Consolas, monospace;--sans: -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--maxw: 1080px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}a{color:var(--accent-dark)}header.site{position:sticky;top:0;z-index:50;background:#faf8f5eb;backdrop-filter:blur(8px);border-bottom:1px solid var(--paper-alt)}header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.1rem;color:var(--ink);text-decoration:none}.logo svg{flex-shrink:0}nav.main{display:flex;align-items:center;gap:22px}nav.main a{color:var(--ink-soft);text-decoration:none;font-size:.95rem}nav.main a:hover{color:var(--accent)}.lang-switch{font-family:var(--mono);font-size:.85rem;border:1px solid var(--ink-soft);border-radius:6px;padding:3px 10px;color:var(--ink)!important;text-decoration:none}.lang-switch:hover{border-color:var(--accent)}.btn{display:inline-block;background:var(--accent);color:#fff!important;padding:12px 24px;border-radius:8px;text-decoration:none;font-weight:600;border:none;cursor:pointer;font-size:1rem}.btn:hover{background:var(--accent-dark)}.btn.ghost{background:transparent;color:var(--ink)!important;border:1.5px solid var(--ink)}.btn.ghost:hover{border-color:var(--accent);color:var(--accent)!important;background:transparent}.hero{padding:88px 0 64px}.hero.dark{background:var(--ink) url(/hero-topo.webp) right center / cover no-repeat;color:#fff;padding:110px 0 96px}.hero.dark p.sub{color:#cfc7bd}.hero.dark .btn.ghost{color:#fff!important;border-color:#fff}.hero.dark .btn.ghost:hover{color:var(--accent)!important;border-color:var(--accent)}.hero h1{font-size:clamp(2rem,5vw,3.2rem);line-height:1.15;max-width:780px;letter-spacing:-.02em}.hero h1 em{font-style:normal;color:var(--accent)}.hero p.sub{margin:22px 0 34px;font-size:1.2rem;color:var(--ink-soft);max-width:640px}.hero .cta-row{display:flex;gap:14px;flex-wrap:wrap}.kicker{font-family:var(--mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin-bottom:16px;display:block}section.band{padding:72px 0}section.band.alt{background:var(--paper-alt)}section.band h2{font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:12px;letter-spacing:-.01em}section.band p.lead{color:var(--ink-soft);max-width:620px;margin-bottom:40px;font-size:1.05rem}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}.card{background:#fff;border:1px solid var(--paper-alt);border-radius:12px;padding:28px}.card h3{margin-bottom:8px;font-size:1.15rem}.card .price{font-family:var(--mono);color:var(--accent);font-weight:700;margin-bottom:14px}.card ul{list-style:none;margin-top:8px}.card ul li{padding-left:22px;position:relative;margin-bottom:8px;color:var(--ink-soft);font-size:.95rem}.card ul li:before{content:"→";position:absolute;left:0;color:var(--accent);font-family:var(--mono)}.card.featured{border:2px solid var(--accent);position:relative}.card.featured .flag{position:absolute;top:-12px;left:24px;background:var(--accent);color:#fff;font-size:.75rem;font-weight:700;padding:2px 12px;border-radius:20px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em}.pain{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}.pain .item{border-left:3px solid var(--accent);padding:4px 0 4px 20px}.pain .item h3{font-size:1.05rem;margin-bottom:6px}.pain .item p{color:var(--ink-soft);font-size:.95rem}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;counter-reset:step}.steps .step{background:#fff;border:1px solid var(--paper-alt);border-radius:12px;padding:24px}.steps .step .num{font-family:var(--mono);font-weight:700;color:#fff;background:var(--ink);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:14px}.steps .step h3{font-size:1.02rem;margin-bottom:6px}.steps .step p{color:var(--ink-soft);font-size:.92rem}.code-sample{background:var(--ink);color:#e8e2da;border-radius:12px;padding:24px 28px;font-family:var(--mono);font-size:.85rem;overflow-x:auto;line-height:1.7}.code-sample .c{color:#8a8178}.code-sample .k{color:#e8926a}.about-flags{display:flex;gap:28px;flex-wrap:wrap;margin-top:28px}.about-flags .flag-item{font-size:.95rem}.about-flags .flag-item strong{display:block;font-family:var(--mono);color:var(--accent);font-size:1.3rem}details.faq{border-bottom:1px solid var(--paper-alt);padding:18px 0}details.faq summary{font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between}details.faq summary:after{content:"+";font-family:var(--mono);color:var(--accent);font-size:1.2rem}details.faq[open] summary:after{content:"–"}details.faq p{margin-top:12px;color:var(--ink-soft);max-width:720px}footer.site{background:var(--ink);color:#b8b0a6;padding:56px 0 40px;margin-top:0}footer.site .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:32px}footer.site a{color:#e8e2da;text-decoration:none}footer.site a:hover{color:var(--accent)}footer.site .col h4{color:#fff;font-size:.9rem;margin-bottom:12px;text-transform:uppercase;letter-spacing:.08em}footer.site .col ul{list-style:none}footer.site .col ul li{margin-bottom:8px;font-size:.95rem}footer.site .fine{width:100%;border-top:1px solid #3a352f;margin-top:20px;padding-top:20px;font-size:.85rem}.quiz{max-width:780px;margin:0 auto}.quiz .q{background:#fff;border:1px solid var(--paper-alt);border-radius:8px;padding:24px;margin-bottom:18px}.quiz .q h3{font-size:1.02rem;margin-bottom:14px}.quiz .q label{display:block;padding:10px 14px;border:1px solid var(--paper-alt);border-radius:6px;margin-bottom:8px;cursor:pointer;font-size:.95rem}.quiz .q label:hover{border-color:var(--accent)}.quiz .q input{margin-right:10px;accent-color:var(--accent)}.quiz .result{display:none;background:#fff;border:2px solid var(--accent);border-radius:8px;padding:32px;text-align:left}.quiz .result.visible{display:block}.report-summary{text-align:center;max-width:620px;margin:0 auto 32px}.quiz .result .score{font-family:var(--mono);font-size:3rem;font-weight:700;color:var(--accent);margin-top:8px}.quiz .result h2{margin:8px 0 12px}.quiz .result h3{margin-bottom:12px}.quiz .result p{color:var(--ink-soft);margin-bottom:20px}.report-section{margin-top:30px}.dimension-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dimension-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:10px 12px;border:1px solid var(--paper-alt);border-radius:6px}.dimension-row strong{font-size:.9rem}.dimension-state{flex:0 0 auto;padding:4px 7px;border-radius:4px;font-family:var(--mono);font-size:.72rem;font-weight:700}.dimension-state.level-0{background:#f8e6df;color:#8f3218}.dimension-state.level-1{background:#fff1cc;color:#765510}.dimension-state.level-2{background:#dfeee4;color:#255f3b}.roadmap{padding:22px;background:var(--paper);border-left:3px solid var(--accent)}.roadmap ol{padding-left:22px}.roadmap li{margin-bottom:12px;color:var(--ink-soft)}.roadmap li:last-child{margin-bottom:0}.report-actions{display:flex;justify-content:center;margin:28px 0}.capture-wrap{padding-top:28px;border-top:1px solid var(--paper-alt);text-align:center}.quiz form.capture{display:grid;gap:10px;max-width:400px;margin:0 auto 12px}.quiz form.capture input{padding:12px 14px;border:1px solid var(--paper-alt);border-radius:6px;font-size:.95rem}.privacy-note{font-size:.78rem}@media(max-width:640px){.quiz .result{padding:20px}.dimension-grid{grid-template-columns:1fr}.dimension-row{align-items:flex-start}}@media print{header.site,footer.site,.screen-intro,#quiz-form,.report-actions,.capture-wrap{display:none!important}body,main,section.band{background:#fff!important}section.band{padding:0}.quiz{max-width:none}.quiz .result{display:block;border:0;padding:0}.dimension-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.roadmap{break-inside:avoid}}.prose{max-width:720px;margin:0 auto;padding:64px 24px}.prose h1{font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.2;margin-bottom:10px;letter-spacing:-.02em}.prose .meta{font-family:var(--mono);font-size:.85rem;color:var(--ink-soft);margin-bottom:32px}.prose h2{font-size:1.4rem;margin:36px 0 14px}.prose h3{font-size:1.15rem;margin:28px 0 10px}.prose p,.prose ul,.prose ol{margin-bottom:16px;color:var(--ink-soft)}.prose ul,.prose ol{padding-left:24px}.prose li{margin-bottom:6px}.prose code{font-family:var(--mono);background:var(--paper-alt);padding:2px 6px;border-radius:4px;font-size:.88em;color:var(--ink)}.prose pre{background:var(--ink);color:#e8e2da;padding:20px 24px;border-radius:10px;overflow-x:auto;margin-bottom:16px}.prose pre code{background:none;color:inherit;padding:0}.prose strong{color:var(--ink)}.prose blockquote{border-left:3px solid var(--accent);padding-left:18px;font-style:italic;margin-bottom:16px}.post-list{max-width:720px;margin:0 auto;padding:64px 24px}.post-list h1{margin-bottom:32px}.post-card{display:block;background:#fff;border:1px solid var(--paper-alt);border-radius:12px;padding:26px;margin-bottom:18px;text-decoration:none;color:var(--ink)}.post-card:hover{border-color:var(--accent)}.post-card h2{font-size:1.2rem;margin-bottom:6px}.post-card p{color:var(--ink-soft);font-size:.95rem}.post-card .meta{font-family:var(--mono);font-size:.8rem;color:var(--accent)}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px}form.contact{display:grid;gap:12px}form.contact input,form.contact textarea{padding:12px 14px;border:1px solid #d8d1c8;border-radius:8px;font-size:.95rem;font-family:var(--sans);background:#fff}form.contact textarea{min-height:140px;resize:vertical}.hero.dark{position:relative;overflow:hidden}.hero.dark .wrap{position:relative;z-index:1}.hero-contours{position:absolute;top:50%;right:-60px;transform:translateY(-50%);width:520px;height:520px;opacity:.5;pointer-events:none}.hero-contours .contour{stroke-dasharray:1600;stroke-dashoffset:1600;animation:contour-draw 2.6s ease-out forwards,contour-breathe 7s ease-in-out 3s infinite}.hero-contours .c2{animation-delay:.25s,3.4s}.hero-contours .c3{animation-delay:.5s,3.8s}.hero-contours .c4{animation-delay:.75s,4.2s}.hero-contours .c5{animation-delay:1s,4.6s}@keyframes contour-draw{to{stroke-dashoffset:0}}@keyframes contour-breathe{0%,to{opacity:1}50%{opacity:.35}}@media(max-width:900px){.hero-contours{width:340px;height:340px;right:-120px;opacity:.3}}@media(prefers-reduced-motion:reduce){.hero-contours .contour{animation:none;stroke-dashoffset:0}}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.hero .kicker,.hero h1,.hero p.sub,.hero .cta-row{animation:rise-in .7s cubic-bezier(.22,1,.36,1) both}.hero h1{animation-delay:.08s}.hero p.sub{animation-delay:.18s}.hero .cta-row{animation-delay:.28s}.reveal{opacity:0;transform:translateY(24px)}.reveal.in{opacity:1;transform:translateY(0);transition:opacity .6s ease,transform .6s cubic-bezier(.22,1,.36,1)}.reveal.in[data-stagger]{transition-delay:calc(var(--stagger, 0) * 90ms)}.card,.steps .step,.post-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.card:hover,.steps .step:hover,.post-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #1e1b181a}.btn{transition:background .2s ease,transform .15s ease}.btn:active{transform:scale(.97)}@media(prefers-reduced-motion:reduce){.hero .kicker,.hero h1,.hero p.sub,.hero .cta-row{animation:none}.reveal{opacity:1;transform:none}.card,.steps .step,.post-card,.btn{transition:none}}@media(max-width:640px){nav.main a:not(.lang-switch):not(.btn){display:none}.hero{padding:56px 0 40px}}
