/* Source: brand.css */
/* Shared Cleaning Beez identity: readable throughout the site. */
@font-face {
    font-family:'Great Vibes'; font-style:normal; font-weight:400; font-display:swap;
    src:url('../fonts/greatvibes-400.woff2') format('woff2');
}
:root {
    --bg:#252621; --bg-1:#2e3029; --bg-2:#36382f; --bg-3:#424339;
    --ink:#f3eee4; --muted:#c3c2b6; --muted-2:#b1b2a4;
    --header-h:88px; --gold-1:#f3db94; --gold-2:#e5bd59; --gold-3:#ceab57;
}
body { font-size:17px; font-weight:400; }
.site-header,.site-header.is-scrolled {
    background:#fbfaf5f2; color:#252621; border-bottom:1px solid #25262114;
    backdrop-filter:blur(16px); box-shadow:none;
}
.site-header .container { max-width:1440px; padding-inline:clamp(24px,4vw,56px); }
.brandmark { display:flex; align-items:center; gap:9px; flex-shrink:0; }
.brandmark__script {
    font-family:'Great Vibes','Cormorant Garamond',Georgia,serif;
    font-style:normal; font-weight:400; font-size:42px; line-height:1.2;
    letter-spacing:0; padding:4px 4px 0; color:#252621; background:none;
    -webkit-text-fill-color:currentColor;
}
.brandmark__bee { display:flex; align-items:center; }
.brandmark__bee img { width:40px; height:40px; object-fit:contain; }
.nav { gap:24px; }
.nav a { font-size:15px; font-weight:400; color:#373b32; opacity:1; letter-spacing:0; }
.nav a:hover { color:#77571e; }
.nav a::after { background:#8b6825; }
.site-header__cta { gap:20px; }
.site-header__cta .phone-link { font-size:15px; color:#373b32; }
.btn { font-size:16px; text-transform:none; letter-spacing:0; }
.site-header .btn {
    font-size:15px; font-weight:500; line-height:1.4; min-height:48px;
    padding:13px 17px; color:#f3eee4; background:#252621; border-color:#252621;
    box-shadow:none; border-radius:7px;
}
.site-header .btn:hover { background:#41453a; }
.nav-toggle { min-width:44px; min-height:44px; align-items:center; justify-content:center; }
.nav-toggle span { background:#252621; }
.mobile-nav {
    background:#fbfaf5f7; color:#252621; border-color:#c9c5b7;
    max-height:calc(100dvh - var(--header-h) - 80px); overflow-y:auto;
}
.mobile-nav a { font-size:17px; border-bottom-color:#25262118; }
.mobile-nav .btn { background:#e5bd59; color:#252621; border-color:#e5bd59; }
.mobile-nav .phone-link { color:#252621; }
.site-footer { background:#252621; color:#f3eee4; border-top:1px solid #ffffff14; padding:66px 0 30px; }
.site-footer__grid { gap:32px; }
.site-footer .brandmark__script { display:inline-block; color:#f3eee4; font-size:52px; }
.site-footer__tag { font-family:var(--f-sans); color:#e5bd59; font-size:12px; letter-spacing:.12em; }
.site-footer__note,.site-footer__social a { color:#c3c2b6; font-size:15px; line-height:1.7; }
.site-footer__col h3 { color:#f3eee4; font-size:14px; letter-spacing:.08em; }
.site-footer__col a,.site-footer__col li { color:#c3c2b6; font-size:15px; line-height:1.7; }
.site-footer__col a:hover { color:#f3db94; }
.site-footer__bottom { border-color:#ffffff1c; color:#bfc0b1; font-size:13px; }
.site-footer__col a { overflow-wrap:anywhere; }
.sticky-cta {
    background:#fbfaf5f5; color:#252621; border-top:1px solid #c9c5b7;
    padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));
}
.sticky-cta a { font-size:15px; font-weight:500; letter-spacing:0; text-transform:none; min-height:48px; }
.sticky-cta__call { color:#252621; background:#fffdf8; border-color:#c9c5b7; }
.sticky-cta__quote { color:#252621; background:#e5bd59; }
.site-header__cta .btn { white-space:nowrap; }
.sticky-cta a { line-height:1.25; text-align:center; }
.sticky-cta .sticky-cta__call { flex:0 0 30%; }
.sticky-cta .sticky-cta__quote { flex:1; }
@media (min-width:1201px) and (max-width:1439px) {
    .site-header__cta .phone-link { display:none; }
    .site-header__inner { gap:16px; }
    .nav { gap:18px; }
}
@media (max-width:1200px) {
    .nav { display:none; }
    .nav-toggle { display:flex; }
    .site-header__cta { margin-left:auto; }
    .site-header__cta .phone-link { display:inline-flex; }
}
@media (max-width:780px) {
    :root { --header-h:74px; }
    /* Keep the external trust badge above the fixed call and scheduling actions. */
    #trustedsite-tm-image { bottom:calc(6.5rem + env(safe-area-inset-bottom,0px)) !important; }
    .site-header .container { padding-inline:20px; }
    .brandmark__script { font-size:33px; }
    .brandmark__bee img { width:34px; height:34px; }
    .site-header__cta { display:none; }
    .site-footer { padding-bottom:calc(120px + env(safe-area-inset-bottom,0px)); }
}
@media (max-width:360px) {
    .brandmark__script { font-size:31px; }
    .brandmark { gap:6px; }
}

/* Source: seo-content.css */
/* Readable decision guides; no additional scripts or third-party dependencies. */
.cb-home .example-disclosure { font-size:14px; line-height:1.5; color:#5a6056; margin:10px 0; max-width:36ch; }
.cb-home .review-invitation { max-width:730px; border-top:1px solid #d7d4c9; padding-top:30px; }
.cb-home .review-invitation>p { font-size:20px; line-height:1.7; margin-bottom:24px; color:#4e5548; }
.cb-home .home-services__scope { max-width:740px; font-size:15px; line-height:1.65; color:#d8ddd4; margin:24px 0 0; }
.cb-home .home-services__scope a { color:#f0ce7c; text-decoration:underline; text-underline-offset:3px; }
.guide-jump-links { padding:24px; margin:30px 0; border:1px solid #d3cdbd; border-radius:10px; background:#fffdf8; }
.prose .guide-jump-links>p { color:#252621; font-weight:500; margin:0 0 12px; }
.guide-jump-links ul { margin:0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px 24px; }
.guide-jump-links a { display:block; padding:3px 0; font-size:16px; line-height:1.5; }
.prose h2[id] { scroll-margin-top:110px; }
.prose table { min-width:0; width:100%; font-size:16px; line-height:1.6; }
.table-scroll,.guide-table { width:100%; max-width:100%; overflow-x:auto; margin:24px 0; }
.prose td,.prose th { vertical-align:top; }
.post-hero .post-editorial { font-size:14px; line-height:1.7; margin-top:18px; color:#5b6056; }
.guide-print,.guide-print-contact { display:none; }
.cb-js .guide-print { display:inline-block; border:1px solid #c9c5b7; background:#fffdf8; border-radius:6px; padding:10px 16px; margin-top:16px; color:#5f491e; font:400 15px/1.5 'Jost',sans-serif; cursor:pointer; }
.guide-print:hover { border-color:#8b6825; }
.guide-print:focus-visible { outline:2px solid #8b6825; outline-offset:4px; }
.post-related-guides { margin-top:32px; }
.post-related-guides .related-card h3 { font-size:24px; }
.resource-topics { display:flex; flex-wrap:wrap; gap:10px; margin:28px 0; }
.resource-topics a { border:1px solid #c9c5b7; border-radius:6px; padding:12px 16px; color:#5f491e; font-size:16px; }
.resource-topics a:hover { background:#fffdf8; }
@media(max-width:650px) {
  .guide-jump-links ul { grid-template-columns:minmax(0,1fr); }
  .guide-jump-links { padding:20px; }
  .prose table { font-size:14px; }
  .prose th,.prose td { padding:10px 8px; }
  .cb-home .review-invitation>p { font-size:18px; }
}
@media print {
  @page { margin:16mm; }
  html,body,.post-page,.post-hero { background:#fff !important; color:#000 !important; }
  .site-header,.sticky-cta,.site-footer,.scroll-progress,.skip-link,.mobile-nav,.post-related-guides,.post-cta,.guide-jump-links,.guide-print,.breadcrumbs { display:none !important; }
  .post-page,.post-page .container,.post-page .container.narrow { width:100%; max-width:none; margin:0; padding:0; }
  .post-page .post-hero { padding:0 0 16pt; border-bottom:1pt solid #777; }
  .post-page .post-hero h1 { max-width:none; font:700 22pt/1.2 Georgia,serif; color:#000; }
  .post-page .eyebrow,.post-page .post-editorial { color:#333 !important; font-size:9pt; letter-spacing:0; text-transform:none; }
  .post-page .guide-print-contact { display:block; color:#000; font-size:10pt; margin-top:10pt; }
  .post-page .prose { padding-top:16pt; font:11pt/1.5 Georgia,serif; color:#000; }
  .post-page .prose h2 { font:700 16pt/1.3 Georgia,serif; margin-top:20pt; color:#000; break-after:avoid; }
  .post-page .prose h3 { font:700 12pt/1.4 Georgia,serif; color:#000; break-after:avoid; }
  .post-page .prose a,.post-page .prose strong { color:#000; }
  .post-page .prose a[href^="https://"]::after { content:" (" attr(href) ")"; font:8pt/1.4 Georgia,serif; overflow-wrap:anywhere; }
  .post-page .guide-table,.post-page .table-scroll { overflow:visible; max-width:none; }
  .post-page table { display:table; width:100%; font-size:9pt; }
  .post-page thead { display:table-header-group; }
  .post-page tr { break-inside:avoid; }
  .post-page th,.post-page td { background:#fff; color:#000; border-color:#888; padding:7pt; }
}

/* Source: personal.css */
/* Audrey's story and the owner-confirmed service details. */
.fresh-reviews.fresh-reviews--link { padding-block:28px; text-align:center; border-block:1px solid #25262114; }
.fresh-reviews--link .fresh-text-link { font-size:17px; }
.area-page .service-more>section { max-width:none; }
.area-page .service-more .svc-intro { padding-bottom:0; }
.hero-personal-links { display:grid; gap:9px; margin-top:22px; font-size:14px; line-height:1.5; }
.hero-personal-links strong { font-weight:500; color:#77571e; }
.hero-personal-links a { color:#373b32; text-underline-offset:4px; }
.owner-card { position:relative; padding:48px 32px; background:#252621; color:#fffdf8; border-radius:80px 10px 10px 10px; text-align:center; }
.owner-card>img { display:block; margin:0 auto 26px; padding:14px; background:#fffdf8; border-radius:50%; }
.owner-card p { color:inherit; }
.owner-card .owner-card__eyebrow { font-size:11px; letter-spacing:.15em; text-transform:uppercase; color:#e5bd59; margin:0 0 24px; }
.owner-card .owner-card__name { font-family:'Great Vibes',Georgia,serif; font-size:clamp(45px,5vw,68px); font-weight:400; line-height:1.25; margin:0 0 16px; }
.owner-card .owner-card__role { font-size:16px; line-height:1.7; color:#ede8dc; }
.owner-card__rule { height:1px; width:56px; background:#cfa43f; margin:30px auto; }
.owner-card a { display:inline-block; color:#e5bd59; margin-top:22px; line-height:1.7; }
.owner-card a strong { font-size:20px; font-weight:500; }
.fresh-why .owner-card { min-height:500px; display:flex; flex-direction:column; justify-content:center; }
.fresh-why .owner-card>img { width:90px; height:90px; margin-bottom:20px; }
.fresh-why .owner-card__name { font-size:58px; }
.fresh-why .owner-card__rule { flex:none; }
.fresh-why__copy .owner-story-link { display:inline-block; margin-bottom:24px; font-size:16px; color:#77571e; text-underline-offset:5px; }
.home-business { padding:44px 0; border-block:1px solid #25262120; background:#f3f0e7; }
.home-business__inner { display:grid; grid-template-columns:1.1fr 1fr; gap:40px; align-items:center; }
.home-business h2 { font-family:'Cormorant Garamond',Georgia,serif; font-size:clamp(34px,3.8vw,52px); line-height:1.08; font-weight:500; margin:0 0 14px; color:#252621; }
.home-business p { font-size:16px; line-height:1.6; max-width:560px; margin:0 0 18px; }
.home-business__markets { display:grid; grid-template-columns:1fr 1fr; gap:0 26px; }
.home-business__markets a { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:16px 0; border-bottom:1px solid #25262125; color:#252621; font-size:16px; text-decoration:none; }
.home-business__markets a:hover { color:#77571e; }
.home-business__markets a:focus-visible,.owner-card a:focus-visible { outline:3px solid #cfa43f; outline-offset:5px; }
.story-page { background:#fbfaf5; color:#252621; }
.story-page .eyebrow { color:#77571e; background:none; -webkit-text-fill-color:currentColor; }
.story-page h1,.story-page h2 { font-family:'Cormorant Garamond',Georgia,serif; font-weight:500; color:#252621; letter-spacing:-.025em; }
.story-hero { padding-block:48px 58px; max-width:1040px; }
.story-hero h1 { font-size:clamp(46px,6.5vw,88px); line-height:1.03; margin:16px 0 25px; max-width:780px; }
.story-hero__intro { max-width:730px; font-size:clamp(19px,2vw,24px); line-height:1.55; color:#505448; }
.story-narrative { display:grid; grid-template-columns:minmax(280px,.8fr) minmax(0,1.35fr); gap:clamp(40px,7vw,100px); align-items:start; }
.story-narrative .owner-card { position:sticky; top:112px; }
.story-prose h2 { font-size:clamp(32px,3.6vw,48px); line-height:1.12; margin:0 0 28px; }
.story-prose>p { font-size:18px; line-height:1.85; margin:0 0 24px; color:#444a3e; }
.story-standards { padding-block:82px; }
.story-standards h2,.story-visit h2 { font-size:clamp(36px,4.5vw,58px); line-height:1.1; margin:12px 0 28px; }
.personal-values { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.personal-values article { border-top:2px solid #cba54c; padding-top:22px; }
.personal-values h3 { font-family:Jost,Arial,sans-serif; font-size:20px; font-weight:500; line-height:1.3; margin:0 0 12px; color:#252621; }
.personal-values p { font-size:16px; line-height:1.7; color:#505448; }
.story-visit { display:grid; grid-template-columns:1.6fr 1fr; gap:56px; padding-block:54px 82px; border-top:1px solid #d9d3c4; }
.story-visit p { font-size:18px; line-height:1.75; color:#505448; }
.story-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:26px; }
.story-visit__paths { display:flex; flex-direction:column; justify-content:center; gap:20px; }
.story-visit__paths a { display:flex; justify-content:space-between; gap:15px; padding:24px; background:#f1ede2; border-radius:8px; color:#252621; font-size:20px; text-decoration:none; }
.owner-offer { color:#77571e; font-weight:500; }
@media(max-width:1100px) { .personal-values { grid-template-columns:1fr 1fr; } .nav { gap:18px; } }
@media(max-width:780px) {
 .home-business__inner,.story-narrative,.story-visit { grid-template-columns:1fr; gap:32px; }
 .story-narrative .owner-card { position:static; max-width:500px; width:100%; margin-inline:auto; }
 .story-prose { order:-1; } .story-hero { padding-block:30px 36px; }
 .story-prose>p { font-size:17px; line-height:1.8; }
 .story-standards { padding-block:52px; } .story-visit { padding-bottom:56px; }
 .fresh-why .owner-card { min-height:400px; } .fresh-why .owner-card__name { font-size:52px; }
}
@media(max-width:480px) { .personal-values { grid-template-columns:1fr; gap:18px; } .home-business__markets { gap:0 18px; } .home-business__markets a { font-size:14px; } .story-actions .btn { width:100%; } .owner-card { padding:40px 22px; } }

/* Audrey's supplied family photograph replaces the owner-card placeholder.
   The lower framing keeps every face and both children visible. */
.owner-card.owner-card--photo { padding:0; overflow:hidden; border-radius:18px; text-align:left; }
.fresh-why .owner-card--photo { min-height:0; display:block; }
.owner-card__photo { display:block; width:100%; aspect-ratio:4 / 3; overflow:hidden; }
.owner-card__photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center bottom; }
.owner-card__caption { padding:24px 30px 28px; }
.owner-card--photo .owner-card__name { font-size:clamp(44px,4vw,58px); margin-bottom:6px; }
.owner-card--photo .owner-card__role { margin:0; font-size:16px; }
.owner-card--photo a { margin-top:18px; }
@media(max-width:780px) {
 .fresh-why .owner-card--photo { width:100%; max-width:500px; margin-inline:auto; }
 .story-prose { order:0; }
}
@media(max-width:480px) { .owner-card__caption { padding:22px; } }

/* A compact explanation beside the existing booking actions. */
.quote-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; max-width:1000px; margin:26px auto 32px; padding:0; list-style:none; text-align:left; color:#252621; }
.quote-steps li { display:grid; grid-template-columns:32px minmax(0,1fr); align-items:start; gap:12px; }
.quote-steps__number { display:grid; place-items:center; width:32px; height:32px; border:1px solid #8b68254d; border-radius:50%; background:#fffdf875; color:#77571e; font-size:15px; font-weight:500; }
.quote-steps h3 { font-family:var(--f-sans); font-size:18px; font-weight:500; line-height:1.4; margin:2px 0 6px; color:#252621; }
.quote-steps p { font-size:15px; line-height:1.55; margin:0; color:#54574e; }
.commercial-contact .section__head { margin-bottom:0; }
.story-visit .quote-steps { grid-template-columns:1fr; gap:16px; }
.fresh-booking__card .booking-reassurance { font-size:14px; line-height:1.6; max-width:640px; margin-inline:auto; }
@media(max-width:680px) { .quote-steps { grid-template-columns:1fr; gap:18px; max-width:400px; margin-block:24px 28px; } .quote-steps h3 { font-size:17px; margin-bottom:3px; } }

/* Commercial parent link and separate service-page disclosure. */
.site-header .nav { align-items:center; }
.site-header .nav-commercial-group { position:relative; display:flex; align-items:center; gap:2px; }
.site-header .nav-commercial-link { display:flex; align-items:center; min-height:44px; }
.site-header .nav-commercial { position:static; }
.site-header .nav-commercial>summary { display:flex; align-items:center; justify-content:center; cursor:pointer; list-style:none; color:#44483e; padding:0; width:28px; min-height:44px; border-radius:4px; }
.site-header .nav-commercial>summary:hover { background:#f3f0e7; color:#77571e; }
.site-header summary::-webkit-details-marker { display:none; }
.site-header .nav-chevron { width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg) translateY(-2px); }
.site-header .nav-commercial[open]>summary .nav-chevron { transform:rotate(225deg) translate(-1px,-1px); }
.site-header .nav-commercial-link.is-current { color:#77571e; }
.site-header .nav-commercial:not([open])>.nav-submenu { display:none; }
.site-header .nav-submenu { position:absolute; top:100%; left:-20px; width:285px; padding:10px; background:#fffdf8; border:1px solid #d3cec2; border-radius:10px; box-shadow:0 12px 30px #2526211a; }
.site-header .nav-submenu a { display:block; min-height:44px; padding:10px 12px; font-size:15px; line-height:1.5; color:#44483e; border:0; border-radius:5px; }
.site-header .nav-submenu a::after { display:none; }
.site-header .nav-submenu a:hover,.site-header .nav-submenu a:focus-visible,.site-header .nav-submenu a[aria-current=page] { background:#f3f0e7; color:#77571e; }
.site-header .mobile-menu-shell { display:none; }
.site-header .mobile-nav { background:#fbfaf5; max-height:calc(100dvh - var(--header-h) - 88px); overflow-y:auto; overscroll-behavior:contain; }
@media(max-width:1200px) {
 .site-header .mobile-menu-shell { display:block; }
 .site-header .mobile-menu-shell:not([open])>.mobile-nav { display:none; }
 .site-header .nav-toggle { display:flex; list-style:none; }
 .site-header .mobile-menu-shell[open]>.nav-toggle span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
 .site-header .mobile-menu-shell[open]>.nav-toggle span:nth-child(2) { opacity:0; }
 .site-header .mobile-menu-shell[open]>.nav-toggle span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
 .site-header .mobile-nav .nav-commercial-group { display:block; }
 .site-header .mobile-nav .nav-commercial-link { position:absolute; top:0; left:0; right:44px; min-height:50px; border-bottom:1px solid #25262114; }
 .site-header .mobile-nav .nav-commercial>summary { width:44px; min-height:50px; margin-left:auto; border-bottom:1px solid #25262114; border-radius:0; }
 .site-header .mobile-nav .nav-submenu { position:static; width:auto; margin:4px 0 10px; padding:4px 0 4px 12px; background:transparent; border:0; border-left:2px solid #d8bd75; border-radius:0; box-shadow:none; }
 .site-header .mobile-nav .nav-submenu a { padding-block:10px; }
}

/* Source: design.css */
/* Cleaning Beez · fresh-home design. Loaded only on the front page. */
:root {
    --bg:#fffdf8; --bg-1:#f7f4ec; --bg-2:#f0eadb; --bg-3:#e7dfce;
    --ink:#242820; --muted:#62675d; --muted-2:#74776b;
    --gold-1:#f6d87c; --gold-2:#d6a932; --gold-3:#a87910; --gold-4:#916800;
    --gold-line:rgba(90,75,32,.16); --gold-line-2:rgba(90,75,32,.28);
    --maxw:1340px; --header-h:88px;
    --honey:#edc45a; --honey-dark:#866013; --paper:#fffdf8; --line:#dfdfd3;
}
body { font-weight:400; color:var(--ink); background:var(--paper); }
::selection { background:#f2d986; color:#242820; }
[hidden] { display:none !important; }
.fresh-container { width:min(100% - 112px,1228px); margin-inline:auto; }
.fresh-section { padding:112px 0; }
.cb-home h2 { font-size:clamp(40px,4.2vw,62px); font-weight:400; line-height:1.04; letter-spacing:-.045em; }
.cb-home h2 em { font-family:'Cormorant Garamond',Georgia,serif; font-weight:600; color:var(--honey-dark); letter-spacing:-.035em; }
.cb-home h3 { font-size:21px; letter-spacing:-.025em; }
.fresh-kicker { font-size:11px; letter-spacing:.16em; font-weight:500; line-height:1.5; margin:0 0 24px; color:#6b6d5c; }
.fresh-lead { font-size:17px; line-height:1.65; color:var(--muted); max-width:430px; }
.fresh-dot { width:7px; height:7px; background:#ba8a1c; border-radius:50%; display:inline-block; flex-shrink:0; }
.fresh-actions { display:flex; align-items:center; gap:26px; flex-wrap:wrap; }
.fresh-button { display:inline-flex; align-items:center; justify-content:center; gap:27px; min-height:56px; padding:15px 23px; border:1px solid #edc45a; border-radius:8px; background:var(--honey); color:#242820; font:500 14px/1.5 var(--f-sans); letter-spacing:.005em; transition:background .2s,transform .25s,box-shadow .25s; }
.fresh-button:hover { background:#f4d170; transform:translateY(-3px); box-shadow:0 10px 22px #5e480b18; }
.fresh-button svg { flex-shrink:0; }
.fresh-text-link { display:inline-flex; gap:14px; align-items:center; font-size:14px; font-weight:500; line-height:1.6; text-underline-offset:5px; }
.fresh-text-link:hover { text-decoration:underline; }
.fresh-text-link svg { width:20px; height:20px; }
.fresh-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:48px; }
.fresh-section-heading .fresh-lead { margin:0 0 5px; }
.fresh-stars { color:#9d6d06; letter-spacing:3px; font-size:15px; }
.demo-note { color:#73756a; font-size:12px; line-height:1.6; margin:15px 0 0; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* A quiet, useful navigation. */
.site-header,.site-header.is-scrolled { background:#fffdf8f2; border-bottom:1px solid #2428200d; backdrop-filter:blur(16px); box-shadow:none; }
.site-header .container { max-width:1340px; padding-inline:56px; }
.brandmark { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.brandmark__bee { display:flex; align-items:center; }
.brandmark__script { color:#242820; background:none; font-family:var(--f-sans); font-style:normal; font-weight:500; font-size:25px; letter-spacing:-.045em; }
.nav { gap:25px; }
.nav a { color:#44483e; opacity:1; font-size:13px; letter-spacing:0; }
.nav a:hover { color:var(--honey-dark); }
.nav a::after { background:var(--honey-dark); }
.site-header__cta { gap:24px; }
.site-header__cta .phone-link { color:#44483e; font-size:12px; }
.site-header .btn { border-radius:7px; background:#242820; color:#fffdf8; box-shadow:none; padding:12px 18px; font-size:12px; text-transform:none; letter-spacing:0; }
.site-header .btn:hover { background:#464b3c; }
.nav-toggle { min-height:44px; min-width:44px; justify-content:center; align-items:center; }
.nav-toggle span { background:#242820; }
.mobile-nav { background:var(--paper); color:var(--ink); max-height:calc(100dvh - var(--header-h) - 80px); overflow-y:auto; }
.mobile-nav a { border-color:#24282012; }
.mobile-nav .btn { background:var(--honey); color:#242820; }
.scroll-progress { display:none; }

/* Room to breathe: large typography, a bright photograph, a few small brand moments. */
.fresh-hero { padding:140px 0 26px; position:relative; overflow:hidden; }
.fresh-hero__grid { display:grid; grid-template-columns:1fr 1.04fr; gap:36px; align-items:center; }
.fresh-hero__copy { padding:18px 0 28px; }
.fresh-hero__copy .fresh-kicker { display:flex; align-items:center; gap:10px; }
.fresh-hero h1 { font-size:clamp(65px,6.8vw,100px); font-weight:500; line-height:.99; letter-spacing:-.065em; margin:0 0 30px; }
.honey-word { color:#ab7c16; position:relative; display:inline-block; }
.honey-word::after { content:''; position:absolute; left:-2px; right:7px; bottom:-4px; height:8px; border-top:2px solid #c99c31; border-radius:50%; transform:rotate(-3deg); }
.honey-word svg { width:35px; height:35px; position:absolute; right:-55px; top:10px; color:#c19b43; }
.fresh-hero__intro { max-width:390px; color:#62675d; font-size:16px; line-height:1.7; margin-bottom:30px; }
.hero-rating { display:inline-flex; align-items:center; gap:15px; margin-top:37px; }
.hero-rating__avatars { display:flex; padding-left:7px; }
.hero-rating__avatars span { width:34px; height:34px; border-radius:50%; background:#ddd7c4; border:2px solid var(--paper); display:grid; place-items:center; margin-left:-7px; font-family:Georgia,serif; font-size:12px; }
.hero-rating__avatars span:nth-child(2) { background:#cbd1bf; }
.hero-rating__avatars span:nth-child(3) { background:#eee0c9; }
.hero-rating .fresh-stars { font-size:12px; }
.hero-rating__label { font-size:11px; color:#62675d; }
.fresh-hero__scene { position:relative; padding:14px 0 42px; min-width:0; }
.fresh-hero__photo { height:550px; border-radius:120px 16px 16px 16px; overflow:hidden; position:relative; transform:translate(var(--hero-x,0px),var(--hero-y,0px)); transition:transform .65s cubic-bezier(.2,.7,.2,1); }
.fresh-hero__photo picture,.fresh-hero__photo img { width:100%; height:100%; object-fit:cover; }
.fresh-hero__photo img { object-position:52% 50%; }
.fresh-hero__photo::after { content:''; position:absolute; inset:65% 0 0; background:linear-gradient(transparent,#1f2a2370); pointer-events:none; }
.hero-photo__caption { position:absolute; bottom:26px; left:30px; color:white; font-size:10px; font-weight:500; letter-spacing:.17em; z-index:1; display:flex; align-items:center; gap:9px; }
.hero-photo__caption .fresh-dot { background:#f1d78d; }
.hero-stamp { position:absolute; right:-24px; bottom:8px; width:132px; height:132px; border-radius:50%; border:7px solid var(--paper); background:#edc45a; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; transform:rotate(12deg); z-index:2; }
.hero-stamp span { font-size:9px; font-weight:500; letter-spacing:.16em; }
.hero-stamp svg { width:34px; height:34px; }
.hero-note { position:absolute; bottom:5px; left:36px; font-family:'Cormorant Garamond',Georgia,serif; font-style:italic; font-weight:600; font-size:23px; transform:rotate(-5deg); }
.hero-note span { font-family:var(--f-sans); color:#a97916; margin-right:6px; }
.hero-bee { position:absolute; left:-35px; top:45px; width:125px; height:115px; transform:translate(var(--bee-x,0px),var(--bee-y,0px)) rotate(-15deg); transition:transform .7s; pointer-events:none; z-index:3; }
.hero-bee img { transform:rotate(-12deg); width:58px; height:45px; animation:bee-arrive 1.6s cubic-bezier(.22,.7,.2,1) both; }
@keyframes bee-arrive { from { opacity:0; transform:translate(-25px,15px) rotate(-25deg); } to { opacity:1; transform:translate(0,0) rotate(-12deg); } }
.hero-bee>svg { position:absolute; width:140px; left:-95px; top:40px; fill:none; stroke:#b4a275; stroke-width:1; stroke-dasharray:3 5; }
.hero-honeycomb { position:absolute; right:-50px; top:-35px; width:155px; height:130px; z-index:0; opacity:.7; }
.hero-honeycomb span { position:absolute; width:68px; height:76px; background:#d5cba7; clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%); }
.hero-honeycomb span::after { content:''; position:absolute; inset:1px; background:var(--paper); clip-path:inherit; }
.hero-honeycomb span:nth-child(2) { left:69px; top:0; }
.hero-honeycomb span:nth-child(3) { left:34px; top:59px; }
.hero-bottom { display:flex; justify-content:space-between; align-items:center; margin-top:28px; color:#707366; font-size:10px; letter-spacing:.1em; }
.hero-bottom>a { display:flex; align-items:center; gap:13px; text-transform:none; font-size:12px; letter-spacing:.02em; }
.scroll-circle { width:30px; height:30px; border:1px solid #cdcfc0; border-radius:50%; display:grid; place-items:center; font-size:15px; }
.fresh-proof { background:#f3f0e7; border-block:1px solid #e7e3d6; }
.fresh-proof__inner { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-block:24px; }
.fresh-proof__inner>span { display:flex; align-items:center; gap:12px; font-size:12px; color:#626454; }
.fresh-proof svg { width:17px; height:17px; color:#ac8730; flex-shrink:0; }

/* A scroll-controlled wipe, with a natural reading flow around the sticky scene. */
.clean-story { padding:120px 0 100px; }
.clean-story__layout { display:grid; grid-template-columns:.88fr 1fr; gap:110px; align-items:start; }
.clean-story__copy>.fresh-lead { margin-top:25px; max-width:360px; }
.clean-story__steps { margin:60px 0 46px; }
.clean-story__step { display:flex; gap:20px; align-items:flex-start; padding:22px 0 26px; border-top:1px solid var(--line); }
.clean-story__step>span { font-size:11px; color:#a07b28; padding-top:4px; }
.clean-story__step p { font-size:14px; line-height:1.6; color:var(--muted); margin:10px 0 0; max-width:285px; }
.clean-story__stage { position:relative; padding-top:4px; }
.clean-story__image { position:relative; height:530px; border-radius:12px 90px 12px 12px; overflow:hidden; }
.clean-story__before,.clean-story__after { position:absolute; inset:0; }
.clean-story__image picture,.clean-story__image img { height:100%; width:100%; object-fit:cover; }
.clean-story__image img { object-position:48% center; }
.clean-story__after { clip-path:inset(0 calc((1 - var(--clean-progress,1)) * 100%) 0 0); }
.clean-story__sweep { position:absolute; top:0; bottom:0; left:calc(var(--clean-progress,1) * 100%); width:2px; background:#fff9de; opacity:calc(1 - var(--clean-progress,1)); pointer-events:none; }
.clean-story__sweep svg { position:absolute; width:45px; height:45px; left:-21px; top:45%; color:#fff9de; filter:drop-shadow(0 0 12px #a87718); }
.clean-story__image-label { position:absolute; bottom:23px; left:23px; background:#fffdf8ed; padding:9px 12px; border-radius:4px; font-size:9px; letter-spacing:.12em; }
.clean-story__caption { margin-top:23px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.clean-story__caption>span { font-size:9px; font-weight:500; letter-spacing:.13em; display:flex; align-items:center; gap:8px; }
.clean-story__progress { width:100px; height:2px; background:#e4e1d6; flex-shrink:0; }
.clean-story__progress i { display:block; width:100%; height:100%; background:#a57b20; transform-origin:left; transform:scaleX(var(--clean-progress,1)); }
@media (min-width:981px) and (prefers-reduced-motion:no-preference) {
    .clean-story.is-enhanced { min-height:155vh; padding-bottom:130px; }
    .clean-story.is-enhanced .clean-story__stage { position:sticky; top:112px; }
    .clean-story.is-enhanced .clean-story__steps { margin-top:90px; }
    .clean-story.is-enhanced .clean-story__step { min-height:185px; transition:border-color .35s; }
    .clean-story.is-enhanced .clean-story__step>span { background:#f1eee3; width:28px; height:28px; border-radius:50%; display:grid; place-items:center; padding:0; flex-shrink:0; transition:background .35s; }
    .clean-story.is-enhanced .clean-story__step.is-active { border-top-color:#b58a25; }
    .clean-story.is-enhanced .clean-story__step.is-active>span { background:#edc45a; color:#242820; }
}

/* A compact service chooser instead of a wall of cards. */
.fresh-services { background:#20231e; color:#fffdf8; position:relative; padding-top:145px; }
.fresh-services>.fresh-container>.fresh-section-heading .fresh-kicker { color:#c4b48a; }
.fresh-services>.fresh-container>.fresh-section-heading h2 em { color:#edc45a; }
.fresh-services>.fresh-container>.fresh-section-heading .fresh-lead { color:#b8bcb0; }
.service-picker { display:grid; grid-template-columns:300px 1fr; gap:46px; }
.service-picker__tabs { padding-top:8px; }
.service-picker__tab { display:flex; gap:15px; align-items:center; text-align:left; width:100%; min-height:73px; border:0; border-top:1px solid #ffffff25; padding:18px 12px 18px 0; background:transparent; color:#c3c7b8; font-size:17px; line-height:1.3; transition:color .2s,padding .25s,background .25s; }
.service-picker__number { font-size:10px; color:#898c7a; }
.service-picker__tab svg { margin-left:auto; width:18px; flex-shrink:0; opacity:.4; }
.service-picker__tab[aria-selected=true] { color:#242820; padding-left:15px; background:#edc45a; border-radius:5px; border-top-color:transparent; }
.service-picker__tab[aria-selected=true] svg { opacity:1; }
.service-picker__tab[aria-selected=true] .service-picker__number { color:#846218; }
.service-picker__aside { margin-top:29px; font-size:13px; line-height:1.7; color:#b6baab; }
.service-picker__aside a { color:#f3d98f; text-decoration:underline; text-underline-offset:4px; }
.service-panel { display:grid; grid-template-columns:.9fr 1fr; min-height:460px; border:1px solid #e3e1d6; border-radius:10px; overflow:hidden; background:var(--paper); color:#242820; margin-bottom:20px; }
.service-panel__photo { position:relative; min-width:0; }
.service-panel__photo picture,.service-panel__photo img { width:100%; height:100%; object-fit:cover; }
.service-panel__photo>span { position:absolute; bottom:20px; left:16px; background:#fffdf8e8; border-radius:4px; font-size:8px; letter-spacing:.1em; padding:8px 10px; }
.service-panel__copy { padding:35px 30px; align-self:center; }
.service-panel__copy .fresh-kicker { font-size:9px; margin-bottom:16px; }
.service-panel__copy h3 { font-size:29px; font-weight:400; letter-spacing:-.035em; margin-bottom:15px; }
.service-panel__copy>p:not(.fresh-kicker) { font-size:13px; color:var(--muted); line-height:1.65; }
.service-panel__copy ul { list-style:none; padding:0; margin:20px 0 23px; }
.service-panel__copy li { display:flex; gap:10px; font-size:12px; line-height:1.5; margin-bottom:9px; }
.service-panel__copy li>span { color:#9c7b25; }
.service-panel__copy .fresh-text-link { font-size:13px; }

/* Little hands-on moments of delight, honest placeholder photographs. */
.fresh-results { background:var(--paper); }
.results-hint { display:flex; align-items:center; gap:12px; font-size:12px; color:#727567; margin:13px 0 0; }
.results-hint>span { width:31px; height:31px; border:1px solid #d5d6c7; display:grid; place-items:center; border-radius:50%; font-size:18px; }
.compare-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:30px; }
.compare-card { margin:0; min-width:0; }
.compare { position:relative; height:350px; border-radius:10px; overflow:hidden; background:#eee7db; touch-action:pan-y; cursor:ew-resize; user-select:none; }
.compare__before,.compare__after { position:absolute; inset:0; }
.compare picture,.compare img { width:100%; height:100%; object-fit:cover; pointer-events:none; }
.compare__after { clip-path:inset(0 calc(100% - var(--compare-position,50%)) 0 0); }
.compare--detail img { transform:scale(1.7); transform-origin:52% 85%; }
.compare__label { position:absolute; top:18px; padding:7px 10px; border-radius:4px; font-size:9px; letter-spacing:.1em; z-index:3; background:#fffdf8ed; color:#242820; pointer-events:none; }
.compare__label--after { left:18px; }
.compare__label--before { right:18px; }
.compare__line { position:absolute; top:0; bottom:0; left:var(--compare-position,50%); width:2px; background:white; pointer-events:none; z-index:4; }
.compare__line>span { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); background:var(--honey); border:4px solid white; width:49px; height:49px; border-radius:50%; display:grid; place-items:center; font-size:22px; line-height:1; box-shadow:0 3px 18px #0002; }
.compare__range { position:absolute; width:calc(100% - 36px); left:18px; bottom:12px; z-index:5; height:20px; margin:0; accent-color:#a87910; cursor:ew-resize; }
.compare.is-enhanced .compare__range { opacity:0; }
.compare:focus-within .compare__line>span { outline:3px solid #242820; outline-offset:4px; }
.compare-card figcaption { display:flex; justify-content:space-between; gap:20px; margin-top:20px; }
.compare-card figcaption h3 { font-size:20px; font-weight:400; }
.compare-card figcaption p { font-size:13px; color:var(--muted); margin:7px 0 0; }
.compare-card figcaption>svg { width:25px; height:25px; margin-top:3px; color:#ba9641; flex-shrink:0; }
.fresh-results>.fresh-container>.demo-note { margin-top:25px; }

/* The people and the peace of mind. */
.fresh-why { padding-top:20px; }
.fresh-why__grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; }
.fresh-why__photo { position:relative; min-width:0; }
.fresh-why__photo picture { display:block; height:570px; border-radius:90px 10px 10px 10px; overflow:hidden; }
.fresh-why__photo img { width:100%; height:100%; object-fit:cover; }
.fresh-why__note { position:absolute; left:22px; bottom:25px; padding:21px 26px; background:#fffdf8ee; border-radius:7px; font-size:20px; letter-spacing:-.025em; line-height:1.2; }
.fresh-why__note em { font-family:'Cormorant Garamond',Georgia,serif; color:#866013; font-size:25px; }
.why-hex { position:absolute; right:-29px; top:40px; width:81px; height:90px; background:#f0c85c; clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%); display:grid; place-items:center; }
.why-hex svg { width:32px; height:32px; }
.fresh-why__copy>.fresh-lead { margin:26px 0 30px; font-size:16px; }
.fresh-values>div { display:flex; gap:19px; margin-bottom:25px; }
.fresh-values>div>span { font-size:10px; margin-top:5px; color:#9d7a28; }
.fresh-values h3 { font-size:18px; font-weight:400; }
.fresh-values p { font-size:13px; color:var(--muted); line-height:1.6; margin:8px 0 0; }
.fresh-why__copy>.fresh-text-link { margin-top:5px; font-size:13px; }
.fresh-reviews { background:#f3f0e7; }
.fresh-review-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.fresh-review { margin:0; padding:30px 28px; border:1px solid #e3dfd0; border-radius:9px; background:#fffdf8; display:flex; flex-direction:column; }
.fresh-review blockquote { margin:20px 0 29px; font-size:16px; line-height:1.65; flex:1; }
.fresh-review figcaption { display:flex; gap:12px; align-items:center; }
.review-initial { background:#ece8d8; border-radius:50%; width:37px; height:37px; display:grid; place-items:center; font:17px Georgia,serif; }
.fresh-review strong { font-size:12px; font-weight:500; }
.fresh-review small { display:block; font-size:10px; color:#787b6b; }
.review-source { margin-left:auto; font-size:18px; color:#777b6a; }

/* Honeycomb geography as a brand illustration, not a pretend map. */
.fresh-area { overflow:clip; }
.fresh-area__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:90px; align-items:center; }
.fresh-area__grid>* { min-width:0; }
.fresh-area .fresh-lead { margin:27px 0; }
.fresh-towns { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:27px; max-width:465px; }
.fresh-towns>a,.fresh-towns>span { font-size:12px; border:1px solid #dbddcf; border-radius:5px; padding:8px 12px; }
.fresh-towns>a span { margin-left:9px; color:#957428; }
.fresh-towns>a:hover { background:#f4e7ba; border-color:#d6b96e; }
.hive-illustration { height:450px; position:relative; }
.hive-hex { width:144px; height:163px; position:absolute; background:#eeeadc; clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%); display:flex; align-items:center; justify-content:center; flex-direction:column; gap:6px; }
.hive-hex>span { font-size:13px; font-weight:500; }
.hive-hex small { font-size:8px; letter-spacing:.15em; }
.hive-hex--one { left:0; top:160px; background:#f5f2e9; }
.hive-hex--two { left:151px; top:74px; }
.hive-hex--three { left:302px; top:160px; background:#edc45a; width:155px; }
.hive-hex--four { left:302px; top:0; background:#f5f2e9; }
.hive-hex--five { left:151px; top:247px; background:#f5f2e9; }
.hive-hex--five svg { width:35px; height:35px; color:#b79641; }
.hive-illustration>p { position:absolute; bottom:0; right:8px; font-size:18px; line-height:1.2; transform:rotate(-5deg); }
.hive-illustration>p em { color:#987524; font-family:'Cormorant Garamond',Georgia,serif; font-size:25px; }
.fresh-faq { padding-top:25px; }
.fresh-faq__grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:120px; }
.fresh-faq .fresh-lead { margin:22px 0; }
.fresh-faq__list details { border-top:1px solid #dcded0; }
.fresh-faq__list details:last-child { border-bottom:1px solid #dcded0; }
.fresh-faq__list summary { display:flex; gap:20px; justify-content:space-between; align-items:center; padding:23px 0; font-size:16px; line-height:1.5; cursor:pointer; list-style:none; }
.fresh-faq__list summary::-webkit-details-marker { display:none; }
.fresh-faq__list summary span { font-size:23px; color:#99803e; font-weight:300; transition:transform .2s; }
.fresh-faq__list details[open] summary span { transform:rotate(45deg); }
.fresh-faq__list details p { font-size:14px; color:var(--muted); line-height:1.7; padding:0 30px 22px 0; margin:0; }

/* Finish with one clear invitation. The calendar is loaded on request. */
.fresh-booking { padding:0 0 90px; }
.fresh-booking__card { background:#f1d47d; border-radius:12px; padding:65px 45px 54px; text-align:center; overflow:hidden; position:relative; }
.fresh-booking__card>*:not(.booking-comb) { position:relative; z-index:1; }
.fresh-booking__card .fresh-kicker { font-size:10px; color:#655626; }
.fresh-booking__card h2 { font-size:clamp(45px,5.5vw,76px); }
.fresh-booking__card h2 em { color:#6f5420; }
.fresh-booking__card>p:not(.fresh-kicker) { font-size:15px; color:#655f43; line-height:1.7; margin:26px 0; }
.fresh-booking__card .fresh-actions { justify-content:center; }
.fresh-button--dark { background:#242820; border-color:#242820; color:#fffdf8; }
.fresh-button--dark:hover { background:#454b39; }
.booking-reassurance { display:block; margin-top:24px; font-size:11px; color:#716642; }
.booking-comb { position:absolute; inset:0; background:url('../img/honeycomb.svg') right center/540px auto no-repeat; opacity:.11; pointer-events:none; }
.fresh-booking__calendar { margin:30px auto 0; max-width:960px; padding:32px; border:1px solid #e5e1d5; border-radius:10px; }
.fresh-booking__calendar h3 { margin-bottom:25px; }
.fresh-booking__calendar .calendly-mount__hint { margin-top:18px; font-size:13px; color:#6b6f62; }
.fresh-booking__calendar .calendly-mount.is-loaded { height:1150px; min-height:1150px; background:var(--paper); }

/* Footer and mobile actions follow the brighter palette. */
.site-footer { background:#20231e; border-color:#35392e; color:#fffdf8; padding:65px 0 30px; }
.site-footer .brandmark__script { color:#fffdf8; }
.site-footer__grid { grid-template-columns:1.6fr 1fr 1fr 1fr; gap:35px; }
.brandmark__script--lg { font-size:30px; }
.site-footer__tag { font-family:var(--f-sans); font-size:10px; color:#e1c677; letter-spacing:.12em; }
.site-footer__note { color:#bdc1b4; font-size:12px; line-height:1.7; }
.site-footer__social a { color:#e1c677; font-size:12px; }
.site-footer__col h3 { font-size:11px; color:#fffdf8; letter-spacing:.08em; }
.site-footer__col a,.site-footer__col li { color:#bdc1b4; font-size:12px; line-height:1.7; }
.site-footer__col a:hover { color:#edc45a; }
.site-footer__bottom { border-top:1px solid #ffffff1c; color:#b4b9aa; font-size:10px; margin-top:40px; }
.sticky-cta { background:#fffdf8f2; border-color:#d7d9cc; }
.sticky-cta a { text-transform:none; letter-spacing:0; font-size:13px; }
.sticky-cta__call { color:#242820; border-color:#d7d9cc; }
.sticky-cta__quote { background:#edc45a; color:#242820; }

/* Enhancement never hides content when JavaScript is unavailable. */
[data-reveal].is-reveal-ready:not(.is-revealed) { opacity:0; transform:translateY(20px); }
[data-reveal].is-reveal-ready { transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1); }
.cb-reduced-motion [data-reveal] { opacity:1 !important; transform:none !important; transition:none; }
.cb-reduced-motion .clean-story__stage { position:relative; top:auto; }
.cb-reduced-motion .clean-story__step { opacity:1 !important; }
@media (prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto; }
    *,*::before,*::after { animation:none !important; transition:none !important; }
    [data-reveal] { opacity:1 !important; transform:none !important; }
    .clean-story__after { clip-path:none; }
    .clean-story__sweep { display:none; }
}
@media (min-width:781px) and (max-width:1200px) {
    .site-header__cta .phone-link { display:none; }
    .nav { gap:20px; }
}
@media (max-width:1100px) {
    .fresh-container { width:calc(100% - 72px); }
    .site-header .container { padding-inline:36px; }
    .fresh-hero__photo { height:500px; }
    .fresh-hero h1 { font-size:80px; }
    .fresh-hero .fresh-actions { gap:16px; }
    .clean-story__layout { gap:65px; }
    .service-picker { grid-template-columns:250px 1fr; gap:25px; }
    .service-panel__copy { padding:28px 20px; }
    .fresh-why__grid { gap:65px; }
    .fresh-area__grid { gap:35px; }
    .hive-illustration { transform:scale(.85); transform-origin:left center; width:460px; }
    .fresh-faq__grid { gap:70px; }
}
@media (max-width:980px) {
    .fresh-hero { padding-top:126px; }
    .fresh-hero h1 { font-size:68px; }
    .fresh-hero__photo { height:460px; border-top-left-radius:85px; }
    .fresh-hero__intro { font-size:14px; }
    .fresh-hero .fresh-text-link { font-size:12px; }
    .fresh-hero .fresh-button { gap:14px; padding-inline:18px; }
    .fresh-hero .fresh-actions { gap:15px; }
    .hero-rating__label { font-size:10px; }
    .hero-stamp { width:110px; height:110px; right:-12px; }
    .hero-note { font-size:20px; left:0; }
    .fresh-proof__inner { flex-wrap:wrap; justify-content:center; column-gap:40px; row-gap:12px; }
    .fresh-proof__inner>span { width:calc(50% - 25px); font-size:11px; }
    .clean-story { padding:85px 0; }
    .clean-story__layout { gap:42px; }
    .clean-story__image { height:440px; }
    .clean-story__steps { margin-top:35px; }
    .clean-story__step { padding-block:17px; }
    .clean-story__copy h2 { font-size:46px; }
    .clean-story__caption { flex-wrap:wrap; gap:15px; }
    .clean-story__caption>span { font-size:8px; }
    .fresh-section { padding-block:85px; }
    .service-picker { grid-template-columns:210px 1fr; gap:25px; }
    .service-picker__tab { font-size:14px; gap:10px; }
    .service-panel { grid-template-columns:1fr; }
    .service-panel__photo { height:220px; }
    .service-panel__copy { padding:27px; }
    .compare { height:290px; }
    .fresh-why { padding-top:0; }
    .fresh-why__grid { gap:40px; }
    .fresh-why__photo picture { height:560px; }
    .fresh-values h3 { font-size:16px; }
    .fresh-review { padding:23px; }
    .fresh-review blockquote { font-size:14px; }
    .fresh-area__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px; }
    .hive-illustration { transform:scale(.72); margin-left:-15px; width:460px; }
    .fresh-faq { padding-top:0; }
    .fresh-faq__grid { gap:40px; }
    .site-footer__grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:780px) {
    :root { --header-h:74px; }
    .fresh-container { width:calc(100% - 40px); }
    .site-header .container { padding-inline:20px; }
    .brandmark__script { font-size:23px; }
    .brandmark__bee img { width:34px; height:34px; }
    .fresh-hero { padding:104px 0 24px; }
    .fresh-hero__grid { grid-template-columns:1fr; gap:25px; }
    .fresh-hero__copy { padding:0; }
    .fresh-hero__copy .fresh-kicker { font-size:9px; margin-bottom:21px; }
    .fresh-hero h1 { font-size:clamp(61px,12vw,85px); margin-bottom:22px; }
    .fresh-hero__intro { font-size:15px; max-width:440px; margin-bottom:25px; }
    .fresh-hero .fresh-actions { gap:23px; }
    .hero-rating { margin-top:25px; }
    .hero-rating__label { font-size:10px; }
    .fresh-hero__scene { margin-top:9px; padding-bottom:33px; }
    .fresh-hero__photo { height:380px; border-radius:75px 10px 10px 10px; }
    .hero-bee { left:auto; right:-5px; top:-28px; transform:rotate(12deg); width:65px; height:80px; }
    .hero-bee>svg { left:-100px; top:5px; }
    .hero-honeycomb { display:none; }
    .hero-note { font-size:21px; left:12px; bottom:0; }
    .hero-stamp { bottom:0; right:3px; }
    .hero-bottom { margin-top:18px; }
    .hero-bottom>span { display:none; }
    .fresh-proof__inner { column-gap:20px; }
    .fresh-proof__inner>span { width:calc(50% - 10px); font-size:10px; gap:8px; }
    .fresh-proof svg { width:14px; }
    .fresh-section { padding:65px 0; }
    .fresh-services { padding-top:115px; }
    .cb-home h2 { font-size:44px; }
    .fresh-kicker { font-size:9px; margin-bottom:19px; }
    .fresh-section-heading { display:block; margin-bottom:33px; }
    .fresh-section-heading>.fresh-lead,.fresh-section-heading>div:nth-child(2),.fresh-section-heading>.fresh-text-link { margin-top:22px; }
    .fresh-lead { font-size:15px; }
    .clean-story { padding:65px 0; }
    .clean-story__layout { grid-template-columns:1fr; gap:33px; }
    .clean-story__copy>.fresh-lead { max-width:440px; }
    .clean-story__steps { margin:29px 0; }
    .clean-story__step { gap:16px; }
    .clean-story__step p { max-width:none; }
    .clean-story__image { height:360px; border-top-right-radius:70px; }
    .clean-story__caption { flex-wrap:nowrap; }
    .service-picker { grid-template-columns:1fr; gap:27px; }
    .service-picker__tabs { display:flex; overflow-x:auto; padding:4px 2px 10px; gap:8px; scrollbar-width:thin; overscroll-behavior-x:contain; }
    .service-picker__tab { width:auto; min-width:max-content; min-height:48px; padding:12px 15px; border:1px solid #ffffff25; border-radius:5px; font-size:13px; gap:8px; }
    .service-picker__tab[aria-selected=true] { padding:12px 15px; }
    .service-picker__tab>svg { display:none; }
    .service-picker__aside { display:none; }
    .service-panel { grid-template-columns:1fr 1fr; min-height:350px; margin-bottom:0; }
    .service-panel__photo { height:auto; }
    .service-panel__copy { padding:27px 24px; }
    .service-panel__copy h3 { font-size:25px; }
    .service-panel__copy>p:not(.fresh-kicker) { font-size:12px; }
    .compare-grid { gap:24px; }
    .compare { height:250px; }
    .compare-card figcaption h3 { font-size:17px; }
    .compare-card figcaption p { font-size:12px; }
    .compare-card figcaption>svg { display:none; }
    .fresh-why { padding-top:0; }
    .fresh-why__grid { grid-template-columns:1fr; gap:40px; }
    .fresh-why__photo picture { height:440px; }
    .why-hex { right:12px; top:25px; }
    .fresh-why__copy>.fresh-lead { font-size:15px; }
    .fresh-review-grid { grid-template-columns:1fr; gap:15px; }
    .fresh-review { padding:27px; }
    .fresh-review blockquote { font-size:16px; margin:18px 0 24px; }
    .fresh-area__grid { grid-template-columns:minmax(0,1fr); gap:10px; }
    .fresh-towns { max-width:none; }
    .hive-illustration { transform:scale(.85); transform-origin:center top; margin:15px auto -40px; width:460px; max-width:100%; }
    .fresh-faq { padding-top:0; }
    .fresh-faq__grid { grid-template-columns:1fr; gap:30px; }
    .fresh-faq__list summary { font-size:15px; padding-block:21px; }
    .fresh-booking { padding-bottom:55px; }
    .fresh-booking__card { padding:45px 23px 40px; }
    .fresh-booking__card h2 { font-size:49px; }
    .fresh-booking__card .fresh-actions { gap:21px; }
    .fresh-booking__card>p:not(.fresh-kicker) { font-size:14px; }
    .booking-reassurance { font-size:10px; max-width:230px; margin-inline:auto; }
    .fresh-booking__calendar { padding:22px 12px; }
    .site-footer { padding:45px 0 110px; }
    .site-footer__grid { gap:32px; }
    .site-footer__bottom { gap:8px; margin-top:30px; }
}
@media (max-width:520px) {
    .fresh-hero .fresh-actions { gap:18px; }
    .fresh-hero .fresh-text-link { font-size:11px; gap:7px; }
    .fresh-hero .fresh-button { font-size:12px; padding:14px 17px; min-height:52px; }
    .fresh-hero__photo { height:335px; }
    .hero-photo__caption { left:20px; bottom:24px; font-size:8px; }
    .service-panel { grid-template-columns:1fr; }
    .service-panel__photo { height:235px; }
    .service-panel__copy { padding:28px; }
    .service-panel__copy>p:not(.fresh-kicker) { font-size:14px; }
    .service-panel__copy li { font-size:12px; }
    .compare-grid { grid-template-columns:1fr; gap:32px; }
    .compare { height:275px; }
    .compare-card figcaption h3 { font-size:20px; }
    .compare-card figcaption>svg { display:block; }
    .clean-story__caption>span { font-size:7px; gap:6px; }
    .clean-story__progress { width:70px; }
    .fresh-why__photo picture { height:380px; }
    .hive-illustration { transform:scale(.68); transform-origin:left top; width:460px; max-width:none; margin-left:0; height:450px; margin-bottom:-120px; }
    .site-footer__grid { grid-template-columns:1fr 1fr; gap:30px 20px; }
    .site-footer__brand { grid-column:1/-1; }
    .site-footer__col:nth-child(2) { grid-column:1/-1; }
    .site-footer__note { max-width:45ch; }
}
@media (max-width:360px) {
    .fresh-hero h1 { font-size:55px; }
    .fresh-hero .fresh-actions { gap:15px; }
    .fresh-hero .fresh-text-link { font-size:10px; }
    .fresh-proof__inner>span { font-size:9px; }
    .hive-illustration { transform:scale(.6); margin-bottom:-150px; }
}

/* Source: honey.css */
/* Honey belongs to the real cream card edge. It reserves no extra page space
   and does not cover or intercept service content. The image is an exact
   settled render of the same surface, including when WebGL is unavailable. */
.home-service--featured { position:relative; }
.honey-surface {
    position:absolute;
    z-index:2;
    top:0;
    right:0;
    width:min(500px,49%);
    aspect-ratio:52 / 19;
    transform:translate(3.076923%,-28.421053%);
    pointer-events:none;
    user-select:none;
    contain:layout style;
}
.honey-surface canvas,.honey-surface__still { position:absolute; inset:0; display:block; width:100%; height:100%; }
.honey-surface canvas { opacity:0; }
.honey-surface.is-rendered canvas { opacity:1; }
.honey-surface.is-rendered .honey-surface__still { opacity:0; }
@media (max-width:780px) {
    .honey-surface { width:min(245px,70%); }
}
@media (max-width:420px) {
    .honey-surface { width:65%; }
}

/* Source: scatter.css */
/* Cleaning Beez — native scroll brings the bees in and clears the room surfaces. */
[data-scene-clutter] { display:none; }
.cb-design-js [data-hero-cleanup].is-cleanup-enhanced.is-cleanup-ready [data-scene-clutter] { display:block; }
.scene-clutter {
	position:absolute;
	left:var(--item-x,50%);
	top:var(--item-y,70%);
	width:var(--item-width,10%);
	z-index:3;
	opacity:var(--item-opacity,1);
	transform-origin:50% 70%;
	transform:translate(calc(-50% + var(--carry-x,0px)),calc(-100% + var(--carry-y,0px))) rotate(var(--carry-turn,0deg));
	pointer-events:none;
	user-select:none;
}
.is-cleanup-visible .scene-clutter { will-change:transform,opacity; }
.scene-clutter__object { display:block; position:relative; width:100%; height:auto; pointer-events:none; }
.scene-clutter__object img { display:block; width:100%; height:auto; pointer-events:none; }
.scene-clutter__bee {
	position:absolute;
	left:50%;
	bottom:calc(100% - var(--bee-contact-offset,5px));
	width:clamp(38px,4.5vw,68px);
	transform:translate(calc(-50% + var(--bee-approach-x,0px)),var(--bee-approach-y,0px)) rotate(var(--bee-approach-turn,0deg));
	transform-origin:50% 80%;
	pointer-events:none;
}
.scene-clutter__bee img { display:block; width:100%; height:auto; transform:scaleX(var(--bee-facing,1)); pointer-events:none; }
.is-cleanup-visible .scene-clutter__bee { will-change:transform; }

/* The hero's whole frame moves together; other photographs move inside their crop frames. */
.cb-design-js [data-parallax] {
	transform:translate3d(var(--hero-x,0px),calc(var(--parallax-y,0px) + var(--hero-y,0px)),0);
}

/* Gold progress also updates when FAQ or booking content changes the page height. */
.cb-design-js .scroll-progress {
	display:block;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:3px;
	z-index:100;
	background:linear-gradient(90deg,#b9861d,#edc45a 65%,#f6df98);
	transform:scaleX(var(--page-progress,0));
	transform-origin:left center;
	animation:none;
	transition:none;
	pointer-events:none;
}
@media (max-width:780px) {
	.scene-clutter__bee { width:clamp(32px,8vw,44px); }
}
@media (prefers-reduced-motion:reduce) {
	[data-scene-clutter] { display:none !important; }
	.cb-design-js [data-parallax] { transform:none; }
	.cb-design-js .scroll-progress { animation:none; transition:none; }
}
.cb-reduced-motion [data-scene-clutter] { display:none !important; }
.cb-reduced-motion [data-parallax] { transform:none; }

/* Source: refinement.css */
/* Timeless lettering, comfortable reading, and two clear ways to get in touch. */
@font-face{font-family:'Great Vibes';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/greatvibes-400.woff2') format('woff2');}
.brandmark__script { font-family:'Great Vibes','Cormorant Garamond',Georgia,serif; font-size:42px; font-weight:400; line-height:1.2; letter-spacing:0; padding:4px 4px 0; }
.brandmark__bee { margin-right:2px; }
.site-footer .brandmark__script { font-size:52px; }
.fresh-hero__brand { font-family:'Great Vibes','Cormorant Garamond',Georgia,serif; font-size:clamp(75px,7.8vw,112px); line-height:1.2; letter-spacing:0; color:#987015; margin:0 0 14px; padding-right:10px; }
.fresh-hero h1 { font-size:clamp(38px,3.5vw,51px); font-weight:400; letter-spacing:-.035em; line-height:1.12; margin-bottom:24px; }
.fresh-hero__intro { max-width:450px; font-size:18px; }
.fresh-hero__copy .fresh-kicker { font-size:12px; line-height:1.65; letter-spacing:.105em; margin-bottom:14px; }
.fresh-hero__grid { gap:44px; }
.fresh-hero__copy { position:relative; z-index:4; }
.fresh-hero__scene { z-index:2; }
.fresh-hero .fresh-actions { gap:15px; }
.fresh-button,.fresh-hero .fresh-button { font-size:16px; min-height:56px; gap:17px; padding:15px 21px; }
.fresh-button--call { background:transparent; border:1px solid #a7ab9c; color:#242820; }
.fresh-button--call:hover { background:#f3eedf; }
.fresh-text-link,.fresh-hero .fresh-text-link { font-size:16px; }
.fresh-kicker { font-size:12px; letter-spacing:.115em; }
.fresh-lead { font-size:18px; }
.nav a { font-size:15px; }
.site-header__cta .phone-link { font-size:15px; }
.site-header .btn { font-size:15px; padding:12px 17px; }
.hero-rating__label,.hero-rating .fresh-stars { font-size:13px; }
.hero-rating { margin-top:28px; }
.hero-photo__caption { font-size:12px; }
.hero-bottom,.hero-bottom>a { font-size:13px; }
.fresh-proof__inner>span { font-size:14px; }
.clean-story__step p { font-size:17px; max-width:340px; }
.clean-story__step>span { font-size:12px; }
.clean-story__caption>span { font-size:11px; }
.demo-note { font-size:14px; }
.service-picker__tab { font-size:18px; }
.service-picker__number { font-size:12px; }
.service-picker__aside { font-size:16px; }
.service-panel__copy { padding:33px 27px; }
.service-panel__copy .fresh-kicker { font-size:11px; }
.service-panel__copy>p:not(.fresh-kicker) { font-size:16px; }
.service-panel__copy li { font-size:15px; }
.service-panel__copy .fresh-text-link { font-size:16px; }
.service-panel__photo>span { font-size:11px; }
.service-panel__actions { display:flex; gap:14px; align-items:center; flex-wrap:wrap; }
.service-panel__actions .fresh-button { font-size:15px; padding:12px 16px; min-height:48px; }
.service-panel__actions .fresh-text-link { font-size:15px; }
.service-panel__details { display:inline-block; margin-top:21px; font-size:14px; color:#646859; text-decoration:underline; text-underline-offset:4px; }
.results-hint { font-size:15px; }
.compare__label { font-size:12px; }
.compare-card figcaption p { font-size:16px; }
.compare--detail img { transform:none; }
.compare-grid { grid-template-columns:1fr 1fr; }
.compare,.clean-story__image { height:auto; aspect-ratio:3 / 2; }
.fresh-results .demo-note { margin-bottom:24px; }
.fresh-why__copy>.fresh-lead { font-size:18px; }
.fresh-values h3 { font-size:20px; }
.fresh-values p { font-size:16px; }
.fresh-why__copy>.fresh-text-link { font-size:16px; }
.fresh-review blockquote { font-size:18px; }
.fresh-review strong { font-size:15px; }
.fresh-review small { font-size:14px; }
.fresh-towns>a,.fresh-towns>span { font-size:15px; padding:9px 13px; }
.hive-hex>span { font-size:15px; }
.hive-hex small { font-size:10px; }
.fresh-faq__list summary { font-size:18px; }
.fresh-faq__list details p { font-size:17px; }
.fresh-booking__card .fresh-kicker { font-size:12px; }
.fresh-booking__card>p:not(.fresh-kicker) { font-size:18px; }
.booking-reassurance { font-size:14px; }
.site-footer__tag { font-size:12px; }
.site-footer__note,.site-footer__social a { font-size:15px; }
.site-footer__col h3 { font-size:14px; }
.site-footer__col a,.site-footer__col li { font-size:15px; }
.site-footer__bottom { font-size:13px; }
.scroll-progress { display:block; height:3px; background:linear-gradient(90deg,#a87910,#efc558,#ffe2a0); transform:scaleX(var(--page-progress,0)); animation:none; animation-timeline:auto; z-index:100; }
@media (max-width:1100px) {
    .nav { display:none; }
    .nav-toggle { display:flex; }
    .site-header__cta .phone-link { display:inline-flex; }
    .site-header__cta { margin-left:auto; gap:16px; }
    .brandmark__script { font-size:39px; }
    .fresh-hero__brand { font-size:88px; }
    .fresh-hero h1 { font-size:43px; }
    .fresh-hero__intro { font-size:17px; }
    .fresh-hero .fresh-actions { gap:12px; }
    .fresh-hero .fresh-button { padding:13px 17px; font-size:15px; }
}
@media (max-width:780px) {
    .brandmark__script { font-size:35px; }
    .site-header__cta { display:none; }
    .fresh-hero__brand { font-size:clamp(74px,15vw,104px); margin-bottom:13px; }
    .fresh-hero h1 { font-size:40px; margin-bottom:23px; }
    .fresh-hero__copy .fresh-kicker { font-size:11px; margin-bottom:12px; }
    .fresh-hero__intro { font-size:17px; line-height:1.65; }
    .fresh-hero .fresh-actions { gap:12px; }
    .fresh-hero .fresh-button { font-size:16px; padding:14px 18px; min-height:54px; }
    .fresh-hero .fresh-button--call { width:100%; justify-content:center; }
    .fresh-hero .fresh-button:not(.fresh-button--call) { width:100%; }
    .hero-rating__label { font-size:12px; }
    .hero-photo__caption { font-size:11px; }
    .fresh-proof__inner>span { font-size:12px; }
    .fresh-kicker { font-size:11px; }
    .fresh-lead { font-size:17px; }
    .service-picker__tab { font-size:16px; min-height:52px; }
    .service-picker__number { font-size:11px; }
    .service-panel__copy>p:not(.fresh-kicker) { font-size:17px; }
    .service-panel__copy li { font-size:15px; }
    .service-panel__photo>span { font-size:11px; }
    .compare-card figcaption h3 { font-size:22px; }
    .compare-card figcaption p { font-size:16px; }
    .clean-story__caption { align-items:flex-start; flex-wrap:wrap; }
    .clean-story__caption>span { font-size:10px; line-height:1.6; }
    .fresh-why__copy>.fresh-lead { font-size:17px; }
    .fresh-values h3 { font-size:19px; }
    .fresh-values p { font-size:16px; }
    .fresh-review blockquote { font-size:18px; }
    .fresh-faq__list summary { font-size:17px; }
    .fresh-booking__card>p:not(.fresh-kicker) { font-size:17px; }
    .booking-reassurance { font-size:13px; max-width:270px; }
    .site-footer__col a,.site-footer__col li { font-size:15px; }
}
@media (max-width:520px) {
    .compare-grid { grid-template-columns:1fr; }
}
@media (max-width:360px) {
    .brandmark__script { font-size:32px; }
    .fresh-hero__brand { font-size:68px; }
    .fresh-hero h1 { font-size:35px; }
    .fresh-proof__inner>span { font-size:11px; }
}

/* Source: atelier.css */
/* Warm stone, precise details, and an open frame for the cleanup choreography. */
:root {
    --bg:#fbfaf5; --bg-1:#f3f0e7; --bg-2:#eee9dd; --bg-3:#e5dece;
    --ink:#252621; --muted:#5b6056; --muted-2:#676b61;
    --paper:#fffdf8; --line:#c9c5b7; --honey:#e5bd59; --honey-dark:#8b6825;
    --gold-1:#f0d891; --gold-2:#c69736; --gold-3:#8b6825; --gold-4:#77571e;
    --gold-line:#8b682529; --gold-line-2:#8b682542; --header-h:88px;
}
html { overflow-x:clip; }
body { background:#fbfaf5; color:var(--ink); font-size:17px; }
.site-header,.site-header.is-scrolled { background:#fbfaf5f2; border-color:#25262114; }
.site-header .brandmark__script { font-size:42px; color:#252621; }
.site-header .brandmark__bee img { width:40px; height:40px; }
.site-header .container { max-width:1440px; }
.mobile-nav { background:#fbfaf5f7; color:#252621; }
.fresh-container { width:min(calc(100% - 112px),1228px); }
.fresh-hero {
    padding:154px 0 34px; position:relative; overflow:visible;
    background:#fbfaf5;
}
.fresh-hero__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.13fr); gap:62px; align-items:start; }
.fresh-hero__copy { position:relative; padding:0; z-index:4; min-width:0; }
.fresh-hero__brand { font-size:clamp(72px,7.25vw,104px); color:#8b6825; margin:0 0 17px; line-height:1.15; white-space:nowrap; padding:0 0 0 1px; }
.fresh-hero h1 { font-size:clamp(34px,3.2vw,46px); line-height:1.14; letter-spacing:-.035em; font-weight:400; margin-bottom:24px; }
.fresh-hero__intro { max-width:430px; color:var(--muted); font-size:18px; line-height:1.65; margin-bottom:29px; }
.fresh-hero__copy .fresh-kicker { color:#626557; font-size:12px; margin-bottom:19px; letter-spacing:.13em; }
.fresh-hero .fresh-actions { gap:12px; }
.fresh-button,.fresh-hero .fresh-button { background:#e5bd59; color:#252621; border-color:#d5af52; font-size:16px; min-height:56px; border-radius:7px; }
.fresh-button:hover { background:#edcd77; box-shadow:0 10px 24px #68532b1f; }
.fresh-button--call,.fresh-hero .fresh-button--call { background:transparent; border-color:#999e8b; }
.fresh-button--call:hover { background:#fffdf87a; }
.fresh-button--dark { background:#252621; border-color:#252621; color:#fffdf8; }
.fresh-button--dark:hover { background:#41453a; }
.hero-rating { display:flex; align-items:center; gap:13px; margin-top:27px; }
.hero-rating .fresh-stars { font-size:14px; letter-spacing:2px; }
.hero-rating__label { font-size:14px; color:#5b6056; }
.hero-scroll-note { display:flex; gap:12px; align-items:center; color:#62675b; font-size:14px; margin-top:37px; }
.scroll-circle { border-color:#aeb1a0; }
.hero-cleanup-track { position:relative; min-width:0; }
.hero-cleanup-stage { position:relative; top:auto; min-width:0; }
.hero-cleanup-scene {
    position:relative; width:100%; max-width:calc((100svh - 285px) * 1.5);
    aspect-ratio:3 / 2; margin-inline:auto; overflow:visible; isolation:isolate;
}
.hero-cleanup-photo { position:absolute; inset:0; border-radius:18px; overflow:hidden; box-shadow:0 15px 32px #25262114; background:#cec5b4; }
.hero-cleanup-photo picture,.hero-cleanup-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.hero-cleanup-caption { display:flex; justify-content:space-between; align-items:center; gap:20px; margin:25px auto 0; max-width:calc((100svh - 285px) * 1.5); }
.hero-cleanup-caption .fresh-kicker { display:block; color:#646751; font-size:10px; line-height:1.5; margin:0 0 7px; letter-spacing:.13em; }
.hero-cleanup-caption p { font:italic 600 25px/1.2 'Cormorant Garamond',Georgia,serif; letter-spacing:-.025em; color:#4b4f41; margin:0; }
.hero-cleanup-meter { width:84px; height:3px; background:#c5c5b5; border-radius:3px; overflow:hidden; flex-shrink:0; }
.hero-cleanup-meter i { display:block; width:100%; height:100%; transform:scaleX(var(--cleanup-progress,1)); transform-origin:left center; background:#987128; }
.hero-cleanup-hint { text-align:center; color:#656a5b; font-size:12px; margin:22px 0 0; letter-spacing:.035em; }
.hero-cleanup-hint span { display:inline-block; margin-right:6px; }
.scene-clean-seal {
    display:flex; align-items:center; gap:9px; position:absolute; right:18px; bottom:18px;
    background:#fffdf8ee; border:1px solid #fffdf877; border-radius:7px;
    padding:10px 13px; box-shadow:0 4px 18px #25262113;
    font-size:13px; font-weight:500; color:#4b4f3f; z-index:5; opacity:1; pointer-events:none;
}
.scene-clean-seal svg { width:20px; height:20px; color:#957029; }
.cb-design-js .is-cleanup-enhanced .scene-clean-seal { opacity:var(--room-clean-opacity,0); }
.cb-design-js .is-cleanup-enhanced .hero-cleanup-track { height:calc(100svh + 700px); }
.cb-design-js .is-cleanup-enhanced .hero-cleanup-stage { position:sticky; top:128px; }
.cb-design-js .is-cleanup-enhanced .fresh-hero__copy { position:sticky; top:145px; }
.hero-bottom { color:#65695e; margin-top:24px; }
.fresh-proof { background:#f3f0e7; border-color:#c9c5b7; }
.fresh-proof__inner>span { color:#565c4d; font-size:14px; }
.fresh-proof svg { color:#8b6825; }
.care-difference { background:#fbfaf5; }
.care-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.care-card { background:#fffdf8; border:1px solid #e0d8c8; border-radius:10px; padding:34px 30px 31px; }
.care-card>span { display:block; color:#8b6825; font-size:12px; margin-bottom:22px; }
.care-card h3 { font-size:24px; font-weight:400; margin-bottom:14px; }
.care-card p { color:var(--muted); font-size:17px; line-height:1.65; margin:0; }
.care-card__instagram { display:grid; grid-template-columns:64px minmax(0,1fr); gap:14px; align-items:center; margin-top:18px; }
.care-card__instagram-thumb { position:relative; display:block; width:64px; aspect-ratio:9/16; overflow:hidden; border-radius:8px; background:#252621; box-shadow:0 2px 8px #25262120; }
.care-card__instagram-thumb img { display:block; width:100%; height:100%; object-fit:cover; }
.care-card__instagram-play { position:absolute; inset:auto 7px 7px auto; display:grid; place-items:center; width:26px; height:26px; padding-left:2px; border-radius:50%; background:var(--gold-1); color:#252621; font-size:11px; }
.care-card__instagram-copy { min-width:0; }
.care-card__instagram-copy p { font-size:14px; line-height:1.5; margin:0 0 7px; }
.care-card__instagram-link { color:#77571e; font-size:14px; font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.care-card__instagram-link:hover { color:#4f3a12; }
.care-card__instagram-link:focus-visible,.care-card__instagram-thumb:focus-visible { outline:3px solid #8b6825; outline-offset:3px; }
.care-card__instagram-note { display:block; margin-top:3px; color:var(--muted-2); font-size:12px; }
.fresh-services { position:relative; overflow:hidden; background:#252621; border-radius:26px 26px 0 0; box-shadow:0 -10px 32px #2526210c; padding-top:130px; }
.fresh-services .fresh-section-heading .fresh-kicker { color:#d7ba78; }
.fresh-services .fresh-section-heading h2 { color:#fffdf8; }
.fresh-services .fresh-section-heading h2 em { color:#e5bd59; }
.fresh-services .fresh-section-heading .fresh-lead { color:#c6c7ba; }
.service-picker__tab { color:#c6c7ba; border-color:#ffffff25; }
.service-picker__tab[aria-selected=true] { background:#e5bd59; color:#252621; }
.service-picker__tab[aria-selected=true] .service-picker__number { color:#76561e; }
.service-picker__aside { color:#c6c7ba; }
.service-picker__aside a { color:#e5bd59; }
.service-panel { background:#fffdf8; border-color:#f3f0e7; border-radius:11px; }
.service-panel__photo { overflow:hidden; }
.service-panel__photo-inner { position:absolute; inset:-36px 0; width:100%; }
.service-panel__photo-inner picture,.service-panel__photo-inner img { display:block; width:100%; height:100%; object-fit:cover; }
.service-panel__photo>span { background:#fffdf8ec; color:#515748; }
.service-panel__copy .fresh-kicker { color:#727158; }
.service-panel__copy li>span { color:#8b6825; }
.fresh-results { background:#fbfaf5; }
.compare-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:45px 30px; }
.compare { height:auto; aspect-ratio:3 / 2; border-radius:11px; background:#d4ccbd; }
.compare__before { clip-path:inset(0 0 0 var(--compare-position,20%)); }
.compare__after { clip-path:inset(0 calc(100% - var(--compare-position,20%)) 0 0); }
.compare__label { background:#fffdf8f0; color:#252621; font-size:11px; padding:7px 9px; top:16px; letter-spacing:.07em; }
.compare__label--after { left:12px; }
.compare__label--before { right:12px; }
.compare__line { left:var(--compare-position,20%); }
.compare__line>span { background:#e5bd59; border-color:#fffdf8; width:46px; height:46px; }
.compare-card figcaption h3 { font-size:23px; }
.compare-card figcaption p { color:#5b6056; font-size:16px; }
.fresh-results .fresh-actions { margin-top:42px; }
.fresh-why { background:#fbfaf5; padding-top:15px; }
.fresh-why__photo { overflow:hidden; border-radius:17px; height:550px; }
.fresh-why__photo-inner { position:absolute; inset:-32px 0; width:100%; height:calc(100% + 64px); }
.fresh-why__photo-inner picture,.fresh-why__photo-inner img { display:block; width:100%; height:100%; object-fit:cover; border-radius:0; }
.fresh-why__note { background:#fffdf8ed; left:21px; bottom:24px; }
.why-hex { right:20px; top:24px; background:#e5bd59; width:69px; height:78px; }
.fresh-reviews { background:#f3f0e7; }
.fresh-review { background:#fffdf8; border-color:#cac4b5; }
.review-initial { background:#f3f0e7; }
.fresh-review small { color:#62695a; }
.fresh-area { background:#fbfaf5; }
.fresh-towns>a,.fresh-towns>span { border-color:#bfc2af; background:#fffdf8; }
.fresh-towns>a:hover { background:#e5d6b4; border-color:#b79b66; }
.hive-hex { background:#f3f0e7; }
.hive-hex--one,.hive-hex--four,.hive-hex--five { background:#fffdf8; }
.hive-hex--three { background:#e5bd59; }
.fresh-faq { background:#f3f0e7; padding:88px 0; }
.fresh-faq__list details { border-color:#bfc2af; }
.fresh-faq__list details:last-child { border-color:#bfc2af; }
.fresh-booking { background:#fbfaf5; padding-top:80px; }
.fresh-booking__card { background:#f4e4b9; border:1px solid #d6c399; }
.fresh-booking__card .fresh-kicker { color:#62583d; }
.fresh-booking__card h2 em { color:#735a2b; }
.fresh-booking__card>p:not(.fresh-kicker) { color:#5b5949; }
.booking-reassurance { color:#625d47; }
.fresh-booking__calendar { background:#fffdf8; border-color:#c9c5b7; }
.fresh-booking__calendar .calendly-mount.is-loaded { background:#fffdf8; }
.site-footer { background:#252621; border-color:#ffffff14; }
.site-footer .brandmark__script { color:#fffdf8; font-size:52px; }
.site-footer__tag { color:#e5bd59; }
.site-footer__note,.site-footer__social a,.site-footer__col a,.site-footer__col li { color:#c3c2b6; }
.site-footer__col h3 { color:#fffdf8; }
.site-footer__bottom { color:#bfc0b1; border-color:#ffffff1c; }
.sticky-cta { background:#fbfaf5f5; border-color:#c9c5b7; }
.sticky-cta__call { color:#252621; background:#fffdf8; border-color:#c9c5b7; }
.sticky-cta__quote { background:#e5bd59; color:#252621; }
@media (max-width:1200px) {
    .nav { display:none; }
    .nav-toggle { display:flex; }
    .site-header__cta .phone-link { display:inline-flex; }
}
@media (max-width:1100px) {
    .fresh-container { width:calc(100% - 72px); }
    .fresh-hero__grid { gap:38px; }
    .fresh-hero__brand { font-size:clamp(66px,7.2vw,88px); }
    .fresh-hero h1 { font-size:38px; }
    .fresh-hero__intro { font-size:17px; }
    .fresh-hero .fresh-button { padding:13px 16px; font-size:15px; }
    .care-card { padding:28px 23px; }
    .care-card h3 { font-size:22px; }
    .care-card p { font-size:16px; }
}
@media (max-width:980px) and (min-width:781px) {
    .fresh-hero__grid { gap:28px; }
    .fresh-hero__brand { font-size:58px; }
    .fresh-hero h1 { font-size:34px; }
    .hero-cleanup-caption p { font-size:22px; }
    .hero-cleanup-meter { width:54px; }
    .hero-cleanup-caption { gap:12px; }
}
@media (max-width:780px) {
    :root { --header-h:74px; }
    .site-header .brandmark__script { font-size:33px; }
    .site-header .brandmark__bee img { width:34px; height:34px; }
    .site-header__cta { display:none; }
    .fresh-container { width:calc(100% - 40px); }
    .fresh-hero { padding-top:107px; padding-bottom:26px; }
    .fresh-hero__grid { grid-template-columns:minmax(0,1fr); gap:44px; }
    .fresh-hero__brand { font-size:clamp(54px,16.5vw,100px); margin-bottom:14px; white-space:nowrap; }
    .fresh-hero h1 { font-size:36px; line-height:1.14; }
    .fresh-hero__intro { font-size:17px; max-width:470px; }
    .fresh-hero .fresh-button,.fresh-hero .fresh-button--call { width:100%; font-size:16px; min-height:54px; }
    .hero-rating { gap:11px; flex-wrap:wrap; }
    .hero-rating__label { font-size:13px; }
    .hero-scroll-note { margin-top:25px; font-size:13px; }
    .cb-design-js .is-cleanup-enhanced .fresh-hero__copy { position:relative; top:auto; }
    .cb-design-js .is-cleanup-enhanced .hero-cleanup-track { height:calc(100svh + 350px); }
    .cb-design-js .is-cleanup-enhanced .hero-cleanup-stage { position:sticky; top:clamp(104px,calc((100svh - 430px) / 2),210px); }
    .hero-cleanup-scene,.hero-cleanup-caption { max-width:100%; }
    .hero-cleanup-photo { border-radius:13px; }
    .hero-cleanup-caption { margin-top:23px; gap:14px; }
    .hero-cleanup-caption p { font-size:25px; }
    .hero-cleanup-caption .fresh-kicker { font-size:9px; }
    .hero-cleanup-meter { width:60px; }
    .hero-cleanup-hint { font-size:12px; margin-top:20px; }
    .scene-clean-seal { right:12px; bottom:12px; padding:8px 10px; font-size:12px; }
    .scene-clean-seal svg { width:17px; height:17px; }
    .fresh-proof__inner>span { font-size:12px; }
    .care-grid { grid-template-columns:minmax(0,1fr); gap:14px; }
    .care-card { padding:26px; }
    .care-card>span { margin-bottom:13px; }
    .care-card h3 { font-size:23px; }
    .care-card p { font-size:17px; }
    .fresh-services { padding-top:115px; border-radius:19px 19px 0 0; }
    .service-picker__tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); overflow:visible; padding:0; gap:10px; scrollbar-width:auto; overscroll-behavior-x:auto; }
    .service-picker__tab,.service-picker__tab[aria-selected=true] { width:100%; min-width:0; max-width:none; min-height:72px; padding:12px; flex-shrink:1; justify-content:center; text-align:center; white-space:normal; font-size:16px; line-height:1.35; }
    .service-picker__tab:last-of-type { grid-column:1 / -1; min-height:56px; }
    .service-panel__copy .fresh-kicker { font-size:11px; }
    .service-panel__copy>p:not(.fresh-kicker) { font-size:17px; }
    .compare-grid { gap:32px 22px; }
    .compare__label { font-size:10px; padding:6px 7px; letter-spacing:.02em; top:12px; }
    .compare__label--after { left:8px; }
    .compare__label--before { right:8px; }
    .compare__line>span { width:43px; height:43px; border-width:3px; font-size:20px; }
    .compare-card figcaption h3 { font-size:22px; }
    .fresh-why { padding-top:0; }
    .fresh-why__photo { height:380px; border-radius:13px; }
    .fresh-faq { padding:65px 0; }
    .fresh-booking { padding-top:58px; }
    .site-footer { padding-bottom:calc(120px + env(safe-area-inset-bottom,0px)); }
}
@media (max-width:520px) {
    .compare-grid { grid-template-columns:minmax(0,1fr); }
    .service-panel__photo { height:235px; }
}
@media (max-width:360px) {
    .site-header .brandmark__script { font-size:31px; }
    .fresh-hero h1 { font-size:33px; }
    .hero-cleanup-caption p { font-size:22px; }
    .hero-cleanup-meter { width:45px; }
}
@media (min-width:781px) and (max-height:730px) {
    .cb-design-js .is-cleanup-enhanced .fresh-hero__copy { position:relative; top:auto; }
}
/* No long scroll runway remains when motion is reduced, or JavaScript is unavailable. */
.cb-reduced-motion .is-cleanup-enhanced .hero-cleanup-track { height:auto; }
.cb-reduced-motion .is-cleanup-enhanced .hero-cleanup-stage,
.cb-reduced-motion .is-cleanup-enhanced .fresh-hero__copy { position:relative; top:auto; }
.cb-reduced-motion .hero-cleanup-hint { display:none; }
.cb-reduced-motion .is-cleanup-enhanced .scene-clean-seal { opacity:1; }
@media (prefers-reduced-motion:reduce) {
    .cb-design-js .is-cleanup-enhanced .hero-cleanup-track { height:auto; }
    .cb-design-js .is-cleanup-enhanced .hero-cleanup-stage,
    .cb-design-js .is-cleanup-enhanced .fresh-hero__copy { position:relative; top:auto; }
    .hero-cleanup-hint { display:none; }
    .cb-design-js .is-cleanup-enhanced .scene-clean-seal { opacity:1; }
}
html:not(.cb-design-js) .hero-cleanup-hint { display:none; }

/* Source: honeycomb.css */
/* Equal point-up hexagons share their edges; this is a decorative hive, not a map. */
.hive-illustration {
    position:relative;
    width:min(100%,440px);
    height:auto;
    margin:0 auto;
    transform:none;
    transform-origin:center;
    container-type:inline-size;
    isolation:isolate;
}
.hive-illustration::before {
    content:"";
    display:block;
    width:100%;
    aspect-ratio:.8660254038;
}
.hive-illustration .hive-hex {
    --cell-fill:#eee8dc;
    position:absolute;
    width:40cqw;
    height:46.18802154cqw;
    margin:0;
    padding:12px 6px;
    clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:5px;
    background:#bca472;
    color:#3e4236;
    text-align:center;
    box-sizing:border-box;
}
.hive-illustration .hive-hex::before {
    content:"";
    position:absolute;
    inset:1px;
    clip-path:inherit;
    background:var(--cell-fill);
    pointer-events:none;
}
.hive-illustration .hive-hex>* { position:relative; z-index:1; }
.hive-illustration .hive-hex>span {
    max-width:90%;
    font-size:clamp(12px,3.7cqw,16px);
    font-weight:500;
    line-height:1.3;
}
.hive-illustration .hive-hex small {
    max-width:96%;
    font-size:clamp(8px,2.3cqw,10px);
    line-height:1.4;
    letter-spacing:.11em;
    color:#665124;
}
.hive-illustration .hive-hex--one { left:0; top:34.64101615cqw; }
.hive-illustration .hive-hex--two { left:20cqw; top:0; --cell-fill:#d8d2c1; }
.hive-illustration .hive-hex--three { left:40cqw; top:34.64101615cqw; --cell-fill:#e5bd59; }
.hive-illustration .hive-hex--four { left:60cqw; top:0; }
.hive-illustration .hive-hex--five { left:20cqw; top:69.28203230cqw; --cell-fill:#e6dfcb; }
.hive-illustration .hive-hex--three img { width:clamp(44px,13.5cqw,62px); height:auto; }
.hive-illustration .hive-hex--five svg { width:clamp(26px,8cqw,35px); height:auto; color:#89712f; }
.hive-illustration>p {
    position:relative;
    inset:auto;
    margin:18px 0 0;
    font-size:18px;
    line-height:1.35;
    text-align:center;
    color:#565b4b;
    transform:none;
}
.hive-illustration>p em { font-size:27px; color:#8b6825; }
@media (max-width:1100px) and (min-width:781px) {
    .fresh-area__grid { gap:42px; }
}
@media (max-width:780px) {
    .fresh-area__grid { grid-template-columns:minmax(0,1fr); gap:38px; }
    .hive-illustration { width:min(100%,420px); margin:0 auto; }
}
@media (max-width:520px) {
    .fresh-area__grid { gap:34px; }
    .hive-illustration .hive-hex { gap:4px; }
    .hive-illustration>p { margin-top:16px; font-size:17px; }
    .hive-illustration>p em { font-size:25px; }
}

/* Source: services.css */
/* Image-free service cards: complete checklists are visible with or without JavaScript. */
.fresh-services .fresh-section-heading { margin-bottom:28px; }
.home-service { min-width:0; border-radius:14px; }
.home-service h3 { font-size:clamp(29px,2.5vw,36px); line-height:1.15; letter-spacing:-.025em; font-weight:400; margin:0 0 12px; }
.home-service--featured { display:grid; grid-template-columns:1.1fr 1fr; gap:54px; align-items:center; padding:44px 46px; color:#252621; background:var(--paper,#fffdf8); border:1px solid #e4ce96; box-shadow:0 8px 30px #00000012; }
.home-service__badge { display:inline-block; padding:7px 13px; margin:0 0 18px; border-radius:30px; color:#674910; background:#f5e6bb; font-size:13px; line-height:1.3; font-weight:500; }
.home-service--featured h3 { font-size:clamp(34px,3.1vw,44px); margin-bottom:12px; }
.home-service__frequency { margin:0 0 18px; color:#8b6825; font-size:16px; line-height:1.5; }
.home-service__description { margin:0 0 20px; font-size:17px; line-height:1.55; color:#5b6056; }
.home-service__actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px 22px; }
.home-service__actions .fresh-button { gap:18px; }
.home-service__actions .fresh-text-link { font-size:16px; }
.home-service__list-heading { margin:0 0 22px; font:italic 600 26px/1.2 'Cormorant Garamond',Georgia,serif; color:#625229; }
.home-service ul { list-style:none; margin:0; padding:0; display:grid; gap:11px; }
.home-service li { display:grid; grid-template-columns:22px minmax(0,1fr); gap:10px; align-items:start; font-size:16px; line-height:1.55; color:inherit; }
.home-service__check { display:block; color:#9b751f; font-size:18px; line-height:1.4; font-weight:500; }
.home-service__details { display:inline-flex; align-items:center; gap:12px; color:#7c5d21; font-size:15px; line-height:1.55; margin-top:25px; text-underline-offset:5px; }
.home-service__details svg { flex-shrink:0; width:18px; height:18px; }
.home-service__details:hover { text-decoration:underline; }
.home-service__details:focus-visible { outline:2px solid currentColor; outline-offset:5px; border-radius:2px; }
.home-services__also { color:#d7ba78; font-size:14px; letter-spacing:.09em; margin:38px 0 20px; }
.home-services__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.home-service--specialty { display:flex; flex-direction:column; align-items:flex-start; padding:35px 36px; background:#30322b; border:1px solid #d7ba7836; color:#eeeade; }
.home-service--specialty h3 { color:#fffdf7; }
.home-service__tagline { font:italic 600 25px/1.25 'Cormorant Garamond',Georgia,serif; color:#e5bd59; margin:0 0 19px; }
.home-service--specialty .home-service__description { color:#c6c7ba; }
.home-service--specialty ul { margin-top:auto; width:100%; }
.home-service--specialty .home-service__check { color:#e5bd59; }
.home-service--specialty .home-service__details { color:#e5bd59; margin-top:25px; }
.home-services__help { border-top:1px solid #d7ba7836; margin-top:40px; padding-top:32px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px 34px; }
.home-services__help>p { color:#c6c7ba; font-size:17px; line-height:1.6; margin:0; max-width:370px; }
.home-services__help .fresh-text-link { color:#e5bd59; font-size:16px; }
@media (max-width:1100px) {
    .home-service--featured { gap:30px; padding:36px; }
    .home-service--specialty { padding:30px; }
}
@media (max-width:780px) {
    .home-service--featured { grid-template-columns:1fr; gap:30px; padding:30px; }
    .home-service__checklist { border-top:1px solid #c9c5b7; padding-top:28px; }
    .home-services__grid { grid-template-columns:1fr; gap:20px; }
    .home-service--specialty { padding:30px; }
    .home-service ul { gap:13px; }
    .home-services__help { margin-top:30px; padding-top:28px; }
}
@media (max-width:520px) {
    .fresh-services .fresh-section-heading { margin-bottom:30px; }
    .home-service--featured,.home-service--specialty { padding:26px 22px; border-radius:11px; }
    .home-service h3 { font-size:30px; }
    .home-service--featured h3 { font-size:34px; }
    .home-service__frequency { font-size:15px; }
    .home-service__actions { gap:16px; }
    .home-service__actions .fresh-button { padding:14px 15px; gap:12px; font-size:15px; }
    .home-service__description { font-size:16px; }
    .home-service li { grid-template-columns:18px minmax(0,1fr); gap:8px; font-size:15px; }
    .home-service__tagline { font-size:24px; }
    .home-service__list-heading { font-size:25px; }
    .home-services__also { font-size:13px; letter-spacing:.04em; margin-top:30px; }
    .home-service__details { font-size:14px; }
    .home-services__help .fresh-actions { gap:18px; }
}

/* Source: gallery.css */
/* Before/after examples remain a normal grid at every viewport size. */
.cb-home .fresh-section { padding-block:72px; }
.cb-home .fresh-faq { padding-block:64px; }
.cb-home .fresh-section-heading { margin-bottom:30px; }
.cb-home .fresh-booking { padding-bottom:60px; }
.cb-home .fresh-booking__card { padding-block:48px 40px; }
@media(max-width:780px) {
    .cb-home .fresh-section { padding-block:48px; }
    .cb-home .fresh-booking__card { padding-block:36px; }
}
.fresh-results { background:#fbfaf5; overflow:visible; }
.fresh-results .compare-grid { position:relative; transform:none; }
/* With no comparison script, show an honest full-photo pair instead of an inert slider. */
html:not(.cb-design-js) .fresh-results .compare { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; height:auto; aspect-ratio:auto; border-radius:0; overflow:visible; background:transparent; cursor:default; touch-action:auto; user-select:auto; }
html:not(.cb-design-js) .fresh-results .compare__before,html:not(.cb-design-js) .fresh-results .compare__after { position:relative; inset:auto; clip-path:none; aspect-ratio:3 / 2; border-radius:11px; overflow:hidden; }
html:not(.cb-design-js) .fresh-results .compare picture,html:not(.cb-design-js) .fresh-results .compare img { display:block; width:100%; height:100%; object-fit:contain; transform:none; }
html:not(.cb-design-js) .fresh-results .compare__range,html:not(.cb-design-js) .fresh-results .compare__line,html:not(.cb-design-js) .fresh-results .results-hint,html:not(.cb-design-js) .fresh-results label[for^="compare-"] { display:none; }
@media (max-width:780px) {
    html:not(.cb-design-js) .fresh-results .compare { grid-template-columns:1fr; gap:12px; }
}

/* Source: room-details.css */
/* Interaction lives on the pictured objects, without permanent interface labels. */
.room-object { border:0; padding:0; background:transparent; border-radius:4px; appearance:none; }
.room-care-tip,.room-care-tip[hidden] { display:none; }
.room-details-ready .room-object { pointer-events:auto; cursor:pointer; transition:transform .18s ease,filter .18s ease; }
.room-object::after { content:''; position:absolute; left:50%; top:50%; width:max(100%,44px); height:max(100%,44px); transform:translate(-50%,-50%); }
.room-object:focus-visible { outline:2px solid #e5bd59; outline-offset:5px; filter:brightness(1.055); }
@media (hover:hover) and (pointer:fine) {
    .room-details-ready .room-object:hover { transform:translateY(-3px); filter:brightness(1.055) drop-shadow(0 5px 4px #25262118) drop-shadow(0 0 2px #e5bd5980); }
}
.room-details-ready .is-being-cleaned .room-object { transform:none; filter:none; transition:none; pointer-events:none; }
.room-object.is-departed { pointer-events:none; }
.room-details-ready .room-care-tip {
    display:block; position:absolute; top:16px; left:16px; width:calc(100% - 32px); max-width:310px;
    padding:21px 24px 22px; background:#fffdf8fa; border:1px solid #dcd5c1; border-radius:12px;
    box-shadow:0 8px 28px #25262124; color:#252621; z-index:8;
}
.room-care-tip[data-tip-side=right] { left:auto; right:16px; }
.room-care-tip__close {
    display:grid; place-items:center; position:absolute; right:3px; top:3px; width:40px; height:40px;
    border:0; border-radius:50%; background:transparent; color:#5b6056; cursor:pointer; font:400 23px/1 Arial,sans-serif;
}
.room-care-tip__close:hover { background:#ede8d9; }
.room-care-tip__close:focus-visible { outline:2px solid #8b6825; outline-offset:2px; }
.room-care-tip h3 { margin:0 0 9px; padding-right:18px; font:600 26px/1.12 'Cormorant Garamond',Georgia,serif; }
.room-care-tip [data-room-tip-copy] { margin:0; font-size:16px; line-height:1.55; color:#52574c; }
@media (max-width:520px) {
    .room-details-ready .room-care-tip { top:calc(100% + 12px); left:0; right:0; width:100%; max-width:none; padding:17px 20px; }
    .room-care-tip h3 { font-size:23px; }
    .room-care-tip [data-room-tip-copy] { font-size:15px; line-height:1.45; }
}
@media (prefers-reduced-motion:reduce) { .room-object { transition:none; } }
.cb-reduced-motion .room-object { transition:none; }

/* Source: residential-scene.css */
/* A generous, stationary room. Motion belongs to the cleaning, not the camera. */
.cb-home .hero-cleanup-scene,.cb-home .hero-cleanup-photo { transform:none; }
.cb-home .hero-cleanup-photo { box-shadow:0 16px 34px #25262117; }
.scene-ground-shadow { display:none; position:absolute; left:var(--shadow-x,0); top:var(--shadow-y,0); width:var(--shadow-width,100%); height:var(--shadow-height,100%); pointer-events:none; z-index:2; }
.cb-design-js .is-cleanup-ready .scene-ground-shadow { display:block; }
.cb-home .fresh-hero__copy .fresh-actions { align-items:flex-start; }
.cb-home .fresh-hero__copy .fresh-button { max-width:100%; text-align:center; }
.cb-home .hero-cleanup-caption { margin-top:18px; }
.cb-design-js .cb-home .is-cleanup-enhanced .hero-cleanup-track { height:calc(100svh + 220px); }
/* Let the next real content occupy the unused space beneath the sticky scene.
   Compensating padding keeps the document height and scroll distance unchanged. */
.cb-design-js .cb-home { padding-bottom:var(--cleanup-content-lift,0px); }
.cb-design-js .cb-home .is-cleanup-enhanced + .fresh-proof { margin-top:calc(-1 * var(--cleanup-content-lift,0px)); position:relative; z-index:5; overflow-anchor:none; }
/* The lifted care section must paint above the hero's unused track even after
   its entrance transform finishes and stops creating a stacking context. */
.cb-design-js .cb-home .is-cleanup-enhanced + .fresh-proof + .care-difference { position:relative; z-index:1; }

@media (min-width:981px) {
    .cb-home .fresh-hero { padding-top:134px; }
    .cb-home .fresh-hero__grid { width:min(calc(100% - 96px),1360px); grid-template-columns:minmax(0,41fr) minmax(0,59fr); gap:48px; }
    .cb-home .fresh-hero__brand { font-size:clamp(68px,6.3vw,96px); }
    .cb-home .fresh-hero__copy .fresh-kicker { max-width:400px; font-size:11px; line-height:1.7; letter-spacing:.09em; }
    .cb-home .fresh-hero h1 { font-size:clamp(34px,3vw,44px); margin-bottom:20px; }
    .cb-home .fresh-hero__intro { font-size:17px; line-height:1.6; margin-bottom:23px; }
    .cb-home .fresh-hero__copy .fresh-actions { flex-direction:column; gap:10px; }
    .cb-home .hero-rating { margin-top:20px; }
    .cb-home .hero-personal-links { margin-top:17px; }
    .cb-home .hero-cleanup-scene,.cb-home .hero-cleanup-caption,.cb-home .room-detail-nav { width:100%; max-width:calc((100svh - 270px) * 1.5); }
    .cb-design-js .cb-home .is-cleanup-enhanced .hero-cleanup-stage { top:114px; }
    .cb-design-js .cb-home .is-cleanup-enhanced .fresh-hero__copy { top:130px; }
}

@media (min-width:981px) and (max-height:760px) {
    .cb-home .fresh-hero__brand { font-size:70px; margin-bottom:9px; }
    .cb-home .fresh-hero h1 { font-size:34px; margin-bottom:15px; }
    .cb-home .fresh-hero__intro { font-size:16px; margin-bottom:18px; }
    .cb-home .hero-rating { margin-top:15px; }
    .cb-home .hero-personal-links { margin-top:12px; gap:6px; }
    .cb-home .fresh-hero__copy .fresh-button { min-height:50px; padding-block:12px; }
}

@media (max-width:520px) {
    .cb-home .fresh-hero__copy .fresh-actions { align-items:stretch; flex-direction:column; gap:10px; }
    .cb-home .fresh-hero__copy .fresh-button { font-size:15px; padding-inline:14px; }
    .cb-home .fresh-button { white-space:normal; }
}

@media (max-width:780px) { .cb-design-js .cb-home .is-cleanup-enhanced .hero-cleanup-track { height:calc(100svh + 60px); } }
@media (prefers-reduced-motion:reduce) {
    .cb-design-js .is-cleanup-ready .scene-ground-shadow { display:none; }
    .cb-design-js .cb-home .is-cleanup-enhanced .hero-cleanup-track { height:auto; }
    .cb-design-js .cb-home .is-cleanup-enhanced .hero-cleanup-stage,
    .cb-design-js .cb-home .is-cleanup-enhanced .fresh-hero__copy { position:relative; top:auto; }
}
.cb-reduced-motion .is-cleanup-ready .scene-ground-shadow { display:none; }
.cb-reduced-motion .cb-home .is-cleanup-enhanced .hero-cleanup-track { height:auto; }
.cb-reduced-motion .cb-home .is-cleanup-enhanced .hero-cleanup-stage,
.cb-reduced-motion .cb-home .is-cleanup-enhanced .fresh-hero__copy { position:relative; top:auto; }
.fresh-reviews.fresh-reviews--link { padding:72px 0; border-block:1px solid #25262112; }
.fresh-reviews--link .review-invitation { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:40px; align-items:center; padding:42px 48px; background:#fffdf8; border:1px solid #d8d1c2; border-radius:14px; box-shadow:0 12px 32px #2526210a; }
.review-invitation__copy { max-width:620px; }
.review-invitation__eyebrow { margin:0 0 12px; color:#77571e; font-size:12px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; }
.review-invitation__copy h2 { margin:0 0 12px; color:#252621; font-size:clamp(32px,4vw,46px); font-weight:400; line-height:1.12; letter-spacing:-.025em; }
.review-invitation__copy h2 em { color:#77571e; font-family:'Cormorant Garamond',Georgia,serif; font-weight:500; }
.review-invitation__copy>p:last-child { max-width:540px; margin:0; color:#5b6056; font-size:16px; line-height:1.65; }
.review-invitation__actions { display:flex; flex-direction:column; align-items:flex-start; gap:13px; min-width:242px; }
.review-invitation__actions .fresh-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; text-decoration:none; }
.review-invitation__actions .fresh-text-link { font-size:14px; }
.review-invitation__actions>span { color:#676b61; font-size:12px; }
