:root{--green:#50f52d;--green-hover:#76ff57;--green-ink:#217b15;--ink:#111e22;--navy:#091317;--dark:#0c181d;--white:#f7f9fa;--muted:#758389;--line:#dfe6e9;--radius:6px;--max:1440px;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);background:var(--white);font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}button{color:inherit}a:hover{text-decoration:none}p{margin:0 0 1rem}h1,h2,h3,h4{line-height:1.12;letter-spacing:-.035em;margin:0 0 .7rem;font-weight:750}h1{font-size:clamp(2rem,3.1vw,3rem)}h2{font-size:clamp(1.35rem,1.7vw,1.7rem)}h3{font-size:1.15rem}small,.small{font-size:.8125rem;line-height:1.5}.muted{color:var(--muted)}.container{width:min(var(--max),calc(100% - 72px));margin-inline:auto}.icon{width:22px;height:22px;flex-shrink:0;vertical-align:middle}.reverse{transform:rotate(180deg)}.button{display:inline-flex;gap:12px;align-items:center;justify-content:center;min-height:44px;padding:11px 21px;border:1px solid var(--green);border-radius:4px;background:var(--green);color:#0a2107;line-height:1.2;font-size:.875rem;font-weight:750;text-align:center;transition:background .2s,transform .2s}.button:hover{background:var(--green-hover);transform:translateY(-1px)}.button .icon{width:17px;height:17px}.button.outline{background:transparent;color:inherit;border-color:#70838b}.button.outline:hover{background:#ffffff12}.button.neutral{background:transparent;border-color:#bbc6cb;color:var(--ink)}.button.neutral:hover{background:#ecf1f3}.button.small{font-size:.8125rem;min-height:36px;padding:8px 12px}.button.danger{background:#fceced;color:#a02232;border-color:#e7a7b0}.text-link{display:inline-flex;gap:9px;align-items:center;font-size:.8125rem;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:3px}.text-link .icon{width:16px;height:16px}.icon-button{display:inline-flex;justify-content:center;align-items:center;background:transparent;border:1px solid currentColor;border-radius:50%;height:34px;width:34px;padding:6px;color:inherit}.icon-button:hover{color:var(--green-ink);background:#ffffff18}.icon-button .icon{height:18px;width:18px}.eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.105em;color:var(--green-ink);margin:0 0 9px}.dark .eyebrow,.masthead .eyebrow{color:var(--green)}.light{background:#f5f8fa}.dark{background:linear-gradient(110deg,#091619,#0e1c23);color:#fff}.masthead{background:#091317;color:white}.home-masthead{background-position:center;background-size:cover}.topbar{border-bottom:1px solid #ffffff1a;background:#0410159c}.topbar-inner{min-height:35px;display:flex;align-items:center;gap:28px;font-size:.75rem}.topbar a{display:flex;align-items:center;gap:7px}.topbar .icon{height:15px;width:15px;color:var(--green)}.social-top{margin-left:auto;display:flex;gap:15px}.opening-status{display:flex;gap:6px;align-items:center}.opening-status i{width:6px;height:6px;border-radius:50%;background:#adb7ba}.opening-status.is-open i{background:var(--green)}.site-header{display:flex;align-items:center;gap:30px;height:96px}.brand{width:130px;height:96px;display:flex;align-items:center;margin-right:auto}.brand img{height:96px;width:114px;object-fit:contain;mix-blend-mode:screen}.site-header nav{display:flex;gap:29px;font-size:.875rem;font-weight:600}.site-header nav a{padding:12px 0;position:relative}.site-header nav a.active,.site-header nav a:hover{color:var(--green)}.site-header nav a.active:after{content:'';position:absolute;height:2px;background:var(--green);bottom:4px;left:0;right:0}.header-cta{margin-left:40px;white-space:nowrap}.nav-toggle{display:none}.hero{min-height:310px;display:flex;align-items:center;padding-bottom:26px}.hero-copy{max-width:500px;padding-left:160px;box-sizing:content-box;width:410px}.hero h1{font-size:clamp(1.9rem,2.5vw,2.5rem);max-width:430px;line-height:1.02;letter-spacing:-.04em}.hero h1 em{color:var(--green);font-style:normal}.hero-subtitle{font-size:1rem;margin:.65rem 0 1.2rem}.trust-points{display:flex;gap:26px;margin-top:26px;font-size:.75rem;line-height:1.3}.trust-points span{display:flex;align-items:center;gap:11px}.trust-points .icon{width:29px;height:29px;color:var(--green)}.home-section{padding:24px 0}.section-rail{display:grid;grid-template-columns:265px minmax(0,1fr);gap:30px;align-items:center}.section-intro .text-link{margin-top:10px}.carousel-wrap{min-width:0;position:relative;padding-bottom:0}.service-carousel{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.service-carousel::-webkit-scrollbar{display:none}.service-card{position:relative;display:block;overflow:hidden;isolation:isolate;border-radius:var(--radius);min-height:185px;background:#162429;color:#fff;scroll-snap-align:start}.service-carousel .service-card{flex:0 0 calc((100% - 56px)/5)}.service-card img{height:100%;width:100%;position:absolute;inset:0;object-fit:cover;transition:transform .4s;z-index:-2}.service-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#051013 3%,#051013c9 49%,#05101308);z-index:-1}.service-card:hover img{transform:scale(1.05)}.service-card-content{height:100%;min-height:185px;display:flex;flex-direction:column;justify-content:flex-end;padding:15px 13px}.service-card h3{font-size:.875rem;letter-spacing:-.02em;line-height:1.18;margin:7px 0 4px;overflow-wrap:anywhere}.service-card p{font-size:.75rem;line-height:1.3;margin:0 0 7px;color:#dce4e7}.circle-arrow{display:flex;align-items:center;justify-content:center;border-radius:50%;width:22px;height:22px;border:1px solid var(--green);color:var(--green)}.circle-arrow .icon{width:14px;height:14px}.carousel-controls{display:flex;gap:8px;justify-content:flex-end}.carousel-wrap>.carousel-controls{position:absolute;right:0;top:-46px}.services-section .section-rail{padding-top:17px}.package-home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch}.package-card{border:1px solid #40535b;border-radius:var(--radius);padding:18px 20px 10px;display:flex;flex-direction:column;position:relative;min-width:0;background:#0d1b21;box-shadow:inset 0 0 25px #ffffff03}.package-card h3{font-size:1.05rem;margin-bottom:3px;text-transform:uppercase;letter-spacing:0}.package-tagline{text-transform:uppercase;color:#b6c4ca;font-size:.65rem;letter-spacing:.14em;margin-bottom:10px}.feature-list{list-style:none;padding:0;margin:0 0 12px;font-size:.8125rem;line-height:1.45}.feature-list li{display:flex;align-items:flex-start;gap:9px;margin:4px 0}.feature-list .icon{color:var(--green);width:16px;height:18px}.package-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}.package-bottom .package-price{font-size:1rem;white-space:nowrap}.package-bottom .button{white-space:nowrap}.package-card.recommended{border-color:var(--green)}.recommendation{position:absolute;left:-1px;right:-1px;top:-13px;background:var(--green);color:#082400;line-height:20px;border-radius:4px 4px 0 0;text-align:center;font-size:.6rem;letter-spacing:.15em;font-weight:800}.detail-link{font-size:.7rem;color:#a5b4bb;align-self:flex-start;margin-top:8px;text-decoration:underline;text-underline-offset:3px}.packages-section{padding:28px 0 24px}.comparison-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.comparison-card,.gallery-teaser{position:relative;border-radius:5px;overflow:hidden;background:#0b171d}.gallery-teaser img{width:100%;height:150px;object-fit:cover}.gallery-teaser span{position:absolute;bottom:0;left:0;right:0;color:#fff;font-size:.8125rem;padding:24px 12px 9px;background:linear-gradient(transparent,#071216c9)}.compare-images{height:150px;position:relative;overflow:hidden}.compare-images img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.compare-before{clip-path:inset(0 calc(100% - var(--split)) 0 0)}.compare-images input{position:absolute;inset:0;height:100%;width:100%;margin:0;opacity:0;cursor:ew-resize;z-index:5}.compare-label{position:absolute;bottom:8px;padding:2px 6px;border-radius:3px;background:#031116b8;font-size:.6875rem;text-transform:uppercase;color:white}.compare-label.before{left:8px}.compare-label.after{right:8px}.compare-handle{position:absolute;left:var(--split);top:0;bottom:0;border-left:2px solid #fff;display:flex;align-items:center;color:white;transform:translateX(-1px);text-shadow:0 1px 5px #000}.comparison-card figcaption{color:white;padding:8px 10px;margin:0;font-size:.8125rem}.review-section{padding:24px 0}.reviews-container{min-width:0}.review-carousel{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;gap:24px;scrollbar-width:none}.review-card{flex:0 0 calc((100% - 24px)/2);scroll-snap-align:start;border-right:1px solid #31434b;padding:0 25px 0 6px}.stars{color:var(--green);letter-spacing:1px;font-size:1.05rem}.stars span{color:#73858b}.review-text{font-size:.875rem;margin:7px 0 13px;max-height:none;overflow:hidden;line-height:1.4;white-space:normal}.review-author{display:flex;align-items:center;gap:8px;font-size:.75rem}.review-author small{display:block;color:#a2b1b6;font-size:.6875rem}.avatar{width:29px;height:29px;background:#30434c;border-radius:50%;display:grid;place-items:center;font-weight:700}.review-source{margin-left:auto;font-size:.6875rem;text-decoration:underline}.review-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:15px;gap:10px}.review-bottom .small{font-size:.6875rem}.google-brand{font-family:Arial,sans-serif;font-size:1rem;font-weight:400;letter-spacing:normal;color:#fff;white-space:nowrap}.rating-summary{font-size:.75rem;color:#adc0c6;display:block;margin-top:3px}.review-empty{border-left:1px solid #34434c;padding:8px 25px}.review-empty p{margin:6px 0 9px;color:#c4d0d5}.contact-strip{padding:22px 0}.contact-strip-grid{display:grid;grid-template-columns:265px 200px minmax(240px,1fr) 280px;align-items:center;gap:30px}.contact-strip h2{font-size:1.2rem}.contact-strip .eyebrow{margin-bottom:6px}.contact-strip-grid>a{display:flex;gap:13px;align-items:center;font-size:.8125rem}.contact-methods{display:flex;flex-direction:column;gap:8px;font-size:.8125rem}.contact-methods a{display:flex;align-items:center;gap:10px;overflow-wrap:anywhere}.contact-methods .icon{width:18px;height:18px}.hours-box{position:relative;background:#0c1c22;color:white;border-radius:5px;padding:16px;font-size:.8125rem}.hours-box summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none}.hours-box summary span{margin-left:auto}.hours-dropdown{margin-top:15px}.hours-row{display:flex;justify-content:space-between;gap:15px;font-size:.8125rem;padding:6px 0;border-bottom:1px solid #88888822}.site-footer{background:#061216;color:white;padding:17px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}.footer-brand{display:flex;gap:10px;align-items:center;letter-spacing:.12em;white-space:nowrap}.footer-brand img{width:47px;height:47px;object-fit:contain;mix-blend-mode:screen}.footer-brand small{display:block;letter-spacing:.18em;font-size:.5rem;color:#c4d2d6}.footer-links{display:flex;gap:15px;flex-wrap:wrap;font-size:.75rem}.footer-links small{flex-basis:100%;color:#8d9fa7;font-size:.6875rem}.text-button{background:transparent;border:0;padding:0;color:inherit;font:inherit;text-align:left}.text-button:hover,a:hover.text-link{text-decoration:underline}.social-footer{display:flex;gap:15px;font-size:.75rem;white-space:nowrap}.absence-bar{padding:13px 0;background:#e2f6dc;color:#173c13;font-size:.875rem}.absence-bar span{font-size:.75rem;white-space:nowrap}.page-content{padding-block:48px 64px;min-height:50vh}.page-intro{max-width:780px;margin-bottom:32px}.page-intro h1{margin-bottom:15px}.page-intro>p:last-child:not(.eyebrow){color:#64757e;line-height:1.7;max-width:620px}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.service-grid .service-card,.service-grid .service-card-content{min-height:260px}.service-grid .service-card-content{padding:24px}.service-grid .service-card h3{font-size:1.25rem}.service-grid .service-card p{font-size:.875rem}.packages-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;background:transparent}.packages-grid .package-card{padding:28px}.packages-grid .package-card h3{font-size:1.5rem}.packages-grid .feature-list{font-size:1rem;margin-bottom:25px}.packages-grid .package-tagline{font-size:.75rem}.back-link{display:inline-block;font-size:.875rem;margin-bottom:22px;color:#637882}.detail-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,1fr);gap:60px;align-items:start}.detail-cover{width:100%;max-height:400px;object-fit:cover;border-radius:8px;margin-bottom:25px}.detail-aside{background:#e9f0f2;border-radius:8px;padding:30px;position:sticky;top:25px}.detail-aside p{color:#546973}.detail-aside small{display:block;margin-top:20px;color:#617680}.prose{line-height:1.8;overflow-wrap:anywhere}.prose h2,.prose h3{margin:1.5em 0 .6em}.prose a{text-decoration:underline;text-underline-offset:3px;color:var(--green-ink)}.prose table{width:100%;border-collapse:collapse}.prose td,.prose th{padding:8px;border:1px solid #d6e0e5}.legal-prose{max-width:860px}.detail-features{font-size:1rem}.detail-features .icon{color:var(--green-ink);margin-top:4px}.filter-chips{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:28px}.filter-chips a{padding:8px 18px;border:1px solid #ced9df;border-radius:25px;font-size:.875rem}.filter-chips a.active{background:var(--ink);border-color:var(--ink);color:white}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.gallery-grid>a{display:block;position:relative;overflow:hidden;border-radius:6px;background:#15232a}.gallery-grid img{height:240px;width:100%;object-fit:cover;transition:transform .35s}.gallery-grid>a:hover img{transform:scale(1.04)}.gallery-grid span{display:flex;justify-content:space-between;align-items:center;padding:10px 13px;color:#fff;font-size:.8125rem}.gallery-grid span .icon{width:16px;height:16px}.lightbox{border:0;background:#061216f5;color:white;max-width:95vw;max-height:94vh;padding:28px;border-radius:8px;overflow:auto}.lightbox img{max-height:78vh;object-fit:contain;margin:auto}.lightbox p{margin:15px 0 0}.lightbox-close{position:absolute;right:8px;top:8px;background:#142a32;z-index:2}dialog::backdrop{background:#021016b5;backdrop-filter:blur(5px)}.contact-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.info-card{background:#fff;border:1px solid var(--line);padding:32px;border-radius:8px}.info-card h2{margin-bottom:20px}.contact-social{display:flex;gap:20px;margin-top:25px;font-size:.875rem}.request-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(250px,1fr);gap:65px;align-items:start}.request-aside{padding:25px 0 0}.request-aside .contact-large{font-size:1.5rem;font-weight:700;display:block;margin:15px 0 22px}.request-aside .hours-row{font-size:.875rem}.request-form{background:white;border:1px solid var(--line);border-radius:8px;padding:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid .full{grid-column:1/-1}label{display:flex;flex-direction:column;gap:7px;font-size:.875rem;font-weight:600;min-width:0}label small{font-weight:400;color:#6a7e87}input,textarea,select{border:1px solid #c9d5db;background:white;color:#13252e;border-radius:5px;padding:11px 12px;width:100%;min-width:0;outline:none;font-size:1rem;line-height:1.4}input:focus,textarea:focus,select:focus{border-color:#54a041;box-shadow:0 0 0 3px #63c94520}input[type=checkbox],input[type=radio]{width:18px;height:18px;accent-color:#347a1e;flex-shrink:0}textarea{resize:vertical}label.check{flex-direction:row;align-items:flex-start;gap:10px;font-weight:400}label.check input{margin:3px 0 0}.check a{text-decoration:underline}.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.request-success{max-width:760px;background:#e9f8e7;padding:42px;border-radius:8px}.success-symbol{display:grid;place-items:center;background:#ccedc4;border-radius:50%;width:55px;height:55px;color:#267612;margin-bottom:25px}.notice{padding:16px 20px;border:1px solid #b9d5bf;background:#eef7eb;border-radius:6px;margin-bottom:20px;font-size:.9375rem}.notice p{margin:7px 0 0}.notice.error{background:#fff1f1;border-color:#edb2b6;color:#9e2938}.notice.warning{background:#fff7e6;border-color:#e6c881;color:#68510b}.error-text{color:#b02a3e;font-size:.875rem}.cookie-dialog{border:1px solid #dce5e9;border-radius:12px;width:min(620px,calc(100% - 30px));padding:32px;color:#152930;background:#fff;box-shadow:0 25px 120px #0006;max-height:90dvh;overflow-y:auto}.cookie-dialog h2{font-size:1.65rem}.cookie-dialog>form>p{color:#586d78;font-size:.9375rem}.cookie-dialog .eyebrow{color:var(--green-ink)}.cookie-mark{width:44px;height:44px;display:grid;place-items:center;background:#e8f8e3;border-radius:50%;color:#34842d;margin-bottom:15px}.consent-option{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #e2e9ed;padding:16px 0;font-size:.875rem}.consent-option small{display:block;font-size:.8125rem;color:#70808b;margin-top:2px;font-weight:400}.badge{font-size:.75rem;border-radius:20px;background:#edf2f4;color:#526974;padding:3px 9px;white-space:nowrap}.cookie-buttons{display:flex;gap:10px;flex-wrap:wrap}.cookie-buttons .button{flex:1;padding:11px 10px;font-size:.75rem;white-space:nowrap}.cookie-dialog .small a{text-decoration:underline}.cookie-dialog #cookie-error{margin:10px 0 0}.skip-link{position:fixed;left:15px;top:-100px;z-index:500;background:white;padding:12px}.skip-link:focus{top:10px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #63bc41;outline-offset:4px}dialog:not([open]){display:none}@media(min-width:1700px){:root{--max:1460px}.hero-copy{padding-left:160px}.home-masthead{background-position:center 54%}.hero{min-height:305px}}@media(max-width:1250px){.container{width:calc(100% - 48px)}.site-header{gap:22px}.site-header nav{gap:19px}.header-cta{margin-left:5px}.hero-copy{padding-left:80px}.section-rail{grid-template-columns:220px minmax(0,1fr);gap:22px}.service-carousel .service-card{flex-basis:calc((100% - 42px)/4)}.contact-strip-grid{grid-template-columns:220px 180px 1fr}.hours-box{grid-column:2/-1}.package-card{padding:18px 14px 10px}.package-bottom{flex-wrap:wrap;gap:8px}.social-top{display:none}.contact-strip h2{font-size:1.1rem}}@media(max-width:980px){.site-header{height:85px}.brand,.brand img{height:85px;width:95px}.site-header nav{gap:14px;font-size:.8125rem}.header-cta{font-size:.75rem;padding:10px}.hero-copy{padding-left:20px;width:360px}.hero{min-height:335px}.section-rail{grid-template-columns:1fr;gap:20px}.section-intro{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.section-intro .eyebrow{flex-basis:100%;margin:0}.section-intro h2{font-size:1.5rem;margin:0}.section-intro .text-link{margin:0 0 0 auto}.service-carousel .service-card{flex-basis:calc((100% - 56px)/5)}.carousel-wrap>.carousel-controls{position:static;margin-top:12px}.home-section{padding:30px 0}.services-section .section-rail{padding-top:0}.package-card{padding:20px 17px 12px}.package-bottom{display:block}.package-bottom .button{margin-top:10px;width:100%}.gallery-grid,.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-layout{gap:28px}.request-layout{gap:30px;grid-template-columns:minmax(0,1.5fr) 1fr}.contact-strip-grid{grid-template-columns:1fr 1fr;gap:25px}.hours-box{grid-column:auto}.footer-inner{gap:25px}.social-footer{flex-direction:column;gap:5px}.status-detail{display:none}.review-empty{border-left:0;padding-left:0}.review-section .section-intro{gap:10px}.rating-summary{margin-left:auto}.review-section h2{margin-right:auto}}@media(max-width:720px){.container{width:calc(100% - 32px)}.topbar-inner{gap:12px;justify-content:space-between;min-height:31px}.topbar-inner>a:first-child{display:none}.topbar-inner>a{font-size:.75rem}.site-header{position:relative;height:78px;gap:12px}.brand,.brand img{height:76px;width:86px}.nav-toggle{display:flex;order:3;border:0;width:36px;height:36px;border-radius:3px}.header-cta{font-size:.6875rem;min-height:38px;padding:9px 12px;margin-left:auto}.header-cta .icon{width:14px;height:14px}.site-header nav{display:none;position:absolute;top:78px;left:-16px;right:-16px;z-index:30;background:#09171e;padding:20px;box-shadow:0 12px 15px #0003}.site-header nav.open{display:flex;flex-direction:column;gap:7px}.site-header nav a{font-size:1rem;padding:8px 10px}.site-header nav a.active:after{display:none}.home-masthead{background-size:auto 100%;background-position:65% center}.hero{min-height:400px;padding-bottom:22px;align-items:flex-end}.hero-copy{padding-left:0;width:auto;max-width:330px;background:linear-gradient(90deg,#071114d9,#07111440);padding-top:14px}.hero h1{font-size:2rem}.hero-subtitle{font-size:.9375rem}.trust-points{gap:20px;font-size:.6875rem;margin-top:23px}.trust-points .icon{width:23px;height:23px}.trust-points span{gap:7px}.service-carousel .service-card{flex-basis:calc((100% - 28px)/3)}.service-card-content{padding:13px 10px}.service-card h3{font-size:.8125rem}.section-intro{gap:10px}.section-intro h2{font-size:1.3rem}.section-intro .text-link{font-size:.75rem}.package-home-grid{grid-template-columns:1fr;gap:25px}.package-card{padding:23px}.package-card h3{font-size:1.2rem}.package-tagline{font-size:.75rem}.feature-list{font-size:.9375rem}.package-bottom{display:flex}.package-bottom .button{margin:0;width:auto}.package-bottom .package-price{font-size:1.15rem}.detail-link{font-size:.8125rem}.comparison-grid{gap:10px}.gallery-teaser img,.compare-images{height:140px}.gallery-teaser span{font-size:.6875rem;padding-inline:7px}.review-card{padding:0 12px 0 0;flex-basis:calc((100% - 14px)/2)}.review-carousel{gap:14px}.review-text{font-size:.8125rem;max-height:none}.review-author{align-items:flex-start;font-size:.6875rem;flex-wrap:wrap}.review-author .avatar{width:24px;height:24px}.review-bottom{align-items:flex-end}.contact-strip-grid{gap:22px}.contact-strip-grid>a,.contact-methods{font-size:.75rem}.contact-methods{grid-column:1/-1}.hours-box{grid-column:1/-1;padding:13px}.footer-inner{flex-wrap:wrap;gap:17px}.footer-brand{font-size:.875rem}.social-footer{flex-direction:row;font-size:.6875rem}.footer-links{order:3;flex-basis:100%;gap:17px}.page-content{padding-block:30px 42px}.service-grid,.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.service-grid .service-card,.service-grid .service-card-content{min-height:230px}.service-grid .service-card-content{padding:18px}.service-grid .service-card h3{font-size:1.1rem}.gallery-grid img{height:190px}.gallery-grid span{font-size:.6875rem}.packages-grid{grid-template-columns:1fr}.detail-layout,.request-layout,.contact-page-grid{grid-template-columns:1fr}.detail-aside{position:static}.request-aside{border-top:1px solid var(--line);padding-top:25px}.request-form{padding:22px 18px}.form-grid{gap:17px}.form-grid>label{grid-column:1/-1}.page-intro h1{font-size:2rem}.page-intro{margin-bottom:25px}.info-card{padding:24px}.cookie-dialog{padding:25px 22px}.cookie-buttons{display:grid;grid-template-columns:1fr}.cookie-buttons .button{font-size:.875rem}.cookie-dialog h2{font-size:1.45rem}.cookie-dialog>form>p{font-size:.875rem}.consent-option{gap:10px}.consent-option .badge{font-size:.6875rem}.section-intro .rating-summary{margin:0}.request-success{padding:27px}.lightbox{padding:18px}.contact-strip h2{font-size:1rem}}@media(max-width:420px){.service-carousel .service-card{flex-basis:calc((100% - 14px)/2)}.comparison-grid{grid-template-columns:1fr}.gallery-teaser img,.compare-images{height:190px}.comparison-card figcaption{font-size:.875rem}.gallery-grid{gap:10px}.gallery-grid img{height:160px}.contact-strip-grid{grid-template-columns:1fr 1fr}.footer-links{gap:12px}.hero h1{font-size:1.85rem}.hero-copy{max-width:300px}.topbar .opening-status{font-size:.6875rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Keep navigation legible over reflective garage imagery. */
.home-masthead{position:relative}.home-masthead:before{content:'';position:absolute;inset:0 0 auto;height:146px;background:linear-gradient(180deg,#061015c9,#061015bd 75%,transparent);pointer-events:none}.home-masthead .topbar,.home-masthead .site-header,.home-masthead .hero{position:relative;z-index:1}
@media(max-width:720px){.home-masthead:before{height:112px}}

.google-attribution{height:18px;width:auto;max-width:none;object-fit:contain;display:inline-block;margin:4px 0;vertical-align:middle}
.hero-copy{min-width:0}.hero h1{overflow-wrap:normal}
.brand img{width:auto;aspect-ratio:1;border-radius:50%}
@media(min-width:981px){.hero-copy{width:510px;max-width:510px}.hero h1{max-width:510px;font-size:clamp(1.9rem,2.1vw,2.3rem)}}
@media(max-width:420px){.hero h1{font-size:clamp(1.5rem,7.55vw,1.85rem)}.hero-copy{max-width:100%}}
.info-card{min-width:0;overflow-wrap:anywhere}

/* Startseite, Full-HD-Hero und seitliche Leistungsnavigation. */
.topbar-inner{min-height:44px;gap:30px;font-size:.8125rem}
.topbar .primary-phone{font-size:1rem;font-weight:750;letter-spacing:.015em;white-space:nowrap;color:var(--green)}
.topbar .primary-phone .icon{width:18px;height:18px}
.home-masthead{min-height:clamp(620px,70vh,720px);display:flex;flex-direction:column;background-position:center center;background-repeat:no-repeat}
.home-masthead:before{height:166px;background:linear-gradient(180deg,#061015ed,#061015a3 58%,transparent)}
.home-masthead .site-header{height:112px;flex-shrink:0}
.home-masthead .brand,.home-masthead .brand img{height:108px}
.home-masthead .hero{flex:1;min-height:0;padding-top:30px;padding-bottom:44px;align-items:center}
.home-masthead .hero-copy{box-sizing:border-box;width:40%;max-width:590px;padding:0;background:none}
.home-masthead .hero h1{font-size:clamp(2rem,2.4vw,2.9rem);line-height:1.05;max-width:none;letter-spacing:-.04em;overflow-wrap:normal}
.home-masthead .hero .eyebrow{margin-bottom:15px;font-size:.8125rem;letter-spacing:.14em}
.home-masthead .hero-subtitle{font-size:1.125rem;margin:18px 0 24px}
.home-masthead .trust-points{gap:28px;margin-top:36px;font-size:.8125rem}
.home-masthead .trust-points .icon{height:30px;width:30px}
.services-section{padding:28px 0}
.services-section .section-rail{padding-top:0;gap:28px;grid-template-columns:255px minmax(0,1fr)}
.services-section .section-intro h2{font-size:1.7rem;line-height:1.12}
.services-section .section-intro .text-link{margin-top:14px}
.services-slider{position:relative;min-width:0;padding:0 54px}
.services-slider-nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border:1px solid #839197;background:#fff;color:#11232b;z-index:2;transition:background .18s,border-color .18s,color .18s}
.services-slider-nav:hover{background:var(--green);border-color:var(--green);color:#10210c}
.services-slider-nav .icon{width:19px;height:19px}
.services-slider-prev{left:0}.services-slider-next{right:0}
.services-slider-nav[hidden]{display:none}
.services-slider .service-carousel{gap:16px;overscroll-behavior-x:contain;scroll-padding-inline:0}
.services-slider .service-card{flex:0 0 calc((100% - 64px)/5)}
.services-slider .service-card,.services-slider .service-card-content,.preview-card-wrap .service-card,.preview-card-wrap .service-card-content{min-height:210px}
.services-slider .service-card-content{padding:19px 14px}
.services-slider .service-card h3{font-size:.875rem;line-height:1.18;hyphens:auto}
.services-slider .service-card p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin-bottom:10px}
.package-bottom{flex-wrap:wrap}
.package-bottom .package-price{white-space:normal;overflow-wrap:anywhere;line-height:1.25}
.contact-methods .primary-phone{font-size:1.05rem;font-weight:750;color:var(--green-ink)}
.contact-methods .primary-phone .icon{color:var(--green-ink)}
.contact-cta{margin-top:5px}
.footer-center{min-width:0;flex:1;max-width:660px}
.footer-nav{display:flex;flex-wrap:wrap;gap:9px 20px;font-size:.8125rem;margin-bottom:14px}
.footer-nav a:hover{color:var(--green)}
.site-footer{padding:25px 0}
@media(min-width:1100px) and (max-width:1499px){
 .services-slider .service-card{flex-basis:calc((100% - 48px)/4)}
 .home-masthead .hero-copy{width:44%;max-width:570px}
 .home-masthead .hero h1{font-size:clamp(2rem,2.45vw,2.7rem)}
}
@media(min-width:768px) and (max-width:1099px){
 .home-masthead{min-height:600px;background-position:58% center}
 .home-masthead .hero-copy{width:54%;max-width:530px}
 .home-masthead .hero h1{font-size:clamp(1.875rem,3.4vw,2.3rem)}
 .home-masthead .trust-points{gap:20px;font-size:.75rem}
 .services-section .section-rail{grid-template-columns:1fr;gap:24px}
 .services-section .section-intro{display:flex;flex-wrap:wrap;align-items:center;gap:10px 25px}
 .services-section .section-intro .eyebrow{flex-basis:100%;margin:0}
 .services-section .section-intro h2{font-size:1.55rem;margin:0}
 .services-section .section-intro .text-link{margin:0 0 0 auto}
 .services-slider .service-card{flex-basis:calc((100% - 32px)/3)}
 .services-slider .service-card h3{font-size:1rem}
 .topbar-inner{gap:18px;font-size:.75rem}
 .topbar .primary-phone{font-size:.9375rem}
}
@media(max-width:767px){
 .topbar-inner{display:grid;grid-template-columns:1fr auto;gap:4px 12px;min-height:62px;padding-block:8px;font-size:.6875rem}
 .topbar-inner>a:first-child{display:flex;grid-column:1/-1;font-size:.6875rem}
 .topbar .primary-phone{font-size:.875rem}
 .topbar .opening-status{font-size:.6875rem;justify-self:end}
 .topbar .status-detail,.topbar .social-top{display:none}
 .home-masthead{min-height:690px;background-color:#071317;background-size:100% 100%,auto 350px;background-position:center,62% 120px;background-repeat:no-repeat}
 .home-masthead:before{height:160px;background:linear-gradient(180deg,#071317,#071317d9 72%,transparent)}
 .home-masthead .site-header{height:90px}
 .home-masthead .brand,.home-masthead .brand img{height:86px}
 .home-masthead .hero{align-items:flex-end;padding-top:210px;padding-bottom:34px}
 .home-masthead .hero-copy{width:100%;max-width:470px}
 .home-masthead .hero h1{font-size:clamp(1.5rem,7.5vw,2rem);line-height:1.05}
 .home-masthead .hero .eyebrow{font-size:.6875rem;letter-spacing:.12em;margin-bottom:11px}
 .home-masthead .hero-subtitle{font-size:1rem;margin:14px 0 19px}
 .home-masthead .trust-points{gap:22px;margin-top:27px;font-size:.6875rem}
 .home-masthead .trust-points .icon{height:24px;width:24px}
 .services-section{padding:30px 0}
 .services-section .section-rail{grid-template-columns:1fr;gap:22px}
 .services-section .section-intro{gap:10px}
 .services-section .section-intro h2{font-size:1.4rem;flex-basis:100%}
 .services-section .section-intro .text-link{margin:5px 0 0}
 .services-slider{padding:0}
 .services-slider-nav{display:none}
 .services-slider .service-carousel{gap:14px}
 .services-slider .service-card{flex-basis:86%}
 .services-slider .service-card,.services-slider .service-card-content{min-height:235px}
 .services-slider .service-card-content{padding:23px}
 .services-slider .service-card h3{font-size:1.2rem;margin-top:10px}
 .services-slider .service-card p{font-size:.875rem}
 .contact-methods .primary-phone{font-size:1rem}
 .contact-cta{font-size:.75rem}
 .footer-inner{align-items:flex-start;flex-wrap:wrap;gap:22px}
 .footer-center{flex-basis:100%;order:3;max-width:none}
 .footer-nav{gap:10px 18px;font-size:.75rem}
 .footer-links{font-size:.6875rem}
}
@media(min-width:721px) and (max-width:767px){
 .home-masthead .site-header{gap:15px}
 .site-header nav{gap:12px;font-size:.75rem}
 .header-cta{padding:10px;font-size:.75rem}
}
@media(max-width:380px){
 .home-masthead .trust-points{gap:15px}
 .home-masthead .hero h1{font-size:7.5vw}
 .home-masthead .hero .button{font-size:.8125rem}
}

/* Partnerbereich innerhalb des hellen Galerieabschnitts. */
.partners-section{padding:0 0 30px}
.partners-inner{border-top:1px solid #dfe6e9;padding-top:26px}
.partners-heading{margin-bottom:20px}
.partners-heading h2{font-size:1.4rem;margin-bottom:0}
.partner-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.partner-card{min-width:0;min-height:132px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:18px 22px;background:#fff;border:1px solid #0a141514;border-radius:8px;text-align:center}
a.partner-card:hover,a.partner-card:focus-visible{border-color:var(--green-ink)}
.partner-logo{width:100%;height:70px;display:flex;align-items:center;justify-content:center}
.partner-logo img{width:100%;height:100%;max-width:180px;max-height:70px;object-fit:contain}
.partner-caption{font-size:.75rem;line-height:1.35;color:#49616b;overflow-wrap:anywhere}
.contact-methods .phone-label{font-size:.6875rem;font-weight:500}
@media(min-width:768px) and (max-width:1199px){.partner-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){
 .partner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .partner-card{padding:16px 12px;gap:10px;min-height:125px}
 .partner-logo{height:60px}
 .partner-caption{font-size:.6875rem}
 .partners-heading h2{font-size:1.2rem}
 .topbar-inner.without-phone .opening-status{grid-column:1/-1;justify-self:start}
}

/* Schriftzug ausschließlich im oberen Website-Header. */
.site-header .header-brand{width:max-content;height:auto;flex-shrink:0;display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;line-height:1;text-decoration:none}
.header-brand__main{font-size:26px;font-weight:750;letter-spacing:.055em;white-space:nowrap;line-height:1.1}
.header-brand__ee{color:var(--green)}
.header-brand__detailing{color:#f7f9fa}
.header-brand__sub{margin-top:6px;font-size:9px;font-weight:600;letter-spacing:.16em;white-space:nowrap;color:#e0e7ea;line-height:1.2}
@media(max-width:1200px){
 .header-brand__main{font-size:22px}
 .header-brand__sub{font-size:8px;letter-spacing:.14em;margin-top:5px}
}
@media(min-width:721px) and (max-width:900px){
 .site-header{position:relative}
 .site-header .header-brand{align-self:flex-start;margin-top:8px}
 .masthead:not(.home-masthead) .header-brand{margin-top:4px}
 .header-brand__main{font-size:20px}
 .header-brand__sub{font-size:7.5px;letter-spacing:.12em}
 .site-header nav{position:absolute;left:0;right:auto;top:auto;bottom:0}
}
@media(max-width:720px){
 .home-masthead .site-header{z-index:2}
 .header-brand__main{font-size:clamp(15px,4.4vw,18px);letter-spacing:.045em}
 .header-brand__sub{font-size:clamp(6px,1.6vw,7px);letter-spacing:.11em;margin-top:4px}
}
@media(max-width:420px){
 .site-header .header-cta-detail{display:none}
}

/* SEO 0.1.5: responsive background, existing crop/gradients retained. */




.detail-cover{height:auto}

/* semantic elements retain the existing appearance. */
.package-price{font-weight:bolder}
figure.comparison-card{margin:0}
.comparison-card figcaption{line-height:1.12;letter-spacing:-.035em;font-weight:750}

/* explicitly requested additions only. */

.package-card.has-background{background-size:cover;background-position:center}
.package-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-top:14px;margin-top:-14px;padding-bottom:4px}
.package-carousel>.package-card{flex:0 0 calc((100% - 28px)/3);scroll-snap-align:start}
.packages-slider{min-width:0;position:relative}.packages-slider .services-slider-nav{display:flex}

.absence-banner{background:#102820;color:#fff;border-block:2px solid var(--green);padding:12px 0;font-size:.875rem}.absence-banner span{margin-inline:12px}.absence-banner .text-button{color:var(--green);margin-left:10px}
.absence-dialog{background:#0c181d;color:#f7f9fa;border:1px solid var(--green);border-top:5px solid var(--green);border-radius:8px;padding:30px;width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto}.absence-dialog::backdrop{background:#000a}.absence-dialog .eyebrow{color:var(--green)}.absence-dates{font-weight:bold}.absence-actions{display:flex;gap:12px;flex-wrap:wrap}.absence-dialog p{overflow-wrap:anywhere}
.partner-grid.partner-rotation{display:flex;overflow-x:auto;scrollbar-width:none;gap:16px;scroll-behavior:auto;overscroll-behavior-x:contain}.partner-rotation>.partner-card{flex:0 0 calc((100% - 64px)/5)}
@media(max-width:1100px){.package-carousel>.package-card{flex-basis:calc((100% - 14px)/2)}.partner-rotation>.partner-card{flex-basis:calc((100% - 32px)/3)}}
@media(max-width:720px){.package-carousel>.package-card{flex-basis:100%}.package-carousel{gap:25px}.packages-slider .services-slider-nav{width:30px;height:30px}.partner-rotation>.partner-card{flex-basis:calc((100% - 12px)/2)}.partner-grid.partner-rotation{gap:12px}.absence-dialog{padding:22px}.absence-actions{flex-direction:column}.absence-banner span{display:block;margin:4px 0}}
.home-masthead .absence-banner{position:relative;z-index:2}.absence-banner .container{overflow-wrap:anywhere}
.packages-slider{padding-inline:48px}
@media(max-width:720px){.packages-slider{padding:0 0 44px}.packages-slider .services-slider-nav{top:auto;bottom:0;transform:none}.packages-slider .services-slider-prev{left:calc(50% - 40px)}.packages-slider .services-slider-next{right:calc(50% - 40px)}}

/* separate hero sources; ceiling and reflections are part of the photo. */
.home-masthead{background-image:none;background-color:#071317;isolation:isolate}
.hero-picture{position:absolute;inset:0;display:block;z-index:-2;pointer-events:none;overflow:hidden}
.hero-picture img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--hero-desktop-x) var(--hero-desktop-y)}
.home-masthead:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#071317fa 0%,#071317c4 23%,#07131766 44%,transparent 64%)}
@media(min-width:1100px){.hero-picture-scene img{width:auto;max-width:none;position:absolute;left:var(--hero-desktop-x);transform:translateX(calc(-1 * var(--hero-desktop-x)));object-fit:contain;mask-image:linear-gradient(90deg,transparent,#000 28%)}}
@media(min-width:768px) and (max-width:1099px){.home-masthead:after{background:linear-gradient(90deg,#071317e8,#0713178f 42%,transparent 82%)}}
@media(max-width:767px){
 .hero-picture{inset:120px 0 auto;height:350px}
 .hero-picture img{object-fit:cover;object-position:var(--hero-mobile-x) var(--hero-mobile-y)}
 .home-masthead:after{background:linear-gradient(180deg,#07131700 36%,#071317eb 68%,#071317 88%)}
}
/* Compact reviews without inner scrolling; original links stay outside the clamp. */
.review-card{display:flex;flex-direction:column;min-width:0}
.review-stars{display:block;color:var(--green);font-size:1rem;line-height:1.2;letter-spacing:1px;margin-bottom:6px}
.review-text{font-size:.8125rem;line-height:1.4;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:8;overflow:hidden;max-height:none;overflow-wrap:anywhere;margin:7px 0 14px}
.review-author{margin-top:auto;min-width:0;flex-wrap:wrap}.review-author>div{min-width:0;overflow-wrap:anywhere}
.section-intro .rating-summary{display:flex;align-items:center;gap:12px;margin:5px 0 0;color:#d3e1e5}
.rating-star{width:68px;height:68px;flex:none}.rating-summary strong{display:block;font-size:1.4rem;line-height:1.2;color:#fff}.rating-summary span{display:block;font-size:.8125rem;margin-top:5px}
@media(max-width:980px){.review-section .section-intro .eyebrow{flex-basis:100%}.review-section .google-attribution{flex-basis:100%;object-position:left}.review-section .rating-summary{margin:0}.rating-star{width:58px;height:58px}}
@media(max-width:767px){.review-card{flex-basis:100%;border-right:0;padding:0}.review-text{-webkit-line-clamp:9}.rating-star{width:52px;height:52px}.rating-summary strong{font-size:1.25rem}.review-section .rating-summary{gap:10px}}

/* only package example thumbnails and their existing lightbox. */
.package-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start;margin-top:24px}
.package-gallery__item{display:block;width:100%;aspect-ratio:4 / 3;min-width:0;padding:0;margin:0;overflow:hidden;border:0;border-radius:8px;background:#0b181d;cursor:pointer}
.package-gallery__item img{display:block;width:100%;height:100%;margin:0;object-fit:cover;object-position:center}
.package-gallery__item:focus-visible{outline:3px solid var(--green-ink);outline-offset:3px}
@media(max-width:1100px){.package-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
@media(max-width:640px){.package-gallery{grid-template-columns:1fr;gap:12px}.package-gallery__item{border-radius:6px}}
.package-gallery--single{grid-template-columns:minmax(0,1fr);max-width:420px}
.package-lightbox[open]{display:grid;grid-template-rows:minmax(0,1fr) auto auto;gap:12px;width:min(1100px,calc(100vw - 32px));height:min(900px,calc(100vh - 32px));height:min(900px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);padding:48px 24px 20px;overflow:hidden}
.package-lightbox::backdrop{background:#000c}
.package-lightbox img{width:100%;height:100%;min-height:0;max-height:100%;object-fit:contain;margin:0}
.package-lightbox p{margin:0;overflow-wrap:anywhere;font-size:.875rem;line-height:1.4}
.package-lightbox .lightbox-close{width:36px;height:36px}
.lightbox-navigation{display:flex;align-items:center;justify-content:center;gap:18px}
.lightbox-navigation[hidden]{display:none}
.lightbox-navigation .icon-button{width:44px;height:44px;font-size:1.25rem}
.lightbox-counter{min-width:45px;text-align:center;font-size:.875rem;color:#c4d0d5}
@media(max-width:640px){.package-lightbox[open]{padding:48px 14px 16px}}
.package-lightbox .icon-button:hover,.package-lightbox .icon-button:focus-visible{color:var(--green);border-color:var(--green)}
.package-lightbox .icon-button:focus-visible{outline:2px solid var(--green);outline-offset:3px}
