/* Mona Sans: Google Fonts, SIL Open Font License or Apache 2.0; latin subset */
@font-face {
  font-family: 'Mona Sans';
  font-style: normal;
  font-weight: 400 800;
  font-stretch: 100% 125%;
  font-display: swap;
  src: url(/fonts/mona-sans-normal-400-800.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Overpass Mono: Google Fonts, SIL Open Font License or Apache 2.0; latin subset */
@font-face {
  font-family: 'Overpass Mono';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/overpass-mono-normal-400-700.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Shipping for Sellers */
*,*::before,*::after{box-sizing:border-box}
:root{
  --bg:#F2EBDD; --ink:#17140F; --muted:#5C5346; --accent:#FF6A13;
  --accent-ink:#A33A00; --accent-soft:#FFE2CC; --tint:#E6DAC4;
  --line:#CDBFA7; --card:#FFFDF8;
  --maxw:68ch;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#16130F; --ink:#F1EADF; --muted:#B7AB96; --accent:#FF7A26;
    --accent-ink:#FF9F5C; --accent-soft:#3B2413; --tint:#241E17;
    --line:#3B3228; --card:#1E1A14;
    color-scheme:dark;
  }
}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:"Mona Sans","Helvetica Neue",Arial,sans-serif; font-size:17px; line-height:1.65;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
h1,h2,h3,h4{font-family:"Mona Sans","Helvetica Neue",Arial,sans-serif; line-height:1.18; letter-spacing:-0.02em;
  text-transform:none; margin:0 0 .5em; font-weight:800}
h1{font-size:clamp(2rem,1.35rem + 2.4vw,3rem)}
h2{font-size:clamp(1.4rem,1.15rem + 1.1vw,1.85rem); margin-top:2.2em}
h3{font-size:1.15rem; margin-top:1.9em}
p,ul,ol,table{margin:0 0 1.1em}
a{color:var(--accent-ink); text-underline-offset:2px; text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--accent); outline-offset:2px; border-radius:2px}
img{max-width:100%; height:auto}
.photo{margin:0 0 1.6em}
.photo img{display:block; width:100%; height:auto; aspect-ratio:3 / 2; object-fit:cover; border-radius:0px;
  background:var(--tint)}
hr{border:0; border-top:1px solid var(--line); margin:2.5rem 0}
code{font-family:ui-monospace,SFMono-Regular,Menlo,"Cascadia Mono",Consolas,monospace; font-size:.9em; background:var(--tint);
  padding:.12em .38em; border-radius:0px}
.wrap{max-width:1080px; margin:0 auto; padding:0 20px}
.prose{max-width:var(--maxw)}
.skip{position:absolute; left:-9999px; top:0; background:var(--accent); color:#fff;
  padding:.7rem 1rem; z-index:99; border-radius:0 0 0px 0}
.skip:focus{left:0}

/* header */
header.site{border-bottom:1px solid var(--line); background:var(--bg);
  position:sticky; top:0; z-index:20}
header.site .wrap{display:flex; align-items:center; gap:1.25rem;
  min-height:62px; flex-wrap:wrap}
.brand{font-family:"Mona Sans","Helvetica Neue",Arial,sans-serif; font-weight:800; font-size:1.05rem; letter-spacing:-.02em;
  color:var(--ink); text-decoration:none; display:flex; align-items:center; gap:.55rem;
  margin-right:auto; padding:.4rem 0}
.brand .mk{width:22px; height:22px; flex:none}
nav.main{display:flex; gap:1.1rem; flex-wrap:wrap}
nav.main a{color:var(--muted); text-decoration:none; font-size:.94rem; padding:.4rem 0;
  border-bottom:2px solid transparent}
nav.main a:hover,nav.main a[aria-current="page"]{color:var(--ink); border-bottom-color:var(--accent)}

/* hero */
.hero{background:var(--tint);border-bottom:3px solid var(--accent); --hero-fg:var(--ink);--hero-muted:var(--muted); padding:clamp(2.5rem,6vw,4.5rem) 0; color:var(--hero-fg)}
.hero h1{max-width:19ch; color:var(--hero-fg)}
.hero .lede{font-size:clamp(1.05rem,1rem + .4vw,1.28rem); max-width:56ch;
  color:var(--hero-muted); margin-bottom:1.6rem}
.kicker{font-family:ui-monospace,SFMono-Regular,Menlo,"Cascadia Mono",Consolas,monospace; font-size:.74rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--accent-ink); margin:0 0 .9rem; font-weight:600}
.hero .kicker{color:var(--hero-fg); opacity:.75}
.hero.underline h1{padding-bottom:.35em; border-bottom:6px solid var(--accent);
  display:inline-block; max-width:100%}
.hero.bar{padding-left:0}
.hero.bar .wrap{padding-left:34px}

/* buttons */
.btn{display:inline-block; background:var(--accent); color:#fff; padding:.72rem 1.25rem;
  border-radius:0px; text-decoration:none; font-weight:600; font-size:.97rem;
  border:1px solid transparent; cursor:pointer; font-family:"Mona Sans","Helvetica Neue",Arial,sans-serif}
.btn:hover{filter:brightness(.93)}
.btn.ghost{background:transparent; color:var(--hero-fg); border-color:currentColor; opacity:.85}
.btn.ghost:hover{opacity:1; filter:none}
.btns{display:flex; gap:.7rem; flex-wrap:wrap}

/* layout */
main{padding:2.5rem 0 3.5rem}
.cols{display:grid; grid-template-columns:minmax(0,1fr); gap:2.5rem}
@media (min-width:900px){.cols{grid-template-columns:minmax(0,1fr) 270px; gap:3.5rem}}
.cards{display:grid; gap:1.1rem; grid-template-columns:repeat(auto-fit,minmax(255px,1fr));
  padding:0; list-style:none; margin:1.6rem 0}
.card{background:var(--card); border:1px solid var(--line); border-radius:0px;
  padding:1.15rem 1.2rem; display:flex; flex-direction:column; gap:.4rem}
.card h3{margin:0; font-size:1.05rem}
.card p{margin:0; color:var(--muted); font-size:.94rem}
.card a{text-decoration:none; color:var(--ink)}
.card a:hover{color:var(--accent-ink)}
.card .rt{font-size:.8rem; color:var(--muted); font-family:ui-monospace,SFMono-Regular,Menlo,"Cascadia Mono",Consolas,monospace}

/* prose furniture */
.prose h2{scroll-margin-top:80px}
.prose h3{scroll-margin-top:80px}
.prose li{margin-bottom:.4em}
.key{font-size:1.05rem; border-left:3px solid var(--accent); padding:.1rem 0 .1rem 1rem;
  margin:1.5rem 0; font-weight:500}
