:root,[data-school="calm"]{--accent:#234C3B;--accent-text:#234C3B;--band:#183D2E;--accent-deep:var(--band);--accent-wash:#F0EBDF;--font:Arial,"Segoe UI",sans-serif;--disp:Georgia,"Times New Roman",serif;--dispWeight:400;--dispSpace:-.035em;--ink:#243B30;--dim:#59685D;--bg:#FAF7EF;--soft:#F0EBDF;--line:#D4D6C9;--edge:#7A8478;--radius:3px;--btnRadius:3px;--pad:72px;--cardShadow:none;--h1:clamp(36px,4.6vw,62px)}
body{background:var(--bg)}.wrap{max-width:1140px}.top{background:#fbfcfd;border-bottom:1px solid var(--line)}.topRow{min-height:92px}.logo{font-family:var(--disp);font-weight:400;letter-spacing:-.025em;max-width:270px;font-size:25px;line-height:1.15}.mainNav{gap:22px}.mainNav a,.mainNav .navHere{min-height:44px;display:inline-flex;align-items:center}.navCta{border-radius:3px}.heroEditorial{padding-top:68px;padding-bottom:68px}.heroEditorial .edCols{grid-template-columns:1.08fr .92fr;gap:64px;align-items:center}.heroEditorial h1{font-size:clamp(38px,4.4vw,62px);font-weight:400;line-height:1.06;max-width:17ch}.heroEditorial .tag{max-width:47ch;line-height:1.65}.heroEditorial .edPhoto{height:450px;border-radius:3px;box-shadow:none;background-position:center}.heroEditorial .rule{width:54px;border-color:var(--accent)}.heroEditorial .metaRow:empty{display:none}.kicker{font-size:12px;letter-spacing:.12em}.ctaRow{gap:12px}.btn{min-height:48px;padding:14px 20px;font-size:14px}.sortDoors{grid-template-columns:1fr 1fr;gap:32px}.sortDoor{border-radius:0;box-shadow:none;border:0;border-top:1px solid var(--line);padding:24px 0;min-height:0}.sortDoor h3{font-size:25px}.sortDoor .sortNext{color:var(--accent-text)}.svcGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}.svcGrid .card{border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;background:transparent;padding:24px 0}.svcGrid h3{font-family:var(--font);font-size:18px;font-weight:600;letter-spacing:0}.svcGrid .price{font-family:var(--disp);font-size:23px;font-weight:400}.proofStrip{padding:28px 0;gap:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.proofStrip .stat b{font-size:24px;font-family:var(--disp);font-weight:400}.tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.gtile{aspect-ratio:1/1.1;min-height:0;border-radius:3px}.gtile .cap{background:#fbfcfd;color:var(--ink);font-size:13px;padding:12px 0;bottom:0}.aboutProse{max-width:740px}.aboutProse p{font-size:19px;line-height:1.8}.spotlight{background:transparent;border:0;padding:0 0 0 32px;border-left:2px solid var(--accent);border-radius:0}.spotlight .mark{display:none}.spotlight p{font-family:var(--disp);font-size:28px;line-height:1.5;font-weight:400}.spotlight .who{margin-top:20px}.howSteps{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.howNum{font-family:var(--disp)}.finalCta{background:#182A3A;color:white}.finalCta h2,.finalCta p{color:white}.finalCta .btn.primary{background:#fbfcfd;color:#182A3A;border-color:#fbfcfd}.finalCta .btn.ghost{color:white;border-color:#cbd5de}.heroBand{background:var(--soft);padding:52px 0}.heroBand h1{font-weight:400;max-width:20ch}.heroBand .tag{max-width:65ch}.photoGuide{padding-bottom:36px}.quoteSec{padding-top:36px}.qbig{max-width:860px}.laneRow{display:flex;gap:10px;flex-wrap:wrap}.laneBtn{min-height:48px}.shotBox{background:var(--soft)}.bottom{border-top:1px solid var(--line)}.bottom a{min-height:44px;display:inline-flex;align-items:center}.joblistAside{background:#fbfcfd}.jobRate strong{font-family:var(--disp);font-weight:400}.guideGrid img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:3px;background:var(--soft)}.guideGrid .guideImageCaption{font-size:12px;line-height:1.45;color:var(--dim);margin-top:10px}.guideGrid b{font-family:var(--font);font-size:16px}.guideGrid p{font-size:15px}
@media(max-width:700px){:root,[data-school="calm"]{--pad:44px}.wrap{padding-left:22px;padding-right:22px}.topRow{min-height:92px;gap:12px;align-items:center}.logo{font-size:20px;max-width:190px}.mainNav{gap:4px}.mainNav>a:not(.navCta),.mainNav>.navHere{display:none}.mainNav .navCta{font-size:12px;max-width:125px;padding:10px 12px;line-height:1.3}.heroEditorial{padding:40px 0}.heroEditorial .edCols{display:flex;flex-direction:column;gap:30px}.heroEditorial h1{font-size:44px;max-width:16ch}.heroEditorial .edPhoto{display:block;width:100%;height:240px;background-position:50% 57%}.heroEditorial .tag{font-size:17px}.ctaRow{align-items:stretch}.ctaRow .btn{flex:1;justify-content:center;font-size:13px;padding:13px 14px;white-space:normal;text-align:center}.sortDoors{grid-template-columns:1fr;gap:0}.sortDoor{padding:22px 0}.svcGrid{grid-template-columns:1fr;gap:0}.svcGrid .card{padding:20px 0}.proofStrip{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px}.proofStrip .stat b{font-size:21px}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gtile{aspect-ratio:.8;min-height:0}.gtile:first-child{grid-column:1/-1;aspect-ratio:1.35}.gtile .cap{font-size:12px;line-height:1.3}.aboutProse p{font-size:17px}.spotlight{padding-left:20px}.spotlight p{font-size:24px}.howSteps{grid-template-columns:1fr;gap:24px}.heroBand{padding:36px 0}.heroBand h1{font-size:38px}.heroBand .ctaRow{display:none}.photoGuide{padding-bottom:20px}.guideGrid{gap:10px}.guideGrid figcaption{padding:8px 0}.qgrid{grid-template-columns:1fr}.quoteSec{padding-top:28px}.joblistAside .btn{width:100%;justify-content:center}.bottom .row{gap:16px}}
/* Final specificity follows the shared renderer's school and phone layers. */
[data-school="calm"] .sortDoor{background:transparent;border:0;border-top:1px solid var(--line);box-shadow:none;padding:24px 0}
[data-school="calm"] a.sortDoor:is(:hover,:focus-visible){box-shadow:none;transform:none;background:transparent;border-top-color:var(--accent)}
[data-school="calm"] a.sortDoor:is(:hover,:focus-visible) .sortNext{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}
[data-school="calm"] .finalCta .btn.ghost{background:transparent;color:#fff;border:1.5px solid #cbd5de;box-shadow:none}
.sortSec .sortNote{font-weight:600;color:var(--ink);margin-top:12px}
.sortDoor h3{font-weight:400}.sortDoor p.sortNext{border:0;color:var(--accent-text)}
[data-page="contact"] .heroBand .ctaRow{display:none}
.heroEditorial.hasPhoto .edCols{gap:64px;align-items:center}
.heroEditorial .edPhoto{min-height:0;position:relative}
.heroEditorial .edCaption{position:absolute;right:12px;bottom:12px;padding:5px 9px;background:#fbfcfd;color:#182A3A;font-size:12px;line-height:1.4;border-radius:2px}
.gtile .cap{text-shadow:none}
@media(max-width:700px){
 header.top > .wrap{padding-left:16px;padding-right:16px}
 header.top .topRow{min-height:60px;flex-wrap:nowrap;gap:6px;padding:8px 0;align-items:center}
 header.top .logo{max-width:145px;min-width:102px;width:auto;flex:0 1 145px;min-height:44px;display:flex;align-items:center;font-size:clamp(16px,4.6vw,20px);line-height:1.12}
 header.top nav.mainNav{width:auto;max-width:calc(100% - 108px);flex:0 0 auto;justify-content:flex-end;flex-wrap:wrap;gap:0 3px}
 header.top nav.mainNav a:not(.navCta):not(.navPhone),header.top nav.mainNav .navHere{display:inline-flex;justify-content:center;min-width:44px;min-height:44px;padding:0;font-size:14px;line-height:1.2;text-align:center;white-space:normal}
 header.top nav.mainNav > :first-child{width:72px}
 header.top nav.mainNav a[href="/contact"]:not(.navCta),[data-page="contact"] header.top nav.mainNav .navHere{min-width:54px}
 header.top nav.mainNav .navCta{display:none}
 .heroEditorial{padding:30px 0 40px}
 .heroEditorial.hasPhoto .edCols{gap:0;align-items:stretch}
 .heroEditorial.hasPhoto .rule{display:none}
 .heroEditorial.hasPhoto h1{margin-top:18px;font-size:42px;line-height:1.08}
 .heroEditorial.hasPhoto .edPhoto{height:210px;margin:24px 0 0;background-position:50% 48%}
 .heroEditorial.hasPhoto .tag{margin-top:22px}
 .heroEditorial.hasPhoto .ctaRow{margin-top:24px}
 .heroEditorial.hasPhoto .ctaRow a[href^="tel:"]{display:inline-flex}
 [data-school="calm"] .sortDoor{padding:22px 0}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Keep the instructional details readable at phone width. */
@media(max-width:700px){.guideGrid{gap:28px}.guideGrid figure{display:block}.guideGrid figcaption{padding:12px 0 0}.guideGrid img{width:100%;height:auto}.guideGrid .guideImageCaption{margin-top:8px}}

/* Let the Services heading use the full band and keep the grid close to it. */
[data-page="services"] .heroBand{padding:44px 0}
[data-page="services"] .heroBand + .wrap > section{padding-top:40px}
[data-page="services"] .heroBand + .wrap [data-generated-note]{margin-bottom:16px}
@media(min-width:768px){[data-page="services"] .heroBand h1{max-width:none;font-size:clamp(36px,4.6vw,56px)}}
@media(max-width:700px){[data-page="services"] .heroBand{padding:32px 0}[data-page="services"] .heroBand + .wrap > section{padding-top:32px}}

/* Owner palette: also cover literal fills in the shared calm-school layer. */
header.top,.joblistAside,.gtile .cap,.heroEditorial .edCaption{background:var(--bg)}
.heroEditorial .edCaption{color:var(--ink)}
[data-school="calm"] .finalCta{background:var(--band);color:var(--bg)}
[data-school="calm"] .finalCta h2,[data-school="calm"] .finalCta p{color:var(--bg)}
[data-school="calm"] .finalCta .btn.primary{background:var(--bg);color:var(--band);border-color:var(--bg)}
[data-school="calm"] .finalCta .btn.ghost{background:transparent;color:var(--bg);border-color:var(--line)}
label.qf ::placeholder,.qform ::placeholder{color:var(--dim)}
/* The regular Contact door keeps the phone nav short; desktop retains its CTA. */
@media(min-width:701px){header.top nav.mainNav > a[href="/contact"]:not(.navCta),[data-page="contact"] header.top nav.mainNav > .navHere{display:none}}
