@font-face{font-family:"Alegreya";font-weight:800;font-style:normal;font-display:swap;src:url(fonts/alegreya-800.woff2) format("woff2")}
@font-face{font-family:"Alegreya";font-weight:400;font-style:normal;font-display:swap;src:url(fonts/alegreya-400.woff2) format("woff2")}
@font-face{font-family:"Alegreya";font-weight:400;font-style:italic;font-display:swap;src:url(fonts/alegreya-400-italic.woff2) format("woff2")}
@font-face{font-family:"Alegreya Sans";font-weight:700;font-style:normal;font-display:swap;src:url(fonts/alegreya-sans-700.woff2) format("woff2")}

:root{
  --kraft:#d9c3a0;--paper:#eee2c8;--paper-2:#f6eed9;--ink:#1d1a16;--red:#8c2f1f;--red-deep:#74261a;--pine:#2f4a35;--shade:#c2a67a;
  --serif:"Alegreya",Georgia,"Times New Roman",serif;--sans:"Alegreya Sans","Gill Sans",Calibri,sans-serif;
  --gutter:clamp(16px,4.4vw,36px);--wrap:1200px;--focus:#1d1a16;
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .32 0 0 0 0 .22 0 0 0 0 .1 0 0 0 .3 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:20px}
body{margin:0;background:var(--kraft) var(--grain);color:var(--ink);font:400 18px/1.56 var(--serif);padding-bottom:72px;overflow-x:hidden;text-rendering:optimizeLegibility}
@media(min-width:900px){body{font-size:19.5px;padding-bottom:0}}
img,svg{max-width:100%}
img{display:block;height:auto}
h1,h2,h3,p,ul,ol,dl,dd,figure,address{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit;text-decoration-thickness:2px;text-underline-offset:.18em}
a:hover{color:var(--red)}
:focus-visible{outline:4px solid var(--focus);outline-offset:3px}
.nb{white-space:nowrap}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.wrap{width:min(100% - 2*var(--gutter),var(--wrap));margin-inline:auto}
.skip{position:absolute;left:12px;top:-80px;z-index:99;padding:12px 18px;background:var(--ink);color:var(--paper);font:700 1rem var(--sans)}
.skip:focus{top:12px}
.ic{width:1em;height:1em;flex:none;fill:currentColor}

/* ------- headings ------- */
.hd{font:800 clamp(2rem,4.6vw,3.35rem)/1.03 var(--serif);letter-spacing:-.012em;text-wrap:balance}
.hd .hd-b{display:block;font-size:.62em;line-height:1.1;margin-top:.28em;letter-spacing:0}
.lede{font:italic 400 clamp(1.2rem,2.2vw,1.45rem)/1.42 var(--serif);max-width:42ch}
.kicker{display:flex;align-items:center;gap:14px;font:italic 400 1.15rem/1 var(--serif);color:var(--red)}
.kicker::after{content:"";flex:1;height:4px;background:var(--ink);max-width:220px}