.note{background:var(--tint); border:1px solid var(--line); border-left:4px solid var(--accent);
  border-radius:0 0px 0px 0; padding:1rem 1.15rem; margin:1.6rem 0}
.note p{margin:0 0 .5em} .note p:last-child{margin:0}
.note-t{font-weight:700; font-family:"Mona Sans","Helvetica Neue",Arial,sans-serif; font-size:.95rem}
.note.warn{border-left-color:#B42318}
blockquote{margin:1.6rem 0; padding-left:1.2rem; border-left:3px solid var(--line);
  color:var(--muted); font-style:italic}
.tw{overflow-x:auto; margin:1.6rem 0; border:1px solid var(--line); border-radius:0px}
table{border-collapse:collapse; width:100%; font-size:.93rem; margin:0}
caption{text-align:left; padding:.8rem 1rem .2rem; color:var(--muted); font-size:.86rem}
th,td{padding:.62rem .85rem; text-align:left; border-bottom:1px solid var(--line);
  vertical-align:top}
th{background:var(--tint); font-family:"Mona Sans","Helvetica Neue",Arial,sans-serif; font-size:.86rem; letter-spacing:.01em}
tbody tr:last-child td{border-bottom:0}
ol.steps{list-style:none; counter-reset:s; padding:0; margin:1.6rem 0}
ol.steps li{counter-increment:s; position:relative; padding-left:3rem; margin-bottom:1.2rem}
ol.steps li::before{content:counter(s); position:absolute; left:0; top:0;
  width:2rem; height:2rem; border-radius:0px; background:var(--accent); color:#fff;
  display:grid; place-items:center; font-family:"Mona Sans","Helvetica Neue",Arial,sans-serif; font-weight:700; font-size:.9rem}
ol.steps strong{display:block; font-family:"Mona Sans","Helvetica Neue",Arial,sans-serif; margin-bottom:.15rem}
ol.steps span{color:var(--muted)}
.faq details{border-bottom:1px solid var(--line); padding:.9rem 0}
.faq summary{cursor:pointer; font-weight:600; font-family:"Mona Sans","Helvetica Neue",Arial,sans-serif; list-style:none;
  display:flex; justify-content:space-between; gap:1rem; align-items:flex-start}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+"; color:var(--accent-ink); font-weight:700; flex:none}
.faq details[open] summary::after{content:"\2013"}
.faq details>div{padding-top:.6rem; color:var(--muted)}
.faq details>div p:last-child{margin:0}

/* breadcrumbs, meta, toc */
.crumbs{font-size:.85rem; color:var(--muted); margin:0 0 1.2rem}
.crumbs a{color:var(--muted)}
.crumbs span{padding:0 .4rem}
.pmeta{font-size:.86rem; color:var(--muted); font-family:ui-monospace,SFMono-Regular,Menlo,"Cascadia Mono",Consolas,monospace;
  margin:0 0 1.8rem; display:flex; gap:1rem; flex-wrap:wrap}
.toc{background:var(--tint); border-radius:0px; padding:1rem 1.2rem; margin:0 0 2rem;
  border:1px solid var(--line)}
.toc p{margin:0 0 .5rem; font-family:"Mona Sans","Helvetica Neue",Arial,sans-serif; font-weight:700; font-size:.9rem}
.toc ol{margin:0; padding-left:1.1rem; font-size:.93rem}
.toc li{margin-bottom:.28em}
aside.rail{font-size:.93rem}
aside.rail h2{font-size:.82rem; text-transform:uppercase; letter-spacing:.1em;
  color:var(--muted); margin:0 0 .8rem; font-family:ui-monospace,SFMono-Regular,Menlo,"Cascadia Mono",Consolas,monospace; font-weight:600}
aside.rail ul{list-style:none; padding:0; margin:0 0 2rem}
aside.rail li{margin-bottom:.6rem; line-height:1.4}
aside.rail a{text-decoration:none; color:var(--ink)}
aside.rail a:hover{color:var(--accent-ink); text-decoration:underline}
.rail-box{background:var(--tint); border:1px solid var(--line); border-radius:0px;
  padding:1rem 1.1rem; margin-bottom:2rem}
.rail-box p{margin:0 0 .7rem; font-size:.9rem; color:var(--muted)}
.rail-box .btn{width:100%; text-align:center; font-size:.9rem; padding:.6rem 1rem}

/* tool */
.tool{background:var(--card); border:1px solid var(--line); border-radius:0px;
  padding:1.4rem; margin:2rem 0}
.tool .grid{display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.tool label{display:block; font-size:.85rem; font-weight:600; margin-bottom:.3rem;
  font-family:"Mona Sans","Helvetica Neue",Arial,sans-serif}
.tool .hint{font-weight:400; color:var(--muted); font-size:.78rem; display:block}
.tool input,.tool select{width:100%; padding:.6rem .7rem; border:1px solid var(--line);
  border-radius:0px; background:var(--bg); color:var(--ink); font-size:1rem;
  font-family:"Mona Sans","Helvetica Neue",Arial,sans-serif}
.tool input:focus,.tool select:focus{border-color:var(--accent)}
.out{margin-top:1.4rem; border-top:1px solid var(--line); padding-top:1.2rem}
.stats{display:grid; gap:.9rem; grid-template-columns:repeat(auto-fit,minmax(135px,1fr));
  margin:0 0 1rem; padding:0; list-style:none}
.stat{background:var(--tint); border-radius:0px; padding:.8rem .9rem}
.stat dt{font-size:.76rem; text-transform:uppercase; letter-spacing:.07em;
  color:var(--muted); margin-bottom:.25rem; font-family:ui-monospace,SFMono-Regular,Menlo,"Cascadia Mono",Consolas,monospace}
.stat dd{margin:0; font-size:1.5rem; font-weight:700; font-family:"Mona Sans","Helvetica Neue",Arial,sans-serif;
  letter-spacing:-.02em; line-height:1.1}
.stat dd small{font-size:.85rem; font-weight:400; color:var(--muted); display:block;
  letter-spacing:0; margin-top:.15rem}
.verdict{font-size:1rem; padding:.85rem 1rem; border-radius:0px; background:var(--accent-soft);
  color:var(--ink); margin:0}
.tool table{font-size:.88rem}

/* mention + footer */
.mention{border:1px solid var(--line); border-left:4px solid var(--accent);
  background:var(--tint); border-radius:0 0px 0px 0; padding:1rem 1.2rem; margin:2rem 0;
  font-size:.95rem}
.mention p{margin:0}
.mention .lbl{font-family:ui-monospace,SFMono-Regular,Menlo,"Cascadia Mono",Consolas,monospace; font-size:.72rem; letter-spacing:.12em;
  text-transform:uppercase; color:var(--muted); display:block; margin-bottom:.35rem}
footer.site{border-top:1px solid var(--line); background:var(--tint);
  padding:2.5rem 0; margin-top:3rem; font-size:.9rem; color:var(--muted)}
footer.site .fgrid{display:grid; gap:2rem; grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
footer.site h2{font-size:.8rem; text-transform:uppercase; letter-spacing:.1em;
  margin:0 0 .7rem; font-family:ui-monospace,SFMono-Regular,Menlo,"Cascadia Mono",Consolas,monospace; color:var(--ink); font-weight:600}
footer.site ul{list-style:none; padding:0; margin:0}
footer.site li{margin-bottom:.45rem}
footer.site a{color:var(--muted); text-decoration:none}
footer.site a:hover{color:var(--accent-ink); text-decoration:underline}
.colophon{border-top:1px solid var(--line); margin-top:2rem; padding-top:1.5rem;
  display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; font-size:.85rem}
@media print{header.site,footer.site,aside.rail,.btns{display:none}}

header.site{position:static; border-bottom:0; padding-top:1.6rem}
header.site .wrap{align-items:flex-end; padding-bottom:.9rem;
  border-bottom:1px solid var(--line)}
.brand{flex-direction:column; align-items:flex-start; gap:.1rem; font-size:1.3rem}
.brand-tag{font-family:ui-monospace,SFMono-Regular,Menlo,"Cascadia Mono",Consolas,monospace; font-size:.66rem; letter-spacing:.13em;
  text-transform:uppercase; color:var(--muted); font-weight:500}
nav.main a{border-bottom:0; font-size:.9rem}
nav.main a[aria-current="page"]{text-decoration:underline; text-underline-offset:4px;
  text-decoration-thickness:2px; text-decoration-color:var(--accent)}


ul.cards.idx{display:block; border-top:2px solid var(--ink); margin-top:1.2rem;
  counter-reset:idx}
ul.cards.idx .card{display:grid; grid-template-columns:2.6rem minmax(0,1fr) auto;
  gap:0 1rem; align-items:baseline; background:transparent; border:0;
  border-bottom:1px solid var(--line); border-radius:0; padding:1.05rem .2rem}
ul.cards.idx .card::before{content:counter(idx,decimal-leading-zero); counter-increment:idx;
  font-family:ui-monospace,SFMono-Regular,Menlo,"Cascadia Mono",Consolas,monospace; font-size:.85rem; color:var(--muted)}
ul.cards.idx .card h3{font-size:1.08rem; grid-column:2}
ul.cards.idx .card p{grid-column:2; margin-top:.2rem}
ul.cards.idx .card .rt{grid-column:3; grid-row:1; text-align:right; white-space:nowrap}
@media (max-width:640px){
  ul.cards.idx .card{grid-template-columns:2.2rem minmax(0,1fr)}
  ul.cards.idx .card .rt{grid-column:2; grid-row:auto; text-align:left; margin-top:.35rem}
}

.tool .grid > div.wide{grid-column:1/-1}
.tool textarea{width:100%; padding:.65rem .75rem; border:1px solid var(--line);
  border-radius:var(--rs,6px); background:var(--bg); color:var(--ink);
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:.95rem;
  line-height:1.55; resize:vertical}
.tool textarea:focus{border-color:var(--accent)}

/* ============ Shipping for Sellers: label + manifest ============ */
:root{
  --mono:"Overpass Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --disp:"Mona Sans","Helvetica Neue",Arial,sans-serif;
  --stock:#FFFDF8; --kraft:#CDB38D; --kraft-2:#C1A378; --field:#8C7F6B;
  --inv:#17140F; --inv-ink:#FFFDF8; --thead:#17140F; --thead-ink:#FFFDF8;
  --foot:#17140F; --foot-ink:#F4EEE3; --foot-muted:#CDB38D; --foot-line:rgba(205,179,141,.28);
  --shade:rgba(40,25,5,.5); --rule:3px; --ease:cubic-bezier(.4,0,.6,1); --warn:#B42318;
  --fiber:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='280'%3E%3Cfilter id='k' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.2 .7' numOctaves='2' seed='11' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .33 0 0 0 0 .22 0 0 0 0 .08 0 0 0 1.9 -.95'/%3E%3C/filter%3E%3Crect width='280' height='280' filter='url%28%23k%29'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='600'%3E%3Cfilter id='m' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.006' numOctaves='2' seed='4' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .3 0 0 0 0 .2 0 0 0 0 .07 0 0 0 .9 -.38'/%3E%3C/filter%3E%3Crect width='600' height='600' filter='url%28%23m%29'/%3E%3C/svg%3E"); --bars:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 123 10' preserveAspectRatio='none'%3E%3Cpath d='M0 0h2v10h-2zM4 0h2v10h-2zM8 0h1v10h-1zM12 0h1v10h-1zM14 0h1v10h-1zM17 0h1v10h-1zM20 0h1v10h-1zM22 0h1v10h-1zM25 0h1v10h-1zM29 0h2v10h-2zM33 0h2v10h-2zM36 0h1v10h-1zM40 0h4v10h-4zM46 0h3v10h-3zM51 0h3v10h-3zM56 0h1v10h-1zM59 0h2v10h-2zM64 0h1v10h-1zM66 0h1v10h-1zM69 0h1v10h-1zM73 0h2v10h-2zM77 0h4v10h-4zM83 0h1v10h-1zM85 0h1v10h-1zM87 0h4v10h-4zM92 0h4v10h-4zM97 0h2v10h-2zM101 0h1v10h-1zM105 0h2v10h-2zM108 0h1v10h-1zM112 0h3v10h-3zM117 0h4v10h-4z'/%3E%3C/svg%3E"); --up:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8.25 4.5 11.5 8.75H9.4V16H7.1V8.75H5zM15.75 4.5 19 8.75h-2.1V16h-2.3V8.75H12.5zM5 17.5h14v2H5z'/%3E%3C/svg%3E"); --arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 10'%3E%3Cpath d='M0 4h10.2L7.3 1.1 8.4 0l5 5-5 5-1.1-1.1L10.2 6H0z'/%3E%3C/svg%3E"); --parcel:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 230 150' fill='none' stroke='black'%3E%3Cg stroke-width='2.2' stroke-linejoin='round'%3E%3Cpath d='M30 52h110v70H30zM30 52l40-30h110l-40 30M140 122l40-30V22'/%3E%3Cpath d='M85 52l40-30' stroke-width='1.6' stroke-dasharray='4 3'/%3E%3C/g%3E%3Cg stroke-width='1.4'%3E%3Cpath d='M30 136h110M30 131v10M140 131v10M16 52v70M11 52h10M11 122h10M150 130l40-30M147 126l6 8M187 96l6 8'/%3E%3C/g%3E%3Cg fill='black' stroke='none' font-family='ui-monospace,Menlo,monospace' font-weight='700' font-size='13'%3E%3Ctext x='80' y='150'%3EL%3C/text%3E%3Ctext x='0' y='92'%3EH%3C/text%3E%3Ctext x='196' y='124'%3EW%3C/text%3E%3C/g%3E%3C/svg%3E"); --chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%2317140F' stroke-width='2.4'/%3E%3C/svg%3E");
}
@media (prefers-color-scheme:dark){:root{
  --stock:#1E1A14; --kraft:#3A2D1F; --kraft-2:#30251A; --field:#8E8270;
  --inv:#EFE7DA; --inv-ink:#16130F; --thead:#3A2F22; --thead-ink:#F1EADF;
  --foot:#0F0D0A; --foot-ink:#F1EADF; --foot-muted:#C9B48F; --foot-line:rgba(201,180,143,.22);
  --shade:rgba(0,0,0,.7); --fiber:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='280'%3E%3Cfilter id='k' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.2 .7' numOctaves='2' seed='11' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .55 0 0 0 0 .44 0 0 0 0 .3 0 0 0 1.25 -.72'/%3E%3C/filter%3E%3Crect width='280' height='280' filter='url%28%23k%29'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='600'%3E%3Cfilter id='m' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.006' numOctaves='2' seed='4' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 -.38'/%3E%3C/filter%3E%3Crect width='600' height='600' filter='url%28%23m%29'/%3E%3C/svg%3E"); --chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23F1EADF' stroke-width='2.4'/%3E%3C/svg%3E");
}}
::selection{background:var(--accent); color:#17140F}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}

/* ---------- type ---------- */
body{font-size:18px; line-height:1.6; font-stretch:100%; font-weight:400}
h1,h2,h3{color:var(--ink); text-wrap:balance}
h1{font-size:clamp(2.1rem,1.35rem + 2.5vw,3.35rem); font-stretch:118%; line-height:1.02; letter-spacing:-.025em}
h2{font-size:clamp(1.42rem,1.2rem + .85vw,1.86rem); font-stretch:110%; line-height:1.12; letter-spacing:-.015em;
  margin:2.1em 0 .65em}
h3{font-size:1.16rem; font-stretch:104%; font-weight:700; line-height:1.3; letter-spacing:-.005em; margin:1.7em 0 .45em}
strong{font-weight:700}
a{color:var(--ink); text-decoration-color:var(--accent); text-decoration-thickness:2px; text-underline-offset:3px;
  transition:background-color .32s var(--ease),text-decoration-color .32s var(--ease)}
a:hover{text-decoration-color:var(--ink); text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--ink); outline-offset:3px; border-radius:0}
code{font-family:var(--mono); background:var(--tint); border-radius:0}
.skip{background:var(--inv); color:var(--inv-ink); font:700 .8rem/1 var(--mono); letter-spacing:.08em;
  text-transform:uppercase; border-radius:0}

