:root{
 --font-display:"Source Serif 4",Georgia,serif;--font-body:"Work Sans",Arial,sans-serif;
 --text-xs:clamp(.75rem,.72rem + .1vw,.8125rem);--text-sm:clamp(.875rem,.84rem + .1vw,.9375rem);--text-base:clamp(1rem,.97rem + .12vw,1.0625rem);--text-lg:clamp(1.125rem,1rem + .4vw,1.375rem);--text-xl:clamp(1.75rem,1.4rem + 1vw,2.5rem);--text-2xl:clamp(2.25rem,1.7rem + 2vw,3.5rem);--text-hero:clamp(2.75rem,1.65rem + 3.4vw,4.75rem);
 --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;
 --color-primary:#832192;--color-primary-hover:#651873;--color-text:#263e43;--color-text-muted:#536166;--color-bg:#fff;--color-surface:#fbf9fb;--color-surface-offset:#f3edf5;--color-cyan:#effafb;--color-border:oklch(.30 .025 207 / .16);
 --radius-sm:.25rem;--radius-md:.5rem;--radius-lg:1rem;--content-wide:1240px
}
a{color:inherit;text-decoration:none}
a:hover{color:var(--color-primary)}
a:active,button:active{opacity:.8}
.wrap{width:min(calc(100% - var(--space-16)),var(--content-wide));margin-inline:auto}
.preview-bar{padding:var(--space-2) var(--space-4);text-align:center;background:var(--color-surface-offset);color:#5f3b67;font-size:var(--text-xs)}
.header{background:var(--color-bg);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:20}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);min-height:100px}
.brand{display:flex;align-items:center;gap:.625rem;flex-shrink:0;font-size:var(--text-lg);font-weight:500;line-height:1.1}
.brand img{width:58px;height:58px;object-fit:contain;flex-shrink:0}
.brand-name{display:grid;gap:.375rem;text-align:center}
.brand-title{display:block;letter-spacing:.16em;text-indent:.16em}
.brand-sub{display:block;font-size:.6875rem;letter-spacing:.28em;text-indent:.28em}
nav{display:flex;gap:var(--space-6);align-items:center}
nav a{font-size:var(--text-sm);padding-block:var(--space-3);white-space:nowrap}
nav a[aria-current=page]{color:var(--color-primary);text-decoration:underline;text-underline-offset:var(--space-2)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-6);min-height:48px;padding:var(--space-3) var(--space-6);background:var(--color-primary);color:white;font-size:var(--text-sm);border:1px solid var(--color-primary);border-radius:var(--radius-sm);font-weight:500;text-align:center}
.button:hover{background:var(--color-primary-hover);color:#fff}
.button.secondary{background:transparent;color:var(--color-text);border-color:var(--color-border)}
.button.secondary:hover{border-color:var(--color-primary);color:var(--color-primary)}
.text-link{display:inline-flex;align-items:center;gap:var(--space-6);font-size:var(--text-sm);font-weight:500;padding-block:var(--space-3);color:var(--color-primary);border-bottom:1px solid var(--color-primary)}
.menu-button{display:none}
.skip{position:absolute;top:-100px;left:var(--space-4);background:white;padding:var(--space-4);z-index:100}
.skip:focus{top:var(--space-4)}
main:focus{outline:none}
.eyebrow{font-size:var(--text-xs);letter-spacing:.15em;text-transform:uppercase;font-weight:500;color:var(--color-primary);margin-bottom:var(--space-5)}
h1,h2{font-family:var(--font-display);font-weight:500;letter-spacing:-.035em}
h1{font-size:var(--text-hero)}
h2{font-size:var(--text-xl)}
h3{font-size:var(--text-lg);font-weight:500;letter-spacing:-.025em}
p{color:var(--color-text-muted)}
.hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:var(--space-20);padding-block:var(--space-16) var(--space-20)}
.hero-copy>p:not(.eyebrow){margin-block:var(--space-6) var(--space-8);max-width:45ch}
.hero-copy .actions{display:flex;flex-wrap:wrap;gap:var(--space-5);align-items:center}
.hero-copy .location{margin-top:var(--space-8);font-size:var(--text-xs);letter-spacing:.02em}
.hero-image{position:relative}
.hero-image>img{width:100%;height:510px;object-fit:cover;object-position:62% center;border-radius:var(--radius-sm)}
.photo-note{position:absolute;left:calc(-1 * var(--space-8));bottom:var(--space-8);background:white;padding:var(--space-5) var(--space-8);box-shadow:0 4px 32px #263e4310;border-left:none;font-family:var(--font-display);font-size:var(--text-lg);max-width:280px;line-height:1.35}
.photo-note span{display:block;font:500 var(--text-xs)/1.5 var(--font-body);letter-spacing:.12em;color:var(--color-primary);margin-bottom:var(--space-2)}
.intro-strip{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding-block:var(--space-6);display:flex;justify-content:space-between;gap:var(--space-8);font-size:var(--text-sm)}
.intro-strip strong{font-weight:500}
.section{padding-block:clamp(var(--space-12),7vw,var(--space-24))}
.section-title{display:flex;justify-content:space-between;align-items:end;gap:var(--space-8);margin-bottom:var(--space-12)}
.section-title p:not(.eyebrow){max-width:40ch}
.service-pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-10)}
.service-pair img{width:100%;height:300px;object-fit:cover;border-radius:var(--radius-sm);margin-bottom:var(--space-6)}
.service-pair article:nth-child(2) img{object-position:center 58%}
.service-pair h3{font-family:var(--font-display);font-size:var(--text-xl)}
.service-pair p{margin-block:var(--space-3) var(--space-4)}
.service-pair .number{color:var(--color-primary);font-size:var(--text-xs);letter-spacing:.12em;margin-bottom:var(--space-3);display:block}
.home-hero h1{font-size:clamp(2.75rem,1.7rem + 2.8vw,4.25rem)}
.home-hero .hero-image>img{object-position:55% center;height:560px}
.home-hero .location a{text-decoration:underline;text-underline-offset:3px}
.home-cleaning{display:grid;grid-template-columns:1.15fr 1fr;gap:var(--space-20);align-items:center}
.home-service-photo img{width:100%;height:340px;object-fit:cover;object-position:50% 65%;border-radius:var(--radius-sm);margin-bottom:var(--space-4)}
.business-intro{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-20);align-items:center}
.business-intro p:not(.eyebrow){margin-block:var(--space-5)}
.business-intro img{width:100%;height:300px;object-fit:cover;border-radius:var(--radius-sm)}
.pale{background:var(--color-cyan)}
.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--space-24);align-items:start}
.split>div>p:not(.eyebrow){margin-block:var(--space-6)}
.principles{border-top:1px solid var(--color-border)}
.principles article{display:grid;grid-template-columns:48px 1fr;gap:var(--space-5);padding-block:var(--space-6);border-bottom:1px solid var(--color-border)}
.principles article>span{color:var(--color-primary);font-size:var(--text-xs)}
.principles p{margin-top:var(--space-2);font-size:var(--text-sm)}
.closing{background:var(--color-surface-offset)}
.closing .wrap{display:flex;justify-content:space-between;align-items:center;gap:var(--space-8);padding-block:var(--space-16)}
.closing p{margin-top:var(--space-4)}
.page-head{padding-block:var(--space-16) var(--space-12);max-width:850px}
.page-head h1{font-size:var(--text-2xl)}
.page-head>p:not(.eyebrow){margin-top:var(--space-6);max-width:58ch}
.page-head .button{margin-top:var(--space-8)}
.wide-photo{width:100%;height:420px;object-fit:cover;border-radius:var(--radius-sm)}
.feature-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-20);align-items:center;padding-block:var(--space-16);border-bottom:1px solid var(--color-border)}
.feature-row img{width:100%;height:420px;object-fit:cover;border-radius:var(--radius-sm)}
.feature-row p{margin-block:var(--space-5)}
.check-list{list-style:none;margin-block:var(--space-6)}
.check-list li{padding-block:var(--space-3);border-top:1px solid var(--color-border);font-size:var(--text-sm)}
.check-list li::before{content:"✓";color:var(--color-primary);margin-right:var(--space-3)}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8) var(--space-16)}
.detail-grid article{padding-top:var(--space-6);border-top:1px solid var(--color-border)}
.detail-grid p{margin-top:var(--space-3);font-size:var(--text-sm)}
.small-note{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-6)}
.steps{margin-top:var(--space-8)}
.steps li{display:grid;grid-template-columns:40px 1fr;gap:var(--space-5);padding-block:var(--space-5);border-bottom:1px solid var(--color-border)}
.steps li>span{font-size:var(--text-xs);color:var(--color-primary)}
.steps p{margin-top:var(--space-2);font-size:var(--text-sm)}
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--space-20)}
details{border-top:1px solid var(--color-border)}
details:last-child{border-bottom:1px solid var(--color-border)}
summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:var(--space-6);padding-block:var(--space-6);font-weight:500;font-size:var(--text-base)}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--color-primary)}
details[open] summary::after{content:"−"}
details p{padding-bottom:var(--space-6);font-size:var(--text-sm)}
.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--space-24);padding-bottom:var(--space-24)}
.contact-item{padding-block:var(--space-6);border-top:1px solid var(--color-border)}
.contact-item h2{font:500 var(--text-xs)/1.5 var(--font-body);letter-spacing:.12em;text-transform:uppercase;margin-bottom:var(--space-2);color:var(--color-primary)}
.contact-item a{display:inline-block;padding-block:var(--space-2)}
.contact-item p{font-size:var(--text-sm)}
.form-panel{background:var(--color-surface);padding:var(--space-10);border-radius:var(--radius-md)}
.form-panel p{margin-block:var(--space-4) var(--space-6);font-size:var(--text-sm)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}
label{font-size:var(--text-sm);display:block;font-weight:500}
input,select,textarea{display:block;width:100%;padding:var(--space-3);background:white;border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-top:var(--space-2);font-size:var(--text-base)}
textarea{resize:vertical;min-height:130px}
.form-full{grid-column:1/-1}
.form-panel .button{margin-top:var(--space-6)}
.email-result{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--color-border);overflow-wrap:anywhere}
.email-result h3{font-family:var(--font-display);font-size:var(--text-xl)}
.email-result pre{font:400 var(--text-sm)/1.6 var(--font-body);white-space:pre-wrap;margin-top:var(--space-4);color:var(--color-text-muted)}
footer{padding-top:var(--space-16)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:var(--space-16);padding-bottom:var(--space-12)}
.footer-wordmark{font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;letter-spacing:-.03em}
.footer-grid h2{font:500 var(--text-xs)/1.6 var(--font-body);letter-spacing:.12em;text-transform:uppercase;margin-bottom:var(--space-4);color:var(--color-primary)}
.footer-grid a:not(.footer-wordmark){display:block;min-height:44px;padding-block:var(--space-2);font-size:var(--text-sm);overflow-wrap:anywhere}
.footer-grid p{font-size:var(--text-sm);margin-top:var(--space-4)}
.footer-bottom{border-top:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding-block:var(--space-5);font-size:var(--text-xs);color:var(--color-text-muted)}
.credit-button{font-size:var(--text-xs);min-height:44px}
.photo-credits{font-size:var(--text-xs);padding-block:var(--space-4) var(--space-8)}
.photo-credits a{text-decoration:underline;display:inline-block;padding-block:var(--space-3)}
.img-fallback{background:var(--color-surface-offset);padding:var(--space-8);min-height:200px;display:grid;place-items:center}
#booking-handoff{margin:auto;width:min(600px,calc(100% - var(--space-8)));max-height:calc(100dvh - var(--space-8));overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-8);color:var(--color-text);background:var(--color-bg);box-shadow:0 12px 48px #263e4320}
#booking-handoff::backdrop{background:oklch(.25 .02 205 / .48)}
.handoff-heading{display:flex;justify-content:space-between;align-items:start;gap:var(--space-5)}
.handoff-heading .eyebrow{margin-bottom:var(--space-4)}
.handoff-close{min-height:44px;flex-shrink:0;font-size:var(--text-sm);margin-top:calc(-1 * var(--space-3));padding-inline:var(--space-2)}
#booking-handoff h2{font-size:var(--text-xl)}
#booking-description{margin-top:var(--space-5)}
#booking-open-status{margin-block:var(--space-4);font-size:var(--text-sm);color:var(--color-primary)}
.booking-address{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--color-border)}
.booking-address label{font-weight:400}
.booking-address input{font-size:var(--text-sm);background:var(--color-surface);color:var(--color-text)}
#booking-copy-status{font-size:var(--text-sm);margin-top:var(--space-3)}
body:has(#booking-handoff[open]){overflow:hidden}
@media(min-width:1500px){.hero{padding-block:var(--space-20) var(--space-24)}}
@media(max-width:1100px){.header-inner{gap:var(--space-5)}nav{gap:var(--space-4)}.brand{font-size:var(--text-base)}.hero{gap:var(--space-10)}.hero-image>img{height:460px}.split,.contact-layout{gap:var(--space-12)}}
@media(max-width:900px){
 .wrap{width:calc(100% - var(--space-10))}.preview-bar{font-size:var(--text-xs)}.header-inner{min-height:80px;gap:var(--space-3);flex-wrap:wrap}
 .brand{font-size:var(--text-sm);gap:var(--space-2)}.brand img{width:44px;height:44px}.brand-name{gap:.3125rem}.brand-sub{font-size:.625rem}
 .menu-button{display:flex;gap:var(--space-2);align-items:center;min-height:48px;font-size:var(--text-sm);margin-left:auto}
 .header-cta{display:inline-flex;padding:var(--space-3);gap:var(--space-2);font-size:var(--text-sm)}
 .header-cta>span{display:none}
 nav{display:none;flex-basis:100%;padding-bottom:var(--space-5);gap:0;align-items:stretch;order:4}
 nav.open{display:flex;flex-direction:column}nav a{padding:var(--space-3) 0}
 .hero{grid-template-columns:1fr;gap:var(--space-10);padding-block:var(--space-12);align-items:start}
 .hero-copy>p:not(.eyebrow){margin-block:var(--space-5) var(--space-6)}
 .hero-copy .actions{align-items:stretch;gap:var(--space-4)}.hero-copy .location{margin-top:var(--space-6)}
 .hero-image>img{height:340px}.photo-note{left:var(--space-4);bottom:var(--space-4);padding:var(--space-4);font-size:var(--text-base)}
 .home-hero .hero-image>img{height:360px}.home-cleaning,.business-intro{grid-template-columns:1fr;gap:var(--space-8)}
 .home-service-photo img{height:280px}.business-intro img{height:240px}
 .intro-strip{display:grid;gap:var(--space-3)}.section-title{display:block;margin-bottom:var(--space-8)}.section-title>p{margin-top:var(--space-5)}
 .service-pair,.split,.detail-grid,.faq,.feature-row,.contact-layout{grid-template-columns:1fr;gap:var(--space-8)}
 .service-pair{gap:var(--space-12)}.service-pair img{height:240px}.principles{margin-top:var(--space-4)}
 .closing .wrap{display:block;padding-block:var(--space-12)}.closing .button{margin-top:var(--space-6)}
 .page-head{padding-block:var(--space-12) var(--space-8)}.wide-photo{height:260px}
 .feature-row{padding-block:var(--space-12)}.feature-row img{height:300px}.feature-row.reverse>img{order:2}
 .contact-layout{padding-bottom:var(--space-12)}.form-panel{padding:var(--space-6)}.form-grid{grid-template-columns:1fr}
 .footer-grid{grid-template-columns:1fr;gap:var(--space-8);padding-bottom:var(--space-8)}
 .footer-bottom{align-items:start;flex-direction:column;gap:0}.footer-grid>div:first-child p{margin-top:var(--space-3)}
}
