/* Conversion proof: a separate component system for the three review routes. */
.conversion-page {--navy:#12283f;--blue:#176bde;--paper:#f8f6f1;--text:#33475e;background:var(--paper);color:var(--text);}
.conversion-page main {min-width:0;}
.conversion-service strong,.conversion-service span {overflow-wrap:anywhere;}
body.conversion-page::before {display:none;}
.conversion-page h1,.conversion-page h2 {color:var(--navy);}
.conversion-page main p {font-size:18px;line-height:1.55;}
.conversion-page .quality-section {padding-block:64px;background:var(--paper);}
.conversion-page .quality-section:nth-of-type(even) {background:#fff;}
.conversion-page .section-head {margin-bottom:32px;}
.conversion-page .section-head h2 {font-size:clamp(28px,3vw,40px);line-height:1.12;}
.conversion-page a:focus-visible,.conversion-page summary:focus-visible {outline:3px solid #176bde;outline-offset:5px;}
.conversion-proof {background:var(--navy);color:#fff;padding:32px 0;}
.conversion-proof>.wrap {display:grid;grid-template-columns:1.3fr 1.1fr 1fr 1fr;gap:28px;align-items:center;}
.conversion-proof .wrap>div {display:flex;flex-direction:column;align-items:flex-start;gap:8px;}
.conversion-proof strong {font:700 52px/1 'Bricolage Grotesque',sans-serif;color:#ffd23f;}
.conversion-proof svg {color:#a8cfff;}
.conversion-proof span {font-size:17px;line-height:1.35;}
.conversion-services {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;}
.conversion-service {display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:8px 0 20px;border-bottom:2px solid #d7e2ee;text-decoration:none;color:var(--navy);}
.conversion-service svg {color:var(--blue);}
.conversion-service strong {font:700 20px/1.3 Manrope,sans-serif;}
.conversion-service span {margin-top:auto;font-size:15px;text-decoration:underline;text-underline-offset:4px;}
.current-service span {text-decoration:none;color:var(--text);}
.conversion-tail {margin:28px 0 0;}
.conversion-tail a {font-weight:700;}
.conversion-steps {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;list-style:none;padding:0;margin:0;}
.conversion-steps li {display:flex;align-items:flex-start;gap:20px;}
.conversion-steps svg {color:var(--blue);flex:0 0 48px;}
.conversion-steps h3,.conversion-schedule h3,.conversion-extras h3 {font:700 22px/1.3 Manrope,sans-serif;margin:0 0 8px;color:var(--navy);}
.conversion-steps p {margin:0;}
.conversion-page #home-map .quality-area-split {grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:48px;}
.conversion-page #home-map .interactive-map {margin:0;max-width:420px;}
.conversion-page .home-faq .faq-list {max-width:820px;margin:auto;}
.conversion-ending {padding:56px 0;background:var(--navy);color:#fff;}
.conversion-ending>.wrap {display:grid;grid-template-columns:3fr 2fr;gap:48px;align-items:center;}
.conversion-ending h2 {color:#fff;font-size:clamp(28px,3vw,40px);}
.conversion-page .conversion-ending p {color:#e1ecf7;max-width:48ch;margin:16px 0 0;}
.conversion-ending .wrap>div:last-child {display:flex;flex-direction:column;align-items:flex-start;gap:20px;}
.conversion-ending .button {min-width:220px;}
.conversion-call {font-size:22px;font-weight:700;color:#fff;text-underline-offset:5px;}
.conversion-service-hero {padding:48px 0;background:var(--navy);color:#fff;}
.conversion-service-hero>.wrap {display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:center;min-height:424px;}
.conversion-service-hero h1 {color:#fff;font-size:clamp(34px,3.5vw,50px);line-height:1.08;max-width:17ch;}
.conversion-page .conversion-service-hero p {color:#e1ecf7;max-width:45ch;margin:20px 0 28px;}
.conversion-service-hero img {width:100%;aspect-ratio:3/2;height:auto;object-fit:cover;border-radius:20px;}
.conversion-trust {display:flex;flex-wrap:wrap;gap:12px 22px;list-style:none;padding:0;margin:0 0 28px;font-size:16px;font-weight:600;}
.conversion-trust li:before {content:'✓';color:#a8cfff;margin-right:8px;}
.conversion-service-hero .hero-actions {display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.conversion-service-hero .button {height:auto;min-height:54px;padding:14px 18px;}
.conversion-service-hero.is-home .btn-light {background:#ffd23f;color:#12283f;}
.conversion-schedule {display:grid;grid-template-columns:1fr 1fr;gap:32px;}
.conversion-schedule svg {color:var(--blue);margin-bottom:16px;}
.conversion-schedule details {grid-column:1/-1;border-top:1px solid var(--line);padding-top:12px;}
.conversion-schedule summary {padding:16px 0;font-size:18px;font-weight:700;cursor:pointer;}
.conversion-page .office-plan-layout {grid-template-columns:2fr 1fr;}
.conversion-page .quality-packages {grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.conversion-page .package-card {background:#fff;padding:28px;}
.conversion-page .package-overview {min-height:0;}
.conversion-page .package-title h3 {font-size:22px;}
.conversion-extras {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;}
.conversion-extras ul {padding-left:20px;margin:0;font-size:17px;line-height:1.65;}
@media(max-width:1023px) {
 .conversion-service-hero>.wrap {grid-template-columns:1fr 1fr;gap:28px;}
 .conversion-service-hero .hero-actions {grid-template-columns:1fr;}
 .conversion-steps li {flex-direction:column;gap:16px;}
 .conversion-page #home-map .quality-area-split {grid-template-columns:1fr 1fr;gap:28px;}
}
@media(max-width:699px) {
 .conversion-proof {padding:28px 0;}
 .conversion-proof>.wrap {grid-template-columns:1fr 1fr;gap:28px 20px;}
 .conversion-proof strong {font-size:44px;}
 .conversion-proof span {font-size:16px;}
 .conversion-proof svg {width:40px;height:40px;}
 .conversion-page .quality-section {padding-block:44px;}
 .conversion-services {grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px;}
 .conversion-service {gap:12px;}
 .conversion-service strong {font-size:18px;}
 .conversion-steps {grid-template-columns:1fr;gap:28px;}
 .conversion-steps li {flex-direction:row;gap:20px;}
 .conversion-ending>.wrap,.conversion-service-hero>.wrap {grid-template-columns:1fr;gap:28px;min-height:0;}
 .conversion-ending {padding:40px 0;}
 .conversion-ending .wrap>div:last-child {align-items:stretch;}
 .conversion-ending .conversion-call {text-align:center;}
 .conversion-service-hero {padding:36px 0;}
 .conversion-service-hero img {max-width:500px;margin:auto;}
 .conversion-page #home-map .quality-area-split {grid-template-columns:1fr;gap:24px;}
 .conversion-page #home-map .interactive-map {margin:auto;}
 .conversion-page .quality-packages,.conversion-extras,.conversion-schedule {grid-template-columns:1fr;}
 .conversion-extras {gap:24px;}
 .conversion-page .package-card {padding:24px;}
}
/* Shared conversion layout: existing templates retain their service-specific content. */
.conversion-page .hero {padding:48px 0;background:var(--navy);}
.conversion-page .hero-grid {min-height:424px;align-items:center;}
.conversion-page .hero h1 {color:#fff;font-size:clamp(34px,3.5vw,50px);line-height:1.08;}
.conversion-page .hero p,.conversion-page .hero .trust {color:#e1ecf7;}
.conversion-page .hero img {border-radius:20px;aspect-ratio:3/2;object-fit:cover;}
.conversion-page .local-hero .hero-grid,.conversion-page .hero-grid-single {min-height:0;}
.conversion-page .local-hero {padding:40px 0;}
.conversion-page .local-hero .hero-copy {max-width:800px;}
.conversion-page .quality-card {background:#fff;border-radius:16px;}
.conversion-page .quality-section p,.conversion-page .quality-card p {color:var(--text);}
.conversion-page .quality-scope-card {padding:24px;}
.conversion-page .quality-scope-card h3 {font-size:20px;}
.conversion-page .quality-scope-card .check-list {font-size:17px;}
.conversion-page .quality-quote h1,.conversion-page .quality-quote h2 {color:#fff;}
.conversion-page .section-action {margin-top:24px;}
.about-brand-proof {padding:40px;border-left:3px solid #ffd23f;}
.about-brand-proof strong {font:700 clamp(64px,8vw,110px)/1 'Bricolage Grotesque',sans-serif;color:#ffd23f;}
.about-brand-proof p {margin:16px 0 28px;}
.about-brand-proof span {font-size:22px;font-weight:700;color:#fff;}
.conversion-page .quality-schedule {gap:24px;}
.conversion-page .quality-schedule .quality-card {background:transparent;border:0;padding:0;}
.conversion-page .quality-nearby {gap:20px;}
.conversion-page .nearby-card {padding:24px;}
.conversion-page .service-scope-grid {gap:24px;}
@media(max-width:699px){
 .conversion-page .hero {padding:36px 0;}
 .conversion-page .hero-grid {min-height:0;gap:28px;}
 .conversion-page .local-hero {padding:32px 0;}
 .conversion-page .hero .hero-copy {padding-top:0;}
 .about-brand-proof {padding:16px 24px;}
 .conversion-page .quality-schedule {gap:24px;}
}
/* Persistent disclosure is confined to disconnected private builds. */
.private-design-notice {background:#ffe99c;color:#12283f;text-align:center;font:600 15px/20px Manrope,sans-serif;padding:6px 12px;}
.site-header.has-preview-notice,.site-header.has-preview-notice.scrolled {height:auto;}
.has-preview-notice .header-wrap {height:var(--header-base);}
body:has(.has-preview-notice) {padding-top:calc(var(--header-base) + 32px);}
.sample-photo {position:relative;min-width:0;}
.sample-photo img {width:100%;}
.image-sample {position:absolute;bottom:10px;left:10px;border-radius:5px;padding:4px 8px;background:#fff;color:#12283f;font:600 15px/20px Manrope,sans-serif;}
.conversion-service-hero .sample-photo {align-self:center;}
@media(max-width:699px){body:has(.has-preview-notice){padding-top:calc(var(--header-base) + 52px);}}

@media(max-width:699px){.private-design-notice{min-height:52px;display:flex;align-items:center;justify-content:center;}}

/* Full-width audience banner. Copy remains visible; only image colour transitions. */
.audience-banner {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;background:var(--navy);width:100%;max-width:none;margin:0;}
.audience-panel {position:relative;display:flex;align-items:flex-end;min-width:0;min-height:clamp(400px,36vw,540px);isolation:isolate;overflow:hidden;text-decoration:none;color:#fff;background:#12283f;}
.audience-panel .sample-photo {position:absolute;inset:0;z-index:-2;}
.audience-panel img {width:100%;height:100%;object-fit:cover;object-position:center 36%;filter:grayscale(1);transition:filter 280ms ease;}
.audience-panel::after {content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(8,24,40,.94),rgba(8,24,40,.56) 42%,rgba(8,24,40,.08) 78%);pointer-events:none;}
.audience-panel .image-sample {top:18px;bottom:auto;left:auto;right:20px;}
.audience-copy {width:100%;padding:40px max(28px,4vw);}
.conversion-page .audience-copy h2 {color:#fff;font-size:clamp(32px,3.1vw,46px);line-height:1.06;max-width:13ch;}
.conversion-page .audience-copy p {color:#fff;margin:16px 0 24px;max-width:37ch;font-size:18px;}
.audience-action {display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 20px;border:1.5px solid #fff;border-radius:10px;color:#fff;font:700 17px/1.4 Manrope,sans-serif;transition:background-color 150ms,color 150ms;}
.audience-panel:focus-visible {outline:4px solid #ffd23f;outline-offset:-6px;}
.audience-panel:focus-visible img {filter:grayscale(0);}
.audience-panel:focus-visible .audience-action {background:#fff;color:#12283f;}
@media(hover:hover) and (pointer:fine){
}
.audience-intro {padding:40px 0 8px;background:var(--navy);text-align:center;}
.conversion-page .audience-intro h1 {max-width:none;color:#fff;font-size:clamp(30px,3.1vw,46px);line-height:1.12;}
.conversion-page .audience-intro p {margin:14px auto 0;color:#dceaff;}
.conversion-proof .client-count {display:block;min-width:4.2ch;font-variant-numeric:tabular-nums;}
.conversion-proof .client-count [data-client-count] {font:inherit;color:inherit;line-height:inherit;}
@media(max-width:699px){
 .audience-banner {grid-template-columns:1fr;}
 .audience-panel {min-height:330px;}
 .audience-copy {padding:28px 24px;}
 .conversion-page .audience-copy h2 {font-size:32px;max-width:12ch;}
 .conversion-page .audience-copy p {font-size:17px;max-width:30ch;margin:12px 0 18px;}
 .audience-panel img {object-position:center 30%;filter:none;}
 .audience-panel .image-sample {top:12px;right:14px;}
 .audience-action {font-size:16px;min-height:46px;}
 .audience-intro {padding:30px 0 0;}
}
@media(hover:none){.audience-panel img {filter:none;}}
@media(prefers-reduced-motion:reduce){.audience-panel img,.audience-action {transition:none;}}
.client-count .sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;}
.audience-copy p {min-height:3.1em;}
.audience-commercial .image-sample {left:18px;right:auto;}

.conversion-services>* {min-width:0;}
/* Proof items wrap naturally when visitors enlarge text. */
.conversion-proof>.wrap {display:flex;flex-wrap:wrap;}
.conversion-proof .wrap>div {flex:1 1 140px;min-width:min-content;max-width:100%;}

/* Feedback 2: calm hierarchy, direct routes and readable interactive controls. */
.conversion-page {--font-display:Manrope,sans-serif;}
.conversion-page h1,.conversion-page h2,.conversion-page h3,.conversion-page .conversion-proof strong,.conversion-page .about-brand-proof strong {font-family:Manrope,sans-serif;letter-spacing:-.025em;}
.conversion-page h1 {line-height:1.14;}
.conversion-page .audience-panel {align-items:center;min-height:480px;text-align:center;}
.conversion-page .audience-copy {padding:56px 32px;}
.conversion-page .audience-copy h2 {max-width:18ch;margin-inline:auto;}
.conversion-page .audience-copy p {margin-inline:auto;max-width:38ch;}
.audience-panel::after {background:linear-gradient(0deg,rgba(8,24,40,.62),rgba(8,24,40,.58));}
.conversion-page .audience-intro {padding:30px 0 8px;}
.conversion-page .audience-intro h1 {font-size:clamp(28px,3vw,40px);}
.conversion-page .btn-light,.conversion-page .nav-quote,.conversion-page .mobile-contact .button {background:#ffd23f;color:#12283f;border-color:#ffd23f;}
.conversion-ending .wrap>div:last-child {align-items:center;text-align:center;}
.conversion-ending .button {min-width:240px;}
.conversion-service-hero>.wrap,.conversion-page .hero-with-photo .hero-grid {min-height:440px;}
.conversion-service-hero .sample-photo,.conversion-page .hero-media .sample-photo {width:100%;}
.conversion-service-hero img,.conversion-page .hero-media img {aspect-ratio:3/2;}
.conversion-page .service-intro {margin:-12px 0 12px;}
.industry-path {margin:0 0 28px;}
.industry-path a {font-size:17px;font-weight:700;text-underline-offset:4px;}
.conversion-services {gap:20px;}
.conversion-service {border:1px solid var(--line);border-radius:16px;background:#fff;padding:28px;transition:border-color 150ms,background-color 150ms;}.conversion-service:focus-visible {background:#eef5ff;border-color:var(--blue);}
.conversion-service svg {width:48px;height:48px;padding:8px;background:var(--sky);border-radius:12px;}
.conversion-service span {font-size:16px;}.conversion-page .region-toggle:focus-visible,.conversion-page .region-toggle:active {background:#e5effb;color:#174f91;border-radius:8px;}
.faq-section .section-head {text-align:center;justify-content:center;}
.faq-section .faq-list {max-width:900px;margin-inline:auto;}
.nav-dropdown:has(.nav-area-link) {display:flex;align-items:center;gap:0;}
.nav-area-link {display:flex;align-items:center;min-height:48px;text-decoration:none;font-weight:700;}
.area-chevron {min-width:38px;min-height:48px;padding:10px;}
.area-chevron .sr-only {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
.industry-link {text-decoration:none;transition:background-color 150ms,border-color 150ms;}
.industry-link h3 {color:var(--navy);}
.industry-service-label {display:block;margin-top:20px;color:var(--blue);font-size:15px;font-weight:700;}
.scope-instruction {margin:0 0 24px;}
.scope-layout {display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:stretch;}
.scope-choices {display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.scope-choices button {display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:18px;min-height:140px;padding:24px;background:#fff;color:var(--navy);border:2px solid var(--line);border-radius:16px;text-align:left;font:700 18px/1.4 Manrope,sans-serif;cursor:pointer;}
.scope-choices svg,.scope-panels svg {color:var(--blue);}.scope-choices button[aria-pressed=true] {background:#e7f1ff;border-color:var(--blue);color:var(--navy);}
.scope-choices button:focus-visible {outline:3px solid var(--blue);outline-offset:4px;}
.scope-panels {padding:32px;background:#fff;border:1px solid var(--line);border-radius:16px;}
.scope-panels h3 {font-size:24px;margin:20px 0;}
.scope-panels ul {list-style:none;padding:0;}
.scope-panels li {position:relative;padding-left:28px;margin:12px 0;font-size:18px;line-height:1.5;}
.scope-panels li:before {content:'✓';position:absolute;left:0;color:#176b65;font-weight:700;}
.conversion-page .scope-panels p {font-size:16px;line-height:1.5;margin-top:24px;}
.quality-room-list .room-detail {border-bottom:1px solid var(--line);}
.quality-room-list .room-detail summary {padding:14px 28px 14px 0;font-size:17px;min-height:48px;}
.quality-room-list .room-detail ul {padding:0 0 12px 20px;}
.package-card:has(.quality-package-details[open]) {border-color:var(--blue);}
.conversion-page .package-quote {font-size:16px;}
.extras-disclosure {border:1px solid var(--line);border-radius:16px;background:#fff;padding:0 24px;}
.extras-disclosure>summary {min-height:64px;display:flex;align-items:center;justify-content:space-between;font-weight:700;cursor:pointer;}
.extras-disclosure>summary:after {content:'+';font-size:24px;color:var(--blue);}
.extras-disclosure[open]>summary:after {content:'−';}
.extras-disclosure .conversion-extras {padding-top:16px;}
.extras-disclosure .conversion-tail {padding-bottom:24px;}
.dedicated-quote .quote-intro {max-width:460px;}
.dedicated-quote .quote-heading h1 {font-size:clamp(32px,3.7vw,48px);line-height:1.15;}
.dedicated-quote .quote-heading p {font-size:18px;max-width:36ch;}
.dedicated-quote .quote-details {margin-top:24px;}
.dedicated-quote .form-card {padding:28px;}
.dedicated-quote .demo-notice {font-size:15px;padding:10px 14px;background:#edf3f8;border-radius:8px;color:#33475e;margin:0 0 20px;}
@media(max-width:1100px) and (min-width:980px){#site-nav {gap:12px;}#site-nav>a,#site-nav .nav-trigger {font-size:15px;}.brand-wordmark{font-size:20px;}}
@media(max-width:979px){.nav-dropdown:has(.nav-area-link){display:grid;grid-template-columns:1fr 48px;}.nav-dropdown:has(.nav-area-link) .nav-dropdown-panel{grid-column:1/-1;}.nav-area-link{min-height:56px;font-size:17px;}.area-chevron{justify-content:center;}}
@media(max-width:699px){
 .conversion-page .audience-panel {min-height:340px;}
 .conversion-page .audience-copy {padding:32px 24px;}
 .conversion-page .audience-copy h2 {font-size:30px;}
 .conversion-service-hero>.wrap,.conversion-page .hero-with-photo .hero-grid {min-height:0;}
 .conversion-services {grid-template-columns:1fr;gap:14px;}
 .conversion-service {display:grid;grid-template-columns:48px 1fr;align-items:center;gap:8px 16px;padding:22px;}
 .conversion-service svg {grid-row:1/3;}
 .conversion-service span {grid-column:2;margin:0;}
 .scope-layout {grid-template-columns:1fr;gap:20px;}
 .scope-choices {gap:10px;}
 .scope-choices button {padding:16px;min-height:110px;font-size:16px;gap:10px;}
 .scope-choices svg {width:32px;height:32px;}
 .scope-panels {padding:24px;}
 .quality-room-list {display:block;}
 .conversion-ending .button {width:100%;}
 .dedicated-quote .form-card {padding:20px;}
}
@media(prefers-reduced-motion:reduce){.conversion-service,.industry-link {transition:none;}}
.conversion-page .dedicated-quote .demo-notice {color:#33475e;}
.related-section .conversion-services {grid-template-columns:repeat(3,minmax(0,1fr));}
.conversion-page .dedicated-quote label,.conversion-page .dedicated-quote input,.conversion-page .dedicated-quote select {font-size:17px;}
@media(max-width:699px){.related-section .conversion-services {grid-template-columns:1fr;}.dedicated-quote .form-card{padding:0;}.dedicated-quote .quote-details{margin-top:12px;}.dedicated-quote .quote-phone{margin-bottom:16px;}}

/* Furnished plans: real spatial interaction instead of substitute icon tiles. */
.illustrated-plan {display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:28px;align-items:start;}
.plan-visual {min-width:0;}
.plan-instruction {margin:0 0 18px;}
.plan-drawing {border:1px solid var(--line);border-radius:16px;background:#fff;padding:12px;}
.plan-drawing svg {display:block;width:100%;height:auto;}
.building-outline {fill:#f0f4f8;stroke:#385b7a;stroke-width:3;}
.illustrated-plan .plan-room {fill:#f8fafc;stroke:#7992aa;stroke-width:1.5;}
.illustrated-plan .plan-furniture {fill:none;stroke:#356da5;stroke-width:1.75;stroke-linejoin:round;pointer-events:none;}
.illustrated-plan .plan-route {stroke-dasharray:6 5;stroke:#6e8399;}
.illustrated-plan .plan-marker circle {fill:#fff;stroke:#176bde;stroke-width:1.5;}
.illustrated-plan .plan-marker text {font:700 16px Manrope,sans-serif;fill:#174b80;}
.illustrated-plan .diagram-room-label {font:600 16px Manrope,sans-serif;fill:#12283f;pointer-events:none;}
.illustrated-plan g[role=button] {cursor:pointer;outline:none;}
.illustrated-plan g[aria-pressed=true]>.plan-room {fill:#dfecfc;stroke:#27837b;stroke-width:3;}
.illustrated-plan g:focus-visible>.plan-room {stroke:#176bde;stroke-width:5;}
.illustrated-plan g[aria-pressed=true] .plan-marker circle {fill:#176bde;}
.illustrated-plan g[aria-pressed=true] .plan-marker text {fill:#fff;}
.entrance-door {fill:none;stroke:#385b7a;stroke-width:2;}
.illustrated-plan .room-chips {display:flex;flex-wrap:wrap;overflow:visible;gap:10px;padding:16px 0 0;}
.illustrated-plan .room-chips button {flex:1 1 42%;display:flex;align-items:center;gap:10px;min-height:52px;padding:12px 14px;border:1px solid var(--line);background:#fff;color:#12283f;border-radius:10px;text-align:left;font:600 16px/1.4 Manrope,sans-serif;white-space:normal;cursor:pointer;}
.illustrated-plan .room-chips button[aria-pressed=true]{background:#e7f1ff;border-color:#176bde;color:#12283f;}
.room-number {display:inline-flex;align-items:center;justify-content:center;flex:0 0 26px;width:26px;height:26px;background:#e7f1ff;border-radius:50%;color:#174b80;font-weight:700;}
.illustrated-plan .room-chips button[aria-pressed=true] .room-number {background:#176bde;color:#fff;}
.conversion-page .illustrated-plan .plan-tasks {padding:28px;background:#fff;border:1px solid var(--line);border-top:4px solid #176bde;border-radius:16px;min-height:300px;margin-top:46px;}
.conversion-page .illustrated-plan .selected-room-label {font-size:15px;color:#52687d;margin:0 0 12px;}
.illustrated-plan .plan-tasks h3 {font:700 24px/1.3 Manrope,sans-serif;margin:0 0 20px;}
.illustrated-plan .plan-tasks li {font-size:17px;line-height:1.55;margin:0 0 12px;}
.package-picker {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0 32px;}
.package-picker button {padding:22px;background:#fff;color:#12283f;border:2px solid var(--line);border-radius:14px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:10px;}
.package-picker button {align-items:flex-start;justify-content:flex-start;}
.package-picker strong {font:700 18px/1.35 Manrope,sans-serif;}
.package-picker span {font:400 16px/1.5 Manrope,sans-serif;}.package-picker button[aria-pressed=true] {border-color:#176bde;background:#e7f1ff;color:#12283f;}
.package-picker button:focus-visible,.illustrated-plan button:focus-visible {outline:3px solid #176bde;outline-offset:4px;}
.package-plan-heading {display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px;}
.package-plan-heading h3 {font-size:26px;margin:0 0 8px;}
.package-plan-heading p {margin:0;}
.home-plan-note {padding:18px 22px;background:#e7f1ff;border-radius:12px;margin-top:24px;}
.conversion-page .industry-link {display:flex;flex-direction:column;align-self:stretch;height:100%;}
.conversion-page .industry-link .industry-copy {display:flex;flex-direction:column;flex:1;}
.conversion-page .industry-copy .industry-service-label {margin-top:auto;padding-top:24px;line-height:1.5;}
.conversion-page .quality-service-card {height:100%;display:flex;flex-direction:column;}
.conversion-page .quality-service-copy {display:flex;flex-direction:column;flex:1;}
.conversion-page .quality-service-copy .learn-more {margin-top:auto;padding-top:16px;}
.conversion-page .nav-area-link {color:var(--navy);text-decoration:none;}
.quality-nav-areas {gap:32px;}
.quality-nav-areas>div+div {border-left:1px solid var(--line);padding-left:20px;}
#nav-areas>.directory-link {margin-top:16px;border-top:1px solid var(--line);padding-top:14px;min-height:52px;}
@media(max-width:899px){
 .illustrated-plan {grid-template-columns:minmax(0,1fr);gap:20px;}
 .conversion-page .illustrated-plan .plan-tasks {margin-top:0;min-height:0;}
 .package-picker {grid-template-columns:repeat(2,minmax(0,1fr));}
 .package-plan-heading {align-items:flex-start;}
}
@media(max-width:599px){
 .plan-drawing {padding:4px;}
 .illustrated-plan .diagram-room-label {display:none;}
 .illustrated-plan .plan-marker circle {r:22px;}
 .illustrated-plan .plan-marker text {font-size:36px;transform:translateY(7px);}
 .illustrated-plan .room-chips {display:grid;grid-template-columns:1fr 1fr;gap:8px;}
 .illustrated-plan .room-chips button {min-height:58px;padding:10px;gap:8px;font-size:16px;}
 .conversion-page .illustrated-plan .plan-tasks {padding:24px;}
 .package-picker {gap:10px;}
 .package-picker button {padding:16px;}
 .package-picker strong {font-size:17px;}
 .package-picker span {font-size:15px;}
 .package-plan-heading {display:block;}
 .package-plan-heading .button {width:100%;margin-top:18px;}
 .quality-nav-areas {gap:16px;}
 .quality-nav-areas>div+div {padding-left:12px;}
}

/* Header: consistent navigation type and a quiet current-page treatment. */
.site-header #site-nav a,.site-header #site-nav [aria-current="page"] {text-decoration:none;}
.site-header #site-nav>.directory-link,.site-header #site-nav .nav-trigger,.site-header #site-nav .nav-area-link {font-family:Manrope,sans-serif;font-size:16px;font-weight:700;line-height:1.4;}
.site-header #site-nav>.directory-link,.site-header #site-nav .nav-area-link {padding:10px 8px;border-radius:8px;}
.site-header #site-nav [aria-current="page"]:not(.brand) {background:var(--sky);color:var(--navy);border-radius:8px;}
.site-header #site-nav .nav-dropdown-panel [aria-current="page"] {border-color:var(--blue);}
.site-header #site-nav .menu-phone {display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 14px;border:1.5px solid var(--blue);border-radius:12px;font-size:16px;font-weight:800;line-height:1.4;color:var(--navy);white-space:nowrap;}
.site-header #site-nav .nav-quote {min-height:44px;font-size:16px;line-height:1.4;}
@media(max-width:979px){
 .site-header #site-nav>.directory-link,.site-header #site-nav .nav-trigger,.site-header #site-nav .nav-area-link {font-size:17px;}
 .site-header #site-nav .menu-phone {min-height:52px;}
 .site-header .header-phone {border:1px solid var(--line);border-radius:10px;background:var(--white);}
}
@media(min-width:980px) and (max-width:1199px){.site-header .brand-wordmark{display:none}.site-header #site-nav{gap:10px}.site-header #site-nav>.directory-link,.site-header .nav-trigger,.site-header .nav-area-link{white-space:nowrap}.site-header .header-wrap{gap:16px}.site-header #site-nav .menu-phone{padding-inline:10px}}

/* Keep the office drawing visible, with readable numbered room controls on phones. */
.office-plan-marker,.office-room-number {display:none;}
@media(max-width:899px){
 .quality-section .office-plan {display:flex;flex-direction:column;gap:16px;}
 .office-plan>svg {display:block;order:0;width:100%;height:auto;}
 .office-plan>.room-chips {order:1;width:100%;}
 .office-plan>.plan-tasks {order:2;width:100%;}
 .office-plan .plan-label {display:none;}
 .office-plan-marker {display:block;pointer-events:none;}
 .office-plan-marker circle {fill:var(--white);stroke:var(--blue);stroke-width:2;}
 .office-plan .office-plan-marker text {font:700 36px Manrope,sans-serif;fill:var(--blue);}
 .office-plan g[aria-pressed="true"]>.office-plan-marker circle {fill:var(--blue);}
 .office-plan g[aria-pressed="true"]>.office-plan-marker text {fill:var(--white);}
 .office-room-number {display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;border-radius:50%;background:var(--sky);font-weight:800;}
 .office-plan .room-chips button {display:flex;justify-content:flex-start;gap:8px;min-height:52px;font-size:16px;}
}
@media(max-width:599px){.office-plan .room-chips button{flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 6px;min-height:64px;text-align:center}.office-room-number{flex-shrink:0}}

/* ===== Owner request 2026-11-10: plans that pull visitors in, bolder areas map ===== */
:root {--gold:#ffd23f;--gold-deep:#e0a800;--gold-soft:#fff3c4;--navy-panel:#12283f;}
/* Plan explorers: drawing only, rooms take turns glowing until the first tap. */
.plan-explorer .room-chips,.plan-explorer .plan-marker,.plan-explorer .office-plan-marker,.plan-explorer .selected-room-label,.plan-explorer .room-frequency {display:none!important;}
.plan-hint {display:flex;align-items:center;gap:10px;margin:0 0 14px;font:700 17px/1.35 Manrope,sans-serif;color:#12283f;}
.plan-hint svg {flex:none;width:26px;height:26px;padding:4px;border-radius:50%;background:var(--gold);color:#12283f;}
.plan-explorer.is-engaged .plan-hint {opacity:.75;}
.plan-explorer g[role=button] {cursor:pointer;outline:none;}
.plan-explorer g[data-plan-room] > .plan-room {transition:fill .25s ease,stroke .25s ease,stroke-width .25s ease;}
.plan-explorer g.is-pulsing > .plan-room {animation:plan-glow 1.5s ease-in-out both;}
@keyframes plan-glow {0%{fill:#f8fafc;stroke:#7992aa;stroke-width:1.5px}35%,60%{fill:var(--gold-soft);stroke:var(--gold-deep);stroke-width:5px}100%{fill:#f8fafc;stroke:#7992aa;stroke-width:1.5px}}
.plan-explorer g[aria-pressed=true] > .plan-room,.office-plan.plan-explorer g[aria-pressed=true] > .plan-room {fill:var(--gold-soft);stroke:var(--gold-deep);stroke-width:5px;}
.plan-explorer g:focus-visible > .plan-room {stroke:#176bde;stroke-width:5px;}
@media (hover:hover) and (pointer:fine) {}
.plan-explorer .plan-label,.plan-explorer .diagram-room-label {fill:#12283f;font-weight:800;}
/* Checklist panel (owner 2026-11-10): nothing shows until a room is chosen; then the navy card
   opens with the room animation and gold checks. The card's top lines up with the drawing's top. */
.conversion-page .plan-explorer .plan-tasks,.plan-explorer .plan-tasks {background:none;border:0;border-radius:0;padding:0;box-shadow:none;min-height:0;margin:0;color:inherit;}
.conversion-page .illustrated-plan.plan-explorer .plan-tasks {margin-top:0;}
.plan-explorer {align-items:start;}
.illustrated-plan.plan-explorer > .plan-hint {grid-column:1/-1;margin:0;}
.illustrated-plan.plan-explorer {row-gap:14px;}
.plan-explorer .plan-tasks section {background:var(--navy-panel);color:#fff;border-radius:20px;padding:22px 22px 24px;box-shadow:0 14px 34px rgba(18,40,63,.22);animation:panel-in .25s ease-out both;}
@keyframes panel-in {from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.plan-explorer .plan-tasks h3 {display:flex;align-items:center;gap:12px;margin:0 0 18px;color:#fff;font:800 24px/1.25 Manrope,sans-serif;}
.plan-explorer .room-icon {flex:none;width:34px;height:34px;padding:6px;border-radius:10px;background:rgba(255,210,63,.16);color:var(--gold);}
.plan-explorer .plan-tasks ul {list-style:none;margin:0;padding:0;display:grid;gap:14px;}
.plan-explorer .plan-tasks li {display:flex;align-items:flex-start;gap:12px;margin:0;color:#fff;font-size:17px;line-height:1.5;}
.plan-explorer .plan-tasks li::before {content:'';flex:none;display:block;width:24px;height:24px;margin-top:calc((1.5em - 24px) / 2);border-radius:50%;
  background:var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%2312283f' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/15px no-repeat;-webkit-mask:none;mask:none;}
.plan-empty {display:none;}
.plan-animation {display:block;width:100%;height:auto;aspect-ratio:16/10;margin:0 0 18px;border-radius:14px;background:#132640;}
.office-plan.plan-explorer .plan-hint {grid-column:1/-1;margin:0;}
.office-plan.plan-explorer {row-gap:14px;}
.hint-mouse {display:none;}
@media (hover:hover) and (pointer:fine) {.hint-touch {display:none;} .hint-mouse {display:inline;}}
@media (max-width:899px) {
 .plan-explorer:not(.is-engaged) .plan-tasks {display:none;}
 .illustrated-plan .diagram-room-label {display:inline;}
 .office-plan.plan-explorer .plan-hint {order:-1;}
 .plan-explorer .plan-tasks section {padding:18px 18px 22px;}
 .plan-explorer .plan-tasks h3 {font-size:22px;}
}
@media (prefers-reduced-motion:reduce) {.plan-explorer g.is-pulsing > .plan-room,.plan-explorer .plan-tasks section {animation:none;} .plan-animation {display:none;}}

/* Areas we serve: light, smooth, modern map (owner 2026-11-10: no navy, nothing pixelated). */
#areas-map .quality-map {background:linear-gradient(160deg,#fbfdff 0%,#eef5fc 100%);border:1px solid #dbe7f3;border-radius:28px;box-shadow:0 20px 44px rgba(18,40,63,.10);}
#areas-map .quality-map .map-region .gta-region {stroke:#fff;stroke-width:3px;stroke-linejoin:round;transition:fill .2s ease;}
#areas-map .quality-map .map-region[data-region=toronto] .gta-region {fill:#7fb0ea;}
#areas-map .quality-map .map-region[data-region=peel] .gta-region {fill:#9cc3f0;}
#areas-map .quality-map .map-region[data-region=halton] .gta-region {fill:#b9d6f6;}
#areas-map .quality-map .map-region[data-region=york] .gta-region {fill:#8cb9ee;}
#areas-map .quality-map .map-region[data-region=durham] .gta-region {fill:#acccf3;}
#areas-map .quality-map .map-outline {stroke:#e0a800;stroke-width:3px;}
#areas-map .quality-map .map-region-name {fill:#12283f;font-weight:800;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round;}
#areas-map .quality-map .map-lake-name {fill:#3f74b1;stroke:none;font-weight:700;letter-spacing:.06em;}
#areas-map .quality-map .map-waves path {fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;opacity:.7;}
#areas-map .quality-map .map-north {fill:#6c839c;}
#areas-map .map-hint {color:#43566e;}
.region-cards {display:grid;gap:12px;}
.quality-regions.region-cards > .region-card {padding:16px 18px;border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(18,40,63,.06);}
.region-card .region-row {min-height:0;}
.region-card .region-row > a {font-size:19px;font-weight:800;color:#12283f;min-height:36px;}
.region-card .coverage-city-links {display:flex;flex-wrap:wrap;gap:6px 14px;margin:6px 0 0;padding:0;list-style:none;}
.region-card .coverage-city-links a {font-size:15px;color:#305b86;min-height:32px;display:inline-flex;align-items:center;}
.region-card .region-toggle {display:none;}
/* City and region pages: coverage names kept quietly at the bottom. */
.area-footer-section .area-footer {display:grid;gap:12px;}
.area-footer-list {margin:0;color:#43566e;font-size:16px;line-height:1.7;}
.area-footer-links {display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;font-size:16px;}
.area-footer-links span {font-weight:700;color:#12283f;}
@media (max-width:899px) {.office-plan.plan-explorer .plan-label {display:inline;}}

/* Home cleaning (owner 2026-11-10): on phones the plan sits right under the four package buttons,
   the package heading is hidden, and switching package makes the plan glow so the change is obvious. */
.package-plan-heading .button.btn-primary {background:var(--gold);border-color:var(--gold);color:#12283f;}
@keyframes plan-switch {0%{box-shadow:0 0 0 0 rgba(255,210,63,.0)}30%{box-shadow:0 0 0 6px rgba(255,210,63,.75)}100%{box-shadow:0 0 0 0 rgba(255,210,63,0)}}
[data-package-plan].is-switched .plan-drawing {animation:plan-switch 1.1s ease-out;}
.package-now {display:none;}
@media (max-width:899px) {
 .home-plan-explorer .package-plan-heading {display:none;}
 .home-plan-explorer .house-guide-intro {margin:0 0 12px;}
 .home-plan-explorer .package-picker {display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;}
 .home-plan-explorer .package-picker button {min-height:0;padding:12px;border-radius:12px;text-align:left;}
 .home-plan-explorer .package-picker button strong {font-size:16px;line-height:1.25;}
 .home-plan-explorer .package-picker button span {display:none;}
 .home-plan-explorer .package-picker button[aria-pressed=true] {background:var(--gold-soft);border-color:var(--gold-deep);box-shadow:0 0 0 2px var(--gold) inset;}
 .package-now {display:block;margin:0 0 10px;font:700 15px/1.3 Manrope,sans-serif;color:#305b86;}
}
@media (prefers-reduced-motion:reduce) {[data-package-plan].is-switched .plan-drawing {animation:none;}}

/* City/region pages: coverage names kept for search, folded away by default. */
.area-footer-section details {border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.area-footer-section summary {display:flex;align-items:center;justify-content:space-between;min-height:52px;cursor:pointer;font:700 17px Manrope,sans-serif;color:#12283f;list-style:none;}
.area-footer-section summary::-webkit-details-marker {display:none;}
.area-footer-section summary::after {content:'+';font-size:22px;color:#305b86;}
.area-footer-section details[open] summary::after {content:'–';}
.area-footer-section .area-footer {padding:0 0 16px;}
