:root{--yellow:#FFD700;--yellow-soft:#FFEB99;--ink:#222;--mist:#F0F0F0;--white:#fff;--muted:#555}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;background:var(--ink);color:var(--white);font-family:"DM Sans",system-ui,sans-serif;line-height:1.6}
h1,h2,h3{font-family:"Bricolage Grotesque",sans-serif;letter-spacing:-.02em;line-height:1.1;margin:0}
a{color:inherit}
.wrap{width:100%;max-width:1040px;margin:0 auto;padding:0 20px}
.narrow{max-width:820px}
/* header */
.nav{position:sticky;top:0;z-index:20;background:rgba(34,34,34,.96);border-bottom:1px solid #3a3a3a}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px}
.logo{font-family:"Bricolage Grotesque",sans-serif;font-weight:800;font-size:1.5rem;text-decoration:none;letter-spacing:-.02em}
.logo span{color:var(--yellow)}
.nav ul{display:none;list-style:none;margin:0;padding:0;gap:22px}
.nav ul a{text-decoration:none;font-weight:500;color:#e8e8e8}
.nav ul a:hover{color:var(--yellow)}
@media(min-width:900px){.nav ul{display:flex}}
.btn{display:inline-block;background:var(--ink);color:var(--white);font-weight:700;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;padding:13px 22px;border-radius:10px;min-height:48px;border:2px solid var(--ink);text-align:center}
.btn:hover{background:#000}
.btn--yellow{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}
.btn--yellow:hover{background:#ffe433}
.btn--line{background:transparent;color:var(--white);border-color:var(--yellow)}
.btn--line:hover{background:rgba(255,215,0,.12)}
.btn--sm{padding:9px 16px;min-height:42px;font-size:.85rem}
.btn:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
/* hero */
.hero{padding:56px 0 64px;background:radial-gradient(circle at 15% 0,rgba(255,215,0,.2),transparent 45%),radial-gradient(circle at 95% 70%,rgba(255,215,0,.09),transparent 40%)}
.tag{display:inline-block;background:var(--yellow);color:var(--ink);font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;padding:6px 12px;border-radius:999px;margin:0 0 18px}
h1{font-weight:800;font-size:clamp(2.2rem,1.3rem + 4.6vw,4.1rem);margin-bottom:20px}
h1 em{font-style:normal;color:var(--yellow)}
.lead{font-size:clamp(1.05rem,1rem + .5vw,1.25rem);color:#e6e6e6;max-width:60ch;margin:0 0 26px}
.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0 0;padding:0;list-style:none}
.chips li{border:2px solid var(--yellow);border-radius:999px;padding:6px 16px;font-weight:700}
/* sections */
section{padding:64px 0}
.light{background:var(--mist);color:var(--ink)}
.white{background:var(--white);color:var(--ink)}
.yellow{background:var(--yellow);color:var(--ink)}
h2{font-weight:800;font-size:clamp(1.8rem,1.2rem + 2.6vw,2.7rem);margin-bottom:12px}
.sub{max-width:62ch;margin:0 0 32px;font-size:1.08rem}
.light .sub,.white .sub{color:#444}
.grid{display:grid;gap:18px}
@media(min-width:760px){.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}}
.panel{border:2px solid var(--ink);border-radius:14px;padding:22px;background:var(--white)}
.dark .panel{background:transparent;border-color:var(--yellow)}
.panel h3{font-size:1.3rem;margin-bottom:10px}
.panel p{margin:0 0 10px;color:#444}
.panel ul{margin:0;padding-left:1.1rem}
.panel li{margin:0 0 6px}
.num{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--yellow);color:var(--ink);font-family:"Bricolage Grotesque",sans-serif;font-weight:800;font-size:1.2rem;margin-bottom:12px;border:2px solid var(--ink)}
.small{font-size:.92rem;color:#666}
/* code sample */
.sample{background:var(--ink);color:#f5f5f5;border-radius:14px;padding:22px;border:2px solid var(--yellow)}
.sample h3{color:var(--yellow);margin-bottom:8px}
.sample p{color:#ddd}
pre{background:#161616;color:#f5f5f5;padding:16px;border-radius:10px;overflow-x:auto;margin:10px 0 0;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:.88rem;line-height:1.5}
details{border:2px solid var(--ink);border-radius:12px;background:var(--white);color:var(--ink);margin:0 0 12px}
details summary{cursor:pointer;font-weight:700;padding:16px 18px;list-style:none;display:flex;justify-content:space-between;gap:12px}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"+";font-size:1.4rem;line-height:1}
details[open] summary::after{content:"–"}
details .body{padding:0 18px 16px;color:#444}
.sample details{background:#2c2c2c;border-color:#555;color:#fff}
.sample details .body{padding:0 14px 14px}
.sample summary{padding:12px 14px}
/* price card */
.card{background:var(--white);color:var(--ink);border:2px solid var(--ink);border-radius:16px;padding:28px;box-shadow:8px 8px 0 var(--yellow);max-width:560px}
.card h3{font-size:1.6rem;margin-bottom:6px}
.price{font-family:"Bricolage Grotesque",sans-serif;font-weight:800;font-size:3rem;margin:6px 0}
.card ul{padding-left:1.1rem;margin:0 0 20px}
.card li{margin-bottom:6px}
.dark-card{box-shadow:8px 8px 0 var(--ink)}
/* trust */
.badge{display:flex;gap:14px;align-items:flex-start;border:2px solid var(--ink);border-radius:14px;padding:18px;background:var(--white);max-width:620px}
.badge svg{flex:none}
.badge strong{display:block;font-size:1.1rem}
.badge .urn{font-family:"JetBrains Mono",ui-monospace,monospace;font-weight:700;background:var(--yellow-soft);padding:2px 8px;border-radius:6px;display:inline-block;margin:4px 0;word-break:break-all}
.badge a{font-weight:700}
.cta-band{text-align:left}
.cta-band h2{margin-bottom:10px}
footer{padding:28px 20px;text-align:center;font-size:.92rem;color:#bdbdbd;border-top:1px solid #3a3a3a;background:var(--ink)}
footer a{color:var(--yellow)}
@media(prefers-reduced-motion:no-preference){.hero .wrap>*{animation:up .6s both}.hero .wrap>*:nth-child(2){animation-delay:.08s}.hero .wrap>*:nth-child(3){animation-delay:.16s}.hero .wrap>*:nth-child(4){animation-delay:.24s}@keyframes up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}}

.was{font-size:1.1rem;color:#666;font-weight:700;margin:0}.was s{text-decoration:line-through}
.offer{display:inline-block;background:var(--yellow);color:var(--ink);font-weight:700;font-size:.85rem;padding:4px 12px;border-radius:999px;margin:0 0 4px}
.pricebox{margin:0 0 18px}
