@font-face{font-family:Inter;src:url('/assets/v30-full/inter-400.woff2') format('woff2');font-weight:100 900;font-display:swap}@font-face{font-family:Oswald;src:url('/assets/v30-full/oswald-700.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--ink:#131515;--paper:#f3f1ea;--red:#ec432b;--muted:#999d98;--line:rgba(255,255,255,.17);--ease:cubic-bezier(.22,1,.36,1);--max:1440px;--pad:clamp(24px,5.2vw,100px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--ink);color:var(--paper);font-family:Inter,Arial,sans-serif;font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}body.locked{overflow:hidden}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{color:inherit}button:disabled{cursor:default}button,summary,a,input{touch-action:manipulation}::selection{background:var(--red);color:white}:focus-visible{outline:2px solid #ff785b;outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2,.display{font-family:Oswald,'Arial Narrow',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:-.035em;line-height:1.02}h2{font-size:clamp(46px,6.3vw,96px)}h3{line-height:1.15;font-weight:400;letter-spacing:-.04em}p{color:#b4b6b0}svg{display:block}.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}.section{padding:110px 0}.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:600;text-transform:uppercase;display:flex;align-items:center;gap:12px}.eyebrow:before{content:'';display:block;width:6px;height:6px;background:var(--red);flex-shrink:0}.muted{color:var(--muted)}.red{color:var(--red)}.section-top{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:48px}.section-top .eyebrow{margin-bottom:22px}.section-top p{max-width:335px}.arrow{font-size:22px;line-height:1}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:56px;padding:15px 25px;background:var(--red);border:1px solid var(--red);color:white;font-size:12px;font-weight:600;letter-spacing:.01em;transition:background .3s,transform .3s,border-color .3s}.btn:hover{background:#ff5136;border-color:#ff5136;transform:translateY(-3px)}.btn-outline{background:transparent;border:1px solid rgba(255,255,255,.4)}.btn-outline:hover{background:rgba(255,255,255,.08);border-color:white}.btn-light{background:var(--paper);border-color:var(--paper);color:var(--ink)}.btn-light:hover{background:white;border-color:white}.btn-dark{background:var(--ink);border-color:var(--ink);color:var(--paper)}.btn-dark:hover{background:#343636;border-color:#343636}.text-link{display:inline-flex;gap:35px;align-items:center;font-size:12px;padding:12px 0;border-bottom:1px solid currentColor}.text-link:hover .arrow{transform:translate(3px,-3px)}.text-link .arrow{transition:transform .3s}.button-row{display:flex;flex-wrap:wrap;gap:12px}.skip-link{position:fixed;top:-100px;left:20px;background:var(--red);padding:12px;z-index:1000}.skip-link:focus{top:10px}
.topline{height:31px;background:var(--red);display:flex;align-items:center;justify-content:center;gap:10px;text-align:center;font-size:9px;letter-spacing:.13em;font-weight:600;text-transform:uppercase;color:white}.topline a{border-bottom:1px solid #ffffff70}.topline .dot{width:4px;height:4px;background:white;border-radius:50%}.header{height:94px;display:flex;justify-content:space-between;align-items:center;padding:0 var(--pad);position:absolute;top:31px;left:0;width:100%;z-index:30;border-bottom:1px solid var(--line);transition:background .35s,height .35s;gap:25px}.header.scrolled{position:fixed;top:0;height:76px;background:#131515f5;backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}.brand img{width:46px;height:44px;object-fit:contain}.wordmark{font-family:Oswald,sans-serif;font-size:24px;letter-spacing:-.025em;line-height:1.1;white-space:nowrap}.wordmark span{display:block;font-family:Inter,sans-serif;font-size:7px;letter-spacing:.32em;margin-top:6px}.nav{display:flex;align-items:center;gap:clamp(16px,2.2vw,35px);font-size:11px}.nav a{position:relative}.nav a:after{content:'';position:absolute;left:0;bottom:-7px;width:100%;height:1px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .3s}.nav a:hover:after,.nav a[aria-current=page]:after{transform:scaleX(1)}.header-actions{display:flex;align-items:center;gap:23px}.header-phone{font-size:11px;white-space:nowrap}.header .btn{min-height:42px;padding:10px 17px;font-size:10px;gap:18px}.menu-toggle{display:none;border:1px solid var(--line);background:transparent;width:43px;height:43px;align-items:center;justify-content:center;flex-direction:column;gap:5px}.menu-toggle i{height:1px;width:18px;background:white;transition:transform .3s}.menu-toggle[aria-expanded=true] i:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] i:last-child{transform:translateY(-3px) rotate(-45deg)}.mobile-menu{display:none;position:fixed;inset:76px 0 0;background:#171919;z-index:29;padding:35px var(--pad);overflow:auto}.mobile-menu.open{display:block}.mobile-menu a{display:block;font-family:Oswald,sans-serif;font-size:36px;text-transform:uppercase;border-bottom:1px solid var(--line);padding:10px 0}.mobile-menu .small{font:13px Inter,sans-serif;margin-top:25px}
.hero{position:relative;min-height:780px;height:calc(100svh - 31px);max-height:1180px;overflow:hidden;display:flex;align-items:center}.hero-photo{position:absolute;inset:0;background:url('/assets/v30-full/desert-home.webp') center 56%/cover;transform:scale(1.06);animation:hero-drift 22s ease-in-out infinite alternate}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,15,15,.7),rgba(12,15,15,.08) 72%),linear-gradient(0deg,#131515 0%,transparent 26%,rgba(0,0,0,.2) 80%);pointer-events:none}.hero-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;opacity:.62;pointer-events:none}.hero-content{position:relative;z-index:2;width:100%;padding-top:85px;padding-bottom:160px}.hero .eyebrow{margin-bottom:27px;color:#deded5}.hero h1,.hero .hero-display{font-size:clamp(76px,9.35vw,150px);max-width:980px;letter-spacing:-.03em;line-height:1.035}.hero h1>span,.hero .hero-display>span{display:block}.hero h1 .outline,.hero .hero-display .outline{color:transparent;-webkit-text-stroke:1px #f3f1ead9}.hero h1 .last-line,.hero .hero-display .last-line{color:#fff}.hero-copy{max-width:430px;font-size:14px;margin:25px 0 28px;color:#dfdfd5;line-height:1.8}.hero-content .button-row{align-items:center}.hero .btn-outline{border:0;border-bottom:1px solid #ffffff80;padding-left:4px;margin-left:22px}.hero-bottom{position:absolute;z-index:3;bottom:35px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;align-items:end;border-top:1px solid #ffffff30;padding-top:24px}.hero-note{display:flex;gap:22px;align-items:center;font-size:10px;color:#cfcec5}.hero-note .stars{color:#f9b888;letter-spacing:4px;font-size:13px}.hero-note strong{font-weight:400;display:block;color:white}.hero-coordinate{text-align:right;font-size:8px;letter-spacing:.18em;line-height:1.9;color:#b2b4ac}.hero-coordinate b{color:var(--paper);font-size:10px;font-weight:400}.scroll-note{font-size:9px;letter-spacing:.18em;text-transform:uppercase;display:flex;gap:15px;align-items:center}.scroll-line{width:1px;height:35px;background:#ffffff30;position:relative;overflow:hidden}.scroll-line:after{content:'';height:15px;width:1px;background:white;position:absolute;animation:scroll-down 2s infinite}.hero-label{position:absolute;right:var(--pad);bottom:165px;z-index:3;display:flex;gap:14px;align-items:center}.hero-label div{width:38px;height:38px;border:1px solid #ffffff40;border-radius:50%;display:grid;place-items:center;font-size:23px}.hero-label p{font-size:8px;letter-spacing:.17em;color:#e5e5dd;line-height:1.8;text-transform:uppercase}.hero-label b{font-size:12px;font-weight:400}.reveal{transition:opacity 1s var(--ease),transform 1s var(--ease)}.js .reveal:not(.visible){opacity:0;transform:translateY(30px)}.hero-content .eyebrow,.hero h1>span,.hero-copy,.hero-content .button-row,.hero-content .eyebrow,.hero .hero-display>span,.hero-copy,.hero-content .button-row{animation:rise 1.15s var(--ease) both}.hero h1>span:nth-child(2),.hero .hero-display>span:nth-child(2){animation-delay:.1s}.hero h1>span:nth-child(3),.hero .hero-display>span:nth-child(3){animation-delay:.2s}.hero-copy{animation-delay:.3s}.hero-content .button-row{animation-delay:.4s}
.trust-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:27px 0}.trust-items{display:flex;justify-content:space-between;align-items:center;gap:24px}.trust-item{font-size:10px;letter-spacing:.06em;display:flex;align-items:center;gap:14px}.trust-item span{font-size:21px;color:var(--red)}.trust-item small{display:block;color:#90968f;font-size:8px;letter-spacing:.11em}.intro{background:var(--paper);color:var(--ink);padding:104px 0}.intro-layout{display:grid;grid-template-columns:.6fr 1.4fr;gap:60px}.intro .eyebrow{align-self:start;margin-top:12px}.intro h2{font-family:Inter,sans-serif;font-weight:400;font-size:clamp(30px,3.8vw,57px);letter-spacing:-.045em;line-height:1.2;text-transform:none}.intro h2 span{color:#8e908a}.intro p{color:#696e68;max-width:650px;margin-top:25px;font-size:13px}.intro-bottom{display:flex;gap:30px;align-items:center;margin-top:35px}.mini-shield{width:50px}.intro-bottom small{font-size:9px;letter-spacing:.1em;text-transform:uppercase}.intro-bottom strong{display:block;font-size:11px;font-weight:400;margin-top:3px}
.services-section{background:#181a19}.service-layout{display:grid;grid-template-columns:1.04fr 1fr;gap:70px}.service-visual{position:relative;min-height:545px;overflow:hidden}.service-visual img{height:100%;width:100%;object-fit:cover;position:absolute;transition:opacity .4s,transform 1s}.service-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0009,transparent 60%)}.service-caption{position:absolute;bottom:30px;left:30px;right:30px;z-index:1;display:flex;justify-content:space-between;align-items:end}.service-caption .eyebrow{font-size:8px}.service-caption strong{display:block;font-family:Oswald,sans-serif;font-size:31px;line-height:1.1;margin-top:12px}.service-caption span{font-size:10px}.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:30px 1fr 25px;gap:18px;align-items:start;padding:26px 0;border-bottom:1px solid var(--line)}.service-row .num{font-size:9px;color:#777f76;margin-top:6px}.service-row h3{font-size:25px;transition:color .3s}.service-row p{font-size:11px;line-height:1.8;margin-top:9px;max-width:310px;color:#91968f}.service-row .arrow{font-size:27px;transition:transform .3s}.service-row:hover h3,.service-row:hover .arrow{color:var(--red)}.service-row:hover .arrow{transform:translate(4px,-4px)}.service-row:hover .num{color:var(--red)}.service-extras{display:flex;flex-wrap:wrap;gap:22px;margin-top:20px;font-size:10px;color:#b7bab2}.service-extras a:hover{color:white}
.thermal{padding:120px 0;background:#101313;position:relative;overflow:hidden}.thermal-head{text-align:center;position:relative;z-index:2}.thermal-head .eyebrow{justify-content:center;margin-bottom:20px}.thermal-head p{max-width:425px;margin:25px auto 0;font-size:12px}.thermal-head h2{font-size:clamp(53px,7vw,102px)}.thermal-stage{margin-top:55px;position:relative;border:1px solid var(--line);min-height:440px;background:#1b2326;overflow:hidden}.thermal-photo{position:absolute;inset:0;background:url('/assets/v30-full/desert-home.webp') center 65%/cover;filter:saturate(.6) brightness(.58)}.thermal-cool{position:absolute;inset:0;background:linear-gradient(120deg,#54b1d260,#2b82b026);clip-path:inset(0 0 0 var(--split,50%));backdrop-filter:saturate(.7)}.thermal-hot{position:absolute;inset:0;background:#ff501e35;clip-path:inset(0 calc(100% - var(--split,50%)) 0 0)}.thermal-line{position:absolute;top:0;bottom:0;left:var(--split,50%);width:1px;background:#fff8;pointer-events:none}.thermal-line:after{content:'↔';position:absolute;top:50%;left:0;transform:translate(-50%,-50%);border-radius:50%;width:50px;height:50px;background:#f2f1e9;color:#131515;display:grid;place-items:center;font-size:24px;box-shadow:0 0 40px #0006}.thermal-data{position:absolute;z-index:2;top:35px;left:35px;right:35px;display:flex;justify-content:space-between;pointer-events:none}.thermal-data small{font-size:9px;letter-spacing:.18em;text-transform:uppercase;display:block}.thermal-data strong{font-family:Oswald,sans-serif;font-size:77px;line-height:1.2;letter-spacing:-.05em}.thermal-data div:last-child{text-align:right;color:#b4e4f3}.thermal-data div:first-child{color:#ffb392}.thermal-slider{position:absolute;inset:0;z-index:3;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}.thermal-stage:focus-within{outline:2px solid var(--red);outline-offset:5px}.thermal-foot{position:absolute;bottom:25px;left:35px;right:35px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.07em;color:#d1d3ca;pointer-events:none}.thermal-note{display:flex;justify-content:space-between;margin-top:13px;font-size:8px;color:#717a73;gap:20px}.thermal-note span:first-child{color:#9caaa1}.thermal-section-link{margin-top:27px;display:flex;justify-content:center}
.legacy{background:#e7e5dc;color:var(--ink);padding:110px 0}.legacy-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.legacy .eyebrow{margin-bottom:25px}.legacy h2{font-size:clamp(48px,6vw,85px)}.legacy h2 span{color:var(--red)}.legacy p{color:#686d65;font-size:13px;margin-top:27px;max-width:430px}.legacy .text-link{margin-top:22px}.legacy-photo{position:relative;padding-bottom:24px}.legacy-photo img{aspect-ratio:4/4.2;object-fit:cover;object-position:42% center}.legacy-stamp{position:absolute;background:var(--red);bottom:0;left:-32px;width:150px;height:148px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:white}.legacy-stamp strong{font:65px Oswald,sans-serif;line-height:1}.legacy-stamp span{font-size:8px;letter-spacing:.17em;text-align:center;line-height:1.7;margin-top:10px}.legacy-facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:70px;padding-top:34px;border-top:1px solid #c2c4ba;gap:30px}.legacy-facts strong{display:block;font:38px Oswald,sans-serif;letter-spacing:-.03em}.legacy-facts span{font-size:9px;letter-spacing:.09em;color:#74796e;text-transform:uppercase}
.marquee{background:var(--red);padding:24px 0;overflow:hidden;white-space:nowrap;color:#171818}.marquee-track{display:flex;width:max-content;animation:marquee 40s linear infinite;gap:38px;font:46px Oswald,sans-serif;letter-spacing:-.02em;line-height:1.2;text-transform:uppercase}.marquee-track span{display:flex;align-items:center;gap:38px}.marquee-track i{font-style:normal;color:#ff9a7e;font-size:32px}
.plans{background:#202322}.plan-tabs{display:flex;gap:0;margin-bottom:40px;border:1px solid var(--line);max-width:580px}.plan-tab{flex:1;border:0;background:transparent;font-size:11px;letter-spacing:.03em;padding:16px;color:#aaa}.plan-tab[aria-selected=true]{background:var(--paper);color:var(--ink)}.plan-display{display:grid;grid-template-columns:1fr 1.05fr;gap:80px;align-items:center}.member-card{background:linear-gradient(130deg,#37362e,#1f221f 55%,#50483a);border:1px solid #736852;aspect-ratio:1.7;border-radius:15px;padding:35px;position:relative;max-width:535px;box-shadow:0 25px 70px #0005;transform:perspective(1000px) rotateY(-8deg) rotateX(6deg);transition:transform .6s,background .6s;overflow:hidden}.member-card:hover{transform:perspective(1000px) rotateY(0) rotateX(0) translateY(-6px)}.member-card:after{content:'';position:absolute;inset:-80%;background:linear-gradient(100deg,transparent 38%,#c8b08313 48%,transparent 60%);transform:rotate(-15deg);animation:card-shine 9s ease-in-out infinite;pointer-events:none}.member-card .wordmark{font-size:20px;color:#d9c19a}.member-card .member-tier{font-family:Oswald,sans-serif;position:absolute;left:35px;bottom:60px;font-size:42px;color:#e0cfad;letter-spacing:.03em;line-height:1.1}.member-card .member-bottom{position:absolute;bottom:27px;left:35px;right:35px;display:flex;justify-content:space-between;font-size:7px;letter-spacing:.16em;color:#a69e8a}.member-card .card-star{position:absolute;right:35px;top:40px;color:#c4b18f;font-size:27px}.member-card.silver{background:linear-gradient(135deg,#3d4445,#202425 65%,#586568);border-color:#6b7d80}.member-card.silver .member-tier,.member-card.silver .wordmark{color:#dae0df}.member-card.platinum{background:linear-gradient(135deg,#26383b,#162020 60%,#536764);border-color:#7b9690}.member-card.platinum .member-tier,.member-card.platinum .wordmark{color:#d2ede5}.plan-info .plan-badge{color:#d3bd93;font-size:9px;letter-spacing:.14em;text-transform:uppercase}.plan-price{font:72px Oswald,sans-serif;letter-spacing:-.04em;line-height:1;margin:19px 0}.plan-price span{font:11px Inter,sans-serif;letter-spacing:0;color:#9ba198;margin-left:10px}.plan-description{font-size:13px;color:#c7c9bf;max-width:390px}.plan-benefits{padding:0;list-style:none;margin:23px 0 30px;display:grid;grid-template-columns:1fr 1fr;gap:13px 15px}.plan-benefits li{font-size:10px;display:flex;gap:9px;align-items:start;color:#afb5aa}.plan-benefits li:before{content:'↗';color:#d3bd93}.plan-disclaimer{font-size:9px;color:#858e82;margin-top:15px}.plans-compare{margin-top:45px;border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;font-size:11px;color:#abb2a6}.plans-compare a{border-bottom:1px solid #858e82}
.process{background:var(--paper);color:var(--ink)}.process p{color:#757a70}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px}.process-item{border-top:1px solid #c7c9c0;padding-top:26px;position:relative}.process-item:before{content:'';position:absolute;top:-1px;height:1px;width:0;background:var(--red);transition:width .8s}.process-item:hover:before{width:100%}.process-item .num{color:var(--red);font-size:10px}.process-item h3{font-size:23px;margin:32px 0 16px}.process-item p{font-size:11px;max-width:230px}
.gallery{overflow:hidden}.gallery-grid{display:grid;grid-template-columns:1.1fr .8fr .8fr;gap:17px}.gallery-item{position:relative;overflow:hidden;display:block;width:100%;padding:0;border:0;background:#252b26;color:white;text-align:left}.gallery-item img{width:100%;height:430px;object-fit:cover;transition:transform 1s var(--ease),filter 1s;filter:saturate(.75)}.gallery-item:hover img{transform:scale(1.045);filter:saturate(1)}.gallery-item:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0008)}.gallery-item span{position:absolute;z-index:1;bottom:20px;left:22px;right:22px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.08em}.gallery-foot{display:flex;justify-content:space-between;margin-top:20px;font-size:9px;color:#858e82;gap:20px}.reviews{background:#191c1b;border-top:1px solid var(--line)}.reviews-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px}.review-score{font:105px Oswald,sans-serif;line-height:1;margin:28px 0 12px}.review-stars{color:var(--red);letter-spacing:7px;font-size:12px}.review-count{font-size:10px;margin-top:12px;color:#91998d}.review-slide{display:none}.review-slide.active{display:block;animation:rise .6s var(--ease)}.review-slide blockquote{font-size:clamp(24px,2.8vw,39px);font-weight:400;letter-spacing:-.035em;line-height:1.4;margin:0}.review-author{display:flex;gap:14px;align-items:center;margin-top:35px}.review-avatar{width:39px;height:39px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:10px;color:#aab5a7}.review-author strong{display:block;font-weight:400;font-size:11px}.review-author small{font-size:8px;color:#8a9686;letter-spacing:.08em}.review-controls{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:25px;margin-top:35px}.review-controls .buttons{display:flex;gap:10px}.icon-button{background:transparent;border:1px solid #52594f;width:42px;height:42px;display:grid;place-items:center;font-size:20px}.icon-button:hover{background:var(--red);border-color:var(--red)}.review-position{font-size:9px;color:#9aa593}
.areas{background:#e7e5dc;color:var(--ink)}.area-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:center}.areas p{color:#70776c;font-size:12px;max-width:395px;margin:27px 0}.area-cities{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}.city-chip{padding:8px 12px;border:1px solid #b9beb0;background:transparent;font-size:9px;color:#4a5547}.city-chip.active,.city-chip:hover{background:#202b21;color:white;border-color:#202b21}.area-map{position:relative;min-height:420px;background:#dddfd5;overflow:hidden}.area-map svg{width:100%;height:auto}.map-road{stroke:#c6cdc0;stroke-width:2;fill:none}.map-road-small{stroke:#cfd4c8;stroke-width:1;fill:none}.map-boundary{stroke:#aab7a1;stroke-width:1;fill:none;stroke-dasharray:4 8}.map-point{fill:#8a9582}.map-point.active{fill:var(--red)}.map-label{font:9px Inter,sans-serif;fill:#677361;letter-spacing:.04em}.map-label.active{fill:#141e12;font-weight:600}.map-pulse{fill:none;stroke:var(--red);stroke-width:1;transform-origin:var(--x) var(--y);animation:map-pulse 3s infinite}.map-caption{position:absolute;bottom:20px;left:23px;right:23px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.07em;color:#71806a}.map-selected{margin-top:17px;display:flex;justify-content:space-between;gap:15px;font-size:11px}.map-selected strong{font-weight:400}.map-selected a{border-bottom:1px solid #adb5a6}.map-note{font-size:8px!important;margin:8px 0 0!important;color:#8b9582!important}
.faq-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:90px}.faq-layout .eyebrow{margin-bottom:25px}.faq-layout h2{font-size:60px}.faq-layout p{font-size:12px;margin-top:25px;max-width:250px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;padding:24px 45px 24px 0;position:relative;font-size:14px;letter-spacing:-.02em}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:5px;top:17px;font-size:26px;color:#828e7e}details[open] summary:after{content:'−';color:var(--red)}details p{font-size:12px!important;margin:0 0 25px!important;max-width:570px!important;color:#929c8e;line-height:1.85}.cta{background:var(--red);color:white;padding:80px 0;position:relative;overflow:hidden}.cta:before{content:'';position:absolute;right:-150px;top:-280px;width:700px;height:700px;border:1px solid #ff967460;border-radius:50%;box-shadow:0 0 0 70px #ff967417,0 0 0 140px #ff967410}.cta .wrap{position:relative;display:flex;justify-content:space-between;align-items:center;gap:40px}.cta h2{font-size:clamp(63px,7.7vw,110px)}.cta h2 span{color:#ffc2a5}.cta p{color:#ffd1be;font-size:12px;margin:18px 0}.cta .eyebrow{margin-bottom:23px}.cta .eyebrow:before{background:white}.cta-actions{min-width:265px}.cta-actions .btn{width:100%;margin:6px 0}.cta-actions small{display:block;text-align:center;font-size:9px;margin-top:14px;color:#ffcbb5}.footer{background:#101313;padding:70px 0 25px}.footer-top{display:grid;grid-template-columns:1.5fr .8fr .8fr 1.2fr;gap:40px}.footer .brand{align-items:center}.footer p{font-size:10px;color:#7e8a7a;max-width:250px;margin:20px 0}.footer-col h3{font-size:9px;letter-spacing:.11em;color:#84927e;text-transform:uppercase;margin-bottom:20px}.footer-col a,.footer-col span{display:block;font-size:10px;margin:10px 0;color:#bfc8b9}.footer-col a:hover{color:var(--red)}.footer-col .big{font-family:Oswald,sans-serif;font-size:28px;color:var(--paper);line-height:1.1}.footer-bottom{border-top:1px solid var(--line);margin-top:55px;padding-top:23px;display:flex;gap:20px;justify-content:space-between;color:#62715d;font-size:8px}.footer-bottom div{display:flex;gap:25px}.footer-brand-large{font-family:Oswald,sans-serif;font-size:clamp(80px,17.5vw,270px);line-height:1;letter-spacing:-.045em;white-space:nowrap;color:#263026;margin-top:50px;text-align:center;overflow:hidden}.mobile-dock{display:none}.motion-toggle{display:flex;align-items:center;gap:7px;border:0;background:transparent;color:#7e8e76;padding:0;font-size:8px}.motion-toggle:before{content:'Ⅱ';font-size:10px}.motion-toggle[aria-pressed=true]:before{content:'▷'}
.page-hero{padding:178px 0 70px;background:#1b1e1c;position:relative;overflow:hidden}.page-hero:after{content:'';position:absolute;width:600px;height:600px;right:-150px;top:-230px;border:1px solid #52604b33;border-radius:50%;box-shadow:0 0 0 70px #52604b0d,0 0 0 140px #52604b09;pointer-events:none}.page-hero .wrap{position:relative;z-index:1}.breadcrumb{display:flex;gap:10px;font-size:9px;color:#76846f;margin-bottom:38px}.breadcrumb a{color:#a8b39f}.page-hero .eyebrow{margin-bottom:20px}.page-hero h1,.page-hero .hero-display{font-size:clamp(60px,8.5vw,124px);max-width:1030px}.page-hero p{max-width:570px;margin:25px 0;font-size:14px}.page-hero .button-row{margin-top:30px}.page-split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.page-split img{width:100%;aspect-ratio:1.1;object-fit:cover}.page-split h2{font-size:clamp(44px,5vw,74px)}.page-split .eyebrow{margin-bottom:25px}.page-split p{margin-top:25px;font-size:13px}.check-list{list-style:none;padding:0;margin-top:28px}.check-list li{padding:13px 0;border-bottom:1px solid var(--line);font-size:12px;color:#b8c0b0;display:flex;gap:15px}.check-list li:before{content:'↗';color:var(--red)}.light{background:var(--paper);color:var(--ink)}.light p{color:#6a7464}.light .check-list li{color:#626f5b;border-color:#d4d7cc}.editorial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.editorial-card{display:block;border-top:1px solid var(--line);padding-top:25px}.editorial-card .eyebrow{font-size:8px}.editorial-card h3{font-size:29px;line-height:1.2;margin:30px 0 20px}.editorial-card p{font-size:12px}.editorial-card .text-link{margin-top:24px}.editorial-card:hover h3{color:var(--red)}.guide{max-width:850px;margin:auto;padding:80px var(--pad)}.guide h2{font-family:Inter,sans-serif;font-size:28px;line-height:1.3;text-transform:none;margin:45px 0 22px;letter-spacing:-.03em}.guide p{font-size:14px;line-height:1.95;margin-bottom:22px}.guide aside{padding:30px;background:#222a22;border-left:2px solid var(--red);margin:35px 0}.guide aside p{margin:0}.comparison{width:100%;border-collapse:collapse;font-size:12px;margin-top:40px;min-width:600px}.comparison th,.comparison td{padding:20px 15px;text-align:left;border-bottom:1px solid var(--line)}.comparison th{font-weight:400;color:#9faa96}.comparison th:nth-child(3),.comparison td:nth-child(3){background:#333326}.table-wrap{overflow:auto}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.contact-card{border:1px solid var(--line);padding:35px}.contact-card h3{font-size:28px;margin:20px 0}.contact-card p{font-size:12px;min-height:60px}.contact-card .text-link{margin-top:20px}.all-gallery{grid-template-columns:repeat(3,1fr)}.all-gallery .gallery-item img{height:390px}.area-directory{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.area-directory a{padding:26px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:24px;letter-spacing:-.035em}.area-directory a:hover{color:var(--red)}
dialog{background:#191e1a;color:var(--paper);border:1px solid #516047;padding:0;max-width:650px;width:calc(100% - 32px);max-height:90svh;box-shadow:0 50px 140px #0009}dialog::backdrop{background:#061007bd;backdrop-filter:blur(10px)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:23px 30px;border-bottom:1px solid var(--line)}.modal-head .eyebrow{font-size:8px}.modal-close{background:transparent;border:0;font-size:26px;line-height:1;padding:6px}.modal-body{padding:34px}.modal-body h2{font-size:45px}.modal-body>p{font-size:12px;margin:18px 0 24px}.booking-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.booking-option{background:transparent;border:1px solid #46533e;padding:20px;color:#b5c0ab;text-align:left;font-size:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.booking-option.active{border-color:var(--red);background:#ec432b15;color:white}.booking-summary{border-top:1px solid var(--line);margin-top:25px;padding-top:23px}.booking-summary p{font-size:11px;color:#a5b29b;margin-bottom:20px}.booking-summary .btn{width:100%}.booking-summary small{display:block;font-size:9px;color:#788b6d;line-height:1.7;margin-top:13px}.booking-urgent{display:block;text-align:center;margin-top:20px;font-size:11px;color:#bfcbb4;text-decoration:underline;text-underline-offset:4px}.lightbox{max-width:1100px;background:#101411;border:0}.lightbox img{width:100%;max-height:75svh;object-fit:contain}.lightbox .modal-head{padding:10px 20px}.lightbox-caption{font-size:10px}
@keyframes hero-drift{from{transform:scale(1.06) translateX(0)}to{transform:scale(1.13) translateX(-1%)}}@keyframes rise{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}@keyframes scroll-down{0%{transform:translateY(-20px)}100%{transform:translateY(50px)}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes card-shine{0%,35%{transform:translateX(-22%) rotate(-15deg)}65%,100%{transform:translateX(22%) rotate(-15deg)}}@keyframes map-pulse{0%{transform:scale(.2);opacity:.8}100%{transform:scale(1.5);opacity:0}}
.motion-off *,.motion-off *:before,.motion-off *:after{animation:none!important;transition:none!important}.motion-off{scroll-behavior:auto}.motion-off .reveal{opacity:1!important;transform:none!important}.motion-off .hero-canvas{display:none}
@media(min-width:901px){.hero{min-height:900px;align-items:flex-start}.hero-content{padding-top:140px;padding-bottom:150px}.hero h1,.hero .hero-display{font-size:clamp(85px,8.5vw,145px)}}
@media(min-width:1600px){.hero{min-height:965px}.hero-content{padding-top:155px}.hero h1,.hero .hero-display{font-size:145px}.hero-content.wrap{max-width:1600px}.hero-bottom{left:max(var(--pad),calc((100vw - 1400px)/2));right:max(var(--pad),calc((100vw - 1400px)/2))}}
@media(max-width:1150px){.nav{gap:18px}.header-phone{display:none}.service-layout{gap:40px}.legacy-layout,.plan-display,.area-layout,.reviews-layout{gap:45px}.hero{min-height:760px}.hero h1,.hero .hero-display{font-size:105px}.hero-label{display:none}.faq-layout{gap:50px}.wordmark{font-size:21px}.header{gap:15px}.footer-top{gap:25px}.brand img{width:39px}}
@media(max-width:900px){.nav{display:none}.menu-toggle{display:flex}.header{height:80px}.header-actions{gap:14px}.hero{height:auto;min-height:830px}.hero h1,.hero .hero-display{font-size:100px}.hero-content{padding-top:135px;padding-bottom:190px}.hero-photo{background-position:60% center}.hero:after{background:linear-gradient(90deg,#111614ab,#11161410),linear-gradient(0deg,#131515,transparent 55%)}.hero-coordinate{display:none}.trust-item{font-size:9px}.trust-item span{font-size:18px}.trust-items{gap:15px}.section{padding:80px 0}.section-top{gap:30px}.section-top p{max-width:280px;font-size:12px}.intro-layout{grid-template-columns:1fr;gap:30px}.service-layout{gap:30px}.service-visual{min-height:510px}.service-row{gap:12px;padding:24px 0}.service-row h3{font-size:21px}.service-row p{font-size:10px}.legacy-layout{gap:45px}.legacy-photo img{aspect-ratio:3/4}.legacy-stamp{width:125px;height:130px;left:-20px}.member-card{padding:23px}.member-card .member-tier{left:23px;bottom:51px;font-size:32px}.member-card .member-bottom{left:23px;right:23px;font-size:6px}.member-card .wordmark{font-size:17px}.member-card .card-star{top:25px;right:23px}.plan-display{gap:40px}.plan-benefits{grid-template-columns:1fr}.process-grid{gap:22px}.gallery-grid{gap:13px}.gallery-item img{height:330px}.gallery-item span{left:15px;right:15px;font-size:8px}.reviews-layout{grid-template-columns:.5fr 1fr;gap:45px}.area-layout{gap:35px;grid-template-columns:1fr 1fr}.area-map{min-height:330px}.faq-layout{grid-template-columns:.6fr 1fr;gap:40px}.faq-layout h2{font-size:50px}.cta .wrap{gap:30px}.cta-actions{min-width:230px}.footer-top{grid-template-columns:1.2fr .8fr .8fr}.footer-col:last-child{grid-column:1/-1;display:flex;align-items:center;gap:25px;flex-wrap:wrap}.footer-col:last-child h3{margin:0}.footer-col:last-child p{margin:0}.page-split{gap:40px}.editorial-grid{gap:25px}.contact-grid{grid-template-columns:1fr}.contact-card p{min-height:0}.contact-card{padding:25px}.all-gallery{grid-template-columns:1fr 1fr}}
@media(max-width:600px){:root{--pad:23px}.topline{font-size:7px;height:28px;letter-spacing:.11em;gap:7px}.header{top:28px;height:76px;padding:0 21px}.brand img{width:35px;height:38px}.wordmark{font-size:21px}.wordmark span{font-size:6px;letter-spacing:.25em}.brand{gap:8px}.header .btn{min-height:37px;font-size:9px;padding:7px 11px;gap:9px}.header .btn .arrow{display:none}.menu-toggle{width:36px;height:37px}.header-actions{gap:8px}.hero{height:calc(100svh - 28px);min-height:745px;max-height:970px;align-items:start}.hero-photo{background-position:66% 70%;animation-duration:18s}.hero:after{background:linear-gradient(180deg,#15181677 0%,#15181626 38%,#15181633 59%,#131515 99%),linear-gradient(90deg,#1117146b,transparent)}.hero-content{padding-top:138px;padding-bottom:190px}.hero .eyebrow{font-size:7px;letter-spacing:.19em;margin-bottom:22px;gap:9px}.hero h1,.hero .hero-display{font-size:clamp(60px,15.4vw,95px);line-height:1.05;letter-spacing:-.025em}.hero-copy{font-size:11px;line-height:1.9;max-width:300px;margin:24px 0}.hero .btn{min-height:49px;padding:12px 18px;font-size:10px;gap:20px}.hero .btn-outline{margin-left:5px;padding:12px 3px;gap:12px}.hero-bottom{bottom:31px;left:23px;right:23px;padding-top:20px}.hero-note{gap:15px;font-size:8px}.hero-note .stars{font-size:10px;letter-spacing:2px}.scroll-note{font-size:0;gap:0}.scroll-line{height:28px}.hero-canvas{opacity:.4}.trust-strip{padding:25px 0}.trust-items{display:grid;grid-template-columns:1fr 1fr;gap:23px 16px}.trust-item{gap:11px;font-size:9px}.trust-item small{font-size:7px;letter-spacing:.05em}.trust-item span{font-size:22px}.intro{padding:64px 0}.intro-layout{gap:30px}.eyebrow{font-size:8px;letter-spacing:.17em;gap:10px}.intro h2{font-size:33px;line-height:1.25}.intro p{font-size:12px;line-height:1.9;margin-top:22px}.intro-bottom{gap:20px}.intro-bottom small{font-size:8px}.intro-bottom strong{font-size:9px}.section{padding:65px 0}h2{font-size:52px}.section-top{display:block;margin-bottom:33px}.section-top .eyebrow{margin-bottom:20px}.section-top p{font-size:11px;max-width:320px;margin-top:20px}.section-top .text-link{margin-top:20px;font-size:10px}.service-layout{grid-template-columns:1fr;gap:28px}.service-visual{min-height:320px}.service-caption{left:23px;bottom:24px;right:23px}.service-caption strong{font-size:32px}.service-row{grid-template-columns:22px 1fr 22px;padding:23px 0;gap:15px}.service-row h3{font-size:24px}.service-row p{font-size:11px;max-width:260px}.service-extras{gap:20px;font-size:9px}.thermal{padding:68px 0}.thermal-head h2{font-size:55px}.thermal-head p{font-size:11px;line-height:1.85}.thermal-stage{margin-top:30px;min-height:340px;margin-left:-10px;margin-right:-10px}.thermal-data{top:25px;left:22px;right:22px}.thermal-data strong{font-size:61px}.thermal-data small{font-size:7px}.thermal-photo{background-position:67% center}.thermal-foot{left:22px;right:22px;font-size:7px;bottom:21px}.thermal-line:after{width:43px;height:43px;font-size:21px}.thermal-note{font-size:7px;gap:18px}.thermal-note span{max-width:50%}.legacy{padding:70px 0}.legacy-layout{grid-template-columns:1fr;gap:40px}.legacy h2{font-size:59px}.legacy p{font-size:12px}.legacy-photo{margin-left:17px}.legacy-photo img{aspect-ratio:1.1}.legacy-stamp{height:118px;width:120px;left:-17px}.legacy-stamp strong{font-size:52px}.legacy-stamp span{font-size:7px}.legacy-facts{margin-top:40px;gap:13px;padding-top:25px}.legacy-facts strong{font-size:30px}.legacy-facts span{font-size:7px;line-height:1.5;display:block;margin-top:7px}.marquee{padding:21px 0}.marquee-track{font-size:33px;gap:26px;animation-duration:30s}.marquee-track span{gap:26px}.marquee-track i{font-size:25px}.plan-tabs{margin-bottom:30px}.plan-tab{font-size:10px;padding:13px 10px}.plan-display{grid-template-columns:1fr;gap:40px}.member-card{width:92%;margin:0 auto;max-width:450px;min-height:195px}.member-card .wordmark{font-size:19px}.member-card .member-tier{font-size:35px}.member-card .member-bottom{font-size:6px}.plan-price{font-size:65px;margin:18px 0}.plan-description{font-size:12px}.plan-benefits{grid-template-columns:1fr 1fr;gap:13px 15px}.plan-benefits li{font-size:9px}.plan-info .btn{width:100%}.plans-compare{font-size:9px;gap:24px;margin-top:30px}.process-grid{grid-template-columns:1fr 1fr;gap:35px 22px}.process-item h3{font-size:23px;margin-top:24px}.process-item p{font-size:10px}.gallery-grid{grid-template-columns:1fr 1fr;gap:12px}.gallery-item:first-child{grid-column:1/-1}.gallery-item img{height:270px}.gallery-item:first-child img{height:310px}.gallery-item span{font-size:7px;left:14px;right:14px;bottom:16px}.gallery-foot{font-size:8px;line-height:1.7}.reviews-layout{grid-template-columns:1fr;gap:40px}.review-score{font-size:75px;margin:20px 0 10px}.review-count{font-size:9px}.review-slide blockquote{font-size:27px}.review-author{margin-top:27px}.review-controls{margin-top:30px}.area-layout{grid-template-columns:1fr;gap:35px}.areas p{font-size:11px;margin:20px 0}.area-map{min-height:340px}.area-cities{margin:24px 0}.city-chip{font-size:9px;padding:8px 12px}.map-selected{font-size:10px}.faq-layout{grid-template-columns:1fr;gap:33px}.faq-layout h2{font-size:51px}.faq-layout p{font-size:11px;max-width:300px;margin-top:20px}.faq-layout .eyebrow{margin-bottom:20px}summary{font-size:12px;padding:23px 30px 23px 0}details p{font-size:11px!important}.cta{padding:62px 0}.cta .wrap{display:block}.cta h2{font-size:68px}.cta p{font-size:11px}.cta-actions{margin-top:30px}.cta-actions .btn{font-size:11px;min-height:53px}.footer{padding:55px 0 100px}.footer-top{grid-template-columns:1fr 1fr;gap:34px 24px}.footer-brand{grid-column:1/-1}.footer .brand img{width:44px}.footer .wordmark{font-size:27px}.footer p{max-width:310px;line-height:1.8}.footer-col a,.footer-col span{font-size:10px}.footer-col:last-child{display:block}.footer-col:last-child h3{margin-bottom:18px}.footer-col:last-child p{margin:15px 0}.footer-bottom{font-size:7px;display:block;margin-top:32px;padding-top:20px}.footer-bottom div{margin-top:15px;flex-wrap:wrap;gap:20px}.footer-brand-large{font-size:16.7vw;margin-top:35px}.mobile-dock{display:grid;grid-template-columns:1fr 1.4fr;position:fixed;bottom:0;left:0;right:0;z-index:25;background:#101511f5;border-top:1px solid #52614b;padding:10px 15px calc(10px + env(safe-area-inset-bottom));gap:10px;backdrop-filter:blur(15px)}.mobile-dock a,.mobile-dock button{font-size:10px;min-height:43px;padding:10px 15px;justify-content:center;gap:15px}.page-hero{padding:130px 0 55px}.breadcrumb{font-size:8px;margin-bottom:28px;gap:7px}.page-hero h1,.page-hero .hero-display{font-size:57px}.page-hero p{font-size:12px;line-height:1.85}.page-hero .btn{min-height:49px;font-size:10px;gap:20px;padding:13px 17px}.page-split{grid-template-columns:1fr;gap:35px}.page-split h2{font-size:47px}.page-split p{font-size:12px}.page-split img{aspect-ratio:1.1}.check-list li{font-size:11px}.editorial-grid{grid-template-columns:1fr;gap:35px}.editorial-card h3{font-size:29px;margin:25px 0 16px}.editorial-card p{font-size:12px}.editorial-card .text-link{margin-top:15px}.guide{padding-top:30px;padding-bottom:50px}.guide h2{font-size:25px}.guide p{font-size:13px}.guide aside{padding:23px}.all-gallery .gallery-item:first-child{grid-column:1/-1}.all-gallery .gallery-item img{height:280px}.all-gallery .gallery-item:first-child img{height:320px}.area-directory{grid-template-columns:1fr 1fr;gap:8px 22px}.area-directory a{font-size:21px;padding:22px 0}.modal-head{padding:18px 21px}.modal-body{padding:24px}.modal-body h2{font-size:39px}.modal-body>p{font-size:11px}.booking-option{font-size:10px;padding:16px 12px}.booking-summary .btn{font-size:11px;padding:14px 17px}.booking-summary small{font-size:8px}.booking-urgent{font-size:10px}.thermal-section-link .text-link{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal:not(.visible){opacity:1;transform:none}.hero-canvas{display:none}}

/* VERSION 2 — continuous atmosphere, feathered imagery, decisive actions. */
:root{--ink:#111614;--paper:#f0eee6;--muted:#a2ada4;--line:#d8e7dc1c;--red:#ef593f}
body{background:var(--ink)}main{overflow:clip}.section,.intro,.legacy,.thermal,.plans,.process,.areas,.reviews,.services-section,.light,.page-hero,.footer{background:transparent;color:var(--paper)}.section{padding:125px 0}.intro,.legacy{padding:140px 0}p{color:#a9b4ac}.intro p,.legacy p,.process p,.areas p,.light p{color:#a9b4ac}.intro h2 span{color:#909e93}.eyebrow{color:#b8c5ba}.eyebrow:before{border-radius:50%;box-shadow:0 0 14px #ef593f30}.intro,.legacy,.plans,.areas,.cta{position:relative;isolation:isolate}.intro:before,.legacy:before,.plans:before,.areas:before{content:'';position:absolute;inset:-80px 0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 75% 50%,#71836b10,transparent 66%)}.intro:before{background:radial-gradient(ellipse at 10% 50%,#b6593212,transparent 64%)}.intro-bottom{gap:25px}.signature-mark{font:32px Oswald,sans-serif;letter-spacing:-.03em;color:var(--red);line-height:1}.signature-mark>span{display:block;font:6px Inter,sans-serif;letter-spacing:.25em;margin-top:7px}.trust-strip{border:0;position:relative;padding:38px 0 15px}.trust-strip:after{content:'';height:1px;position:absolute;bottom:0;left:var(--pad);right:var(--pad);background:linear-gradient(90deg,transparent,#d8e7dc2c,transparent)}.trust-item{color:#d0d8cf}.topline{background:#15201b;color:#d5dfd4}.topline .dot{background:var(--red);box-shadow:0 0 10px #ef593f55}.topline a{border-color:#c4d1bf40}.header{border-bottom-color:#ffffff17}.header.scrolled{background:#111614e8;box-shadow:0 10px 45px #0002}.reading-progress{position:absolute;bottom:-1px;left:0;width:100%;height:1px;background:var(--red);transform:scaleX(var(--reading,0));transform-origin:left;opacity:.8}.brand{background:none;border:0;box-shadow:none}.wordmark{letter-spacing:-.025em}.wordmark span{color:#a3b4a5}.nav a{color:#d4dfd3}.header-phone{display:flex;align-items:center;gap:9px;border:1px solid #e4eee124;padding:11px 14px;border-radius:40px;font-size:10px;min-height:44px;transition:background .3s,border-color .3s}.header-phone:hover{background:#ffffff09;border-color:#e4eee158}.header-phone .action-icon{width:14px;height:14px;color:#ebf2e5}.header-actions{gap:10px}.menu-toggle{border-radius:50%;min-width:43px;min-height:43px}
.btn{border:1px solid #f0eee6;background:var(--paper);color:#172018;border-radius:80px;min-height:64px;padding:8px 8px 8px 25px;gap:24px;position:relative;overflow:hidden;box-shadow:0 8px 30px #0001;transition:transform .35s var(--ease),background .35s,box-shadow .35s,border-color .35s;font-size:12px}.button-label{display:inline-flex;align-items:center;gap:12px;position:relative;z-index:1;text-align:left}.action-icon{width:19px;height:19px;flex:0 0 auto}.btn>.arrow{width:44px;height:44px;border-radius:50%;background:#172018;color:var(--paper);display:grid;place-items:center;font-size:22px;flex-shrink:0;transition:transform .4s var(--ease),background .3s}.btn:hover{background:white;border-color:white;box-shadow:0 12px 40px #0003;transform:translateY(-3px)}.btn:hover>.arrow{background:var(--red);transform:rotate(45deg);color:#fff}.btn:active{transform:translateY(0) scale(.98)}.btn-outline{background:#ffffff04;border-color:#edf6e83d;color:#f0eee6;box-shadow:none;backdrop-filter:blur(12px)}.btn-outline>.arrow{background:#f0eee60c;color:#e3edde;border:1px solid #edf6e81f}.btn-outline:hover{background:#ffffff0d;border-color:#edf6e887}.btn-dark{background:var(--red);border-color:var(--red);color:white}.btn-dark>.arrow{background:#fff;color:#1a211b}.btn-dark:hover{background:#ff6d50;border-color:#ff6d50}.btn-dark:hover>.arrow{background:#fff;color:var(--red)}.header .btn{min-height:45px;padding:4px 5px 4px 16px;gap:15px;font-size:10px}.header .btn>.arrow{width:33px;height:33px;font-size:18px}.header .btn .action-icon{width:14px;height:14px}.header .button-label{gap:8px}.hero .btn-outline{margin-left:0;border:1px solid #edf6e850;padding:8px 8px 8px 25px}.hero .button-row{gap:15px}.hero:after{background:linear-gradient(90deg,#0d1514b8,transparent 83%),linear-gradient(0deg,var(--ink),transparent 38%,#10161420 80%)}.hero-bottom{border-top-color:#f0eee61f}.hero h1 .outline,.hero .hero-display .outline{-webkit-text-stroke-color:#eeeadeb0}.hero h1 .last-line,.hero .hero-display .last-line{background:linear-gradient(100deg,#fff5e6 15%,#dfcbb0 75%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-label div{border-radius:50%;border-color:#e5eedd30}.hero-label{opacity:.8}.hero-photo{filter:saturate(.85)}
/* The photograph edges dissolve into the same background as every chapter. */
.service-layout{grid-template-columns:1.2fr 1fr;gap:25px}.service-visual{overflow:visible;margin-left:calc(var(--pad) * -1);min-height:650px}.service-visual img{width:115%;max-width:none;left:0;object-position:50% center;filter:saturate(.6);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 74%,transparent),linear-gradient(0deg,transparent,#000 16%,#000 83%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 74%,transparent),linear-gradient(0deg,transparent,#000 16%,#000 83%,transparent);-webkit-mask-composite:source-in;transform:scale(1.02)}.service-visual:after{display:none}.service-caption{left:calc(var(--pad) + 10px);bottom:65px;right:40px;text-shadow:0 2px 20px #000}.service-list{position:relative;z-index:2;border-top-color:#dbe8dd1c}.service-row{padding:30px 0;transition:padding .4s var(--ease),background .4s}.service-row:hover{padding-left:12px;background:linear-gradient(90deg,#d5e2d307,transparent)}.service-row h3{font-size:27px}.service-row p{color:#a2aea3}.legacy-layout{grid-template-columns:.95fr 1.15fr;gap:10px}.legacy-photo{margin-right:calc(var(--pad) * -1);padding:0;position:relative}.legacy-photo img{aspect-ratio:.94;object-position:48% center;filter:saturate(.55);mask-image:radial-gradient(ellipse 69% 65% at 52% 50%,#000 36%,#000b 59%,transparent 82%);-webkit-mask-image:radial-gradient(ellipse 69% 65% at 52% 50%,#000 36%,#000b 59%,transparent 82%)}.legacy-stamp{background:none;width:auto;height:auto;left:18%;bottom:11%;align-items:start;text-shadow:0 2px 30px #000}.legacy-stamp strong{font-size:95px;color:#efe8d9}.legacy-stamp span{text-align:left;font-size:8px;color:#d1dacc}.legacy-facts{border-top-color:var(--line);padding-top:40px;margin-top:35px}.legacy-facts span{color:#8b9a8c}.legacy-facts strong{color:#e1e8dc}.thermal{overflow:visible}.thermal-stage{border:0;min-height:600px;margin-left:calc(var(--pad) * -1);margin-right:calc(var(--pad) * -1);background:transparent;mask-image:linear-gradient(0deg,transparent,#000 18%,#000 87%,transparent);-webkit-mask-image:linear-gradient(0deg,transparent,#000 18%,#000 87%,transparent)}.thermal-photo{filter:saturate(.6) brightness(.65);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}.thermal-hot,.thermal-cool{mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent)}.thermal-data{top:75px;left:8%;right:8%}.thermal-data strong{font-size:95px}.thermal-line{top:12%;bottom:14%;background:linear-gradient(transparent,#ffffff88 35%,#ffffff88 65%,transparent)}.thermal-foot{bottom:75px;left:8%;right:8%}.thermal-note{margin-top:-20px;position:relative;z-index:4}.thermal-stage:focus-within{outline:none}.thermal-stage:focus-within .thermal-line:after{box-shadow:0 0 0 4px #ef593f,0 0 40px #0006}.thermal-head p{color:#a5b4aa}.thermal-head h2{letter-spacing:-.025em}.thermal-section-link{margin-top:35px}
.gallery .wrap{max-width:none}.gallery .section-top,.gallery-foot{max-width:1240px;margin-left:auto;margin-right:auto}.gallery-grid{gap:0;grid-template-columns:1.22fr 1fr 1fr;margin-left:calc(var(--pad) * -1);margin-right:calc(var(--pad) * -1)}.gallery-item{background:transparent;overflow:visible;isolation:isolate}.gallery-item img{height:510px;filter:saturate(.4);mask-image:radial-gradient(ellipse 76% 73% at 50% 48%,#000 36%,#000c 58%,transparent 77%);-webkit-mask-image:radial-gradient(ellipse 76% 73% at 50% 48%,#000 36%,#000c 58%,transparent 77%);transform:scale(1.08)}.gallery-item:hover img{filter:saturate(.9);transform:scale(1.13)}.gallery-item:after{display:none}.gallery-item span{bottom:38px;left:11%;right:11%;font-size:9px;text-shadow:0 1px 20px #000;color:#e1e9dc;line-height:1.5}.gallery-item:focus-visible{outline-offset:-16px;border-radius:100px}.gallery-foot{margin-top:26px}.all-gallery{row-gap:55px}.all-gallery .gallery-item img{height:440px}.page-split>img{border:0;filter:saturate(.65);mask-image:radial-gradient(ellipse 75% 72% at 50% 50%,#000 40%,#000b 59%,transparent 78%);-webkit-mask-image:radial-gradient(ellipse 75% 72% at 50% 50%,#000 40%,#000b 59%,transparent 78%);transform:scale(1.09)}
.marquee{background:transparent;padding:50px 0;color:#334438;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}.marquee-track{font-size:66px}.marquee-track i{color:var(--red);font-size:27px}.plan-tabs{border:0;gap:30px;max-width:530px;border-bottom:1px solid var(--line)}.plan-tab{padding:18px 6px;border-bottom:2px solid transparent}.plan-tab[aria-selected=true]{background:none;color:#f0eee6;border-color:var(--red)}.member-card{border:0;background:radial-gradient(ellipse at 60% 40%,#ad8e4340,transparent 70%);border-radius:0;box-shadow:none;transform:none;aspect-ratio:1.3;overflow:visible}.member-card.silver{border:0;background:radial-gradient(ellipse at 60% 40%,#acccc935,transparent 70%)}.member-card.platinum{border:0;background:radial-gradient(ellipse at 60% 40%,#6faaaa40,transparent 70%)}.member-card:hover{transform:translateY(-4px)}.member-card:after{inset:0;border:1px solid #bfb29022;border-radius:50%;background:none;transform:rotate(-25deg) scaleY(.63);animation:orbit-drift 16s ease-in-out infinite alternate;pointer-events:none}.member-card .wordmark{position:absolute;top:25%;left:10%;font-size:16px;color:#bca984}.member-card .wordmark span{color:#a89b82;font-size:6px}.member-card .member-tier{left:10%;bottom:29%;font-size:clamp(48px,5.8vw,86px);letter-spacing:-.025em}.member-card .member-bottom{left:10%;bottom:19%;right:10%;font-size:7px}.member-card .card-star{right:17%;top:25%;font-size:43px;color:#dfcc9e}.plans-compare{color:#a6b5a5}.process-item{border-top-color:var(--line)}.process-item p{color:#a4b2a5}.process-item .num{font-size:13px}.reviews{border:0}.review-score{color:#e6ecdf}.review-slide blockquote{color:#dce5d7}.area-map{background:none;mask-image:radial-gradient(ellipse 68% 65% at 52% 50%,#000 35%,transparent 88%);-webkit-mask-image:radial-gradient(ellipse 68% 65% at 52% 50%,#000 35%,transparent 88%)}.area-map svg{opacity:.9}.map-road{stroke:#3e5142}.map-road-small{stroke:#233e2a}.map-boundary{stroke:#667961}.map-label{fill:#a9b8a3}.map-label.active{fill:#f5eee0}.map-point{fill:#7a9175}.map-point.active{fill:var(--red)}.area-map pattern path{stroke:#667961}.map-caption{color:#889f80}.city-chip{border:0;border-bottom:1px solid #7083684d;color:#b5c2ab;border-radius:0;padding:11px 5px;margin-right:10px}.city-chip.active,.city-chip:hover{background:none;border-color:var(--red);color:#f2efdf}.map-selected{color:#d5dfcf}.map-selected a{border-color:#879b7744}.area-directory a{color:#d6e2ce}.light .check-list li{border-color:var(--line);color:#a5b29d}.page-hero{background:radial-gradient(ellipse at 90% 30%,#88604617,transparent 65%)}.page-hero:after{opacity:.35}.contact-card{border:0;border-top:1px solid var(--line);padding-left:0;padding-right:25px}.cta{background:transparent;padding:140px 0}.cta:before{inset:-60px -10% -60px;width:auto;height:auto;border:0;box-shadow:none;border-radius:0;background:radial-gradient(ellipse at 70% 65%,#b73b1b26,transparent 68%);z-index:-1}.cta h2{font-size:clamp(70px,7.6vw,110px)}.cta h2 span{color:var(--red)}.cta p{color:#a5b4a6}.cta .eyebrow{color:#c1cdbd}.cta .eyebrow:before{background:var(--red)}.cta-actions{min-width:300px}.cta-actions .btn{margin:8px 0}.cta-actions small{color:#879982}.footer{padding-bottom:145px}.footer-brand-large{color:#28382c;mask-image:linear-gradient(#000,transparent);-webkit-mask-image:linear-gradient(#000,transparent)}.text-link{border-bottom-color:#c5d4bd4d}.icon-button{border-radius:50%;border-color:#83977940;transition:background .3s}
.contact-dock{position:fixed;left:50%;bottom:23px;transform:translate(-50%,calc(100% + 40px));opacity:0;pointer-events:none;display:flex;align-items:center;gap:10px;z-index:25;padding:9px 10px 9px 23px;border:1px solid #d5e4c828;border-radius:70px;background:#18221beb;backdrop-filter:blur(24px);box-shadow:0 15px 70px #0005;transition:transform .6s var(--ease),opacity .4s;white-space:nowrap}.contact-dock.shown{transform:translate(-50%,0);opacity:1;pointer-events:auto}.dock-copy{padding-right:25px}.dock-copy>span{display:block;font-size:8px;letter-spacing:.11em;color:#c8d8c1}.dock-copy small{display:block;font-size:9px;color:#8da080;margin-top:4px}.contact-dock .btn{min-height:48px;padding:5px 6px 5px 16px;font-size:10px;gap:15px}.contact-dock .btn>.arrow{width:35px;height:35px;font-size:19px}.contact-dock .action-icon{width:16px;height:16px}.contact-dock .btn-outline>.arrow{display:none}.contact-dock .btn-outline{padding-right:20px}.contact-dock .button-label{gap:9px}
dialog{border:1px solid #a1b99226;border-radius:25px;background:radial-gradient(ellipse at 95% 0%,#8c4e2330,transparent 60%),#152018}dialog::backdrop{background:#07100be0;backdrop-filter:blur(18px)}dialog[open]{animation:dialog-rise .4s var(--ease)}.modal-head{border:0;padding:23px 30px 0}.modal-close{width:40px;height:40px;border:1px solid #b2c2a52b;border-radius:50%;background:#ffffff03}.modal-close:hover{background:#ffffff0a}.modal-body{padding:25px 36px 33px}.modal-body h2{font-size:55px;margin-top:25px}.booking-step{font-size:8px;letter-spacing:.14em;color:#e29d7d;display:flex;justify-content:space-between;gap:18px}.booking-step span{color:#798e72}.modal-body>p{color:#a4b49b}.booking-options{display:block;border-top:1px solid var(--line)}.booking-option{border:0;border-bottom:1px solid var(--line);width:100%;padding:17px 2px;font-size:12px;transition:color .2s,padding .3s}.booking-option>span{width:22px;height:22px;border:1px solid #7e967250;border-radius:50%;display:grid;place-items:center;font-size:0}.booking-option.active{background:none;border-color:var(--line);color:#f2eee0;padding-left:10px}.booking-option.active>span{background:var(--red);border-color:var(--red);font-size:14px}.booking-summary{border:0;margin-top:21px;padding-top:0}.booking-summary p{font-size:11px;min-height:38px;color:#b0bea7}.booking-summary .btn{min-height:60px}.booking-summary small{color:#92a389}.booking-urgent{display:flex;text-align:left;align-items:center;gap:17px;text-decoration:none;border-top:1px solid var(--line);padding-top:22px;color:#a4b59a;font-size:10px}.booking-urgent strong{display:block;color:#e3eddb;font-weight:400;margin-top:4px;font-size:13px}.booking-urgent>.arrow{margin-left:auto}.booking-urgent>.action-icon{width:23px;height:23px;color:#d2dfc7}.lightbox{border:0;border-radius:0;background:transparent;box-shadow:none}.lightbox img{mask-image:radial-gradient(ellipse 77% 78%,#000 45%,transparent 86%);-webkit-mask-image:radial-gradient(ellipse 77% 78%,#000 45%,transparent 86%)}.lightbox .modal-head{padding:10px 20px;position:relative;z-index:2}.lightbox .modal-close{background:#101b13b0}.lightbox-caption{color:#c9d7c0}.motion-off .contact-dock{transition:none}.motion-off .member-card{transform:none}
@keyframes orbit-drift{from{transform:rotate(-25deg) scaleY(.63)}to{transform:rotate(-10deg) scaleY(.72)}}@keyframes dialog-rise{from{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(min-width:901px) and (max-width:1150px){.header-phone{display:none}.service-row h3{font-size:23px}.hero{min-height:900px}}
@media(max-width:900px){.section{padding:90px 0}.intro,.legacy{padding:100px 0}.header-phone{display:flex}.service-visual{min-height:580px}.service-row h3{font-size:21px}.legacy-layout{gap:0}.legacy-photo img{aspect-ratio:.73}.legacy-stamp strong{font-size:75px}.thermal-stage{min-height:510px}.gallery-item img{height:390px}.all-gallery .gallery-item img{height:370px}.member-card{min-height:280px}.member-card .member-tier{font-size:52px}.member-card .card-star{font-size:30px}.member-card .wordmark{font-size:14px}.cta .wrap{gap:30px}.cta-actions{min-width:260px}.contact-dock .dock-copy{display:none}.contact-dock{padding-left:10px}.page-hero .btn{gap:18px}.gallery-grid{grid-template-columns:1.15fr 1fr 1fr}.all-gallery{grid-template-columns:1fr 1fr}.hero .btn-outline{border:1px solid #edf6e850;padding:8px 8px 8px 25px}}
@media(max-width:600px){.header{padding-left:23px;padding-right:17px}.header-phone{display:none}.header .btn{min-height:42px;padding:7px 12px;font-size:9px;gap:0}.header .btn>.arrow{display:none}.header .btn .action-icon{width:14px;height:14px}.header .button-label{gap:7px}.menu-toggle{min-width:40px;min-height:42px}.section{padding:77px 0}.intro,.legacy{padding:85px 0}.hero{min-height:790px}.hero-content{padding-top:142px;padding-bottom:190px}.hero h1,.hero .hero-display{font-size:clamp(58px,15.4vw,92px)}.hero-copy{margin-top:25px;margin-bottom:28px;line-height:1.9}.hero .button-row{gap:10px;align-items:stretch}.hero .btn,.hero .btn-outline{font-size:10px;min-height:54px;padding:6px 6px 6px 16px;gap:12px;margin-left:0}.hero .btn>.arrow{width:36px;height:36px;font-size:19px}.hero .btn .action-icon{width:15px;height:15px}.hero .button-label{gap:9px}.hero .btn-outline{padding-right:16px}.hero .btn-outline>.arrow{display:none}.hero-bottom{bottom:40px}.hero-note{font-size:8px}.hero .eyebrow{letter-spacing:.15em}.trust-strip{padding:30px 0}.trust-items{row-gap:25px}.intro h2{font-size:33px}.intro-bottom{gap:20px}.signature-mark{font-size:30px}.service-layout{grid-template-columns:1fr;gap:5px}.service-visual{margin-left:-23px;margin-right:-23px;min-height:365px;margin-top:-15px}.service-visual img{width:100%;mask-image:radial-gradient(ellipse 85% 68% at 50% 47%,#000 36%,#000b 63%,transparent 84%);-webkit-mask-image:radial-gradient(ellipse 85% 68% at 50% 47%,#000 36%,#000b 63%,transparent 84%);-webkit-mask-composite:source-over;mask-composite:add}.service-caption{left:35px;right:35px;bottom:53px}.service-caption strong{font-size:31px}.service-row{padding:27px 0}.service-row h3{font-size:25px}.service-row p{font-size:11px}.legacy-layout{grid-template-columns:1fr;gap:20px}.legacy-photo{margin-left:-23px;margin-right:-23px;margin-top:12px}.legacy-photo img{aspect-ratio:1.02}.legacy-stamp{left:15%;bottom:13%}.legacy-stamp strong{font-size:72px}.legacy-facts{margin-top:20px;gap:20px}.legacy-facts strong{font-size:28px}.legacy-facts span{font-size:7px}.thermal{padding:70px 0}.thermal-stage{min-height:440px;margin-left:-23px;margin-right:-23px;margin-top:12px}.thermal-data{top:62px;left:10%;right:10%}.thermal-data strong{font-size:69px}.thermal-foot{bottom:58px;left:10%;right:10%;font-size:6px}.thermal-note{margin-top:-17px;font-size:7px}.thermal-head h2{font-size:54px}.thermal-section-link{margin-top:30px}.marquee{padding:22px 0}.marquee-track{font-size:43px}.plan-tabs{gap:12px}.plan-tab{font-size:10px;padding:16px 3px}.plan-display{gap:10px}.member-card{min-height:290px;max-width:450px;width:100%;aspect-ratio:1.3}.member-card .wordmark{font-size:16px;top:22%;left:9%}.member-card .member-tier{font-size:65px;left:9%;bottom:28%}.member-card .member-bottom{left:9%;bottom:18%}.member-card .card-star{font-size:39px;top:25%;right:15%}.plan-info .btn{min-height:59px}.plan-price{font-size:67px}.plans-compare{line-height:1.9}.gallery-grid,.all-gallery{grid-template-columns:1fr;gap:15px;margin-left:-23px;margin-right:-23px}.gallery-item:first-child{grid-column:auto}.gallery-item img,.gallery-item:first-child img,.all-gallery .gallery-item img,.all-gallery .gallery-item:first-child img{height:340px;transform:scale(1);mask-image:radial-gradient(ellipse 80% 72% at 50% 47%,#000 40%,#000c 60%,transparent 82%);-webkit-mask-image:radial-gradient(ellipse 80% 72% at 50% 47%,#000 40%,#000c 60%,transparent 82%)}.gallery-item:hover img{transform:scale(1.035)}.gallery-item span{left:12%;right:12%;bottom:50px;font-size:8px}.gallery-foot{margin-top:10px;font-size:8px}.review-slide blockquote{font-size:28px}.review-controls{margin-top:30px}.area-map{margin-left:-15px;margin-right:-15px;min-height:340px}.map-caption{font-size:7px}.area-cities{gap:4px}.city-chip{margin-right:10px;padding:11px 2px}.cta{padding:90px 0}.cta h2{font-size:65px}.cta-actions .btn{min-height:61px;padding:8px 8px 8px 23px;font-size:11px}.cta-actions .btn>.arrow{width:42px;height:42px}.cta-actions .btn-outline{font-size:12px}.cta-actions{margin-top:33px}.footer{padding-top:50px;padding-bottom:140px}.contact-dock{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));width:auto;transform:translateY(calc(100% + 50px));border-radius:50px;padding:7px;gap:7px;justify-content:center;white-space:normal}.contact-dock.shown{transform:translateY(0)}.contact-dock .btn{min-height:49px;padding:6px 7px 6px 16px;font-size:10px;gap:10px;flex:1.45}.contact-dock .btn>.arrow{width:34px;height:34px;font-size:18px}.contact-dock .btn-outline{flex:1;justify-content:center;padding:10px 12px;border-color:transparent}.contact-dock .action-icon{width:15px;height:15px}.contact-dock .button-label{gap:8px}.page-hero .btn{min-height:55px;padding:6px 6px 6px 16px;font-size:10px;gap:12px}.page-hero .btn>.arrow{width:37px;height:37px;font-size:19px}.page-hero .btn .action-icon{width:15px;height:15px}.page-hero .btn-outline>.arrow{display:none}.page-hero .btn-outline{padding-right:16px}.page-hero .button-row{gap:10px}.page-split{gap:25px}.page-split>img{transform:scale(1.12)}dialog{border-radius:22px;max-height:92svh;width:calc(100% - 22px)}.modal-head{padding:15px 21px 0}.modal-body{padding:20px 25px 26px}.modal-body h2{font-size:43px;margin-top:24px}.booking-step{font-size:7px;letter-spacing:.09em}.modal-body>p{font-size:11px;margin:18px 0 22px}.booking-option{padding:14px 2px;font-size:11px}.booking-summary{margin-top:19px}.booking-summary p{font-size:10px;line-height:1.8}.booking-summary .btn{font-size:11px;padding:7px 7px 7px 18px;gap:13px;min-height:57px}.booking-summary .btn>.arrow{width:38px;height:38px}.booking-summary small{font-size:8px;line-height:1.8}.booking-urgent{padding-top:19px;margin-top:20px}.booking-urgent strong{font-size:12px}.lightbox{border-radius:0}.lightbox .modal-head{padding:10px 8px}.lightbox-caption{font-size:9px;max-width:75%}}
@media(max-width:365px){.hero .btn{padding-left:12px;gap:8px;font-size:9px}.hero .btn .action-icon{display:none}.hero .btn-outline{padding-right:12px}.contact-dock .btn{padding-left:12px;font-size:9px;gap:6px}.contact-dock .btn>.arrow{width:29px;height:29px}.contact-dock .button-label{gap:6px}.header .wordmark{font-size:19px}.header .wordmark span{font-size:5px}.hero h1,.hero .hero-display{font-size:15.1vw}}
body.locked .contact-dock{visibility:hidden}html:has(dialog[open]){overflow:hidden}.header:has(+.mobile-menu.open){position:fixed;top:0;background:#111614}.mobile-menu{background:#111614}.contact-dock[inert]{visibility:hidden}.hero .btn .button-label{white-space:nowrap}
@media(prefers-reduced-motion:reduce){.member-card:after,dialog[open]{animation:none}.btn:hover,.gallery-item:hover img{transform:none}}

/* V3: the actual crew becomes the visual identity. No framed photography. */
.hero{background:#111614;isolation:isolate}.hero-photo{left:28%;right:-4%;background-image:url('/assets/v30-full/editorial-van.webp');background-position:51% 50%;filter:none;opacity:1;mask-image:linear-gradient(90deg,transparent,#000 25%),linear-gradient(0deg,transparent,#000 24%,#000 85%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent,#000 25%),linear-gradient(0deg,transparent,#000 24%,#000 85%,transparent);-webkit-mask-composite:source-in;animation:crew-drift 22s ease-in-out infinite alternate}.hero:after{background:linear-gradient(90deg,#111614 0%,#111614e6 19%,#11161455 44%,transparent 73%),linear-gradient(0deg,#111614,transparent 35%)}.hero-content{position:relative}.hero h1,.hero .hero-display{max-width:820px;font-size:clamp(78px,8vw,124px)}.hero h1 .last-line,.hero .hero-display .last-line{color:#edeade;background:none;-webkit-text-fill-color:initial}.hero h1 .outline,.hero .hero-display .outline{color:var(--red);-webkit-text-stroke:0}.hero-copy{max-width:355px;color:#c3cbbf}.hero-label{right:7%;bottom:170px}.hero-canvas{opacity:.3}.hero-bottom{border-top:0;background:linear-gradient(90deg,#111614aa,transparent);padding-top:25px}.hero-note{color:#c4d0bd}.hero .btn{box-shadow:0 6px 45px #0003}.hero-coordinate{color:#9daf92}.hero-coordinate b{color:#d2dec9}
.service-layout{grid-template-columns:1.12fr 1fr;gap:50px;align-items:center}.service-visual{min-height:800px;margin-right:0}.service-visual img{width:100%;left:0;height:100%;object-fit:contain;object-position:50% 50%;filter:none;transform:none;mask-image:linear-gradient(90deg,transparent,#000 13%,#000 84%,transparent),linear-gradient(0deg,transparent,#000 14%,#000 90%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent,#000 13%,#000 84%,transparent),linear-gradient(0deg,transparent,#000 14%,#000 90%,transparent);-webkit-mask-composite:source-in}.service-caption{bottom:65px;left:calc(var(--pad) + 6px);right:35px}.service-caption strong{font-size:38px}.service-caption .eyebrow{color:#e5eddb}.services-section .section-top{margin-bottom:18px}.legacy-layout{grid-template-columns:.85fr 1.25fr;gap:25px}.legacy-photo img{aspect-ratio:1.12;object-position:50% 40%;filter:none;mask-image:linear-gradient(90deg,transparent,#000 14%,#000 83%,transparent),linear-gradient(0deg,transparent,#000 14%,#000 82%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 83%,transparent),linear-gradient(0deg,transparent,#000 14%,#000 82%,transparent);-webkit-mask-composite:source-in}.legacy-stamp{left:12%;bottom:7%}.legacy-stamp strong{font-size:82px}.legacy-layout>div:first-child{position:relative;z-index:1}.page-split>img{filter:none;object-fit:contain;aspect-ratio:2/3;max-height:780px;transform:none;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent),linear-gradient(0deg,transparent,#000 13%,#000 90%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent),linear-gradient(0deg,transparent,#000 13%,#000 90%,transparent);-webkit-mask-composite:source-in}.page-split>img[src*="editorial-van"]{aspect-ratio:1.1;object-fit:cover}
.gallery .section-top{margin-bottom:40px}.gallery-grid,.gallery-grid.all-gallery{display:grid;grid-template-columns:1fr 1fr;gap:0 5%;max-width:1330px;margin:0 auto}.gallery-item{background:none;border:0;box-shadow:none;overflow:visible}.gallery-item:first-child{grid-column:auto}.gallery-item:nth-child(2){margin-top:140px}.gallery-item:nth-child(3){grid-column:1/-1;max-width:1120px;width:100%;margin:-20px auto 0}.gallery-item img,.gallery-item:first-child img,.all-gallery .gallery-item img{height:auto;width:100%;aspect-ratio:2/3;object-fit:contain;filter:none;transform:none;mask-image:linear-gradient(90deg,transparent,#000 11%,#000 90%,transparent),linear-gradient(0deg,transparent,#000 15%,#000 94%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent,#000 11%,#000 90%,transparent),linear-gradient(0deg,transparent,#000 15%,#000 94%,transparent);-webkit-mask-composite:source-in;transition:transform 1.2s var(--ease)}.gallery-item:nth-child(3) img{aspect-ratio:1.3;object-fit:contain;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent),linear-gradient(0deg,transparent,#000 18%,#000 85%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent),linear-gradient(0deg,transparent,#000 18%,#000 85%,transparent)}.gallery-item:hover img{filter:none;transform:translateY(-7px)}.gallery-item span{bottom:9%;left:11%;right:11%;font-size:10px;letter-spacing:.035em}.gallery-item span b{border:1px solid #d7e5c950;min-width:34px;height:34px;display:grid;place-items:center;border-radius:50%;font-size:17px;font-weight:400}.gallery-item span{align-items:center}.gallery-foot{max-width:1120px}.lightbox img{max-height:80svh;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent),linear-gradient(0deg,transparent,#000 9%,#000 94%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent),linear-gradient(0deg,transparent,#000 9%,#000 94%,transparent);-webkit-mask-composite:source-in}.lightbox{max-width:1200px}
@keyframes crew-drift{from{transform:scale(1)}to{transform:scale(1.055)}}
@media(min-width:1600px){.hero h1,.hero .hero-display{font-size:135px}.hero-photo{left:30%;right:-1%}}
@media(max-width:1100px) and (min-width:601px){.hero h1,.hero .hero-display{font-size:94px}.hero-photo{left:18%;right:-15%;background-position:58% center}.service-layout{gap:20px}.service-visual{min-height:650px}.service-caption strong{font-size:29px}.legacy-layout{gap:15px}.gallery-item:nth-child(2){margin-top:90px}.gallery-item span{font-size:9px}}
@media(max-width:600px){.hero{min-height:900px;height:auto;max-height:none}.hero-photo{left:-12%;right:-18%;top:310px;bottom:35px;background-position:51% center;animation:crew-drift 24s ease-in-out infinite alternate;mask-image:linear-gradient(0deg,transparent,#000 20%,#000 65%,transparent);-webkit-mask-image:linear-gradient(0deg,transparent,#000 20%,#000 65%,transparent);mask-composite:add;-webkit-mask-composite:source-over}.hero:after{background:linear-gradient(0deg,#111614,transparent 21%,transparent 42%,#11161444 55%,#111614dd 69%,#111614 83%)}.hero-content{padding-top:128px;padding-bottom:245px}.hero h1,.hero .hero-display{font-size:clamp(58px,15.3vw,88px);line-height:1.045;max-width:100%}.hero .eyebrow{font-size:7px;letter-spacing:.12em}.hero-copy{max-width:290px;font-size:11px;color:#d2d8cb;margin-top:23px;text-shadow:0 1px 12px #111614}.hero .button-row{margin-top:0}.hero-bottom{bottom:27px;background:none;padding-top:0}.hero-label{display:none}.hero-canvas{display:none}.service-layout{grid-template-columns:1fr;gap:8px}.service-visual{min-height:590px;margin:0 -23px}.service-visual img{width:100%;height:100%;object-fit:contain;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent),linear-gradient(0deg,transparent,#000 14%,#000 93%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent),linear-gradient(0deg,transparent,#000 14%,#000 93%,transparent);mask-composite:intersect;-webkit-mask-composite:source-in}.service-caption{bottom:45px;left:36px;right:35px}.service-caption strong{font-size:33px}.service-caption .eyebrow{font-size:7px}.services-section .section-top{margin-bottom:8px}.legacy-layout{grid-template-columns:1fr;gap:30px}.legacy-photo{margin:0 -40px}.legacy-photo img{aspect-ratio:1.12;object-position:50% 40%}.legacy-stamp{left:14%;bottom:8%}.legacy-stamp strong{font-size:60px}.legacy-stamp span{font-size:6px}.page-split>img{max-height:650px;aspect-ratio:2/3;transform:none}.page-split>img[src*="editorial-van"]{aspect-ratio:1.12}.gallery .section-top{margin-bottom:25px}.gallery-grid,.gallery-grid.all-gallery{grid-template-columns:1fr;margin:0 -23px;gap:25px;max-width:none}.gallery-item:nth-child(2){margin-top:0}.gallery-item:nth-child(3){margin:0;grid-column:auto;max-width:none}.gallery-item img,.gallery-item:first-child img,.all-gallery .gallery-item img,.all-gallery .gallery-item:first-child img{height:auto;aspect-ratio:2/3;max-height:680px;object-fit:contain;transform:none}.gallery-item:nth-child(3) img{aspect-ratio:1.25;max-height:none;object-fit:contain}.gallery-item span{font-size:9px;bottom:8%;left:13%;right:13%;gap:15px}.gallery-item span b{min-width:30px;height:30px;font-size:15px}.gallery-foot{margin-top:20px}.gallery-item:hover img{transform:none}}
@media(prefers-reduced-motion:reduce){.hero-photo{animation:none}.gallery-item:hover img{transform:none}}

/* V6: full photographs, soft edge blending, no artificial depth layers. */
.hero-label{display:none}.hero-copy{line-height:1.8}.hero-photo{animation:none}.hero-canvas{display:none}
.section{padding:105px 0}.intro,.legacy{padding:110px 0}.thermal{padding:95px 0}.marquee{padding:30px 0}.plans{padding-top:75px}
.service-layout{grid-template-columns:1.05fr 1fr;gap:55px;align-items:center}.service-visual{min-height:0;overflow:visible;margin:0}.service-visual:after,.gallery-item:after{display:none}.service-visual img{position:relative;display:block;height:auto;max-height:790px;object-fit:contain;transform:none}.service-visual .service-caption{position:relative;bottom:auto;left:auto;right:auto;margin:-25px 10% 0;gap:20px}.service-caption strong{font-size:28px}.service-caption .eyebrow{font-size:7px;color:#91a58a}.service-caption .eyebrow:before{display:none}.service-caption>span{font-size:8px;color:#91a58a}.services-section .section-top{margin-bottom:35px}.service-row{padding:26px 0}.service-row h3{font-size:25px}.service-row p{line-height:1.75;color:#a6b3a2}
.gallery-grid.gallery-curated{grid-template-columns:1.05fr .85fr;gap:8%;align-items:center;max-width:1200px}.gallery-curated .gallery-item{grid-column:auto;margin:0}.gallery-curated .gallery-item img{max-height:790px;aspect-ratio:1020/1542}.gallery-curated .gallery-editorial{padding:35px 0;position:relative}.gallery-editorial .eyebrow{font-size:8px;letter-spacing:.14em;margin-bottom:28px;color:#9bac92}.gallery-editorial h3{font:clamp(36px,4.5vw,66px)/1.08 Oswald,sans-serif;letter-spacing:-.025em}.gallery-editorial h3 em{font-style:normal;color:#b4bfa7}.gallery-editorial p{font-size:13px;line-height:1.9;color:#a2b099;max-width:330px;margin:26px 0}.editorial-principles{margin:33px 0 22px;border-top:1px solid var(--line)}.editorial-principles span{display:flex;align-items:center;gap:22px;font-size:9px;color:#b27355;padding:13px 0;border-bottom:1px solid var(--line)}.editorial-principles strong{font-size:11px;font-weight:400;color:#b9c8af}
.gallery-item{overflow:visible;background:transparent}.gallery-item .photo-caption{position:relative;bottom:auto;left:auto;right:auto;display:flex;margin:-22px 10% 0;font-size:9px;color:#acbba4;line-height:1.6;gap:14px}.gallery-item .photo-caption b{flex-shrink:0;width:32px;height:32px;border-color:#bfceb42b}.gallery-item:hover img{transform:none}.gallery-item:hover .photo-caption b{background:#dce4d5;color:#151b17}.gallery-item:focus-visible{outline:2px solid #c8d5bc;outline-offset:6px}.gallery-foot{padding-top:22px;border-top:1px solid #d8e7dc10;margin-top:45px;color:#819577}.gallery .section-top{margin-bottom:35px}.gallery-grid.all-gallery{gap:65px 6%}.all-gallery .gallery-item:nth-child(2){margin-top:105px}.all-gallery .gallery-item:nth-child(3){margin:0 auto}.all-gallery .gallery-item:nth-child(3) .photo-caption{margin-top:-40px}
/* Edge feathering preserves the photograph's center and original setting. */
.service-visual img,.gallery-item img,.gallery-item:first-child img,.all-gallery .gallery-item img{mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent),linear-gradient(0deg,transparent,#000 10%,#000 94%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent),linear-gradient(0deg,transparent,#000 10%,#000 94%,transparent);-webkit-mask-composite:source-in}
.legacy-stamp{bottom:10%}.legacy-stamp strong{font-size:64px}.legacy-stamp span{font-size:7px}.legacy-facts{margin-top:45px}.reviews-layout{align-items:center}
@media(min-width:901px) and (max-height:850px){.hero{min-height:810px}.hero-content{padding-top:120px;padding-bottom:150px}.hero h1,.hero .hero-display{font-size:clamp(82px,7.6vw,111px)}.hero-copy{margin-top:22px;margin-bottom:25px}}
@media(max-width:1100px) and (min-width:601px){.service-layout{gap:25px}.gallery-grid.gallery-curated{gap:6%}.gallery-editorial h3{font-size:45px}.gallery-editorial p{font-size:12px}.service-caption strong{font-size:25px}}
@media(max-width:600px){.section{padding:68px 0}.intro,.legacy{padding:75px 0}.hero{min-height:845px}.hero-content{padding-top:126px;padding-bottom:205px}.hero-photo{top:280px;bottom:30px;animation:none}.hero-copy{margin-top:23px;margin-bottom:24px}.hero-bottom{bottom:22px}.service-layout{grid-template-columns:1fr;gap:36px}.service-visual{margin:0 -8px;min-height:0}.service-visual img{height:auto;max-height:650px}.service-visual .service-caption{margin:-15px 9% 0}.service-caption strong{font-size:27px}.services-section .section-top{margin-bottom:15px}.service-row{padding:24px 0}.service-row h3{font-size:24px}.gallery .section-top{margin-bottom:23px}.gallery-grid.gallery-curated{grid-template-columns:1fr;margin:0;gap:28px}.gallery-curated .gallery-item{margin:0 -8px;width:calc(100% + 16px)}.gallery-curated .gallery-item img{max-height:670px;height:auto}.gallery-item .photo-caption{font-size:8px;margin:-15px 10% 0}.gallery-curated .gallery-editorial{padding:10px 0 0}.gallery-editorial .eyebrow{margin-bottom:22px}.gallery-editorial h3{font-size:45px}.gallery-editorial h3 br:first-child{display:none}.gallery-editorial p{font-size:12px;max-width:100%;margin:22px 0}.editorial-principles{margin-top:26px}.gallery-foot{margin-top:30px;padding-top:20px;font-size:7px}.gallery-grid.all-gallery{gap:45px;margin:0 -8px}.all-gallery .gallery-item:nth-child(2),.all-gallery .gallery-item:nth-child(3){margin:0}.all-gallery .gallery-item:nth-child(3) .photo-caption{margin-top:-20px}.thermal{padding:70px 0}.legacy-facts{margin-top:30px}.marquee{padding:20px 0}.cta{padding:75px 0}.gallery-editorial .text-link{font-size:11px}}

/* V9: action hierarchy, readable targets, and a benefit-led first view. */
:root{--red:#ff1616;--action:#e00000;--action-ink:#ffffff}
.btn.booking-button,.booking-summary .btn{background:var(--action);border:2px solid var(--action);color:var(--action-ink);font-weight:700;border-radius:14px;box-shadow:0 8px 24px #0003;min-height:58px;letter-spacing:0;padding:10px 14px 10px 22px;gap:22px}
.btn.booking-button>.arrow,.booking-summary .btn>.arrow{background:transparent;color:var(--action-ink);border:0;border-radius:0;width:26px;height:26px;font-size:25px}
.btn.booking-button:hover,.booking-summary .btn:hover{background:#bf0000;border-color:#bf0000;box-shadow:0 10px 30px #0005;transform:translateY(-2px)}
.btn.booking-button:hover>.arrow,.booking-summary .btn:hover>.arrow{background:transparent;color:var(--action-ink);transform:translateX(3px)}
.btn.call-button{background:#f0eee5;color:#192119;border:2px solid #f0eee5;border-radius:14px;min-height:58px;box-shadow:0 6px 20px #0002;font-weight:700;backdrop-filter:none}
.btn.call-button:hover{background:#fff;color:#192119;border-color:#fff;transform:translateY(-2px)}.btn.call-button>.arrow{display:none}
.btn:focus-visible,.header-phone:focus-visible{outline:3px solid #fff;outline-offset:5px}.btn:active{transform:translateY(0)}
.header .booking-button{min-height:48px;font-size:11px;padding:9px 15px;gap:10px;border-radius:10px}.header .booking-button>.arrow{display:none}.header-phone{border:1px solid #e0e8d94d;border-radius:10px;padding:12px 15px;min-height:48px;color:#f4f2e8}.header-phone:hover{background:#ffffff14}
.hero h1,
.hero .hero-display{font-size:clamp(74px,7.9vw,116px);line-height:1.06;max-width:820px}.hero h1 .outline,.hero .hero-display .outline{color:var(--red)}.hero .hero-copy{font-size:15px;line-height:1.8;max-width:415px;color:#e1e5da;margin:25px 0 28px}.hero .eyebrow{font-size:9px;letter-spacing:.14em}.hero .hero-actions{display:flex;gap:12px;align-items:stretch;flex-wrap:wrap;position:relative;z-index:3}
.hero .hero-actions a.btn,
.hero .hero-actions a.btn.booking-button,
.hero .hero-actions a.btn.call-button,
.hero .hero-actions a.btn.text-button,
.hero .hero-actions a.btn.btn-outline{
min-height:48px;margin:0;justify-content:center;align-items:center;
padding:14px 28px;gap:0;border-radius:10px;
background:rgba(0,0,0,.48)!important;
backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
border:1.5px solid #fff!important;color:#fff!important;
font-weight:800;font-size:14px;letter-spacing:.06em;text-transform:uppercase;
text-shadow:0 1px 2px rgba(0,0,0,.85),0 0 10px rgba(0,0,0,.45);
box-shadow:none!important;min-width:0;transform:none
}
.hero .hero-actions .hero-schedule,
.hero .hero-actions .hero-call,
.hero .hero-actions .hero-text{min-width:140px}
.hero .hero-actions a.btn:hover,
.hero .hero-actions a.btn:focus-visible,
.hero .hero-actions a.btn.booking-button:hover,
.hero .hero-actions a.btn.call-button:hover,
.hero .hero-actions a.btn.text-button:hover{
background:rgba(0,0,0,.62)!important;border-color:#fff!important;color:#fff!important;
outline:2px solid #fff;outline-offset:3px;transform:none;box-shadow:none!important
}
.hero .hero-actions a.btn:focus:not(:focus-visible){outline:none}
.hero .hero-actions .action-copy,
.hero .hero-actions .action-icon,
.hero .hero-actions .arrow{display:none!important}
.hero-actions .button-label{gap:0}
.hero-action-note{font-size:10px;line-height:1.7;color:#b4c1ac;margin:15px 0 0;max-width:460px}
.contact-dock{border-radius:19px;border-color:#f0eee54d;gap:10px;padding:9px 10px 9px 22px;background:#111b15f5}.contact-dock .booking-button{min-height:52px;font-size:12px;border-radius:11px;padding:10px 16px;gap:12px}.contact-dock .call-button{min-height:52px;font-size:12px;padding:10px 18px;border-radius:11px}.contact-dock .booking-button>.arrow{width:22px;height:22px;font-size:22px}.cta-actions .booking-button,.cta-actions .call-button{font-size:15px;min-height:64px}.booking-summary .btn{font-size:13px;min-height:62px;white-space:normal}.page-hero .booking-button,.page-hero .call-button{font-size:13px;min-height:60px}
@media(min-width:901px) and (max-height:850px){.hero h1,.hero .hero-display{font-size:clamp(74px,7.5vw,108px)}.hero .hero-copy{margin:22px 0 24px}.hero-content{padding-top:130px;padding-bottom:155px}}
@media(max-width:900px) and (min-width:601px){.hero h1,.hero .hero-display{font-size:86px}.hero .hero-actions .hero-schedule,.hero .hero-actions .hero-call,.hero .hero-actions .hero-text{min-width:120px}.hero .hero-actions .btn{padding:12px 20px;min-height:48px}.header .booking-button{font-size:10px}}
@media(max-width:600px){.header{padding-left:18px;padding-right:13px}.header .booking-button{min-height:44px;font-size:10px;padding:9px 11px;border-radius:9px}.header .booking-button .action-icon{display:none}.header-actions{gap:9px}.hero{min-height:815px}.hero-content{padding-top:122px;padding-bottom:195px}.hero h1,.hero .hero-display{font-size:clamp(48px,12.8vw,76px);line-height:1.07}.hero .eyebrow{font-size:7px;letter-spacing:.08em;margin-bottom:22px}.hero .hero-copy{font-size:13px;line-height:1.75;max-width:340px;margin:23px 0}.hero .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:370px;position:relative;z-index:3}.hero .hero-actions .btn{width:100%;min-width:0;min-height:48px;padding:12px 14px;gap:0;font-size:13px}.hero .hero-actions .hero-schedule{grid-column:1/-1}.hero .hero-actions .hero-call,.hero .hero-actions .hero-text{justify-content:center}.hero-action-note{font-size:9px;line-height:1.7;margin-top:13px;max-width:340px}.hero-photo{top:230px;left:8%;right:-38%;bottom:35px;opacity:.75}.contact-dock{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));padding:7px;gap:7px;border-radius:17px}.contact-dock .booking-button{min-height:52px;font-size:12px;flex:1.4;padding:10px 13px;justify-content:center;gap:0}.contact-dock .booking-button>.arrow{display:none}.contact-dock .call-button{min-height:52px;font-size:12px;flex:1;padding:10px 12px;justify-content:center;border:2px solid #f0eee5}.contact-dock .button-label{gap:8px}.cta-actions .booking-button,.cta-actions .call-button{font-size:14px;min-height:62px}.page-hero .booking-button,.page-hero .call-button{font-size:12px}.booking-summary .btn{font-size:12px;padding:13px 15px;gap:12px}.booking-summary .btn>.arrow{width:22px;height:22px}}
@media(prefers-reduced-motion:reduce){.btn,.btn>.arrow{transition:none!important}.btn:hover,.btn:hover>.arrow{transform:none!important}}

/* V12. Photography from the field; homepage hero intentionally untouched. */
.field-photo{display:block;width:100%;height:auto;filter:saturate(.87) contrast(1.045);}
.services-section .service-visual .field-photo{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:29% center;max-height:760px;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 94%,transparent),linear-gradient(0deg,transparent,#000 9%,#000 95%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 94%,transparent),linear-gradient(0deg,transparent,#000 9%,#000 95%,transparent)}
.legacy-photo .field-photo{aspect-ratio:1.16;object-fit:cover;object-position:53% center;transform:none}.legacy-photo .legacy-stamp{display:none}
.page-split>img[src*="/field/"]{aspect-ratio:1.12;height:auto;max-height:650px;object-fit:cover;transform:none;object-position:40% center}
.field-feature{padding:100px 0 75px;background:#111614;overflow:hidden}.field-feature .section-top{align-items:end;margin-bottom:48px}.field-intro p{color:#b7bfb7;font-size:14px;line-height:1.8;margin:0 0 20px}.field-intro .text-link{font-size:12px;margin:0}.field-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #ffffff24}.field-tabs button{position:relative;display:flex;align-items:center;text-align:left;gap:18px;padding:24px 12px 24px 0;background:none;border:0;color:#8e9b92;font:500 15px Inter,sans-serif;cursor:pointer;min-height:76px}.field-tabs button span{font-size:10px;color:#9faa9f;letter-spacing:.1em}.field-tabs button b{margin-left:auto;margin-right:18px;font-size:22px;font-weight:400}.field-tabs button:after{content:"";position:absolute;bottom:-1px;left:0;right:26px;height:3px;background:#ff1616;transform:scaleX(0);transform-origin:left;transition:transform .4s}.field-tabs button[aria-selected=true]{color:#fff}.field-tabs button[aria-selected=true]:after{transform:scaleX(1)}.field-tabs button:hover{color:#fff}.field-tabs button:focus-visible,.field-filter button:focus-visible,.field-enlarge:focus-visible,.field-scene-zoom:focus-visible{outline:2px solid #fff;outline-offset:5px}
.field-scenes{position:relative;margin-top:25px}.field-scene{position:relative;min-height:620px;isolation:isolate;display:flex;align-items:stretch;animation:field-appear .65s ease both}.field-scene[hidden]{display:none}.field-scene-image{position:absolute;inset:0;z-index:-3}.field-scene-image img{width:100%;height:100%;object-fit:cover;object-position:center 43%;filter:saturate(.8) brightness(.8);mask:none;-webkit-mask:none}.field-scene-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#111614fa 0%,#111614e8 23%,#11161492 46%,#11161400 72%),linear-gradient(0deg,#111614 0%,transparent 24%,transparent 86%,#111614 100%)}.field-scene-content{display:flex;align-items:center;position:relative;justify-content:space-between;width:100%;padding-top:60px;padding-bottom:90px}.field-scene-copy{max-width:440px}.field-kicker{font:500 9px Inter,sans-serif;letter-spacing:.2em;color:#c3cdc2}.field-scene h3{font:700 clamp(44px,5.2vw,78px)/1.04 Oswald,sans-serif;letter-spacing:-.025em;margin:25px 0}.field-scene-copy p{font-size:14px;color:#cad1ca;line-height:1.9;max-width:350px;margin:0 0 28px}.field-scene-copy .text-link{font-size:12px}.field-scene-zoom{align-self:flex-end;margin-bottom:0;background:#101511bb;backdrop-filter:blur(10px);border:1px solid #ffffff40;border-radius:30px;color:#fff;padding:16px 22px;font:500 11px Inter,sans-serif;display:flex;align-items:center;gap:22px;cursor:pointer;min-height:48px}.field-scene-zoom:hover{background:#101511}.field-scene-zoom span{font-size:18px}.field-feature-foot{display:flex;justify-content:space-between;align-items:center;gap:24px;color:#99a69a;font:500 9px Inter,sans-serif;letter-spacing:.1em;border-bottom:1px solid #ffffff18;padding-top:15px;padding-bottom:25px}.field-feature-foot a{font-size:11px;color:#e9ece6;letter-spacing:0}
.field-archive{padding:10px 0 100px;background:#111614}.field-filter{display:flex;gap:12px;flex-wrap:wrap;border-bottom:1px solid #ffffff20;padding-bottom:24px}.field-filter button{font:500 12px Inter,sans-serif;background:transparent;color:#b7c1b7;border:1px solid #ffffff30;border-radius:30px;padding:14px 21px;min-height:46px;cursor:pointer;transition:background .2s,color .2s}.field-filter button[aria-pressed=true]{background:#f0eee5;border-color:#f0eee5;color:#111614}.field-filter button:hover{border-color:#f0eee5}.field-count{font:400 10px Inter,sans-serif;letter-spacing:.09em;color:#9eab9f;margin:24px 0 35px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px 5%;align-items:start}.field-print{margin:0;min-width:0;animation:field-appear .4s ease both}.field-print[hidden]{display:none}.field-print:nth-child(3n+1){grid-column:1/-1}.field-enlarge{position:relative;display:block;width:100%;padding:0;background:none;border:0;cursor:zoom-in;overflow:hidden;color:white}.field-enlarge .field-photo{aspect-ratio:1.08;object-fit:cover;object-position:center;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent),linear-gradient(0deg,transparent,#000 7%,#000 96%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent),linear-gradient(0deg,transparent,#000 7%,#000 96%,transparent);-webkit-mask-composite:source-in;transition:filter .5s,transform .7s}.field-print:nth-child(3n+1) .field-photo{aspect-ratio:1.95;object-position:center 45%}.field-enlarge:hover .field-photo{filter:saturate(1) contrast(1.025);transform:scale(1.018)}.field-expand{position:absolute;right:6%;bottom:10%;width:42px;height:42px;display:grid;place-items:center;border:1px solid #ffffff55;border-radius:50%;background:#1116147a;backdrop-filter:blur(8px);font-size:22px}.field-print figcaption{padding:14px 3% 0;display:flex;justify-content:space-between;align-items:baseline;gap:20px}.field-print figcaption span{font:500 9px Inter,sans-serif;color:#98a599;white-space:nowrap}.field-print figcaption strong{font:400 13px Inter,sans-serif;color:#e1e7df;text-align:right;line-height:1.6}
.field-fleet{position:relative;min-height:650px;background:#111614;isolation:isolate;display:flex;align-items:center;overflow:hidden;margin-top:45px}.field-fleet>.field-photo{position:absolute;inset:0;height:100%;object-fit:cover;object-position:50% center;z-index:-3;filter:saturate(.7) brightness(.78)}.field-fleet-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#111614ec,transparent 75%),linear-gradient(0deg,#111614,transparent 30%,transparent 70%,#111614)}.field-fleet .wrap{width:100%;padding-top:65px;padding-bottom:65px}.field-fleet h2{font-size:clamp(50px,7vw,100px);margin:25px 0 35px}.field-fleet h2 span{color:#f0eee5}.field-fleet .text-link{font-size:14px}
#lightbox.lightbox img{mask:none!important;-webkit-mask:none!important;border-radius:0;filter:none;object-fit:contain;max-height:80vh;width:auto;max-width:100%;margin:auto}.lightbox .modal-head{gap:20px}.lightbox-caption{line-height:1.5}
@keyframes field-appear{from{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){.field-tabs button{font-size:12px;gap:10px}.field-scene-copy{max-width:360px}.field-scene h3{font-size:60px}.field-scene-shade{background:linear-gradient(90deg,#111614ed,#111614ba 40%,#11161410 85%),linear-gradient(0deg,#111614,transparent 25%,transparent 85%,#111614)}.field-print figcaption{display:block}.field-print figcaption strong{display:block;text-align:left;margin-top:8px}.field-scene{min-height:560px}}
@media(max-width:700px){.field-feature{padding:70px 0 50px}.field-feature .section-top{margin-bottom:25px}.field-intro p{font-size:13px;margin-top:22px}.field-intro .text-link{margin-top:0}.field-tabs{gap:10px}.field-tabs button{min-height:85px;align-items:flex-start;flex-direction:column;gap:10px;padding:15px 0;font-size:11px;line-height:1.4}.field-tabs button span{font-size:9px}.field-tabs button b{display:none}.field-tabs button:after{right:0}.field-scenes{margin-top:0}.field-scene{min-height:710px;align-items:end}.field-scene-image{bottom:220px}.field-scene-image img{object-position:50% center;filter:saturate(.87) brightness(.94)}.field-scene-shade{background:linear-gradient(0deg,#111614 0%,#111614 28%,#111614b0 47%,transparent 65%,transparent 89%,#111614 100%)}.field-scene-content{display:block;padding-top:380px;padding-bottom:25px}.field-scene-copy{max-width:100%}.field-scene h3{font-size:46px;max-width:330px;margin:18px 0}.field-scene-copy p{font-size:13px;line-height:1.85;max-width:360px;margin-bottom:20px}.field-scene-zoom{margin-top:25px;font-size:10px;padding:11px 18px}.field-feature-foot{font-size:7px;letter-spacing:.04em;align-items:start;line-height:1.7}.field-feature-foot a{font-size:10px;white-space:nowrap}.field-archive{padding-bottom:65px}.field-filter{gap:8px}.field-filter button{font-size:10px;padding:12px 15px;min-height:44px}.field-grid{grid-template-columns:1fr;gap:38px}.field-print:nth-child(3n+1){grid-column:auto}.field-print:nth-child(3n+1) .field-photo,.field-enlarge .field-photo{aspect-ratio:1.14}.field-print figcaption{padding-top:10px}.field-fleet{min-height:540px}.field-fleet>.field-photo{object-position:61% center}.field-fleet h2{font-size:57px}.field-fleet-shade{background:linear-gradient(90deg,#111614cc,#11161435),linear-gradient(0deg,#111614,transparent 35%,transparent 75%,#111614)}.services-section .service-visual .field-photo{aspect-ratio:1.1;object-position:30% center}.legacy-photo .field-photo{aspect-ratio:1.1}.page-split>img[src*="/field/"]{aspect-ratio:1.15}.lightbox-caption{font-size:11px}}
.motion-off .field-scene,.motion-off .field-print{animation:none}.motion-off .field-enlarge:hover .field-photo{transform:none}.motion-off .field-photo,.motion-off .field-tabs button:after{transition:none}
@media(prefers-reduced-motion:reduce){.field-scene,.field-print{animation:none}.field-enlarge:hover .field-photo{transform:none}}
/* V17: full photographic service scene with overlaid text, like the homepage. */
.services-section.services-immersive{position:relative;isolation:isolate;overflow:hidden;background:#111614;padding:110px 0 90px}
.services-scene-background{position:absolute;top:20px;bottom:10px;left:24%;right:-13%;z-index:-3;pointer-events:none;mask-image:linear-gradient(90deg,transparent,#000 17%,#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 17%,#000 100%)}
.services-scene-photo{width:100%;height:100%;display:block;filter:saturate(.82) brightness(.86);overflow:hidden}
.services-scene-shade{position:absolute;inset:0;pointer-events:none;z-index:-2;background:linear-gradient(90deg,#111614 0%,#111614f0 27%,#111614b5 42%,#11161420 66%,#11161415 88%,#11161495 100%),linear-gradient(0deg,#111614 0%,#111614b0 8%,transparent 30%,transparent 78%,#111614 100%)}
.services-scene-content{position:relative}.services-overlay-copy{width:48%;max-width:630px}.services-overlay-copy .eyebrow{margin-bottom:25px}.services-overlay-copy h2{font-size:clamp(52px,5.8vw,88px);line-height:1.04;text-shadow:0 2px 35px #11161430}.services-scene-intro{font-size:14px;line-height:1.85;max-width:405px;color:#c6cec6;margin:26px 0 33px}
.services-immersive .service-row{grid-template-columns:25px 1fr 28px;gap:15px;padding:20px 0;background:transparent;border-color:#d3dfd231;transition:color .2s,padding .25s}.services-immersive .service-row:hover{background:transparent;padding-left:8px;color:#fff}.services-immersive .service-row h3{font-size:25px;color:#f0eee5}.services-immersive .service-row p{font-size:12px;line-height:1.65;margin-top:7px;max-width:350px;color:#bec8bf}.services-immersive .service-row>.arrow{color:#ff1616}.services-immersive .service-extras{gap:25px;font-size:10px;margin-top:22px}.services-scene-action{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.services-scene-action .btn{min-height:56px;font-size:12px}
.services-scene-caption{position:absolute;left:62%;right:var(--pad);bottom:20px;display:flex;flex-direction:column;gap:8px;font-size:9px;letter-spacing:.14em;color:#aebcaf;text-shadow:0 2px 10px #111614}
@media(max-width:1000px) and (min-width:701px){.services-overlay-copy{width:53%}.services-overlay-copy h2{font-size:60px}.services-scene-background{left:22%;right:-28%}.services-immersive .service-row h3{font-size:23px}.services-scene-caption{left:66%;font-size:7px}}
@media(max-width:700px){.services-section.services-immersive{padding:75px 0 65px}.services-overlay-copy{width:100%;max-width:none}.services-overlay-copy h2{font-size:clamp(47px,12vw,72px)}.services-overlay-copy .eyebrow{font-size:8px;margin-bottom:22px}.services-scene-intro{font-size:13px;max-width:320px;margin-top:22px}.services-scene-background{top:125px;bottom:auto;left:-20%;right:-46%;height:760px;mask-image:linear-gradient(0deg,transparent,#000 26%,#000 89%,transparent);-webkit-mask-image:linear-gradient(0deg,transparent,#000 26%,#000 89%,transparent)}.services-scene-photo{filter:saturate(.82) brightness(.82)}.services-scene-shade{background:linear-gradient(0deg,#111614 0%,#111614fa 32%,#111614e8 52%,#11161480 68%,#11161410 80%,#111614 100%),linear-gradient(90deg,#11161475,transparent 70%)}.services-immersive .service-list{margin-top:175px}.services-immersive .service-row{padding:22px 0;gap:12px;grid-template-columns:22px 1fr 22px}.services-immersive .service-row h3{font-size:25px}.services-immersive .service-row p{font-size:12px;max-width:310px;color:#cad3ca}.services-scene-action{display:grid;grid-template-columns:1fr;margin-top:28px}.services-scene-action .btn{justify-content:center;min-height:58px;font-size:14px}.services-scene-caption{display:none}.services-immersive .service-extras{justify-content:space-between;gap:12px;font-size:10px}}
/* Keep the homepage photo and its localized AirPod removal. */
.hero-photo{background-image:url('/assets/v30-full/hero-no-airpod.svg')}
/* V21: broad, gradual mist fade beneath the oversized editorial headline. */
.services-scene-background{left:34%;right:-9%;top:0;bottom:0;mask-image:linear-gradient(90deg,transparent,#0002 9%,#0009 22%,#000 36%,#000 78%,#0006 93%,transparent),linear-gradient(0deg,transparent,#0005 9%,#000 22%,#000 80%,#0008 93%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#0002 9%,#0009 22%,#000 36%,#000 78%,#0006 93%,transparent),linear-gradient(0deg,transparent,#0005 9%,#000 22%,#000 80%,#0008 93%,transparent);mask-composite:intersect;-webkit-mask-composite:source-in}
.services-scene-photo{object-fit:cover;object-position:60% 34%}
.services-scene-shade{background:linear-gradient(90deg,#111614 0%,#111614ed 26%,#111614b0 38%,#11161445 51%,transparent 65%),linear-gradient(0deg,#111614,transparent 23%,transparent 88%,#11161470)}
@media(max-width:1000px) and (min-width:701px){.services-scene-background{left:30%;right:-20%}.services-scene-shade{background:linear-gradient(90deg,#111614 0%,#111614ed 29%,#111614a0 43%,#11161430 60%,transparent 76%),linear-gradient(0deg,#111614,transparent 22%,transparent 88%,#11161480)}}
@media(max-width:700px){.services-scene-background{left:-12%;right:-12%;top:72px;bottom:auto;height:800px;mask-image:linear-gradient(0deg,transparent,#0004 10%,#000 27%,#000 79%,#0006 94%,transparent),linear-gradient(90deg,transparent,#0008 10%,#000 24%,#000 79%,#0007 94%,transparent);-webkit-mask-image:linear-gradient(0deg,transparent,#0004 10%,#000 27%,#000 79%,#0006 94%,transparent),linear-gradient(90deg,transparent,#0008 10%,#000 24%,#000 79%,#0007 94%,transparent)}.services-scene-photo{object-position:51% 36%}.services-scene-shade{background:linear-gradient(180deg,#111614 0,#11161415 160px,transparent 270px,#11161410 480px,#111614cf 650px,#111614 830px)}.services-immersive .service-list{margin-top:24px}}

/* V19 — restore light, clarify hierarchy, and give photography room to breathe. */
:root {
  --muted: #bcc4bc;
  --line: #d8e7dc2b;
}

/* A smaller editorial tier lets the opening and architectural feature lead. */
.section { padding: 88px 0; }
.section-top h2, .areas h2 { font-size: clamp(44px, 4.5vw, 66px); line-height: 1.08; }
.section-top { gap: 44px; margin-bottom: 38px; }
.section-top p { font-size: 15px; line-height: 1.8; max-width: 355px; color: var(--muted); }
.eyebrow { font-size: 11px; letter-spacing: .14em; }
.text-link { font-size: 14px; }
.nav a { font-size: 12px; }
.trust-strip { padding: 28px 0; }
.trust-item { font-size: 12px; letter-spacing: .025em; }
.trust-item small { font-size: 10px; color: #aebaae; letter-spacing: .07em; }

/* Retain the exact hero file, crop, and localized ear retouch. */
.hero-photo { filter: brightness(1.06) contrast(1.025); }
.hero .hero-copy { font-size: 16px; line-height: 1.75; }
.hero .eyebrow { font-size: 10px; letter-spacing: .12em; }
.hero-action-note { font-size: 12px; color: #c2ccc0; }
.hero-note { font-size: 11px; }
.hero-coordinate { font-size: 10px; }
.hero h1 ,
.hero .hero-display { letter-spacing: -.035em; }

.intro { padding: 76px 0 82px; }
.intro-layout { grid-template-columns: .6fr 1.4fr; gap: 50px; }
.intro h2 { font-size: clamp(32px, 3vw, 46px); line-height: 1.23; }
.intro h2 span { color: #c2cbc1; }
.intro p { font-size: 16px; line-height: 1.85; max-width: 635px; color: var(--muted); }
.intro-bottom small, .intro-bottom strong { font-size: 11px; }
.intro:before, .legacy:before, .plans:before, .areas:before { display: none; }

/* Full mist photograph retains its original photographic detail. */
.services-section.services-immersive { padding: 88px 0 80px; }
.services-overlay-copy .services-scene-heading { width: min(85vw, 1150px); max-width: none; font-size: clamp(68px, 8.8vw, 128px); line-height: .99; letter-spacing: -.035em; white-space: nowrap; text-shadow: 0 3px 30px #11161470; }
.services-scene-intro { font-size: 16px; line-height: 1.8; color: #d0d7cf; }
.services-scene-photo { filter: saturate(.96) contrast(1.035) brightness(1.07); }
.services-immersive .service-row { padding: 21px 0; }
.services-immersive .service-row h3 { font-size: 26px; }
.services-immersive .service-row p { font-size: 14px; line-height: 1.65; color: #cad3c9; }
.services-immersive .service-extras { font-size: 12px; flex-wrap: wrap; }
.services-scene-caption { font-size: 10px; letter-spacing: .09em; }

/* The house remains the original full-resolution asset. Color is CSS-only. */
.thermal { padding: 94px 0 78px; }
.thermal-head h2 { font-size: clamp(54px, 6.6vw, 94px); line-height: 1.04; }
.thermal-head p { font-size: 16px; line-height: 1.75; color: #c5cfc4; max-width: 470px; }
.thermal-stage {
  min-height: clamp(500px, 48vw, 690px);
  margin-top: 34px;
  mask-image: linear-gradient(0deg, transparent, #000 9%, #000 93%, transparent);
  -webkit-mask-image: linear-gradient(0deg, transparent, #000 9%, #000 93%, transparent);
}
.thermal-photo {
  background-position: center 60%;
  filter: brightness(1.1) contrast(1.025) saturate(1.04);
  mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
}
.thermal-hot { background: #ff762414; }
.thermal-cool { background: linear-gradient(120deg, #63c1e328, #66a5c708); backdrop-filter: none; }
.thermal-hot, .thermal-cool {
  mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
}
.thermal-data { top: 12%; left: 8%; right: 8%; text-shadow: 0 2px 20px #000a; }
.thermal-data strong { font-size: clamp(58px, 5.2vw, 76px); }
.thermal-data small { font-size: 11px; letter-spacing: .13em; }
.thermal-data div:first-child { color: #ffdfc3; }
.thermal-data div:last-child { color: #e1f5fd; }
.thermal-line { top: 9%; bottom: 10%; }
.thermal-line:after { width: 48px; height: 48px; box-shadow: 0 5px 24px #0006; }
.thermal-stage:focus-within .thermal-line:after { box-shadow: 0 0 0 4px var(--red), 0 5px 24px #0006; }
.thermal-foot { bottom: 11%; font-size: 10px; letter-spacing: .08em; text-shadow: 0 1px 12px #000; color: #f0eee6; }
.thermal-note { margin-top: 8px; font-size: 11px; color: #aebbae; line-height: 1.7; }
.thermal-note span:first-child { color: #d3dbd0; }
.thermal-section-link { margin-top: 26px; }

.legacy { padding: 84px 0; overflow: hidden; }
.legacy-layout { position: relative; display: block; min-height: 710px; }
.legacy-layout > .legacy-copy { position: relative; z-index: 2; width: 43%; padding: 32px 0; }
.legacy h2 { font-size: clamp(48px, 5vw, 72px); line-height: 1.08; }
.legacy p { font-size: 15px; line-height: 1.85; color: var(--muted); }
.legacy-photo {
  position: absolute; inset: -50px -12vw -45px 25%; margin: 0; padding: 0; z-index: 0;
  mask-image: linear-gradient(90deg, transparent, #0002 10%, #0009 25%, #000 39%, #000 82%, transparent), linear-gradient(0deg, transparent, #0005 10%, #000 23%, #000 79%, #0007 93%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #0002 10%, #0009 25%, #000 39%, #000 82%, transparent), linear-gradient(0deg, transparent, #0005 10%, #000 23%, #000 79%, #0007 93%, transparent);
  mask-composite: intersect; -webkit-mask-composite: source-in;
}
.legacy .legacy-photo .field-photo {
  width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; object-position: 52% center;
  mask-image: none; -webkit-mask-image: none; filter: saturate(.98) contrast(1.025) brightness(1.045);
}
.legacy-photo:after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, #111614a0, #11161420 33%, transparent 48%); }
.legacy .legacy-facts { position: relative; z-index: 2; }
.legacy-facts { margin-top: 32px; padding-top: 28px; }
.legacy-facts span { font-size: 12px; line-height: 1.6; color: #bac6b8; }
.field-photo { filter: saturate(.98) contrast(1.025) brightness(1.045); }
.field-feature { padding: 84px 0 62px; }
.field-feature .section-top { margin-bottom: 32px; }
.field-intro p, .field-scene-copy p { font-size: 15px; color: #d0d8cf; }
.field-scene { min-height: 540px; }
.field-scene-image img { filter: saturate(.97) contrast(1.025) brightness(1.035); }
.field-scene h3 { font-size: clamp(44px, 4.7vw, 68px); }
.field-kicker, .field-feature-foot { font-size: 11px; letter-spacing: .07em; }
.field-intro .text-link, .field-scene-copy .text-link, .field-feature-foot a { font-size: 14px; }
.field-scene-zoom { font-size: 12px; }
.field-fleet > .field-photo { filter: saturate(.96) contrast(1.025) brightness(1.035); }
.field-print figcaption span, .field-count { font-size: 11px; }
.field-print figcaption strong { font-size: 14px; }

.plans { padding-top: 82px; }
.plan-tabs { max-width: none; gap: 32px; }
.plan-tab { font-size: 14px; padding: 18px 8px; }
.member-card:after { animation: none; opacity: .5; }
.member-card .member-bottom { font-size: 9px; letter-spacing: .07em; }
.plan-info .plan-badge { font-size: 11px; }
.plan-price span { font-size: 14px; color: #bdc8b8; }
.plan-description { font-size: 15px; max-width: 430px; }
.plan-benefits { gap: 16px 20px; }
.plan-benefits li { font-size: 14px; line-height: 1.65; color: #ced6c9; }
.plan-disclaimer { font-size: 12px; line-height: 1.75; color: #b3bfac; }
.plans-compare { font-size: 13px; gap: 24px; color: #bac6b4; }
#plan-book { font-size: 14px; }
.review-count, .review-author strong { font-size: 14px; }
.review-author small, .review-position { font-size: 11px; color: #b0bfaa; }
.review-slide blockquote { font-size: clamp(25px, 2.4vw, 35px); line-height: 1.5; }
.areas p, .faq-layout p { font-size: 15px; line-height: 1.8; color: var(--muted); }
.faq-layout p { max-width: 310px; }
.city-chip { font-size: 12px; min-height: 44px; padding: 10px 16px; }
.map-selected { font-size: 13px; }
summary { font-size: 16px; padding-top: 24px; padding-bottom: 24px; }
details p { font-size: 15px !important; line-height: 1.85; color: var(--muted); }
.cta { padding: 94px 0; }
.cta h2 { font-size: clamp(58px, 6.5vw, 92px); }
.cta p { font-size: 16px; }
.cta-actions small { font-size: 12px; color: #bac6b4; }
.footer p, .footer-col a, .footer-col span { font-size: 13px; color: #b9c5b6; }
.footer-col h3 { font-size: 11px; color: #d3dcce; }
.footer-bottom { font-size: 11px; color: #adbaa7; }
.footer-col .big { font-size: 28px; }
.footer-brand-large { margin-top: 34px; }
.page-hero p, .page-split p, .contact-card p, .editorial-card p { font-size: 16px; line-height: 1.85; }
.process-item p, .check-list li { font-size: 14px; line-height: 1.8; }
.booking-option, .modal-body > p, .booking-summary p { font-size: 15px; line-height: 1.7; }
.booking-summary small, .booking-urgent, .lightbox-caption { font-size: 12px; }

@media (max-width: 1000px) {
  .intro-layout { grid-template-columns: 1fr; gap: 24px; }
  .section-top { gap: 30px; }
  .plans-compare { flex-wrap: wrap; }
  .plan-benefits { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .section, .legacy { padding: 65px 0; }
  .section-top h2, .areas h2 { font-size: clamp(40px, 10vw, 58px); }
  .section-top p { font-size: 15px; }
  .hero .hero-copy { font-size: 15px; max-width: 355px; }
  .hero .eyebrow { font-size: 9px; letter-spacing: .07em; }
  .hero-action-note { font-size: 11px; }
  .hero-photo { opacity: .9; }
  .trust-item { font-size: 10px; gap: 10px; }
  .trust-item small { font-size: 9px; letter-spacing: .025em; }
  .eyebrow { font-size: 10px; letter-spacing: .1em; }
  .intro { padding: 64px 0; }
  .intro p { font-size: 15px; }
  .intro-bottom small, .intro-bottom strong { font-size: 10px; }
  .services-section.services-immersive { padding: 68px 0; }
  .services-overlay-copy .services-scene-heading { width: 100%; font-size: clamp(44px, 12.4vw, 84px); line-height: 1.02; letter-spacing: -.04em; }
  .services-overlay-copy .eyebrow { font-size: 10px; }
  .services-scene-intro { font-size: 15px; max-width: 345px; margin-top: 330px; text-shadow: 0 2px 15px #111614; }
  .services-scene-background { top: 72px; }
  .services-immersive .service-row p { font-size: 14px; }
  .services-immersive .service-extras { font-size: 12px; gap: 12px; }
  .thermal { padding: 65px 0; }
  .thermal-head h2 { font-size: clamp(49px, 12vw, 72px); }
  .thermal-head p { font-size: 15px; }
  .thermal-stage { min-height: 450px; margin-top: 24px; }
  .thermal-photo { background-position: 64% center; }
  .thermal-data { top: 11%; left: 8%; right: 8%; }
  .thermal-data strong { font-size: 58px; }
  .thermal-data small { font-size: 10px; letter-spacing: .06em; }
  .thermal-foot { font-size: 9px; letter-spacing: .02em; }
  .thermal-note { display: block; font-size: 11px; }
  .thermal-note span { display: block; max-width: none; }
  .thermal-note span + span { margin-top: 4px; }
  .thermal-section-link .text-link { font-size: 13px; }
  .legacy-layout { min-height: 0; display: block; }
  .legacy-layout > .legacy-copy { width: 100%; padding: 0; }
  .legacy-photo {
    position: relative; inset: auto; width: calc(100% + var(--pad) * 2); height: clamp(480px, 125vw, 650px);
    margin: 0 calc(var(--pad) * -1) -24px;
    mask-image: linear-gradient(0deg, transparent, #0007 12%, #000 27%, #000 75%, #0008 90%, transparent), linear-gradient(90deg, transparent, #0009 10%, #000 22%, #000 80%, #0009 93%, transparent);
    -webkit-mask-image: linear-gradient(0deg, transparent, #0007 12%, #000 27%, #000 75%, #0008 90%, transparent), linear-gradient(90deg, transparent, #0009 10%, #000 22%, #000 80%, #0009 93%, transparent);
  }
  .legacy .legacy-photo .field-photo { object-position: 53% center; }
  .legacy-photo:after { background: linear-gradient(0deg, #11161440, transparent 35%); }
  .legacy h2 { font-size: clamp(44px, 11vw, 64px); }
  .legacy-facts span { font-size: 11px; }
  .legacy-facts strong { font-size: 28px; }
  .field-feature { padding: 65px 0 48px; }
  .field-scene { min-height: 690px; }
  .field-scene-image { bottom: 260px; }
  .field-scene-content { padding-top: 350px; }
  .field-scene-copy p, .field-intro p { font-size: 15px; }
  .field-tabs button { font-size: 12px; }
  .field-feature-foot { display: block; font-size: 10px; }
  .field-feature-foot a { display: inline-block; margin-top: 12px; font-size: 13px; }
  .plan-tabs { gap: 12px; }
  .plan-tab { font-size: 13px; padding: 16px 3px; }
  .plan-benefits { grid-template-columns: 1fr; gap: 12px; }
  .member-card { min-height: 255px; max-height: 330px; }
  .plans-compare { display: block; line-height: 1.8; }
  .plans-compare a { display: inline-block; margin-top: 12px; }
  .review-author small { font-size: 10px; letter-spacing: .03em; }
  .faq-layout h2 { font-size: 46px; }
  summary { font-size: 15px; }
  .cta { padding: 70px 0; }
  .cta h2 { font-size: clamp(46px, 11.8vw, 68px); }
  .footer-col a { line-height: 1.7; }
  .footer-bottom { line-height: 1.8; }
  .page-hero p, .page-split p, .contact-card p, .editorial-card p { font-size: 15px; }
  .process-item p, .check-list li { font-size: 14px; }
}

@media (max-width: 600px) {
  .hero { height: auto; min-height: 870px; max-height: none; }
  .hero-content { padding-bottom: 160px; }
}

/* Review attribution remains visible without competing with the quotation. */
.review-source { display: inline-block; margin-top: 6px; font-size: 12px; color: #ced8c9; text-decoration: underline; text-underline-offset: 4px; }
.review-source:hover { color: #fff; }
.review-source:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }

/* V24 — a tangible metal membership card with a quiet, directional sheen. */
.plans .plan-display { grid-template-columns: 1.08fr 1fr; gap: clamp(45px, 7vw, 105px); padding: 20px 0; }
.plans .plan-info { min-width: 0; }
.plans .member-card {
  --metal-edge: #a67d3c; --metal-mid: #d8b979; --metal-light: #fae8b3; --metal-shadow: #ad8748; --metal-ink: #29200f;
  position: relative; isolation: isolate; width: 100%; max-width: 580px; min-height: 0; max-height: none; aspect-ratio: 1.6;
  margin: 0 auto; padding: 0; overflow: hidden; border-radius: 22px; border: 1px solid #f4ddb17a;
  background: linear-gradient(128deg, var(--metal-edge) 0%, var(--metal-mid) 23%, var(--metal-light) 43%, var(--metal-shadow) 62%, var(--metal-mid) 82%, var(--metal-edge) 100%);
  color: var(--metal-ink); box-shadow: 0 28px 70px #0007, 0 6px 16px #0005, inset 0 1px 1px #fff9, inset 0 -2px 3px #372a1750;
  transform: rotate(-4deg); transition: transform .55s var(--ease), box-shadow .55s var(--ease);
}
.plans .member-card.silver { --metal-edge: #808d92; --metal-mid: #c8d0d1; --metal-light: #f1f3eb; --metal-shadow: #9ba8aa; --metal-ink: #192326; border-color: #d7e5e178; }
.plans .member-card.platinum { --metal-edge: #70898b; --metal-mid: #b0c6c5; --metal-light: #e1efeb; --metal-shadow: #8da8aa; --metal-ink: #142629; border-color: #c5e0dc78; }
.plans .member-card:before {
  content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background: repeating-linear-gradient(0deg, transparent 0 2px, #fff2 2px 3px), radial-gradient(ellipse at 30% 0%, #fff9, transparent 70%);
  mix-blend-mode: soft-light; opacity: .4;
}
.plans .member-card:after {
  content: ''; position: absolute; inset: -70%; z-index: 1; pointer-events: none; border: 0; border-radius: 0;
  background: linear-gradient(110deg, transparent 43%, #fff8 49%, transparent 57%);
  transform: translateX(-25%) rotate(-10deg); opacity: .2; animation: none; transition: transform .9s var(--ease), opacity .9s;
}
.plans .member-card > * { z-index: 2; }
.plans .member-card .wordmark { position: absolute; top: 10%; left: 8%; font-size: clamp(18px, 1.6vw, 24px); color: var(--metal-ink); letter-spacing: -.025em; text-shadow: 0 1px #fff4; }
.plans .member-card .wordmark span { font: 500 9px/1.4 Inter, sans-serif; letter-spacing: .16em; color: var(--metal-ink); margin-top: 8px; }
.plans .member-card .card-star { top: 9%; right: 8%; font-size: 36px; line-height: 1; color: var(--metal-ink); opacity: .75; }
.plans .member-card .member-tier { left: 8%; bottom: 25%; font-size: clamp(58px, 6.4vw, 94px); line-height: 1; letter-spacing: -.035em; color: var(--metal-ink); text-shadow: 0 1px #fff6; }
.plans .member-card .member-bottom { left: 8%; right: 8%; bottom: 8%; gap: 18px; padding-top: 12px; border-top: 1px solid #34281555; font-size: 9px; line-height: 1.5; letter-spacing: .055em; color: var(--metal-ink); }
@media (hover: hover) and (pointer: fine) {
  .plans .member-card:hover { transform: rotate(-1deg) translateY(-4px); box-shadow: 0 34px 85px #0007, 0 8px 20px #0005, inset 0 1px 1px #fff9; }
  .plans .member-card:hover:after { transform: translateX(25%) rotate(-10deg); opacity: .35; }
}
@media (max-width: 700px) {
  .plans .plan-display { grid-template-columns: 1fr; gap: 44px; padding: 15px 0; }
  .plans .member-card { max-width: 530px; border-radius: 17px; transform: rotate(-3deg); }
  .plans .member-card .member-tier { font-size: clamp(56px, 16vw, 84px); }
  .plans .member-card .wordmark { font-size: 20px; }
  .plans .member-card .wordmark span { font-size: 8px; margin-top: 5px; letter-spacing: .12em; }
  .plans .member-card .card-star { font-size: 29px; }
  .plans .member-card .member-bottom { font-size: 8px; padding-top: 9px; gap: 12px; }
}
.motion-off .plans .member-card, .motion-off .plans .member-card:hover { transform: none; transition: none; }
.motion-off .plans .member-card:after, .motion-off .plans .member-card:hover:after { transform: rotate(-10deg); transition: none; }
@media (prefers-reduced-motion: reduce) {
  .plans .member-card, .plans .member-card:hover { transform: none; transition: none; }
  .plans .member-card:after, .plans .member-card:hover:after { transform: rotate(-10deg); transition: none; }
}

/* Selected additions extend the approved photography and typography. */
.gold-text{color:#e8c886}.gold-display-card{position:relative;isolation:isolate;aspect-ratio:1.586;max-width:550px;width:100%;padding:38px;border:1px solid #ffefbb;border-radius:18px;color:#332712;background:linear-gradient(125deg,#9c7436 0%,#f2d79d 30%,#d5ad64 45%,#fae6b7 62%,#af8645 100%);box-shadow:0 25px 60px #0005;overflow:hidden}.gold-display-card:after{content:'';position:absolute;inset:-90%;transform:rotate(-25deg);z-index:-1;background:repeating-linear-gradient(90deg,transparent 0 33px,#fff2 34px 35px)}.gold-display-card>span{font-weight:700;letter-spacing:.1em;font-size:13px}.gold-display-card>strong{display:block;font-family:Oswald,sans-serif;font-size:65px;letter-spacing:-.03em;margin-top:40px;line-height:1}.gold-display-card>small{display:block;font-size:8px;letter-spacing:.14em;margin-top:22px}.gold-card-mark{position:absolute;right:35px;top:30px;font-size:64px;color:#53381080}.gold-intro .page-split{align-items:center}.gold-intro .form-note{margin-top:20px;max-width:500px}
.service-discount{padding:58px 0;border-block:1px solid #ffffff16;background:#171d19}.discount-layout{display:grid;grid-template-columns:auto 1fr auto;gap:44px;align-items:center}.discount-number{font-family:Oswald,sans-serif;font-size:120px;line-height:1;color:#ff302e;letter-spacing:-.055em}.discount-number span{font-size:55px}.service-discount h2{font-size:clamp(28px,3vw,42px);line-height:1.12;margin:14px 0}.service-discount p{max-width:520px;font-size:14px}.employee-note{display:flex;align-items:flex-start;gap:18px;margin-top:26px;padding-top:22px;border-top:1px solid #ffffff26}.employee-note>span{color:var(--red);font-size:28px}.employee-note p{font-size:14px;line-height:1.85}.employee-note strong{display:block;color:var(--paper);margin-bottom:5px}
.promo-banner{padding:52px 0;border-block:1px solid #d2b77d40;background:radial-gradient(ellipse at 90% 0%,#b28c4220,transparent 65%),#191c16}.promo-banner>.wrap{display:flex;align-items:center;justify-content:space-between;gap:55px}.promo-banner h2{font-size:clamp(38px,4vw,58px);margin:18px 0}.promo-banner p{max-width:660px;font-size:15px}.promo-banner small{display:block;margin-top:15px;max-width:700px;color:#c8bb9b;font-size:12px}.promo-banner .btn{white-space:nowrap;background:#d9bc7c;border-color:#d9bc7c;color:#201b12}.promo-banner[hidden]{display:none}.home-guides .editorial-card{padding-top:25px;border-top:1px solid #ffffff30}.home-guides .editorial-card h3{font-size:30px;line-height:1.18}.home-guides .editorial-card p{font-size:14px}.capability-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 65px}.capability-grid>div{padding-top:26px;border-top:1px solid #ffffff25}.capability-grid h3{font-size:27px;line-height:1.25;margin:14px 0}.capability-grid p{font-size:15px;line-height:1.85;max-width:560px}.capability-index{font-size:10px;letter-spacing:.12em;color:#d2b77d}.capability-section{background:#161c18}.local-links .area-directory{margin-top:22px}.local-links .area-directory a{font-size:clamp(21px,2.1vw,30px)}.addition-faq .eyebrow{margin-bottom:22px}.addition-faq a:not(.btn),.form-note a,.form-privacy a,.legal-copy a,.hiring-contact a{color:#e7ce9e;text-decoration:underline;text-underline-offset:4px}.addition-faq .faq-layout>div>p{max-width:430px}.addition-faq .faq-list p{max-width:none}.safety-note{max-width:1100px;border-block:1px solid #ffffff25;padding-top:28px;padding-bottom:28px}.safety-note h3{font-size:30px;margin-bottom:18px}.safety-note p{line-height:1.9;max-width:850px;margin-bottom:22px}
.signup-dialog{width:min(720px,calc(100% - 28px));max-height:90svh;max-height:90vh;overflow:auto}.signup-dialog .modal-body h2{font-size:clamp(38px,5vw,58px)}.request-form{margin-top:28px}.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:19px 20px}.form-fields label{display:flex;flex-direction:column;gap:7px;font-size:13px;color:#e7e9e2;font-weight:500}.form-wide{grid-column:1/-1}.form-fields input,.form-fields select{width:100%;min-height:49px;border:1px solid #b7c0af66;border-radius:2px;padding:11px 13px;background:#111613;color:#f2f2e9;font-size:16px;outline-offset:3px;color-scheme:dark}.form-fields input::placeholder{color:#8e9b88}.form-fields input:focus,.form-fields select:focus{border-color:#ead1a2}.form-estimate{display:flex;flex-direction:column;justify-content:end;gap:2px}.form-estimate small{font-size:11px;color:#b6c0b1}.form-estimate output{font-size:20px;color:#ebd3a8;font-weight:600}.form-note,.form-privacy{font-size:12px!important;line-height:1.8!important;margin:20px 0}.form-privacy{color:#aab6a4;margin-top:12px}.request-form>.btn{width:100%}.request-form>.btn:disabled{opacity:.65}.form-status{margin-top:18px;font-size:14px;line-height:1.8}.form-status:empty{display:none}.form-status[data-state=error]{color:#ffb3a8;border-left:2px solid #ff7f75;padding:10px 14px}.form-status[data-state=success]{color:#e8dfc7;border:1px solid #d6bb7c80;background:#bc9a3310;padding:20px}.request-form[aria-busy=true]{cursor:progress}.application-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.application-layout h2{font-size:clamp(40px,5vw,65px);margin:24px 0}.application-layout p{font-size:15px;line-height:1.9}.application-card{padding:38px;border:1px solid #d0d8c52e;background:#19201a}.application-card h3{font-size:32px}.hiring-contact{margin-top:35px;overflow-wrap:anywhere}.treat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.treat-grid article{min-height:240px;padding:32px;border:1px solid #d4b37460;background:linear-gradient(140deg,#28271e,#151b16)}.treat-grid h3{font-family:Oswald,sans-serif;text-transform:uppercase;font-size:36px;line-height:1.12;margin:26px 0 14px;color:#e3ca94}.treat-grid strong{display:block;margin-top:28px;font-size:12px;color:#e2d7bd}.promo-claim{display:flex;gap:30px;align-items:center;margin:35px 0}.promo-claim p{max-width:600px;font-size:14px}.promo-claim .btn{flex-shrink:0}.offer-terms{border-top:1px solid #ffffff26;padding-top:32px;max-width:950px}.offer-terms h3{font-size:27px}.offer-terms ul{padding-left:20px;margin:22px 0;color:#b8c1b2;line-height:1.9;font-size:14px}.offer-terms li{margin-bottom:10px}.inline-button{padding:0;background:none;border:0;color:#e7ce9e;text-decoration:underline;font:inherit}.legal-heading h1{font-size:clamp(48px,6vw,78px)}.legal-heading{padding-bottom:35px}.legal-copy{padding-top:0}.legal-copy .meta{color:#d2b77d;font-size:13px}.legal-copy li{color:#b9c3b4;font-size:15px;margin-bottom:9px}.legal-copy h2{font-size:29px}.legal-copy p{font-size:15px;line-height:1.9}
@media(max-width:900px){.discount-layout{grid-template-columns:auto 1fr;gap:30px}.discount-layout>.btn{grid-column:2}.promo-banner>.wrap{display:block}.promo-banner .btn{margin-top:26px}.application-layout{grid-template-columns:1fr;gap:35px}.application-layout>div:first-child{max-width:700px}.treat-grid{grid-template-columns:1fr}.treat-grid article{min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:15px}.treat-grid h3{margin:0;grid-column:1}.treat-grid p{grid-column:1}.treat-grid strong{grid-column:2;grid-row:2;margin:0;align-self:center;text-align:right}.promo-claim{display:block}.promo-claim p{margin-top:18px}}
@media(max-width:600px){.discount-layout{grid-template-columns:1fr;gap:22px}.discount-layout>.btn{grid-column:1}.discount-number{font-size:90px}.discount-number span{font-size:40px}.service-discount h2{font-size:35px}.capability-grid{grid-template-columns:1fr;gap:26px}.capability-grid h3{font-size:25px}.capability-grid p{font-size:14px}.form-fields{grid-template-columns:1fr;gap:16px}.form-wide{grid-column:auto}.form-estimate{border-top:1px solid #ffffff24;padding-top:16px}.application-card{padding:24px 20px}.treat-grid article{padding:26px 22px;display:block}.treat-grid h3{margin:22px 0 13px;font-size:32px}.treat-grid strong{text-align:left;margin-top:22px}.gold-display-card{padding:25px}.gold-display-card>strong{font-size:53px;margin-top:28px}.gold-display-card>small{font-size:6px}.gold-card-mark{font-size:50px;top:20px;right:25px}.legal-copy ul{padding-left:22px}}

.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px 38px;align-items:start}.project-photo{margin:0}.project-photo:nth-child(2){margin-top:95px}.project-photo:nth-child(5){grid-column:1/-1;max-width:680px;margin:auto}.project-photo button{position:relative;padding:0;border:0;background:none;width:100%;display:block}.project-photo img{width:100%;height:auto;max-height:720px;object-fit:contain}.project-photo figcaption{display:flex;gap:18px;border-top:1px solid #ffffff30;margin-top:18px;padding-top:18px;font-size:13px;color:#bcc7b5}.project-photo figcaption>span{color:#d8b979;font-size:11px}.project-zoom{position:absolute;right:14px;bottom:14px;width:40px;height:40px;display:grid;place-items:center;background:#121913d9;border:1px solid #fff8;border-radius:50%;font-size:23px}.portfolio-footer{display:flex;justify-content:space-between;gap:25px;margin-top:45px}.portfolio-footer p{max-width:600px;font-size:14px}.home-employee{margin-bottom:30px}.plans-compare{flex-wrap:wrap;gap:16px 25px}.mobile-menu{overflow-y:auto;max-height:calc(100svh - 106px)}
@media(max-width:600px){.portfolio-grid{grid-template-columns:1fr;gap:32px}.project-photo:nth-child(2){margin-top:0}.project-photo:nth-child(5){grid-column:auto}.portfolio-footer{display:block}.portfolio-footer .text-link{margin-top:22px}}

/* V30 — desktop, tablet, and phone layouts share content and approved photos. */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
.wrap { padding-left: max(var(--pad), env(safe-area-inset-left)); padding-right: max(var(--pad), env(safe-area-inset-right)); }
.wrap > *, .page-split > *, .plan-display > *, .faq-layout > *,
.area-layout > *, .reviews-layout > *, .application-layout > *,
.capability-grid > *, .form-fields > *, .footer-top > * { min-width: 0; }
.button-label { min-width: 0; }
.action-label-short { display: none; }
.form-note, .form-privacy, .form-status, .footer-col a { overflow-wrap: anywhere; }
.form-fields input, .form-fields select { min-width: 0; max-width: 100%; }
.modal-close, .icon-button { flex-shrink: 0; min-width: 48px; min-height: 48px; }
.table-hint { display: none; }
.table-wrap { max-width: 100%; overscroll-behavior-x: contain; }
.table-wrap:focus-visible { outline: 2px solid #e7ce9e; outline-offset: 5px; }
dialog { overscroll-behavior: contain; }
.signup-dialog { max-height: 90vh; max-height: 90dvh; }
.signup-dialog .modal-head { position: sticky; top: 0; z-index: 3; background: #152018; padding-bottom: 12px; }
@media (min-width: 1101px) {
  .mobile-menu { display: none !important; }
  .header .nav a { display: inline-flex; align-items: center; min-height: 44px; }
  .header-actions { flex-shrink: 0; }
}

/* Use the compact navigation before desktop controls become crowded. */
@media (max-width: 1100px) {
  .header, .header.scrolled { height: 76px; gap: 16px; }
  .header .nav { display: none; }
  .header .menu-toggle { display: flex; width: 48px; height: 48px; min-width: 48px; min-height: 48px; }
  .header .header-actions { gap: 12px; flex-shrink: 0; }
  .header .brand { min-width: 0; }
  .header:has(+ .mobile-menu.open) { height: 76px; }
  .mobile-menu {
    inset: 76px 0 0; height: calc(100vh - 76px); height: calc(100dvh - 76px);
    max-height: none; padding: 24px var(--pad) max(32px, env(safe-area-inset-bottom));
    overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
    padding-left: max(var(--pad), env(safe-area-inset-left)); padding-right: max(var(--pad), env(safe-area-inset-right));
  }
  .mobile-menu a { min-height: 52px; font-size: clamp(24px, 4.5vw, 34px); line-height: 1.25; padding: 14px 0; }
  .mobile-menu .small { font-size: 16px; margin-top: 15px; }
}

/* Tablets keep generous reading widths instead of squeezing desktop columns. */
@media (max-width: 900px) {
  .plans .plan-display, .page-split, .faq-layout, .area-layout, .reviews-layout {
    grid-template-columns: minmax(0, 1fr); gap: 36px;
  }
  .plans .member-card { max-width: 530px; }
  .plans .plan-info { width: 100%; max-width: 680px; }
  .plans .plan-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .section-top { display: block; }
  .section-top p { max-width: 580px; margin-top: 20px; }
  .section-top > .text-link { display: inline-flex; margin-top: 22px; }
  .faq-layout > div > p { max-width: 580px; }
  .page-split > img, .page-split > picture { max-width: 720px; justify-self: center; }
  .gold-display-card { justify-self: center; }
  .cta .wrap { display: block; }
  .cta-actions { margin-top: 30px; min-width: 0; max-width: 480px; }
  .area-directory { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; }
  .local-links .area-directory a { font-size: 25px; gap: 15px; }
  .table-hint { display: block; font-size: 13px; margin: 24px 0 8px; color: #c9d2c5; }
  .comparison { margin-top: 8px; }
  .comparison th, .comparison td { padding: 18px 14px; }
  .comparison th:first-child { position: sticky; left: 0; z-index: 1; background: #111614; min-width: 155px; box-shadow: 5px 0 10px #0002; }
}

/* Phone: readable text, reachable actions, and single-column content. */
@media (max-width: 700px) {
  :root { --pad: clamp(18px, 5.3vw, 28px); }
  .header { padding-inline: max(18px, env(safe-area-inset-left)) max(18px, env(safe-area-inset-right)); gap: 12px; }
  .header .header-actions { gap: 9px; }
  .header .header-phone { display: none; }
  .header .booking-button { padding: 10px 14px; min-height: 48px; font-size: 13px; }
  .header .booking-button .action-icon, .header .booking-button > .arrow { display: none; }
  .header .action-label-full { display: none; }
  .header .action-label-short { display: inline; }
  .header .booking-button .button-label { gap: 0; }
  .topline { font-size: 8px; letter-spacing: .025em; padding-inline: 10px; gap: 6px; }
  .topline a { white-space: nowrap; }
  .hero .hero-actions { width: 100%; max-width: 430px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .hero .hero-actions .hero-schedule { grid-column: 1 / -1; }
  .hero .hero-actions .btn { width: 100%; min-width: 0; min-height: 48px; margin: 0; padding: 12px 16px; }
  .hero .hero-copy { max-width: 390px; }
  .hero .hero-action-note { font-size: 12px; max-width: 390px; }
  .hero .hero-note { gap: 12px; font-size: 11px; }
  .hero-note .stars { font-size: 10px; letter-spacing: 2px; }
  .hero-coordinate, .hero-label { display: none; }
  .hero-bottom { align-items: center; }
  .scroll-note { font-size: 0; flex-shrink: 0; min-width: 44px; min-height: 44px; justify-content: end; }
  .intro-bottom { gap: 18px; }
  .intro-bottom strong { line-height: 1.7; }
  .trust-items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; }
  .plans .plan-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .plans .plan-tab { min-height: 52px; font-size: 13px; }
  .plans .plan-benefits { grid-template-columns: 1fr; }
  .plans .plan-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 5px 12px; }
  .plans .plan-price span { line-height: 1.6; }
  .plans-compare a { display: flex; align-items: center; min-height: 44px; margin-top: 6px; }
  .plan-info .btn { width: 100%; min-height: 58px; }
  .capability-grid, .editorial-grid, .portfolio-grid, .form-fields { grid-template-columns: minmax(0, 1fr); }
  .form-wide { grid-column: auto; }
  .form-estimate { border-top: 1px solid #ffffff24; padding-top: 16px; }
  .project-photo:nth-child(2) { margin-top: 0; }
  .project-photo:nth-child(5) { grid-column: auto; }
  .application-card { padding: 25px 20px; }
  .form-fields label { font-size: 14px; }
  .form-fields input, .form-fields select { min-height: 52px; font-size: 16px; }
  .form-note, .form-privacy { font-size: 13px !important; }
  .request-form > .btn { min-height: 56px; font-size: 14px; }
  .page-hero .button-row { display: grid; grid-template-columns: 1fr; width: 100%; max-width: 430px; }
  .page-hero .button-row > .btn, .promo-banner .btn, .promo-claim .btn { width: 100%; min-height: 58px; font-size: 14px; }
  .promo-banner .btn { white-space: normal; }
  .promo-claim .btn { justify-content: space-between; }
  .area-directory a, .local-links .area-directory a { font-size: 22px; gap: 12px; }
  .map-selected { flex-wrap: wrap; gap: 10px; }
  .map-selected a { display: inline-flex; align-items: center; min-height: 44px; }
  .footer-top { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; }
  .footer-brand, .footer-col:last-child { grid-column: 1/-1; }
  .footer-col:last-child { display: block; }
  .footer .footer-col a { display: flex; align-items: center; min-height: 44px; margin: 0; padding: 8px 0; font-size: 14px; }
  .footer .footer-col .big { font-size: 28px; }
  .footer .footer-col:last-child p { margin: 18px 0 0; }
  .footer-bottom > div { flex-wrap: wrap; gap: 4px 20px; }
  .footer-bottom a, .footer-bottom button { display: inline-flex; align-items: center; min-height: 44px; }
  .footer { padding-bottom: calc(115px + env(safe-area-inset-bottom)); }
  .contact-dock { left: max(10px, env(safe-area-inset-left)); right: max(10px, env(safe-area-inset-right)); bottom: calc(8px + env(safe-area-inset-bottom)); width: auto; transform: translateY(calc(100% + 50px)); padding: 7px; white-space: normal; }
  .contact-dock.shown { transform: translateY(0); }
  .contact-dock .dock-copy { display: none; }
  .contact-dock .btn { min-width: 0; min-height: 52px; justify-content: center; padding: 10px 12px; font-size: 12px; }
  .contact-dock .btn > .arrow { display: none; }
  .contact-dock .call-button { flex: 1; }
  .contact-dock .booking-button { flex: 1.4; }
  .contact-dock .button-label { gap: 7px; }
  body:has(.request-form input:focus, .request-form select:focus) .contact-dock { visibility: hidden; }
  dialog:not(.lightbox) {
    position: fixed; inset: auto 0 max(8px, env(safe-area-inset-bottom)); margin: 0 auto;
    width: calc(100% - max(8px, env(safe-area-inset-left)) - max(8px, env(safe-area-inset-right))); max-width: 650px; max-height: 92vh;
    max-height: min(92dvh, calc(var(--form-viewport-height, 100dvh) - 16px));
    bottom: calc(var(--form-keyboard-inset, 0px) + max(8px, env(safe-area-inset-bottom)));
    border-radius: 22px; overflow-y: auto;
  }
  dialog:not(.lightbox) .modal-head { position: sticky; top: 0; z-index: 3; background: #152018; padding: 14px 20px 10px; }
  dialog:not(.lightbox) .modal-body { padding: 4px 22px 26px; }
  dialog:not(.lightbox) .modal-body h2 { margin-top: 14px; font-size: clamp(34px, 9vw, 46px); }
  .booking-options { grid-template-columns: 1fr; }
  .booking-option { min-height: 54px; font-size: 15px; }
  .booking-step { flex-wrap: wrap; gap: 8px; }
  .lightbox { max-height: 94vh; max-height: 94dvh; }
  #lightbox.lightbox img { max-height: 70vh; max-height: 70dvh; }
  .lightbox .modal-head { align-items: start; gap: 12px; }
  .lightbox-caption { font-size: 12px; padding-top: 8px; }
}

@media (max-width: 380px) {
  .header { padding-inline: max(14px, env(safe-area-inset-left)) max(14px, env(safe-area-inset-right)); gap: 8px; }
  .header .header-actions { gap: 7px; }
  .header .wordmark { font-size: 19px; }
  .header .wordmark span { font-size: 5px; }
  .header .booking-button { padding-inline: 12px; }
  .hero .hero-note { gap: 8px; }
  .hero .hero-note .stars { letter-spacing: 0; }
  .plan-tab { letter-spacing: 0; }
  .plans .member-card .member-tier { font-size: 52px; }
  .plans .member-card .member-bottom { font-size: 7px; gap: 8px; }
  .area-directory { grid-template-columns: minmax(0, 1fr); }
  .trust-item { gap: 8px; }
  .trust-item small { font-size: 9px; }
  .contact-dock .btn { padding-inline: 8px; }
  .contact-dock .action-icon { width: 15px; height: 15px; }
}

/* PAD LCP: prefer responsive <img> inside .hero-photo when present */
.hero-photo{background-image:none!important; background:transparent!important;}
.hero-photo > img.hero-photo-img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:51% 50%;
  display:block;
}

/* accent polish */
.gold-text,.hero .hero-display .gold-text,.page-hero .hero-display .gold-text{color:#e8c886!important;-webkit-text-stroke:0!important}
.hero .hero-display,.page-hero .hero-display{color:#f3f1ea}
.hero .hero-display>span:not(.outline):not(.red):not(.gold-text),.page-hero .hero-display>span:not(.outline):not(.red):not(.gold-text){color:#f3f1ea}
.hero .hero-display>span,.page-hero .hero-display>span,.hero-content .eyebrow,.hero-copy,.hero-content .button-row{animation-fill-mode:both}

/* === footer-pad-fit 2026-10-05 === */
.footer > .wrap{
  container-type:inline-size;
  container-name:footer-wrap;
}
.footer-brand-large{
  display:block;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  font-family:Oswald,'Arial Narrow',sans-serif;
  font-weight:700;
  /* Pre-fit size (wide fallback safe); JS retunes after fonts.ready to exact width */
  font-size:clamp(18px, 6.2cqi, 160px);
  line-height:1;
  letter-spacing:-.045em;
  white-space:nowrap;
  color:#28382c;
  margin-top:34px;
  text-align:center;
  overflow:hidden;
  /* Subtle bottom-only fade — tops stay fully legible */
  mask-image:linear-gradient(180deg,#000 0%,#000 88%,rgba(0,0,0,.88) 100%);
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 88%,rgba(0,0,0,.88) 100%);
  min-height:clamp(28px, 7.8cqi, 110px);
}
@media(max-width:600px){
  .footer-brand-large{ margin-top:28px; }
}

/* === onceover 2026-10-05 === */
/* Keep hero + footer + page-hero clear of fixed .mobile-call-bar (~69px) */
@media(max-width:768px){
  body{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}
  /* End the hero above the call bar so absolute .hero-bottom isn't covered */
  .hero{
    height:calc(100svh - 28px - 72px - env(safe-area-inset-bottom,0px)) !important;
    max-height:calc(100svh - 28px - 72px - env(safe-area-inset-bottom,0px)) !important;
    min-height:0 !important;
  }
  .hero-bottom{bottom:18px !important}
  .footer{padding-bottom:calc(130px + env(safe-area-inset-bottom,0px)) !important}
  /* Extra bottom pad so the next section doesn't peek under the call bar at rest */
  .page-hero{padding-bottom:calc(140px + env(safe-area-inset-bottom,0px)) !important}
  .cta{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:600px){
  .hero{
    height:calc(100svh - 28px - 72px - env(safe-area-inset-bottom,0px)) !important;
    max-height:calc(100svh - 28px - 72px - env(safe-area-inset-bottom,0px)) !important;
  }
  .hero-bottom{bottom:16px !important}
  .page-hero{padding-bottom:calc(150px + env(safe-area-inset-bottom,0px)) !important}
}

/* Fix hero transparent CTAs — avoid rating-badge collision ~512px */
@media (max-width: 560px) {
  .hero-content { padding-bottom: 210px; }
  .hero .hero-actions { max-width: 340px; margin-bottom: 8px; }
  .hero .hero-actions .btn { min-height: 48px; }
  .hero-bottom { z-index: 2; }
}
@media (max-width: 430px) {
  .hero-content { padding-bottom: 220px; }
  .hero .hero-actions { max-width: 100%; }
}

/* fix51:hero-badge-stack — phones: put the rating badge in normal flow under the hero note so it can never overlap */
@media (max-width: 600px) {
  .hero { min-height: 0 !important; display: flex; flex-direction: column; }
  .hero-content { padding-bottom: 28px !important; }
  .hero .hero-bottom { position: relative !important; left: auto !important; right: auto !important; bottom: auto !important;
    margin: 0 var(--pad, 23px) 104px; padding-top: 18px; z-index: 2; }
  .hero .hero-bottom .scroll-note, .hero .hero-bottom .hero-coordinate { display: none; }
}

/* fix52:hero-transparent — see-through hero CTAs; brand color carried by the border (Thad 10/10 2:28 PM).
   Note: backdrop-filter has no effect here (hero-content is a backdrop root), so legibility comes from the dark base layer + text-shadow. */
.hero .hero-actions a.btn.hero-schedule,
.hero .hero-actions a.btn.hero-call,
.hero .hero-actions a.btn.hero-text{
  -webkit-backdrop-filter:blur(6px) brightness(.5);backdrop-filter:blur(6px) brightness(.5);
  color:#fff!important;font-weight:800;
  text-shadow:0 1px 2px rgba(0,0,0,.9),0 0 12px rgba(0,0,0,.55);box-shadow:none!important}
.hero .hero-actions a.btn.hero-schedule{background:linear-gradient(rgba(236,32,24,.18),rgba(236,32,24,.18)),rgba(0,0,0,.5)!important;border:2.5px solid #ff2a1f!important}
.hero .hero-actions a.btn.hero-call{background:linear-gradient(rgba(240,238,229,.1),rgba(240,238,229,.1)),rgba(0,0,0,.55)!important;border:2px solid #f0eee5!important}
.hero .hero-actions a.btn.hero-text{background:rgba(0,0,0,.5)!important;border:1.5px solid rgba(255,255,255,.85)!important}
.hero .hero-actions a.btn.hero-schedule:hover,.hero .hero-actions a.btn.hero-schedule:focus-visible{background:linear-gradient(rgba(236,32,24,.3),rgba(236,32,24,.3)),rgba(0,0,0,.55)!important;border-color:#ff2a1f!important}
.hero .hero-actions a.btn.hero-call:hover,.hero .hero-actions a.btn.hero-call:focus-visible,
.hero .hero-actions a.btn.hero-text:hover,.hero .hero-actions a.btn.hero-text:focus-visible{background:linear-gradient(rgba(240,238,229,.16),rgba(240,238,229,.16)),rgba(0,0,0,.6)!important}
