/* Supporting pages inherit the approved tradie-v18 fonts, palette, navigation and buttons. */
[data-supporting-page] { background:#fff; color:var(--ink); }
[data-supporting-page] main { overflow-wrap:break-word; }
[data-supporting-page] a { text-underline-offset:4px; }
[data-supporting-page] :focus-visible { outline:3px solid var(--violet); outline-offset:4px; }
[data-supporting-page] [hidden] { display:none!important; }
[data-supporting-page] footer { border-top:1px solid var(--line); }
[data-supporting-page] .footer-note { padding-bottom:16px; }
.support-contact { display:flex; flex-wrap:wrap; gap:8px 24px; padding-bottom:max(28px,env(safe-area-inset-bottom)); color:var(--muted); font-size:15px; }
.support-contact a { min-height:44px; display:inline-flex; align-items:center; }
.content-shell,.faq-shell { width:min(1090px,calc(100% - 48px)); margin-inline:auto; }
.content-hero,.faq-hero { padding:clamp(56px,7vw,96px) 0 56px; text-align:center; border-bottom:1px solid var(--line); }
.content-hero h1,.faq-hero h1 { max-width:900px; margin-inline:auto; font-size:clamp(2.25rem,5.5vw,4.5rem); line-height:1.08; }
.content-hero h1 span,.faq-hero h1 span { color:var(--violet); }
.content-eyebrow,.faq-kicker { color:var(--violet); font-size:14px; font-weight:650; margin:0 0 18px; }
.content-standfirst,.faq-hero__copy>p { max-width:680px; margin:24px auto 0; font-size:clamp(1.125rem,2vw,1.35rem); color:var(--muted); }
.content-meta { display:flex; justify-content:center; flex-wrap:wrap; gap:8px 22px; margin:24px 0 0; font-size:14px; color:var(--muted); }
.content-main { padding:56px 0; }
.library-intro { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:40px; align-items:start; }
.library-intro h2,.library-section h2,.content-prose h2 { font-size:clamp(1.65rem,3vw,2.25rem); }
.library-intro p,.content-prose p,.content-prose li { color:var(--muted); }
.library-note,.content-aside,.content-answer { background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:24px; }
.library-note strong,.content-answer strong { display:block; margin-bottom:8px; color:var(--ink); font-family:Jakarta,sans-serif; font-weight:650; }
.library-note p { margin:0; }
.library-section { padding:0 0 24px; }
.library-section__header { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; }
.library-section__count { font-size:14px; color:var(--muted); }
.content-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.content-card { display:flex; flex-direction:column; gap:18px; padding:28px; border:1px solid var(--line); border-radius:16px; background:var(--surface); text-decoration:none; }
.content-card:hover { border-color:var(--violet); }
.content-card span,.content-card strong { color:var(--violet); font-size:15px; }
.content-card h2 { font-size:1.65rem; }
.content-card p { color:var(--muted); margin:0; }
.content-card strong { margin-top:auto; padding-top:8px; }
.content-grid { display:grid; grid-template-columns:minmax(0,720px) minmax(0,290px); gap:64px; align-items:start; }
.content-prose>*:first-child { margin-top:0; }
.content-prose h2 { margin:40px 0 18px; }
.content-prose h3 { margin:28px 0 12px; }
.content-prose p { margin:0 0 22px; }
.content-prose ul,.content-prose ol,.content-aside ul,.content-aside ol { padding-left:22px; }
.content-prose li,.content-aside li { margin-bottom:10px; }
.content-prose a,.content-aside a,.faq-entry__answer a { color:var(--violet); }
.content-answer { border-left:4px solid var(--violet); margin:0 0 32px; }
.content-aside { position:sticky; top:92px; }
.content-aside h2 { font-size:1.35rem; }
.content-aside p,.content-aside li { color:var(--muted); font-size:16px; }
.content-cta { margin-top:44px; padding:28px; border-radius:16px; background:#F3F0FF; }
.content-cta h2 { margin:0; }
.content-cta p { margin:18px 0 24px; }
.content-button,.faq-closing__inner>div>a { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:11px 23px; border-radius:100px; background:var(--violet); color:white!important; font-weight:650; text-decoration:none; }
.content-button:hover,.faq-closing__inner>div>a:hover { background:#5141D2; }
.support-offer { padding-block:44px 60px; text-align:center; }
.support-offer h2 { font-size:clamp(1.9rem,4vw,2.8rem); }
.support-offer>p { max-width:680px; margin:18px auto; color:var(--muted); }
.support-offer .support-guarantee { max-width:620px; padding:14px 20px; border-radius:12px; background:#FFF1E6; color:#62492F; font-size:15px; }
.faq-hero__copy dl { display:flex; justify-content:center; gap:36px; margin:28px 0 0; }
.faq-hero__copy dt { font-size:13px; color:var(--muted); }
.faq-hero__copy dd { margin:4px 0 0; font-weight:650; }
.faq-tools { padding:32px 0; }
.faq-search { max-width:730px; margin:auto; }
.faq-search label { display:block; margin-bottom:10px; font-weight:650; }
.faq-search__control { display:flex; align-items:center; gap:12px; min-height:54px; border:1px solid #CECBD5; border-radius:12px; padding:8px 14px; background:#fff; }
.faq-search__control:focus-within { outline:2px solid var(--violet); outline-offset:2px; }
.faq-search__control svg { width:20px; height:20px; fill:none; stroke:var(--muted); stroke-width:1.8; flex-shrink:0; }
.faq-search__control input { min-width:0; width:100%; border:0; padding:6px 0; font:inherit; color:var(--ink); background:transparent; }
.faq-search__control input:focus-visible { outline:0; }
.faq-search__control button,.faq-empty button { min-height:44px; border:0; background:var(--soft); color:var(--violet); border-radius:8px; padding:8px 12px; font:inherit; cursor:pointer; }
.faq-search__status { margin:8px 0 0; color:var(--muted); font-size:14px; }
.faq-topic-strip { display:none; }
.faq-directory { padding:16px 0 56px; }
.faq-directory__layout { display:grid; grid-template-columns:250px minmax(0,1fr); gap:48px; align-items:start; }
.faq-directory__rail { position:sticky; top:92px; }
.faq-directory__rail>p { color:var(--muted); font-size:14px; }
.faq-directory__rail nav { display:grid; gap:8px; }
.faq-directory__rail nav a,.faq-topic-strip a { display:flex; align-items:center; gap:9px; min-height:44px; padding:10px; border-radius:10px; text-decoration:none; color:var(--ink); font-size:15px; }
.faq-directory__rail a:hover,.faq-topic-strip a:hover { background:var(--soft); }
.faq-directory__rail nav span,.faq-topic-strip span { color:var(--violet); font-size:13px; }
.faq-directory__rail nav strong,.faq-topic-strip strong { margin-left:auto; color:var(--muted); font-size:12px; }
.faq-directory__plan-link { display:flex; gap:12px; align-items:center; min-height:44px; margin-top:20px; color:var(--violet); }
.faq-group { scroll-margin-top:100px; margin-bottom:48px; }
.faq-group__header { margin-bottom:22px; }
.faq-group__header h2 { font-size:clamp(1.65rem,3vw,2.25rem); }
.faq-group__header p { color:var(--muted); }
.faq-group__eyebrow { margin:0 0 10px; color:var(--violet)!important; font-size:14px; }
.faq-group__header>a { display:inline-flex; gap:10px; align-items:center; min-height:44px; color:var(--violet); font-size:15px; }
.faq-group__answers { display:grid; gap:10px; }
.faq-entry { border:1px solid var(--line); border-radius:12px; background:var(--surface); scroll-margin-top:95px; }
.faq-entry summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 20px; min-height:60px; cursor:pointer; list-style:none; font-weight:650; line-height:1.4; }
.faq-entry summary::-webkit-details-marker { display:none; }
.faq-entry summary::after { content:'+'; color:var(--violet); font-size:24px; font-weight:400; flex-shrink:0; }
.faq-entry[open] summary::after { content:'−'; }
.faq-entry[open] { background:white; border-color:#CDC5F8; }
.faq-entry__answer { padding:0 20px 20px; color:var(--muted); }
.faq-entry__answer p { margin:0 0 12px; }
.faq-entry__answer p:last-child { margin-bottom:0; }
.faq-empty { padding:30px; background:var(--surface); border-radius:12px; }
.faq-closing { background:#F3F0FF; padding:48px 0; }
.faq-closing__inner { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.faq-closing h2 { font-size:clamp(1.9rem,3.5vw,2.8rem); }
.faq-closing p { color:var(--muted); }
@media(max-width:860px) {
 .content-grid,.library-intro,.content-cards,.faq-directory__layout,.faq-closing__inner { grid-template-columns:1fr; gap:28px; }
 .content-aside { position:static; }
 .faq-directory__rail { display:none; }
 .faq-topic-strip { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:24px; }
 .faq-topic-strip a { border:1px solid var(--line); }
}
@media(max-width:540px) {
 .content-shell,.faq-shell { width:calc(100% - 32px); }
 .content-hero,.faq-hero { padding:44px 0 32px; }
 .content-main { padding:36px 0; }
 .content-card,.content-aside,.content-answer,.content-cta { padding:20px; }
 .content-card h2 { font-size:1.6rem; }
 .library-section__header { align-items:start; flex-direction:column; gap:4px; }
 .library-section__count { margin:0; }
 .faq-topic-strip { grid-template-columns:1fr; }
 .faq-hero__copy dl { gap:22px; flex-wrap:wrap; }
 .faq-entry summary { padding:16px; gap:12px; }
 .faq-entry__answer { padding:0 16px 16px; }
 .faq-search__control { gap:8px; padding:8px 10px; }
 .faq-search__control svg { display:none; }
 .content-button { width:100%; text-align:center; }
}
@media(max-height:500px) { .content-aside,.faq-directory__rail { position:static; } }
@media(prefers-reduced-motion:reduce) { [data-supporting-page] { scroll-behavior:auto; } }