/* ---------- header: brand block + manifest tabs ---------- */
header.site{position:sticky; top:0; z-index:30; padding:0; background:var(--bg);
  border-bottom:var(--rule) solid var(--ink)}
header.site .wrap{min-height:64px; padding-top:0; padding-bottom:0; border-bottom:0; align-items:stretch;
  flex-wrap:nowrap; gap:1.5rem}
.brand{flex:none; display:grid; grid-template-columns:auto auto; column-gap:.7rem; row-gap:3px; align-content:center;
  align-items:center; margin-right:auto; padding:.4rem 0; font-family:var(--disp); font-stretch:125%;
  font-weight:800; font-size:.98rem; line-height:1; letter-spacing:-.01em; text-transform:uppercase;
  text-decoration:none; color:var(--ink)}
.brand .mk{grid-row:1 / span 2; width:32px; height:32px}
.brand > span{grid-column:2}
.brand-tag{font:600 .6rem/1.2 var(--mono); letter-spacing:.12em; color:var(--muted); font-stretch:100%; white-space:nowrap}
nav.main{display:flex; gap:0; flex-wrap:nowrap; flex:1 1 auto; min-width:0; overflow-x:auto; scrollbar-width:none;
  scroll-snap-type:x proximity; overscroll-behavior-x:contain}
