@font-face{font-family:"Big Shoulders";src:url(/fonts/big-shoulders-display-latin-900-normal.woff2) format("woff2");font-weight:900;font-display:swap}
@font-face{font-family:"Big Shoulders";src:url(/fonts/big-shoulders-display-latin-800-normal.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"Atkinson";src:url(/fonts/atkinson-hyperlegible-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Atkinson";src:url(/fonts/atkinson-hyperlegible-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Red Hat Mono";src:url(/fonts/red-hat-mono-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}

@font-face{font-family:"Shoulders fallback";src:local("Impact");size-adjust:76%;ascent-override:95%;descent-override:22%;line-gap-override:0%}
@font-face{font-family:"Shoulders narrow";src:local("Arial Narrow Bold"),local("Roboto Condensed Bold"),local("Avenir Next Condensed Bold");font-weight:800 900;size-adjust:82%;ascent-override:95%;descent-override:22%;line-gap-override:0%}
@font-face{font-family:"Shoulders plain";src:local("Arial Bold"),local("Helvetica Bold"),local("Roboto Bold"),local("DejaVu Sans Bold"),local("Arial");font-weight:800 900;size-adjust:64%;ascent-override:125%;descent-override:30%;line-gap-override:0%}
@font-face{font-family:"Atkinson fallback";src:local("Arial");size-adjust:101%;ascent-override:92%;descent-override:22%;line-gap-override:0%}

:root{
 --ink:#12324a;--ink-deep:#0b2233;--blue:#c9e7f2;--blue-soft:#e6f4f9;--yellow:#ffe478;--paper:#fbfdfe;--rule:#a9c5d3;--focus:#8d3000;
 --display:"Big Shoulders","Shoulders fallback","Shoulders narrow","Shoulders plain",sans-serif;--body:"Atkinson","Atkinson fallback",Arial,sans-serif;--mono:"Red Hat Mono",Consolas,monospace;
 --small:.9375rem;
 --gutter:clamp(20px,5vw,72px);--max:1320px;--edge:max(var(--gutter),calc((100% - var(--max))/2));
}
*{box-sizing:border-box}
html{color-scheme:light;scrollbar-color:var(--ink) var(--blue-soft)}
html{scroll-behavior:smooth;scroll-padding-top:24px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.6 var(--body)}
::selection{background:var(--ink);color:var(--yellow)}
h1 span::selection,.missing ::selection,.brand span::selection,.bar ::selection,.foot ::selection,.contents ::selection{background:var(--yellow);color:var(--ink)}
html{-webkit-tap-highlight-color:rgb(255 228 120 / .5)}
button,summary,.action,label{touch-action:manipulation}
a{overflow-wrap:anywhere}
a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:3px}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
main:focus{outline:0}
.skip{position:absolute;left:12px;top:-80px;z-index:5;background:var(--yellow);color:var(--ink);padding:12px 16px;font-weight:700}
.skip:focus{top:8px}
p{max-width:68ch;margin:0 0 1em;text-wrap:pretty}
h1,h2{font-family:var(--display);font-weight:900;text-transform:uppercase;text-wrap:balance;margin:0;line-height:.95;letter-spacing:.005em}
h2{font-size:clamp(2.6rem,5.4vw,4.75rem)}
code{font:500 .875em var(--mono);letter-spacing:0;font-variant-ligatures:none}

/* Bar */
.bar{background:var(--ink);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:env(safe-area-inset-top,0px);min-height:64px}
.brand{display:inline-flex;align-items:center;gap:.25em;min-height:44px;font:800 1.625rem/1 var(--display);text-transform:uppercase;text-decoration:none;letter-spacing:.02em;flex-wrap:wrap;min-width:0}
.brand span{color:var(--yellow)}
.bar nav{display:flex;gap:clamp(14px,3vw,32px);font-size:var(--small)}
.bar nav a{display:inline-flex;align-items:center;min-height:44px}
.bar :focus-visible,.foot :focus-visible,.contents :focus-visible{outline-color:var(--yellow)}

/* Hero */
.intro{background:var(--blue);padding:clamp(28px,3.6vw,52px) var(--edge) clamp(44px,4.5vw,68px);display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,1fr);gap:clamp(32px,5vw,80px);align-items:start;overflow:hidden}
.pitch{max-width:820px}
h1{font-size:clamp(3.75rem,8vw,7.25rem);line-height:.9;margin-bottom:.26em}
h1 span{display:inline-block;background:var(--ink);color:var(--yellow);padding:.03em .14em .05em;margin-left:-.04em;transform:rotate(-1.2deg);box-shadow:0 6px 14px rgb(11 34 51 / .28)}
.lead{font-size:clamp(1.15rem,1.7vw,1.4rem);line-height:1.4;max-width:34em;margin-bottom:1em}
.offer{display:flex;flex-wrap:wrap;align-items:stretch;gap:14px 24px;margin-bottom:20px}
.price{font:900 clamp(3rem,5vw,4.25rem)/1 var(--display);margin:0;display:flex;align-items:center;gap:12px}
.price span{font:400 var(--small)/1.25 var(--body);max-width:9em}
.action{display:inline-flex;align-items:center;min-height:52px;padding:10px 22px;background:var(--ink);color:#fff;font-weight:700;text-decoration:none}
.action,button{transition:background-color .15s ease-out,color .15s ease-out}
.action:hover{background:var(--ink-deep);color:var(--yellow)}
.notice{flex:1 1 300px;border:3px double var(--ink);padding:8px 14px;font-size:var(--small);margin:0}
.notice strong{font-family:var(--display);font-weight:800;font-size:1.25em;text-transform:uppercase;letter-spacing:.03em;margin-right:.2em}

.final-line{margin:0 0 18px;font-size:1rem}

/* Tote tag */
.tag-hang{position:relative;padding-top:24px;filter:drop-shadow(0 18px 22px rgb(11 34 51 / .22))}
.tag-hang::before{content:"";position:absolute;left:50%;top:-140px;height:224px;width:3px;margin-left:-1px;background:var(--ink);z-index:1;transform:rotate(3deg);transform-origin:bottom}
.load-sheet{position:relative;background:radial-gradient(circle at 50% 28px,transparent 11px,#d9b93e 12px,#d9b93e 17px,transparent 18px),var(--yellow);padding:62px clamp(20px,2.4vw,32px) 22px;transform:rotate(1.4deg);transform-origin:50% 28px;animation:settle 1.1s cubic-bezier(.16,1,.3,1) both;
 clip-path:polygon(16% 0,84% 0,100% 8%,100% 100%,0 100%,0 8%);
 -webkit-mask:radial-gradient(circle at 50% 28px,transparent 11px,#000 12px);mask:radial-gradient(circle at 50% 28px,transparent 11px,#000 12px)}
.tag-id{font:500 .875rem var(--mono);margin:0 0 6px}
.load-sheet h2{font-size:clamp(2.2rem,3.4vw,3.1rem)}
.load-sheet svg{display:block;width:100%;height:clamp(130px,14vw,190px)}
.load-sheet dl{display:grid;grid-template-columns:1fr 1fr;margin:0 0 14px;border:3px solid var(--ink)}
.load-sheet dl div{padding:8px 14px}
.load-sheet dt{font:800 1.125rem/1.1 var(--display);text-transform:uppercase;letter-spacing:.04em}
.load-sheet dd{font:900 clamp(2.4rem,3.4vw,3.25rem)/1 var(--display);margin:0}
.load-sheet .missing{background:var(--ink);color:var(--yellow)}
.next{margin:0 0 6px}
.load-sheet .is-yes{display:none}
.load-sheet:has(input:checked) .is-yes{display:inline}
.load-sheet:has(input:checked) .is-no{display:none}
.load-sheet:has(input:checked) .missing{background:transparent;color:var(--ink);transition:background-color .25s ease-out,color .25s ease-out}
.load-toggle{display:flex;align-items:center;gap:12px;min-height:48px;margin:2px 0 6px;font-weight:700;cursor:pointer}
.load-toggle input{width:26px;height:26px;margin:0;flex:none;accent-color:var(--ink)}
.load-toggle:hover span{text-decoration:underline;text-underline-offset:.22em}
@supports not selector(:has(a)){.load-toggle{display:none}}
.rack{position:relative;overflow:hidden;margin:10px 0}
.stamp{position:absolute;right:6%;top:50%;margin-top:-.75em;padding:.08em .3em;border:5px double var(--ink);color:var(--ink);background:rgb(255 228 120 / .86);font:900 clamp(1.9rem,3.6vw,3.25rem)/1 var(--display);text-transform:uppercase;letter-spacing:.03em;transform:rotate(-9deg);pointer-events:none}
.load-sheet:has(input:checked) .stamp{display:block;animation:stamp .26s cubic-bezier(.16,1,.3,1) both}
@keyframes stamp{from{opacity:0;transform:rotate(-3deg) scale(1.7)}to{opacity:1;transform:rotate(-9deg) scale(1)}}
@keyframes settle{from{transform:rotate(-2.6deg)}to{transform:rotate(1.4deg)}}
.load-sheet small{display:block;font-size:var(--small);line-height:1.35}
.demo-note{margin-bottom:6px}

/* Sections */
.manifest{position:relative}
.manifest::before{content:"";position:absolute;inset:-7px 0 auto;height:14px;background:radial-gradient(circle at 12px 7px,var(--paper) 5px,transparent 5.5px) 0 0/24px 14px repeat-x}
.manifest,.contents,.faq{padding:clamp(56px,7vw,112px) var(--edge)}
.sec-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,5vw,72px);align-items:end;margin-bottom:32px}
.sec-head p{margin:0}
.table-wrap{overflow-x:auto;border:3px solid var(--ink)}
table{width:100%;border-collapse:collapse;text-align:left;min-width:620px;font-variant-numeric:tabular-nums}
caption{text-align:left;padding:10px 16px;font-size:var(--small);background:var(--blue-soft);border-bottom:1px solid var(--rule)}
@media(min-width:641px){thead th:first-child{width:30%}thead th:nth-child(n+2):nth-child(-n+4){width:11%}}
th,td{padding:14px 16px;border-bottom:1px solid var(--rule)}
tr:last-child>*{border-bottom:0}
thead th{background:var(--ink);color:#fff;font:800 1.15rem/1.1 var(--display);text-transform:uppercase;letter-spacing:.03em;border:0}
tbody th{font-weight:700}
tbody code{display:block;font-weight:500;color:var(--ink)}
tbody td:nth-child(n+2):nth-child(-n+4){font:900 1.7rem/1 var(--display)}
tbody tr:not(.open){background:#fff}
tr.open{background:var(--yellow)}
tr.open td:last-child{font-weight:700}
.checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:40px 0 28px;border-top:3px solid var(--ink)}
.checks div{padding:14px clamp(14px,2vw,28px) 4px 0}
.checks div+div{border-left:1px solid var(--rule);padding-left:clamp(14px,2vw,28px)}
.checks dt{font:900 clamp(2rem,3vw,2.75rem)/1 var(--display);text-transform:uppercase;margin-bottom:6px}
.checks dd{margin:0}
.after{margin:0}

.contents{background:var(--ink);color:#fff}
.contents h2{color:#fff;margin-bottom:36px}
.contents ul{list-style:none;margin:0 0 24px;padding:0;border-top:3px solid #fff}
.contents li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:16px clamp(24px,4vw,64px);padding:24px 0;border-bottom:1px solid #47657a;align-items:center}
.file-meta strong,.file-meta code,.file-meta span{display:block}
.file-meta strong{font-size:1.1875rem}
.file-meta code{margin:2px 0 8px}
.slip{margin:0;background:var(--paper);color:var(--ink);padding:10px 16px 12px;box-shadow:0 8px 18px rgb(0 0 0 / .28)}
.slip figcaption{font:800 .9375rem/1.2 var(--display);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}
.slip pre{margin:0;font:500 .875rem/1.5 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;font-variant-ligatures:none}
.contents li code{color:var(--blue);font-size:.95rem}
.contents p{font-size:var(--small);margin:0}

.faq{background:var(--blue-soft);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(20px,5vw,72px);align-items:start}
.faq-list{border-top:3px solid var(--ink);width:100%}
details{border-bottom:1px solid var(--ink)}
summary{cursor:pointer;font-weight:700;font-size:1.1875rem;line-height:1.3;padding:10px 0;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none}
summary::-webkit-details-marker{display:none}
summary::after{content:"";flex:none;width:16px;height:16px;background:linear-gradient(currentColor,currentColor) center/100% 3px no-repeat,linear-gradient(currentColor,currentColor) center/3px 100% no-repeat}
summary::after{transition:transform .2s cubic-bezier(.16,1,.3,1)}
details[open] summary::after{transform:rotate(180deg);background:linear-gradient(currentColor,currentColor) center/100% 3px no-repeat}
details p{padding-bottom:12px}

.foot{background:var(--ink-deep);color:#fff;padding:24px var(--edge) calc(24px + env(safe-area-inset-bottom,0px));display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 32px;font-size:var(--small)}
.foot p{margin:0}
.foot nav{display:flex;flex-wrap:wrap;gap:0 24px}
.foot nav a{display:inline-flex;align-items:center;min-height:44px}

/* Policy and recovery sheets */
body:has(.policy){background:var(--blue);display:flex;flex-direction:column;min-height:100vh}
body:has(.policy) .foot{margin-top:auto}
.policy{width:min(calc(43rem + 2 * var(--gutter)),calc(100% - 2 * clamp(0px,3vw,40px)));margin:clamp(0px,3vw,40px) auto;padding:clamp(32px,4.5vw,60px) var(--gutter) clamp(40px,5vw,72px);background:var(--paper);box-shadow:0 18px 40px rgb(11 34 51 / .18)}
.policy h1{font-size:clamp(2.9rem,6vw,5rem);line-height:.95;margin-bottom:.45em}
.policy h2{font-size:clamp(1.75rem,3vw,2.375rem);line-height:1.02;margin:1.5em 0 .45em}
.policy .final{background:var(--yellow);padding:12px 16px;font-size:1.1rem;font-weight:700}
.step{border:3px solid var(--ink);background:#fff;padding:0 clamp(16px,3vw,28px) clamp(16px,3vw,24px);margin:28px 0}
.step h2{margin-top:.8em}
button{font:700 1rem/1.25 var(--body);min-height:52px;padding:10px 20px;background:var(--ink);color:#fff;border:0;cursor:pointer;margin:0 10px 10px 0;text-align:left}
button:hover:not(:disabled){background:var(--ink-deep);color:var(--yellow)}
button.quiet{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
button.quiet:hover:not(:disabled){background:var(--blue);color:var(--ink)}
button:disabled{background:var(--blue);color:#3f6075;cursor:not-allowed}
.check{display:flex;gap:12px;align-items:center;min-height:48px;font-weight:700}
.check input{width:24px;height:24px;flex:none;accent-color:var(--ink);margin:0}
.field{display:block;font-weight:700;margin-bottom:6px}
input[type=file]::file-selector-button{font:700 .9375rem var(--body);background:var(--ink);color:#fff;border:0;padding:8px 14px;margin-right:12px;cursor:pointer}
input[type=file]{display:block;width:100%;font:inherit;padding:10px;border:2px dashed var(--ink);background:var(--blue-soft);margin-bottom:14px;min-height:52px}
.status{font-weight:700;margin:6px 0 0}
.status:empty{display:none}
.needs-script{background:var(--yellow);padding:12px 16px;font-weight:700}
.lost{min-height:50vh}
.status:not(:empty){background:var(--blue);padding:12px 16px}

@media(max-width:900px){
 .intro{grid-template-columns:1fr}
 .tag-hang{max-width:460px;width:100%;margin:0 auto}
 .tag-hang::before{top:-14px;height:98px}
 .sec-head,.faq{grid-template-columns:1fr}
 .contents li{grid-template-columns:1fr}
 .checks{grid-template-columns:1fr}
 .checks div{padding:14px 0}
 .checks div+div{border-left:0;border-top:1px solid var(--rule);padding-left:0}
}
@media(max-width:640px){
 .table-wrap{overflow:visible}
 table,caption,thead,tbody{display:block;min-width:0}
 caption{border-bottom:1px solid var(--rule)}
 tr{display:grid;grid-template-columns:minmax(0,1fr) repeat(3,3.7rem);align-items:center;border-bottom:1px solid var(--rule)}
 tbody tr:last-child{border-bottom:0}
 th,td{display:block;border:0;padding:8px 10px}
 thead th{font-size:var(--small);padding:10px 6px;text-align:center}
 thead th:first-child{text-align:left;padding-left:10px}
 tr{position:relative}
 thead th:last-child{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 tbody td:nth-child(n+2):nth-child(-n+4){text-align:center;padding:8px 4px}
 tbody td:last-child{grid-column:1/-1;padding-top:0}
 tbody td:last-child::before{content:"Next action: ";font-weight:400}
}
@media(max-width:480px){
 .bar{flex-direction:column;align-items:flex-start;gap:0;padding-top:calc(12px + env(safe-area-inset-top,0px));padding-bottom:4px}
 .bar nav{gap:20px}
 h1{font-size:clamp(3rem,17.5vw,5rem)}
 .action,button{width:100%;justify-content:center;margin-right:0;text-align:center}
 .offer{gap:12px}
 .notice{flex-basis:100%}
 .load-sheet svg{height:96px}
 .tag-hang{padding-top:16px}
}
.bar,.intro,.manifest,.contents,.faq,.foot{padding-left:max(var(--edge),env(safe-area-inset-left,0px));padding-right:max(var(--edge),env(safe-area-inset-right,0px))}
.policy{max-width:calc(100% - 2 * max(env(safe-area-inset-left,0px),env(safe-area-inset-right,0px)))}
@media(forced-colors:active){h1 span,.action,button,.load-sheet .missing,tr.open,.final,.status:not(:empty),.needs-script{border:2px solid CanvasText}.load-sheet{-webkit-mask:none;mask:none;border:2px solid CanvasText;clip-path:none}.tag-hang::before{display:none}summary::after{content:"+"/"";background:none!important;width:auto;height:auto;font-weight:700}details[open] summary::after{content:"-"/"";transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
