/* Harbour Pixel: night harbour, voxel lights. Navy water, amber lamps, teal sea, stepped pixel edges. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--fb);overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(rgba(234,242,255,.5) 1px,transparent 1.5px);background-size:140px 140px;opacity:.25}
img{max-width:100%;display:block}
a{color:var(--main)}a:hover{color:#ffd28a}
h1,h2,h3{font-family:var(--fh);font-weight:700;line-height:1.08;letter-spacing:-.02em;margin:0 0 .45em}
p{margin:0 0 1em}
.wrap{width:min(1200px,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(--main);color:var(--main-ink);padding:10px 14px;z-index:99}.skip:focus{left:8px}
.hp{position:absolute;left:-9999px}
.mono{font-family:var(--fm);font-size:.85em}
.small{font-size:.9rem}.tiny{font-size:.78rem;color:var(--muted)}.muted{color:var(--muted)}
.px-k,.kicker{font:400 .7rem/1.4 var(--fp);letter-spacing:.06em;text-transform:uppercase;color:var(--acc2);margin:0 0 12px}
.lede{font-size:1.12rem;color:var(--muted)}
:focus-visible{outline:2px dashed var(--main);outline-offset:3px}
.btn{display:inline-flex;align-items:center;gap:8px;font:700 .95rem var(--fb);padding:12px 20px;border:0;background:var(--main);color:var(--main-ink);cursor:pointer;text-decoration:none;box-shadow:inset -4px -4px 0 rgba(0,0,0,.25),inset 4px 4px 0 rgba(255,255,255,.3);border-radius:0}
.btn:hover{background:#ffc874;color:var(--main-ink)}
.btn-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--line),inset 0 0 0 2px rgba(234,242,255,.35)}.btn-ghost:hover{background:var(--bg3);color:var(--ink)}
.btn:disabled{opacity:.45;cursor:not-allowed}.btn.wide{width:100%;justify-content:center}
.btns{display:flex;gap:10px;flex-wrap:wrap}
.pixel-edge,.berth,.tool-box,.panel,.watch-panel,.letter{clip-path:polygon(0 6px,6px 6px,6px 0,calc(100% - 6px) 0,calc(100% - 6px) 6px,100% 6px,100% calc(100% - 6px),calc(100% - 6px) calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,6px calc(100% - 6px),0 calc(100% - 6px))}

/* quay header */
.quay{position:sticky;top:0;z-index:30;background:rgba(15,26,46,.92);backdrop-filter:blur(8px);border-bottom:2px solid var(--bg3)}
.quay-in{display:flex;align-items:center;gap:20px;padding:12px 0}
.quay-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font:400 1rem var(--fp)}
.quay-brand i,.dock-brand i{color:var(--main);font-style:normal}
.quay-nav{margin-left:auto}
.quay-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px}
.quay-nav a{display:block;padding:8px 12px;text-decoration:none;color:var(--muted);font-weight:500;font-size:.92rem}
.quay-nav a:hover{color:var(--ink);background:var(--bg3)}
.menu-btn{display:none;margin-left:auto;background:var(--bg3);border:0;color:var(--ink);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);color:var(--ink);text-decoration:none;font:400 .9rem var(--fp)}

