/* Slow Road: mid-century gouache poster. Cream paper, sage hills, olive signs, terracotta car. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.62 var(--fb);overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.35;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 .3 0 0 0 0 .25 0 0 0 0 .15 0 0 0 .08 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
img{max-width:100%;display:block}
a{color:var(--main)}a:hover{color:var(--acc2)}
h1,h2,h3,h4{font-family:var(--fh);font-weight:700;line-height:1.02;letter-spacing:.005em;margin:0 0 .4em;text-transform:uppercase}
p{margin:0 0 1em}
.wrap{width:min(1180px,100% - 32px);margin-inline:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:var(--acc2);color:#fff;padding:10px 14px;z-index:99}.skip:focus{left:8px}
.hp{position:absolute;left:-9999px}
.mono{font-family:var(--fm)}
.small{font-size:.9rem}.tiny{font-size:.78rem;color:var(--muted)}.muted{color:var(--muted)}
.kicker{font:600 .82rem var(--fh);letter-spacing:.14em;text-transform:uppercase;color:var(--main);margin:0 0 .6em}
.lede{font-size:1.14rem;color:var(--muted)}
:focus-visible{outline:3px solid var(--main);outline-offset:2px}
.btn{display:inline-flex;align-items:center;gap:8px;font:700 1rem var(--fh);letter-spacing:.06em;text-transform:uppercase;padding:12px 22px;border-radius:999px;border:2px solid var(--main);background:var(--main);color:var(--main-ink);cursor:pointer;text-decoration:none}
.btn:hover{background:#a94f2c;border-color:#a94f2c;color:#fff}
.btn-ghost{background:transparent;color:var(--acc2);border-color:var(--acc2)}.btn-ghost:hover{background:var(--acc2);border-color:var(--acc2)}
.btn:disabled{opacity:.45;cursor:not-allowed}.btn.wide{width:100%;justify-content:center}
.btns{display:flex;gap:10px;flex-wrap:wrap}

/* header: a road sign */
.verge{position:sticky;top:0;z-index:30;background:rgba(243,234,215,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.verge-in{display:flex;align-items:center;gap:20px;padding:10px 0}
.sign{display:flex;align-items:center;gap:10px;background:var(--acc2);color:#fbf6ea;text-decoration:none;padding:6px 14px 6px 8px;border-radius:8px;box-shadow:inset 0 0 0 2px #fbf6ea,inset 0 0 0 4px var(--acc2)}
.sign span{font:700 1.25rem/1 var(--fh);letter-spacing:.08em}
.sign small{display:block;font:500 .7rem var(--fb);letter-spacing:.02em;text-transform:none;opacity:.85;margin-top:2px}
.sign:hover{color:#fff}
.sign.small span{font-size:1.05rem}
.verge-nav{margin-left:auto}
.verge-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:2px}
.verge-nav a{display:block;padding:8px 12px;text-decoration:none;color:var(--ink);font:600 1rem var(--fh);text-transform:uppercase;letter-spacing:.06em;border-radius:999px}
.verge-nav a:hover{background:var(--bg3)}
.menu-btn{display:none;margin-left:auto;background:var(--acc2);color:#fff;border:0;border-radius:8px;padding:8px;cursor:pointer}
.drawer ul{list-style:none;margin:0 auto;padding:6px 0 14px}
.drawer a{display:block;padding:12px 0;border-bottom:1px solid var(--line);font:700 1.3rem var(--fh);text-transform:uppercase;color:var(--ink);text-decoration:none}

/* poster hero */
.poster{position:relative}
.poster-art img{width:100%;aspect-ratio:21/9;min-height:480px;object-fit:cover;object-position:60% 50%}
.poster-in{position:absolute;inset:0;display:flex;align-items:center;left:50%;transform:translateX(-50%)}
.poster-card{max-width:500px;background:rgba(251,246,234,.92);padding:30px 32px;border-radius:6px;box-shadow:0 20px 40px -24px rgba(44,58,47,.5)}
.poster h1{font-size:clamp(2.6rem,5.6vw,4.6rem)}
.poster h1 em{font-style:normal;color:var(--main);display:block}
.poster .lede{color:var(--ink)}

.sec-head{max-width:720px;margin:96px 0 28px}
.sec-head h2{font-size:clamp(2.2rem,4.6vw,3.6rem)}
.sec-head p:last-child{color:var(--muted);margin:0}

/* the route */
.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:24px}
.chip{font:600 .95rem var(--fh);text-transform:uppercase;letter-spacing:.06em;padding:7px 14px;border-radius:999px;border:2px solid var(--acc2);background:transparent;color:var(--acc2);cursor:pointer}
.chip.is-on,.chip:hover{background:var(--acc2);color:#fbf6ea}
.count{margin-left:auto;font:400 .82rem var(--fm);color:var(--muted)}
.road{position:relative;padding:10px 0}
.road::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:40px;margin-left:-20px;background:#c8b998;border-radius:20px}
.road::after{content:"";position:absolute;left:50%;top:20px;bottom:20px;width:3px;margin-left:-1.5px;background:repeating-linear-gradient(#fbf6ea 0 18px,transparent 18px 34px)}
.leg{position:relative;z-index:1;text-align:center;margin:30px auto 24px;max-width:420px;background:var(--acc2);color:#fbf6ea;padding:14px 20px;border-radius:8px;box-shadow:inset 0 0 0 2px #fbf6ea,inset 0 0 0 4px var(--acc2)}
.leg h3{font-size:1.6rem;margin:0}.leg p{margin:4px 0 0;font-size:.92rem;opacity:.9}
.stop{position:relative;z-index:1;display:grid;grid-template-columns:1fr 90px 1fr;align-items:center;margin-bottom:22px}
.stop[hidden]{display:none}
.marker{grid-column:2;justify-self:center;display:grid;place-items:center;width:64px;height:76px;background:#fbf6ea;border:3px solid var(--acc2);border-radius:32px 32px 8px 8px;font:700 1.5rem var(--fh);color:var(--acc2);line-height:1}
.marker small{font:600 .6rem var(--fb);letter-spacing:.1em;color:var(--muted)}
.stop-card{grid-column:3;display:grid;grid-template-columns:160px minmax(0,1fr);gap:16px;background:var(--bg2);border-radius:8px;padding:14px;box-shadow:0 10px 24px -18px rgba(44,58,47,.6);border-top:4px solid var(--acc)}
.stop:nth-of-type(even) .stop-card{grid-column:1;grid-row:1}
.stop:nth-of-type(even) .marker{grid-row:1}
.stop-art img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:4px}
.stop-k{font:600 .8rem var(--fh);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.stop h4{font-size:1.6rem;margin-bottom:6px}.stop h4 a{color:var(--ink);text-decoration:none}.stop h4 a:hover{color:var(--main)}
.stop-body>p:not(.stop-k):not(.stop-meta):not(.stop-links){font-size:.94rem;color:var(--muted)}
.stop-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.stop-meta span{font-size:.76rem;background:var(--bg3);padding:3px 9px;border-radius:999px}
.stop-links{display:flex;gap:14px;flex-wrap:wrap;margin:0;font-weight:600;font-size:.92rem}
.empty{text-align:center;color:var(--muted)}

/* lay-by */
.layby{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px;align-items:center;margin-top:96px}
.layby-art{margin:0;border-radius:6px;overflow:hidden;box-shadow:0 20px 40px -24px rgba(44,58,47,.6)}
.layby-art img{width:100%;aspect-ratio:4/5;object-fit:cover}
.layby h2{font-size:clamp(2rem,4vw,3rem)}
fieldset{border:0;padding:0;margin:0 0 16px}legend{font:700 1.05rem var(--fh);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}
.opts,.pl-len{display:flex;flex-wrap:wrap;gap:6px}
.opts label,.pl-len label{display:block}
.opts input,.pl-len input{position:absolute;opacity:0}
.opts span,.pl-len span{display:block;padding:8px 16px;border-radius:999px;border:2px solid var(--line);background:var(--bg2);font-weight:600;font-size:.92rem;cursor:pointer}
.opts input:checked+span,.pl-len input:checked+span{background:var(--acc2);border-color:var(--acc2);color:#fbf6ea}
.opts input:focus-visible+span,.pl-len input:focus-visible+span{outline:3px solid var(--main);outline-offset:2px}
.tool-out{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px}
.tool-out li{background:var(--bg2);border-left:5px solid var(--main);border-radius:4px;padding:10px 14px;display:flex;flex-wrap:wrap;gap:2px 10px;align-items:baseline}
.tool-out a{font:700 1.2rem var(--fh);text-transform:uppercase;color:var(--ink)}.tool-out small{font-family:var(--fm);color:var(--main)}.tool-out .why{flex-basis:100%;font-size:.84rem;color:var(--muted)}

/* ritual */
.ritual{margin-top:96px}
.ritual-in{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:30px;background:var(--acc2);color:#fbf6ea;border-radius:8px;padding:40px}
.ritual .kicker{color:#f2c08f}
.ritual h2{font-size:clamp(2.2rem,4.6vw,3.4rem)}.ritual h2 a{color:#fbf6ea;text-decoration:none}
.ritual p{color:rgba(251,246,234,.88)}
.quote{font:600 1.4rem/1.25 var(--fh);text-transform:uppercase;color:#f2c08f!important;border-left:4px solid var(--main);padding-left:14px}
.routine{background:#fbf6ea;color:var(--ink);border-radius:6px;padding:22px}
.routine h3{font-size:1.4rem;color:var(--acc2)}
.routine ol{margin:0 0 12px;padding-left:18px}.routine li{padding:4px 0}
.routine p{color:var(--muted)!important;margin:0}

/* drive timer */
.drive{margin-top:96px}
.drive-head{max-width:640px}
.drive-head h2{font-size:clamp(2rem,4vw,3rem)}
.drive-head p:last-child{color:var(--muted)}
.drive-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:30px;margin-top:20px}
.pl-form{display:grid;gap:14px;align-content:start}
.pl-form label{display:grid;gap:6px;font:700 1.05rem var(--fh);text-transform:uppercase;letter-spacing:.06em}
.pl-form fieldset{margin:0}
.pl-btns{display:flex;gap:10px;flex-wrap:wrap}
input[type=search],input[type=email],input[type=text],input[type=number],select,textarea{font:400 1rem var(--fb);padding:11px 14px;border:2px solid var(--line);background:var(--bg2);color:var(--ink);border-radius:8px;min-width:0;width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--acc2);outline:0}
.drive-panel{background:var(--bg2);border-radius:8px;padding:24px;min-width:0;box-shadow:0 14px 30px -24px rgba(44,58,47,.6)}
.lane{position:relative;height:46px;background:#c8b998;border-radius:23px;margin:4px 6px 18px}
.lane::after{content:"";position:absolute;left:20px;right:20px;top:50%;height:3px;margin-top:-1.5px;background:repeating-linear-gradient(90deg,#fbf6ea 0 14px,transparent 14px 26px)}
.car{position:absolute;z-index:2;top:9px;left:calc(var(--p,0) * (100% - 44px));width:44px;height:28px;transition:left 1s linear;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 28'%3E%3Cpath d='M6 18 L10 8 Q12 4 18 4 H28 Q33 4 35 9 L38 18 Z' fill='%23c8643b'/%3E%3Crect x='3' y='16' width='38' height='7' rx='3' fill='%23c8643b'/%3E%3Crect x='14' y='7' width='8' height='7' fill='%23fbf6ea'/%3E%3Crect x='24' y='7' width='8' height='7' fill='%23fbf6ea'/%3E%3Ccircle cx='12' cy='23' r='4' fill='%232c3a2f'/%3E%3Ccircle cx='32' cy='23' r='4' fill='%232c3a2f'/%3E%3C/svg%3E")}
.lane ol{list-style:none;margin:0;padding:0}
.lane li{position:absolute;z-index:1;top:-8px;left:var(--x);width:6px;height:18px;margin-left:-3px;background:var(--acc2);border-radius:3px}
.lane li.passed{background:var(--main)}
.drive-time{display:flex;align-items:baseline;gap:14px;margin:0 0 12px}
.drive-time span{font:700 3.6rem/1 var(--fh);color:var(--acc2);font-variant-numeric:tabular-nums}
.drive-time small{font:600 .9rem var(--fh);text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.pl-plan{list-style:none;margin:0;padding:0;font-size:.92rem}
.pl-plan li{display:grid;grid-template-columns:58px 1fr;gap:10px;padding:8px 0;border-top:1px dashed var(--line)}
.pl-plan b{font:700 1.05rem var(--fh);color:var(--main)}
.pl-plan li.passed{opacity:.45}
.pl-bed{display:flex;gap:8px;font-size:.88rem;background:var(--bg3);border-radius:6px;padding:10px 12px;margin:12px 0 0}

/* tables, signs */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;position:relative;background:var(--bg2);border-radius:8px}
.tbl{width:100%;border-collapse:collapse;font-size:.9rem}
.tbl th,.tbl td{padding:11px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.tbl thead th{font:700 .95rem var(--fh);text-transform:uppercase;letter-spacing:.06em;color:var(--acc2);background:var(--bg3)}
.tbl tbody th a{font:700 1.1rem var(--fh);text-transform:uppercase;color:var(--ink);text-decoration:none}
.tbl .num{text-align:right}.tbl b{font:700 1.2rem var(--fh);color:var(--main)}
.tbl .thumb{width:90px;aspect-ratio:16/10;object-fit:cover;border-radius:4px}
.signs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.signs li{background:var(--bg2);border-radius:8px;padding:20px;text-align:center}
.sg{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 12px;border-radius:50%;background:#fbf6ea;border:6px solid var(--main);font:700 1.3rem var(--fh);color:var(--ink)}
.signs li:nth-child(3n) .sg{border-radius:6px;border-color:var(--acc2)}
.signs li:nth-child(4n+2) .sg{clip-path:polygon(50% 0,100% 100%,0 100%);border:0;background:var(--main);color:#fff;padding-top:14px}
.signs h3{font-size:1.25rem}.signs p{font-size:.88rem;color:var(--muted);margin:0}
.safe-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px;margin-top:22px}
.safe-list a{display:block;background:var(--bg2);border-radius:6px;padding:12px 16px;text-decoration:none;color:var(--ink);font-weight:600;font-size:.94rem}
.safe-list a:hover{background:var(--bg3)}
.safe-list b{display:block;font:700 .85rem var(--fh);text-transform:uppercase;letter-spacing:.1em;color:var(--main)}

/* faq + letter */
.faq{max-width:860px;border-top:2px solid var(--acc2)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:16px 0;font:700 1.3rem var(--fh);text-transform:uppercase;letter-spacing:.02em;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"↓";color:var(--main)}
.faq details[open] summary::after{content:"↑"}
.faq details p{color:var(--muted);max-width:70ch}
.letter{margin-top:96px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:center;background:var(--main);color:var(--main-ink);border-radius:8px;padding:36px}
.letter h2{font-size:2.6rem;margin:0 0 .1em}.letter p{margin:0}
.letter-form{display:flex;flex-wrap:wrap;gap:8px}.letter-form input{flex:1 1 220px;width:auto;border-color:transparent}
.letter .btn{background:var(--acc2);border-color:var(--acc2)}
.letter .tiny{flex-basis:100%;color:var(--main-ink);opacity:.85;margin:0}.letter .tiny a{color:inherit}
.ok{padding:12px 14px;background:#e1ecd9;border-left:4px solid var(--good);border-radius:4px}
.letter .ok{background:rgba(255,255,255,.15);color:#fff}
.err{color:var(--warn);font-size:.85rem}

/* review */
.rv{padding:24px 0 60px}
.crumbs{font-size:.86rem;color:var(--muted);margin-bottom:22px}.crumbs a{color:var(--muted)}
.rv-sign{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:36px;align-items:center}
.rv-plate h1{font-size:clamp(2.8rem,6vw,4.8rem)}
.rv-post{position:relative}
.rv-post img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:6px;box-shadow:0 20px 40px -24px rgba(44,58,47,.6)}
.marker.big{position:absolute;right:-12px;bottom:-24px;width:84px;height:100px;font-size:2rem;border-radius:42px 42px 10px 10px}
.rv-tier{font:700 1.1rem var(--fh);text-transform:uppercase;letter-spacing:.06em;color:var(--acc2);margin:14px 0 0}
.miles{list-style:none;margin:44px 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;counter-reset:m}
.miles li{counter-increment:m;background:var(--bg2);border-radius:6px;padding:14px 16px;position:relative;border-left:5px solid var(--acc2)}
.miles span{display:block;font:700 .82rem var(--fh);text-transform:uppercase;letter-spacing:.1em;color:var(--main)}
.miles b{font-weight:500;font-size:.92rem}
.rv-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:30px}
.rv-main{min-width:0;display:grid;gap:24px;align-content:start}
.rv-main h2{font-size:2rem}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.duo>div{background:var(--bg2);border-radius:8px;padding:20px}
.duo h2{font-size:1.4rem}.duo p{margin:0}.duo ul{margin:0;padding-left:18px}.duo li{padding:3px 0}
.duo .up{border-top:4px solid var(--good)}.duo .down{border-top:4px solid var(--main)}
.journey ol{list-style:none;margin:0;padding:0 0 0 34px;border-left:8px solid #c8b998;position:relative}
.journey li{position:relative;padding:0 0 18px}
.journey li::before{content:"";position:absolute;left:-49px;top:4px;width:22px;height:22px;border-radius:50%;background:var(--main);border:4px solid var(--bg)}
.journey h3{font-size:1.4rem;margin-bottom:4px}.journey p{margin:0}
.dash{background:var(--bg2);border-radius:8px;padding:22px}
.dial{display:grid;grid-template-columns:minmax(0,1fr) 160px 44px;gap:14px;align-items:center;padding:8px 0;border-bottom:1px dashed var(--line)}
.dial span:first-child{font:700 1.15rem var(--fh);text-transform:uppercase}
.dial small{display:block;font:400 .82rem var(--fb);text-transform:none;color:var(--muted)}
.gauge{height:12px;background:var(--bg3);border-radius:6px;overflow:hidden}.gauge i{display:block;height:100%;background:linear-gradient(90deg,var(--acc2),var(--main))}
.dial b{font:700 1.3rem var(--fh);color:var(--main);text-align:right}
.dash .small{margin:12px 0 0}
.verdict{background:var(--acc2);color:#fbf6ea;border-radius:8px;padding:26px 30px}
.verdict h2{font-size:1.1rem;color:#f2c08f}
.verdict p{font:700 clamp(1.5rem,3vw,2.1rem)/1.1 var(--fh);text-transform:uppercase;margin:0}
.rv-side{display:grid;gap:18px;align-content:start}
.side{background:var(--bg2);border-radius:8px;padding:20px}
.side h2{font-size:1.4rem}
.sim{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.sim a{display:grid;grid-template-columns:96px 1fr;gap:12px;align-items:center;text-decoration:none;color:var(--ink);font:700 1.05rem var(--fh);text-transform:uppercase}
.sim img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:4px}
.sim small{display:block;font:400 .76rem var(--fb);text-transform:none;color:var(--muted)}
.pager{display:flex;justify-content:space-between;gap:16px;margin-top:30px;border-top:2px solid var(--acc2);padding-top:16px;font:700 1.1rem var(--fh);text-transform:uppercase}

/* text pages */
.pg{padding:30px 0 60px}
.pg.center{text-align:center;padding:90px 0}.pg.center .lede{margin-inline:auto;max-width:46ch}.pg.center .btns{justify-content:center}
.pg-grid{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:44px}
.pg-main{min-width:0;max-width:780px}
.pg-main h1{font-size:clamp(2.6rem,5vw,3.8rem)}
.pg-main h2{font-size:1.7rem;margin-top:8px}
.pg-main section{margin-bottom:24px}
.sec-n{font:700 1rem var(--fh);color:var(--main);margin-right:10px}
.toc{background:var(--bg2);border-radius:8px;padding:16px 20px;margin:22px 0 30px}
.toc p{font:700 .9rem var(--fh);text-transform:uppercase;letter-spacing:.1em;color:var(--acc2);margin:0 0 8px}
.toc ol{list-style:none;margin:0;padding:0;columns:2;column-gap:20px}.toc a{display:flex;gap:8px;padding:3px 0;font-size:.94rem}.toc span{font-family:var(--fm);font-size:.78rem;color:var(--muted)}
.side-nav{position:sticky;top:90px;display:grid;gap:4px}
.side-nav a{padding:9px 14px;border-radius:999px;text-decoration:none;color:var(--ink);font:600 1rem var(--fh);text-transform:uppercase;letter-spacing:.04em}
.side-nav a:hover{background:var(--bg3)}.side-nav a[aria-current]{background:var(--acc2);color:#fbf6ea}
.op{background:var(--bg2);border-radius:8px;padding:14px 18px;margin:20px 0}.op h2{font-size:1.2rem}
.selfcheck{background:var(--bg2);border-radius:8px;padding:22px;margin:24px 0}
.selfcheck ul{list-style:none;margin:0 0 14px;padding:0}.selfcheck li label{display:flex;gap:10px;padding:6px 0}
.selfcheck input{accent-color:var(--acc2)}
.selfcheck output{display:block;padding:12px;background:var(--bg3);border-radius:6px}
.selfcheck output[data-level=high]{background:#f1d6c8}
.helpcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}
.helpcard{background:var(--bg2);border-radius:8px;padding:16px}.helpcard h3{font-size:1.2rem}.helpcard p{font-size:.88rem;color:var(--muted)}
.rules{list-style:none;margin:20px 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rules li{background:var(--bg2);border-radius:8px;padding:16px}.rule-n{font:700 1.2rem var(--fh);color:var(--main)}.rules h3{font-size:1.15rem;margin:6px 0 4px}.rules p{font-size:.88rem;color:var(--muted);margin:0}
.cform{display:grid;gap:14px;max-width:560px;margin-top:20px}.cform label{display:grid;gap:6px;font:700 1rem var(--fh);text-transform:uppercase;letter-spacing:.04em}

/* footer */
.milestones{margin-top:100px;background:var(--acc2);color:#e7eadf;padding:44px 0 26px}
.milestones a{color:#fbf6ea}
.milestones .sign{background:#fbf6ea;color:var(--acc2);box-shadow:inset 0 0 0 2px var(--acc2),inset 0 0 0 4px #fbf6ea;display:inline-flex;margin-bottom:12px}
.ms-top{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:36px;font-size:.92rem;padding-bottom:24px;border-bottom:1px solid rgba(251,246,234,.2)}
.ms-top p{opacity:.85}
.milestones h2{font:700 1.1rem var(--fh);letter-spacing:.1em;color:#f2c08f;margin:0 0 10px}
.milestones ul{list-style:none;margin:0;padding:0}.milestones li{padding:3px 0}
.milestones nav a{text-decoration:none}.milestones nav a:hover{color:#f2c08f}
.cols2{columns:2;column-gap:16px}
.ms-legal{padding:18px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;font-size:.8rem;opacity:.8}
.ms-end{display:flex;flex-wrap:wrap;gap:8px 26px;justify-content:space-between;margin:0;border-top:1px solid rgba(251,246,234,.2);padding-top:14px;font:400 .76rem var(--fm);opacity:.75}

@media (max-width:1000px){
  .verge-nav a{padding:8px;font-size:.92rem}
  .signs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rv-grid{grid-template-columns:1fr}
}
@media (max-width:820px){
  body{font-size:16px}
  .verge-nav{display:none}.menu-btn{display:block}
  .poster-art img{aspect-ratio:4/5;min-height:0}
  .poster-in{position:static;transform:none;width:100%;margin-top:-90px;padding:0 16px}
  .poster-card{padding:22px}
  .sec-head{margin-top:72px}
  .road::before{left:24px;width:24px;margin-left:-12px}
  .road::after{left:24px}
  .stop{grid-template-columns:48px minmax(0,1fr);gap:10px}
  .marker{grid-column:1;width:48px;height:58px;font-size:1.15rem}
  .stop-card,.stop:nth-of-type(even) .stop-card{grid-column:2;grid-row:1;grid-template-columns:1fr}
  .stop:nth-of-type(even) .marker{grid-row:1}
  .leg{margin-left:50px}
  .layby,.ritual-in,.drive-grid,.letter,.duo,.rv-sign,.pg-grid,.helpcards,.rules,.ms-top,.ms-legal{grid-template-columns:1fr}
  .ritual-in{padding:24px}
  .layby-art img{aspect-ratio:4/3}
  .signs{grid-template-columns:1fr}
  .count{margin-left:0;flex-basis:100%}
  .dial{grid-template-columns:1fr auto;gap:4px 10px}.dial .gauge{grid-column:1/-1;grid-row:2}
  .side-nav{position:static}.toc ol{columns:1}
  .letter{padding:24px}
  .marker.big{right:8px}
  .pager{flex-direction:column}
}
@media (min-width:821px){.poster-art img{min-height:640px}.poster h1{font-size:clamp(2.4rem,4.2vw,3.7rem)}.poster-card{padding:26px 28px}.poster .lede{font-size:1.02rem}}
