/* Editorial pages reuse the site's light theme, type and control shapes. */
.advice-nav { display: flex; align-items: center; gap: 1.5rem; font-size: .875rem; font-weight: 650; }
.advice-nav > a:not(.button) { text-decoration: none; }
.advice-nav .button { white-space: nowrap; }
.advice-page { max-width: 78rem; padding-bottom: 5rem; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: .65rem; font-size: .8rem; margin: 2rem 0; color: var(--ink-soft); }
.article-heading { max-width: 60rem; margin: 2.5rem 0 3rem; }
.article-heading h1 { font-size: clamp(2.2rem, 4.1vw, 3.4rem); line-height: 1.12; letter-spacing: -.04em; margin: .8rem 0 1.2rem; }
.article-intro { max-width: 49rem; font-size: 1.15rem; line-height: 1.7; color: var(--ink-soft); }
.article-byline { font-size: .8rem; color: var(--ink-soft); margin: 1.3rem 0 0; }
.article-layout { display: grid; grid-template-columns: minmax(0, 1fr) 23rem; gap: 4rem; align-items: start; }
.article-enquiry { grid-column: 2; grid-row: 1; position: sticky; top: calc(var(--header-height) + 1rem); }
.article-body { grid-column: 1; grid-row: 1; min-width: 0; font-size: 1.02rem; line-height: 1.85; }
.article-body h2 { font-size: clamp(1.55rem, 2.5vw, 2rem); line-height: 1.3; letter-spacing: -.025em; margin: 0 0 1.2rem; }
.article-body h3 { font-size: 1.2rem; line-height: 1.5; margin: 2rem 0 .6rem; letter-spacing: -.015em; }
.article-body p { margin: 0 0 1.2rem; }
.article-body section { margin-top: 3.5rem; scroll-margin-top: 6rem; }
.article-body ul { padding-left: 1.4rem; }
.article-body li { padding: .35rem 0 .35rem .2rem; }
.article-answer { border-left: 4px solid var(--gold); padding-left: 1.5rem; }
.article-answer h2 { font-size: 1.35rem; }
.article-photo { margin: 2rem 0; }
.article-photo img { width: 100%; border-radius: var(--radius-control); }
.article-photo figcaption { font-size: .75rem; line-height: 1.6; color: var(--ink-soft); margin-top: .7rem; }
.article-contents { display: flex; flex-wrap: wrap; gap: .5rem 1.4rem; border-block: 1px solid var(--line); padding: 1.25rem 0; font-size: .875rem; }
.article-contents strong { flex-basis: 100%; }
.callback-panel { border: 1px solid var(--line); border-top: 4px solid var(--gold); padding: 1.5rem; border-radius: var(--radius-card); background: var(--surface-raised); scroll-margin-top: 6rem; }
.callback-panel h2 { font-size: 1.4rem; line-height: 1.35; margin: 0 0 .8rem; }
.callback-panel > p { font-size: .85rem; line-height: 1.7; }
.callback-panel .quote-form { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.callback-panel .form-grid { gap: .85rem; grid-template-columns: 1fr 1fr; }
.callback-panel .field { min-width: 0; }
.callback-panel .field label { font-size: .75rem; }
.callback-panel .field input { min-width: 0; padding: .6rem; }
.callback-panel .form-actions { margin-top: 1rem; flex-direction: column; align-items: stretch; }
.callback-panel .form-actions .button { width: 100%; padding-inline: .5rem; }
.callback-panel .form-actions p, .callback-panel .form-progress-note { font-size: .75rem; }
.callback-panel .form-summary:empty { display: none; }
.callback-alternative { margin-bottom: 0; }
.article-local-note { font-size: .8rem; color: var(--ink-soft); padding: 0 1rem; }
.article-table { width: 100%; border-collapse: collapse; font-size: .9rem; line-height: 1.7; }
.article-table caption { text-align: left; font-weight: 700; padding-bottom: .75rem; }
.article-table th, .article-table td { text-align: left; padding: 1rem; vertical-align: top; border-bottom: 1px solid var(--line); }
.article-table thead { background: var(--surface-soft); }
.article-table th[scope="row"] { width: 38%; font-weight: 600; }
.article-review { background: var(--surface-gold); padding: 1.5rem; border-radius: var(--radius-control); margin-top: 2rem; }
.article-review h3 { margin-top: 0; }
.article-review p:last-child { font-size: .85rem; margin-bottom: 0; }
.article-closing { padding-block: 2rem; border-top: 2px solid var(--gold); }
.article-closing .button { margin-bottom: 1.5rem; }
.advice-footer { padding-block: 2.5rem; }
.advice-footer address { font-size: .85rem; font-style: normal; }
.advice-footer nav { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; font-size: .85rem; }
.advice-feature { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; }
.advice-feature img { border-radius: var(--radius-card); }
.advice-feature h2 { font-size: 2rem; line-height: 1.3; }
.advice-index-area { max-width: 48rem; margin-top: 3rem; }
.home-advice { border-block: 1px solid var(--line); background: var(--surface-soft); }
.home-advice .shell { max-width: 64rem; }
.home-advice p { max-width: 50rem; }
@media (max-width: 70rem) {
    .article-layout { gap: 2rem; grid-template-columns: minmax(0, 1fr) 21rem; }
    .advice-nav { gap: 1rem; }
}
@media (max-width: 60rem) {
    .article-layout { display: flex; flex-direction: column; gap: 2rem; }
    .article-enquiry { position: static; width: 100%; }
    .article-body { width: 100%; }
    .article-heading { margin-bottom: 2rem; }
    .advice-nav .advice-phone { display: none; }
    .callback-panel .form-grid { grid-template-columns: 1fr 1fr; }
    .callback-panel .form-actions .button { width: auto; padding-inline: 1.2rem; }
    .advice-feature { gap: 1.5rem; }
}
@media (max-width: 40rem) {
    .advice-header .nav-shell { gap: .7rem; }
    .advice-header .brand-wordmark { width: 130px; }
    .advice-nav > a:not(.button) { display: none; }
    .advice-nav .button { font-size: .72rem; padding: .7rem .65rem; }
    .article-heading h1 { font-size: 2.25rem; }
    .article-intro { font-size: 1rem; }
    .article-body { font-size: 1rem; }
    .callback-panel { padding: 1.2rem; }
    .article-table th, .article-table td { padding: .65rem .45rem; }
    .article-review { padding: 1.2rem; }
    .advice-feature { grid-template-columns: 1fr; }
    .advice-feature h2 { font-size: 1.6rem; }
}
@media (max-height: 760px) and (min-width: 60.01rem) {
    .article-enquiry { position: static; }
}
@media print {
    .advice-header, .advice-footer, .article-enquiry, .article-contents { display: none; }
    .article-layout { display: block; }
    .advice-page { width: 100%; }
    .article-body { font-size: 11pt; }
    .article-body section { margin-top: 1.5rem; }
}