/* hero */
.harbour{position:relative;min-height:min(84vh,760px);display:flex;align-items:center;overflow:hidden}
.harbour-art{position:absolute;inset:0}.harbour-art img{width:100%;height:100%;object-fit:cover;object-position:75% 50%}
.harbour::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,26,46,.92) 0%,rgba(15,26,46,.6) 38%,rgba(15,26,46,0) 62%),linear-gradient(0deg,var(--bg) 0%,transparent 22%)}
.harbour-in{position:relative;z-index:1;padding:60px 0}
.harbour-in>*{max-width:560px}
.harbour h1{font-size:clamp(2.6rem,6vw,4.8rem)}
.harbour h1 em{display:block;font-style:normal;color:var(--main);text-shadow:0 0 30px rgba(255,181,71,.45)}
.harbour-facts{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.harbour-facts li{background:rgba(21,35,61,.8);border:2px solid var(--bg3);padding:8px 14px;font-size:.85rem;color:var(--muted)}
.harbour-facts b{font:400 1rem var(--fp);color:var(--main);margin-right:6px}

.sec-head{max-width:760px;margin:90px 0 26px}
.sec-head h2{font-size:clamp(1.9rem,3.6vw,2.8rem)}
.sec-head p:last-child{color:var(--muted);margin:0}

/* arrivals board */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;position:relative}
.board{width:100%;border-collapse:separate;border-spacing:0 6px;font-size:.92rem;min-width:820px}
.board thead th{font:400 .62rem var(--fp);text-transform:uppercase;color:var(--muted);text-align:left;padding:4px 12px}
.board tbody td,.board tbody th{background:#0b1424;padding:12px;text-align:left;border-top:2px solid #0a111f;border-bottom:2px solid #1b2a46}
.board tbody th a{color:var(--ink);text-decoration:none;font-weight:700}.board tbody th a:hover{color:var(--main)}
.flap{font:500 .95rem var(--fm);color:var(--main);letter-spacing:.06em;white-space:nowrap}
.board .num{text-align:right}
.lamp{display:inline-block;width:10px;height:10px;margin-right:8px;background:var(--main);box-shadow:0 0 8px var(--main)}
.lamp.on{background:var(--good);box-shadow:0 0 8px var(--good)}
.go a{display:inline-block;background:var(--acc2);color:#04201d;font:700 .82rem var(--fb);padding:6px 12px;text-decoration:none;white-space:nowrap}
.go a:hover{background:#4fd4c8;color:#04201d}

/* lighthouse pick */
.pick{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px;align-items:center;margin-top:90px;background:linear-gradient(135deg,var(--bg2),#0b1424);border:2px solid var(--bg3);padding:28px}
.pick-art{margin:0}.pick-art img{width:100%;aspect-ratio:1;object-fit:cover}
.pick h2{font-size:2.4rem}.pick h2 a{color:var(--ink);text-decoration:none}
.pick-by{font:400 .82rem var(--fm);color:var(--muted)}
.pick-v{font-size:1.25rem;color:var(--main);border-left:4px solid var(--main);padding-left:14px}

/* berths */
.filterbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:20px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font:600 .85rem var(--fb);padding:8px 14px;border:0;background:var(--bg3);color:var(--muted);cursor:pointer;border-radius:0}
.chip.is-on,.chip:hover{background:var(--main);color:var(--main-ink)}
.filterbar input{flex:1 1 200px;max-width:300px;margin-left:auto}
.count{font:400 .78rem var(--fm);color:var(--muted)}
input[type=search],input[type=email],input[type=text],input[type=number],select,textarea{font:400 1rem var(--fb);padding:11px 12px;background:#0b1424;border:2px solid var(--bg3);color:var(--ink);border-radius:0;min-width:0;width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--main);outline:0}
.berth-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.berth{background:var(--bg2);display:flex;flex-direction:column;min-width:0}
.berth[hidden]{display:none}
.berth-art{position:relative;display:block;border-bottom:4px solid var(--acc)}
.berth-art img{width:100%;aspect-ratio:16/10;object-fit:cover;image-rendering:pixelated}
.berth-no{position:absolute;left:10px;top:10px;font:400 .66rem var(--fp);background:var(--bg);color:var(--main);padding:5px 8px}
.berth-body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.berth h3{font-size:1.35rem;margin:0}.berth h3 a{color:var(--ink);text-decoration:none}.berth h3 a:hover{color:var(--main)}
.berth-by{font:400 .78rem var(--fm);color:var(--muted);margin:4px 0 10px}
.berth-body>p:not(.berth-by):not(.berth-foot){font-size:.94rem;color:#c9d5ea}
.tags{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.tags li{display:inline-flex;gap:4px;align-items:center;font:500 .74rem var(--fm);background:#0b1424;color:var(--muted);padding:4px 8px}
.berth-foot{margin:auto 0 0;display:flex;align-items:baseline;gap:10px;border-top:2px dashed var(--bg3);padding-top:12px}
.berth-foot b{font:400 1.2rem var(--fp);color:var(--main)}
.berth-foot span{font-size:.8rem;color:var(--muted)}
.berth-foot a{margin-left:auto;font-weight:700;font-size:.9rem;display:inline-flex;gap:4px;align-items:center}
.empty{color:var(--muted)}

/* tools */
.tools-sec{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:18px;margin-top:90px}
.tool-box{background:var(--bg2);padding:28px;min-width:0}
.tool-box h2{font-size:1.9rem}
fieldset{border:0;padding:0;margin:0 0 16px}legend{font-weight:700;margin-bottom:8px;font-size:.92rem}
.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 14px;background:var(--bg3);color:var(--muted);font-size:.88rem;font-weight:600;cursor:pointer}
.opts input:checked+span,.pl-len input:checked+span{background:var(--acc2);color:#04201d}
.opts input:focus-visible+span,.pl-len input:focus-visible+span{outline:2px dashed var(--main);outline-offset:2px}
.tool-out{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px}
.tool-out li{background:#0b1424;border-left:4px solid var(--main);padding:10px 14px;display:flex;flex-wrap:wrap;gap:2px 10px;align-items:baseline}
.tool-out a{font-weight:700;color:var(--ink)}.tool-out small{font-family:var(--fm);color:var(--main)}.tool-out .why{flex-basis:100%;font-size:.8rem;color:var(--muted)}
.addr ul{list-style:none;margin:0;padding:0}
.addr li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:.88rem}
.addr li span{color:var(--muted)}
.addr li a{font-family:var(--fm);font-size:.8rem;text-align:right;word-break:break-all}

/* night watch */
.watch{margin-top:90px;background:#0b1424;border-block:2px solid var(--bg3);padding:60px 0}
.watch-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}
.watch h2{font-size:clamp(1.9rem,3.6vw,2.6rem)}
.watch-in>div>p{color:var(--muted)}
.pl-form{display:grid;gap:14px;margin-top:16px}
.pl-form label{display:grid;gap:6px;font-size:.88rem;font-weight:600}
.pl-form fieldset{margin:0}
.pl-btns{display:flex;gap:10px;flex-wrap:wrap}
.watch-panel{background:var(--bg2);padding:24px;min-width:0}
.watch-time{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:0 0 14px}
.watch-time span{font:400 clamp(2.6rem,6vw,3.6rem)/1 var(--fp);color:var(--main);text-shadow:0 0 20px rgba(255,181,71,.4)}
.watch-time small{font:400 .66rem var(--fp);color:var(--muted);text-transform:uppercase}
.lamp-row{position:relative;height:28px;margin:0 8px 16px;border-bottom:4px solid var(--bg3)}
.lamp-row>i{position:absolute;left:0;right:0;bottom:-4px;height:4px;background:var(--acc2);transform-origin:left;transform:scaleX(var(--p,0));transition:transform 1s linear}
.lamp-row ol{list-style:none;margin:0;padding:0}
.lamp-row li{position:absolute;left:var(--x);bottom:4px;width:14px;height:14px;margin-left:-7px;background:var(--bg3)}
.lamp-row li.passed{background:var(--main);box-shadow:0 0 12px var(--main)}
.pl-plan{list-style:none;margin:0;padding:0;font-size:.9rem;display:grid;gap:4px}
.pl-plan li{display:grid;grid-template-columns:58px 1fr;gap:10px;padding:8px 10px;background:#0b1424}
.pl-plan b{font:500 .88rem var(--fm);color:var(--main)}
.pl-plan li.passed{opacity:.45}
.pl-bed{display:flex;gap:8px;font-size:.86rem;border:2px solid var(--bg3);padding:10px;margin:12px 0 0}

/* parents */
.tbl{width:100%;border-collapse:collapse;font-size:.88rem}
.tbl th,.tbl td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.tbl thead th{font:400 .6rem var(--fp);text-transform:uppercase;color:var(--muted);background:var(--bg2)}
.tbl tbody th a{color:var(--ink);font-weight:700;text-decoration:none}
.tbl .thumb{width:90px;aspect-ratio:16/10;object-fit:cover}
.parents-sec .table-wrap{border:2px solid var(--bg3)}
.safe-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin:22px 0}
.safe-row a{background:var(--bg2);padding:14px 16px;text-decoration:none;color:var(--ink);font-weight:600;font-size:.92rem;border-left:4px solid var(--acc2)}
.safe-row a:hover{background:var(--bg3)}
.safe-row span{display:block;font:400 .58rem var(--fp);color:var(--acc2);text-transform:uppercase;margin-bottom:6px}
.rules8{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.rules8 li{background:var(--bg2);padding:16px}
.rules8 b{font:400 .9rem var(--fp);color:var(--main)}
.rules8 h3{font-size:1.02rem;margin:8px 0 4px}.rules8 p{font-size:.86rem;color:var(--muted);margin:0}

/* faq + letter */
.faq{display:grid;gap:8px;max-width:860px}
.faq details{background:var(--bg2);padding:4px 18px;border-left:4px solid var(--bg3)}
.faq details[open]{border-left-color:var(--main)}
.faq summary{cursor:pointer;list-style:none;padding:14px 0;font-weight:700;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--fp);color:var(--main)}
.faq details[open] summary::after{content:"-"}
.faq details p{color:var(--muted)}
.letter{margin-top:90px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:center;background:var(--acc2);color:#04201d;padding:34px}
.letter .px-k{color:#04201d}.letter h2{font-size:2.2rem;margin:0 0 .2em}.letter p{margin:0}
.letter-form{display:flex;flex-wrap:wrap;gap:8px}.letter-form input{flex:1 1 220px;width:auto;background:#e8fbf8;color:#04201d;border-color:#04201d}
.letter .btn{background:var(--bg);color:var(--ink)}
.letter .tiny{flex-basis:100%;color:#04201d;opacity:.75;margin:0}.letter .tiny a{color:inherit}
.ok{padding:12px 14px;background:rgba(127,224,168,.15);border-left:4px solid var(--good)}
.err{color:var(--warn);font-size:.85rem}

/* review */
.rv{padding:24px 0 60px}
.crumbs{font:400 .78rem var(--fm);color:var(--muted);margin-bottom:24px}.crumbs a{color:var(--muted)}
.rv-head{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:36px;align-items:center}
.rv-art{position:relative;border:4px solid var(--acc)}.rv-art img{width:100%;aspect-ratio:16/10;object-fit:cover;image-rendering:pixelated}
.rv-head h1{font-size:clamp(2.4rem,5vw,3.8rem)}
.rv-score{display:flex;align-items:baseline;gap:10px}
.rv-score b{font:400 2.6rem var(--fp);color:var(--main)}.rv-score span{color:var(--muted)}
.manifest{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;margin:36px 0;background:var(--bg3);border:2px solid var(--bg3)}
.manifest div{background:#0b1424;padding:14px 16px}
.manifest span{display:block;font:400 .58rem var(--fp);text-transform:uppercase;color:var(--acc2);margin-bottom:6px}
.manifest b{font-weight:500;font-size:.92rem}
.rv-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px}
.rv-main{min-width:0;display:grid;gap:18px;align-content:start}
.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.panel{background:var(--bg2);padding:22px;min-width:0}
.panel h2{font-size:1.3rem}
.panel p{margin:0}
.panel ul{margin:0;padding-left:20px}.panel li{padding:3px 0}
.panel.good{border-top:4px solid var(--good)}.panel.warn{border-top:4px solid var(--warn)}
.log{display:grid;grid-template-columns:60px 1fr;gap:16px;padding:14px 0;border-top:2px dashed var(--bg3)}
.log-n{font:400 1.1rem var(--fp);color:var(--main)}
.log h2{font-size:1.4rem}
.pxbar{display:grid;grid-template-columns:110px auto 1fr;gap:14px;align-items:center;padding:6px 0}
.pxbar span:first-child{font-weight:600;font-size:.92rem}
.px{display:inline-flex;gap:3px}.px i{width:14px;height:14px;background:var(--bg3)}.px i.on{background:var(--main);box-shadow:0 0 6px rgba(255,181,71,.6)}
.pxbar b{font:400 .9rem var(--fp);color:var(--main);justify-self:end}
.panel .small{margin-top:12px}
.verdict{background:var(--main);color:var(--main-ink);padding:24px 28px}
.verdict .px-k{color:var(--main-ink)}
.verdict p:last-child{font-size:clamp(1.3rem,2.6vw,1.8rem);font-weight:700;line-height:1.25;margin:0}
.rv-side{display:grid;gap:18px;align-content:start}
.sim{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.sim a{display:grid;grid-template-columns:96px 1fr;gap:12px;align-items:center;text-decoration:none;color:var(--ink);font-weight:700;font-size:.92rem}
.sim img{width:100%;aspect-ratio:16/10;object-fit:cover}
.sim small{display:block;font:400 .74rem var(--fm);color:var(--main)}
.pager{display:flex;justify-content:space-between;gap:16px;margin-top:30px;border-top:2px solid var(--bg3);padding-top:16px;font:400 .7rem var(--fp)}

/* 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:40px}
.pg-main{min-width:0;max-width:780px}
.pg-main h1{font-size:clamp(2.2rem,4.5vw,3.4rem)}
.pg-main h2{font-size:1.5rem;margin-top:8px}
.pg-main section{margin-bottom:24px}
.pg-main .kicker{font:400 .7rem var(--fp)}
.sec-n{font:400 .8rem var(--fp);color:var(--main);margin-right:10px}
.toc{background:var(--bg2);border-left:4px solid var(--main);padding:14px 20px;margin:20px 0 28px}
.toc p{font:400 .6rem var(--fp);text-transform:uppercase;color:var(--muted);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:.92rem}.toc span{font-family:var(--fm);font-size:.76rem;color:var(--muted)}
.side-nav{position:sticky;top:90px;display:grid;gap:4px}
.side-nav a{padding:9px 14px;background:var(--bg2);text-decoration:none;color:var(--muted);font-size:.92rem}
.side-nav a:hover,.side-nav a[aria-current]{background:var(--bg3);color:var(--ink);box-shadow:inset 4px 0 0 var(--main)}
.op{background:var(--bg2);padding:14px 18px;margin:20px 0}.op h2{font-size:1.1rem}
.selfcheck{background:var(--bg2);padding:20px;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(--main)}
.selfcheck output{display:block;padding:12px;background:#0b1424;border-left:4px solid var(--acc2)}
.selfcheck output[data-level=high]{border-left-color:var(--warn)}
.helpcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}
.helpcard{background:var(--bg2);padding:16px}.helpcard h3{font-size:1.05rem}.helpcard p{font-size:.86rem;color:var(--muted)}
.rules{list-style:none;margin:20px 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rules li{background:var(--bg2);padding:14px}.rule-n{font:400 .8rem var(--fp);color:var(--main)}.rules h3{font-size:1rem;margin:6px 0 4px}.rules p{font-size:.86rem;color:var(--muted);margin:0}
.cform{display:grid;gap:14px;max-width:560px;margin-top:20px}.cform label{display:grid;gap:6px;font-size:.9rem;font-weight:600}

/* dock footer */
.dock{margin-top:100px;background:#0a1220;border-top:2px solid var(--bg3);padding-bottom:26px}
.lights{display:flex;justify-content:space-between;padding:0 16px;transform:translateY(-7px)}
.lights i{width:12px;height:12px;background:var(--main);box-shadow:0 0 10px var(--main);animation:glow 3s ease-in-out infinite;animation-delay:var(--d)}
@keyframes glow{50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.lights i{animation:none}}
.dock-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:30px;padding:36px 0 26px;font-size:.9rem}
.dock-brand{display:flex;gap:10px;align-items:center;font:400 .95rem var(--fp)}
.dock-about p{color:var(--muted)}
.dock h2{font:400 .62rem var(--fp);text-transform:uppercase;color:var(--acc2);margin:0 0 12px}
.dock ul,.dock ol{list-style:none;margin:0;padding:0}.dock li{padding:3px 0}
.dock nav a{color:var(--ink);text-decoration:none}.dock nav a:hover{color:var(--main)}
.dock-legal{border-top:1px solid var(--line);padding-top:18px;font-size:.8rem;color:var(--muted);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.dock-legal b{color:var(--ink)}
.dock-end{font:400 .74rem var(--fm);color:var(--muted);border-top:1px solid var(--line);padding-top:14px;margin:6px 0 0}

@media (max-width:1000px){
  .berth-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rules8{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dock-grid{grid-template-columns:1fr 1fr}
  .quay-nav a{padding:8px;font-size:.85rem}
  .rv-grid{grid-template-columns:1fr}
}
@media (max-width:820px){
  body{font-size:16px}
  .quay-nav{display:none}.menu-btn{display:block}
  .harbour{min-height:auto;flex-direction:column;align-items:stretch}
  .harbour-art{position:relative}.harbour-art img{aspect-ratio:4/5;height:auto}
  .harbour::after{display:none}
  .harbour-in{padding:24px 0 10px}
  .sec-head{margin-top:70px}
  .pick,.tools-sec,.watch-in,.letter,.two,.rv-head,.pg-grid,.helpcards,.rules,.dock-legal{grid-template-columns:1fr}
  .pick{padding:18px}
  .berth-grid,.rules8{grid-template-columns:1fr}
  .filterbar input{max-width:none;margin-left:0}
  .manifest{grid-template-columns:1fr 1fr}
  .pxbar{grid-template-columns:1fr auto;gap:4px 10px}.pxbar .px{grid-column:1/-1;grid-row:2}
  .side-nav{position:static}.toc ol{columns:1}
  .dock-grid{grid-template-columns:1fr}
  .letter{padding:24px 18px}
  .pager{flex-direction:column}
}
@media (min-width:1001px){.berth:last-child{grid-column:1/-1;flex-direction:row}.berth:last-child .berth-art{flex:0 0 40%;border-bottom:0;border-right:4px solid var(--acc)}.berth:last-child .berth-art img{height:100%}}