nav.main::-webkit-scrollbar{display:none}
nav.main a:first-child{margin-left:auto}
nav.main a{display:flex; align-items:center; min-height:44px; padding:0 .85rem; border:0; scroll-snap-align:start;
  border-left:1px solid var(--line); font:700 .72rem/1 var(--mono); letter-spacing:.09em; text-transform:uppercase;
  color:var(--ink); text-decoration:none; white-space:nowrap; transition:background-color .32s var(--ease)}
nav.main a:first-child{border-left:0}
nav.main a:hover{background:var(--accent-soft); color:var(--ink)}
nav.main a[aria-current="page"]{background:var(--inv); color:var(--inv-ink); border-bottom:0}
nav.main a[aria-current="page"]{text-decoration:none}
@media (max-width:1299px){
  .brand-tag{display:none}
  .brand{row-gap:0}
  .brand .mk{grid-row:1}
  nav.main{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 2.5rem),transparent);
    mask-image:linear-gradient(90deg,#000 calc(100% - 2.5rem),transparent)}
  nav.main a:last-child{margin-right:2.5rem}
}
@media (max-width:760px){
  header.site .wrap{min-height:58px; gap:.9rem; padding-right:0}
  .brand{flex:none; font-size:.74rem; font-stretch:112%; column-gap:.55rem}
  .brand .mk{width:28px; height:28px}
  .brand > span:first-of-type{max-width:10.2em; line-height:1.08}
  .brand-tag{display:none}
  nav.main a{padding:0 .8rem; font-size:.68rem}
}

/* ---------- hero: one shipping label on kraft board ---------- */
.hero.band{background:var(--fiber),linear-gradient(180deg,var(--kraft),var(--kraft-2)); border-bottom:0;
  padding:clamp(1.25rem,4.5vw,4rem) 0 clamp(1.6rem,5vw,4.5rem); color:var(--ink)}
