:root{--bg:#F4F1EA;--ink:#202423;--action:#2E6A59;--on-action:#ffffff;--accent:#B85C3D;--highlight:#C8B98E;--surface:#C8B98E44;--focus:#B85C3D;--header:72px}

*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--catalog-font-body);line-height:1.55}img{display:block;width:100%;height:auto}a{color:inherit;text-underline-offset:.22em}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:99;background:var(--bg);padding:.75rem}.site-header{position:relative;z-index:20;min-height:var(--header);border-bottom:1px solid color-mix(in srgb,var(--ink),transparent 72%);background:var(--bg)}.header-in{max-width:1440px;margin:auto;padding:1rem clamp(1rem,4vw,4rem);display:flex;align-items:center;gap:2rem}.brand{font-weight:900;text-decoration:none;letter-spacing:-.03em}.brand small{display:block;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase}.nav{margin-left:auto}.nav ul{display:flex;gap:clamp(.6rem,1.2vw,1.35rem);list-style:none;margin:0;padding:0;font-size:.78rem;text-transform:uppercase}.mobile-nav{display:none;margin-left:auto}.mobile-nav summary{min-height:44px;padding:.65rem 1rem;border:1px solid currentColor}.mobile-nav nav{position:absolute;left:1rem;right:1rem;top:calc(100% + .5rem);background:var(--bg);border:1px solid currentColor;padding:1rem}.mobile-nav ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.book{display:inline-flex;min-height:44px;align-items:center;padding:.65rem 1rem;background:var(--action);color:var(--on-action);text-decoration:none;font-weight:800;border:1px solid var(--action)}main{overflow:clip}.page-shell{max-width:1320px;margin:auto;padding:clamp(3rem,7vw,8rem) clamp(1rem,4vw,4rem)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.8rem,7vw,7.5rem);line-height:.92;letter-spacing:-.055em;max-width:13ch}h2{font-size:clamp(1.8rem,3.4vw,4rem);line-height:1;letter-spacing:-.035em}.eyebrow{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800}.lede{font-size:clamp(1.05rem,1.7vw,1.35rem);max-width:58ch}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.text-link{display:inline-flex;min-height:44px;align-items:center}.hero{min-height:calc(100svh - var(--header));display:grid;align-items:center}.hero-inner{max-width:1440px;margin:auto;padding:clamp(3rem,7vw,8rem) clamp(1rem,4vw,4rem);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:clamp(2rem,6vw,7rem);align-items:center}.hero-art{position:relative}.hero-art img{aspect-ratio:3/2;object-fit:cover}.section{max-width:1320px;margin:auto;padding:clamp(4rem,8vw,9rem) clamp(1rem,4vw,4rem)}.section-head{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:2.5rem}.section-head p{max-width:48ch}.service-list,.gallery-grid,.people-grid,.review-grid,.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.service,.person,.review,.process-step,.faq-list details{border:1px solid color-mix(in srgb,var(--ink),transparent 70%);padding:1.35rem;background:var(--surface)}.service .price{font-size:1.3rem;font-weight:900;color:var(--action)}.gallery-grid figure{margin:0}.gallery-grid img{aspect-ratio:4/3;object-fit:cover}.gallery-grid figcaption{font-size:.78rem;padding:.7rem 0}.review cite{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.faq-list{display:grid;gap:.75rem}.faq-list summary{cursor:pointer;font-weight:800;min-height:44px;padding:.65rem 0}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,6rem)}form{display:grid;gap:1rem}.field{display:grid;gap:.4rem}input,textarea,select{width:100%;min-height:46px;padding:.75rem;border:1px solid color-mix(in srgb,var(--ink),transparent 55%);background:var(--bg);color:var(--ink);font:inherit}textarea{min-height:150px}button{min-height:46px;padding:.75rem 1.1rem;border:0;background:var(--action);color:var(--on-action);font-weight:900}.status{min-height:1.5em}.contact-band{padding:clamp(4rem,8vw,8rem) clamp(1rem,5vw,5rem);background:var(--action);color:var(--on-action)}.contact-band>div{max-width:1320px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:2rem}.contact-band .book{background:var(--bg);color:var(--ink);border-color:var(--bg)}.subscribe{padding:2rem clamp(1rem,5vw,5rem);background:var(--surface)}.subscribe form{max-width:1320px;margin:auto;display:grid;grid-template-columns:1fr minmax(240px,430px) auto;align-items:end}.site-footer{padding:4rem clamp(1rem,5vw,5rem);border-top:1px solid color-mix(in srgb,var(--ink),transparent 70%)}.footer-in{max-width:1320px;margin:auto;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2rem}.site-footer ul{list-style:none;margin:0;padding:0}.legal{font-size:.7rem;opacity:.7;margin-top:3rem}.page-404 main{min-height:70svh;display:grid;align-items:center}.meta-list{display:grid;gap:.5rem}.meta-list div{display:grid;grid-template-columns:9rem 1fr;border-bottom:1px solid color-mix(in srgb,var(--ink),transparent 80%);padding:.5rem 0}.privacy-copy{max-width:75ch}.privacy-copy section{padding:1.5rem 0;border-bottom:1px solid color-mix(in srgb,var(--ink),transparent 80%)}
@media(max-width:850px){.nav{display:none}.mobile-nav{display:block}.header-in>.book{display:none}.hero-inner,.contact-grid{grid-template-columns:1fr}.hero{min-height:auto}.service-list,.gallery-grid,.people-grid,.review-grid,.process-grid{grid-template-columns:1fr}.section-head,.contact-band>div{display:block}.subscribe form{grid-template-columns:1fr}.footer-in{grid-template-columns:1fr}h1{font-size:clamp(2.7rem,14vw,5.2rem)}.header-in{gap:1rem}.home .hero-inner,.home .section,.home .contact-band{transform:none!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

body{background-image:repeating-linear-gradient(0deg,transparent 0 47px,color-mix(in srgb,var(--ink),transparent 90%) 47px 48px)}.hero-inner{grid-template-columns:1fr 1fr}.hero-art{display:grid;grid-template-columns:1fr 1fr;gap:.35rem}.hero-art::before,.hero-art::after{position:absolute;top:.5rem;padding:.3rem .6rem;background:var(--ink);color:var(--bg);z-index:2;font-size:.65rem}.hero-art::before{content:"BEFORE";left:.5rem}.hero-art::after{content:"AFTER";right:.5rem}.service-list,.review-grid{display:block}.service,.review{display:grid;grid-template-columns:3fr 1fr 2fr;border-width:0 0 1px;background:transparent}.service::after{content:"VERIFIED";justify-self:end;color:var(--action);font-weight:900}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.gallery-grid figure{display:grid;grid-template-columns:1fr 1fr}

/* DS-17 material identity: matched evidence ledger. */
.layout-ledger{font-family:var(--catalog-font-body);background-image:repeating-linear-gradient(0deg,transparent 0 47px,#20242318 47px 48px)}.layout-ledger h1,.layout-ledger h2,.layout-ledger h3{font-family:var(--catalog-font-heading)}.layout-ledger .site-header{border-block:2px solid var(--ink)}
.evidence-pair{display:grid!important;grid-template-columns:1fr 1fr;gap:.35rem;border:2px solid var(--ink);background:var(--ink);position:relative}.evidence-pair figure{margin:0;background:var(--bg);position:relative}.evidence-pair img{aspect-ratio:1/1;object-fit:cover}.evidence-pair figcaption{padding:.65rem;font-weight:900;display:flex;justify-content:space-between}.evidence-pair figure:first-child::after,.evidence-pair figure:last-child::after{position:absolute;top:.6rem;padding:.3rem .55rem;background:var(--ink);color:var(--bg);font-size:.7rem;font-weight:900}.evidence-pair figure:first-child::after{content:"BEFORE";left:.6rem}.evidence-pair figure:last-child::after{content:"AFTER";right:.6rem}
.layout-ledger .section-head{display:grid;grid-template-columns:2fr 1fr;border-bottom:3px double var(--ink);padding-bottom:1rem}.layout-ledger .service,.layout-ledger .review,.layout-ledger .person,.layout-ledger .process-step{border-width:0 0 1px;background:transparent}.layout-ledger .page-shell>.service-list,.layout-ledger .page-shell>.review-grid,.layout-ledger .page-shell>.people-grid{display:block}.layout-ledger .page-shell .service,.layout-ledger .page-shell .review,.layout-ledger .page-shell .person{display:grid;grid-template-columns:1fr 2fr 1fr;gap:1rem;align-items:start}.layout-ledger .page-shell .service::after{content:"SCOPE CHECKED";color:var(--action);font-weight:900;text-align:right}.layout-ledger .footer-nav{border-top:3px double currentColor;padding-top:1rem}
@media(max-width:850px){.evidence-pair{grid-template-columns:1fr 1fr}.layout-ledger .page-shell .service,.layout-ledger .page-shell .review,.layout-ledger .page-shell .person{display:grid;grid-template-columns:1fr}.layout-ledger .section-head{grid-template-columns:1fr}.layout-ledger .service{display:grid!important;grid-template-columns:1fr!important}}

.role-portrait{width:min(100%,220px);aspect-ratio:8/9;object-fit:cover;border:1px solid currentColor}.role-name{font-weight:900;text-transform:uppercase;letter-spacing:.12em}.footer-nav{max-width:1320px;margin:2rem auto 0;display:flex;flex-wrap:wrap;gap:.5rem 1rem}.footer-nav a{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:850px){.layout-ledger .hero-inner{grid-template-columns:1fr}.layout-ledger .hero-copy{max-width:100%}.layout-ledger .evidence-pair{width:100%}}

@media(prefers-reduced-motion:reduce){.legal{opacity:1}}

/* Material ledger rebuild: matched photography, ruled records and compact evidence flow. */
.layout-ledger{--bg:#f4f1ea;--ink:#202423;--action:#286452;--accent:#a94d34;--surface:#e7dfcc;background-size:100% 48px}
.layout-ledger .site-header{background:rgba(244,241,234,.97)}
.layout-ledger .nav li{border:1px solid transparent}.layout-ledger .nav a{display:block;padding:.55rem .65rem}.layout-ledger .nav a[aria-current]{background:var(--ink);color:var(--bg);text-decoration:none}
.layout-ledger .page-shell{max-width:1240px;padding-top:clamp(4rem,7vw,7rem)}
.layout-ledger .page-shell>h1{padding-bottom:1.5rem;border-bottom:7px double var(--ink)}
.layout-ledger .hero{min-height:min(820px,calc(100svh - var(--header)))}
.layout-ledger .hero-inner{max-width:1500px;grid-template-columns:minmax(300px,.7fr) minmax(560px,1.3fr);gap:clamp(2rem,5vw,5rem)}
.layout-ledger .evidence-pair{min-height:520px}
.layout-ledger .evidence-pair figure{overflow:hidden;display:grid;grid-template-rows:1fr auto}
.layout-ledger .evidence-pair img{width:200%;max-width:none;height:100%;aspect-ratio:auto;object-fit:cover}
.layout-ledger .evidence-pair figure:first-child img{object-position:left center}
.layout-ledger .evidence-pair figure:last-child img{transform:translateX(-50%);object-position:right center}
.layout-ledger .section{max-width:1240px;padding-block:clamp(3.5rem,6vw,6.5rem)}
.layout-ledger .section-head{grid-template-columns:minmax(0,2fr) minmax(220px,1fr);align-items:end;margin-bottom:1.5rem}
.layout-ledger.home .gallery-preview .gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}
.layout-ledger.home .gallery-preview figure{grid-column:span 4;display:block;border:1px solid var(--ink);background:var(--bg)}
.layout-ledger.home .gallery-preview figure:first-child{grid-column:span 8}
.layout-ledger.home .gallery-preview figure:last-child{grid-column:span 12;display:grid;grid-template-columns:1.4fr .6fr}
.layout-ledger .gallery-preview img{width:100%;height:100%;min-height:220px;object-fit:cover}
.layout-ledger .gallery-preview figcaption{padding:1rem;border-top:1px solid var(--ink)}
.layout-ledger.home .service-list .service{grid-template-columns:130px 1fr 2fr 110px 170px 90px;gap:1rem;align-items:start;padding:1.25rem .75rem;border-bottom:1px solid var(--ink)}
.layout-ledger.home .service::after{content:"SCOPE LOGGED";font-size:.68rem;letter-spacing:.12em}
.layout-ledger.home .review-grid .review{grid-template-columns:1fr 160px;gap:1rem;padding:1.2rem 0;border-bottom:1px solid var(--ink)}
.layout-ledger .process-grid{border-block:4px double var(--ink);gap:0}.layout-ledger .process-step{position:relative;padding:1.5rem;border-right:1px solid var(--ink)}.layout-ledger .process-step:last-child{border-right:0}
.layout-ledger .faq-list details{border-radius:0;border:1px solid var(--ink);background:var(--surface);margin-bottom:.5rem;padding:.85rem 1.1rem}
.page-services .service-list{position:relative;margin-top:2.5rem;padding-left:min(31vw,360px)}
.page-services .service-list::before{content:"SERVICE INDEX\A 01  Apartment clean\A 02  Home clean\A 03  Deep clean\A 04  Move-in clean\A 05  Kitchen focus\A 06  Recurring visit";white-space:pre-wrap;position:absolute;left:0;top:0;width:min(27vw,320px);padding:1.5rem;border:2px solid var(--ink);border-top:10px solid var(--action);font:800 .78rem/2 Atkinson Hyperlegible Next,Arial,sans-serif;letter-spacing:.06em;background:var(--surface)}
.page-services .service{display:grid!important;grid-template-columns:130px 1fr!important;gap:1.25rem!important;padding:2rem 0!important;border-top:1px solid var(--ink)!important}
.page-services .service>*{grid-column:2}.page-services .service .eyebrow,.page-services .service .price{grid-column:1}.page-services .service .price{grid-row:2/5}
.page-services .service::after{grid-column:1;grid-row:5;font-size:.65rem;letter-spacing:.12em}
.page-gallery .gallery-grid{display:block}
.page-gallery .gallery-grid figure{display:grid;grid-template-columns:58% 42%;margin:0;border-top:1px solid var(--ink);align-items:stretch}
.page-gallery .gallery-grid figure:nth-child(even){grid-template-columns:42% 58%}.page-gallery .gallery-grid figure:nth-child(even) img{grid-column:2}.page-gallery .gallery-grid figure:nth-child(even) figcaption{grid-column:1;grid-row:1}
.page-gallery .gallery-grid img{aspect-ratio:16/9;min-height:280px;height:100%;object-fit:cover}
.page-gallery .gallery-grid figcaption{display:grid;align-content:center;padding:clamp(1.25rem,3vw,3rem);font-size:1rem;border-left:1px solid var(--ink);background:var(--surface)}
.page-staff .people-grid{display:grid!important;grid-template-columns:38% 62%;gap:0;border:2px solid var(--ink);margin-top:2.5rem}
.page-staff .person{display:grid!important;grid-template-columns:140px 1fr!important;gap:1.25rem!important;padding:1.4rem!important;border:0!important;border-bottom:1px solid var(--ink)!important;background:rgba(244,241,234,.93)!important}
.page-staff .person:nth-child(n){grid-column:1/-1}.page-staff .person:first-child{background:var(--surface)!important}.page-staff .person:nth-child(even){grid-template-columns:1fr 140px!important}.page-staff .person:nth-child(even) .role-portrait{grid-column:2;grid-row:1/8}.page-staff .person:nth-child(even)>*:not(.role-portrait){grid-column:1}
.page-staff .role-portrait{grid-row:1/8;width:130px!important;max-width:130px;height:auto!important;aspect-ratio:8/9!important;background:var(--bg)}
.page-staff .person>*:not(.role-portrait){grid-column:2}
.page-reviews .review-grid{display:block!important;position:relative;margin-top:2rem}.page-reviews .review-grid::before{content:"";position:absolute;left:42%;top:0;bottom:0;border-left:4px double var(--accent)}
.page-reviews .review{display:grid!important;grid-template-columns:42% 58%!important;gap:0!important;padding:0!important;border:0!important;border-bottom:1px solid var(--ink)!important;align-items:stretch}
.page-reviews .review-context,.page-reviews .review-experience{padding:clamp(1.25rem,3vw,2.5rem)}
.page-reviews .review-context{background:var(--surface)}.page-reviews .review-experience{background:rgba(244,241,234,.95)}
.page-reviews .review cite{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;padding:.7rem 1rem;font-style:normal;color:var(--action);font-weight:800}
.page-reviews .review time{display:inline-block}
.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0}.principles article{border-top:6px solid var(--action);background:var(--surface);padding:1.25rem}.record-steps{list-style:none;padding:0;counter-reset:record}.record-steps li{counter-increment:record;display:grid;grid-template-columns:3rem 1fr;padding:1rem 0;border-top:1px solid var(--ink)}.record-steps li::before{content:counter(record,decimal-leading-zero);font-weight:900;color:var(--accent)}
.layout-ledger .contact-grid>div:first-child img{height:100%;min-height:440px;object-fit:cover;border:1px solid var(--ink)}
.layout-ledger .subscribe{border-block:2px solid var(--ink)}
.layout-ledger .site-footer{background:#e6deca}.layout-ledger .site-footer::before{content:"SUMMARY LEDGER";display:block;max-width:1320px;margin:0 auto 2rem;padding-bottom:.65rem;border-bottom:6px double var(--ink);font-size:.7rem;font-weight:900;letter-spacing:.18em}
@media(max-width:850px){
 .layout-ledger .hero-inner{grid-template-columns:1fr}.layout-ledger .evidence-pair{min-height:330px}
 .layout-ledger.home .gallery-preview figure,.layout-ledger.home .gallery-preview figure:first-child,.layout-ledger.home .gallery-preview figure:last-child{grid-column:1/-1;display:block}
 .layout-ledger.home .service-list .service,.layout-ledger.home .review-grid .review{grid-template-columns:1fr!important}
 .page-services .service-list{padding-left:0}.page-services .service-list::before{position:relative;left:auto;top:auto;margin:0 0 1rem;width:100%;display:block}.page-services .service{grid-template-columns:1fr!important}.page-services .service>*{grid-column:1!important}.page-services .service .price{grid-row:auto}.page-services .service::after{grid-row:auto}
 .page-gallery .gallery-grid figure,.page-gallery .gallery-grid figure:nth-child(even){display:grid;grid-template-columns:1fr}.page-gallery .gallery-grid figure:nth-child(even) img,.page-gallery .gallery-grid figure:nth-child(even) figcaption{grid-column:1;grid-row:auto}.page-gallery .gallery-grid img{min-height:0;aspect-ratio:3/2}.page-gallery .gallery-grid figcaption{border-left:0;border-top:1px solid var(--ink)}
 .page-staff .people-grid{grid-template-columns:1fr!important}.page-staff .person,.page-staff .person:nth-child(n),.page-staff .person:nth-child(even){grid-column:1!important;grid-template-columns:110px 1fr!important}.page-staff .role-portrait,.page-staff .person:nth-child(even) .role-portrait{grid-column:1;grid-row:1/8}.page-staff .person:nth-child(even)>*:not(.role-portrait){grid-column:2}
 .page-reviews .review-grid::before{left:0}.page-reviews .review{grid-template-columns:1fr!important;margin-left:1rem!important}.page-reviews .review cite{display:grid}
 .principles{grid-template-columns:1fr}
}
@media(max-width:1100px) and (min-width:851px){.layout-ledger .nav{display:none}.layout-ledger .mobile-nav{display:block}.layout-ledger .header-in>.book{display:none}}
@media(max-width:420px){.layout-ledger .evidence-pair{min-height:280px}.layout-ledger .evidence-pair figcaption{display:grid}.page-staff .person,.page-staff .person:nth-child(n){grid-template-columns:1fr!important}.page-staff .role-portrait{grid-row:auto}.page-staff .person>*:not(.role-portrait){grid-column:1}}

:root{--font-h:var(--catalog-font-heading);--font-b:var(--catalog-font-body)}
body{font-family:var(--font-b)}
/* Catalogue typography identity — headings and reading text. */
:root{--catalog-font-heading:'Bricolage Grotesque', 'Trebuchet MS', Arial, sans-serif;--catalog-font-body:'Public Sans', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;--font-h:var(--catalog-font-heading);--font-b:var(--catalog-font-body)}
html body,input,select,textarea,button{font-family:var(--catalog-font-body)}
h1,h2,h3,h4,h5,h6,.display,.disp,.brand,.logo{font-family:var(--catalog-font-heading)}

/* aajwebz-mailto-nowrap — an address is one token, never split across lines */
a[href^="mailto:"] {
  overflow-wrap: normal;
  word-break: normal;
  white-space: nowrap;
  display: inline-block;
  max-width: 100%;
}
@media (max-width: 380px) {
  a[href^="mailto:"] { font-size: 0.88em; }
}
