/* inner-page layout details (site.css owns every token, colour and component) */
.sheet .pill { font-family: var(--sans); font-size: 14px; line-height: 1; padding: 15px 24px; } /* .sheet a's display sizing must not reach the CTA pill */
.phero .intro { margin-top: clamp(20px, 3vh, 32px); }
.phero .intro .para + .para { margin-top: 1.1em; }
.phero .h1--wide { max-width: 19ch; }
.phero .kick a { text-decoration: none; }
.phero .kick a:hover { color: var(--coral); }
.prose > :first-child { margin-top: 0; }
.wrap > .h2 { margin-bottom: clamp(22px, 3.5vh, 36px); }
.lead, .para, .prose p, .prose li, .row .text, .steps p, .faq p, .caption { text-wrap: pretty; }
.prose .lead { margin-bottom: 1.1em; }
.prose a { text-decoration-thickness: 1px; text-underline-offset: 3px; }
.prose a:hover { color: var(--coral); }
.sec--run { padding-top: 0; }
.rule--top { margin-bottom: clamp(64px, 9vh, 120px); }
.rows--after { margin-top: clamp(28px, 4vh, 44px); }
.after-rows { margin-top: clamp(28px, 4vh, 48px); }
.row--line { grid-template-columns: 64px 1fr; }
.row--line .title { max-width: 40ch; text-wrap: pretty; }
.row .title { text-wrap: balance; }
.faq h3 { font: inherit; letter-spacing: inherit; }
.faq .h2 { margin-bottom: clamp(28px, 4vh, 48px); }
.faq p a:hover { color: var(--coral); }
.steps .t { text-wrap: balance; }
.form--contact { grid-template-columns: 1fr 1fr; gap: 22px 36px; max-width: 760px; }
.form--contact .full, .form--contact .actions { grid-column: 1 / -1; }
.form .actions { display: flex; flex-wrap: wrap; gap: 16px 28px; align-items: center; margin-top: 6px; }
.form .note { max-width: 40ch; }
@media (max-width: 599px) { .form--contact { grid-template-columns: 1fr; } }
.pull { margin-top: clamp(36px, 5vh, 56px); }
.h2 + .pull { margin-top: clamp(20px, 3vh, 32px); }
.pull + p { margin-top: clamp(28px, 4vh, 44px); max-width: var(--measure); }
.pull + .prose { margin-top: clamp(28px, 4vh, 44px); }
.facts--after { margin-top: clamp(28px, 4vh, 44px); }
.stmt + .lead, .h2 + .lead { margin-top: clamp(20px, 3vh, 32px); }
.price { margin-top: clamp(24px, 4vh, 40px); }
.updated { margin-top: clamp(18px, 3vh, 28px); font-size: var(--t-small); color: var(--aub-70); letter-spacing: .04em; }
.byline-line { display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: baseline; margin-top: clamp(22px, 3vh, 36px); font-size: var(--t-kick); font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--aub-70); }
.byline-line .dot { color: var(--coral); }
.routes-h { margin-top: clamp(40px, 6vh, 64px); }
.routes { margin: clamp(18px, 3vh, 28px) 0 0; display: grid; grid-template-columns: max-content 1fr; gap: 16px 32px; align-items: baseline; }
.routes dt { font-size: var(--t-kick); font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--aub-70); }
.routes dd { margin: 0; font-family: var(--serif); font-weight: 560; font-size: var(--t-h3); letter-spacing: -0.01em; line-height: 1.2; overflow-wrap: anywhere; }
.routes a { text-decoration: none; border-bottom: 2px solid var(--coral); padding-bottom: 2px; }
.routes a:hover, .routes a:focus-visible { color: var(--coral); }
@media (max-width: 599px) { .routes { grid-template-columns: 1fr; gap: 6px 0; } .routes dd + dt { margin-top: 14px; } }
.topics { margin-bottom: clamp(28px, 4vh, 44px); }
.row--post .head { min-width: 0; }
.row--post .title a { text-decoration: none; }
.row--post .title a:hover { color: var(--coral); }
.row--post .date { margin-top: 10px; font-size: var(--t-kick); font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--aub-70); }
.address { font-family: var(--serif); font-weight: 560; font-size: var(--t-h3); line-height: 1.3; font-style: normal; margin-top: 1.05em; }
.address a { text-decoration: none; border-bottom: 2px solid var(--coral); padding-bottom: 2px; }
.address a:hover { color: var(--coral); }
.article .cta-row { margin-top: clamp(36px, 5vh, 56px); }
.cta-row .mail { font-family: var(--serif); font-weight: 560; font-size: var(--t-lead); letter-spacing: -0.01em; text-decoration: none; border-bottom: 2px solid var(--coral); padding-bottom: 2px; overflow-wrap: anywhere; }
.cta-row .mail:hover, .cta-row .mail:focus-visible { color: var(--coral); }
@media (max-width: 899px) { .phero .h1--wide { max-width: 16ch; } }
