:root{--mono:var(--body);}
.amt small,.area-rows .an,.badges span,.facts .fs,.faq summary,.foot-bot,.foot-mark,.form-price span,.lbl,.mk .ok,.mk .pp div,.mnav .mh,.mnav a:not(.btn),.pc-line,.pf-t,.pic-cap,.pic-lab,.plan-rows .pr span:last-child,.price,.promises li,.pt-out .pv small,.ptable th,.stats dd,.sticker,.wm,/* ============ BUTTONS ============ */
.btn,/* mono labels: eyebrows, codes, small caps */
.eyebrow,.ml,.pl,.code,.tag,.tk-bar,.crumb,.fh,.nav>a,.nav summary,.annc,/* placeholders (no fake photos or reviews) */
.ph,h1,h2,h3{text-transform:none;letter-spacing:0;}

:root{
  --putty:#FFFFFF; --chalk:#FFFFFF; --grey-100:#FFFFFF; --card:#FFFFFF; --alt:#FFFFFF; --paper:#FFFFFF; --grey-300:#D9D2C3; --ash:#C7D9E5;
  --grey-500:#7B8A97; --grey-600:#4D6072; --grey-700:#33495A;
  --charcoal:#132F42; --charcoal-2:#1A3B50;
  --orange:#EFA92E; --orange-600:#E39A1C; --rust:#C98A1E;
  --lime:#D6E8F2; --lime-100:#EAF3F8;
  --primary:#0E4D6E; --border:#D9D2C3; --field:#7B8A97;
  --cta:#EFA92E; --cta-hover:#E39A1C;
  --line-soft:#132F421F; --line-dash:#132F4240;
  --display:"Archivo","Helvetica Neue",Arial,sans-serif;
  --stencil:"Archivo","Helvetica Neue",Arial,sans-serif;
  --bw:1px;
  --shadow:0 1px 2px #15302D0F,0 4px 12px #15302D12;
  --shadow-lg:0 2px 4px #15302D0D,0 14px 36px #15302D17;
  --h1:58px; --h2:42px; --h3:22px; --ml:13px;
}
/* Nate, 15 Nov: "Headlines on mobile are too big". The tokens above beat site.css's phone sizes, so phones get their own here */
@media (max-width:767px){
  :root{--h2:30px;--h3:20px;}
  .svc-card h3,.step-card h3{font-size:22px;}
  .refer-steps h3{font-size:20px;}
  .annc-in{justify-content:center;}  /* Nate, 15 Nov: "Center on mobile" */
}
@media (max-width:359px){:root{--h2:28px;}}
/* soft lines, not black boxes */
*{border-color:var(--border)!important;}
.inp,.choice,.svc,.btn--ghost,.bx{border-color:var(--field)!important;}
.deep *,.site-foot *,.annc *{border-color:#FFFFFF2E!important;}
.site-head{border-bottom-width:1px;}

/* type: Archivo, normal case, calm */
h1,h2,h3{text-transform:none;font-weight:600;letter-spacing:-.022em;line-height:1.08;}
h1{font-size:min(var(--h1),calc((100vw - var(--pad) * 2) / 17.5));}
h1 .o{color:var(--primary);}
.eyebrow,.ml,.pl,.code,.tag,.tk-bar,.crumb,.fh,.nav>a,.nav summary,.annc{font-family:var(--body);text-transform:none;letter-spacing:0;font-weight:600;}
.tk-bar,.nav>a,.nav summary,.fh{text-transform:capitalize;}
.eyebrow{color:var(--grey-600);font-size:17px;margin-bottom:12px;text-transform:none;}
.btn{font-family:var(--body);text-transform:none;letter-spacing:0;font-weight:600;font-size:17px;box-shadow:none!important;border-radius:8px;}
.btn:active{transform:none;}
.btn--primary{color:var(--charcoal);border-color:var(--rust)!important;}
.btn--primary:hover{background:var(--cta-hover);color:var(--charcoal);}
.wm{font-family:var(--body);font-weight:600;text-transform:none;letter-spacing:-.02em;}
.mark{background:var(--primary);color:#FFFDF8;border-radius:8px;font-family:var(--body);font-weight:600;}
.faq summary,.area-rows .an{font-family:var(--body);text-transform:none;font-weight:600;letter-spacing:-.01em;}
.faq summary{font-size:19px;}
.area-rows .an{font-size:22px;}
.price,.amt,.pv,.t-total b,.form-price b,.facts .fv,.stats dt,.refer-steps .n{font-family:var(--body);font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums;}
.pt-out .pv{font-size:48px;} .amt{font-size:48px;} .price{font-size:28px;} .t-total b{font-size:38px;} .stats dt{font-size:26px;}

/* rounded, soft cards */
.ptool,.ticket,.form,.plan-card,.svc-card,.step-card,.refer-steps li,.ph,.facts,.g-grid,.cmp,.pic,.example,.form-price,.form-status{border-radius:14px;overflow:hidden;}
.tablewrap{border-radius:14px;}
.ptool,.ticket,.form,.plan-card{box-shadow:var(--shadow-lg)!important;}
.svc-card,.step-card,.refer-steps li{box-shadow:var(--shadow);}
.inp,.choice,.svc{border-radius:10px;}
.tag,.sticker,.pic-tag{border-radius:6px;border:none;box-shadow:none;transform:none;}
.mk{border-radius:10px;box-shadow:var(--shadow);}
.example{transform:none;}
.sticker,.ruler,.foot-mark{display:none;}
.faq .pm{background:var(--lime);border-radius:6px;}
.refer-steps .n{background:var(--lime);color:var(--primary);border-radius:10px;}
.mk .ok span:last-child{color:var(--charcoal);border-radius:4px;}

/* no dark card fills (Nate, 15 Nov: "Not sure I like the black card background parts") */
.choice:has(input:checked){background:var(--lime);color:var(--charcoal);border-color:var(--primary)!important;}
.svc:has(input:checked){background:var(--lime);border-color:var(--primary)!important;}
.svc:has(input:checked) .sn{color:var(--charcoal);}
.svc:has(input:checked) .sp{color:var(--grey-600);}
.svc:has(input:checked) .bx{background:var(--primary);border-color:var(--primary)!important;}
.svc:has(input:checked) .bx::after{border-color:#fff!important;}
.pt-out,.form-price{background:var(--lime-100);color:var(--grey-600);}
.pt-out .pl,.pt-out .pn,.pt-out .pv small,.form-price span{color:var(--grey-600);}
.pt-out .pv,.form-price b{color:var(--charcoal);}
.pt-out .pn b{color:var(--primary);}
.plan-card{background:var(--chalk);color:var(--grey-600);}
.plan-card .tk-bar{background:var(--chalk);color:var(--charcoal);}
.pc-body .pl,.pc-cta .ml,.amt small{color:var(--grey-600);}
.amt{color:var(--primary);}
.ticks li{color:var(--charcoal);}
.ticks li::before{background:var(--primary);}

/* hero: words and button left, photo right (Nate, 15 Nov) */
.hero-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;gap:56px;margin-top:0;}
.hero-copy .eyebrow{margin-bottom:14px;}
.hero-copy h1{margin-bottom:20px;font-size:min(64px,calc((min(100vw,1280px) - var(--pad) * 2 - 56px) * .565 / 9.6));}
/* 3 lines, one per idea (Nate, 15 Nov: "3 lines not 2"); sized by the widest line, about 11.6em */
.hero h1 .hl,.hero h1 .o{display:block;}
@media (max-width:1024px){
  .hero-grid{grid-template-columns:minmax(0,1fr);gap:36px;}
  .hero-copy h1{font-size:min(52px,calc(min(100vw - var(--pad) * 2, 640px) / 9.6));}
}

/* burger menu: full screen on tablet and phone (Nate, 15 Nov: "should open full screen on tablet and mobile") */
@media (max-width:1180px){
  html.lock .site-head{position:fixed;top:0;left:0;right:0;transform:none!important;}
  .site-head .head-in{position:relative;z-index:2;background:var(--putty);}
  .mnav{inset:0!important;z-index:1;height:100vh;height:100dvh;padding:calc(var(--header-h) + 28px) var(--pad) 48px!important;overscroll-behavior:contain;}
}

/* Nate, 15 Nov: "The photos I've added for use are what we can use, stop putting sample photos on them." */
.pic-tag{display:none!important;}

/* bands: one deep green band (guarantee), the rest sand */
.deep{background:var(--primary)!important;}
.deep .eyebrow{color:var(--ash);}
.book-band{background:var(--grey-100);}
.ptable th{background:var(--grey-100);color:var(--charcoal);}
a{text-decoration-color:var(--primary);}
:focus-visible{outline-color:var(--primary);}

/* ---------- advisor layout pass (15 Nov): site-standards 3, 6, 7, 9; CRO ATIDCOA, mobile, CTA ---------- */
/* section bands: sand and warm grey take turns, the care plan gets the pale sea tint, booking is the one deep band */
.c-svc,.c-steps,.c-refer,.c-faq{background:var(--grey-100);}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.c-price,.c-soft,.c-areas{background:var(--putty);}
.c-care{background:var(--lime-100);}
/* padding from the scale: 96 price and photos, 64 most, 48 areas and FAQ */
.c-svc,.c-price{padding:96px 0;}
.c-steps,.c-soft,.c-care,.c-refer,.c-book{padding:64px 0;}
.c-areas,.c-faq{padding:48px 0;}

/* one sub line UNDER the heading, never to the right */
.sec-head{display:block;margin-bottom:40px;}
.sh-sub{margin-top:14px;max-width:640px;}
.sh-sub p{font-size:18px;line-height:1.5;}

/* hero: slim proof row under the button, line ticks */
.promises{border-top:0;padding-top:0;margin-top:22px;gap:10px 24px;}
.promises li{font-size:15px;color:var(--charcoal);gap:8px;}
.promises li::before{display:none;}
.promises .pk{width:18px;height:18px;flex:none;color:var(--primary);}

/* services: no codes or tags, house wash wide, extras as a slim strip */
.c-svc .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.svc-card--wide{grid-column:span 2;padding:28px;}
.svc-card--wide h3{font-size:36px;}
.svc-card--strip{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px 32px;padding:20px 24px;}
.svc-card--strip h3{font-size:22px;}
.svc-card--strip p{margin:0;}
.svc-card--strip .sc-foot{margin:0;padding:0;border:0;gap:28px;}

/* price: heading and the price table left, the tool right (Nate, 15 Nov: the empty left side looked wrong) */
.c-price .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);grid-template-rows:auto 1fr;gap:32px 64px;align-items:start;}
.c-price .sec-head{margin:0;grid-column:1;grid-row:1;}
.c-price .tool-sec{display:contents;}
.c-price .hero-tool{grid-column:2;grid-row:1/span 2;}
.c-price .ts-table{grid-column:1;grid-row:2;}