.hero .wrap{position:relative; max-width:none; margin:0 12px; padding:0; background:var(--stock);
  border:var(--rule) solid var(--ink); box-shadow:0 1px 1px var(--shade),0 26px 48px -30px var(--shade)}
@media (min-width:760px){.hero .wrap{width:min(900px,100% - 40px); margin-left:max(20px,50% - 520px)}}
.hero .kicker{display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:48px;
  margin:0; padding:0 0 0 22px; border-bottom:var(--rule) solid var(--ink); font:700 .76rem/1 var(--mono);
  letter-spacing:.14em; color:var(--ink); opacity:1}
.hero .kicker::after{content:""; flex:none; align-self:stretch; width:52px; background:var(--inv);
  border-left:var(--rule) solid var(--ink)}
.hero .kicker::before{content:""; position:absolute; top:0; right:0; width:52px; height:48px; z-index:1;
  background:var(--inv-ink); -webkit-mask:var(--up) center/28px no-repeat; mask:var(--up) center/28px no-repeat}
.hero h1{max-width:none; margin:0; padding:.4em 22px .36em; font-size:clamp(2.2rem,1.1rem + 3.4vw,4.1rem);
  font-stretch:125%; line-height:.98; letter-spacing:-.03em; border-bottom:1px solid var(--ink)}
.hero .lede{max-width:54ch; margin:0; padding:18px 22px 0; font-size:clamp(1.04rem,.98rem + .35vw,1.24rem);
  line-height:1.5; color:var(--ink)}
.hero .btns{padding:20px 22px 22px; gap:.6rem}
.hero .wrap::after{content:""; display:block; height:clamp(34px,5vw,52px); margin:0 22px 20px; background:var(--ink);
  -webkit-mask:var(--bars) 0 0/246px 100% repeat-x; mask:var(--bars) 0 0/246px 100% repeat-x}

/* ---------- buttons: orange means act ---------- */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:.6rem; min-height:48px;
  padding:0 1.15rem; background:var(--accent); color:#17140F; border:2px solid var(--ink); border-radius:0;
  font:700 .78rem/1.2 var(--mono); letter-spacing:.09em; text-transform:uppercase; text-decoration:none;
  transition:background-color .32s var(--ease),color .32s var(--ease)}
.btn::after{content:""; flex:none; width:14px; height:10px; background:currentColor;
  -webkit-mask:var(--arrow) center/contain no-repeat; mask:var(--arrow) center/contain no-repeat}
.btn:hover{background:var(--inv); color:var(--inv-ink); filter:none}
.btn.ghost{background:transparent; color:var(--ink); border-color:var(--ink); opacity:1}
.btn.ghost:hover{background:var(--inv); color:var(--inv-ink)}

/* ---------- page furniture ---------- */
main{padding:clamp(1.75rem,4vw,3rem) 0 4.5rem}
.p-home main{padding-top:clamp(2.25rem,5vw,4rem)}
.p-home .prose > p:first-child{font-size:1.18rem; line-height:1.55}
.prose > ul:not(.cards){list-style:none; padding:0}
.prose > ul:not(.cards) > li{position:relative; padding-left:1.6rem; margin-bottom:.55em}
.prose > ul:not(.cards) > li::before{content:""; position:absolute; left:.15rem; top:.6em; width:.5rem; height:.5rem;
  background:var(--ink)}
.prose > ol:not(.steps){list-style:none; padding:0; counter-reset:ol}
.prose > ol:not(.steps) > li{counter-increment:ol; position:relative; padding-left:2.6rem; margin-bottom:.7em}
.prose > ol:not(.steps) > li::before{content:counter(ol,decimal-leading-zero); position:absolute; left:0; top:.28em;
  padding:.28rem .3rem .2rem; border:1.5px solid var(--ink); font:700 .66rem/1 var(--mono); letter-spacing:.04em}
.crumbs{margin:0 0 1.4rem; font:600 .68rem/1.4 var(--mono); letter-spacing:.11em; text-transform:uppercase;
  color:var(--muted)}
.crumbs a{color:var(--muted); text-decoration:none}
.crumbs a:hover{color:var(--ink); text-decoration:underline; text-decoration-color:var(--accent)}
.prose > .kicker{display:inline-block; margin:0 0 1rem; padding:.36rem .55rem .3rem; background:var(--inv);
  color:var(--inv-ink); font:700 .68rem/1 var(--mono); letter-spacing:.14em}
.pmeta{gap:0; margin:1.2rem 0 1.5rem; border-top:var(--rule) solid var(--ink); border-bottom:1px solid var(--ink);
  font:600 .7rem/1 var(--mono); letter-spacing:.09em; text-transform:uppercase; color:var(--ink)}
.pmeta > *{padding:.72rem 1rem .64rem 0; margin-right:1rem; border-right:1px solid var(--ink)}
.pmeta > :last-child{border-right:0; margin-right:0}
.prose > .lede{margin:0 0 2rem; font-size:clamp(1.1rem,1.02rem + .38vw,1.28rem); line-height:1.5; color:var(--ink)}

/* numbered sections, like the zones on a label */
body:not(.p-home) .prose{counter-reset:sec}
body:not(.p-home) .prose > h2:not(#keep-reading){counter-increment:sec; padding-top:.72em;
  border-top:var(--rule) solid var(--ink); scroll-margin-top:92px}
body:not(.p-home) .prose > h2:not(#keep-reading)::before{content:counter(sec,decimal-leading-zero);
  display:inline-block; vertical-align:.3em; margin-right:.75rem; padding:.36rem .46rem .3rem; background:var(--inv);
  color:var(--inv-ink); font:700 .66rem/1 var(--mono); letter-spacing:.06em}

/* table of contents: a packing list */
.toc{margin:0 0 2.4rem; padding:0; background:var(--stock); border:2px solid var(--ink); border-radius:0}
.toc p{margin:0; padding:.66rem 1rem .58rem; background:var(--tint); border-bottom:2px solid var(--ink);
  font:700 .68rem/1 var(--mono); letter-spacing:.14em; text-transform:uppercase}
.toc ol{list-style:none; margin:0; padding:.45rem 0; counter-reset:toc; font-size:.97rem}
.toc li{counter-increment:toc; display:flex; gap:.9rem; align-items:baseline; margin:0; padding:.36rem 1rem}
.toc li::before{content:counter(toc,decimal-leading-zero); flex:none; width:1.5rem; font:700 .7rem/1 var(--mono);
  color:var(--muted)}
