:root{--earth:#D9CBB0;--cream:#F6F1E6;--moss:#4F6B3A;--brick:#B5532E;--timber:#6B4A2E;--ink:#22201C;--soft:#5B544A;--disp:'Rokkitt',Georgia,serif;--body:'Mulish',system-ui,sans-serif;--mono:'Cousine',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.0625rem/1.65 var(--body)}
a{color:var(--brick);text-underline-offset:3px}a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--moss);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--cream);padding:.6rem 1rem;z-index:9}.skip:focus{left:1rem}
.wrap{width:min(1120px,100% - 2.5rem);margin-inline:auto}
h1,h2,h3{font-family:var(--disp);font-weight:800;line-height:1.08;margin:0 0 .6em;letter-spacing:-.01em}
h1{font-size:clamp(2.4rem,5.4vw,4.1rem)}h1 span{display:block;color:var(--moss)}
h2{font-size:clamp(1.8rem,3.4vw,2.6rem)}h3{font-size:1.3rem}
.tag{font:400 .8rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--timber);margin:0 0 1rem}
.prose{max-width:62ch}.prose p{margin:0 0 1rem}
.keep{background:var(--ink);color:var(--cream)}
.keep__in{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;gap:1rem}
.brand{display:flex;align-items:center;gap:.6rem;color:var(--cream);text-decoration:none;font:800 1.55rem/1 var(--disp)}.brand svg{width:44px;height:26px}
.keep nav{display:flex;gap:1.4rem}.keep nav a{color:var(--earth);text-decoration:none;font-weight:600}.keep nav a:hover{color:var(--cream)}
.keep__bricks{height:12px;background:repeating-linear-gradient(90deg,var(--brick) 0 38px,var(--ink) 38px 41px),var(--brick);border-top:3px solid var(--timber)}
.hero{padding:4.5rem 0 3.5rem;background:linear-gradient(180deg,var(--earth) 0,var(--cream) 100%)}
.hero__grid{display:grid;grid-template-columns:1.5fr 1fr;gap:3rem;align-items:center}
.lede{font-size:1.15rem;max-width:58ch}
.ticket{background:var(--cream);border:2px solid var(--ink);padding:1.5rem 1.6rem;box-shadow:8px 8px 0 var(--timber);font-family:var(--mono)}
.ticket h2{font-size:1.5rem;border-bottom:2px dashed var(--ink);padding-bottom:.6rem}
.ticket dl{display:grid;grid-template-columns:1fr auto;gap:.5rem 1rem;margin:0 0 1rem}.ticket dt{color:var(--soft)}.ticket dd{margin:0;font-weight:700}.ticket dd.side{color:var(--moss)}
.ticket p{font-size:.8rem;color:var(--soft);margin:0}
.barrow{padding:4.5rem 0;background:var(--cream)}
.barrow__grid{display:grid;grid-template-columns:1.3fr 1fr;gap:3rem;align-items:center}
.cart{margin:0;background:#fff;border:2px solid var(--ink);padding:1rem}
.cart svg{width:100%;height:auto;display:block}
.cart figcaption{font-size:.9rem;color:var(--soft);margin-top:.6rem}
.cart .ground{stroke:var(--timber);stroke-width:3}.cart .tray{fill:var(--timber)}.cart .handle,.cart .leg{stroke:var(--ink);stroke-width:8;stroke-linecap:round}
.cart .wheel{fill:var(--ink)}.cart .hub{fill:var(--earth)}
.cart .blk rect{stroke:var(--ink);stroke-width:2}.cart .blk text{font:700 12px var(--mono);text-anchor:middle;fill:var(--cream)}
.cart .job rect{fill:var(--brick)}.cart .home rect{fill:var(--timber)}.cart .rest rect{fill:var(--soft)}.cart .side rect{fill:var(--moss)}
.cart .extra rect{fill:none;stroke:var(--moss);stroke-dasharray:6 4}.cart .extra text{fill:var(--moss)}
.cart .loadline{stroke:var(--ink);stroke-width:2;stroke-dasharray:10 6}.cart .ll{font:700 11px var(--mono);fill:var(--ink)}
@media (prefers-reduced-motion:no-preference){.cart .blk{animation:drop .6s cubic-bezier(.3,1.4,.6,1) both;animation-delay:calc(var(--i) * .15s)}.cart .extra{animation:drop .6s both,wobble 2.4s ease-in-out 1.6s infinite;transform-box:fill-box;transform-origin:50% 100%}}
@keyframes drop{from{transform:translateY(-60px);opacity:0}to{transform:none;opacity:1}}
@keyframes wobble{0%,100%{transform:rotate(0)}50%{transform:rotate(-4deg)}}
.chart-sec{padding:4.5rem 0;background:var(--earth)}
.tbl-wrap{overflow-x:auto;margin-top:1.5rem;border:2px solid var(--ink);background:var(--cream)}
.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(--ink)}
.tbl th,.tbl td{padding:.8rem 1rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--earth)}
.tbl thead th{font:400 .78rem var(--mono);text-transform:uppercase;letter-spacing:.06em;background:var(--ink);color:var(--cream)}
.wt{display:inline-block;font:700 .75rem var(--mono);padding:.15rem .5rem;border:2px solid var(--ink);text-transform:uppercase}
.wt.l{background:var(--cream)}.wt.m{background:var(--earth)}.wt.h{background:var(--brick);color:var(--cream)}
.ruts{padding:4.5rem 0}
.rut-list{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}
.rut{background:#fff;border-left:6px solid var(--brick);padding:1.2rem}.rut p{margin:0;font-size:.95rem}
.rut__tag{font:700 .72rem var(--mono);letter-spacing:.1em;color:var(--brick);display:block;margin-bottom:.5rem}
.yard{padding:4.5rem 0;background:var(--moss);color:var(--cream)}.yard a{color:var(--cream)}.yard .tag{color:var(--earth)}
.yard__grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}
.reading{list-style:none;margin:0;padding:0}.reading li{border-top:1px solid rgba(246,241,230,.35)}
.reading a{display:block;padding:.9rem 0;text-decoration:none}.reading span{display:block;font:400 .72rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--earth)}
.reading strong{font:800 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.6rem;margin-top:2rem}.page .meta{font:400 .85rem 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(--ink);color:var(--earth);padding:2.5rem 0;font-size:.9rem}
.foot nav{display:flex;flex-wrap:wrap;gap:1.2rem;margin-bottom:1rem}.foot a{color:var(--cream)}
@media (max-width:860px){.hero__grid,.barrow__grid,.yard__grid{grid-template-columns:1fr}.hide-sm{display:none}}