/* how a visit works: centred, with the button under it */
.c-steps .sec-head{text-align:left;}  /* Nate, 15 Nov: "Align left" */
.c-steps .sec-head > *{text-align:left!important;margin-left:0!important;}
.c-steps .sh-sub{margin-left:auto;margin-right:auto;}
.steps-cta{display:flex;justify-content:center;margin-top:40px;}

/* soft wash: table left, photo right */
.soft-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px;align-items:start;}
.soft-grid>*{min-width:0;}
.soft-grid .solo{margin-top:0;}

/* care plan: headline on one row, card left, photo right (Nate, 15 Nov) */
.care-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px;align-items:stretch;}
.care-grid>*{min-width:0;}
.care-grid .solo{margin-top:0;display:flex;flex-direction:column;}
.care-grid .solo .pic{flex:1;min-height:260px;}
.care-grid .solo img{width:100%;height:100%;object-fit:cover;}
.c-care .pc-body{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:28px 36px;}
.c-care .pc-cta{grid-column:1/-1;grid-auto-flow:row;justify-items:start;gap:12px;}
.pc-line{margin-top:20px;font-size:15px;}
/* care plan list: an icon per line, so people scan it (Nate, 15 Nov) */
.ticks li{display:flex;align-items:center;gap:12px;padding:0;line-height:40px;}
.ticks li::before{display:none;}
.ticks .ti{width:22px;height:22px;flex:none;color:var(--primary);}

