:root{--wine:#5B2333;--rose:#C9707D;--cream:#FBF3EC;--amber:#D9822B;--thread:#3E6E8E;--ink:#2A1C20;--soft:#6E5A5F;--disp:'Playfair Display',Georgia,serif;--body:'Manrope',system-ui,sans-serif;--mono:'B612 Mono',ui-monospace,monospace}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font:400 1.04rem/1.7 var(--body)}
a{color:#A23A4B;text-underline-offset:3px}a:hover{color:var(--wine)}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;background:var(--wine);color:var(--cream);padding:.6rem 1rem;z-index:9}.skip:focus{left:1rem}
.wrap{width:min(1100px,100% - 2.5rem);margin-inline:auto}
h1,h2,h3{font-family:var(--disp);font-weight:600;line-height:1.14;margin:0 0 .6em}
h1{font-size:clamp(2.2rem,4.8vw,3.5rem)}h1 em{display:block;font-weight:500;color:var(--rose)}
h2{font-size:clamp(1.6rem,3vw,2.3rem)}h3{font-size:1.15rem;font-family:var(--body);font-weight:700}
.spool{font:400 .76rem/1.4 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--thread);margin:0 0 1rem;display:inline-block;padding:.2rem .7rem;border-radius:999px;background:#E6EEF3}
.prose{max-width:62ch}.prose p{margin:0 0 1rem}
.table{background:var(--wine)}
.table__in{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;gap:1rem}
.table__tape{height:14px;background:var(--amber);background-image:repeating-linear-gradient(90deg,var(--wine) 0 1px,transparent 1px 10px),repeating-linear-gradient(90deg,var(--wine) 0 2px,transparent 2px 50px);background-size:100% 6px,100% 10px;background-repeat:no-repeat;background-position:0 0,0 0}
.brand{display:flex;align-items:center;gap:.6rem;color:var(--cream);text-decoration:none;font:600 1.6rem/1 var(--disp)}.brand svg{width:24px;height:28px}
.table nav{display:flex;gap:1.4rem}.table nav a{color:#F0D9DC;text-decoration:none;font-weight:600}.table nav a:hover{color:var(--amber)}
.hero{padding:4.5rem 0 3.5rem}
.hero__grid{display:grid;grid-template-columns:1.4fr 1fr;gap:3rem;align-items:center}
.lede{font-size:1.12rem;max-width:58ch}
.tin{background:#fff;border-radius:50% 50% 12px 12px / 18% 18% 12px 12px;border:2px solid var(--wine);padding:2.4rem 1.6rem 1.4rem;box-shadow:0 10px 0 -4px var(--rose)}
.tin h2{font-size:1.45rem;text-align:center}
.tin ol{list-style:none;margin:0 0 1rem;padding:0}.tin li{display:flex;gap:.8rem;padding:.45rem 0;border-bottom:1px dashed var(--rose)}
.tin li span{font:400 .8rem var(--mono);color:var(--amber);padding-top:.2rem}
.tin p{font-size:.9rem;color:var(--soft);margin:0;text-align:center}
.row-sec{padding:4.5rem 0;background:#F4E4DA}
.row__grid{display:grid;grid-template-columns:1.3fr 1fr;gap:3rem;align-items:center}
.row{margin:0;background:var(--cream);border:2px solid var(--wine);border-radius:12px;padding:1rem}
.row svg{width:100%;height:auto;display:block}.row figcaption{font-size:.9rem;color:var(--soft);margin-top:.6rem}
.row .flange{fill:#8C5A3C}.row .core{fill:#D8C2A8}
.row .job{fill:var(--wine)}.row .side{fill:var(--amber)}
.row .over .side{fill:#E0453A}
.row .l{font:400 12px var(--mono);text-anchor:middle;fill:var(--ink)}.row .pct{font:400 11px var(--mono);text-anchor:middle;fill:var(--soft)}.row .over .pct{fill:#C2362C}
.row .safe{stroke:var(--thread);stroke-width:2;stroke-dasharray:6 5}.row .safe-l{font:400 10px var(--mono);text-anchor:end;fill:var(--thread)}
@media (prefers-reduced-motion:no-preference){.row .job,.row .side{transform-box:fill-box;transform-origin:50% 100%;animation:wind 1.4s ease-out both;animation-delay:calc(var(--i) * .35s)}.row .side{animation-delay:calc(var(--i) * .35s + .5s)}.row .over .side{animation:wind 1.4s ease-out both,warn 1.6s ease-in-out 3s infinite}}
@keyframes wind{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes warn{50%{opacity:.55}}
.pattern{padding:4.5rem 0}
.tbl-wrap{overflow-x:auto;margin-top:1.5rem;border:2px solid var(--wine);border-radius:8px;background:#fff}
.tbl{border-collapse:collapse;width:100%;min-width:680px}
.tbl caption{text-align:left;padding:.8rem 1rem;font:400 .8rem var(--mono);color:var(--soft);border-bottom:2px solid var(--wine)}
.tbl th,.tbl td{padding:.8rem 1rem;text-align:left;vertical-align:top;border-bottom:1px solid #F4E4DA}
.tbl thead th{font:400 .74rem var(--mono);text-transform:uppercase;background:var(--wine);color:var(--cream)}
.tbl tbody th{font-family:var(--disp);font-weight:600}
.wt{display:inline-block;width:34px;margin-right:.5rem;vertical-align:middle;border-radius:3px;background:var(--amber)}
.w1{height:3px}.w2{height:6px}.w3{height:10px;background:#C2362C}
.tangles{padding:4.5rem 0;background:var(--wine);color:var(--cream)}.tangles .spool{background:rgba(251,243,236,.12);color:var(--amber)}
.risk-list{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}
.risk-list li{background:rgba(251,243,236,.06);border-radius:12px;padding:1.2rem;border-top:4px solid var(--amber)}
.risk-list span{font:400 .74rem var(--mono);color:var(--amber)}.risk-list h3{margin-top:.4rem}.risk-list p{margin:0;font-size:.95rem;color:#F0D9DC}
.drawer{padding:4.5rem 0}
.drawer__grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}
.reading{list-style:none;margin:0;padding:0}.reading li{border-top:1px solid var(--wine)}
.reading a{display:block;padding:.9rem 0;text-decoration:none;color:var(--ink)}.reading span{display:block;font:400 .74rem var(--mono);text-transform:uppercase;color:var(--thread)}
.reading strong{font:600 1.3rem var(--disp)}.reading a:hover strong{text-decoration:underline}
.page{padding:3.5rem 0 4.5rem}.page article{max-width:68ch}.page h2{font-size:1.5rem;margin-top:2rem}.page .meta{font:400 .82rem var(--mono);color:var(--soft)}
.page ul{padding-left:1.2rem}.page li{margin-bottom:.5rem}
.backlink{display:inline-block;margin-top:2rem;font-weight:700}
.foot{background:var(--wine);color:#F0D9DC;padding:2.5rem 0;font-size:.9rem;border-top:14px solid var(--amber)}
.foot nav{display:flex;flex-wrap:wrap;gap:1.2rem;margin-bottom:1rem}.foot a{color:var(--cream)}
@media (max-width:860px){.hero__grid,.row__grid,.drawer__grid{grid-template-columns:1fr}.hide-sm{display:none}}
