/* Smart Total Home - inner pages only. Loaded AFTER the homepage style.css; never edits it.
   Tokens come from style.css (:root --y --ink --ink2 --navy --blue --sky --paper --line --txt --r --display). */
.inner{--pad:var(--sec-pad-y,88px)}
@media (max-width:699px){.inner{--pad:var(--sec-pad-y,64px)}}
.inner main>.sec:not(#book){padding-top:var(--pad)!important;padding-bottom:var(--pad)!important}
.inner h1,.inner h2,.inner h3,.inner .intro,.inner .lead{text-wrap:balance}
.inner p,.inner li{text-wrap:pretty}

/* ---------- compact inner hero (shares .hero type, colours, angled bottom edge) ---------- */
.hero.ph{min-height:0;padding:40px 0 132px;align-items:flex-start;background:radial-gradient(120% 90% at 85% 10%,var(--ink2) 0%,var(--ink) 60%)}
.hero.ph::before{inset:0;height:auto;background:linear-gradient(90deg,rgba(0,5,62,.96) 0%,rgba(0,5,62,.86) 45%,rgba(0,5,62,.35) 75%,rgba(0,5,62,.2) 100%)}
.hero.ph:not(.ph-photo)::before{background:linear-gradient(115deg,transparent 60%,rgba(0,117,189,.18) 60.2%,transparent 78%)}
.hero.ph .hbg{position:absolute;inset:0;z-index:0}.hero.ph .hbg img{width:100%;height:100%;object-fit:cover}
.phc{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end;width:100%}
.pht{max-width:760px}
.hero.ph h1{font-size:clamp(34px,4.4vw,58px);line-height:1;margin:12px 0 14px}
.hero.ph h1 em{font-style:normal;color:var(--y)}
.hero.ph .lead{font-size:18px;max-width:640px;color:#DCE4F6;margin:0}
.hero.ph .ctas{margin:24px 0 18px}
.hero.ph .eb{color:var(--y);margin:18px 0 0}
.ph-urgent .eb::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--y);box-shadow:0 0 0 0 rgba(254,209,77,.7);animation:ppulse 1.6s infinite}
@keyframes ppulse{70%{box-shadow:0 0 0 10px rgba(254,209,77,0)}100%{box-shadow:0 0 0 0 rgba(254,209,77,0)}}
.ph .pm img{width:220px;height:auto}
@media (max-width:899px){.phc{grid-template-columns:1fr}.ph .pm{display:none}}
@media (max-width:699px){.hero.ph{padding:24px 0 96px}.hero.ph h1{font-size:34px}.hero.ph .lead{font-size:16px}}