.toc a{color:var(--ink); text-decoration:none; line-height:1.4}
.toc a:hover{text-decoration:underline; text-decoration-color:var(--accent)}

/* steps: numbered parcels on a dashed conveyor */
ol.steps{margin:1.8rem 0 2.2rem; padding:0}
ol.steps li{position:relative; min-height:3rem; margin:0; padding:0 0 1.5rem 4.25rem; scroll-margin-top:92px}
ol.steps li::before{content:counter(s,decimal-leading-zero); left:0; top:0; width:2.8rem; height:2.8rem;
  display:grid; place-items:center; background:var(--inv); color:var(--inv-ink); border-radius:0;
  font:700 .92rem/1 var(--mono); letter-spacing:.02em}
ol.steps li::after{content:""; position:absolute; left:calc(1.4rem - 1px); top:3.15rem; bottom:.35rem;
  border-left:2px dashed var(--line)}
ol.steps li:last-child{padding-bottom:0}
ol.steps li:last-child::after{display:none}
ol.steps strong{display:block; margin:.12rem 0 .3rem; font-family:var(--disp); font-stretch:108%; font-weight:750;
  font-size:1.1rem; line-height:1.3}
ol.steps span{display:block; color:var(--muted)}

/* tables: manifests */
.tw{margin:1.8rem 0 2.2rem; border:var(--rule) solid var(--ink); border-radius:0; -webkit-overflow-scrolling:touch;
  background:linear-gradient(90deg,var(--stock) 30%,transparent) left/40px 100% no-repeat local,
    linear-gradient(270deg,var(--stock) 30%,transparent) right/40px 100% no-repeat local,
    radial-gradient(farthest-side at 0 50%,var(--shade),transparent) left/12px 100% no-repeat scroll,
    radial-gradient(farthest-side at 100% 50%,var(--shade),transparent) right/12px 100% no-repeat scroll,
    var(--stock)}
.tw table{font-size:.95rem; font-variant-numeric:tabular-nums}
.tw caption{padding:.68rem 1rem .6rem; background:var(--tint); border-bottom:2px solid var(--ink); color:var(--ink);
  font:700 .68rem/1.35 var(--mono); letter-spacing:.12em; text-transform:uppercase}
.tw th{padding:.72rem 1rem .66rem; background:var(--thead); color:var(--thead-ink); border:0;
  font:700 .66rem/1.3 var(--mono); letter-spacing:.1em; text-transform:uppercase; white-space:nowrap}
.tw td{min-width:8.5rem; padding:.78rem 1rem; border-bottom:1px solid var(--line); border-right:1px solid var(--line);
  line-height:1.45}
.tw td:last-child{border-right:0}
.tw td:first-child{font-weight:560}
.tw tbody tr:last-child td{border-bottom:0}

/* notes: handling labels. warn is the red fragile sticker */
.note{margin:2rem 0; padding:0; background:var(--stock); border:2px solid var(--ink); border-radius:0}
.note .note-t{margin:0; padding:.66rem 1rem .6rem; background:var(--tint); border-bottom:2px solid var(--ink);
  font:700 .7rem/1.35 var(--mono); letter-spacing:.1em; text-transform:uppercase; color:var(--ink)}
.note p:not(.note-t){margin:0; padding:.9rem 1rem 1rem}
.note.warn{border-color:var(--warn)}
.note.warn .note-t{background:var(--warn); border-bottom-color:var(--warn); color:#FFFDF8}
.key{margin:2rem 0; padding:1.05rem 1.25rem 1.1rem; border:2px solid var(--ink); border-left-width:12px;
  background:var(--stock); font-family:var(--disp); font-stretch:106%; font-weight:650; font-size:1.12rem;
  line-height:1.45}
blockquote{margin:2rem 0; padding:.2rem 0 .2rem 1.2rem; border-left:4px solid var(--ink); color:var(--ink);
  font-style:normal}

/* faq */
.faq{margin:2.4rem 0; border-top:var(--rule) solid var(--ink)}
.faq details{padding:0; border-bottom:1px solid var(--ink)}
.faq summary{min-height:58px; padding:.9rem 0; gap:1.2rem; align-items:center; font-family:var(--disp);
  font-stretch:104%; font-weight:650; font-size:1.05rem; line-height:1.35}
.faq summary::after{content:"+"; flex:none; width:30px; height:30px; display:grid; place-items:center;
  border:2px solid var(--ink); font:700 1rem/1 var(--mono); color:var(--ink)}
.faq details[open] summary::after{content:"\2212"; background:var(--inv); color:var(--inv-ink); border-color:var(--inv)}
.faq summary:hover{text-decoration:underline; text-decoration-color:var(--accent); text-decoration-thickness:2px;
  text-underline-offset:3px}
.faq details > div{padding:0 3rem 1.15rem 0; color:var(--muted)}

/* disclosure: a declaration, plainly labelled */
.mention{margin:2.6rem 0; padding:1.05rem 1.2rem 1.15rem; background:var(--stock); border:2px solid var(--ink);
  border-radius:0; font-size:.95rem; line-height:1.55}
.mention .lbl{display:block; width:max-content; margin:0 0 .7rem; padding:.3rem .5rem .24rem; background:var(--inv);
  color:var(--inv-ink); font:700 .64rem/1 var(--mono); letter-spacing:.14em}

/* ---------- home: the manifest ---------- */
#guides,#keep-reading{display:flex; align-items:center; gap:1.25rem; margin-top:3rem; padding-top:.9rem;
  border-top:6px solid var(--ink)}
#guides::after,#keep-reading::after{content:""; flex:1 1 auto; max-width:220px; height:.72em; margin-left:auto;
  background:var(--ink); -webkit-mask:var(--bars) 0 0/150px 100% repeat-x; mask:var(--bars) 0 0/150px 100% repeat-x}
ul.cards.idx{display:grid; gap:0; grid-template-columns:4.4rem minmax(0,1fr) auto; margin:1.2rem 0 2.6rem;
  border:var(--rule) solid var(--ink); border-top:0; background:var(--stock); counter-reset:idx}
ul.cards.idx::before,ul.cards.idx::after{grid-row:1; padding:.78rem 1rem .72rem; background:var(--inv);
  color:var(--inv-ink); font:700 .66rem/1 var(--mono); letter-spacing:.13em; text-transform:uppercase}
ul.cards.idx::before{content:"No."; content:"No." / ""; grid-column:1}
ul.cards.idx::after{content:"Guide Read"; content:"Guide Read" / ""; grid-column:2 / -1; padding-left:0;
  text-align:justify; text-align-last:justify}