/* ------- buttons ------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:10px 24px;background:var(--red);color:var(--paper-2);border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);font:700 1.08rem/1.1 var(--sans);text-decoration:none;transition:transform .12s,box-shadow .12s}
.btn:hover{background:var(--red-deep);color:var(--paper-2);transform:translate(2px,2px);box-shadow:3px 3px 0 var(--ink)}
.btn.alt{background:var(--paper-2);color:var(--ink)}
.btn.alt:hover{background:var(--paper);color:var(--red)}
.btn .ic{width:22px;height:22px}
.acts{display:flex;flex-wrap:wrap;gap:16px 20px}

/* ------- masthead ------- */
.masthead{position:relative;background:var(--kraft) var(--grain);z-index:20}
.masthead::after{content:"";display:block;height:14px;background:linear-gradient(var(--ink) 0 9px,transparent 9px 12px,var(--ink) 12px 14px)}
.mast-in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:10px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);min-width:0}
.brand:hover{color:var(--ink)}
.brand img{width:46px;height:46px;flex:none}
.brand-name{display:block;font:800 1.22rem/1 var(--serif);letter-spacing:-.005em}
.brand-place{display:block;margin-top:4px;font:italic 400 .95rem/1 var(--serif);color:var(--red)}
.tabs{display:none}
.drawer{position:static}
.drawer summary{display:flex;align-items:center;gap:10px;min-height:46px;padding:0 14px;border:3px solid var(--ink);background:var(--paper);font:700 1rem var(--sans);cursor:pointer;list-style:none}
.drawer summary::-webkit-details-marker{display:none}
.bars{display:block;width:20px;height:14px;background:linear-gradient(var(--ink) 0 3px,transparent 3px 5.5px,var(--ink) 5.5px 8.5px,transparent 8.5px 11px,var(--ink) 11px 14px)}
.drawer[open] summary{background:var(--ink);color:var(--paper)}
.drawer[open] .bars{background:linear-gradient(var(--paper) 0 3px,transparent 3px 5.5px,var(--paper) 5.5px 8.5px,transparent 8.5px 11px,var(--paper) 11px 14px)}
.drawer-pane{position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:6px solid var(--ink);padding:6px var(--gutter) 22px;box-shadow:0 14px 0 -4px rgba(29,26,22,.25)}
.drawer-pane a{display:flex;align-items:center;gap:14px;min-height:54px;border-bottom:3px solid var(--ink);font:800 1.45rem var(--serif);text-decoration:none}
.drawer-pane .ic{width:30px;height:30px}
.drawer-pane address{margin-top:14px;font:italic 400 1rem/1.4 var(--serif)}
@media(min-width:900px){
  .brand img{width:58px;height:58px}.brand-name{font-size:1.6rem}.brand-place{font-size:1.05rem}
  .mast-in{padding-block:14px}
  .drawer{display:none}
  .tabs{display:flex;align-items:center;gap:6px;margin-left:auto}
  .tabs a{display:block;padding:10px 16px;font:700 1.08rem var(--sans);text-decoration:none;border-bottom:4px solid transparent}
  .tabs a:hover,.tabs a[aria-current]{border-bottom-color:var(--red);color:var(--ink)}
  .mast-in .btn{min-height:46px;padding:6px 20px;margin-left:10px}
}
@media(max-width:899px){.mast-in>.btn{display:none}}

