/* Shared website geometry: Cheshire Home is the reference. */
:root{--tb-content-width:1100px;--tb-page-gutter:40px;--tb-nav-width:132px}
body .site-shell,body .site-shell.mini-shell,body .archive-shell,body main.page{box-sizing:border-box;width:min(var(--tb-content-width),calc(100% - var(--tb-page-gutter)*2))!important;max-width:var(--tb-content-width)!important;margin-left:auto!important;margin-right:auto!important;float:none!important}
body .advertise-shell{padding-left:0;padding-right:0}
.newsletter-wrapper{padding:0!important}
body .site-header{max-width:none;margin:0;background:#b91c1c}
body .site-header img{width:100%;max-width:1400px;max-height:none;object-fit:contain;margin:auto}
.town-nav,.archive-nav,.issue-nav{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px}
body .town-nav>a,body .archive-nav>a,body .issue-nav>a{box-sizing:border-box;display:inline-flex;flex:0 0 var(--tb-nav-width);width:var(--tb-nav-width);min-width:var(--tb-nav-width);max-width:var(--tb-nav-width);height:44px;min-height:44px;padding:8px 4px;align-items:center;justify-content:center;text-align:center;font:600 14px/1.2 "Open Sans",Arial,sans-serif;white-space:nowrap;border:1px solid #ddd;border-radius:6px;background:#fff;color:#111827;text-decoration:none}
body .issue-nav-socials{flex:0 0 auto;padding:0;display:flex;gap:10px}
.ad-hero,.term-panel,.placement-grid,.report-grid,.booking-section{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:32px}
.ad-hero>div,.hero-offer,.term-panel>div,.placement-grid>div,.report-grid>div,.booking-section>div{display:flex;flex-direction:column;min-width:0}
.ad-hero h1{font-size:clamp(32px,3.4vw,44px)}
.ad-hero>div{padding:25px 0 0}.ad-hero>div>.eyebrow{margin-top:0}.column-end{margin-top:auto;padding-top:20px;border-top:1px solid #ddd;font-size:17px}
.hero-offer>a,.term-panel>div>a:last-child,.placement-grid>div>a:last-child{margin-top:auto;align-self:flex-start}
.term-panel>div{gap:0}.term-panel .button{white-space:normal}
.placement-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.placement-grid>div{padding:0 0 2px;justify-content:space-between}.placement-grid>div h3{font-style:normal}.placement-grid>div p{margin:0 0 18px}.placement-grid>div h3{margin:0 0 12px}
.report-grid>div{padding:24px;background:#fff;border-top:3px solid #b91c1c}.report-grid h2{font-size:27px}.report-grid>div>p:last-child{margin-top:auto}.report-grid ul{line-height:1.65}
.booking-section>div{padding:28px 0}.booking-prep{margin-top:auto;padding-top:24px;border-top:1px solid #ddd}.booking-prep h3{font-size:20px}.booking-prep p{margin:0 0 22px}
.advertise-page .faq{width:100%;max-width:none}.creative-example{background:none;border:0;padding:12px 0;font-size:24px;font-weight:700;line-height:1.35;color:#b91c1c}.goal-grid article{display:flex;flex-direction:column}.goal-grid .text-button{margin-top:auto;align-self:flex-start;text-align:left}
.benchmark-note{margin-top:18px;border-top:1px solid #ddd;padding-top:16px;font-size:14px}.benchmark-note summary{cursor:pointer;font-weight:700}.benchmark-note p{max-width:850px}
@media(max-width:900px){:root{--tb-page-gutter:20px}.ad-hero,.term-panel,.placement-grid,.report-grid,.booking-section{gap:24px}.placement-grid>div{font-size:16px}}
@media(max-width:760px){.ad-hero,.term-panel,.placement-grid,.report-grid,.booking-section{grid-template-columns:1fr}.ad-hero>div,.booking-section>div{padding:0}.column-end{margin-top:24px}.hero-offer>a,.term-panel>div>a:last-child,.placement-grid>div>a:last-child{margin-top:14px}.placement-grid>div{font-size:18px}.booking-prep{margin-top:20px}.ad-hero .button-row{flex-direction:column;align-items:stretch}.ad-hero .button{white-space:normal}.report-grid>div>p:last-child{margin-top:16px}}
body.tb-web-issue{padding:0!important}.tb-issue-parent{padding:0!important}body.tb-web-issue>.page{box-sizing:border-box;width:100%!important;max-width:720px!important;margin-left:auto!important;margin-right:auto!important}
.placement-grid>div p{margin-bottom:10px}.placement-grid>div h3{margin-bottom:10px}

/* Published newsletters retain their 720px reading width on every route. */
body.tb-web-issue .newsletter-shell,body.tb-web-issue .tb-issue-shell,body.tb-web-issue>.page{box-sizing:border-box;width:100%!important;max-width:720px!important;margin-left:auto!important;margin-right:auto!important;float:none!important}
body.tb-web-issue .newsletter-shell,body.tb-web-issue .tb-issue-shell{table-layout:fixed}
body.tb-web-issue .issue-nav>a{flex:1 1 0!important;width:auto!important;min-width:0!important;max-width:none!important;font-size:12px!important}
body.tb-web-issue .issue-nav-socials{flex-basis:100%!important;justify-content:center}
body.tb-web-issue .sponsor img{display:block;width:100%!important;max-width:100%!important;height:auto!important}
@media(max-width:620px){body.tb-web-issue .issue-nav>a{flex:0 0 calc(50% - 5px)!important}}