ul.cards.idx .card{grid-column:1 / -1; display:grid; grid-template-columns:subgrid; gap:0; align-items:baseline;
  position:relative; padding:0; background:transparent; border:0; border-top:1px solid var(--ink); border-radius:0;
  transition:background-color .32s var(--ease)}
ul.cards.idx .card::before{grid-column:1; grid-row:1 / span 2; align-self:start; padding:1.12rem 0 0 1rem;
  font:700 1rem/1 var(--mono); color:var(--ink)}
ul.cards.idx .card h3{grid-column:2; grid-row:1; margin:0; padding:1.02rem 1rem 0 0; font-size:1.2rem;
  font-stretch:112%; font-weight:750; line-height:1.25}
ul.cards.idx .card p{grid-column:2; grid-row:2; margin:0; padding:.32rem 1rem 1.1rem 0; color:var(--muted);
  font-size:.97rem; line-height:1.5}
ul.cards.idx .card .rt{grid-column:3; grid-row:1; padding:1.15rem 1rem 0; text-align:right;
  font:600 .68rem/1 var(--mono); letter-spacing:.09em; text-transform:uppercase; color:var(--muted)}
ul.cards.idx .card h3 a{text-decoration:none}
ul.cards.idx .card h3 a::after{content:""; position:absolute; inset:0}
ul.cards.idx .card:hover{background:var(--accent-soft)}
ul.cards.idx .card:hover h3 a{text-decoration:underline; text-decoration-color:var(--accent)}
@media (max-width:640px){
  ul.cards.idx{grid-template-columns:3.2rem minmax(0,1fr)}
  ul.cards.idx::after{grid-column:2}
  ul.cards.idx .card::before{grid-row:1 / span 3}
  ul.cards.idx .card p{padding-bottom:.45rem}
  ul.cards.idx .card .rt{grid-column:2; grid-row:3; margin:0; padding:0 1rem 1.05rem 0; text-align:left}
}
@supports selector(:has(a)){
  .cards .card:has(a:focus-visible){outline:3px solid var(--ink); outline-offset:2px}
  .cards .card h3 a:focus-visible{outline:none}
}

/* related guides: small labels */
ul.cards:not(.idx){gap:1rem; margin:1.1rem 0 0}
ul.cards:not(.idx) .card{position:relative; gap:.45rem; padding:1rem 1.1rem 1.15rem; background:var(--stock);
  border:2px solid var(--ink); border-radius:0; transition:background-color .32s var(--ease)}
ul.cards:not(.idx) .card::before{content:""; height:18px; margin-bottom:.4rem; background:var(--ink);
  -webkit-mask:var(--bars) 0 0/140px 100% repeat-x; mask:var(--bars) 0 0/140px 100% repeat-x}
ul.cards:not(.idx) .card h3{font-size:1.06rem; font-stretch:108%; font-weight:750; line-height:1.3}
ul.cards:not(.idx) .card h3 a{text-decoration:none}
ul.cards:not(.idx) .card h3 a::after{content:""; position:absolute; inset:0}
ul.cards:not(.idx) .card:hover{background:var(--accent-soft)}

/* ---------- article rail ---------- */
@media (min-width:1000px){
  .cols{grid-template-columns:minmax(0,1fr) 290px; gap:4.5rem}
  aside.rail{position:sticky; top:92px; align-self:start}
}
aside.rail{font-size:.95rem}
.rail-box{margin:0 0 2rem; padding:0; background:var(--stock); border:var(--rule) solid var(--ink); border-radius:0}
.rail-box::before{content:""; display:block; height:28px; margin:16px 16px 0; background:var(--ink);
  -webkit-mask:var(--bars) 0 0/170px 100% repeat-x; mask:var(--bars) 0 0/170px 100% repeat-x}
.rail-box p{margin:0; padding:.85rem 16px 0; color:var(--ink); font-size:.95rem; line-height:1.5}
.rail-box .btn{width:calc(100% - 32px); margin:1rem 16px 16px; padding:0 .8rem; font-size:.72rem}
aside.rail h2{margin:0; padding:0 0 .65rem; border-bottom:2px solid var(--ink); font:700 .68rem/1 var(--mono);
  letter-spacing:.14em; color:var(--ink)}
aside.rail ul{margin:0 0 2rem}
aside.rail li{margin:0; border-bottom:1px solid var(--line)}
aside.rail li a{display:block; padding:.68rem .2rem; color:var(--ink); text-decoration:none; line-height:1.38}
aside.rail li a:hover{background:var(--accent-soft); color:var(--ink); text-decoration:none}

/* ---------- tool: parcel in, label out ---------- */
.p-tool .rail-box{display:none}
@media (min-width:1000px){
  .p-tool .cols{grid-template-columns:minmax(0,1fr)}
  .p-tool .prose{max-width:none}
  .p-tool .prose > :not(.tool){max-width:46rem}
  .p-tool aside.rail{position:static; max-width:46rem}
  .p-tool aside.rail ul{columns:2; column-gap:2.5rem}
  .p-tool aside.rail li{break-inside:avoid}
}
.tool{margin:2rem 0 2.6rem; padding:0; background:var(--stock); border:var(--rule) solid var(--ink); border-radius:0}
@media (min-width:860px){.tool{display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr)}}
.tool .grid{align-content:start; gap:18px 12px; padding:22px; grid-template-columns:repeat(12,minmax(0,1fr))}
.tool .grid > div{grid-column:span 3; display:flex; flex-direction:column}
.tool .grid > div:has(select){grid-column:span 8}
.tool .grid > div:has(select) + div{grid-column:span 4}
@media (min-width:860px){
  .tool .grid{grid-template-rows:auto auto 1fr}
  .tool .grid::after{content:""; grid-column:1 / -1; align-self:end; height:150px; margin-top:8px; background:var(--muted);
    -webkit-mask:var(--parcel) center bottom/contain no-repeat; mask:var(--parcel) center bottom/contain no-repeat}
}
@media (max-width:640px){
  .tool .grid > div{grid-column:1 / -1}
}
.tool label{flex:1 1 auto; display:flex; flex-direction:column; justify-content:flex-start; margin:0 0 .5rem;
  font:700 .68rem/1.2 var(--mono); letter-spacing:.11em; text-transform:uppercase; color:var(--ink)}
.tool .hint{margin-top:.28rem; font:400 .8rem/1.35 var(--disp); letter-spacing:0; text-transform:none;
  color:var(--muted)}
.tool input,.tool select{height:52px; padding:0 14px; border:2px solid var(--ink); border-radius:0;
  background:var(--bg); color:var(--ink); font:600 1.12rem/1 var(--mono); font-variant-numeric:tabular-nums;
  transition:box-shadow .32s var(--ease)}
