@font-face{font-family:'DM Sans';src:url('/assets/dm-sans-400.woff2') format('woff2'),url('/assets/dm-sans-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'DM Sans';src:url('/assets/dm-sans-500.woff2') format('woff2'),url('/assets/dm-sans-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:'DM Sans';src:url('/assets/dm-sans-600.woff2') format('woff2'),url('/assets/dm-sans-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:'DM Sans';src:url('/assets/dm-sans-700.woff2') format('woff2'),url('/assets/dm-sans-700.ttf') format('truetype');font-weight:700;font-display:swap}

/* A continuous photographic composition: charcoal, warm ivory, muted taupe and satin-silver details. */
:root{--paper:#f6f3ee;--ink:#252321;--muted:#66615a;--accent:#6c6255;--blue:#655847;--blue-deep:#51483c;--ice:#cbc6bd;--line:#d7d1c8;--silver:#e6e3dc;--dark:#1b1b19;--royal:#554c40;--interior:#302d29;--page-gutter:20px;--nav-height:80px;--header-height:calc(var(--nav-height) + env(safe-area-inset-top,0px))}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 20px)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{display:block;max-width:100%}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-weight:500}
h2{font-size:clamp(35px,5vw,62px);line-height:1.1;letter-spacing:-.05em;margin-bottom:24px;text-wrap:balance}
h2 em{font-style:normal;color:#70614e;font-weight:400}
p{font-size:16px;line-height:1.8;color:var(--muted);max-width:65ch}
p a{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
a,button,summary{-webkit-tap-highlight-color:#76655520}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #766555;outline-offset:5px}
.hero a:focus-visible,.dark-section a:focus-visible,.contact-section a:focus-visible,.footer a:focus-visible{outline-color:#e0d3bf}
.skip{position:fixed;left:12px;left:max(12px,env(safe-area-inset-left,0px));top:-100px;z-index:500;background:#fff;color:var(--ink);padding:16px;border:2px solid var(--blue)}
.skip:focus{top:12px;top:max(12px,env(safe-area-inset-top,0px))}
.wrap{width:calc(100% - 40px);max-width:1240px;margin:auto;padding-left:max(0px,calc(env(safe-area-inset-left,0px) - var(--page-gutter)));padding-right:max(0px,calc(env(safe-area-inset-right,0px) - var(--page-gutter)))}

/* White controls over the hero; opaque white navigation after scrolling or opening the menu. */
.header{position:fixed;top:0;left:0;right:0;padding-top:env(safe-area-inset-top,0px);background:#fff;color:var(--ink);z-index:200;border-bottom:1px solid #e2ddd5}
.header.is-scrolled,.header.menu-open{background:#fff;color:var(--ink);border-bottom-color:#cec7bb}
.header:has(+main .hero):not(.is-scrolled):not(.menu-open){background:transparent;color:#f8f6f1;border-bottom-color:#ffffff26}
.header:has(+main .hero):not(.is-scrolled):not(.menu-open) .brand-mark,.header:has(+main .hero):not(.is-scrolled):not(.menu-open) .header-call{color:#f8f6f1}
.header:has(+main .hero):not(.is-scrolled):not(.menu-open) .nav-links>a:not(.btn){color:#f8f6f1}
.header:has(+main .hero):not(.is-scrolled):not(.menu-open) .nav-links>a:not(.btn):hover,.header:has(+main .hero):not(.is-scrolled):not(.menu-open) .nav-links>a[aria-current=page]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.header:has(+main .hero):not(.is-scrolled):not(.menu-open) .nav-links .btn{background:#eee9df;color:#383127;border-color:#eee9df}
.header:has(+main .hero):not(.is-scrolled):not(.menu-open) .nav-links .btn:hover{background:#fff;border-color:#fff}
.header:has(+main .hero):not(.is-scrolled):not(.menu-open) a:focus-visible,.header:has(+main .hero):not(.is-scrolled):not(.menu-open) button:focus-visible{outline-color:#fff}
.header+main{padding-top:var(--header-height)}
.header+main:has(.hero){padding-top:0}
.nav-row{min-height:var(--nav-height);display:flex;align-items:center;gap:14px}
.brand{display:flex;align-items:center;gap:8px;flex-shrink:0}
.brand-mark{display:grid;place-items:center;order:2;width:26px;height:34px;margin-left:0;color:var(--blue);font-size:29px;line-height:1;font-style:italic;font-weight:700;letter-spacing:-7px;padding-right:7px}
.brand-name{font-size:14px;line-height:1.1;font-weight:700;letter-spacing:.045em}
.brand-name span{display:block;font-size:7.5px;letter-spacing:.13em;font-weight:600;margin-top:5px}
.header-call{display:flex;align-items:center;min-height:44px;margin-left:auto;font-size:12px;font-weight:700;white-space:nowrap;flex-shrink:0;color:var(--blue)}
.header-call:hover{text-decoration:underline;text-underline-offset:4px}
.menu-toggle{width:38px;height:44px;flex-shrink:0;padding:9px 5px;display:flex;flex-direction:column;justify-content:center;gap:7px;background:none;border:0;color:inherit;cursor:pointer}
.menu-toggle span{display:block;width:27px;height:2px;background:currentColor;transition:transform .18s}
.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
.nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:12px 20px 26px;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px));border-bottom:1px solid var(--line);max-height:calc(100vh - var(--header-height));max-height:calc(100dvh - var(--header-height));overflow-y:auto;overscroll-behavior:contain;padding-bottom:calc(26px + env(safe-area-inset-bottom,0px))}
.nav-links.open{display:flex;flex-direction:column}
.nav-links a{padding:16px 0;font-size:15px;min-height:44px}
.nav-links>a:not(.btn){border-bottom:1px solid #e5e0d7}
.nav-links>a:not(.btn):hover,.nav-links a[aria-current=page]{color:var(--blue)}
.nav-links .btn{margin-top:16px}
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:54px;padding:15px 21px;background:var(--blue);color:#fff;font-size:14px;font-weight:600;border:1px solid transparent;border-radius:2px;transition:background .18s,border-color .18s}
.btn>span[aria-hidden]{font-size:21px;line-height:1;flex-shrink:0;font-weight:400}
.btn:hover{background:var(--blue-deep)}
.btn.secondary{background:transparent;color:var(--ink);border-color:#b7afa5}
.btn.secondary:hover{background:#fff;border-color:var(--ink)}
.actions{display:flex;gap:12px;flex-wrap:wrap}

/* The photograph and text occupy one continuous field rather than two panels. */
.hero{position:relative;isolation:isolate;color:#fff;background:var(--dark);overflow:hidden;min-height:0;padding-bottom:60px;border-bottom:1px solid #7c7161}
.hero:before{content:'';position:absolute;z-index:0;inset:0;background:radial-gradient(ellipse at 18% 72%,rgba(99,90,76,.18) 0%,rgba(75,70,63,.08) 48%,rgba(24,23,21,0) 82%);pointer-events:none}
.hero picture{position:absolute;z-index:-1;inset:0;height:auto;overflow:hidden;background:var(--dark)}
.hero picture:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,20,19,.72) 0%,rgba(20,20,19,.68) var(--header-height),rgba(27,26,23,.28) calc(var(--header-height) + 56px),rgba(27,26,23,.74) calc(var(--header-height) + 148px),rgba(22,21,19,.74) 100%);pointer-events:none}
.hero-photo{width:100%;height:100%;object-fit:cover;object-position:50% 45%}.hero .hero-photo[src="/assets/ac-indoor.webp"]{object-position:100% 45%}.hero .hero-photo[src="/assets/ac-outdoor.webp"]{object-position:32% 45%}.hero .hero-photo[src="/assets/ac-service.webp"]{object-position:28% 50%}
/* Neutral-black readability follows the copy, leaving the real room clear below it. */
.hero:has(.hero-photo){--room-copy-top:168px}
.hero:has(.hero-photo):before{background:none}
.hero .hero-photo[src="/assets/ac-sunlit-room.webp"]{object-position:50% 0%;filter:none}
.hero:has(.hero-photo) .hero-call:focus-visible{outline:3px solid #f8f6f1;outline-offset:3px;box-shadow:0 0 0 8px #1b1b19}
.hero:has(.hero-photo) picture:after{background:linear-gradient(180deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.64) var(--header-height),rgba(0,0,0,.08) calc(var(--header-height) + 56px),rgba(0,0,0,.08) 100%)}
.hero:has(.hero-photo) .hero-content:before{content:'';position:absolute;z-index:-1;pointer-events:none;left:calc(50% - 50vw);right:calc(50% - 50vw);top:calc(var(--header-height) + var(--room-copy-top) - 112px);bottom:-64px;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.07) 32px,rgba(0,0,0,.39) 80px,rgba(0,0,0,.70) 112px,rgba(0,0,0,.70) calc(100% - 160px),rgba(0,0,0,.52) calc(100% - 112px),rgba(0,0,0,.17) calc(100% - 48px),rgba(0,0,0,0) 100%)}
@media(max-width:380px){.hero:has(.hero-photo){--room-copy-top:152px}}
@media(min-width:700px){.hero:has(.hero-photo){--room-copy-top:196px}}
@media(min-width:1100px){.hero:has(.hero-photo){--room-copy-top:80px}}
@media(min-width:1500px){.hero:has(.hero-photo){--room-copy-top:100px}}
@media print{.hero:has(.hero-photo) .hero-content:before{display:none}}
.hero-content{position:relative;z-index:1;padding-top:calc(var(--header-height) + 168px);text-align:center}
.eyebrow{display:block;text-transform:uppercase;font-size:10px;line-height:1.7;letter-spacing:.15em;font-weight:500;margin-bottom:24px;color:#6b6256}
.hero .eyebrow{display:none}
.hero h1{font-size:clamp(36px,11.2vw,58px);line-height:1.06;letter-spacing:-.045em;font-weight:700;max-width:960px;margin:0 auto 24px;text-wrap:balance}
.hero h1 em{font-style:italic;color:#ded2bf;font-weight:700;white-space:normal;overflow-wrap:break-word}
.hero p{font-size:15px;color:#f0ece4;line-height:1.75;margin:0 auto 30px;max-width:46ch}
.hero-call{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 auto;background:#ece6dc;color:#302a24;width:100%;max-width:360px;min-height:80px;padding:10px 24px;border:1px solid #f7f3ec;border-radius:2px;text-align:center;transition:background .18s,border-color .18s}
.hero-call[data-contact="call"]{justify-content:center;gap:0}
.hero-call span{flex:1;font-size:11.5px;line-height:1.5;font-weight:500;color:#5a5045}
.hero-call strong{font-size:28px;line-height:1.3;display:block;margin-top:4px;letter-spacing:-.025em;color:#302a24;font-weight:700;white-space:nowrap}
.hero-call b{display:block;flex-shrink:0;color:#675b4c;font-size:28px;line-height:1;font-weight:400;padding:0;border:0}
.hero-call:hover{background:#fff;border-color:#fff}
.hero-call:hover strong{color:#292621}
@media screen{
  .hero-call[data-contact="call"]{background:#c44a22;color:#fff;border-color:#c44a22}
  .hero-call[data-contact="call"] span,.hero-call[data-contact="call"] strong{color:#fff}
  .hero-call[data-contact="call"]:hover{background:#ad3e1b;border-color:#ad3e1b}
}
.hero-inner h1{max-width:960px}
.hero-inner p{max-width:62ch}
.hero-utility{padding-bottom:60px;background:var(--dark)}
.hero-utility .hero-content{padding-top:calc(var(--header-height) + 58px)}
.hero-utility h1{font-size:clamp(40px,9vw,60px)}
.hero-return span{font-size:16px}
.hero-utility p:last-child{margin-bottom:0}

/* Offset editorial hierarchy leaves room for the subject and the reader. */
.content{padding:72px 0}
.section-head{margin-bottom:36px}
.section-head p{max-width:47ch;margin-bottom:0}
.service-list{display:grid;border-top:1px solid var(--line)}
.service-row{display:grid;grid-template-columns:20px minmax(0,1fr) 24px;gap:15px;align-items:start;border-bottom:1px solid var(--line);padding:24px 0}
.num{display:block;font-size:11px;line-height:1.5;font-weight:400;font-variant-numeric:tabular-nums;color:#756b5e;padding-top:4px}
.service-row h3{font-size:25px;letter-spacing:-.035em;line-height:1.2;margin:0 0 11px;color:var(--ink)}
.service-row p{font-size:14px;margin:0;line-height:1.75}
.service-arrow{display:block;font-size:23px;color:var(--blue);line-height:1.2}
.service-row:hover h3{color:var(--blue)}
.dark-section{background:var(--dark);color:#fff;padding:0 0 72px}
.split{display:grid;gap:36px}
.dark-section .photo-block{margin:0 -20px;position:relative}.dark-section .photo-block:after{content:'';position:absolute;inset:auto 0 0;height:70px;background:linear-gradient(0deg,#1b1b19,transparent);pointer-events:none}
.editorial-image{width:100%;height:clamp(260px,78vw,350px);object-fit:cover;object-position:40% 50%}
.dark-section .eyebrow{color:#cbbfaf}
.dark-section h2 em{color:#cfc0ab}
.dark-section p{color:#d1c9bc}
.dark-section .text-link{color:#f4f0e9;border-color:#585248}
.list-clean{list-style:none;padding:0;margin:28px 0}
.list-clean li{border-top:1px solid #48443d;padding:18px 0;display:flex;gap:19px;font-size:14px;line-height:1.75}
.list-clean b{align-self:flex-start;flex-shrink:0;width:19px;margin-top:3px;font-size:10px;line-height:1.8;font-weight:400;font-variant-numeric:tabular-nums;color:#cbbfaf}
.area-section{padding:72px 0;background:#e8e4dc;border-top:1px solid #fff;border-bottom:1px solid #d1cabf}
.text-link{font-size:14px;line-height:1.6;font-weight:600;border-bottom:1px solid #c7c0b6;padding:18px 0;display:flex;justify-content:space-between;gap:15px;text-decoration:underline;text-underline-offset:4px;color:var(--ink)}
.text-link>span{flex-shrink:0;font-size:23px;line-height:1}
.towns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;border-top:1px solid #d0c9bd}
.towns>span,.towns>a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:56px;font-size:19px;line-height:1.4;letter-spacing:-.025em;padding:14px 0;border-bottom:1px solid #d0c9bd;color:var(--ink)}
.towns a{text-decoration:underline;text-underline-offset:4px;text-decoration-color:#b7afa3}
.towns a>span{font-size:16px;color:#716450}
.towns a:hover{color:var(--blue)}
.area-note{font-size:13px;margin-top:25px;line-height:1.8}
.faq-layout{display:grid;gap:30px}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;position:relative;padding:24px 38px 24px 0;font-size:16px;font-weight:500;line-height:1.6}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:'+';position:absolute;right:1px;top:24px;font-size:25px;line-height:1;color:#726858;font-weight:400}
.faq details[open] summary{color:var(--blue-deep)}
.faq details[open] summary:after{content:'−'}
.faq details p{font-size:14px;padding:0 28px 25px 0;margin-bottom:0;line-height:1.85}
.faq summary:focus-visible{outline-offset:-3px}

/* A clear, flat call action against the interior's charcoal and taupe ground. */
.contact-section{position:relative;padding:72px 0;background:linear-gradient(120deg,#242320 0%,#5a5146 100%);color:#fff;border-top:1px solid #786d5e;border-bottom:1px solid #48443d}
.contact-section .eyebrow{color:#d1c6b7}
.contact-section h2{font-size:clamp(34px,4.5vw,57px)}
.contact-section p,.contact-aside small{color:#ded6cb}
.contact-section .btn{background:#e7e0d5;color:#302b25;border-color:#e7e0d5}
.contact-section .btn:hover{background:#fff;border-color:#fff}
.contact-section .btn.secondary{background:transparent;color:#f4f0e9;border-color:#8a7e6e}
.contact-section .btn.secondary:hover{background:#353129;border-color:#cfc5b6}
.contact-aside small{display:block;font-size:13px;margin-top:25px;line-height:1.85}
.footer{padding:54px 0 100px;background:#141413;color:#e8e2d7}
.footer .brand-mark{color:#d6c9b6}
.footer-top{display:flex;flex-direction:column;gap:33px}
.footer-links{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:13px;line-height:1.5;max-width:540px}
.footer-links a{padding:7px 0;text-decoration:underline;text-decoration-color:#807567;text-underline-offset:5px}
.footer-links a:hover{color:#fff}
.footer-bottom{border-top:1px solid #48443d;margin-top:36px;padding-top:24px;font-size:11px;color:#c7bfb2;display:flex;flex-direction:column;gap:15px;line-height:1.85}
.floating-wa{position:fixed;right:18px;right:max(18px,env(safe-area-inset-right,0px));bottom:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:120;width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:#087f47;color:#fff;border:2px solid #fff}
.floating-wa svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.floating-wa:hover{background:#08643b}

/* Long guides retain comfortable line lengths and quiet, unmistakable links. */
.crumbs{font-size:12px;line-height:1.8;color:var(--muted);margin-bottom:36px}
.crumbs a{color:var(--blue-deep);text-decoration:underline;text-underline-offset:4px}
.article{max-width:820px;margin-inline:auto}
.article h2{font-size:29px;line-height:1.22;letter-spacing:-.035em;margin:44px 0 21px;text-wrap:balance}
.article h2:first-child{margin-top:0}
.article h3{font-size:21px;line-height:1.35;letter-spacing:-.025em;margin:30px 0 15px}
.article p{max-width:72ch}
.article ul{color:var(--muted);line-height:1.85;padding-left:23px}
.article li{padding-left:3px;margin-bottom:9px}
.article li::marker{color:#847666}
.article a{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;overflow-wrap:anywhere}
.article p a,.article li a,.source-note a{color:var(--blue-deep)}
.article>section{margin-top:48px;padding-top:38px;border-top:1px solid var(--line)}
.article>section:first-child,.article .content-crumbs+section{margin-top:0;padding-top:0;border-top:0}
.article section{scroll-margin-top:calc(var(--header-height) + 24px)}
.article .faq{margin:25px 0 36px}
.article .faq summary{line-height:1.6}
.article .availability-note{font-size:13px;line-height:1.8;margin-bottom:36px}
.article .service-list{margin-top:28px}
.article .service-row{text-decoration:none}
.article .service-row h3{margin-top:0}
.article .service-row>div{display:block}
.note{border-left:2px solid #a29686;padding:4px 0 4px 23px}
.related{border-top:1px solid var(--line);margin-top:40px;padding-top:27px;display:flex;flex-wrap:wrap;gap:16px 23px;font-size:14px;line-height:1.7;color:var(--blue-deep)}
.locality-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px;margin:28px 0 40px;border-top:1px solid var(--line)}
.locality-grid a{padding:20px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:19px;line-height:1.4;color:var(--ink);text-decoration:underline;text-decoration-color:#b7afa3;text-underline-offset:4px}
.locality-grid a:hover{color:var(--blue)}
.locality-grid a>span[aria-hidden]{flex-shrink:0;font-size:21px;color:#716450}
.source-note{font-size:13px;line-height:1.8}
.source-note a{text-decoration:underline}
.guide-index{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0 23px;margin-bottom:42px;color:var(--ink)}
.guide-index strong{font-size:15px;font-weight:600}
.guide-index ul{margin:18px 0 0;padding-left:20px}
.guide-index li{margin-bottom:10px;font-size:15px;line-height:1.7}
.guide-index a,.article .guide-index a{color:var(--blue-deep);text-decoration:underline;text-underline-offset:4px}
.guide-index a:hover{color:var(--ink)}

@media(max-width:380px){
  .nav-row{gap:8px}.menu-toggle{width:32px;padding-left:3px;padding-right:2px}.brand{gap:5px}.brand-mark{width:23px;font-size:27px}.header-call{font-size:11.5px}
  .hero-content{padding-top:calc(var(--header-height) + 152px)}
  .hero-call{min-height:76px;padding:10px 18px;gap:14px}.hero-call strong{font-size:24px}.hero-call b{font-size:26px;padding:0}.hero-call span{font-size:10.5px}
  .service-row{grid-template-columns:21px minmax(0,1fr) 20px;gap:12px}.service-row h3{font-size:22px}.service-arrow{font-size:21px}
  .towns{column-gap:20px}.towns>span,.towns>a{font-size:18px}
}
@media(max-width:480px){.locality-grid{grid-template-columns:1fr}.contact-aside .actions{flex-direction:column}.contact-aside .btn{width:100%;max-width:340px}}
@media(min-width:700px){
  :root{--page-gutter:40px;--nav-height:92px}.wrap{width:calc(100% - 80px)}
  .brand-name{font-size:18px}.brand-name span{font-size:9px}.brand-mark{width:32px;font-size:36px}.header-call{font-size:14px}
  .hero{padding-bottom:72px}.hero-content{padding-top:calc(var(--header-height) + 196px)}
  .hero h1{font-size:64px;line-height:1.05;max-width:840px}.hero p{font-size:17px;max-width:50ch;margin-bottom:34px}.mobile-break{display:none}
  .hero-call{max-width:380px;min-height:88px;padding:10px 28px}.hero-call span{font-size:13px}.hero-call strong{font-size:30px}.hero-call b{font-size:30px;padding:0}
  .hero-utility{padding-bottom:72px}.hero-utility .hero-content{padding-top:calc(var(--header-height) + 75px)}
  .content,.area-section{padding:96px 0}.section-head{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:end;margin-bottom:48px}.section-head h2{margin-bottom:0}
  .service-row{grid-template-columns:40px minmax(0,1fr) 30px;padding:32px 0;gap:23px}.service-row>div{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}.service-row h3{font-size:28px;margin-bottom:0}.service-row p{font-size:15px}.num{padding-top:6px;font-size:12px}.service-arrow{font-size:26px}
  .split{grid-template-columns:1fr 1fr;gap:48px;align-items:center}.dark-section{padding:96px 0}.dark-section .split{grid-template-columns:1fr}.dark-section .photo-block{margin:0}.editorial-image{height:460px}
  .faq-layout{grid-template-columns:1fr 1.2fr;gap:60px}.contact-section{padding:96px 0}.contact-aside .actions{gap:12px}.contact-section .btn{padding:15px 19px;gap:20px}
  .footer-top,.footer-bottom{flex-direction:row;justify-content:space-between}.footer-top{gap:45px}.footer-links{justify-content:flex-end}.floating-wa{width:56px;height:56px;right:28px;right:max(28px,env(safe-area-inset-right,0px));bottom:28px;bottom:calc(28px + env(safe-area-inset-bottom,0px))}
  .article h2{font-size:34px}.article>section{margin-top:58px;padding-top:42px}.article .service-row h3{font-size:26px;margin-bottom:11px}
}
@media(min-width:1100px){
  .header-call,.menu-toggle{display:none}.nav-links{display:flex;position:static;margin-left:auto;gap:28px;padding:0;background:none;border:0;align-items:center;overflow:visible}.nav-links a{font-size:13px;padding:12px 0}.nav-links>a:not(.btn){border:0}.nav-links .btn{padding:12px 18px;margin:0;gap:25px;min-height:48px}.nav-links .btn>span[aria-hidden]{font-size:19px}
  .hero{min-height:760px;padding-bottom:72px}.hero:before{inset:0;background:radial-gradient(ellipse at 22% 78%,rgba(99,90,76,.18) 0%,rgba(75,70,63,.08) 48%,rgba(24,23,21,0) 82%)}
  .hero picture:after{background:linear-gradient(180deg,rgba(20,20,19,.72) 0%,rgba(24,23,21,.72) var(--header-height),rgba(27,26,23,.74) 45%,rgba(22,21,19,.74) 100%)}
  .hero .hero-photo{object-position:50% 45%}.hero .hero-photo[src="/assets/ac-indoor.webp"]{object-position:64% 45%}.hero .hero-photo[src="/assets/ac-outdoor.webp"]{object-position:30% 45%}.hero .hero-photo[src="/assets/ac-service.webp"]{object-position:28% 50%}
  .hero .hero-photo[src="/assets/ac-sunlit-room.webp"]{object-position:50% 0%}
  .hero-content{padding-top:calc(var(--header-height) + 80px);text-align:center}
  .hero .eyebrow{display:block;color:#eee8dc;max-width:none;font-size:10px;line-height:1.8;margin:0 auto 26px;letter-spacing:.15em}
  .hero h1{max-width:980px;margin:0 auto 26px;font-size:clamp(68px,6.2vw,88px);line-height:1.04;letter-spacing:-.045em;text-wrap:balance}
  .hero p{max-width:52ch;margin:0 auto 34px;font-size:17px;line-height:1.8}.hero-call{margin-left:auto;margin-right:auto}
  .hero-utility{min-height:0;padding-bottom:78px}.hero-utility .hero-content{padding-top:calc(var(--header-height) + 75px)}.hero-utility h1{max-width:850px}.hero-utility p{max-width:65ch}
  #services>.wrap{display:grid;grid-template-columns:.82fr 1.18fr;column-gap:100px;align-items:start}
  #services>.wrap>.eyebrow{grid-column:1/-1;margin-bottom:42px}#services .section-head{display:block;margin:0}#services .section-head h2{font-size:57px;margin-bottom:30px}#services .section-head p{font-size:16px;max-width:34ch}
  #services .service-list{margin-top:4px}#services .service-row{grid-template-columns:22px minmax(0,1fr) 24px;gap:16px;padding:25px 0}#services .service-row>div{display:block}#services .service-row h3{font-size:26px;margin-bottom:12px;max-width:none}#services .service-row p{font-size:14px;max-width:44ch}
  .service-row{grid-template-columns:64px minmax(0,1fr) 32px;padding:38px 0;gap:25px}.service-row>div{grid-template-columns:1.15fr 1fr;gap:80px}.service-row h3{font-size:32px;max-width:420px}.service-row p{font-size:16px}
  .split{gap:80px}.dark-section{padding:100px 0 150px}.dark-section .split{display:block;position:relative;isolation:isolate}.dark-section .photo-block{position:absolute;z-index:-1;top:48px;bottom:-48px;left:min(-40px,calc((1240px - 100vw)/2));right:28%}.dark-section .photo-block:after{display:none}.dark-section .split>div:last-child{margin-left:48%;padding:46px 0 46px 64px;background:var(--dark);border-left:1px solid #786e61}.editorial-image{height:100%;min-height:600px;object-position:32% 50%}.dark-section h2{font-size:68px}.faq-layout{gap:90px}.contact-section .split{grid-template-columns:1.1fr 1fr}.contact-aside{justify-self:end;max-width:440px;width:100%}
  .article .service-row{grid-template-columns:36px minmax(0,1fr) 26px;padding:29px 0;gap:20px}.article .service-row h3{font-size:25px}.article .service-row p{font-size:15px}
}
@media(min-width:1500px){.hero{min-height:820px}.hero-content{padding-top:calc(var(--header-height) + 100px)}.hero h1{font-size:88px}}
/* The hero already includes the fixed header offset; count the viewport only once. */
@media(max-width:1099px){.hero{min-height:100vh;min-height:100svh;min-height:100dvh;padding-bottom:max(60px,env(safe-area-inset-bottom,0px))}}
@media(min-width:700px) and (max-width:1099px){.hero{padding-bottom:max(72px,env(safe-area-inset-bottom,0px))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.header,.floating-wa,.hero picture,.hero:before{display:none}.header+main:has(.hero){padding-top:0}.hero,.hero-utility{color:#2d2a25;background:#fff;min-height:0;padding-bottom:30px}.hero-content,.hero-utility .hero-content{padding-top:20px}.hero h1,.hero h1 em,.hero p{color:#2d2a25;max-width:100%}.hero-call{color:#2d2a25}.content{padding:30px 0}.faq details{break-inside:avoid}.footer{padding-bottom:30px}}

/* Photo focal point protects the real unit on portrait tablets; the orange slash echoes the call action. */
@media(min-width:701px) and (max-width:1099px){.hero .hero-photo[src="/assets/ac-sunlit-room.webp"]{object-position:85% 0%}}
@media screen{
  .brand-mark{color:#c44a22}
  .header:has(+main .hero):not(.is-scrolled):not(.menu-open) .brand-mark,.footer .brand-mark{color:#f59a65}
}

/* Compact phone call action; retain the number size and touch-target height. */
@media screen and (max-width:699px){.hero-call[data-contact="call"]{max-width:280px}}
@media screen and (max-width:380px){.hero-call[data-contact="call"]{max-width:248px}}
