:root{--bg:#FFF4F6;--ink:#2B1233;--pink:#FF3D8B;--mute:#6B5873;
--head:'Bricolage Grotesque',system-ui,sans-serif;--body:'Figtree',system-ui,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.65 var(--body)}
a{color:inherit;text-underline-offset:3px}
a:focus-visible{outline:3px solid var(--pink);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem 1rem;z-index:9}
h1,h2,h3{font-family:var(--head);line-height:1.05;letter-spacing:-.02em;margin:0}
.top{display:flex;gap:1rem 2rem;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:1rem clamp(1rem,4vw,3rem);border-bottom:2px solid var(--ink)}
.logo{font:800 1.5rem var(--head);letter-spacing:-.03em;text-decoration:none}
.top nav{display:flex;gap:1.25rem;flex-wrap:wrap;font-weight:500}
.top nav a{text-decoration:none}.top nav a:hover{text-decoration:underline;text-decoration-color:var(--pink);text-decoration-thickness:3px}
.hero{padding:clamp(2.5rem,8vw,6rem) clamp(1rem,4vw,3rem) clamp(2rem,5vw,3.5rem)}
.hero h1{font-weight:800;font-size:clamp(2.75rem,9vw,7.5rem);line-height:.92;letter-spacing:-.045em;max-width:14ch}
.hero p{font-size:1.25rem;max-width:34ch;margin:1.5rem 0 0;color:var(--mute)}
.hero.small{padding-block:3rem;border-bottom:2px solid var(--ink)}.hero.small h1{font-size:clamp(2.5rem,7vw,5rem)}
.lead{display:grid;gap:.75rem;padding:clamp(1.5rem,4vw,3rem);margin:0 clamp(1rem,4vw,3rem);border:2px solid var(--ink);border-radius:28px;text-decoration:none;box-shadow:8px 8px 0 var(--ink)}
.lead strong{font:800 clamp(1.75rem,4.5vw,3.5rem)/1 var(--head);letter-spacing:-.03em;max-width:22ch}
.lead:hover strong{text-decoration:underline;text-decoration-thickness:4px}
.meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;margin:0;font-size:.9rem;color:var(--mute)}
.lead .meta{color:var(--ink)}.lead .meta b{font-weight:700}
.wrap{padding:clamp(2rem,5vw,4rem) clamp(1rem,4vw,3rem);max-width:68rem}
.wrap>h2{font-size:clamp(1.75rem,4vw,2.5rem);margin-bottom:1.5rem}
.row{display:grid;grid-template-columns:5.5rem 1fr;gap:1.25rem;padding:1.5rem 0;border-top:2px solid var(--ink)}
.row .swatch{display:block;aspect-ratio:1;border-radius:50%;border:2px solid var(--ink)}
.row h3{font-size:clamp(1.35rem,3vw,1.9rem);margin:.5rem 0}.row h3 a{text-decoration:none}.row h3 a:hover{text-decoration:underline;text-decoration-thickness:3px}
.row p{margin:0}.row>div>p:last-child{color:var(--mute);max-width:60ch}
.chip{display:inline-block;padding:.15rem .75rem;border:2px solid var(--ink);border-radius:99px;font-weight:700;font-size:.85rem;color:var(--ink);text-decoration:none}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:1rem}
.tile{display:flex;flex-direction:column;justify-content:space-between;min-height:9rem;padding:1.25rem;border:2px solid var(--ink);border-radius:20px;text-decoration:none}
.tile span{font:800 1.6rem var(--head);letter-spacing:-.02em}.tile:hover{box-shadow:5px 5px 0 var(--ink)}
.post-head{padding:clamp(2rem,6vw,4.5rem) clamp(1rem,4vw,3rem);border-bottom:2px solid var(--ink)}
.post-head .meta{color:var(--ink)}
.post-head h1{font-weight:800;font-size:clamp(2.2rem,6vw,4.75rem);line-height:.98;letter-spacing:-.04em;max-width:20ch;margin:1.25rem 0}
.dek{font-size:1.25rem;max-width:44ch;margin:0}
.prose{max-width:41rem;margin:0 auto;padding:clamp(2rem,5vw,3.5rem) 1.25rem 3rem;font-size:1.125rem;line-height:1.75}
.prose h2{font-size:clamp(1.6rem,3.5vw,2.2rem);margin:2.5rem 0 .75rem}.prose h3{font-size:1.35rem;margin:1.75rem 0 .5rem}
.prose p,.prose ul,.prose ol{margin:0 0 1.25rem}.prose li{margin-bottom:.4rem}
.prose a{text-decoration-color:var(--pink);text-decoration-thickness:2px}
.prose blockquote{margin:1.5rem 0;padding:.25rem 0 .25rem 1.25rem;border-left:5px solid var(--pink);font-weight:500}
.prose.page h1{font-size:clamp(2.2rem,6vw,3.75rem);margin-bottom:1.5rem}
.faq{margin-top:3rem;padding-top:1rem;border-top:2px solid var(--ink)}.faq h3{margin-top:1.5rem}
.more{padding:0}.more h2{font-size:1.75rem;margin-bottom:1rem}
.foot{margin-top:3rem;padding:2rem clamp(1rem,4vw,3rem);border-top:2px solid var(--ink);display:flex;flex-wrap:wrap;gap:.5rem 2rem;justify-content:space-between;font-size:.95rem}
.foot p{margin:0}.foot a{margin-right:1.25rem}
@media (max-width:560px){.row{grid-template-columns:3rem 1fr;gap:.9rem}.lead{box-shadow:5px 5px 0 var(--ink);border-radius:20px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