.tool select{-webkit-appearance:none; appearance:none; padding-right:56px; font:600 .88rem/1 var(--disp); letter-spacing:0;
  text-overflow:ellipsis;
  background:var(--chev) right 15px center/14px 9px no-repeat,
    linear-gradient(var(--ink),var(--ink)) right 44px center/2px 56% no-repeat,var(--bg)}
.tool input:focus,.tool select:focus{border-color:var(--ink); box-shadow:inset 0 -5px 0 var(--accent)}
.out{display:flex; flex-direction:column; margin:0; padding:0; border-top:var(--rule) solid var(--ink)}
@media (min-width:860px){.out{border-top:0; border-left:var(--rule) solid var(--ink)}}
.out > p:only-child{margin:0; padding:22px; color:var(--muted)}
.stats{grid-template-columns:minmax(0,1fr); gap:0; margin:0}
.stat{padding:13px 20px 14px; background:transparent; border-radius:0; border-top:1px solid var(--ink)}
.stat:not(:first-child){display:grid; grid-template-columns:auto minmax(0,1fr); column-gap:1.2rem; align-items:baseline}
.stat:not(:first-child) dt{white-space:nowrap}
.stat:not(:first-child) dd{text-align:right}
.stat:first-child{grid-column:1 / -1; padding:18px 22px 20px; background:var(--inv); color:var(--inv-ink); border:0}
.stat dt{margin:0 0 .5rem; font:700 .64rem/1.2 var(--mono); letter-spacing:.12em; color:var(--muted)}
.stat:first-child dt{color:inherit; opacity:.72}
.stat dd{font-family:var(--disp); font-stretch:110%; font-weight:800; font-size:1.32rem; line-height:1.05;
  letter-spacing:-.01em; font-variant-numeric:tabular-nums}
.stat:first-child dd{font-size:clamp(2.6rem,1.8rem + 2.6vw,4rem); font-stretch:125%; letter-spacing:-.03em;
  line-height:.95}
.stat dd small{margin-top:.35rem; font:600 .62rem/1.4 var(--mono); letter-spacing:.07em; text-transform:uppercase;
  color:var(--muted)}
.stat:first-child dd small{color:inherit; opacity:.72}
.verdict{margin:0 0 16px; padding:16px 20px 18px 26px; background:var(--accent-soft); border-radius:0;
  border-top:var(--rule) solid var(--ink); box-shadow:inset 8px 0 0 var(--accent); color:var(--ink);
  font-size:.98rem; line-height:1.5}
.out .flags{list-style:none; margin:-16px 0 16px; padding:0; border-top:1px solid var(--ink)}
.out .flags li{position:relative; margin:0; padding:.72rem 20px .72rem 46px; border-bottom:1px dashed var(--line);
  font-size:.9rem; line-height:1.45}
.out .flags li::before{content:""; position:absolute; left:22px; top:1.02rem; width:9px; height:9px; background:var(--ink)}
.out::after{content:""; display:block; height:38px; margin:auto 20px 18px; background:var(--ink);
  -webkit-mask:var(--bars) 0 0/200px 100% repeat-x; mask:var(--bars) 0 0/200px 100% repeat-x}
@media (max-width:480px){
  .btn{letter-spacing:.04em; font-size:.72rem; padding:0 1rem}
  .tool .grid{padding:16px; gap:16px 10px}
  .stat{padding:12px 16px}
  .stat:first-child{padding:16px 16px 18px}
  .stat:not(:first-child) dd{font-size:1.18rem}
}

/* ---------- 404 ---------- */
.p-404 .prose::before{content:"404"; content:"404" / ""; display:block; margin:0 0 1rem;
  font:800 clamp(5rem,3rem + 9vw,8.5rem)/.85 var(--disp); font-stretch:125%; letter-spacing:-.04em;
  color:transparent; -webkit-text-stroke:2px var(--ink)}
.p-404 .prose > ul{border-top:var(--rule) solid var(--ink)}
.p-404 .prose > ul > li{margin:0; padding:.7rem 0 .7rem 1.6rem; border-bottom:1px solid var(--line)}
.p-404 .prose > ul > li::before{top:1.3em}

/* ---------- footer: thermal black with a barcode edge ---------- */
footer.site{margin-top:0; padding:0 0 2.4rem; background:var(--foot); color:var(--foot-muted); border-top:0;
  font-size:.92rem}
footer.site::before{content:""; display:block; height:22px; margin:0 0 2.6rem; background:var(--foot-muted);
  -webkit-mask:var(--bars) 0 0/300px 100% repeat-x; mask:var(--bars) 0 0/300px 100% repeat-x}
footer.site :focus-visible{outline-color:var(--accent)}
footer.site .fgrid{grid-template-columns:1.5fr 1fr 1fr; gap:2.5rem}
footer.site h2{margin:0 0 1rem; padding:0 0 .7rem; border-bottom:1px solid var(--foot-line); color:var(--foot-muted);
  font:700 .66rem/1 var(--mono); letter-spacing:.14em}
footer.site .fgrid > div:first-child h2{padding:0; border:0; margin-bottom:.8rem; color:var(--foot-ink);
  font:800 1.3rem/1 var(--disp); font-stretch:125%; letter-spacing:-.02em; text-transform:uppercase}
footer.site p{color:var(--foot-muted)}
footer.site a{display:inline-flex; align-items:center; min-height:44px; color:var(--foot-ink); text-decoration:none}
footer.site a:hover{color:var(--foot-ink); text-decoration:underline; text-decoration-color:var(--accent)}
footer.site li{margin:0}
.colophon{margin-top:2.4rem; padding-top:1.15rem; border-top:1px solid var(--foot-line);
  font:600 .64rem/1.6 var(--mono); letter-spacing:.09em; text-transform:uppercase}
@media (max-width:760px){
  footer.site .fgrid{grid-template-columns:1fr 1fr; gap:2rem 1.5rem}
  footer.site .fgrid > div:first-child{grid-column:1 / -1}
}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}
@media print{
  *,*::before,*::after{-webkit-print-color-adjust:exact!important; print-color-adjust:exact!important}
  .hero.band{background:none; padding:0}
  .hero .wrap{box-shadow:none; margin:0}
  .hero .wrap::after,.hero .kicker::before,.hero .kicker::after{display:none}
  .tw{overflow:visible}
  .tw table{table-layout:fixed}
  .tw th,.tw td{white-space:normal; overflow-wrap:anywhere}
}