/* ------- bottom dock (phones) ------- */
.dock{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;background:var(--red);border-top:4px solid var(--ink);padding-bottom:env(safe-area-inset-bottom,0)}
.dock a{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;min-height:60px;color:var(--paper-2);font:700 1.14rem var(--sans);text-decoration:none}
.dock a+a{flex:0 0 38%;border-left:3px solid var(--ink);background:var(--pine)}
.dock a:hover{color:#fff}
.dock .ic{width:24px;height:24px}
.dock :focus-visible{outline-color:var(--paper-2);outline-offset:-8px}
@media(min-width:900px){.dock{display:none}}

/* ------- shared frames ------- */
.framed{position:relative}
.framed::after{content:"";position:absolute;inset:0;border:5px solid var(--ink);pointer-events:none;filter:url(#rough)}
.plate{position:relative;background:var(--ink)}
.plate img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:sepia(.3) saturate(.86) contrast(1.06) brightness(.98)}
.plate::after{content:"";position:absolute;inset:0;border:5px solid var(--ink);pointer-events:none;filter:url(#rough)}
.plate figcaption{position:relative;padding:10px 14px 11px;background:var(--ink);color:var(--paper);font:700 .98rem/1.25 var(--sans)}
.plate.red{box-shadow:10px 10px 0 var(--red)}
.dbl{height:14px;background:linear-gradient(var(--ink) 0 9px,transparent 9px 12px,var(--ink) 12px 14px)}
.crumbs{padding-block:4px 0;font:700 .95rem var(--sans)}
.crumbs ol{display:flex;flex-wrap:nowrap;align-items:center;gap:0}
.crumbs li{display:flex;align-items:center;min-height:44px;flex:none}
.crumbs li:last-child{min-width:0;flex:0 1 auto}
.crumbs [aria-current]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.crumbs li+li::before{content:"";display:inline-block;width:8px;height:8px;margin:0 12px;background:var(--red);transform:rotate(45deg)}
.crumbs a{text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.crumbs a:hover{text-decoration:underline}
.crumbs [aria-current]{color:var(--red)}
.ridge.on-ink{background:var(--ink)}
.ridge{display:block;width:100%;height:clamp(34px,5vw,72px);fill:var(--pine);margin-bottom:-1px}

/* ------- board (finger-post) ------- */
.finger{position:relative;display:grid;gap:12px;padding-block:6px 14px;max-width:440px}
.finger::before{content:"";position:absolute;left:50%;top:-6px;bottom:-4px;width:18px;margin-left:-9px;background:var(--ink)}
.finger.flat{display:flex;flex-wrap:wrap;gap:12px;max-width:none;padding:0}
.finger.flat::before{display:none}
.board{--pt:26px;position:relative;display:block;background:var(--ink);color:var(--ink);text-decoration:none;font:800 1.55rem/1 var(--serif)}
.board.r{clip-path:polygon(0 0,calc(100% - var(--pt)) 0,100% 50%,calc(100% - var(--pt)) 100%,0 100%);margin-right:4%}
.board.l{clip-path:polygon(var(--pt) 0,100% 0,100% 100%,var(--pt) 100%,0 50%);margin-left:4%}
.board span{display:flex;align-items:center;min-height:58px;margin:3px;background:var(--paper-2);padding:0 22px 0 18px}
.board.r span{margin-right:5px;padding-right:calc(var(--pt) + 4px);clip-path:polygon(0 0,calc(100% - var(--pt) + 3px) 0,100% 50%,calc(100% - var(--pt) + 3px) 100%,0 100%)}
.board.l span{margin-left:5px;padding-left:calc(var(--pt) + 4px);clip-path:polygon(calc(var(--pt) - 3px) 0,100% 0,100% 100%,calc(var(--pt) - 3px) 100%,0 50%)}
.board:hover span,.board:focus-visible span{background:var(--red);color:var(--paper-2)}
.board[aria-current] span{background:var(--red);color:var(--paper-2)}
.board:focus-visible{outline:none}
.finger.flat .board{margin:0}
.finger.flat .board.l,.finger.flat .board.r{--pt:24px}

/* ------- HOME ------- */
.poster{position:relative;margin-block:clamp(14px,2.6vw,30px) 0;background:var(--paper) var(--grain);isolation:isolate}
.poster::after{content:"";position:absolute;inset:0;border:6px solid var(--ink);pointer-events:none;filter:url(#rough);z-index:4}
.poster-in{display:grid;gap:30px;padding:clamp(24px,4.6vw,64px) clamp(20px,4.6vw,64px) clamp(12px,2vw,24px)}
@media(min-width:900px){.poster-in{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(30px,4vw,60px);align-items:center}}
.poster h1{font:800 clamp(2.7rem,9.4vw,6.3rem)/.95 var(--serif);letter-spacing:-.02em;margin:18px 0 22px;text-wrap:balance}
.poster h1 .hd-b{display:block;font-size:.5em;line-height:1.08;letter-spacing:-.004em;margin-top:.3em}
.poster .lede{margin-bottom:26px}
.poster .plate{transform:rotate(1.3deg)}
.poster .plate figcaption{font-size:1.05rem;padding:12px 16px}
.poster .scene{display:block;width:100%;height:clamp(160px,44vw,260px);margin-top:6px}
@media(min-width:900px){.poster .scene{height:auto;aspect-ratio:1200/320}}

.scope{background:var(--ink);color:var(--kraft)}
.scope ul{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 26px;padding:16px 20px;font:700 1.06rem/1.2 var(--sans)}
.scope li{display:flex;align-items:center;gap:26px}
.scope li+li::before{content:"";width:9px;height:9px;background:var(--red);box-shadow:0 0 0 2px var(--kraft);transform:rotate(45deg);flex:none}
@media(max-width:620px){.scope ul{justify-content:flex-start;gap:6px 18px;font-size:1rem}.scope li{gap:18px}.scope li:last-child{flex-basis:100%}.scope li:last-child::before{display:none}}

.sec{padding-block:clamp(44px,7vw,96px)}
.cat{display:grid;gap:34px}
@media(min-width:980px){.cat{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:64px}.cat-head{position:sticky;top:24px;align-self:start}}
.cat-head .lede{margin-top:22px}
.rows{display:grid;border-top:7px solid var(--ink)}
@media(min-width:700px){.rows{grid-template-columns:1fr 1fr;column-gap:40px}}
.row{display:grid;grid-template-columns:62px minmax(0,1fr);gap:18px;padding:20px 0 22px;border-bottom:3px solid var(--ink);text-decoration:none;color:var(--ink)}
.row .ic{width:60px;height:60px;color:var(--ink);transition:color .15s}
.row-name{display:block;font:800 1.5rem/1.08 var(--serif)}
.row-text{display:block;margin-top:6px;font-size:.93rem;line-height:1.42}
.row:hover .ic,.row:hover .row-name{color:var(--red)}
.row:hover .row-name{text-decoration:underline;text-decoration-thickness:3px}

.pine{background:var(--pine);color:var(--paper-2);--focus:#f6eed9}
.pine a:hover{color:var(--kraft)}
.pine .hd{color:var(--paper-2)}
.pine-in{display:grid;gap:30px;padding-block:clamp(40px,6vw,84px)}
@media(min-width:900px){.pine-in{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:70px;align-items:start}}
.pine-text{display:grid;gap:1.1em;font-size:1.06em}
.pine-text p:first-child::first-letter{float:left;font:800 4.1em/.78 var(--serif);padding:.06em .1em 0 0;color:var(--kraft)}

.ask-h{display:grid;gap:30px}
.notices{display:grid;gap:38px;margin-top:clamp(34px,5vw,56px)}
@media(min-width:900px){.notices{grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}.notices li:nth-child(1){transform:rotate(-.7deg)}.notices li:nth-child(2){transform:rotate(.5deg) translateY(10px)}.notices li:nth-child(3){transform:rotate(-.4deg)}}
.bill{position:relative;height:100%;background:var(--paper-2) var(--grain);padding:40px 26px 30px}
.bill::after{content:"";position:absolute;inset:0;border:4px solid var(--ink);pointer-events:none;filter:url(#rough)}
.bill::before{content:"";position:absolute;z-index:2;top:-11px;left:50%;width:22px;height:22px;margin-left:-11px;border-radius:50%;background:var(--red);border:3px solid var(--ink);box-shadow:3px 3px 0 rgba(29,26,22,.35)}
.bill-title{font:800 1.62rem/1.08 var(--serif);margin-bottom:12px}
.bill p+p{font-size:.98em}
.permit{display:grid;gap:12px 36px;margin-top:clamp(36px,5vw,60px);padding:26px clamp(20px,3vw,36px);background:var(--paper) var(--grain)}
@media(min-width:800px){.permit{grid-template-columns:minmax(0,3fr) minmax(0,9fr);align-items:center}}
.permit-label{font:800 1.6rem/1.1 var(--serif);color:var(--red)}
.permit p:last-child{font-style:italic;font-size:1.06em}

.qa-band{background:var(--paper) var(--grain);border-block:7px solid var(--ink)}
.qa-grid{display:grid;gap:30px}
@media(min-width:980px){.qa-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px}.qa-grid>div:first-child{position:sticky;top:24px;align-self:start}}
.qa{display:grid}
.qa dt{position:relative;padding:22px 0 8px 50px;font:800 1.35rem/1.15 var(--serif);border-top:3px solid var(--ink)}
.qa dt::before{content:"Q";position:absolute;left:0;top:20px;display:grid;place-items:center;width:36px;height:36px;background:var(--red);color:var(--paper-2);font:800 1.25rem/1 var(--serif)}
.qa dd{padding:0 0 24px 50px;max-width:62ch}
.qa dt:first-child{border-top:0;padding-top:0}.qa dt:first-child::before{top:-2px}
.qa.in-panel{padding:6px 0 0}

.read{display:grid;gap:8px 28px;align-items:center;margin-top:clamp(36px,5vw,56px);padding:22px clamp(18px,3vw,32px);background:var(--ink);color:var(--paper-2);text-decoration:none}
.read:hover{color:var(--paper-2);background:var(--red-deep)}
@media(min-width:800px){.read{grid-template-columns:auto minmax(0,1fr) auto}}
.read-t{display:block;font:800 1.4rem/1.15 var(--serif)}
.read-x{display:block;margin-top:6px;font:italic 400 1.02rem/1.4 var(--serif)}
.read-go{font:700 1.05rem var(--sans);border-bottom:3px solid var(--red);padding-bottom:2px;justify-self:start}
.read .ic{width:44px;height:44px;color:var(--kraft)}

.where{display:grid;gap:42px}
@media(min-width:980px){.where{grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:72px;align-items:center}}
.where .plate{transform:rotate(-1.2deg)}
.stamp{margin:22px 0 28px;padding:18px 22px 18px 26px;border-left:10px solid var(--red);font:800 1.5rem/1.22 var(--serif);font-style:normal}
.stamp span{display:block}
.stamp .sm{font:italic 400 1.05rem/1.3 var(--serif);margin-top:4px}
.where .finger{margin-block:30px 34px}

/* ------- footer ------- */
.colophon{background:var(--pine);color:var(--paper-2);--focus:#f6eed9}
.colophon a{text-decoration:none}
.colophon a:hover{color:var(--kraft);text-decoration:underline}
.col-grid{display:grid;gap:34px;padding-block:clamp(34px,5vw,64px) 30px}
@media(min-width:760px){.col-grid{grid-template-columns:1.25fr 1.5fr .9fr 1fr}.col-list.two{columns:2;column-gap:24px}}
.col-brand{display:flex;gap:14px;align-items:flex-start}
.col-brand img{width:64px;height:64px;flex:none}
.col-name{font:800 1.5rem/1.05 var(--serif)}
.col-brand address{margin-top:10px;font-style:normal;line-height:1.4}
.col-h{font:800 1.25rem/1 var(--serif);color:var(--kraft);margin-bottom:10px;padding-bottom:10px;border-bottom:3px solid var(--kraft)}
.col-list li a{display:flex;align-items:center;min-height:44px;font-size:1rem}
.col-end{padding-block:16px 24px;border-top:3px solid var(--kraft);font:700 .92rem/1.4 var(--sans);color:var(--kraft)}
.col-end .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 24px}

/* ------- SERVICE SHEET ------- */
.sheet-head{display:grid;gap:30px;padding-block:14px clamp(34px,5vw,60px)}
@media(min-width:900px){.sheet-head{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:56px;align-items:start}}
.sheet-head h1{font:800 clamp(2.5rem,6.8vw,5rem)/.98 var(--serif);letter-spacing:-.018em;margin:16px 0 20px;text-wrap:balance}
.sheet-head .dsc{font-size:1.1em;max-width:58ch}
.sheet-head .acts{margin-top:28px}
.sheet-head .plate{transform:rotate(-1deg)}
.sheet{display:grid;gap:40px;padding-block:clamp(34px,5vw,60px) clamp(40px,6vw,80px);border-top:7px solid var(--ink)}
@media(min-width:1040px){.sheet{grid-template-columns:230px minmax(0,1fr);gap:56px}}
.rail{display:none}
@media(min-width:1040px){.rail{display:block;position:sticky;top:20px;align-self:start}}
.rail-t{font:800 1.3rem/1 var(--serif);margin-bottom:6px;padding-bottom:10px;border-bottom:5px solid var(--ink)}
.rail ol a{display:block;padding:9px 0 9px 22px;font:700 1.02rem/1.2 var(--sans);text-decoration:none;border-bottom:2px solid var(--shade);position:relative}
.rail ol a::before{content:"";position:absolute;left:2px;top:15px;width:8px;height:8px;background:var(--ink);transform:rotate(45deg)}
.rail ol a:hover{color:var(--red)}.rail ol a:hover::before{background:var(--red)}
.rail-call{margin-top:26px;padding:18px;background:var(--paper) var(--grain)}
.rail-call p{font-size:.98rem;line-height:1.4;margin-bottom:14px}
.rail-call .btn{width:100%;padding-inline:12px;box-shadow:4px 4px 0 var(--ink)}
.flow{display:grid;gap:clamp(40px,6vw,72px);min-width:0}
.flow>section{scroll-margin-top:20px}
.s-h{font:800 clamp(1.8rem,3.4vw,2.5rem)/1.05 var(--serif);letter-spacing:-.01em;margin-bottom:18px;text-wrap:balance}
.twin{display:grid;gap:36px}
@media(min-width:720px){.twin{grid-template-columns:1fr 1fr;gap:0}.twin>div:first-child{padding-right:38px;border-right:3px solid var(--ink)}.twin>div+div{padding-left:38px}}
.dia li{position:relative;padding:9px 0 9px 28px;border-bottom:1.5px solid var(--shade)}
.dia li::before{content:"";position:absolute;left:3px;top:19px;width:10px;height:10px;background:var(--ink);transform:rotate(45deg)}
.dia li:last-child{border-bottom:0}
.checks{background:var(--paper) var(--grain);padding:0}
.checks-note{padding:20px clamp(20px,3vw,32px);background:var(--pine);color:var(--paper-2);font:italic 400 1.1rem/1.45 var(--serif)}
.checks-in{padding:clamp(22px,3vw,34px) clamp(20px,3vw,34px) clamp(14px,2vw,20px)}
.tick li{position:relative;padding:12px 0 12px 46px;border-bottom:2px dashed var(--shade)}
.tick li:last-child{border-bottom:0}
.tick li::before{content:"";position:absolute;left:0;top:15px;width:28px;height:28px;border:4px solid var(--ink);background:var(--paper-2)}
.tick li::after{content:"";position:absolute;left:7px;top:22px;width:14px;height:8px;border-left:4px solid var(--red);border-bottom:4px solid var(--red);transform:rotate(-45deg)}
.halt{background:var(--red);color:var(--paper-2);padding:clamp(22px,3.4vw,38px);box-shadow:10px 10px 0 var(--ink);border:4px solid var(--ink)}
.halt .s-h{color:var(--paper-2);padding-bottom:14px;border-bottom:4px solid var(--paper-2)}
.halt li{position:relative;padding:12px 0 12px 44px;border-bottom:2px solid rgba(246,238,217,.45)}
.halt li:last-child{border-bottom:0}
.halt li::before,.halt li::after{content:"";position:absolute;left:5px;top:26px;width:24px;height:5px;background:var(--paper-2)}
.halt li::before{transform:rotate(45deg)}.halt li::after{transform:rotate(-45deg)}
.steps{counter-reset:step}
.steps li{counter-increment:step;display:grid;grid-template-columns:56px minmax(0,1fr);gap:0 22px;align-items:baseline;padding:16px 0;border-bottom:3px solid var(--ink)}
.steps li:first-child{border-top:3px solid var(--ink)}
.steps li::before{content:counter(step);text-align:center;font:800 2.6rem/1 var(--serif);color:var(--red)}
.notes li{position:relative;margin-bottom:16px;padding:6px 0 6px 24px;border-left:10px solid var(--ink)}
.notes li:last-child{margin-bottom:0}
.ledger{padding:clamp(22px,3vw,34px);background:var(--paper) var(--grain)}
.faq-box .qa dt:first-child{padding-top:0}
.cite{padding:20px 24px;border:3px dashed var(--ink);font-size:.93rem;line-height:1.4}
.cite-t{font:800 1.2rem/1 var(--serif);margin-bottom:8px}
.cite li{padding:5px 0}
.cite a{word-break:break-word}
.cite-d{margin-top:10px;font:italic 400 1rem var(--serif)}
.more{background:var(--ink);color:var(--kraft);--focus:#f6eed9}
.more-in{padding-block:clamp(34px,5vw,56px)}
.more .s-h{color:var(--paper-2)}
.more-list{display:grid;gap:0 36px;border-top:3px solid var(--kraft)}
@media(min-width:700px){.more-list{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.more-list{grid-template-columns:repeat(3,1fr)}}
.more-list a{display:flex;align-items:center;gap:14px;min-height:62px;border-bottom:2px solid var(--kraft);color:var(--paper-2);font:800 1.2rem/1.1 var(--serif);text-decoration:none}
.more-list a:hover{color:var(--kraft);text-decoration:underline}
.more-list .ic{width:34px;height:34px;color:var(--kraft)}
.callout{display:grid;gap:18px;padding:26px clamp(20px,3vw,34px);background:var(--paper) var(--grain)}
@media(min-width:860px){.callout{grid-template-columns:minmax(0,1fr) auto;align-items:center}}
.callout p{max-width:60ch}
.callout .s-h{margin-bottom:10px}

/* ------- TOWN BROADSIDE ------- */
.town-head{padding-block:8px clamp(28px,4vw,48px)}
.town-head h1{font:800 clamp(2.1rem,4.9vw,3.9rem)/1.02 var(--serif);letter-spacing:-.016em;margin:6px 0 clamp(20px,2.6vw,30px);text-wrap:balance}
.town-top{display:grid;gap:34px}
@media(min-width:900px){.town-top{grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:56px;align-items:start}}
.town-top .lede{max-width:none}
.town-top .plate{transform:rotate(1deg)}
.finger-lab{margin:30px 0 12px;font:italic 400 1.05rem var(--serif)}
.trio{display:grid;gap:0;border-top:7px solid var(--ink);border-bottom:7px solid var(--ink);background:var(--paper) var(--grain)}
@media(min-width:900px){.trio{grid-template-columns:repeat(3,minmax(0,1fr))}.trio>section+section{border-left:3px solid var(--ink)}}
.trio>section{padding:30px clamp(20px,2.4vw,34px) 34px;border-top:3px solid var(--ink)}
.trio>section:first-child{border-top:0}
@media(min-width:900px){.trio>section{border-top:0}}
.trio .ic{width:54px;height:54px;margin-bottom:8px}
.trio h2{font:800 1.7rem/1.05 var(--serif);margin-bottom:14px}
.trio p+p{margin-top:.9em}
.trio section p{font-size:.95em;line-height:1.52}
.dir{display:grid;gap:0 44px;margin-top:20px}
@media(min-width:800px){.dir{grid-template-columns:1fr 1fr}}
.dir li{position:relative;padding:16px 0 16px 44px;border-bottom:3px solid var(--ink)}
.dir li::before{content:"";position:absolute;left:4px;top:25px;width:0;height:0;border-left:22px solid var(--red);border-top:9px solid transparent;border-bottom:9px solid transparent}
.dir-wrap{border-top:7px solid var(--ink);margin-top:clamp(40px,6vw,72px);padding-top:30px}
.town-qa{margin-top:clamp(40px,6vw,72px);display:grid;gap:30px}
@media(min-width:980px){.town-qa{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:64px}}
.town-end{margin-block:clamp(36px,5vw,64px) clamp(44px,6vw,80px);display:grid;gap:30px}
@media(min-width:900px){.town-end .cite ul{columns:2;column-gap:36px}.town-end .cite li{break-inside:avoid}}

/* ------- GUIDE PAMPHLET ------- */
.pam-head{display:grid;gap:22px;padding-block:12px clamp(26px,4vw,44px)}
@media(min-width:960px){.pam-head{grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:60px;align-items:end}}
.pam-head h1{font:800 clamp(2.3rem,5.2vw,4.1rem)/1.01 var(--serif);letter-spacing:-.018em;margin:12px 0 0;text-wrap:balance}
.pam-head .lede{max-width:34ch;font-size:clamp(1.15rem,1.7vw,1.3rem)}
.pam-pic{margin-bottom:clamp(30px,4.6vw,56px)}
.pam-pic .plate img{aspect-ratio:16/8;object-position:50% 14%}
@media(max-width:700px){.pam-pic .plate img{aspect-ratio:4/3}}
.pam{display:grid;gap:34px;padding-bottom:clamp(40px,6vw,80px)}
@media(min-width:1040px){.pam{grid-template-columns:250px minmax(0,1fr);gap:64px}}
.pam-toc{display:none}
@media(min-width:1040px){.pam-toc{display:block;position:sticky;top:20px;align-self:start;padding:20px 20px 18px;background:var(--paper) var(--grain);border:4px solid var(--ink)}}
.pam-toc .rail-t{border-bottom-width:4px}
.pam-toc ol{counter-reset:p}
.pam-toc a{display:block;padding:9px 0;border-bottom:2px solid var(--shade);font:700 .98rem/1.22 var(--sans);text-decoration:none}
.pam-toc a:hover{color:var(--red)}
.pam-body{max-width:690px}
.pam-sec{padding-bottom:12px}
.pam-sec+.pam-sec{padding-top:42px;position:relative}
.pam-sec+.pam-sec::before{content:"";display:block;width:120px;height:14px;margin:0 0 22px;background:linear-gradient(var(--ink) 0 9px,transparent 9px 12px,var(--ink) 12px 14px)}
.pam-sec h2{font:800 clamp(1.8rem,3.6vw,2.55rem)/1.06 var(--serif);letter-spacing:-.01em;margin-bottom:18px;text-wrap:balance}
.pam-sec p{margin-bottom:1.1em;line-height:1.62}
.pam-sec:first-child p:first-of-type::first-letter{float:left;font:800 4.7em/.78 var(--serif);padding:.05em .09em 0 0;color:var(--red)}
.pam-end{display:grid;gap:30px;margin-top:40px}

/* ------- INDEX (hubs) ------- */
.idx-head{padding-block:10px clamp(24px,4vw,44px);display:grid;gap:18px}
.idx-head h1{font:800 clamp(2.4rem,6vw,4.6rem)/1 var(--serif);letter-spacing:-.018em;max-width:16ch;text-wrap:balance;margin-top:16px}
@media(min-width:900px){.idx-head{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:56px;align-items:end}}
.idx-head .lede{max-width:40ch}
.cat-rows{border-top:7px solid var(--ink);margin-bottom:clamp(40px,6vw,80px)}
.cat-row{display:grid;gap:20px;padding:30px 0;border-bottom:3px solid var(--ink)}
@media(min-width:800px){.cat-row{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:44px;align-items:center}}
.cat-row .plate{transform:rotate(-.8deg)}
.cat-row:nth-child(even) .plate{transform:rotate(.8deg)}
.cat-row .tag{position:absolute;z-index:3;right:-12px;top:-14px;display:grid;place-items:center;width:72px;height:72px;background:var(--paper-2);border:4px solid var(--ink);border-radius:50%;box-shadow:4px 4px 0 var(--red)}
.cat-row .tag .ic{width:44px;height:44px;color:var(--ink)}
.cat-name{display:block;font:800 clamp(1.8rem,3.4vw,2.5rem)/1.04 var(--serif);text-decoration:none}
.cat-row a.cat-name:hover{color:var(--red);text-decoration:underline}
.cat-x{display:block;margin:8px 0 10px;font:italic 400 1.1rem/1.3 var(--serif);color:var(--red)}
.cat-d{max-width:56ch}
.cat-go{display:inline-block;margin-top:14px;padding:10px 0;font:700 1.05rem var(--sans);border-bottom:4px solid var(--ink);text-decoration:none}
.cat-go:hover{border-bottom-color:var(--red)}
.towns-hub{display:grid;gap:44px;padding-bottom:clamp(30px,5vw,60px)}
@media(min-width:900px){.towns-hub{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:64px;align-items:center}}
.towns-hub .plate{transform:rotate(1deg)}
.townbills{display:grid;border-top:7px solid var(--ink);margin-bottom:clamp(40px,6vw,80px)}
@media(min-width:900px){.townbills{grid-template-columns:repeat(3,minmax(0,1fr))}.townbills>article+article{border-left:3px solid var(--ink)}}
.townbills>article{padding:28px clamp(18px,2.4vw,32px) 32px;border-bottom:3px solid var(--ink);display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.townbills .nm{font:800 2.1rem/1 var(--serif)}
.townbills .hl{font:italic 400 1.15rem/1.35 var(--serif);color:var(--red)}
.townbills p{font-size:.95em;line-height:1.5}
.townbills .cat-go{margin-top:auto}
.shelf{display:grid;gap:30px;padding-bottom:clamp(40px,6vw,80px)}
@media(min-width:900px){.shelf{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:56px;align-items:center}}
.shelf .plate{transform:rotate(1deg)}
.shelf .cat-name{font-size:clamp(2rem,4vw,3rem)}
.shelf-box{padding:30px;background:var(--paper) var(--grain)}

/* ------- CONTACT ------- */
.ct{display:grid;gap:40px;padding-block:6px clamp(36px,5vw,64px)}
@media(min-width:980px){.ct{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:start}}
.ct-h{font:800 clamp(2.4rem,6vw,4.4rem)/1 var(--serif);letter-spacing:-.018em;margin:16px 0 26px}
.letter{padding:26px clamp(20px,3vw,32px) 30px;background:var(--paper-2) var(--grain)}
.letter-top{display:flex;align-items:center;gap:16px;padding-bottom:18px;border-bottom:5px solid var(--ink)}
.letter-top img{width:62px;height:62px}
.letter-top b{display:block;font:800 1.7rem/1.05 var(--serif)}
.letter address{margin:20px 0 22px;font:800 1.5rem/1.28 var(--serif);font-style:normal}
.letter address span{display:block}
.letter .acts{gap:14px}
.ready{margin-top:30px;padding:24px clamp(20px,3vw,30px);background:var(--pine);color:var(--paper-2);--focus:#f6eed9}
.ready .s-h{color:var(--paper-2);font-size:1.6rem}
.ready p{font-style:italic;font-size:1.06em}
.map{position:relative;background:var(--ink);padding:0}
.map iframe{display:block;width:100%;height:clamp(320px,52vw,520px);border:0;background:var(--paper)}
.map-link{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:6px 16px;min-height:52px;background:var(--ink);color:var(--paper-2);font:700 1.02rem var(--sans);text-decoration:none}
.map-link:hover{color:var(--kraft);text-decoration:underline}
.map::after{content:"";position:absolute;inset:0;border:5px solid var(--ink);pointer-events:none;filter:url(#rough)}
.ct-low{display:grid;gap:40px;padding-bottom:clamp(44px,6vw,80px);border-top:7px solid var(--ink);padding-top:clamp(30px,4vw,52px)}
@media(min-width:900px){.ct-low{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px}}
.ct-low .s-h{margin-bottom:16px}
.plain-list li a{display:flex;align-items:center;gap:14px;min-height:56px;border-bottom:3px solid var(--ink);font:800 1.28rem/1.1 var(--serif);text-decoration:none}
.plain-list li:first-child a{border-top:3px solid var(--ink)}
.plain-list .ic{width:34px;height:34px}
.plain-list a:hover{color:var(--red)}

/* ------- PRIVACY + 404 ------- */
.legal{padding-block:10px clamp(44px,6vw,90px);display:grid;gap:36px}
@media(min-width:900px){.legal{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:64px}}
.legal h1{font:800 clamp(2.3rem,5.6vw,4.2rem)/1 var(--serif);letter-spacing:-.016em;margin-top:16px}
.legal .eff{margin-top:18px;font:italic 400 1.15rem var(--serif);color:var(--red)}
.legal-body{max-width:68ch;display:grid;gap:30px}
.legal-body section{padding-top:20px;border-top:5px solid var(--ink)}
.legal-body h2{font:800 1.6rem/1.1 var(--serif);margin-bottom:10px}
.legal-body p+p{margin-top:.9em}
.lost{display:grid;gap:30px;padding-block:clamp(30px,5vw,64px) clamp(44px,6vw,80px);text-align:left}
.lost h1{font:800 clamp(2.8rem,9vw,6.4rem)/.95 var(--serif);letter-spacing:-.02em;margin:18px 0 20px;max-width:12ch}
.lost-art{background:var(--paper) var(--grain);margin-top:10px}
.lost-art .scene{display:block;width:100%;height:clamp(180px,30vw,340px)}

@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.dock,.masthead .btn,.drawer{display:none}body{background:#fff}}
