:root{--paper:#f4efe4;--ink:#1b1a17;--red:#a3271c;--mute:#5f584e;--rule:#1b1a17;--soft:#bdb5a5}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:#d9d2c3;color:var(--ink);font:17px/1.55 'Old Standard TT',Georgia,serif}
body>*{background-color:var(--paper)}
main,.hdr,.ftr{max-width:1200px;margin:0 auto;background:var(--paper);background-image:radial-gradient(rgba(0,0,0,.035) 1px,transparent 1px);background-size:3px 3px}
.hdr{margin-top:20px;box-shadow:0 -6px 30px rgba(0,0,0,.08)}main{box-shadow:0 10px 30px rgba(0,0,0,.08);padding-bottom:30px}
a{color:var(--ink);text-decoration-color:var(--red);text-underline-offset:3px}a:hover{color:var(--red)}
:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--paper);padding:10px 14px;z-index:9}.skip:focus{left:10px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.wrap{padding:0 36px}
.topline{display:flex;justify-content:space-between;gap:10px;font:600 11px/1 'Libre Franklin';letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--rule);padding:16px 0 8px}
.mast{display:block;text-align:center;text-decoration:none;padding:14px 0 6px}
.mast-t{display:block;font-family:'UnifrakturMaguntia',serif;font-size:clamp(40px,7.5vw,92px);line-height:1}
.mast-t.small{font-size:40px;margin:0}
.mast-s{display:block;font-style:italic;font-size:17px;margin-top:6px}
.dateline{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:3px double var(--rule);border-bottom:3px double var(--rule);padding:7px 0;font:600 11.5px 'Libre Franklin';letter-spacing:.08em;text-transform:uppercase;margin-top:10px}
.dateline b{color:var(--red);white-space:nowrap}
.sections{display:flex;gap:4px 20px;justify-content:center;flex-wrap:wrap;list-style:none;margin:0;padding:10px 0;border-bottom:1px solid var(--rule);font:700 12px 'Libre Franklin';text-transform:uppercase;letter-spacing:.1em}
.sections a{text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}.sections a[aria-current]{border-color:var(--red);color:var(--red)}
.nav-toggle{display:none}
.ph{padding:30px 0 22px;border-bottom:4px solid var(--rule);margin-bottom:6px;position:relative}
.ph::after{content:'';position:absolute;left:0;right:0;bottom:-10px;border-bottom:1px solid var(--rule)}
.ph-flag{display:flex;align-items:center;gap:12px}
.ph-sec{font:800 30px/1 'Libre Franklin';background:var(--ink);color:var(--paper);width:46px;height:46px;display:grid;place-items:center}
.kicker{font:800 11px 'Libre Franklin';letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin:0 0 6px}
.ph h1,.headline{font-size:clamp(34px,5.2vw,64px);line-height:1;margin:14px 0 10px;letter-spacing:-.01em}
.deck{font-size:21px;font-style:italic;line-height:1.4;margin:0;color:#33302a;max-width:880px}
.sec{padding:26px 0 8px}.sec+.sec{border-top:1px solid var(--soft)}
.sh{margin-bottom:16px}.sh h2{font-size:32px;margin:0;line-height:1.1}.sh-l{margin:6px 0 0;color:var(--mute);font-style:italic}
h2,h3{line-height:1.15}
.grid{display:grid;gap:26px}.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.g2-1{grid-template-columns:2fr 1fr}
.card{border:1px solid var(--rule);padding:18px;background:rgba(255,255,255,.25)}.card h2,.card h3{margin-top:0}.card+.card{margin-top:18px}.grid>.card+.card{margin-top:0}
.card.feature{border-width:3px;border-style:double}
.btn{display:inline-block;font:800 12px 'Libre Franklin';letter-spacing:.14em;text-transform:uppercase;padding:12px 18px;border:2px solid var(--ink);background:var(--ink);color:var(--paper);text-decoration:none;cursor:pointer}
.btn:hover{background:var(--red);border-color:var(--red);color:#fff}.btn.alt{background:transparent;color:var(--ink)}.btn.alt:hover{background:var(--ink);color:var(--paper)}
.btn.inv{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.notice{border:1px dashed var(--red);padding:10px 14px;font-style:italic;color:#5a1610;background:rgba(163,39,28,.05)}
.fine{font-size:13.5px;color:var(--mute);font-style:italic}.center{text-align:center}.lede{font-size:20px;font-style:italic}
.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-bottom:10px}
.toolbar label,.f-q{display:flex;flex-direction:column;gap:4px;font:800 10.5px 'Libre Franklin';letter-spacing:.12em;text-transform:uppercase}
.toolbar .f-q{flex:1;min-width:240px}.f-q.inline{margin:6px 0}
input,select,textarea{font:16px 'Old Standard TT';padding:10px;border:1px solid var(--ink);background:#fffdf7;color:var(--ink);border-radius:0;width:100%}
.count{font:600 12px 'Libre Franklin';letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.biz-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.biz-list.compact{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.ad,.biz-card{display:block;break-inside:avoid;border:1px solid var(--ink);padding:10px 12px;margin:0;text-align:center;text-decoration:none;position:relative;background:rgba(255,253,247,.4);display:flex;flex-direction:column;justify-content:center}
.biz-card .n,.ad .n{display:block;font:800 14px 'Libre Franklin';text-transform:uppercase;letter-spacing:.03em;line-height:1.25}
.biz-card .s,.ad .s{display:block;font-style:italic;font-size:14px}.biz-card .t,.ad .t{display:block;font:700 10px 'Libre Franklin';letter-spacing:.16em;text-transform:uppercase;margin-top:4px;color:var(--red)}
.biz-card .ph-no{display:block;font-size:13px;margin-top:2px}
.pen{position:absolute;inset:-8px -10px;pointer-events:none;overflow:visible}
.pen ellipse{fill:none;stroke:var(--red);stroke-width:2.4;stroke-dasharray:420;stroke-dashoffset:420;transition:stroke-dashoffset .5s ease}
.biz-card:hover .pen ellipse,.biz-card:focus .pen ellipse,.ad:hover .pen ellipse,.ad:focus .pen ellipse{stroke-dashoffset:0}
.pager{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:18px 0}
.pager button{font:700 13px 'Libre Franklin';border:1px solid var(--ink);background:none;padding:7px 11px;cursor:pointer;color:var(--ink)}.pager button.on{background:var(--ink);color:var(--paper)}.pager button:disabled{opacity:.35;cursor:default}
.gap{padding:6px}.empty{font-style:italic;color:var(--mute)}
.back{display:inline-block;font:800 12px 'Libre Franklin';letter-spacing:.1em;text-transform:uppercase;margin:6px 0 14px}
.biz-detail{border:3px double var(--ink);padding:26px;max-width:860px;margin:0 auto}
.biz-detail h2{font-size:clamp(30px,4vw,48px);margin:4px 0 16px}
.dlist{margin:0;border-top:1px solid var(--ink)}.drow{display:grid;grid-template-columns:200px 1fr;border-bottom:1px dotted #9c9483;padding:8px 0}
.drow dt{font:800 11px 'Libre Franklin';letter-spacing:.12em;text-transform:uppercase;padding-top:4px}.drow dd{margin:0}.maplink{font-size:14px;margin-left:8px}
.claim{margin-top:24px;border-top:4px solid var(--ink);padding-top:16px}.claim h3{font-size:26px;margin:0 0 6px}
.form{display:grid;gap:12px}.form label{display:flex;flex-direction:column;gap:4px;font:800 10.5px 'Libre Franklin';letter-spacing:.12em;text-transform:uppercase}
fieldset{border:1px solid var(--ink);padding:10px}legend{font:800 10.5px 'Libre Franklin';letter-spacing:.12em;text-transform:uppercase;padding:0 6px}
.radios{display:flex;flex-wrap:wrap;gap:14px}.form .r{flex-direction:row;align-items:center;gap:6px;font-size:13px}.r input{width:auto}
.form-msg{font-style:italic;color:var(--red);font-weight:700;border-left:3px solid var(--red);padding-left:10px}
.bluf{list-style:none;padding:0;margin:0 0 16px}.bluf li{border-bottom:1px dotted #9c9483;padding:8px 0}.tag{font:800 10px 'Libre Franklin';color:var(--red);letter-spacing:.14em;text-transform:uppercase;display:block}
.archive{list-style:none;padding:0;margin:0;border-top:2px solid var(--ink)}
.arch-item{display:grid;grid-template-columns:140px 120px 1fr auto;gap:14px;padding:12px 0;border-bottom:1px solid var(--soft);align-items:baseline}
.arch-date{font:800 12px 'Libre Franklin';letter-spacing:.08em;text-transform:uppercase}.arch-no{font-style:italic}.soon{color:var(--mute)}.soon-tag{font:700 10px 'Libre Franklin';letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--mute);padding:2px 6px}
.steps{list-style:none;padding:0;margin:0 0 16px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:s;border:1px solid var(--ink)}
.steps li{padding:16px;border-right:1px solid var(--ink);counter-increment:s}.steps li:last-child{border:0}.steps li::before{content:counter(s);font:800 34px 'Libre Franklin';color:var(--red)}.steps h3{margin:4px 0}.steps p{margin:0;font-size:15px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.chip{font:700 11px 'Libre Franklin';text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--ink);background:none;padding:6px 9px;cursor:pointer;text-decoration:none;color:var(--ink)}.chip.on,.chip:hover{background:var(--ink);color:var(--paper)}
.doc-group{margin:22px 0}.doc-group-h{font-size:24px;border-bottom:3px double var(--ink);padding-bottom:4px}.doc-group-h small{font:700 12px 'Libre Franklin';color:var(--red)}
.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:0;border-left:1px solid var(--soft)}
.doc-card{padding:12px 14px;border-right:1px solid var(--soft);border-bottom:1px solid var(--soft)}.doc-card h3{font-size:18px;margin:2px 0 4px}.doc-card p{font-size:14.5px;margin:0 0 6px}
.doc-id{font:800 10px 'Libre Franklin';letter-spacing:.12em;color:var(--red)}.doc-meta{font:600 10px 'Libre Franklin';letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.res-wrap{column-count:2;column-gap:30px;column-rule:1px solid var(--soft)}
.res-group{break-inside:avoid;margin-bottom:20px}.res-group h2{font-size:22px;border-bottom:2px solid var(--ink);margin:0 0 6px}
.res-list{list-style:none;padding:0;margin:0}.res-item{padding:7px 0;border-bottom:1px dotted #9c9483}.res-item a{font-weight:700}.res-agency{display:block;font:600 10.5px 'Libre Franklin';letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}.res-item p{margin:3px 0 0;font-size:14.5px;font-style:italic}
.town-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:0;border-top:1px solid var(--ink);border-left:1px solid var(--ink)}
.town-card{display:block;padding:18px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);text-decoration:none}.town-card:hover{background:#fffdf7}
.town-card h2{font-size:28px;margin:4px 0}.tc-count{font:800 40px/1 'Libre Franklin';color:var(--red)}.town-card p{font-size:15px;margin:4px 0}.tc-cats{font:600 10.5px 'Libre Franklin';letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.town-top{display:grid;grid-template-columns:240px 1fr;gap:30px;align-items:start}
.stat-big{border:3px double var(--ink);padding:18px;text-align:center}.stat-big b{display:block;font:800 72px/1 'Libre Franklin';color:var(--red)}.stat-big span{font-style:italic}
.town-top h2{margin:0 0 10px}.hl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.hl{border:1px solid var(--ink);padding:10px;text-decoration:none;text-align:center}.hl b{display:block;font:800 13px 'Libre Franklin';text-transform:uppercase}.hl span{font-style:italic;font-size:14px}
.catlist{list-style:none;padding:0;margin:0}.catlist a{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px dotted #9c9483;text-decoration:none;font-size:15px}.catlist b{color:var(--red)}
.others{font-size:15px;margin-top:20px}
.tiers{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--ink)}
.tier{padding:20px;border-right:1px solid var(--ink);display:flex;flex-direction:column}.tier:last-child{border:0}.tier-member{background:rgba(163,39,28,.06)}
.tier h2{font:800 18px 'Libre Franklin';text-transform:uppercase;letter-spacing:.12em;margin:0}.tier-sub{font-style:italic;margin:2px 0 8px}.tier ul{padding-left:18px;margin:0 0 12px;font-size:15px;flex:1}.price{color:var(--red);font-style:italic;font-weight:700}
.table-wrap{overflow-x:auto}.compare{width:100%;border-collapse:collapse;font-size:15px}.compare th,.compare td{border-bottom:1px solid var(--soft);padding:8px;text-align:center}.compare th[scope=row]{text-align:left;font-weight:400}
.compare thead th{font:800 11px 'Libre Franklin';letter-spacing:.12em;text-transform:uppercase;border-bottom:2px solid var(--ink)}.compare td span{color:var(--red);font-weight:700}
.faq details{border-bottom:1px solid var(--soft);padding:10px 0}.faq summary{cursor:pointer;font-weight:700;font-size:18px}.faq p{margin:6px 0 0}
.events{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--ink)}
.event{padding:18px;border-bottom:1px solid var(--ink);position:relative}.event:nth-child(odd){border-right:1px solid var(--ink)}
.event h2{font-size:26px;margin:2px 0 6px}.ev-when{font:800 11px 'Libre Franklin';letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin:0}.ev-who{font-size:14.5px}
.sample-tag{position:absolute;top:14px;right:14px;font:800 10px 'Libre Franklin';letter-spacing:.14em;text-transform:uppercase;border:2px solid var(--red);color:var(--red);padding:3px 7px;transform:rotate(4deg)}
.around{list-style:none;padding:0;margin:0 0 16px;border-top:2px solid var(--ink)}.around li{display:grid;grid-template-columns:120px 1fr 120px;gap:12px;padding:10px 0;border-bottom:1px dotted #9c9483}
.a-date{font:800 12px 'Libre Franklin';text-transform:uppercase}.a-where{font-style:italic;text-align:right}
.host{text-align:center;border-width:3px;border-style:double}
.checks{padding-left:20px}.checks li{margin:6px 0}
.week{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--ink)}.week li{padding:14px;border-right:1px solid var(--ink)}.week li:last-child{border:0}.week b{display:block;font:800 12px 'Libre Franklin';letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-bottom:4px}.week span{font-size:15px}
.links{padding-left:18px}
.brief-issue{max-width:860px;margin:0 auto}.issue-mast{font-family:'UnifrakturMaguntia';font-size:40px;text-align:center;margin:0 0 10px;border-bottom:3px double var(--ink)}
.issue-sec h2{font:800 15px 'Libre Franklin';letter-spacing:.14em;text-transform:uppercase;border-bottom:2px solid var(--ink);padding-bottom:4px;margin:26px 0 8px;color:var(--red)}
.issue-sec ul{padding-left:20px}.issue-sec li{margin:10px 0}.issue-sec:first-of-type ul{font-size:19px}
.issue-nav{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
/* home */
.front{display:grid;grid-template-columns:2.1fr 1fr;gap:28px;padding-top:24px}
.cols{column-count:3;column-gap:22px;column-rule:1px solid var(--soft);font-size:16px;text-align:justify;hyphens:auto;margin-top:16px}.cols p{margin:0 0 10px}
.cols p:first-child::first-letter{float:left;font-size:64px;line-height:.85;padding:4px 6px 0 0;font-weight:700}
.cta-row{margin-top:10px}.side{border-left:1px solid var(--rule);padding-left:24px}
.box{border:1px solid var(--rule);padding:14px;margin-bottom:18px}.box h2{font:800 13px 'Libre Franklin';text-transform:uppercase;letter-spacing:.12em;margin:0 0 8px;border-bottom:1px solid var(--rule);padding-bottom:6px}.box p{margin:0;font-size:15px}
.stat{display:flex;justify-content:space-between;border-bottom:1px dotted #9c9483;padding:6px 0;font-size:15px}.stat b{font-size:22px}
.engr{display:block;width:100%}
hr.thick{border:0;border-top:4px solid var(--rule);margin:30px 0 4px}hr.thin{border:0;border-top:1px solid var(--rule);margin:0 0 18px}
.h-sec{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px;margin-bottom:14px}.h-sec h2{font-size:32px;margin:0}.h-sec span{font:600 12px 'Libre Franklin';text-transform:uppercase;letter-spacing:.1em;color:var(--mute)}
.brief5{display:grid;grid-template-columns:repeat(5,1fr)}.brief5 article{padding:0 14px;border-right:1px solid var(--soft)}.brief5 article:last-child{border:0}.brief5 h3{font-size:19px;margin:6px 0}.brief5 p{font-size:14.5px;margin:0}
.classifieds{display:grid;grid-template-columns:260px 1fr;gap:24px}.ads{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;align-content:start}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.three h2{font-size:24px;margin:0 0 6px}.three p{font-size:15.5px}
.lst{list-style:none;padding:0;margin:0 0 10px;font-size:15px}.lst li{border-bottom:1px dotted #9c9483;padding:6px 0}.lst small{display:block;color:var(--mute);font:600 10px 'Libre Franklin';letter-spacing:.08em;text-transform:uppercase}
.townrow{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--ink)}.townrow a{display:flex;justify-content:space-between;padding:10px 12px;border-right:1px solid var(--soft);border-bottom:1px solid var(--soft);text-decoration:none}.townrow b{color:var(--red)}
.tiers4{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--ink)}.tiers4 div{padding:16px;border-right:1px solid var(--ink)}.tiers4 div:last-child{border:0}.tiers4 h3{font:800 14px 'Libre Franklin';text-transform:uppercase;letter-spacing:.12em;margin:0 0 6px}.tiers4 p{margin:0;font-size:14.5px}.tiers4 em{display:block;margin-top:10px;color:var(--red);font-size:13px}
.cta{background:var(--ink);color:var(--paper);text-align:center;padding:28px;margin-top:30px}.cta h2{margin:0;font-size:34px}.cta p{font-style:italic}
.ftr{margin-bottom:20px;border-top:4px double var(--ink);padding:24px 0 16px}
.colophon{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}.colophon h2{font:800 12px 'Libre Franklin';letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:4px}
.colophon ul{list-style:none;padding:0;margin:0;columns:2;font-size:15px}.colophon li{padding:2px 0}
.imprint{font:600 11px 'Libre Franklin';letter-spacing:.08em;text-transform:uppercase;text-align:center;color:var(--mute);border-top:1px solid var(--soft);padding-top:12px;margin-top:20px}
.press{position:fixed;inset:0;pointer-events:none;background:var(--paper);z-index:50;animation:press .5s ease forwards}@keyframes press{to{opacity:0}}
@media(max-width:960px){.wrap{padding:0 18px}.front,.classifieds,.three,.g2,.g3,.g2-1,.town-top,.colophon{grid-template-columns:1fr}.side{border:0;padding:0}.cols,.res-wrap{column-count:1}
.brief5,.tiers,.tiers4,.steps,.week,.events{grid-template-columns:1fr}.brief5 article,.tiers>*,.tiers4>*,.steps li,.week li{border-right:0!important;border-bottom:1px solid var(--soft);padding:12px 0}.event:nth-child(odd){border-right:0}
.townrow{grid-template-columns:1fr 1fr}.hl-grid{grid-template-columns:1fr 1fr}.drow{grid-template-columns:1fr}.arch-item{grid-template-columns:1fr 1fr}.around li{grid-template-columns:1fr}.a-where{text-align:left}
.nav-toggle{display:block;width:100%;font:800 12px 'Libre Franklin';letter-spacing:.14em;text-transform:uppercase;background:none;border:0;border-bottom:1px solid var(--ink);padding:10px;cursor:pointer;color:var(--ink)}
.sections{display:none;flex-direction:column;align-items:center}.sections.open{display:flex}.dateline .towns-line{display:none}.topline span:last-child{display:none}}

@media print{.hdr nav,.nav-toggle,.ftr .btn,.toolbar,.pager,.chips,.claim form{display:none}body{background:#fff}main,.hdr,.ftr{box-shadow:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
#dir-detail:focus,main:focus{outline:none}

/* ---- combined-site additions (common) ---- */
.picker{background:#111;color:#f4efe4;font:600 15px/1.2 system-ui,-apple-system,Segoe UI,sans-serif;position:relative;z-index:50}
.pk-in{max-width:1240px;margin:0 auto;padding:8px 16px;display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center}
.picker a{color:#f4efe4;text-decoration:none;padding:7px 14px;border-radius:999px;border:2px solid #555;transition:background .2s,border-color .2s,transform .15s}
.picker a:hover{border-color:#f4efe4;transform:translateY(-1px)}.picker a.on{background:#f4efe4;color:#111;border-color:#f4efe4}
.picker a:focus-visible{outline:3px solid #ffd257;outline-offset:2px}.pk-ph{margin-left:auto;opacity:.85;font-weight:500}
@media(max-width:600px){.pk-ph{display:none}.pk-l{width:100%}}
.empty-state{text-align:center;padding:40px 28px;position:relative}.empty-state.small{text-align:left;padding:28px}
.es-art{font-size:64px;line-height:1;animation:bob 3s ease-in-out infinite}.es-k{font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:13px;margin:10px 0 0}
.empty-state h2{margin:8px 0 10px}.es-cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:center;margin:18px 0}.empty-state.small .es-cta{justify-content:flex-start}
.es-phone{font-weight:700;padding:10px 16px;border:2px dashed currentColor;border-radius:8px}
.steps3{list-style:none;counter-reset:s3;padding:0;margin:18px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;text-align:left}
.steps3 li{counter-increment:s3;padding:14px 16px;border:2px solid currentColor;border-radius:6px;position:relative}.steps3 li::before{content:counter(s3);font-weight:900;font-size:28px;display:block;line-height:1;margin-bottom:6px}
.steps3 b{display:block}.steps3 span{display:block;margin-top:4px}
.phonebox .pb-k{font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:13px;margin:0}.phonebox h2{margin:4px 0}.pb-num{font-size:24px;font-weight:800;margin:6px 0}
.f25-hero{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;align-items:start}@media(max-width:800px){.f25-hero{grid-template-columns:1fr}}
.seat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.seat{aspect-ratio:1;display:grid;place-items:center;font-weight:800;border:2px solid currentColor;border-radius:8px;transition:transform .2s,background .2s;cursor:default}
.seat:hover{transform:scale(1.12) rotate(-4deg)}.seats-h{font-weight:800;text-transform:uppercase;letter-spacing:.1em;margin:0 0 10px}
.checks.big li{font-size:1.08em;margin:6px 0}
.tiers3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.tc-go{display:block;margin-top:8px;font-weight:700;font-size:.9em}
.form-msg{font-weight:700}
@keyframes bob{50%{transform:translateY(-6px)}}@media(prefers-reduced-motion:reduce){.es-art{animation:none}}


:root{--mute:#2f2b25;--soft:#8f8778}
body{font-size:19px;line-height:1.6;color:#111}
.front .cols{column-count:2;column-gap:32px;font-size:19px;text-align:left}
.three p,.box p,.tier ul,.town-card p,.ev-who,.event p,.around li,.week li,.faq p,.res-item p{font-size:17.5px}
.tc-cats,.h-sec span,.ev-when{font-size:13px}
.f25 p{font-size:20px}.f25 h2{font-family:"Old Standard TT",Georgia,serif;text-transform:none;letter-spacing:0;font-weight:700}
@media(max-width:700px){.front .cols{column-count:1}}
.fine{font-size:16px;color:#333}.deck{font-size:23px;color:#1b1a17}.lede{font-size:21px}
.sections a,.nav a{font-size:15px}
.btn{font-size:17px;padding:14px 22px}
.form label{font-size:17px}.form input,.form select,.form textarea{font-size:18px;padding:12px}
.cols p{font-size:19px}.biz-card,.lst li,.res-item p,.doc-card p,.steps p{font-size:17px}
.res-agency,.kicker{font-size:13px}
.phonebox{border:4px double #1b1a17;background:#fff}.pb-num{color:#a3271c;font-size:28px}
.box.phonebox{padding:16px}
.f25{padding:26px;border:3px solid #1b1a17;background:#fffdf7}.f25 h2{font-size:clamp(28px,3.4vw,42px);margin:6px 0}
.big-q{font-size:clamp(30px,3.6vw,46px);margin:0 0 8px}
.empty-state{background:#fffdf7;border:3px double #1b1a17}
.seat{background:#fffdf7}.seat:hover{background:#a3271c;color:#fff}
.picker a.on{background:#f4efe4}