/* refer: everything lines up on the left (Nate, 15 Nov) */
.refer .cta-box{max-width:none;}
.refer .cta-box .btn{width:auto;display:inline-flex;}
.refer .under-btn{text-align:left;max-width:460px;}

/* booking: the one deep sea-blue band, the form stays a light card */
.c-book{background:var(--primary)!important;border-top:0;}
.c-book .eyebrow,.c-book .lead{color:var(--ash);}
.c-book h2{color:#FFFDF8;}
.c-book .facts3 li{color:#FFFDF8;}
.c-book .facts3 .sq{background:none;color:var(--lime);width:22px;height:22px;}
.c-book .facts3 .sq .i{width:20px;height:20px;}
.c-book .form{background:var(--chalk);box-shadow:0 2px 6px #0A2A3D33,0 18px 44px #0A2A3D40!important;}
/* Nate, 15 Nov: "Add more top and bottom padding" on the booking band (was 64 / 48 / 36) */
section.c-book{padding:112px 0;}
@media (max-width:1024px){section.c-book{padding:80px 0;}}
@media (max-width:767px){section.c-book{padding:64px 0;}}

/* footer: no line after the copyright (Nate, 15 Nov) */
.mark svg{outline:none!important;}

/* phones: slim sticky See My Price bar */
.mbar{display:none;}

@media (max-width:1024px){
  .c-svc,.c-price{padding:72px 0;}
  .c-steps,.c-soft,.c-care,.c-refer,.c-book{padding:48px 0;}
  .c-areas,.c-faq{padding:40px 0;}
  /* hero: words, button, then the photo, then the promises */
  .hero-copy{display:contents;}
  .hero-grid{gap:0;}
  .hero-copy .lead{margin-top:0;}
  .hero .btn-row{margin-top:20px;}
  .hero-pic{order:1;margin-top:28px;}
  .promises{order:2;margin-top:18px;}
  .c-price .wrap{grid-template-columns:minmax(0,1fr);gap:32px;}
  .c-price .wrap{grid-template-rows:none;}
  .c-price .hero-tool,.c-price .ts-table,.c-price .sec-head{grid-column:1;grid-row:auto;}
  .c-svc .cards{grid-template-columns:repeat(2,minmax(0,1fr));}
  .soft-grid,.care-grid{grid-template-columns:minmax(0,1fr);gap:28px;}
  .care-grid .solo .pic{min-height:0;}
  .steps{margin-left:auto;margin-right:auto;}
}
@media (max-width:767px){
  .hero{padding:24px 0 40px;}
  .c-svc,.c-price{padding:48px 0;}
  .c-steps,.c-soft,.c-care,.c-refer,.c-book{padding:36px 0;}
  .c-areas,.c-faq{padding:28px 0;}
  .sec-head{margin-bottom:28px;}
  .sh-sub p{font-size:16px;}
  .eyebrow{font-size:16px;}
  .c-svc .cards{grid-template-columns:minmax(0,1fr);}
  .svc-card--wide{grid-column:auto;padding:22px 14px;}
  .svc-card--wide h3{font-size:30px;}
  .svc-card--strip{grid-column:auto;grid-template-columns:minmax(0,1fr);}
  .c-care .pc-body{grid-template-columns:minmax(0,1fr);}
  .c-care .pc-cta{grid-auto-flow:row;justify-items:stretch;}
  .c-care .pc-cta .btn{width:100%;}
  .c-care .pc-cta .ml{text-align:center;}
  .refer .cta-box .btn{width:100%;display:flex;}
  .steps-cta .btn{width:100%;}
  .mbar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:8px var(--pad) calc(8px + env(safe-area-inset-bottom));background:var(--chalk);border-top:1px solid var(--border);box-shadow:0 -4px 16px #132F4214;transform:translateY(110%);visibility:hidden;transition:transform .25s ease,visibility 0s linear .25s;}
  .mbar.on{transform:none;visibility:visible;transition:transform .25s ease;}
  .mbar .btn{width:100%;justify-content:center;min-height:48px;}
  .site-foot{padding-bottom:96px;}
}
@media (prefers-reduced-motion:reduce){.mbar,.mbar.on{transition:none;}}


/* hero quote tool + 3 sliders in a row (Nate, 15 Nov) */
.hero-pic .hero-tool{max-width:520px;margin-left:auto;}
.hero-pic .sticker{display:none;}
.c-price .wrap{display:block;}
.c-price .sec-head{margin-bottom:32px;}
.pic-duo{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
@media (max-width:1024px){.hero-pic .hero-tool{max-width:640px;margin-left:0;}}
@media (max-width:767px){.pic-duo{grid-template-columns:minmax(0,1fr);}}
/* ---------- round 3 (15 Nov): sliders, card photos, ticks, mega menu ---------- */
/* before/after sliders: same as the hero, rounded image box, no caption, no labels */
.cmp{border-radius:0!important;overflow:visible!important;box-shadow:none!important;}
.cmp-box{border-radius:14px;overflow:hidden;border:0;box-shadow:var(--shadow);}
.pic-duo{margin-bottom:40px;}
/* soft wash table full width (Nate: no photo, no fibro row) */
.c-soft .tablewrap{width:100%;}
/* service cards: a photo on top of each */
.svc-card{overflow:hidden;}
.sc-pic{margin:-22px -22px 18px;aspect-ratio:16/10;overflow:hidden;background:var(--lime-100);display:flex;align-items:center;justify-content:center;position:relative;}
.sc-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.sc-cmp .cmp-box{position:absolute;inset:0;aspect-ratio:auto;border:0!important;border-radius:0!important;box-shadow:none!important;}
.svc-card:has(.sc-cmp){-webkit-user-drag:none;user-select:none;}
.hero-grid{align-items:stretch!important;}
.hero-copy{display:flex;flex-direction:column;}
.hero-photo{flex:1;min-height:220px;margin-top:32px;border-radius:14px;overflow:hidden;position:relative;box-shadow:var(--shadow);}
.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%;}
#price{position:relative;}
#price .pt-time{position:absolute;top:20px;right:18px;z-index:1;}
@media (max-width:1024px){
  .hero-copy{display:contents;}
  .hero-photo{order:3;flex:none;min-height:0;aspect-ratio:16/10;margin-top:28px;}
}
.hero h1 .tw{white-space:nowrap;}
/* the checker can't see the photo: a dark fill under it so the white words read as white on dark */
.hero{background-color:#0B2536;}
#price fieldset:first-of-type legend{padding-right:72px;}
.tw-c{display:inline-block;width:.07em;height:.85em;margin-left:.06em;vertical-align:-.04em;background:currentColor;animation:twb 1s steps(1) infinite;}
@keyframes twb{50%{opacity:0;}}
@media (prefers-reduced-motion:reduce){.tw-c{display:none;}}
@media (min-width:1025px){.hero-copy{justify-content:center;}}
/* Nate, 15 Nov: "more top and bottom padding to fill out the hero" */
@media (min-width:1025px){section.hero{padding:128px 0 144px;}}
@media (min-width:768px) and (max-width:1024px){section.hero{padding:88px 0 96px;}}
/* quiz last step: recap, call now or later */
.qz .form-price{flex-wrap:wrap;row-gap:2px;}
.qz-recap{flex:1 0 100%;margin:0;font-size:15px;line-height:1.4;color:var(--grey-600);text-wrap:pretty;}
.qz-recap:empty{display:none;}
.qz-ok{margin:16px 0 0;font-size:15px;line-height:1.4;color:var(--grey-600);text-wrap:pretty;}
.qz-call,.qz-later{margin-top:4px;}
.qz[data-step="6"] .qz-n,.qz[data-step="6"] .qz-bar{display:none;}
.qz-ask + .qz-csub{margin-top:-6px;}
.qz-call[hidden],.qz-later[hidden],.qz-ok[hidden]{display:none;}
.qz-cq{margin:0 0 4px;font-size:18px;font-weight:600;line-height:1.3;color:var(--charcoal);}
.qz-csub{margin:0 0 14px;font-size:15px;color:var(--grey-600);}
.qz-cbtn{display:grid;gap:10px;}
.qz-cbtn .btn--ghost{background:#fff;border:1px solid var(--field);box-shadow:none;}
.qz-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;}
.qz-ok{display:flex;gap:8px;align-items:flex-start;}
.qz-ok svg{flex:none;width:20px;height:20px;margin-top:1px;color:var(--primary);}
.form .qz .qz-ask[hidden],.qz .qz-csub[hidden]{display:none;}
.svc-card .price .from{font-size:17px;font-weight:500;color:var(--grey-600);margin-right:6px;}
.qz-callus{margin-top:16px;gap:10px;}
.qz-callus svg{width:20px;height:20px;flex:none;}
.faq-by{display:flex;align-items:center;gap:10px;margin-top:14px!important;font-size:15px;color:var(--charcoal);}
.faq-by img,.faq-av{flex:none;width:40px;height:40px;border-radius:50%;object-fit:cover;}
.faq-av{display:flex;align-items:center;justify-content:center;background:#0E4D6E;color:#FFFDF8;font-weight:600;font-size:17px;}
.qz-subin{cursor:text;text-align:center;-webkit-appearance:none;appearance:none;}
.qz-subin::placeholder{color:var(--charcoal);opacity:1;font-weight:600;}
.qz-subin:focus{text-align:left;font-weight:400;padding-left:16px;}
.qz-subin:focus::placeholder{color:var(--grey-500);font-weight:400;}
/* bottom band: the quiz's first question beside the copy (Nate, 15 Nov) */
@media (min-width:1025px){.c-book .book{grid-template-columns:minmax(0,1fr) minmax(0,480px)!important;gap:64px;align-items:center;}}
.bq .form{background:#fff;border-radius:14px;overflow:hidden;}
.bq-t{font:inherit;width:100%;background:#fff;cursor:pointer;}
/* CRO round (Nate, 15 Nov): Full Outside Clean card first in What we wash, full width */
.svc-card--all{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);padding:0;}
.svc-card--all .sc-pic{margin:0;aspect-ratio:auto;min-height:300px;}
.svc-card--all .sc-pic img{object-position:50% 55%;}
.sa-body{display:flex;flex-direction:column;padding:36px 40px;}
.svc-card--all h3{font-size:34px;margin:0 0 8px;}
.svc-card--all p{margin:0 0 22px;}
.sa-prices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 24px;}
.sa-prices>div{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border-radius:12px;background:var(--lime-100);}
.sa-prices .ml{font-size:14px;color:var(--grey-600);}
.sa-prices .price{font-size:30px;line-height:1.15;color:var(--charcoal);}
.sa-save{font-size:15px;font-weight:600;color:var(--primary);}
.sa-go{align-self:flex-start;margin-top:auto;pointer-events:none;}
@media (max-width:1024px){.sa-body{padding:28px;}.svc-card--all h3{font-size:30px;}}
@media (max-width:767px){
  .svc-card--all{display:flex;flex-direction:column;}
  .svc-card--all .sc-pic{margin:0;aspect-ratio:16/10;min-height:0;}
  .sa-body{padding:20px 16px 22px;}
  .svc-card--all h3{font-size:26px;}
  .sa-prices{gap:8px;}
  .sa-prices>div{padding:12px;}
  .sa-prices .price{font-size:24px;}
  .sa-go{align-self:stretch;}
}
/* Nate, 15 Nov: the yellow hero button stays on phones and tablets too */
.qz-opt{font-weight:400;color:var(--grey-600);}
/* Nate, 15 Nov: "Hero section need to take up more of the viewport above the fold on desktop". Desktop hero fills the
   screen under the top bar (36px) and the sticky header (77px), words and quiz centred in it; capped for very tall screens */
@media (min-width:1025px){section.hero{display:flex;flex-direction:column;justify-content:center;min-height:min(calc(100vh - 113px),1000px);min-height:min(calc(100svh - 113px),1000px);}
  section.hero>.wrap{width:100%;}} /* Nate, 15 Nov: hero as wide as the menu bar (a centred flex child shrank to its content) */
/* Nate, 15 Nov: "Make the call to action section have a full background image like the hero section". Same dark sea-blue wash */
.c-book{position:relative;isolation:isolate;overflow:hidden;background-color:#0B2536!important;}
.book-bg{position:absolute;inset:0;z-index:-1;pointer-events:none;}
.book-bg img{width:100%;height:100%;object-fit:cover;object-position:center 55%;}
.book-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0B2536E6 0%,#0B2536BF 50%,#0B253673 100%);}
@media (max-width:1024px){.book-bg::after{background:linear-gradient(180deg,#0B2536E0 0%,#0B2536BF 100%);}}
/* Nate, 15 Nov: phone footer with no gaps. Services, Company and Legal stack in the left column, Areas fills the right.
   Above 767px the stack melts away (display:contents) and order keeps the old column order */
.foot-stack{display:contents;}
.foot-cols>.foot-brand{order:0;}
.foot-stack>:nth-child(1){order:1;}
.foot-cols>.foot-areas{order:2;}
.foot-stack>:nth-child(2){order:3;}
.foot-stack>:nth-child(3){order:4;}
@media (max-width:767px){.foot-stack{display:flex;flex-direction:column;gap:24px;}.foot-stack>*{order:0;}}
/* Nate, 15 Nov: "Site by Havstock" on the copyright line, on the right, every screen (wraps only if it can't fit) */
.foot-bot{flex-direction:row!important;justify-content:space-between;align-items:center;gap:0 16px!important;}
.steps-cta{justify-content:flex-start;}  /* Nate, 15 Nov: How it works button sits on the left, every screen */
.sc-cmp .cmp-knob{width:38px;height:38px;margin:-19px 0 0 -19px;}
.sc-pic--tint svg{width:56px;height:56px;color:var(--primary);}
.svc-card--wide{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;column-gap:28px;padding:0;}
.svc-card--wide .sc-pic{grid-column:1;grid-row:1/-1;margin:0;aspect-ratio:auto;min-height:240px;}
.svc-card--wide h3,.svc-card--wide p{grid-column:2;padding-right:28px;}
.svc-card--wide h3{padding-top:28px;}
.svc-card--wide .sc-foot{grid-column:2;margin:20px 28px 28px 0;}
.svc-card--strip{grid-template-columns:120px auto minmax(0,1fr) auto;}
.svc-card--strip .sc-pic{margin:0;width:120px;aspect-ratio:4/3;border-radius:10px;}
/* tick boxes: light, rounded, tick centred (Nate: "Fix") */
.svc .bx{width:20px;height:20px;border-radius:5px;border:1px solid #7B8A97!important;background:#fff;}
.svc:has(input:checked) .bx{background:var(--primary);border-color:var(--primary)!important;}
.svc:has(input:checked),.choice:has(input:checked){box-shadow:none!important;border-color:var(--primary)!important;}
.lbl .n,legend .n{border-radius:5px;}
/* nav: soft focus ring for keyboards only */
/* Nate, 15 Nov: "Make these hover with correct rounded corners": links and drop buttons share one pill shape */
.nav>a,.nav summary{border-radius:10px;transition:background var(--dur) var(--ease);}
.nav>a:hover,.nav summary:hover,.nav details[open]>summary{background:var(--lime-100);}
.nav>a:focus,.nav summary:focus{outline:none;}
.nav>a:focus-visible,.nav summary:focus-visible{outline:2px solid #0E4D6E;outline-offset:2px;border-radius:10px;}
/* mega menus, desktop only (Nate: "Make mega menu") */
@media (min-width:1181px){
  .site-head .head-in{position:relative;}
  .nav .drop{position:static;}
  .drop-menu.mega{position:absolute;top:100%;left:0;right:0;margin-top:8px;min-width:0;background:#fff;border:1px solid var(--border)!important;border-radius:14px;box-shadow:var(--shadow-lg);padding:32px;display:grid;gap:32px;}
  .mega--svc{grid-template-columns:minmax(0,2fr) minmax(0,1fr);}
  .mega--areas{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:16px;}
  .mega--areas .mega-note{grid-column:1/-1;display:flex;align-items:center;gap:16px;border-top:1px solid var(--border);padding-top:16px;}
  .mega--areas .mega-note p{margin:0;}
  .drop-menu.mega--areas .mega-note a.mn-q{display:inline;min-height:0;padding:0;color:var(--primary);text-decoration:underline;text-underline-offset:3px;}
  .mega-feat .mf-p .from{font-size:15px;font-weight:600;color:var(--grey-600);margin-right:6px;}
  .mega-svc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 20px;align-content:start;}
  .drop-menu.mega a.mi{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:14px;align-items:center;padding:10px;border-radius:10px;min-height:0;}
  .mi .mt{width:56px;height:56px;border-radius:10px;overflow:hidden;background:var(--lime-100);display:flex;align-items:center;justify-content:center;}
  .mi .mt img{width:100%;height:100%;object-fit:cover;}
  .mi .mt svg{width:28px;height:28px;color:var(--primary);}
  .mi .mx{display:grid;gap:2px;}
  .drop-menu .mi .mx b{font-size:16px;font-weight:600;color:var(--charcoal);}
  .drop-menu .mi .mx span{font-family:var(--body);font-size:14px;color:var(--grey-600);}
  .drop-menu .mi .mp{font-family:var(--body);font-size:14px;font-weight:600;color:var(--primary);white-space:nowrap;}
  .mega-feat{background:var(--lime-100);border-radius:12px;padding:24px;display:grid;gap:8px;align-content:start;}
  .mf-k{font-weight:600;color:var(--charcoal);}
  .mf-p{font-size:40px;font-weight:600;color:var(--primary);line-height:1;letter-spacing:-.02em;}
  .mf-d{color:var(--grey-600);font-size:15px;}
  .drop-menu.mega .mega-feat .btn{margin-top:10px;justify-content:center;}
  .drop-menu.mega a.mf-l{min-height:44px;display:flex;align-items:center;padding:0;font-size:15px;color:var(--primary);text-decoration:underline;}
  .mh2{font-size:14px;font-weight:600;color:var(--grey-600);margin:0 0 8px 10px;}
  .drop-menu.mega--areas a{min-height:44px;padding:0 10px;border-radius:8px;}
  .mega-note p{color:var(--grey-600);font-size:15px;margin:8px 0 0 10px;}
}
@media (max-width:767px){
  .sc-pic{margin:-22px -22px 18px;}
  .svc-card--wide{display:flex;flex-direction:column;padding:22px 14px;}
  .svc-card--wide .sc-pic{margin:-22px -14px 18px;aspect-ratio:16/10;min-height:0;}
  .svc-card--wide h3,.svc-card--wide p{padding:0;}
  .svc-card--wide .sc-foot{margin:20px 0 0;}
  .svc-card--strip .sc-pic{width:auto;margin:-20px -14px 14px;border-radius:0;aspect-ratio:16/10;grid-row:auto;}
  .svc-card--strip{grid-template-columns:minmax(0,1fr);}
  .svc-card--strip h3,.svc-card--strip p{grid-column:auto;grid-row:auto;}
  .svc-card--strip .sc-foot{grid-column:auto;grid-row:auto;margin-top:16px;padding-top:12px;border-top:1px dashed var(--line-dash);}
}
@media (min-width:768px) and (max-width:1024px){
  .svc-card--strip{grid-template-columns:120px minmax(0,1fr) auto;}
  .svc-card--strip .sc-pic{grid-row:1/span 2;}
  .svc-card--strip h3,.svc-card--strip p{grid-column:2;}
  .svc-card--strip .sc-foot{grid-column:3;grid-row:1/span 2;}
}

/* photos: no Before / After labels, rounded corners and knob (Nate, 15 Nov: "they're not stupid") */
.pic-lab{display:none!important;}
.cmp-box,.pic{border-radius:14px;overflow:hidden;}
.cmp-knob{border-radius:10px;}

/* service ticks: centred in their box (Nate, 15 Nov) */
.svc .bx{border-radius:5px;}
.svc:has(input:checked) .bx::after{left:50%;top:46%;width:5px;height:10px;border-width:0;border-right:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:translate(-50%,-50%) rotate(45deg);}

/* guarantee (Nate, 15 Nov: above the comparison) */
.c-guar{background:var(--lime-100);padding:64px 0;}
.g-row{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--border);}
.g-row li{padding:24px 24px 4px 0;min-width:0;}
.g-row li+li{padding-left:24px;border-left:1px solid var(--border);}
.g-row .gi{width:28px;height:28px;color:var(--primary);display:block;margin-bottom:14px;}
.g-row h3{font-size:22px;margin-bottom:8px;}
.g-row p{font-size:16px;color:var(--grey-600);line-height:1.5;}
.g-fine{margin-top:28px;font-size:14px;color:var(--grey-600);max-width:760px;line-height:1.5;}

/* comparison (Nate, 15 Nov: above the FAQ). Options across, what matters down, ours first */
.c-cmp{background:var(--putty);padding:64px 0;}
.cmp2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.cmp-card{background:var(--chalk);border:1px solid var(--border);border-radius:14px;padding:28px 28px 14px;}
.cmp-card.us{background:var(--lime-100);border-color:var(--primary);}
.cmp-card h3{font-size:22px;margin-bottom:12px;color:var(--grey-600);}
.cmp-card.us h3{color:var(--primary);}
.cmp-card h3{display:flex;align-items:center;gap:12px;min-height:38px;}
.cmp-mark{width:38px;height:38px;border-radius:0;overflow:hidden;}
.mark{border-radius:0!important;}  /* Nate, 15 Nov: logo with square edges and a slimmer roof */
.cmp-card ul{list-style:none;margin:0;padding:0;}
.cmp-card li{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--border);font-size:16px;line-height:1.35;color:var(--grey-600);}
.cmp-card li>span:last-child{min-width:0;}
.cmp-card.us li{color:var(--charcoal);font-weight:600;}
.mk2{width:26px;height:26px;flex:none;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;}
.mk2 svg{width:16px;height:16px;}
.mk2.y{background:var(--primary);color:#FFFDF8;}
.mk2.n{background:#fff;border:1px solid var(--border);color:var(--grey-600);}
.faq-cta{margin-top:24px;}
@media (max-width:1024px){
  .g-row{grid-template-columns:repeat(2,minmax(0,1fr));}
  .g-row li:nth-child(3){padding-left:0;border-left:0;}
  .g-row li:nth-child(n+3){border-top:1px solid var(--border);}
  .c-guar,.c-cmp{padding:48px 0;}
}
@media (max-width:767px){
  .c-guar,.c-cmp{padding:36px 0;}
  .g-row{grid-template-columns:minmax(0,1fr);}
  .g-row li,.g-row li+li{padding:18px 0 4px;border-left:0;}
  .g-row li+li{border-top:1px solid var(--border);}
  .cmp2{grid-template-columns:minmax(0,1fr);gap:14px;}
  .cmp-card{padding:20px 20px 8px;}
  .faq-cta .btn{width:100%;}
}

/* Nate, 15 Nov: "Yes, by region". Phone menu: one fold-out row per region (AREAS); footer: each region with its best-known suburbs */
.mnav .mreg>summary{display:flex;justify-content:space-between;align-items:center;min-height:52px;border-bottom:1px solid var(--border);color:var(--charcoal);font-family:var(--display);font-size:24px;font-weight:800;line-height:1.55;list-style:none;cursor:pointer;}
.mnav .mreg>summary::-webkit-details-marker{display:none;}
.mnav .mreg>summary svg{flex:none;width:22px;height:22px;transition:transform .2s;}
.mnav .mreg[open]>summary svg{transform:rotate(180deg);}
.mnav .mreg>a:not(.btn){padding-left:16px;font-size:20px;font-weight:600;min-height:48px;}
.site-foot .freg{margin-top:16px;color:#D6E8F2;font-size:13px;font-weight:600;line-height:1.4;}
.site-foot .freg:first-child{margin-top:0;}

/* ---------- booking quiz (Nate, 15 Nov): one question a step, same light card ---------- */
.qz-n{font-size:14px;font-weight:600;color:var(--grey-600);line-height:1.4;}
.qz-n b{color:var(--charcoal);font-weight:600;}
.qz-bar{height:4px;margin:10px 0 18px;border-radius:2px;background:var(--lime);overflow:hidden;}
.qz-bar i{display:block;height:100%;width:25%;background:var(--primary);border-radius:2px;transition:width .3s ease;}
.qz .form-price{margin:4px 0 16px;}
.qz[data-step="5"] .qz-n,.qz[data-step="5"] .qz-bar{display:none;}
/* full screen quiz (Nate, 15 Nov) */
html.qz-lock{overflow:hidden;}
.qz-ov{position:fixed;inset:0;z-index:100;background:#fff;padding:15px;animation:qzOv .25s ease;}
.qz-ov[hidden]{display:none;}
@keyframes qzOv{from{opacity:0;}}
.qz-ov-in{position:relative;height:100%;border-radius:14px;overflow:hidden;background:var(--primary);}
/* Nate, 15 Nov: the house photo is the background of the whole screen, the form sits on it on the right */
.qz-ov-pic{position:absolute;top:0;left:0;bottom:0;right:50%;}  /* Nate, 15 Nov: photo left, the form side white */
.qz-ov-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;}  /* Nate, 15 Nov: a different photo, a clean double storey home */
.qz-ov-side{position:absolute;top:0;right:0;bottom:0;width:50%;background:#fff;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;padding:76px 40px 40px;}
.qz-ov-box{margin:auto 0;width:100%;max-width:520px;align-self:center;}
.qz-ov .form{background:#fff;box-shadow:none!important;border:0!important;border-radius:0;}  /* Nate, 15 Nov: no shadow or border full screen */
.qz-ov .qz{min-height:var(--qzh,0);}
.qz-x{position:absolute;top:16px;right:16px;z-index:2;width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:var(--charcoal);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow);}
.qz-x svg{width:18px;height:18px;}
/* Nate, 15 Nov: a quieter X, see-through on the photo, plain grey on phones */
.qz-x{background:none;color:var(--grey-600);box-shadow:none;transition:background var(--dur);}
.qz-x:hover{background:var(--lime-100);}
.qz-x:focus-visible{outline:3px solid var(--cta);outline-offset:2px;}
@media (max-width:1279px){.qz-ov .svc-list,.qz-ov .qz-subs{grid-template-columns:repeat(2,minmax(0,1fr));}.qz-ov .qz-sub--wide{grid-column:1/-1;}}
.qz-ov .tk-bar{display:none;}  /* Nate, 15 Nov: no Booking bar full screen */
@media (max-width:1024px){.qz-ov{padding:0;}.qz-ov-in{border-radius:0;}}  /* Nate, 15 Nov: no border on tablet or phone */
@media (max-width:899px){.qz-ov-in{background:#fff;}.qz-ov-pic{display:none;}.qz-ov-side{width:100%;padding:72px 20px 24px;}}  /* Nate, 15 Nov: no background on phones */
@media (max-width:767px){.qz-ov-side{padding:68px 12px 16px;}}
@media (prefers-reduced-motion:reduce){.qz-ov{animation:none;}}  /* CRO pick (Nate, 15 Nov): each service shows its price on its tile; the total waits for the details */
.form .qz .qz-ask{display:block;font-size:20px;font-weight:600;letter-spacing:-.01em;line-height:1.25;color:var(--charcoal);margin:0 0 14px;}
.form .qz .qz-s{margin-bottom:0;}
.qz-s:focus{outline:none;}
.qz-s[hidden]{display:none!important;}
.qz-on .qz-s{animation:qzIn .3s ease;}
@keyframes qzIn{from{opacity:0;transform:translateX(12px);}}
.qz-ic{width:34px;height:34px;flex:none;color:var(--primary);}
.qz .choice-row{gap:12px;}
.qz .qz-tile{flex-direction:column;gap:12px;min-height:128px;font-size:17px;font-weight:600;}
.qz .svc-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.qz .svc{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"ic bx" "sn sn" "sp sp";align-items:start;gap:2px 8px;min-height:96px;padding:14px;}
.qz .svc .qz-ic{grid-area:ic;width:28px;height:28px;margin-bottom:10px;}
.qz .svc .bx{grid-area:bx;}
.qz .svc .sn{grid-area:sn;font-weight:600;}
.qz .svc .sp{grid-area:sp;font-size:14px;}
.qz-next{margin-top:18px;}
.qz-back{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:10px;padding:0;border:0;background:none;color:var(--grey-600);font:inherit;font-size:15px;font-weight:600;cursor:pointer;}
.qz-back:hover{color:var(--charcoal);}
.qz-back .i{width:16px;height:16px;transform:rotate(180deg);}
.qz-subs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.qz-sub{min-height:52px;padding:8px 10px;border:1px solid var(--field);border-color:var(--field)!important;border-radius:10px;background:#fff;color:var(--charcoal);font:inherit;font-size:16px;font-weight:600;line-height:1.2;text-align:center;cursor:pointer;transition:background var(--dur);}
.qz-sub:hover{background:var(--lime-100);}
.qz-sub.on{background:var(--lime);border-color:var(--primary)!important;}
.qz-sub--wide{grid-column:1/-1;}
.qz-other{grid-column:1/-1;margin-top:4px;}
/* Nate, 15 Nov: country code on the phone, email endings to tap */
.qz-tel{display:flex;gap:8px;}
.qz-tel .qz-cc{flex:none;width:112px;padding-left:12px;padding-right:32px;background-position:right 10px center;}
.qz-tel #f-phone{flex:1;min-width:0;}
.qz-dom{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.qz-dom[hidden],.qz-dom [hidden]{display:none;}
.qz-dom button{display:inline-flex;align-items:center;max-width:100%;min-width:0;white-space:nowrap;min-height:40px;padding:6px 12px;border:1px solid var(--field);border-radius:8px;background:#fff;color:var(--charcoal);font:inherit;font-size:15px;font-weight:600;cursor:pointer;}
.qz-dom button:hover{background:var(--lime-100);}
.qz-dom .qz-lo{min-width:0;overflow:hidden;text-overflow:ellipsis;}  /* a long name cuts here, the ending stays whole */
.qz-dom button>span:last-child{flex:none;}
.qz-save{margin:14px 0 0;font-size:15px;font-weight:500;line-height:1.4;color:var(--primary);text-wrap:pretty;}
.qz:not(.qz-on) .qz-save{display:none;}
.qz-done{margin:16px 0 4px;font-size:17px;font-weight:600;color:var(--charcoal);}
/* Nate, 15 Nov: the care plan photo is the house before and after slider */
.care-grid .solo.cmp .cmp-box{flex:1;min-height:260px;aspect-ratio:auto;}
@media (max-width:1024px){.care-grid .solo.cmp .cmp-box{min-height:0;aspect-ratio:8/5;}}
.qz-other label{display:block;font-size:15px;font-weight:600;color:var(--charcoal);margin-bottom:8px;}
.qz-other .btn{margin-top:14px;}
.qz-sub:focus-visible{outline:3px solid var(--primary);outline-offset:2px;}
.qz-on .qz-sel{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.qz:not(.qz-on) .qz-n,.qz:not(.qz-on) .qz-bar,.qz:not(.qz-on) .qz-subs,.qz:not(.qz-on) .qz-next,.qz:not(.qz-on) .qz-back{display:none;}
.qz:not(.qz-on) .qz-s{margin-bottom:18px;}
.qz .row2 .field,.qz>.qz-s>.field{margin-bottom:16px;}
@media (max-width:767px){
  .qz .svc-list{grid-template-columns:repeat(2,minmax(0,1fr));}
  .qz-subs{grid-template-columns:repeat(2,minmax(0,1fr));}
  .qz-sub--wide{grid-column:1/-1;}
  .qz .qz-tile{min-height:112px;}
}
@media (prefers-reduced-motion:reduce){.qz-on .qz-s{animation:none;}.qz-bar i{transition:none;}}
/* the quiz in the hero, the bottom section words and one button (Nate, 15 Nov: "Make this the survey that's down the bottom") */
.hero-book .form{background:var(--chalk);}
.book-cta{margin-top:32px;}
.c-book .book{grid-template-columns:minmax(0,1fr);}
.qz-ov-pic img{opacity:0;transition:opacity .45s ease;}
.qz-ov-pic img.on{opacity:1;}
@media (prefers-reduced-motion:reduce){.qz-ov-pic img{transition:none;}}

/* Nate, 15 Nov: the house photo is the hero's background, not a picture under the ticks.
   A dark sea-blue wash over it keeps the white words easy to read. */
.hero{position:relative;isolation:isolate;overflow:hidden;}
.hero-bg{position:absolute;inset:0;z-index:-1;pointer-events:none;}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 60%;}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0B2536E6 0%,#0B2536BF 50%,#0B253673 100%);}
@media (max-width:1024px){.hero-bg::after{background:linear-gradient(180deg,#0B2536E0 0%,#0B2536BF 100%);}}
/* words on the photo: white, the middle line pale sea blue */
.hero h1,.hero h1 .hl{color:#FFFFFF;}
.hero h1 .o{color:#9ED3EE;}
.hero .lead{color:#E3EDF3;}
.hero .promises li{color:#FFFFFF;}
.hero .promises svg{color:#9ED3EE;}

/* Nate, 15 Nov: "top and bottom padding of sections on desktop 100px and 40px on mobile and tablet". Last in the CSS so it beats every per-section padding; the hero is not a .sec */
section.sec{padding-top:100px;padding-bottom:100px;}
@media (max-width:1024px){section.sec{padding-top:40px;padding-bottom:40px;}}

/* inner pages: the home hero, but the SEO H1 runs as one sentence */
.pg-inner .hero h1 .o{display:inline;}
.pg-inner .hero .crumb,.pg-inner .hero .crumb a{color:#C7D9E5;}
/* Nate, 15 Nov: the crumb is the hero's eyebrow; the page name was dark on the dark photo */
.pg-inner .hero .crumb [aria-current],.pg-inner .hero .crumb a:hover{color:#FFFFFF;}
/* Nate, 15 Nov: "headline sizes on the cta section". The quote band headline is the H2 size, like the home page */
.pg-inner .book-band h2{font-size:var(--h2);}
.pg-inner .pr-b h3{margin:26px 0 6px;}
.pg-inner .pr-b h3:first-child{margin-top:0;}
/* Nate, 15 Nov: "Fix the layouts of these sections on desktop". Question and answer sections (prose_rows): the question
   on the left, the answer on the right, back-to-back sections joined by a thin line instead of a big white gap */
@media (min-width:1100px){
  .pg-inner .prose.pr{max-width:none;}
  .pg-inner .pr-row{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);column-gap:clamp(56px,6vw,96px);align-items:start;}
  .pg-inner .pr-row+.pr-row{margin-top:56px;padding-top:56px;border-top:1px solid var(--line-soft);}
  .pg-inner .pr-row h2{margin:0;}
  .pg-inner .pr-b>:first-child{margin-top:0;}
  .pg-inner .pr-sec{padding-top:88px;padding-bottom:88px;}
  .pg-inner .pr-sec+.pr-sec{padding-top:0;}
  .pg-inner .pr-sec+.pr-sec .pr-row:first-child{padding-top:56px;border-top:1px solid var(--line-soft);}
}
