.shero{text-align:center;padding:48px 20px 28px;background:radial-gradient(ellipse at top,var(--rose3),var(--ivory) 70%)}
.shero h1{font-size:clamp(34px,6vw,60px);color:var(--wine);margin:4px 0}.shero .flourish{width:240px;height:26px;color:var(--gold)}
.shero .sub{font:italic 20px var(--serif);color:var(--soft)}.love{font:600 22px var(--script);color:var(--rose)}.kicker{letter-spacing:.2em;text-transform:uppercase;font-size:12px;color:var(--gold)}
.sewwrap{display:grid;grid-template-columns:280px 1fr;gap:32px;max-width:1240px;margin:0 auto;padding:24px}
.toc{position:sticky;top:96px;align-self:start;max-height:calc(100vh - 110px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}
.toc input{width:100%;padding:10px 12px;border:1px solid var(--tea2);border-radius:20px;font:16px var(--serif);background:var(--ivory)}
.lvls{display:flex;flex-wrap:wrap;gap:4px;margin:10px 0}.lvls button{border:1px solid var(--line);background:var(--ivory);border-radius:14px;padding:3px 9px;font-size:12px;color:var(--soft)}.lvls button.on{background:var(--wine);color:#fff;border-color:var(--wine)}
.toc ol{list-style:none;padding:0;margin:0}.toc li a{display:flex;gap:8px;padding:7px 4px;text-decoration:none;color:var(--ink);border-bottom:1px dotted var(--line);font-size:16px}.toc li a span{color:var(--gold);font-weight:600}.toc li a i{margin-left:auto;font-style:normal;font-size:9px}
.toc li.hide{display:none}.tocx{font-style:italic;margin:10px 0}
.pbtn{width:100%;margin-top:8px;min-height:40px;border-radius:20px;border:0;background:var(--wine);color:#fff;font:italic 600 16px var(--serif)}.pbtn.ghost{background:none;color:var(--soft);border:1px solid var(--line)}
.l1{color:var(--sage2)}.l2{color:var(--gold)}.l3{color:var(--rose)}.l4{color:var(--wine)}
.how{background:var(--paper);border-left:4px solid var(--gold);padding:12px 16px;border-radius:6px;font-size:17px;margin-bottom:24px}
.mod{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px 28px;margin-bottom:28px;box-shadow:0 4px 18px rgba(74,48,48,.06);scroll-margin-top:100px}
.mod header{display:flex;gap:16px;align-items:flex-start}.no{font:600 40px var(--display);color:var(--rose2);line-height:1}
.mod h2{font:600 28px var(--display);margin:2px 0;color:var(--ink)}.lvl{font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.meta{margin:4px 0;color:var(--soft);font-size:16px}.prog{margin-left:auto;background:var(--rose3);color:var(--wine);border-radius:12px;padding:3px 10px;font-weight:600;white-space:nowrap}.prog.done{background:var(--sage);color:#fff}
.body{display:grid;grid-template-columns:1fr 200px;gap:20px;margin-top:12px}
.steps{padding-left:20px;font-size:18px;line-height:1.55}.steps li{margin-bottom:8px}.steps input{accent-color:var(--wine);transform:scale(1.2);margin-right:6px}.steps input:checked+*{}
.steps label:has(input:checked){color:var(--soft);text-decoration:line-through}
.dia{margin:0;background:var(--ivory);border:1px solid var(--line);border-radius:10px;padding:8px;text-align:center}.dia svg{width:100%;font-family:Georgia}.dia figcaption{font-style:italic;color:var(--soft);font-size:13px}
.tip{background:linear-gradient(90deg,var(--rose3),#fff);border-left:4px solid var(--rose);padding:12px 16px;border-radius:6px;font-size:17px;margin-top:10px}.tip b{font-family:var(--script);font-size:20px;color:var(--wine);margin-right:6px}
.vid{margin-top:12px;border:1px dashed var(--tea2);border-radius:10px;padding:14px;text-align:center;color:var(--soft);background:repeating-linear-gradient(45deg,var(--ivory),var(--ivory) 10px,#fff 10px,#fff 20px);font-style:italic}
.gowns h2,.gloss h2{font-size:40px;color:var(--wine);text-align:center}
.gwgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.gw{background:#fff;border:1px solid var(--line);border-top:4px solid var(--rose);border-radius:10px;padding:16px;font-size:16px}.gw h3{font:600 20px var(--display);margin:0 0 6px}.go a{display:block;font-style:italic}
.gloss dl{display:grid;grid-template-columns:180px 1fr;gap:8px 16px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;font-size:17px}.gloss dt{font-weight:700;color:var(--wine)}.gloss dd{margin:0}
.sfoot{text-align:center;padding:30px}.sfoot .flourish{width:240px;height:26px;color:var(--gold)}.sfoot p{font-size:30px;color:var(--wine)}
@media(max-width:860px){.sewwrap{grid-template-columns:1fr}.toc{position:static;max-height:none}.body{grid-template-columns:1fr}.dia{max-width:260px}}
@media print{.proto-flag,.top,.toc,.vid{display:none!important}.sewwrap{display:block}.mod{break-inside:avoid;box-shadow:none}}