/* breadcrumb */
.bc ol{display:flex;flex-wrap:wrap;gap:4px 0;list-style:none;margin:0;padding:0;font-size:13px;font-weight:600}
.bc li{display:flex;align-items:center;color:#C9D4F0;white-space:nowrap}
.bc li+li::before{content:"›";margin:0 8px;color:var(--y);opacity:.8}
.bc a{color:#C9D4F0;text-decoration:none;display:inline-block;padding:5px 0;min-height:24px}.bc a:hover{color:#fff;text-decoration:underline}
.bc [aria-current]{color:#fff}

/* header dropdowns (same look as the home nav links) */
.nv .dd{position:relative}
.nv .ddm{position:absolute;left:-14px;top:100%;min-width:230px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:0 18px 40px rgba(0,5,62,.16);display:grid;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s,visibility .18s;z-index:60}
.nv .dd:hover .ddm,.nv .dd:focus-within .ddm{opacity:1;visibility:visible;transform:none}
.nv .ddm a{padding:9px 12px;border-radius:10px;white-space:nowrap}.nv .ddm a:hover{background:var(--paper)}
.nv [aria-current="page"]{color:var(--blue)}

/* glance = key facts card overlapping the hero edge */
.inner .glw{position:relative;margin-top:-96px}
.glance.pfacts{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:0;gap:18px 26px}
.pfacts dt{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.pfacts dt .ic{color:var(--sky);flex:none}
.pfacts dd{margin:4px 0 0;font-weight:700;color:var(--ink);font-size:16px;line-height:1.35}
@media (max-width:699px){.inner .glw{margin-top:-70px}.glance.pfacts{grid-template-columns:1fr;gap:14px}}

/* answer-first / split */
.pa-m,.psw{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:center}
.psplit .psw{grid-template-columns:1fr 1fr}.psplit.rev .pat{order:2}
.pat{max-width:760px}.pp{font-size:17px;margin:0 0 14px}
.D .pp{color:#DCE4F6}
.pimg{margin:0;border-radius:var(--r);overflow:hidden;box-shadow:0 18px 40px rgba(0,5,62,.14)}.pimg img{display:block;width:100%;height:auto}
.pm img{display:block;width:200px;height:auto}
@media (max-width:899px){.pa-m,.psw,.psplit .psw{grid-template-columns:1fr;gap:28px}.psplit.rev .pat{order:0}.pa-m .pm{justify-self:center}.pa-m .pm img{width:160px}}

/* checklists: one item per row on phones, never wrapped mid-label into a ragged second line */
.pck{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:12px}
.pck li{position:relative;padding-left:32px;font-size:16px}
.pck li::before{content:"";position:absolute;left:0;top:.2em;width:20px;height:20px;border-radius:50%;background:var(--y) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%2300053E' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round' d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") center/13px no-repeat}
.pck b{color:var(--ink)}.D .pck b{color:#fff}
@media (min-width:700px){.pck.cols{grid-template-columns:1fr 1fr;column-gap:36px}}

/* cards: no orphans (5=3+2, 7=4+3) */
.pcards{display:grid;gap:20px;grid-template-columns:1fr}
.pcard{display:flex;flex-direction:column;background:#fff;color:var(--txt);border-radius:var(--r);padding:26px;box-shadow:0 10px 26px rgba(0,5,62,.10);text-decoration:none;border-top:6px solid var(--y);transition:transform .18s var(--ease-out),box-shadow .18s}
a.pcard:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(0,5,62,.16)}
.pcard h3{font-size:22px;color:var(--ink);margin:0 0 8px}.pcard p{margin:0 0 14px;font-size:15.5px}
.pcard .go{margin-top:auto;font-weight:800;color:var(--blue)}
.pci{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--paper);color:var(--blue);margin-bottom:14px}
@media (min-width:700px){.pcards{grid-template-columns:repeat(2,1fr)}.pcards.n1{grid-template-columns:1fr}}
@media (min-width:900px){.pcards.n3,.pcards.n6{grid-template-columns:repeat(3,1fr)}.pcards.n5{grid-template-columns:repeat(6,1fr)}.pcards.n5 .pcard{grid-column:span 2}.pcards.n5 .pcard:nth-child(4){grid-column:2/span 2}}
@media (min-width:1100px){.pcards.n4,.pcards.n8{grid-template-columns:repeat(4,1fr)}.pcards.n7{grid-template-columns:repeat(12,1fr)}.pcards.n7 .pcard{grid-column:span 3}.pcards.n7 .pcard:nth-child(n+5){grid-column:span 4}}

/* steps */
.psteps{list-style:none;margin:0;padding:0;display:grid;gap:20px;grid-template-columns:1fr;counter-reset:s}
.psteps li{background:#fff;border-radius:var(--r);padding:26px;box-shadow:0 10px 26px rgba(0,5,62,.10)}
.D .psteps li{background:var(--ink2);box-shadow:none;border:1px solid rgba(255,255,255,.08)}
.psteps .bn{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--y);color:var(--ink);font:800 20px/1 var(--display);margin-bottom:14px}
.psteps h3{font-size:21px;margin:0 0 6px}.psteps p{margin:0;font-size:15.5px}.D .psteps p{color:#C9D4F0}
@media (min-width:700px){.psteps{grid-template-columns:1fr 1fr}}
@media (min-width:1100px){.psteps.n3{grid-template-columns:repeat(3,1fr)}.psteps.n4{grid-template-columns:repeat(4,1fr)}}

/* tables (scroll inside the box, never the page) */
.ptw{overflow-x:auto;border-radius:var(--r);box-shadow:0 10px 26px rgba(0,5,62,.10);background:#fff}
.ptable{width:100%;border-collapse:collapse;min-width:520px;color:var(--txt)}
.ptable th,.ptable td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--line);font-size:15.5px}
.ptable thead th{background:var(--ink);color:#fff;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.ptable tbody th{font-weight:700;color:var(--ink)}.ptable tr:last-child>*{border-bottom:0}
.pnote{font-size:14px;opacity:.8;margin:16px 0 0}

/* offers on inner pages: grid count follows ticket count */
.inner .tickets.n1{grid-template-columns:minmax(0,420px)}.inner .tickets.n2{grid-template-columns:repeat(2,minmax(0,420px))}

/* FAQ */
.pfw{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;align-items:start}
.pfw .fqcall{margin-top:24px}
@media (max-width:899px){.pfw{grid-template-columns:1fr;gap:20px}}

/* areas */
.pareas{display:grid;gap:20px;grid-template-columns:1fr}
.par{background:#fff;color:var(--txt);border-radius:var(--r);padding:24px 26px;box-shadow:0 10px 26px rgba(0,5,62,.10)}
.par h3{font-size:22px;margin:0 0 6px;color:var(--ink)}.par h3 a{color:inherit}.par p{font-size:15px;margin:0 0 10px}
.par ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.par li{background:var(--paper);border-radius:999px;padding:5px 12px;font-size:14px;font-weight:600;white-space:nowrap}
.par li a{color:var(--blue)}
@media (min-width:700px){.pareas{grid-template-columns:1fr 1fr}}

/* related links */
.pchips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px}
.pchips a{display:inline-flex;min-height:48px;align-items:center;padding:0 20px;border-radius:999px;border:2px solid var(--line);background:#fff;color:var(--ink);font-weight:700;text-decoration:none;white-space:nowrap}
.D .pchips a{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}
.pchips a:hover{border-color:var(--y)}
@media (max-width:699px){.pchips{flex-direction:column}.pchips a{width:100%}}

/* prose / legal */
.pcol{max-width:760px}.pcol h2{font-size:clamp(24px,2.6vw,30px);margin:36px 0 10px}.pcol h2:first-child{margin-top:0}
.pcol p,.pcol li{font-size:16.5px}

/* notice / safety callout */
.pnb{border-left:8px solid var(--y);background:#fff;color:var(--txt);border-radius:var(--r);padding:28px 32px;box-shadow:0 10px 26px rgba(0,5,62,.10);max-width:900px}
.D .pnb{background:var(--ink2);color:#E6ECF8;box-shadow:none}
@media (max-width:699px){.pnb{padding:22px}}

@media (prefers-reduced-motion:reduce){.ph-urgent .eb::before{animation:none}a.pcard{transition:none}}
.pmore{margin:18px 0 0;font-weight:700}.pmore a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.D .pmore a{color:#FFD54A}

/* a11y fixes from Lighthouse (p2) */
.ft .fg>div+div p a{display:block;width:fit-content;padding:3px 0;margin:0;min-height:24px}.ft .fg>div+div p br{display:none}
.tk .was{color:#5A6488;opacity:1}

/* ---------- p3 visual fixes ---------- */
/* 1 headings: balanced wrapping */
h1,h2,h3,.h4{text-wrap:balance}
/* 2 footer licence line: the link-column <br> hide must not hit .lic */
.ft .fg>div+div p.lic br{display:inline}
.ft p.lic{line-height:1.7}
/* 3 no light strip under footer on phones: move sticky-bar clearance into the dark footer */
@media (max-width:699px){body.inner{padding-bottom:0}.inner .ft{padding-bottom:108px!important}}
/* 5 desktop hero: larger mascot anchored to the hero's bottom edge, with a soft glow */
@media (min-width:900px){
.phc{grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:stretch}
.ph .pm{position:relative;align-self:end;justify-self:center;margin-bottom:-8px;z-index:1;padding:0 40px}
.ph .pm::after{content:"";position:absolute;left:50%;bottom:2px;width:170px;height:18px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.45),transparent);z-index:-1}
.ph .pm::before{content:"";position:absolute;left:50%;bottom:8%;width:130%;aspect-ratio:1;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(0,117,189,.38),rgba(0,117,189,0));z-index:-1}
.ph .pm::before{width:150%}
.ph .pm img,.ph .pm video{width:220px}
}
/* 4 split with mascot: no dead column; mascot sits on a stage disc */
@media (min-width:900px){.psplit .psw:has(>.pm){grid-template-columns:minmax(0,1fr) auto}}
.psw>.pm{justify-self:center;display:grid;place-items:center;width:clamp(260px,26vw,320px);aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(0,117,189,.16),rgba(0,117,189,.05) 70%,transparent)}
.D .psw>.pm{background:radial-gradient(closest-side,rgba(0,117,189,.38),rgba(0,117,189,.08) 70%,transparent)}
.psw>.pm img,.psw>.pm video{width:min(72%,220px)}
@media (max-width:899px){.psw>.pm{width:min(260px,72vw);order:2}}

/* p3 mascot loops: fixed box = no layout shift; 220px max = never upscaled (640px source covers DPR 2.9) */
.pm video{display:block;width:220px;max-width:100%;height:auto;aspect-ratio:640/660;background:transparent;pointer-events:none}
.pa-m .pm video{width:200px}@media (max-width:899px){.pa-m .pm video{width:180px}}
.nw{white-space:nowrap}
/* p4: FAQ component on light bands (homepage #faq styles assume dark) */
#faq.L h2,.pfaq.L h2{color:var(--ink)}
#faq.L .fq,.pfaq.L .fq{background:#fff;border:1px solid var(--line);box-shadow:0 1px 2px rgba(0,5,62,.05)}
#faq.L .fq summary,.pfaq.L .fq summary{color:var(--ink)}
#faq.L .fq p,.pfaq.L .fq p{color:#33395e}
#faq.L .fq[open],.pfaq.L .fq[open]{border-left:4px solid var(--blue)}
#faq.L .fq i,.pfaq.L .fq i{background:#E6EEF8}
#faq.L .fq i::before,#faq.L .fq i::after,.pfaq.L .fq i::before,.pfaq.L .fq i::after{background:var(--blue)}
#faq.L .book,.pfaq.L .book{border-color:var(--blue);color:var(--blue)}
.D .sn a,.D .sn a:visited{color:#FFD54A}
#reviews.D .sn a,#reviews.D .sn a:visited{color:#FFD54A}
.hyx{white-space:nowrap!important}
.pcallc{margin-top:40px;max-width:640px;margin-left:auto;margin-right:auto}
.pcallc .fqcall{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:0 6px 20px rgba(0,5,62,.06)}
.pcallc .fqcall .fqk{color:var(--ink)}.pcallc .fqcall p{color:#33395e}
/* p4: inner FAQ has no peeking mascot, so drop the homepage's tall bottom pad (big empty gap above the final CTA) */
section#faq.pfaq{padding-top:var(--sec-pad-y)!important;padding-bottom:calc(var(--sec-pad-y) + 8px)!important}
@media (max-width:699px){section#faq.pfaq{padding-top:var(--sec-pad-y)!important;padding-bottom:calc(var(--sec-pad-y) + 8px)!important}}

/* p5: data tables become stacked cards below 700px (one row = one card, label: value lines) */
@media (max-width:699px){
.ptw{overflow:visible;box-shadow:none;background:none;border-radius:0}
.ptable{min-width:0;display:block}.ptable thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ptable tbody{display:grid;gap:14px}.ptable tr{display:block;background:#fff;border-radius:var(--r);box-shadow:0 8px 22px rgba(0,5,62,.10);border-top:5px solid var(--y);padding:6px 18px 8px}
.ptable tbody th{display:block;padding:12px 0 10px;font:800 18px/1.3 var(--display);border-bottom:1px solid var(--line)}
.ptable td{display:grid;grid-template-columns:minmax(96px,38%) 1fr;gap:12px;padding:10px 0;font-size:15.5px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.ptable td::before{content:attr(data-l);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);padding-top:2px}
.ptable tr>*:last-child{border-bottom:0}
}

/* p5: no empty right halves on desktop */
.wrap:not(.pa-m)>.pat{max-width:none}
.pp{max-width:75ch}
.pside{background:#fff;color:var(--txt);border-radius:var(--r);padding:26px 28px;box-shadow:0 10px 26px rgba(0,5,62,.10);border-top:6px solid var(--y)}
.D .pside{background:rgba(255,255,255,.06);box-shadow:none;border:1px solid rgba(255,255,255,.16);border-top:6px solid var(--y);color:#DCE4F6}
.pside .psk{margin:0 0 6px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.D .pside .psk{color:var(--y)}
.pside .psh{margin:0 0 8px;font:800 22px/1.2 var(--display);color:var(--ink)}.D .pside .psh{color:#fff}
.pside .psp{margin:0 0 16px;font-size:15.5px}
.pside .pck{margin-top:12px}.D .pside .pck li{color:#fff}
.pside .btn{width:100%;justify-content:center}
.pax .pside{margin-top:24px}
@media (min-width:1000px){
 .pax{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,400px);column-gap:56px;align-items:start}
 .pax>.eb,.pax>h2,.pax>.intro{grid-column:1/-1}
 .pax>.pab{grid-column:1}.pax>.pside{grid-column:2;grid-row:span 3;margin-top:0}
 .pax>.pab .pp{max-width:none}
}
/* checklists: 3 columns when there are 6+ items and no mascot */
@media (min-width:1100px){.wrap:not(.pa-m) .pck.cols:has(>li:nth-child(6)){grid-template-columns:repeat(3,1fr)}}
/* related links: heading left, chips fill the right */
@media (min-width:900px){
 .prw{display:grid;grid-template-columns:minmax(240px,1fr) minmax(0,2fr);column-gap:48px;align-items:center}
 .prh h2{margin-bottom:0}.prh .intro{margin-bottom:0}
 .prw .pchips li{flex:1 1 auto;display:flex}.prw .pchips a{flex:1;justify-content:center}
}
/* single offer: head left, ticket right */
@media (min-width:900px){
 .sec .wrap:has(>.tickets.n1){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);column-gap:56px;align-items:center}
 .sec .wrap:has(>.tickets.n1)>*{grid-column:1}
 .sec .wrap:has(>.tickets.n1)>.tickets{grid-column:2;grid-row:1/span 4}
 .inner .wrap>.tickets.n1{grid-template-columns:1fr}
}
/* hero without mascot or photo: facts card on the right */
.phx{display:none}
@media (min-width:900px){
 .phx{display:block;align-self:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);border-top:6px solid var(--y);border-radius:var(--r);padding:24px 26px;color:#DCE4F6;max-width:380px;justify-self:end;width:100%}
 .phx .psk{margin:0 0 10px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--y)}
 .phx ul{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:10px;font-size:15px}.phx b{display:block;color:#fff}
 .phx .btn{width:100%;justify-content:center}
}
/* prose: reading column + on-this-page card */
.pcol{max-width:75ch}
.ptoc ol{margin:6px 0 16px;padding-left:20px;display:grid;gap:6px;font-size:15.5px}.ptoc a{color:var(--blue)}
@media (min-width:1000px){.pprw{display:grid;grid-template-columns:minmax(0,1fr) 320px;column-gap:56px;align-items:start}.ptoc{position:sticky;top:110px}}
@media (max-width:999px){.ptoc{margin-top:32px}}
.pnw{white-space:nowrap}.phx .phxl{margin:0}
/* p5: offer tickets never wider than their grid cell (1024 three-up) */
.inner .tk{min-width:0}.inner .tk>*{min-width:0}
@media (min-width:900px) and (max-width:1199px){.inner .tickets{gap:18px}.inner .tk{padding:24px 18px 22px}.inner .tkc{font-size:14px;white-space:normal}}
@media (min-width:900px) and (max-width:1199px){.inner .tk .stub{grid-template-columns:1fr!important;justify-items:start!important}.inner .tk .ends{white-space:normal!important}.inner .tkb li,.inner .tkb ul{white-space:normal!important;overflow-wrap:anywhere}.inner .tk .tkb{min-width:0!important;width:100%}}
/* p5 eye-pass: single ticket */
.inner .tickets.n1 .tkb h3{min-height:0}
@media (min-width:900px){
 .sec .wrap:has(>.tickets.n1){grid-template-rows:1fr repeat(4,auto) 1fr}
 .sec .wrap:has(>.tickets.n1)>.tickets{grid-row:1/-1}
 .sec .wrap:has(>.tickets.n1)>:nth-child(1):not(.tickets){grid-row:2}
 .sec .wrap:has(>.tickets.n1)>:nth-child(2):not(.tickets){grid-row:3}
 .sec .wrap:has(>.tickets.n1)>:nth-child(4):not(.tickets){grid-row:4}
 .sec .wrap:has(>.tickets.n1)>:nth-child(5):not(.tickets){grid-row:5}
 .sec .wrap:has(>.tickets.n1)>.intro{grid-row:4}
}
.inner .fqcall .ctas{margin-bottom:0}
@media (max-width:699px){.inner .tk .ends{border-radius:10px;line-height:1.3;padding:5px 8px}}
@media (max-width:699px){.psw>.pm{width:200px}.psw>.pm video,.psw>.pm img{width:150px;height:auto}}
@media (min-width:900px){
 .prw .pchips.n5 li,.prw .pchips.n6 li{flex-basis:30%}
 .prw .pchips.n7 li,.prw .pchips.n8 li{flex-basis:22%}
 .prw .pchips.n4.lg li{flex-basis:40%}
}
@media (max-width:999px){.pax:has(.pab .ctas)>.pscall{display:none}}
#reviews.D .sn button{color:#fff;border-color:rgba(255,255,255,.45)}#reviews.D .sn button:hover{border-color:var(--y)}
@media (min-width:900px) and (max-width:1279px){.prw{grid-template-columns:1fr;row-gap:20px}}
/* p5: exactly 3 checklist items -> one row of 3, no orphan in a 2-col grid */
@media (min-width:900px){.pck.cols:has(>li:nth-child(3)):not(:has(>li:nth-child(4))){grid-template-columns:repeat(3,1fr)}}
/* p5: legal pages - "On this page" TOC first on mobile (was after all content) */
@media (max-width:899px){:has(>.ptoc){display:flex;flex-direction:column}.ptoc{order:-1;margin:0 0 28px}}
/* p5: rebates "Ended" list uses an x mark, not a green-light check */
.pck-x li::before{background:#e3e6ef url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%2300053E' stroke-width='3.2' stroke-linecap='round' d='M7 7l10 10M17 7 7 17'/%3E%3C/svg%3E") center/11px no-repeat}
/* p5: on mobile, drop the call card when the answer block already has its own Call/Book pair (was 2 Call buttons stacked) */
@media (max-width:899px){.pax:has(.pab .ctas)>.pscall{display:none}}

/* official animations (2026-10-23): per-asset width + aspect via --mw/--ar; 3x source at these widths */
.pmo video{aspect-ratio:var(--ar)!important}
.ph .pmo video{width:var(--mw)}
.pa-m .pmo video{width:calc(var(--mw)*.91)}
@media (max-width:899px){.pa-m .pmo video{width:calc(var(--mw)*.82)}}
.psw>.pmo video{width:min(86%,var(--mw))}
@media (max-width:699px){.psw>.pmo video{width:calc(var(--mw)*.7)}}

/* ===== Audit fixes 2026-10-23 ===== */
/* A1 brand colours, read from smart_logo-color.eps (vector CMYK fills, converted by Ghostscript's default CMYK ICC):
   wordmark plate navy #00053E (C100 M90 Y13 K68) · mascot blue #002D5C (C100 M69 Y8 K54) ·
   tagline yellow #FED14D (C0 M17 Y80 K0) · plate outline yellow #FBD70D (C0 M11 Y97 K2).
   Inner pages use only these: no #0075BD/#00468C ring tones, #F5B400, #E0A800, #FFD54A, #FED14D, grey-blue text. */
.inner{--ink:#00053E;--navy:#002D5C;--blue:#002D5C;--sky:#002D5C;--y:#FED14D;--y2:#FBD70D;--muted:rgba(0,5,62,.72)}
.inner .ic,.inner svg.ic,.inner .pchips svg,.inner .pfacts svg,.inner .pfacts dt .ic,.inner .pci,.inner .proof svg{color:#00053E}
.inner .D .ic,.inner .D svg.ic,.inner .hero .ic,.inner #book .ic{color:#FED14D}
.inner .pfacts dt,.inner .glance small,.inner small,.inner .plan .eyebrow,.inner .eb2{color:#00053E}
.inner .D small,.inner .D .eb2,.inner #book .eb2,.inner .hero small{color:#FED14D}
.inner .st,.inner .rv .st,.inner .gs,.inner .bs{color:#FED14D}
.inner .tk,.inner .tk-hv,.inner .tk-pl,.inner .tk-el{border-top-color:#FBD70D;--tc:#FBD70D}
.inner .cw .el{stroke:#FBD70D}.inner .lg-el .mk{border-top-color:#FBD70D}.inner .mk{border-top-color:#002D5C}
.inner .pcard,.inner .pside,.inner .phx,.inner .pnb,.inner .ptable tr{border-color:#FBD70D}
.inner .pcard,.inner .pside{border-top-color:#FBD70D}.inner .pnb{border-left-color:#FBD70D}
.inner .D .pmore a,.inner .D .sn a,.inner .D .sn a:visited,.inner #reviews.D .sn a{color:#FED14D}
.inner .cbs{color:var(--muted)}
.inner .sx-card.on,.inner .pk:hover{border-color:#002D5C}
.inner #faq.L .fq p,.inner .pfaq.L .fq p,.inner .pcallc .fqcall p{color:var(--muted)}
.hero.ph:not(.ph-photo)::before{background:linear-gradient(115deg,transparent 60%,rgba(0,45,92,.28) 60.2%,transparent 78%)}
.ph .pm::before{background:radial-gradient(closest-side,rgba(0,45,92,.5),rgba(0,45,92,0))}
.psw>.pm{background:radial-gradient(closest-side,rgba(0,45,92,.12),rgba(0,45,92,.04) 70%,transparent)}
.D .psw>.pm{background:radial-gradient(closest-side,rgba(0,45,92,.55),rgba(0,45,92,.12) 70%,transparent)}
.ph-urgent .eb::before{box-shadow:0 0 0 0 rgba(254,209,77,.7)}
@keyframes ppulse{70%{box-shadow:0 0 0 10px rgba(254,209,77,0)}100%{box-shadow:0 0 0 0 rgba(254,209,77,0)}}

/* A3 headlines: balance everywhere incl. FAQ "X questions" and offer titles (build.py also glues the last two words) */
.inner h1,.inner h2,.inner h3,.inner .tk h3,.inner .fqk,.inner .psh{text-wrap:balance}

/* A4 mobile labels: bullets, chips and buttons stay on one line at 360-430 */
.pck li>b.pl{display:block}.pck li>.pd{display:block;font-size:15px;opacity:.85;margin-top:2px}
@media (max-width:430px){
 .pck li{font-size:15px;padding-left:30px}
 .inner .btn{white-space:nowrap}
 .inner .ctas .btn{font-size:clamp(14px,4vw,16px);padding-left:14px;padding-right:14px}
}

/* A5 spacing: split blocks share the 64/88 scale, last child flush, mascot capped on phones */
.inner main>.sec .wrap>:last-child,.inner .pat>:last-child,.inner .pab>:last-child,.inner .pside>:last-child{margin-bottom:0}
.inner .pa-m,.inner .psw{row-gap:28px}
@media (max-width:699px){.inner .pm,.inner .psw>.pm{max-width:200px}.inner .pm video,.inner .pm img,.inner .psw>.pm video,.inner .psw>.pm img,.inner .pa-m .pmo video,.inner .psw>.pmo video{width:min(200px,100%)!important;max-width:200px}.inner .psw>.pm{width:200px}}
/* FAQ: call box static below 900, last accordion flush, aside heading in the display face */
@media (max-width:899px){.pfw>div,.pfw .fqcall,.pfw>div:first-child{position:static!important;top:auto!important}}
.inner .fqs>.fq:last-child,.inner .fqs>details:last-of-type{margin-bottom:0!important}
.inner .fqcall .fqk{font-family:var(--display);font-weight:800}
/* booking band: even top/bottom */
.inner #book{padding-top:88px!important;padding-bottom:88px!important}
@media (max-width:699px){.inner #book{padding-top:64px!important;padding-bottom:64px!important}}
.inner #book>.wrap>:last-child,.inner #book .wrap>div>:last-child{margin-bottom:0}

/* A6 no lone last-row items */
.hero.ph .trust{display:flex;flex-wrap:wrap}
@media (max-width:699px){.hero.ph .trust{display:grid;grid-template-columns:1fr;justify-items:start;gap:8px}}
@media (min-width:700px) and (max-width:1099px){.glance.pfacts:has(>:nth-child(4)):not(:has(>:nth-child(5))){grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.glance.pfacts:has(>:nth-child(4)):not(:has(>:nth-child(5))){grid-template-columns:repeat(4,1fr)}}
@media (min-width:700px) and (max-width:899px){.pcards.n3{grid-template-columns:1fr}.pcards.n3 .pcard{display:grid;grid-template-columns:auto 1fr;column-gap:18px}.pcards.n3 .pcard>.pci{grid-row:span 3}}
@media (min-width:700px) and (max-width:899px){.pck.cols:has(>li:nth-child(3)):not(:has(>li:nth-child(4))),.pck.cols:has(>li:nth-child(5)):not(:has(>li:nth-child(6))),.pck.cols:has(>li:nth-child(7)):not(:has(>li:nth-child(8))){grid-template-columns:1fr}}
@media (min-width:900px){.pck.cols:has(>li:nth-child(5)):not(:has(>li:nth-child(6))){grid-template-columns:repeat(6,1fr)}.pck.cols:has(>li:nth-child(5)):not(:has(>li:nth-child(6)))>li{grid-column:span 2}}
@media (min-width:900px){.pck.cols:has(>li:nth-child(7)):not(:has(>li:nth-child(8))){grid-template-columns:repeat(12,1fr)}.pck.cols:has(>li:nth-child(7)):not(:has(>li:nth-child(8)))>li{grid-column:span 3}.pck.cols:has(>li:nth-child(7)):not(:has(>li:nth-child(8)))>li:nth-child(n+5){grid-column:span 4}}
/* single offer at 1440+: one full-width ticket under the heading */
@media (min-width:1200px){
 .sec .wrap:has(>.tickets.n1){display:block}
 .inner .wrap>.tickets.n1{grid-template-columns:1fr;max-width:none;margin-top:28px}
 .inner .tickets.n1 .tk{display:grid;grid-template-columns:minmax(260px,340px) 1fr;align-items:stretch}
 .inner .tickets.n1 .tkb{display:grid;grid-template-columns:1fr auto;column-gap:36px;align-content:center}
 .inner .tickets.n1 .tkb>h3,.inner .tickets.n1 .tkb>.was,.inner .tickets.n1 .tkb>ul{grid-column:1}
 .inner .tickets.n1 .tkb>.tkc,.inner .tickets.n1 .tkb>.tkb2{grid-column:2;align-self:center}
 .inner .tickets.n1 .tkb>ul{display:flex;flex-wrap:wrap;gap:8px 28px}
}
/* FAQ "X questions" heading: sized to sit on one line in its column (container units), balanced if it still wraps */
.pfw>.fqhd{container-type:inline-size}
.pfaq .fqhd>h2{font-size:clamp(22px,calc(100cqi / (var(--n) * .56)),40px)}
/* H1 with a long glued last pair (--g = its length): shrink on phones just enough to hold it on one line */
@media (max-width:699px){.inner h1[style*="--g"]{font-size:min(32px,calc((100vw - 44px) / (var(--g) * .56)))}}
/* ticket titles never clip at 360 */
@media (max-width:399px){.inner .tkb h3{font-size:14.5px;letter-spacing:-.01em}}
/* hero trust with 3 chips: stack them (one per row) until there's room for all three on one row */
@media (min-width:700px) and (max-width:1199px){.inner .hero .trust:has(>li:nth-child(3):last-child){display:grid;grid-template-columns:1fr;justify-items:start}}
/* Brands we repair: text chips (no logos), one line each, centered rows so no lone chip hangs off a ragged last row */
.bchips{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.bchips li{margin:0;padding:10px 18px;border:1.5px solid var(--y2);border-radius:999px;background:#fff;color:var(--ink);font-weight:700;font-size:16px;white-space:nowrap;line-height:1.2}
.dark .bchips li,.D .bchips li{background:transparent;color:#fff}
@media (max-width:430px){.bchips{display:grid;grid-template-columns:1fr 1fr;gap:8px}.bchips li{text-align:center;padding:10px 8px;font-size:15px}.bchips li:last-child:nth-child(odd){grid-column:1/-1}}
/* a brands band that continues the dark symptoms section above it: no double gap */
.inner .sec.L+.sec.L.pbrands,.inner .sec.D+.sec.D.pbrands{padding-top:0}
.inner .pbrands .wrap{text-align:center}
/* 11 brand chips: cap the row so 1440/1920 split 6+5, never 10+1 */
@media (min-width:900px){.bchips{max-width:760px;margin-left:auto;margin-right:auto}}

/* r8k: coupon-card phone icon = button text (navy), like Home; .inner .D .ic paints icons yellow, invisible on the yellow .tkc */
.inner a.tkc svg.ic,.inner a.tkc>svg{color:inherit}
/* r8k: yellow Call buttons: icon = button text (navy), like Home */
.inner a.btn.call svg.ic,.inner a.btn.call>svg{color:inherit}
html body.inner #book a.btn.call svg.ic,html body.inner #book a.btn.call>svg{color:inherit}

/* sth-inner2: job photos 2-col on desktop (stack phones only) */
.inner .h4-cards.n2{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:28px}
@media(min-width:700px){.inner .h4-cards.n2{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
.inner .h4-cards.n2 .h4-ph{display:block;position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:16px;background:var(--paper,#e8eef5)}
.inner .h4-cards.n2 .h4-ph img{display:block;width:100%;height:100%;object-fit:cover}
.inner .h4-cards.n2 figure.h4-card{margin:0;min-width:0}



/* audit1-b5: D1 blog CTA (blog.css often not linked) */
.inline-cta,.bx-dock{background:linear-gradient(160deg,#002D5B,#0A1150)!important;color:#fff!important}
.inline-cta .k,.bx-dock .k{color:#FED14D!important}
.inline-cta h3,.bx-dock h3{color:#fff!important}
.inline-cta p,.bx-dock li{color:rgba(255,255,255,.8)!important}
.inline-cta .btn.book,.bx-dock .btn.book{border-color:rgba(255,255,255,.75)!important;color:#fff!important}
/* V3 consent */
.cb-consent{margin:10px 0 0;font-size:12px;line-height:1.4;color:#5b6475}
.cb-consent a{color:#00468C;text-decoration:underline}
/* D13 phone nowrap in glance */
.glance a[href^="tel:"],.fx-phone,a.tel,.gcard a[href^="tel:"]{white-space:nowrap}
/* D14 no underline on buttons */
a.btn,button.btn,.btn{text-decoration:none!important}
/* D15 footer sticky clearance on dark footer */
@media(max-width:699px){body{background:#0b1b3f}footer.fx,.fx-foot,body>footer{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}
}
/* D7 rebates Duke card wrap */
@media(max-width:480px){
  .rb-card .amt,.rebate .amt,.duke .amt{flex-wrap:wrap}
  .rb-card .pill,.rebate .status{display:inline-block;margin-top:6px}
}
/* D9 eyebrows: yellow on dark, blue on light */
.sec.D .eb,.sec.D .eyebrow,section.D .eb{color:#FED14D}
.sec.L .eb,.sec.L .eyebrow,section.L .eb{color:#00468C}
/* D12 city offer cards: no fixed title height */
.of .ot,.offer-card h3,.of-card h3{height:auto!important;min-height:0}

/* === sth-resources-fix1 === */
/* White card on dark: Book = navy outline (Bang 08:37 fqcall reference) */
html body .card-on-light .btn.book,
html body .sec.D .talk .btn.book,
html body .sec.D .fqcall .btn.book,
html body .pcallc .fqcall .btn.book,
html body .fqcall .btn.book{
  border:2px solid var(--ink)!important;
  color:var(--ink)!important;
  background:transparent!important;
}
/* Talk card CTAs: Call first, Book second, stacked equal width (match fqcall) */
html body .sec.D .talk .ctas{
  display:flex!important;flex-direction:column!important;gap:10px!important;margin:0!important;width:100%;
}
html body .sec.D .talk .ctas .btn{
  width:100%!important;justify-content:center;margin:0!important;
}
@media(min-width:700px){
  html body .sec.D .talk .ctas{min-width:220px}
}
/* HIW traveler above circle badges (Bang 08:34) - shared, beats Home inline hf1 */
html body .hiw .walker,
html body #how .hiw .walker,
html body .hiw[data-hiw] .walker{
  z-index:4!important;
}
html body .hiw .bn,
html body #how .hiw .bn,
html body .hiw[data-hiw] .bn{
  z-index:3!important;
}
/* About history: unclip mascot via container only (no art edits) */
html body.t-about #history,
html body.t-about #history .wrap,
html body.t-about #history .ab-hiw,
html body.t-about #history .hiw{
  overflow:visible!important;
}
html body.t-about #history .ab-hiw,
html body.t-about #history .hiw{
  padding-left:28px!important;
  padding-right:28px!important;
  padding-bottom:18px!important;
}
@media(min-width:700px){
  html body.t-about #history .ab-hiw,
  html body.t-about #history .hiw{
    padding-left:36px!important;
    padding-right:36px!important;
    padding-bottom:24px!important;
  }
}
/* About services chips AA */
html body.t-about #services .sx-chips li{
  background:#eef3fa!important;
  color:#00053E!important;
}
/* About services: icon badge (not plain numeral) */
html body.t-about #services .sx-num{
  display:inline-grid!important;place-items:center;
  width:34px;height:34px;padding:0;border:3px solid #00053e;border-radius:50%;
  background:#fed14d;color:#00053e;
}
html body.t-about #services .sx-num svg{display:block;width:18px;height:18px}
html body.t-about #services .sx-card.on .sx-num{background:#00053e;color:#fed14d}
html body.t-about #services .sx-card.on .sx-num svg{color:#fed14d;stroke:#fed14d}
/* Collapsed cards keep tagline visible; no empty body flash */
html body.t-about #services .sx-card:not(.on) .sx-body{display:none!important}
html body.t-about #services .sx-card .sx-tg{display:block}
