/* Shared readability and responsive refinements. */
header .logo,footer .logo{width:237px;max-width:100%;height:auto;object-fit:contain;opacity:1;flex-shrink:0}
header .nav>a:first-child{flex-shrink:0}
.navlinks{gap:22px}
.offer{font-size:14px;line-height:1.5}
.menu{min-height:44px;min-width:64px}
.book-panel,.book-summary,.fields>*{min-width:0}
.review-details p,.sum-service{overflow-wrap:anywhere}
@media(max-width:1000px){.menu{display:block}.nav{min-height:80px;gap:16px}.navlinks{display:none;position:absolute;left:0;right:0;top:100%;padding:24px 5%;background:var(--navy);flex-direction:column;align-items:stretch;max-height:calc(100svh - 80px);overflow-y:auto}.navlinks.open{display:flex}.navlinks>a{min-height:44px;display:flex;align-items:center}.navlinks .btn{justify-content:center}.navlinks .btn:hover{transform:none}}
@media(max-width:600px){header .logo,footer .logo{width:205px}.offer{font-size:12px;padding:10px 5%}.book-progress{gap:6px}.book-progress button{padding:10px 6px;font-size:12px}.book-panel{padding:20px 16px}.book-summary{max-width:100%}.booking-controls{gap:12px;flex-wrap:wrap}.save-draft-area{flex:1 0 100%;min-width:0}.save-draft-area small{max-width:100%}.booking-controls #next{min-width:0;white-space:normal}.field input,.field select,.field textarea{font-size:16px}.calendar-grid{gap:3px}.calendar-grid button{min-height:40px;padding:5px 0}.review-details{grid-template-columns:1fr}.payment-buttons{flex-wrap:wrap}.payment-buttons button{min-width:0;flex:1}.extra-email{flex-wrap:wrap}.extra-email .field{min-width:180px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.brand-logo{display:inline-flex;align-items:center;gap:8px;width:237px;max-width:100%;color:#fff;vertical-align:middle;text-align:left}.brand-icon{display:block;width:81px;height:75px;overflow:hidden;flex-shrink:0}.brand-icon img{width:237px;max-width:none;height:75px;object-fit:contain}.brand-wordmark{display:flex;flex-direction:column;gap:3px}.brand-wordmark strong{font-family:Montserrat,Arial,sans-serif;font-size:23px;line-height:1.2;font-weight:700;letter-spacing:2.6px}.brand-wordmark small{font-family:Montserrat,Arial,sans-serif;font-size:8px;line-height:1.4;font-weight:500;letter-spacing:.6px;color:#d5e4ef}.foot .brand-logo{margin-bottom:20px}@media(max-width:600px){.brand-logo{width:205px;gap:7px}.brand-icon{width:65px;height:61px}.brand-icon img{width:193px;height:61px}.brand-wordmark strong{font-size:21px;letter-spacing:2px}.brand-wordmark small{font-size:7px}}
/* Keep booking controls in normal flow so content stays readable. */
.booking-service[data-service=photography] .service-options,.booking-service[data-service=matterport] .service-options{position:static;inset:auto;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;max-height:none;overflow:visible;width:100%}
.service-options:empty{display:none}
.book-layout.services-step{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:30px}
.services-step .service-select-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.services-step .book-summary{position:sticky;top:110px;bottom:auto;left:auto;transform:none;display:block;width:100%;max-width:100%;padding:25px;z-index:1;box-shadow:none}
.services-step .book-summary h3,.services-step #summary-lines,.services-step .book-summary>p{display:block}
.services-step .book-summary .sum-total{margin-top:16px;border-top:1px solid #ffffff60;padding-top:16px;display:flex;gap:16px;flex-wrap:wrap}
.services-step .booking-controls{padding-bottom:0}
.listing-size-panel{background:#f1f7fc;border-color:#b8d6ed;scroll-margin-top:120px}
.listing-size-panel .book-note{padding:0;background:none;border:0;margin-bottom:20px}
#service-size{max-width:460px}
.listing-size-panel input{background:white}
.booking-service{height:auto;align-self:stretch}
.booking-service label.service-name{padding-left:12px;padding-right:12px}
.service-check{width:22px;height:22px;accent-color:var(--blue);cursor:pointer}
.field small{font-weight:400;line-height:1.6}
#address-status{font-size:12px}
.skip-link{position:fixed;top:10px;left:10px;transform:translateY(-160%);background:white;color:var(--ink);border:2px solid var(--blue);padding:12px 20px;z-index:100;border-radius:8px}
.skip-link:focus{transform:none}
main{min-width:0}main h1,main h2,main h3{overflow-wrap:break-word}
.page-intro .price small{display:block;margin-top:10px;line-height:1.6}
.price-estimate{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);align-items:center;gap:70px;max-width:1050px;margin:auto}
.price-estimate p{color:var(--muted);max-width:550px}.estimate-note{font-size:14px}.estimate-note a,.text-link{color:var(--blue);font-weight:600;text-decoration:underline;text-underline-offset:4px}
.estimate-card{padding:32px;background:var(--paper);border:1px solid #dce5ed;border-radius:16px;display:flex;flex-direction:column;gap:10px}
.estimate-card label{font-weight:600;font-size:14px}.estimate-card input{min-width:0;width:100%;border:1px solid #bdcdd9;border-radius:8px;padding:15px;background:white;color:var(--ink);font:inherit;font-size:18px}
.estimate-card input[aria-invalid=true]{border-color:#b83232}.estimate-card small{color:var(--muted);font-size:12px;line-height:1.7}
.estimate-result{margin:14px 0!important;padding:20px 0;border-block:1px solid #dce5ed;display:flex;flex-direction:column;gap:8px}.estimate-result strong{font-size:32px;line-height:1.2;color:var(--ink)}.estimate-result span{font-size:13px}
.pricing-options{display:grid;grid-template-columns:1fr 1fr;gap:24px}.pricing-options .panel{padding:35px}.pricing-options .price{margin:20px 0}.pricing-options p{color:var(--muted)}
.coverage-map{margin:0;border:1px solid #d9e4ec;border-radius:16px;overflow:hidden;background:var(--paper)}.map-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;font-size:13px;font-weight:600}.map-heading a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}.coverage-map iframe{display:block;width:100%;height:480px;border:0}.coverage-map figcaption{padding:18px 20px;font-size:12px;color:var(--muted);line-height:1.7}
.site-contact .panel{display:flex;flex-direction:column;align-items:center;justify-content:center}.site-contact p{margin:0}.site-contact a{overflow-wrap:anywhere}
.pricing-table{font-size:15px}.pricing-table td,.pricing-table th{overflow-wrap:break-word}
@media(max-width:1100px){.book-layout.services-step{grid-template-columns:1fr}.services-step .book-summary{position:static;max-height:none;margin-top:10px}.price-estimate{gap:35px}}
@media(max-width:800px){.price-estimate{grid-template-columns:1fr;gap:25px}.pricing-options{grid-template-columns:1fr}.coverage-map iframe{height:400px}.site-contact{grid-template-columns:1fr}.city-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-images{grid-template-columns:1fr}.page-intro{padding:50px 0}.detail-section{padding:55px 0}}
@media(max-width:600px){.services-step .service-select-grid{grid-template-columns:1fr}.booking-service,.booking-service:has(.service-check:checked){padding:24px 20px}.estimate-card,.pricing-options .panel{padding:25px 20px}.pricing-table{font-size:13px}.pricing-table th,.pricing-table td{padding:14px 8px}.map-heading{padding:16px;flex-wrap:wrap}.coverage-map iframe{height:360px}.page-intro h1{font-size:36px;line-height:1.16}.page-intro p{font-size:15px}.city-grid li{font-size:14px;padding:14px 10px}.book-summary .sum-total{font-size:18px}.examples-grid figure img{height:auto;aspect-ratio:4/3}.examples-grid{grid-template-columns:1fr}.booking-service .btn{min-height:46px}}
.rate-list{margin-top:25px;border:1px solid #dce5ed;border-radius:12px;overflow:hidden;background:#fff}.rate-list>div{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px}.rate-list>div+div{border-top:1px solid #dce5ed}.rate-list span{font-size:14px;color:var(--muted)}.rate-list strong{font-size:22px;white-space:nowrap}.pricing-options .rate-list{border:0;background:transparent}.pricing-options .rate-list>div{padding:16px 0}@media(max-width:600px){.rate-list>div{padding:18px;gap:15px}.rate-list span{font-size:13px}.rate-list strong{font-size:20px}}
/* Original Vuzario artwork, including its distinctive lettering. */
header .logo.actual-logo,footer .logo.actual-logo{width:260px;max-width:100%;height:auto;object-fit:contain;opacity:1}
@media(max-width:600px){header .logo.actual-logo,footer .logo.actual-logo{width:225px}}
@media(max-width:360px){header .logo.actual-logo{width:200px}}
/* County coverage: a static, locally hosted map with an accessible county list. */
.county-coverage-section{padding:75px 0;background:#f8fafc}.county-coverage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:65px;align-items:center}
.county-map-card{margin:0;border:1px solid #d9e5ee;border-radius:22px;background:#fff;padding:22px;box-shadow:0 18px 55px #18384e0a;overflow:hidden}.county-map-top{display:flex;gap:15px;justify-content:space-between;align-items:center;padding:0 4px 18px}.county-map-top .eyebrow{margin:0;font-size:11px;letter-spacing:1.8px}.map-badge{padding:6px 12px;background:#eaf4fb;color:#28698e;font-size:11px;font-weight:600;border-radius:99px;white-space:nowrap}.county-map-art{display:block;width:100%;height:auto!important;max-height:none;border-radius:14px;object-fit:contain}.county-map-card figcaption{padding:14px 4px 0;font-size:11px;color:var(--muted);line-height:1.6}.county-map-card figcaption a{text-decoration:underline;text-underline-offset:3px}
.county-coverage-copy h2{font-size:clamp(30px,3.8vw,46px)}.county-coverage-copy>p{color:var(--muted)}.county-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 20px;padding:0;margin:25px 0}.county-list li{display:flex;align-items:center;gap:10px;padding:15px 0;border-bottom:1px solid #dce5eb;font-size:14px;font-weight:500}.county-dot{width:8px;height:8px;border-radius:50%;background:var(--blue);flex-shrink:0}.travel-promise{display:flex;gap:14px;padding:22px;background:#e9f3fa;border:1px solid #cce1f0;border-radius:14px;margin:25px 0}.travel-check{display:flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:50%;background:#fff;color:#287cae;font-weight:700;flex-shrink:0}.travel-promise strong{display:block;font-size:16px;margin-bottom:8px;line-height:1.5}.travel-promise p{font-size:13px;line-height:1.7;color:var(--muted);margin:0}.county-coverage-copy .outside-area{font-size:13px}.county-coverage-copy .actions{margin-bottom:0}
@media(max-width:1000px){.county-coverage{gap:35px}.county-list{grid-template-columns:1fr}.county-list li{padding:11px 0}.county-coverage-copy .actions{flex-direction:column}}
@media(max-width:800px){.county-coverage{grid-template-columns:1fr;gap:35px}.county-map-card{max-width:560px;width:100%;margin:auto}.county-list{grid-template-columns:1fr 1fr}.county-coverage-section{padding:55px 0}.county-coverage-copy .actions{flex-direction:row}}
@media(max-width:500px){.county-map-card{padding:14px;border-radius:18px}.county-map-top{padding-bottom:14px;gap:8px}.county-map-top .eyebrow{font-size:10px;letter-spacing:1px}.county-list{gap:0 12px}.county-list li{font-size:12px;gap:7px;padding:13px 0}.travel-promise{padding:18px 15px;gap:11px}.county-coverage-copy .actions{flex-direction:column}.county-coverage-copy h2{font-size:32px}.county-map-card figcaption{font-size:10px}}
.admin-bookings{display:grid;gap:24px}.admin-bookings h2{font-size:28px}.admin-bookings p{overflow-wrap:anywhere}.admin-appointment{display:flex;gap:20px;flex-wrap:wrap}.admin-appointment label{display:flex;flex-direction:column;gap:8px}.admin-appointment input{font:inherit;padding:12px;border:1px solid #cbd8e1;border-radius:8px;min-width:0}.booking-controls button:disabled{opacity:.6;cursor:wait}#booking-result h2{font-size:30px}#booking-result .rate-list strong{font-size:18px}@media(max-width:600px){.admin-appointment{flex-direction:column}#booking-result h2{font-size:25px}}

/* October 2026 photography refresh */
.hero>img{object-position:62% 50%}.hero:after{background:linear-gradient(90deg,rgba(9,24,35,.78),rgba(9,24,35,.38) 48%,rgba(9,24,35,.06))}.portfolio-item img{height:auto;aspect-ratio:3/2;object-fit:cover}.photo-showcase{background:#f3f6f8;padding:65px 0}.showcase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.showcase-grid figure{margin:0}.showcase-grid img{height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:10px}.showcase-grid figcaption{font-size:13px;color:var(--muted);margin-top:12px}.showcase-note{font-size:14px;color:var(--muted);max-width:400px}.lightbox img{width:auto;height:auto;max-width:85vw;max-height:77vh}.portfolio-grid{align-items:start}.portfolio-item span{font-size:14px;line-height:1.5}.photo-showcase .heading .btn{flex-shrink:0}@media(max-width:800px){.hero>img{object-position:60% 50%}.showcase-grid{grid-template-columns:1fr 1fr}.showcase-grid figure:last-child{grid-column:1/-1}.photo-showcase .heading .btn{margin-top:12px}}@media(max-width:500px){.showcase-grid{grid-template-columns:1fr}.showcase-grid figure:last-child{grid-column:auto}.photo-showcase{padding:45px 0}}

.floorplan-showcase{padding:65px 0;background:#f3f6f8}.real-floorplan{margin:0 auto 30px;max-width:1100px;text-align:center}.real-floorplan img{height:auto;width:100%;object-fit:contain;background:white;border:1px solid #dce5ed;border-radius:12px}.real-floorplan figcaption{font-size:14px;color:var(--muted);margin:15px 0}.real-floorplan .btn{margin-top:4px}@media(max-width:600px){.floorplan-showcase{padding:45px 0}}

.property-examples{padding:65px 0;background:#f3f6f8}.property-example-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.property-example-card{border:1px solid #dce5ed;border-radius:12px;overflow:hidden;background:white}.property-example-card img{height:auto;aspect-ratio:3/2;object-fit:cover}.property-example-card a>div{padding:24px}.property-example-card p{font-size:14px;color:var(--muted)}.example-label{font-size:10px;letter-spacing:1.4px;color:var(--blue);font-weight:700;display:block;margin-bottom:12px}.example-link{font-size:14px;color:var(--blue);font-weight:600}.property-example-card a:hover .example-link{text-decoration:underline}@media(max-width:800px){.property-example-grid{grid-template-columns:1fr}.property-examples{padding:45px 0}}

.matterport-examples{padding:65px 0;background:#f3f6f8}.matterport-examples .heading p{max-width:650px}.tour-example-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.tour-example{border-radius:14px;overflow:hidden;background:white;border:1px solid #dce5ed}.tour-example-stage{aspect-ratio:16/10;position:relative;background:#101f2c}.tour-example-stage iframe{display:block;width:100%;height:100%;border:0;position:absolute;inset:0}.tour-launch{width:100%;height:100%;border:0;background:radial-gradient(ellipse at 75% 15%,#2982c460,transparent 65%),linear-gradient(140deg,#101f2c,#1c3446);color:white;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:28px;position:relative}.tour-example:nth-child(2) .tour-launch{background:radial-gradient(ellipse at 20% 15%,#6b9a8560,transparent 65%),linear-gradient(140deg,#152821,#1c3446)}.tour-example:nth-child(3) .tour-launch{background:radial-gradient(ellipse at 75% 15%,#bba07450,transparent 65%),linear-gradient(140deg,#182936,#34424b)}.tour-launch:hover .tour-launch-label{background:#2982c4}.tour-cube svg{width:58px;height:58px;fill:none;stroke:#9bd1fa;stroke-width:1.3;stroke-linejoin:round;margin-bottom:20px}.tour-small{font-size:10px;letter-spacing:2px;color:#a9c7dc;margin-bottom:8px}.tour-launch strong{font-size:36px;line-height:1.2;letter-spacing:-1px}.tour-launch-label{font-size:14px;border:1px solid #8cbad080;border-radius:99px;padding:10px 22px;margin-top:20px;transition:background .2s}.tour-launch-label span{margin-left:15px}.tour-example-caption{padding:22px;display:flex;align-items:center;justify-content:space-between;gap:15px}.tour-example-caption h3{margin:0}.tour-example-caption .example-label{margin-bottom:4px}.tour-example-caption a{font-size:13px;font-weight:600;color:var(--blue)}.tour-library-link{padding:60px 0;background:#eaf3fa}.tour-library-link>.wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}.tour-library-link h2{font-size:30px;max-width:650px}.tour-library-link p{margin:0;color:var(--muted)}.tour-library-link .btn{flex-shrink:0}@media(max-width:700px){.tour-example-grid{grid-template-columns:1fr;gap:20px}.matterport-examples{padding:45px 0}.tour-example-stage{aspect-ratio:4/3}.tour-launch strong{font-size:30px}.tour-example-caption{padding:18px}.tour-example-caption a{font-size:12px}.tour-library-link>.wrap{display:block}.tour-library-link .btn{margin-top:22px}}

.real-floorplan img{max-height:680px}.tour-example-caption h3{font-size:18px;line-height:1.35}.tour-example-caption a{flex-shrink:0}@media(max-width:400px){.tour-example-caption{align-items:flex-start;flex-direction:column}}
.staging-examples{padding:65px 0;background:#f3f6f8}.staging-examples .heading p{max-width:700px}.staging-viewer{background:#fff;border:1px solid #dce5ed;border-radius:14px;overflow:hidden}.staging-toolbar{padding:24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.staging-toolbar h3{margin:0}.staging-toolbar .example-label{margin-bottom:6px}.staging-side{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 24px 24px}.staging-side figure{margin:0}.staging-side img{height:auto;aspect-ratio:3/2;object-fit:contain;background:#eef1f3;border-radius:8px}.staging-image-label{font-size:12px;letter-spacing:.8px;text-transform:uppercase;font-weight:700;margin-bottom:10px;color:var(--muted)}.staging-viewer-footer{padding:18px 24px;background:#eef4f8;display:flex;align-items:center;gap:18px;justify-content:space-between}.staging-viewer-footer button{background:white;border:1px solid #d3dee5;border-radius:99px;padding:9px 18px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.staging-viewer-footer p{font-size:12px;color:var(--muted);text-align:center;margin:0;max-width:480px}.staging-choices{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:24px}.staging-choice{padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:white;text-align:left;cursor:pointer}.staging-choice[aria-pressed=true]{border-color:#2982c4;box-shadow:0 0 0 2px #2982c420}.staging-choice img{height:auto;aspect-ratio:3/2;object-fit:cover}.staging-choice>span{display:block;padding:12px}.staging-choice strong{display:block;font-size:12px;line-height:1.4}.staging-choice small{font-size:11px;color:var(--muted);display:block;margin-top:4px}@media(max-width:900px){.staging-choices{grid-template-columns:repeat(3,1fr)}.staging-toolbar{align-items:flex-start;flex-direction:column}.staging-viewer-footer p{font-size:11px}}@media(max-width:600px){.staging-examples{padding:45px 0}.staging-side{grid-template-columns:1fr;padding:0 16px 16px;gap:20px}.staging-toolbar{padding:20px 16px;gap:16px}.staging-toolbar h3{font-size:18px}.staging-viewer-footer{padding:15px;flex-wrap:wrap;gap:12px}.staging-viewer-footer p{order:3;flex-basis:100%;max-width:none}.staging-choices{grid-template-columns:repeat(2,1fr);gap:12px}}

.detail-cards .card{position:relative}.detail-cards .card .service-details-button{display:inline-flex;background:#2982c4;color:white!important;min-height:48px;padding:13px 24px;font-size:14px;margin-top:12px;gap:12px}.service-details-button::after{content:"";position:absolute;inset:0;border-radius:8px}.detail-cards .card .service-details-button:hover{background:#20699e;transform:none}.detail-cards .card:focus-within{outline:3px solid #2982c4;outline-offset:4px}

.service-summary .rate-list{margin-top:25px}.service-summary .rate-list>div{gap:20px}.service-summary .rate-list strong{white-space:nowrap}.service-price-note{font-size:13px;color:var(--muted);line-height:1.7;margin:18px 0 0}.service-inclusions .btn{margin-top:22px}.floorplan-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.floorplan-card-grid .real-floorplan{margin:0;background:white;border:1px solid #dce5ed;border-radius:12px;padding:18px;max-width:none;display:flex;flex-direction:column}.floorplan-card-grid .real-floorplan>a:first-child{display:block}.floorplan-card-grid .real-floorplan img{height:260px;max-height:none;object-fit:contain;border:0;border-radius:0}.floorplan-card-grid .real-floorplan figcaption{font-size:13px;flex:1;line-height:1.65}.floorplan-card-grid .real-floorplan .btn{font-size:12px;padding:12px 16px;align-self:center;white-space:normal}@media(max-width:800px){.floorplan-card-grid{grid-template-columns:1fr}.floorplan-card-grid .real-floorplan img{height:280px}.service-summary .rate-list>div{padding:16px 0}.service-summary .rate-list span{font-size:14px}.service-summary .rate-list strong{font-size:19px}}

.delivery-showcase{padding:65px 0;background:#eaf3fa}.delivery-preview-link img{display:block;width:100%;height:auto!important;max-height:none;border-radius:12px;border:1px solid #d0dce6;box-shadow:0 18px 45px #101f2c16}.delivery-demo-note{font-size:13px;color:var(--muted);margin:22px 0}.delivery-showcase .btn{margin-top:5px}.delivery-jump{display:inline-block;margin-top:20px;font-weight:600;color:#2982c4;font-size:14px}.delivery-jump:hover{text-decoration:underline}@media(max-width:800px){.delivery-showcase .split{display:flex;flex-direction:column-reverse;gap:30px}.delivery-showcase{padding:45px 0}.delivery-preview-link{width:100%}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Keep booking actions aligned independently of the save explanation. */
.booking-controls{align-items:flex-start}.booking-controls>button,.booking-controls .save-draft-area>button{min-height:52px;margin-top:0}.save-draft-area{align-self:flex-start}

#inline-checkout{width:100%;min-height:320px;margin-top:20px}.stripe-slot{overflow:hidden}.stripe-slot iframe{max-width:100%}#card-area .auth-label{margin-bottom:24px}

@media(max-width:600px){.stripe-slot{padding:0;border:0;background:white;overflow:visible;width:calc(100% + 32px);margin-left:-16px;margin-right:-16px}.stripe-slot>h3,.stripe-slot>p{margin-left:16px;margin-right:16px}.stripe-slot>.rate-list{margin-left:12px;margin-right:12px}#inline-checkout{margin-top:16px}}

.policy-contents{display:flex;flex-wrap:wrap;gap:10px 18px;padding:22px;background:#eef4f8;border-radius:12px;margin:28px 0}.policy-contents a,.privacy-policy a{color:#216c9e;text-decoration:underline;text-underline-offset:3px}.privacy-policy{max-width:800px}.privacy-policy p,.privacy-policy li{font-size:16px;line-height:1.8}.privacy-policy li{margin-bottom:14px}.privacy-policy h2{scroll-margin-top:120px}.policy-date{font-size:14px!important}.privacy-policy .policy-contents a{font-size:14px}
/* Compact mobile navigation, shared by every main-site page. */
@media(max-width:1000px){
 header .navlinks{left:5%;right:5%;top:calc(100% + 8px);padding:10px;gap:0;border:1px solid #ffffff20;border-radius:18px;background:#101f2c;box-shadow:0 18px 48px #06121f66;max-height:calc(100dvh - 150px)}
 header .navlinks>a:not(.btn){min-height:48px;padding:11px 15px;font-size:16px;line-height:1.4;border-radius:10px;border-bottom:1px solid #ffffff0c}
 header .navlinks>a:not(.btn):hover,header .navlinks>a[aria-current="page"]:not(.btn){background:#ffffff0a;color:#9bd1fa}
 header .navlinks>a:not(.btn)::after{content:'›';margin-left:auto;color:#89a1b1;font-size:22px;line-height:1}
 header .navlinks .btn{min-height:48px;margin:10px 4px 4px;font-size:15px;padding:12px 16px;border-radius:12px}
 header .menu{min-width:74px;font-size:14px;padding:9px 12px;border-radius:12px;line-height:1.4}
 header .menu[aria-expanded="true"]{background:#ffffff0b;border-color:#9bd1fa;color:#9bd1fa}
}
/* Keep text and prices clear of bordered pricing-panel edges. */
.service-summary .rate-list>div{padding:20px 24px;gap:20px}
.service-summary .rate-list span{min-width:0;line-height:1.6}
.service-summary .rate-list strong{flex-shrink:0}
@media(max-width:800px){.service-summary .rate-list>div{padding:18px 20px;gap:16px}.service-summary .rate-list strong{font-size:18px}}
@media(max-width:360px){.service-summary .rate-list>div{padding:16px;gap:12px}.service-summary .rate-list strong{font-size:17px}}
.booking-service .package-highlight{display:inline-block;align-self:center;padding:6px 14px;border-radius:999px;background:#e5f2fc;color:#216d9e;font-size:14px;font-weight:700;margin:4px 0 12px}
.booking-service .service-included{text-align:left;align-self:stretch;margin:8px 0 20px;padding:18px;background:#f4f7fa;border-radius:12px;font-size:14px;line-height:1.6}
.booking-service .service-included>strong{display:block;font-size:13px;margin-bottom:10px;color:#182936}
.booking-service .service-included ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.booking-service .service-included li{position:relative;padding-left:20px;color:#4c6070}
.booking-service .service-included li::before{content:'✓';position:absolute;left:0;color:#2982c4;font-weight:700}
@media(max-width:600px){.booking-service .service-included{padding:16px;font-size:14px}}
.admin-booking-card{padding:32px}.admin-booking-card h2{overflow-wrap:anywhere;margin-bottom:12px}.admin-booking-summary{display:grid;gap:6px;margin-bottom:22px;color:#4c6070}.admin-booking-summary>strong{color:#182936;font-size:18px}
.admin-booking-card .admin-order-section{padding:22px 0;border-top:1px solid #dce5ed}.admin-order-section h3{margin:0 0 16px;font-size:20px}.admin-order-lines{list-style:none;padding:0;margin:0;border:1px solid #dce5ed;border-radius:12px;overflow:hidden}.admin-order-lines li{display:flex;justify-content:space-between;align-items:start;gap:20px;padding:18px 20px;background:white}.admin-order-lines li+li{border-top:1px solid #dce5ed}.admin-order-lines li>div{min-width:0;display:grid;gap:5px}.admin-order-lines li>strong{white-space:nowrap;flex-shrink:0}.admin-order-lines span{font-size:14px;line-height:1.6;color:#62717e}.admin-order-totals{margin:18px 0}.admin-order-totals>div{display:flex;justify-content:space-between;gap:20px;padding:7px 0}.admin-order-totals dd{margin:0;white-space:nowrap}.admin-order-total{font-size:19px;font-weight:700;padding-top:15px!important;border-top:1px solid #dce5ed;margin-top:10px}.admin-price-explanation{font-size:13px;color:#62717e;line-height:1.7;margin:12px 0 0}.admin-detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px}.admin-booking-details{margin:0;display:grid;gap:16px}.admin-booking-details dt{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:#62717e;margin-bottom:5px}.admin-booking-details dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.admin-booking-details a{color:#216d9e;text-decoration:underline;text-underline-offset:3px}.admin-booking-card .admin-appointment{margin-top:18px}.admin-booking-card .admin-appointment>label{flex:1;min-width:0}.admin-booking-card .admin-appointment input{width:100%;background:white}.admin-reference{padding-top:14px;border-top:1px solid #dce5ed;font-size:13px;color:#62717e}.admin-reference summary{cursor:pointer}.admin-reference p{margin-top:10px}
@media(max-width:600px){.admin-booking-card{padding:22px 18px}.admin-detail-columns{grid-template-columns:1fr;gap:0}.admin-order-lines li{padding:16px;gap:14px;font-size:15px}.admin-order-totals .admin-order-total{font-size:17px}.admin-booking-card .actions{display:grid;grid-template-columns:1fr;gap:12px}.admin-booking-card .actions .btn{width:100%}.admin-booking-card h2{font-size:25px}.admin-order-section h3{font-size:18px}}

.admin-deleted-toggle{display:flex;align-items:center;gap:12px;margin:24px 0;font-weight:600}.admin-deleted-toggle input{width:20px;height:20px;accent-color:var(--blue)}.admin-delete-request{color:#a12e38!important;border-color:#dcbfc3!important;margin-top:12px}

.admin-booking-card{padding:0;overflow:hidden}.admin-request-summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 26px;cursor:pointer}.admin-request-summary::-webkit-details-marker{display:none}.admin-request-summary:hover{background:#edf4f9}.admin-request-summary:focus-visible{outline-offset:-5px}.admin-request-glance{min-width:0}.admin-request-summary .eyebrow{font-size:11px;letter-spacing:1.5px;margin-bottom:6px}.admin-request-summary h2{font-size:23px;letter-spacing:-.5px;margin:0 0 8px;line-height:1.3}.admin-request-summary .admin-booking-summary{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0;font-size:14px}.admin-request-summary .admin-booking-summary>strong{font-size:15px}.admin-brief-services{font-size:14px;color:#4c6070;line-height:1.5;margin:8px 0 0}.admin-request-side{flex-shrink:0;text-align:right;display:grid;gap:3px;font-size:13px;color:#62717e}.admin-request-side>strong{font-size:22px;color:#182936}.admin-expand-hint{display:flex;align-items:center;justify-content:flex-end;gap:8px;color:#216d9e;font-weight:600;margin-top:6px}.admin-request-chevron{display:inline-block;font-size:22px;line-height:1}.admin-hint-open{display:none}.admin-request-details[open]>.admin-request-summary .admin-hint-open{display:inline}.admin-request-details[open]>.admin-request-summary .admin-hint-closed{display:none}.admin-request-details[open] .admin-request-chevron{transform:rotate(180deg)}.admin-request-full{padding:0 26px 24px}.admin-bookings{gap:16px}
@media(max-width:600px){.admin-request-summary{padding:18px;gap:14px;align-items:start;flex-wrap:wrap}.admin-request-summary h2{font-size:21px}.admin-request-summary .admin-booking-summary{display:grid;font-size:13px}.admin-request-side{width:100%;text-align:left;grid-template-columns:auto 1fr auto;align-items:center;gap:8px}.admin-request-side>strong{font-size:19px}.admin-expand-hint{margin:0;font-size:12px}.admin-request-side>span:nth-child(2){font-size:12px}.admin-request-full{padding:0 18px 20px}}

.admin-request-chevron{display:block;width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transform-origin:center}.admin-expand-hint{align-items:center;line-height:1.4}

.first-booking-offer{padding:18px;background:#e5f2fc;border-radius:12px;text-align:left}.first-booking-offer label:first-child{display:flex;align-items:start;gap:10px}.first-booking-offer input[type=checkbox]{width:20px;height:20px;flex-shrink:0}.first-booking-offer p{font-size:13px;line-height:1.6;margin:12px 0 0}.admin-order-editor{margin-top:20px;padding:18px;background:#fff;border:1px solid #dce5ed;border-radius:12px}.admin-order-editor>summary{cursor:pointer;color:#216d9e;font-weight:700}.admin-order-editor p{font-size:14px;margin:16px 0}.admin-order-editor label{display:grid;gap:6px;margin:12px 0;font-size:14px}.admin-order-editor input,.admin-order-editor select{width:100%;min-width:0;padding:12px;border:1px solid #cbd7e0;border-radius:8px;font:inherit;background:white}.admin-edit-line{padding:12px 0;border-bottom:1px solid #dce5ed;display:grid;grid-template-columns:1fr 1fr 140px;gap:12px}.admin-edit-line .btn{grid-column:1/-1;justify-self:start}.admin-order-editor .btn{font-size:14px}@media(max-width:600px){.admin-edit-line{grid-template-columns:1fr;gap:0}.admin-order-editor{padding:14px}.admin-order-editor .btn{white-space:normal}}

.owner-quote-builder{margin:28px 0;scroll-margin-top:110px}.owner-quote-heading{display:flex;align-items:start;justify-content:space-between;gap:20px}.owner-quote-heading h2{font-size:30px}.owner-quote-layout{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.owner-quote-builder label{display:grid;gap:6px;margin:16px 0;font-size:15px}.owner-quote-builder input,.owner-quote-builder select{width:100%;min-width:0;border:1px solid #cbd7e0;border-radius:8px;padding:12px;font:inherit;background:white}.owner-quote-edit-line{margin:18px 0;padding:18px;background:white;border:1px solid #dce5ed;border-radius:12px}.owner-quote-edit-line h3{font-size:18px}.owner-quote-builder .quote-free-choice{display:flex;align-items:center;gap:10px}.quote-free-choice input{width:20px;height:20px;flex-shrink:0}.owner-quote-preview{background:#102532;color:white;border-radius:20px;padding:32px}.owner-quote-preview h3{font-size:27px;margin:16px 0 24px}.quote-brand{font-size:11px;font-weight:700;letter-spacing:1.4px;color:#a8ccdf}.owner-quote-property{color:#cfdae1;overflow-wrap:anywhere}.owner-quote-service-list>div{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid #526571;font-size:17px}.owner-quote-service-list span{min-width:0}.owner-quote-service-list strong{white-space:nowrap}.owner-quote-service-list small{display:block;font-size:14px;color:#bdcbd4;margin-top:8px}.owner-quote-preview dl{margin:24px 0}.owner-quote-preview dl>div{display:flex;justify-content:space-between;gap:18px;padding:10px 0}.owner-quote-preview dd{margin:0;font-weight:700;white-space:nowrap}.owner-quote-total{border-top:2px solid #526571;margin-top:18px;padding-top:22px!important;font-size:24px;font-weight:700}.owner-quote-footnote{font-size:13px;line-height:1.7;color:#bdcbd4;margin:20px 0 0}.owner-quote-dialog{border:0;padding:18px;border-radius:20px;width:min(650px,96vw);max-height:92vh;overflow:auto;background:#f7f8f6}.owner-quote-dialog::backdrop{background:#0009}.owner-quote-dialog>button{margin-bottom:14px}@media(max-width:800px){.owner-quote-layout{grid-template-columns:1fr}.owner-quote-builder{padding:20px}.owner-quote-heading{flex-wrap:wrap}.owner-quote-preview{padding:24px}.owner-quote-preview h3{font-size:24px}.owner-quote-total{font-size:21px}.owner-quote-builder .actions .btn{white-space:normal}}
.owner-saved-quotes{padding:25px 0}.owner-saved-quotes h2{font-size:28px}.owner-saved-quote{margin:16px 0;padding:20px}.owner-saved-quote>summary{cursor:pointer;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.owner-saved-quote-status{font-size:14px;color:#62717e;text-transform:capitalize}.owner-saved-quote label,#saved-quote-result label{display:grid;gap:8px;font-size:14px;margin:16px 0}.owner-saved-quote input,#saved-quote-result input{width:100%;padding:12px;min-width:0;border:1px solid #cbd7e0;border-radius:8px;font:inherit;background:white}.owner-saved-quote .actions .btn{font-size:14px}.quoted-booking-note{margin:20px 0;padding:20px;background:#e5f2fc;border-radius:12px}.quote-locked .remove-line{display:none}.quote-locked #edit-services,.quote-locked #clear-services,.quote-locked #standard-services,.quote-locked #saved-draft-banner,.quote-locked #save-draft{display:none!important}#customer-quote{padding-left:5%;padding-right:5%}#customer-quote h1{font-size:clamp(32px,5vw,48px);letter-spacing:-1px}#customer-quote .book-note{margin-top:24px}

.quote-locked #draft-status{display:none!important}

#saved-quote-result{margin-top:22px}#saved-quote-result .saved-quote-link-actions{display:flex;flex-wrap:wrap;gap:14px;margin:18px 0 24px}#owner-quote-status{margin:20px 0 28px;line-height:1.7}.quote-date-actions{gap:12px;margin:12px 0 20px}#quote-contact-form{margin:30px 0;padding:24px;background:#eef4f8;border-radius:16px}.quote-contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}#quote-contact-form label{display:grid;gap:8px;margin:12px 0;font-size:15px}#quote-contact-form input{width:100%;min-width:0;padding:14px;border:1px solid #cbd7e0;border-radius:8px;background:white;font:inherit}@media(max-width:600px){.quote-contact-fields{grid-template-columns:1fr;gap:0}#saved-quote-result .saved-quote-link-actions{flex-direction:column;align-items:stretch;gap:14px}#saved-quote-result .btn{width:100%;text-align:center}#quote-contact-form{padding:20px}}

/* Constrain Safari's native date/time controls to their card width. */
.admin-appointment{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:100%;min-width:0}
.admin-appointment>label,.owner-quote-layout>div,.quote-contact-fields>label{min-width:0;max-width:100%}
.admin-appointment input[type=date],.admin-appointment input[type=time],.owner-quote-builder input[type=date],#quote-contact-form input[type=date]{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;-webkit-appearance:none;appearance:none;min-height:48px}
.admin-appointment input::-webkit-date-and-time-value,.owner-quote-builder input::-webkit-date-and-time-value,#quote-contact-form input::-webkit-date-and-time-value{min-width:0;text-align:left}
@media(max-width:600px){.admin-appointment{grid-template-columns:minmax(0,1fr)}}

.first-booking-offer{width:100%;text-align:left;padding:20px}.first-booking-offer label:first-child{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:12px;text-align:left;font-size:16px;font-weight:600;line-height:1.5;margin:0;padding:0}.first-booking-offer input[type=checkbox]{margin:3px 0 0;padding:0}.first-booking-offer label:first-child span{min-width:0}.first-booking-offer p{margin:14px 0 0 32px;text-align:left;font-size:14px;font-weight:400;line-height:1.7}.first-booking-offer #first-offer-label{margin:16px 0 0 32px;text-align:left}

.booking-service .first-order-free-note{color:#216d9e;font-weight:700}

.first-booking-offer #first-offer{width:auto;max-width:100%;min-width:0;align-self:start;justify-self:start;padding-right:36px}

.admin-appointment select{font:inherit;padding:12px;border:1px solid #cbd8e1;border-radius:8px;width:100%;min-width:0;max-width:100%;background:white;box-sizing:border-box;min-height:48px}

.quote-calendar-label{font-size:15px;margin:20px 0 10px}.quote-calendar{background:white;border:1px solid #cbd7e0;border-radius:12px;padding:14px;max-width:420px}.quote-calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.quote-calendar-heading button{border:0;background:#e5f2fc;border-radius:8px;padding:6px 14px;font-size:24px}.quote-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center}.quote-calendar-grid span{font-size:12px;color:#62717e}.quote-calendar-grid button{padding:9px 0;border:1px solid #dce5ed;background:white;border-radius:7px;font:inherit}.quote-calendar-grid button[aria-pressed=true]{background:#2982c4;color:white}.quote-calendar button:disabled{opacity:.3;cursor:not-allowed}#quote-contact-form select{width:100%;max-width:100%;min-width:0;padding:14px;border:1px solid #cbd7e0;border-radius:8px;background:white;font:inherit}

.admin-order-section .admin-order-lines{width:fit-content;max-width:min(100%,560px);margin-right:auto}.admin-order-section .admin-order-lines li{gap:32px}.admin-order-section .admin-order-lines li>div{max-width:410px}@media(max-width:600px){.admin-order-section .admin-order-lines{max-width:100%}.admin-order-section .admin-order-lines li{gap:16px}}

@media(max-width:600px){.booking-controls #next{width:100%;flex:0 0 100%;margin-left:0;justify-content:center}}

.video-examples{background:#f3f6f8}.video-examples .heading p{max-width:660px}.video-example{min-width:0;background:white;border:1px solid #dce5ed;border-radius:16px;overflow:hidden;padding:22px}.video-example-copy h3{font-size:20px;margin:0 0 10px}.video-example-copy p{font-size:14px;color:var(--muted);margin-bottom:20px}.video-example video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#101f2c;border-radius:10px}.video-featured{margin-bottom:26px;padding:28px}.video-featured h3{font-size:clamp(24px,3vw,34px);margin-bottom:22px}.video-featured video{max-height:70vh}.video-example-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.video-fallback{display:inline-block;font-size:12px;color:#267fba;margin-top:14px}.video-fallback:hover{text-decoration:underline}@media(max-width:900px){.video-example-grid{grid-template-columns:1fr}.video-example,.video-featured{padding:20px}.video-example video{max-height:65vh}}

.service-video-preview{display:block;width:100%;min-width:0;aspect-ratio:16/9;object-fit:contain;background:#101f2c;border-radius:12px}

.pricing-groups{display:grid;gap:24px;margin-top:26px;width:100%;text-align:left}.pricing-group h3{font-size:16px;line-height:1.5;margin:0 0 10px}.pricing-group .rate-list{margin-top:0}.services .pricing-groups{margin:0 0 22px;gap:18px}.services .pricing-group h3{font-size:14px}.services .pricing-group .rate-list>div{padding:12px 14px;font-size:13px;gap:16px}.booking-service [data-note]{white-space:pre-line;line-height:1.8}

.agent-intro-choice{display:flex!important;align-items:flex-start;gap:12px;text-align:left}.agent-intro-choice input{width:20px!important;flex:0 0 20px;margin-top:4px}

.compact-service-cards .card{padding:24px;gap:0}.compact-service-cards .card .service-icon{margin-bottom:10px}.compact-service-cards .card .service-icon svg{width:26px;height:26px}.compact-service-cards .card .num{display:none}.compact-service-cards .card h3{font-size:20px;margin-bottom:10px}.compact-service-cards .card p{font-size:14px;line-height:1.65;margin-bottom:16px}.compact-service-cards .card .price{font-size:24px;margin:0 0 16px}.compact-service-cards .card .price small{font-size:12px;line-height:1.5;margin-top:3px}.compact-service-cards .card .service-details-button{margin-top:auto;min-height:44px;padding:10px 20px;font-size:13px}@media(max-width:600px){.compact-service-cards{gap:14px}.compact-service-cards .card{padding:22px}.compact-service-cards .card p{margin-bottom:12px}}

.home-video-section{background:#f3f6f8}.home-video-heading{max-width:740px;margin-bottom:30px}.home-video-heading p{color:var(--muted);max-width:660px}.home-video-frame{background:#101f2c;border-radius:16px;overflow:hidden}.home-video-frame video{display:block;width:100%;aspect-ratio:16/9;max-height:72vh;object-fit:contain}.home-video-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px}.home-video-footer h3{font-size:20px;margin:0 0 6px}.home-video-footer p{color:var(--muted);margin:0;font-size:14px}.home-video-footer .btn{flex-shrink:0}@media(max-width:700px){.home-video-footer{align-items:flex-start;flex-direction:column;gap:18px}.home-video-heading{margin-bottom:22px}.home-video-frame{border-radius:12px}.home-video-footer h3{font-size:18px}}
@media(min-width:901px){.video-examples .video-featured{max-width:1000px;margin-left:auto;margin-right:auto}.video-examples .video-featured video{max-height:62vh}}
@media(min-width:901px){.home-video-frame,.home-video-footer{max-width:1000px;margin-left:auto;margin-right:auto}.home-video-frame video{max-height:62vh}}

.faq-content{background:#f8fafb}.faq-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:56px;align-items:start}.faq-topics{position:sticky;top:115px;display:grid;gap:8px}.faq-topics strong{margin-bottom:12px;font-size:13px;text-transform:uppercase;letter-spacing:1.6px}.faq-topics a{padding:10px 14px;border-radius:10px;font-size:14px;color:var(--muted)}.faq-topics a:hover{background:#e7f1f8;color:var(--ink)}.faq-topics .faq-contact{border-top:1px solid #dce5ed;border-radius:0;margin-top:14px;color:#267fba}.faq-group{padding:0;margin:0 0 48px;scroll-margin-top:115px}.faq-group h2{font-size:clamp(25px,3vw,34px);margin-bottom:22px}.faq-item{background:#fff;border:1px solid #dce5ed;border-radius:12px;margin-bottom:12px;overflow:hidden}.faq-item summary{padding:21px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;font-size:16px;font-weight:600;line-height:1.55}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary span{color:#267fba;font-size:24px;font-weight:400;flex-shrink:0}.faq-item[open] summary span{transform:rotate(45deg)}.faq-item[open] summary{color:#267fba}.faq-answer{padding:0 24px 24px;color:var(--muted);font-size:15px;line-height:1.85}.faq-answer p{margin:0}.faq-answer a{color:#267fba;text-decoration:underline;text-underline-offset:3px}@media(max-width:800px){.faq-layout{grid-template-columns:1fr;gap:32px}.faq-topics{position:static;display:flex;flex-wrap:wrap;gap:8px}.faq-topics strong{width:100%;margin:0 0 6px}.faq-topics a{border:1px solid #dce5ed;background:white;font-size:12px;padding:9px 12px}.faq-topics .faq-contact{border:0;margin:0;padding-left:0;width:100%}.faq-item summary{padding:18px;font-size:15px;gap:14px}.faq-answer{padding:0 18px 20px;font-size:14px}.faq-group{margin-bottom:36px}.faq-content{padding-top:38px}}

@media(min-width:901px){.video-service-summary .split{display:flex;flex-direction:column;gap:32px;align-items:stretch;max-width:1000px;margin-left:auto;margin-right:auto}.video-service-summary .service-video-preview{max-height:62vh}.video-service-summary .pricing-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.video-service-summary .pricing-group .rate-list>div{gap:20px}}
/* Let native video proportions determine the player box, including height caps. */
.video-example video,.service-video-preview,.home-video-frame video{width:auto;height:auto;max-width:100%;aspect-ratio:auto;object-fit:contain;margin-left:auto;margin-right:auto}
.service-video-preview{align-self:center;max-height:65vh}
.home-video-frame{width:fit-content;max-width:100%;margin-left:auto;margin-right:auto;background:transparent}
@media(min-width:901px){.home-video-frame{max-width:min(100%,1000px)}.video-service-summary .service-video-preview{max-width:100%;max-height:62vh}}
.video-player-shell{position:relative;display:block;width:fit-content;max-width:100%;margin-left:auto;margin-right:auto;align-self:center}.video-play-overlay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:72px;height:72px;padding:0;border:1px solid #ffffff70;border-radius:50%;background:#102532d9;color:white;box-shadow:0 3px 18px #0003;cursor:pointer;z-index:2}.video-play-overlay svg{width:34px;height:34px}.video-play-overlay:hover{background:#267fba}.video-play-overlay:focus-visible{outline:3px solid #f1bd58;outline-offset:5px}@media(max-width:600px){.video-play-overlay{width:58px;height:58px}.video-play-overlay svg{width:28px;height:28px}}
@media(min-width:901px){.home-video-section>.wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);column-gap:54px;align-items:center}.home-video-heading{grid-column:1;grid-row:1;margin:0;align-self:end}.home-video-heading h2{font-size:clamp(32px,3.2vw,44px)}.home-video-heading p{font-size:16px;margin-bottom:0}.home-video-frame{grid-column:2;grid-row:1/3;width:100%;max-width:100%;margin:0;align-self:center}.home-video-frame video{width:100%;height:auto;max-height:none}.home-video-footer{grid-column:1;grid-row:2;display:block;max-width:none;margin:24px 0 0;align-self:start}.home-video-footer>div{display:none}.home-video-footer .btn{margin:0}}
/* A quieter, consistent navigation header across the main site. */
header{box-shadow:0 1px 0 #ffffff12,0 3px 14px #07172312}header .nav{min-height:84px;gap:28px}header .logo.actual-logo{width:230px}header .navlinks{gap:25px}header .navlinks>a:not(.btn){font-size:14px;font-weight:500;line-height:1.5;transition:color .18s}header .navlinks>.btn{font-size:14px;font-weight:600;min-height:44px;padding:10px 22px;border-radius:999px;box-shadow:none}header .navlinks>.btn:hover{transform:none}
@media(min-width:1001px){header .navlinks{position:static}header .navlinks>a:not(.btn){position:relative;padding:13px 0}header .navlinks>a:not(.btn)::after{content:'';position:absolute;bottom:5px;left:0;right:0;height:2px;background:#79bde9;border-radius:2px;transform:scaleX(0);transition:transform .18s}header .navlinks>a[aria-current="page"]:not(.btn)::after,header .navlinks>a:not(.btn):hover::after{transform:scaleX(1)}header .navlinks>a:not(.btn):hover{color:#a8d4ef}}
@media(max-width:1000px){header .nav{min-height:76px;gap:16px}header .logo.actual-logo{width:215px}header .menu{display:inline-flex;align-items:center;gap:9px;justify-content:center;min-height:42px;min-width:88px;padding:9px 12px;font-size:13px;font-weight:600;border-color:#ffffff45;border-radius:10px}header .menu::before{content:'';width:16px;height:12px;background:linear-gradient(currentColor,currentColor) left top/16px 1.5px no-repeat,linear-gradient(currentColor,currentColor) left center/12px 1.5px no-repeat,linear-gradient(currentColor,currentColor) left bottom/16px 1.5px no-repeat}header .menu[aria-expanded="true"]::before{content:'×';height:18px;background:none;font-size:22px;line-height:16px}header .navlinks{background:#fff;color:#182936;box-shadow:0 14px 40px #07172330;border:1px solid #dce5ed;border-radius:14px;gap:2px;padding:10px;left:5%;right:5%}header .navlinks>a:not(.btn){font-size:15px;padding:12px 14px;min-height:46px;border-bottom:0}header .navlinks>a:not(.btn):hover,header .navlinks>a[aria-current="page"]:not(.btn){background:#edf5fb;color:#216d9e}header .navlinks>a:not(.btn)::after{color:#6d8392;font-size:20px}header .navlinks .btn{margin:8px 2px 2px;min-height:46px;border-radius:10px}header .menu[aria-expanded="true"]{background:#ffffff10}}
@media(max-width:600px){header .logo.actual-logo{width:200px}header .nav{min-height:74px}}@media(max-width:360px){header .logo.actual-logo{width:178px}header .menu{min-width:80px}}
.checklist-share{margin-bottom:36px;background:#edf5fb}.checklist-share h2,.checklist-priorities h2,.checklist-extra h2{font-size:clamp(24px,3vw,32px);line-height:1.25}.checklist-share .actions{margin:22px 0 0}.checklist-share-status{font-size:13px;margin:12px 0 0!important;color:#216d9e!important}.checklist-message{margin-top:22px;border-top:1px solid #cfdee9;padding-top:18px}.checklist-message summary{cursor:pointer;font-weight:600;font-size:14px}.checklist-message label{display:block;margin:16px 0 8px;font-size:13px}.checklist-message textarea{display:block;box-sizing:border-box;width:100%;min-width:0;resize:vertical;border:1px solid #ccd9e2;border-radius:10px;padding:14px;font:14px/1.7 Montserrat,Arial,sans-serif;color:#182936;background:white}.checklist-message .btn{margin-top:12px}.checklist-priorities{margin:0 0 32px}.checklist-priorities ul{padding-left:22px;color:var(--muted);line-height:1.8}.checklist-priorities li{margin-bottom:7px}.checklist-save-note{font-size:12px;text-align:center;margin:-10px 0 26px;color:var(--muted)}.checklist-extra{padding:0;margin:42px 0 0}.checklist-prep-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.checklist-prep-grid .panel{padding:24px}.checklist-prep-grid h3{font-size:18px}.checklist-prep-grid p{font-size:14px;line-height:1.8;margin:0}.checklist-help{margin:22px 0 0;font-size:14px}.checklist-help a{color:#216d9e;text-decoration:underline}@media(max-width:600px){.checklist-share{padding:22px}.checklist-share .actions{align-items:stretch;flex-direction:column}.checklist-prep-grid{grid-template-columns:1fr}.checklist-prep-grid .panel{padding:22px}}@media print{.checklist-share,.checklist-save-note,#print-list,#reset-list{display:none!important}.checklist-extra,.checklist-prep-grid .panel{break-inside:avoid}.checklist-extra{margin-top:24px}.checklist-prep-grid{display:block}.checklist-prep-grid .panel{margin-bottom:12px;padding:16px}}
.admin-communications>details{padding:18px 0;border-bottom:1px solid #dce5ed}.admin-communications summary{font-weight:600;cursor:pointer}.admin-communications textarea,.admin-communications input:not([type=checkbox]),.admin-communications select,#decline-appointment textarea{box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding:12px;border:1px solid #cbd8e2;border-radius:10px;font:inherit;margin:8px 0 18px}.admin-communications label{display:block}.admin-communications .quote-free-choice{display:flex;gap:12px;align-items:flex-start}.admin-comm-history{font-size:13px}.email-preview-dialog{max-width:850px;width:94vw;max-height:92vh;border:1px solid #dce5ed;border-radius:16px;padding:20px}.email-preview-dialog::backdrop{background:#102532b0}.email-preview-dialog iframe{width:100%;height:65vh;border:0}.email-preview-dialog p{font-size:13px;overflow-wrap:anywhere}.appointment-choice{display:flex;gap:14px;align-items:center;padding:18px;border:1px solid #dce5ed;border-radius:10px;margin:14px 0}#choose-appointment fieldset{border:0;padding:0;margin:0 0 20px}#choose-appointment legend{font-weight:600}.admin-communications .admin-appointment{margin-top:18px}@media(max-width:600px){.email-preview-dialog{padding:12px}.admin-communications .actions{flex-direction:column}}

.owner-quote-builder:not([data-mode=order]) .owner-order-only{display:none}.owner-quote-builder[data-mode=order] #save-owner-quote,.owner-quote-builder[data-mode=order] label:has(#save-quote-days),.owner-quote-builder[data-mode=order] #download-owner-quote,.owner-quote-builder[data-mode=order] #download-owner-quote-file{display:none}.owner-order-only>button{margin-top:20px}.owner-order-only textarea{width:100%;box-sizing:border-box;font:inherit;border:1px solid #cbd8e2;border-radius:10px;padding:14px;min-width:0}.admin-email-schedule{margin:0 0 20px}.admin-email-schedule summary{cursor:pointer;font-weight:600}

.admin-card-link{display:grid;gap:12px;overflow-wrap:anywhere;margin-top:20px}.admin-card-link input{box-sizing:border-box;max-width:100%;min-width:0;width:100%;padding:12px;border:1px solid #cbd8e2;border-radius:10px;font:inherit}.owner-order-only details{padding:18px 0}.owner-order-only summary{cursor:pointer;font-weight:600}.owner-order-only select{max-width:100%;min-width:0}

.owner-quote-builder[data-mode=order] label:has(#owner-quote-title){display:none}

.owner-order-only .btn{box-sizing:border-box;max-width:100%;white-space:normal;line-height:1.5}

.owner-order-only [hidden]{display:none!important}

.owner-saved-quote>summary{align-items:center;list-style:none}.owner-saved-quote>summary::-webkit-details-marker{display:none}.owner-saved-quote-side{display:grid;gap:3px;text-align:right;flex-shrink:0}.owner-saved-quote-side .admin-expand-hint{font-size:13px}.owner-saved-quote[open]>summary .admin-hint-open{display:inline}.owner-saved-quote[open]>summary .admin-hint-closed{display:none}.owner-saved-quote[open]>summary .admin-request-chevron{transform:rotate(180deg)}@media(max-width:600px){.owner-saved-quote-side{width:100%;grid-template-columns:1fr auto;align-items:center;text-align:left;gap:12px}}

.admin-email-status{margin:20px 0 12px}.admin-email-status p{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:13px;color:#62717e;line-height:1.5}.admin-email-status p::before{content:"";width:7px;height:7px;border-radius:50%;background:#9aa7b1;flex-shrink:0}.admin-email-status p[data-state=active]::before{background:#37846b}.admin-email-status p[data-state=attention]::before{background:#bc7929}.admin-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-bottom:1px solid #dce5ed;padding:12px 0 18px;margin-bottom:8px}.admin-list-toolbar .admin-deleted-toggle{margin:0;font-size:14px;font-weight:500;gap:9px}.admin-list-toolbar .admin-deleted-toggle input{width:17px;height:17px}.admin-list-toolbar #admin-status{margin:0;font-size:13px;color:#62717e}

.admin-bookings-heading{font-size:28px;margin:24px 0 20px}

.detail-section .admin-bookings-heading{font-size:28px;border-top:1px solid #dce5ed;padding-top:28px;margin:20px 0 10px}

.admin-bookings-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid #dce5ed;padding-top:28px;margin-top:20px}.detail-section .admin-bookings-header .admin-bookings-heading{border:0;padding:0;margin:0;font-size:28px}.admin-bookings-header .btn{font-size:14px}

.owner-saved-quotes>.heading{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.owner-saved-quotes>.heading h2{margin:0}.owner-saved-quotes>.heading .btn{font-size:14px}

.admin-payment-section details>summary{cursor:pointer;color:#216d9e;font-weight:600}.admin-payment-section label{display:grid;gap:6px;margin:14px 0;font-size:14px}.admin-payment-section input:not([type=checkbox]),.admin-payment-section select{width:100%;min-width:0;max-width:400px;padding:12px;border:1px solid #cbd7e0;border-radius:8px;background:white;font:inherit}.admin-payment-section .quote-free-choice{display:flex;align-items:center;gap:10px}.admin-payment-section input[type=checkbox]{width:18px;height:18px;flex-shrink:0}.admin-payment-section .btn{white-space:normal;max-width:100%}

.admin-communications .actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0}.admin-communications .actions .btn,.admin-communications .admin-comm-danger .btn{width:auto;min-height:40px;padding:10px 16px;font-size:13px;line-height:1.4;white-space:normal;border-radius:9px;margin:0}.admin-comm-intro,.admin-comm-status{font-size:13px;color:#62717e;line-height:1.6}.admin-comm-status:empty,.admin-comm-history:empty{display:none}.admin-communications>details{background:white;border:1px solid #dce5ed;border-radius:12px;padding:16px;margin:18px 0}.admin-communications>details>summary{font-size:15px}.admin-comm-danger{display:flex;flex-wrap:wrap;align-items:center;gap:12px;border-top:1px solid #dce5ed;margin-top:24px;padding-top:18px}.admin-comm-danger>span{font-size:12px;color:#62717e}.admin-email-entry{padding:14px 16px;background:white;border:1px solid #dce5ed;border-radius:10px;margin:10px 0}.admin-email-entry>div{display:flex;align-items:center;flex-wrap:wrap;gap:10px;justify-content:space-between}.admin-email-entry time{display:block;color:#62717e;margin-top:6px;font-size:12px}.admin-email-badge{font-size:11px;background:#edf5fb;color:#216d9e;border-radius:6px;padding:3px 8px;text-transform:capitalize}.admin-email-entry p{font-size:12px;overflow-wrap:anywhere}@media(max-width:600px){.admin-communications .actions{display:flex;flex-direction:row}.admin-communications .actions .btn{flex:0 1 auto}.admin-comm-danger{align-items:flex-start;flex-direction:column}}

.admin-access-details{margin-top:20px}.admin-access-details h4{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:#62717e;margin:0 0 6px}.admin-access-details p{margin:0;overflow-wrap:anywhere}
.slideshow-home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;margin-top:28px}.slideshow-home-grid .card{padding:28px}.slideshow-home-grid .price{font-size:25px;margin:18px 0}.slideshow-home-grid small{font-size:13px;font-weight:400}.service-pair-suggestion{background:#e5f2fc;border:1px solid #b9d7ed;border-radius:12px;padding:18px;margin:18px 0;text-align:left}.service-pair-suggestion strong{font-size:16px}.service-pair-suggestion p{font-size:13px;line-height:1.6;margin:8px 0 14px;color:#4c6070}.service-pair-suggestion .btn{font-size:13px;white-space:normal;padding:12px 16px;width:auto;max-width:100%}@media(max-width:700px){.slideshow-home-grid{grid-template-columns:1fr}}
.first-booking-offer #first-offer-label:not([hidden]){display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin:14px 0 0 32px;font-size:13px;line-height:1.5;font-weight:600}.first-booking-offer #first-offer{display:block;width:220px;max-width:100%;min-width:0;box-sizing:border-box;min-height:44px;padding:10px 34px 10px 12px;font-size:14px;line-height:1.4;font-weight:400;border-radius:8px}.first-booking-offer #first-offer-label[hidden]{display:none}

/* Keep iOS from automatically magnifying focused form controls. */
@media (max-width:1000px), (pointer:coarse){
 input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=submit]):not([type=button]):not([type=hidden]),select,textarea,[contenteditable=true]{font-size:16px!important}
 a,button,input,select,textarea,label{touch-action:manipulation}
}

/* Expanded cards control their own landing; avoid browser scroll anchoring competing with it. */
#booking-form{overflow-anchor:none}

/* Leave form focus scrolling to the browser; reserve space for the sticky header. */
form :is(input,select,textarea),[id].owner-quote-builder,.admin-request,.admin-order-section h3{scroll-margin-top:110px;scroll-margin-bottom:110px}
@media(max-width:1000px),(pointer:coarse){html{scroll-behavior:auto}form,:is(.owner-quote-builder,.admin-request){overflow-anchor:none}}

.hero-work-link{color:white;font-size:14px;font-weight:600;align-self:center;text-decoration:underline;text-underline-offset:4px}.booking-pricing-link{font-size:15px!important;margin:22px auto 0!important}.booking-pricing-link a,.service-pricing-link a{color:#216d9e;font-weight:600;text-decoration:underline;text-underline-offset:4px}.service-pricing-link{font-size:15px!important;margin-top:20px!important}@media(max-width:600px){.hero .hero-work-link{flex-basis:100%;text-align:center}.booking-pricing-link{line-height:1.7}}

@media(max-width:800px){
 .booking-service,.booking-service:has(.service-check:checked){padding:20px 18px;gap:10px}
 .booking-service .service-icon{width:30px;height:30px;margin:2px auto 0}
 .booking-service label.service-name{padding-top:2px;line-height:1.35}
 .booking-service .package-highlight{margin:0 0 4px;padding:4px 11px;font-size:12px}
 .booking-service .service-included{margin:4px 0 8px;padding:14px}
 .booking-service .service-price{margin:6px 0 0}
 .booking-service .rate-note:empty{display:none}
 .booking-service .service-options{margin:8px 0}
 .booking-service .listing-size-panel{margin:8px 0;padding:18px}
 .booking-service .listing-size-panel h3{font-size:20px;margin:8px 0}
 .booking-service .listing-size-panel .book-note{font-size:13px;margin:8px 0 14px}
 .booking-service .listing-size-panel .eyebrow{font-size:10px}
}

.listing-size-panel.size-entry-needed{border-color:#6ba9d1;box-shadow:0 0 0 2px #2982c418}.listing-size-panel.size-entry-needed input{border-color:#6ba9d1}

/* Service options and size fields stay mounted in their own cards. */
.service-options:empty{display:none}.service-pair-suggestion.pair-complete{visibility:hidden;pointer-events:none}
.listing-size-panel [id$="size-warning"]{display:block;min-height:44px;font-size:12px;line-height:1.5}
.listing-size-panel [id$="size-confirm-label"]{min-height:56px;margin:8px 0 0}
.booking-service .service-options{position:static!important;inset:auto!important;max-height:none!important;overflow:visible!important}
.booking-service{border-width:2px}.booking-service .service-price{min-height:2.7em;display:flex;align-items:center;justify-content:center}.booking-service .rate-note:not(:empty){min-height:4.5em}.listing-size-panel [id$="size-warning"]{height:60px;min-height:60px}.listing-size-panel [id$="size-confirm-label"]{min-height:72px}

.listing-size-panel [id$="size-warning"]{height:auto;min-height:0;margin-top:6px}.listing-size-panel [id$="size-confirm-label"]{min-height:0;margin:8px 0 0}.listing-size-panel [hidden]{display:none!important}.listing-size-panel .field small{margin-bottom:0}
.booking-service,.booking-service:has(.service-check:checked){padding:24px 20px!important}@media(max-width:800px){.booking-service,.booking-service:has(.service-check:checked){padding:20px 18px!important}}

.first-order-panel{margin:0 0 28px}.first-order-panel .first-booking-offer{border:1px solid #c5dfef}.first-order-panel #first-offer{width:100%;max-width:440px;font-size:16px}.first-order-panel .first-booking-offer p{font-size:13px}

.booking-service,.booking-service:has(.service-check:checked){gap:10px!important}
.first-order-panel .first-booking-offer{background:#fff;border:2px solid #dce5ed;border-radius:14px;padding:24px 20px}.first-order-panel .first-booking-offer #first-offer{background:#fff;color:#192d39;border:1px solid #cbd8e1;border-radius:8px;padding:13px 38px 13px 14px;min-height:48px;font-family:inherit;font-weight:400;opacity:1}.first-order-panel .first-booking-offer #first-offer:disabled{background:#fff;color:#62717e;opacity:1}.first-order-panel .first-booking-offer p{color:#62717e}.first-order-panel .first-booking-offer input[type=checkbox]{accent-color:#2982c4}@media(max-width:800px){.first-order-panel .first-booking-offer{padding:20px 18px}}

.first-order-panel .first-booking-offer label:first-child{font-family:inherit;font-size:19px;font-weight:700;line-height:1.3;letter-spacing:normal}.first-order-panel .first-booking-offer label:first-child span{font:inherit;letter-spacing:inherit}
.first-shoot-section{padding:32px 0;background:#f6f9fb;border-bottom:1px solid #e3eaf0}.first-shoot-section .first-order-panel{margin:0}.first-order-panel .first-booking-offer{padding:28px;border:1px solid #dce5ed;box-shadow:0 5px 24px #10253205}.first-shoot-heading{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:24px}.first-shoot-heading .eyebrow{font-size:10px;letter-spacing:1.6px;margin:0 0 10px}.first-shoot-heading h2{font-size:28px;line-height:1.2;letter-spacing:-.5px;margin:0 0 10px}.first-order-panel .first-shoot-heading p{font-size:14px;line-height:1.6;margin:0;max-width:600px}.first-shoot-badge{white-space:nowrap;font-size:12px;font-weight:600;background:#e8f4fc;color:#216d9e;padding:7px 12px;border-radius:999px}.first-order-panel .first-order-toggle,.first-order-panel .first-offer-source{display:none!important}.first-gift-choices{display:grid;grid-template-columns:1fr 1fr;gap:14px}.first-order-panel .first-gift-choices .first-gift-card{display:grid!important;grid-template-columns:20px 36px minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important;padding:18px!important;margin:0!important;border:1px solid #dce5ed;border-radius:12px;background:#fff;font-size:14px!important;font-weight:400!important;cursor:pointer;min-width:0}.first-gift-card:has(input:checked){border-color:#2982c4!important;box-shadow:0 0 0 1px #2982c4;background:#f6fbff!important}.first-gift-card input{width:18px!important;height:18px!important;margin:0!important;accent-color:#2982c4}.first-gift-icon{color:#2982c4;width:30px;height:30px}.first-gift-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5}.first-gift-card strong{display:block;font-size:15px;font-weight:700;line-height:1.4}.first-gift-card small{display:block;color:#62717e;font-size:12px;line-height:1.5;margin-top:4px}.first-gift-price{color:#216d9e;font-size:13px;font-weight:600}.first-gift-skip{grid-column:1/-1;display:flex!important;align-items:center;gap:9px;font-size:12px!important;font-weight:400!important;color:#62717e;margin:0!important}.first-gift-skip input{width:16px!important;height:16px!important;margin:0!important}.first-order-panel .first-booking-offer>p{margin:16px 0 0;font-size:12px;line-height:1.6}@media(max-width:800px){.first-shoot-section{padding:22px 0}.first-order-panel .first-booking-offer{padding:22px 18px}.first-shoot-heading{display:block;margin-bottom:20px}.first-shoot-heading h2{font-size:25px}.first-shoot-badge{display:inline-block;margin-top:14px}.first-gift-choices{grid-template-columns:1fr;gap:12px}.first-order-panel .first-gift-choices .first-gift-card{padding:15px 12px!important;gap:10px!important;grid-template-columns:18px 28px minmax(0,1fr) auto!important}}

.first-order-panel .first-gift-choices .first-gift-skip{grid-column:auto;min-height:90px}.first-order-panel .first-gift-choices .first-gift-skip input{width:18px!important;height:18px!important}.first-order-panel .first-gift-choices:has(.first-gift-skip){grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:800px){.first-order-panel .first-gift-choices:has(.first-gift-skip){grid-template-columns:1fr}}



/* Keep one stable composited header layer during iOS keyboard animations. */
@media(max-width:1000px),(pointer:coarse){body>header{top:0;transform:translate3d(0,0,0);-webkit-backface-visibility:hidden;backface-visibility:hidden;isolation:isolate;transition:none;will-change:transform}}
/* A permanent mobile header avoids WebKit's sticky/focused-input repaint bug. */
@media(max-width:1000px),(pointer:coarse){
 body:has(>header .nav){padding-top:76px}
 body>header:has(.nav){position:fixed;inset:0 0 auto;width:100%;z-index:40;transform:translate3d(0,0,0);will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:none}
}
@media(max-width:600px){body:has(>header .nav){padding-top:74px}}

/* Keep booking labels and delivery statuses on their own rows on phones. */
@media(max-width:600px){
 .admin-request-side{grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;padding-top:14px;border-top:1px solid #dce5ed;align-items:center}
 .admin-request-side>strong{grid-column:1;grid-row:1;line-height:1.35}
 .admin-request-side>.admin-expand-hint{grid-column:2;grid-row:1;justify-content:flex-end;white-space:nowrap}
 .admin-request-side>span:nth-child(2){grid-column:1;grid-row:2;line-height:1.5}
 .admin-request-side>span:not(.admin-expand-hint):nth-child(3){grid-column:2;grid-row:2;font-size:12px;text-align:right;line-height:1.5}
}
.owner-delivery-project{margin:24px 0;padding:28px;scroll-margin-top:100px}.owner-delivery-project .fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.owner-delivery-project .full{grid-column:1/-1}.owner-delivery-project .field{display:grid;gap:7px;min-width:0}.owner-delivery-project .auth-label{margin:20px 0}.owner-delivery-project input:not([type=checkbox]),.owner-delivery-project textarea{width:100%;max-width:100%;padding:13px 14px;border:1px solid #cbd7de;border-radius:10px;background:white;color:#182936;font:inherit}.owner-delivery-project small{font-size:12px;color:#62717e}@media(max-width:600px){.owner-delivery-project{padding:20px}.owner-delivery-project .fields{grid-template-columns:1fr}.owner-delivery-project .actions{display:grid}.owner-delivery-project .actions .btn{width:100%}}

/* Keep saved-quote filters clear and comfortably tappable. */
.quote-list-filters{display:flex;flex-wrap:wrap;gap:12px 24px;margin:20px 0 12px}
.quote-list-filters .quote-list-filter{display:flex;align-items:center;gap:10px;margin:0;min-height:44px;font-size:14px;line-height:1.4;cursor:pointer}
.quote-list-filter input{flex:0 0 20px;width:20px;height:20px;margin:0;accent-color:#2982c4}
#saved-quotes-status{margin:0 0 22px;font-size:14px;color:#62717e}
@media(max-width:600px){.quote-list-filters{display:grid;grid-template-columns:1fr;gap:0;margin:16px 0 8px}.quote-list-filters .quote-list-filter{font-size:14px;min-height:42px}}

.owner-address-lookup{margin:-4px 0 22px}.owner-address-lookup [data-owner-address-results]{display:grid;gap:8px}.owner-address-lookup [data-owner-address-results][hidden]{display:none}.owner-address-lookup [data-owner-address-results] button{white-space:normal;text-align:left;height:auto}.owner-address-lookup [data-owner-address-status]{font-size:14px;line-height:1.4}

/* Separate repeat-order action from the client's contact details. */
.admin-order-section [data-repeat-customer]{margin:0 0 24px;max-width:100%;white-space:normal;line-height:1.4}
.admin-order-section [data-repeat-customer]+.admin-booking-details{margin-top:0}

.admin-booking-sort{display:flex;align-items:center;gap:12px;margin:20px 0 16px;font-size:14px;font-weight:600;color:#182936}.admin-booking-sort select{font:inherit;font-size:16px;min-height:46px;padding:10px 38px 10px 14px;border:1px solid #cbd7df;border-radius:12px;background:#fff;color:#182936;max-width:100%}@media(max-width:600px){.admin-booking-sort{display:grid;gap:8px}.admin-booking-sort select{width:100%}}

/* Consistent admin field sizing, including iOS native date controls. */
.admin-page main :is(input,select,textarea,button,.btn){box-sizing:border-box;max-width:100%;min-width:0}
.admin-page main :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){font-size:16px;min-width:0;width:100%;line-height:1.4}
.admin-page main input[type=date],.admin-page main input[type=time]{min-height:48px;display:block;max-width:100%;width:100%;overflow:hidden}
.admin-page main :is(.fields,.field,.admin-appointment,.admin-detail-columns,.owner-quote-layout,.admin-edit-line){min-width:0}
.admin-page main :is(.auth-label,.quote-free-choice){display:flex;align-items:flex-start;gap:10px;line-height:1.5}
.admin-page main :is(.auth-label,.quote-free-choice) input:is([type=checkbox],[type=radio]){flex:0 0 20px;width:20px;height:20px;margin:2px 0 0}
.owner-delivery-project .auth-label{margin:22px 0;gap:10px}.owner-delivery-project .actions{gap:12px;margin-top:22px}
.owner-delivery-project .owner-address-lookup{grid-column:1/-1;margin:0 0 4px}.owner-address-lookup .admin-price-explanation{margin:10px 0;font-size:13px;line-height:1.45}
.admin-existing-card-choices label,.admin-payment-section details label{margin:16px 0;gap:8px}.admin-existing-card-choices label:not(.quote-free-choice){display:grid}
.admin-page main .admin-order-section input+small,.admin-page main .field small{display:block;margin-top:4px;line-height:1.45}
@media(max-width:600px){.admin-page main .admin-appointment{grid-template-columns:minmax(0,1fr)}.admin-page main :is(.owner-delivery-project,.owner-quote-builder){max-width:100%}}

.admin-delivery-save-status{margin:12px 0 20px;font-size:14px;line-height:1.45}.admin-delivery-save-status:empty{display:none}.admin-delivery-save-status[data-state=saved]{padding:12px 14px;background:#eaf6ee;border:1px solid #bfdcc8;border-radius:10px;color:#245f3a}.admin-delivery-save-status[data-state=error]{padding:12px 14px;background:#fff0ed;border:1px solid #edc3bc;border-radius:10px;color:#9d3124}

/* Booking list controls share one responsive panel. */
.admin-page .admin-booking-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px 24px;background:#f4f8fb;border:1px solid #dce5ed;border-radius:16px;padding:20px 24px;margin:16px 0 20px}
.admin-page .admin-booking-filters .admin-booking-sort{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:8px;margin:0;min-width:0;font-size:13px;line-height:1.4;font-weight:600}
.admin-page .admin-booking-filters .admin-booking-sort select{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:48px;margin:0;font-size:16px;font-weight:500;line-height:1.4}
.admin-page .admin-booking-filters .admin-list-toolbar{grid-column:1/-1;border-top:1px solid #dce5ed;border-bottom:0;padding:14px 0 0;margin:0;gap:12px}
@media(max-width:640px){.admin-page .admin-booking-filters{grid-template-columns:minmax(0,1fr);gap:16px;padding:18px 16px}.admin-page .admin-booking-filters .admin-list-toolbar{align-items:flex-start}.admin-page .admin-booking-filters #admin-status{white-space:nowrap}}

.home-daylight-hero{position:relative;display:flex;align-items:center;min-height:620px;height:calc(100svh - 135px);max-height:860px;color:white;background:#102532;overflow:hidden}
.home-daylight-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 57%}
.home-daylight-hero:after{display:block;content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,24,35,.78) 0%,rgba(9,24,35,.55) 34%,rgba(9,24,35,.12) 68%,rgba(9,24,35,.02) 100%)}
.home-daylight-hero .wrap{position:relative;z-index:1;padding:68px 0}
.home-daylight-hero .eyebrow{color:#b9ddf5;font-size:11px;letter-spacing:2px;margin-bottom:22px}
.home-daylight-hero h1{font-size:clamp(42px,4.6vw,68px);line-height:1.08;letter-spacing:-2px;max-width:700px;margin:0 0 24px}
.home-daylight-hero h1 span{color:white}
.home-daylight-hero p{max-width:440px;font-size:17px;line-height:1.65;font-weight:400;color:#eef4f8}
.home-daylight-hero .actions{gap:12px;margin:30px 0 0}
.home-daylight-hero .btn.outline{color:white;border-color:#ffffffa6;background:#10253225}
.home-daylight-hero .scroll-cue{display:none}
@media(max-width:800px){.home-daylight-hero{min-height:580px;height:calc(100svh - 110px);max-height:760px;align-items:flex-end}.home-daylight-hero>img{object-position:58% 50%}.home-daylight-hero:after{background:linear-gradient(0deg,rgba(9,24,35,.92),rgba(9,24,35,.64) 42%,rgba(9,24,35,.08) 85%)}.home-daylight-hero .wrap{padding:180px 0 42px}.home-daylight-hero h1{font-size:clamp(38px,7vw,56px);letter-spacing:-1.3px;max-width:600px}.home-daylight-hero .eyebrow{font-size:10px;letter-spacing:1.7px;margin-bottom:16px}.home-daylight-hero p{font-size:16px;max-width:420px;margin-bottom:0}.home-daylight-hero .actions{margin-top:24px}.home-daylight-hero .actions .btn{padding:13px 22px;min-height:48px}}

/* Let long estimates grow with the page instead of clipping inside a sticky box. */
.book-layout .book-summary,.book-layout.services-step .book-summary,#review-price-slot .book-summary{position:static!important;top:auto;bottom:auto;transform:none;max-height:none!important;overflow:visible!important;align-self:start}

/* Review the full estimate after choosing services, with room for every line. */
.book-layout,.book-layout.services-step{grid-template-columns:minmax(0,1fr);gap:28px}
.book-layout>.book-summary,.book-layout.services-step>.book-summary{width:100%;max-width:none;margin:0;padding:28px;grid-column:1;position:static}
.book-layout>.book-summary h3{font-size:24px;margin-bottom:18px}
@media(max-width:600px){.book-layout>.book-summary,.book-layout.services-step>.book-summary{padding:24px}}
/* Compact service selection with readable copy and comfortable controls. */
.shared-service-cards .service-select-grid{gap:14px}
.shared-service-cards .booking-service,.shared-service-cards .booking-service:has(.service-check:checked){padding:18px 18px!important;gap:6px}
.shared-service-cards .booking-service .service-icon{width:27px;height:27px;margin:0 auto}
.shared-service-cards .booking-service label.service-name{font-size:16px;line-height:1.35;padding-top:0}
.shared-service-cards .booking-service .service-description{font-size:13px;line-height:1.5;flex:0}
.shared-service-cards .booking-service .service-price{font-size:23px;line-height:1.3;min-height:1.4em;margin:4px 0 0}
.shared-service-cards .booking-service .rate-note:not(:empty){font-size:12px;line-height:1.45;min-height:2.9em}
.shared-service-cards .booking-service .service-details-link{font-size:12px;margin:2px 0 4px}
.shared-service-cards .booking-service .service-options{margin:8px 0;gap:6px}
.shared-service-cards .booking-service .service-options select,.shared-service-cards .booking-service .service-options input:not([type=checkbox]){min-height:44px;padding:10px 12px;font-size:16px}
.shared-service-cards .booking-service .btn{min-height:44px;padding:9px 12px}
.shared-service-cards .booking-service .package-highlight{font-size:11px;padding:3px 10px;margin-bottom:2px}
@media(max-width:600px){.shared-service-cards .booking-service,.shared-service-cards .booking-service:has(.service-check:checked){padding:16px!important}.shared-service-cards .service-select-grid{gap:12px}}
.shared-service-cards [data-step="1"] .service-select-grid{gap:14px}
.shared-service-cards .service-select-grid .booking-service{gap:6px}
@media(max-width:600px){.shared-service-cards [data-step="1"] .service-select-grid{gap:12px}}
/* Three service cards across on desktop and iPad; phones stay single-column. */
@media(min-width:768px){.shared-service-cards [data-step="1"] #service-grid,.shared-service-cards [data-step="1"] #extras-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.shared-service-cards [data-step="1"] #photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:768px) and (max-width:1000px){.shared-service-cards [data-step="1"] #service-grid .booking-service,.shared-service-cards [data-step="1"] #extras-grid .booking-service{padding:16px 12px!important}.shared-service-cards .booking-service .service-options{min-width:0}.shared-service-cards .booking-service .service-options select{max-width:100%;min-width:0}}
@media(max-width:767px){.shared-service-cards [data-step="1"] #service-grid,.shared-service-cards [data-step="1"] #extras-grid,.shared-service-cards [data-step="1"] #photo-grid{grid-template-columns:minmax(0,1fr)}}

/* Group booking details into readable sections instead of long stretched rows. */
.booking-step[data-step="0"]{width:min(100%,1000px);margin:0 auto}
.booking-step[data-step="0"] .book-panel{padding:26px;margin-bottom:20px}
.booking-step[data-step="0"] h2{font-size:clamp(26px,3vw,34px);line-height:1.2;margin-bottom:14px}
.booking-step[data-step="0"] h3{font-size:19px;margin:0 0 18px}
.booking-step[data-step="0"] .contact-section-heading{margin-top:24px}
.booking-step[data-step="0"] .fields{gap:18px 20px;align-items:start}
.booking-step[data-step="0"] .contact-fields{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,.9fr)}
.booking-step[data-step="0"] .property-fields{grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr) minmax(0,.8fr)}
.booking-step[data-step="0"] .fields>.full{grid-column:1/-1}
.booking-step[data-step="0"] .field{min-width:0;font-size:14px;line-height:1.5}
.booking-step[data-step="0"] .field input,.booking-step[data-step="0"] .field select,.booking-step[data-step="0"] .field textarea{min-width:0;box-sizing:border-box;margin-top:7px}
.booking-step[data-step="0"] .field small{font-size:12px;line-height:1.5;margin-top:6px}
.booking-step[data-step="0"] #lookup-address{min-height:44px;padding:10px 18px;margin-top:10px;align-self:start}
.booking-step[data-step="0"] #address-status{max-width:680px}
.booking-step[data-step="0"] #add-email{min-height:44px;padding:10px 18px}
.booking-step[data-step="0"] .book-note{font-size:13px;line-height:1.6;padding:14px 16px;margin-bottom:20px}
.booking-step[data-step="0"] .calendar-grid{max-width:430px}.booking-step[data-step="0"] .calendar-toolbar{max-width:430px}
@media(max-width:800px){.booking-step[data-step="0"] .contact-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-step[data-step="0"] .contact-fields>label:nth-child(2){grid-column:2;grid-row:1}.booking-step[data-step="0"] .property-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.booking-step[data-step="0"] .book-panel{padding:20px 18px}.booking-step[data-step="0"] .fields,.booking-step[data-step="0"] .contact-fields,.booking-step[data-step="0"] .property-fields{grid-template-columns:minmax(0,1fr);gap:16px}.booking-step[data-step="0"] .contact-fields>label:nth-child(2){grid-column:auto;grid-row:auto}.booking-step[data-step="0"] h3{font-size:18px}}
/* Keep actions within the active form section and wrap instead of spilling out. */
.booking-controls{box-sizing:border-box;width:100%;max-width:100%;min-width:0;flex-wrap:wrap;gap:16px}
#booking-form:has(>.booking-step[data-step="0"]:not([hidden])) .booking-controls{width:min(100%,1000px);margin:24px auto}
.booking-controls .save-draft-area{box-sizing:border-box;width:auto;min-width:0;max-width:360px;flex:1 1 260px}
.booking-controls .save-draft-area .btn{width:auto;max-width:100%;white-space:normal}
.booking-controls>button{box-sizing:border-box;min-width:0;max-width:100%;white-space:normal;flex:0 1 auto}
@media(max-width:600px){.booking-controls .save-draft-area{flex:1 1 100%;width:100%;max-width:none}.booking-controls .save-draft-area .btn{width:100%}.booking-controls>button{flex:1 1 auto}.booking-controls #next{width:100%;flex:1 1 100%;margin-left:0!important}}
/* Use matching bounds for details, review, actions and their bottom summary. */
.booking-step[data-step="2"]{width:min(100%,1000px);margin:0 auto}
.book-layout:not(.services-step)>.book-summary{width:min(100%,1000px);max-width:1000px;margin:0 auto;box-sizing:border-box}
.book-layout:not(.services-step) .booking-controls{width:min(100%,1000px);margin:24px auto}
#booking-form,.book-panel,.review-details,.payment-buttons,.auth-label{min-width:0;max-width:100%;box-sizing:border-box}
#booking-form .field input,#booking-form .field select,#booking-form .field textarea{max-width:100%;box-sizing:border-box}
.booking-step[data-step="2"] .book-panel{padding:26px;margin-bottom:20px}
.booking-step[data-step="2"] .review-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}
.booking-step[data-step="2"] .review-details>div{min-width:0;overflow-wrap:anywhere}
.booking-step[data-step="2"] .payment-buttons{display:flex;flex-wrap:wrap;gap:12px}
.booking-step[data-step="2"] .payment-buttons>button{min-width:0;max-width:100%;flex:1 1 180px;white-space:normal;box-sizing:border-box}
.booking-step[data-step="2"] .btn{max-width:100%;white-space:normal;box-sizing:border-box}
@media(max-width:600px){.booking-step[data-step="2"] .book-panel{padding:20px 18px}.booking-step[data-step="2"] .review-details{grid-template-columns:minmax(0,1fr)}.book-layout:not(.services-step)>.book-summary{padding:24px}}

/* Keep owner builders and their estimates on the same readable page bounds. */
.admin-page #owner-quote-builder,.admin-page #delivery-project-form{width:min(100%,1000px);margin:28px auto;box-sizing:border-box}
.admin-page .owner-quote-layout{grid-template-columns:minmax(0,1fr);gap:24px}
.admin-page .owner-quote-layout>div:first-child{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
.admin-page .owner-quote-layout>div:first-child>*{grid-column:1/-1;min-width:0;max-width:100%;box-sizing:border-box}
.admin-page .owner-quote-layout>div:first-child>label:has([data-owner-quote-detail="name"]),
.admin-page .owner-quote-layout>div:first-child>label:has([data-owner-quote-detail="email"]),
.admin-page .owner-quote-layout>div:first-child>label:has([data-owner-quote-detail="phone"]),
.admin-page .owner-quote-layout>div:first-child>label:has([data-owner-quote-detail="unit"]),
.admin-page .owner-quote-layout>div:first-child>label:has([data-owner-quote-detail="city"]),
.admin-page .owner-quote-layout>div:first-child>label:has([data-owner-quote-detail="state"]){grid-column:auto}
.admin-page .owner-quote-preview{position:static;max-height:none;overflow:visible}
/* Let controls shrink and wrap inside their containing panel, including long labels. */
main :is(.actions,.payment-buttons,.booking-controls){min-width:0;max-width:100%;box-sizing:border-box;flex-wrap:wrap}
main :is(.actions,.payment-buttons,.booking-controls)>.btn{min-width:0;max-width:100%;box-sizing:border-box;white-space:normal;text-align:center}
main :is(.field,.fields,.contact-fields,.property-fields)>*{min-width:0;max-width:100%;box-sizing:border-box}
main :is(input:not([type=checkbox]):not([type=radio]),select,textarea){min-width:0;max-width:100%;box-sizing:border-box}
@media(max-width:600px){.admin-page .owner-quote-layout>div:first-child{grid-template-columns:minmax(0,1fr);gap:0}.admin-page .owner-quote-layout>div:first-child>label{grid-column:1/-1}.admin-page .owner-quote-preview{padding:22px}.admin-page .owner-quote-heading h2{overflow-wrap:anywhere}}

/* Darken the phone hero photo by 30% without dimming its text or buttons. */
@media(max-width:600px){.home-daylight-hero>img{filter:brightness(.7)}}

/* Center the phone hero copy vertically within the photo. */
@media(max-width:600px){.home-daylight-hero{align-items:center}.home-daylight-hero .wrap{padding:36px 0}}

/* Responsive hero art: a naturally darker twilight exterior for phones. */
.home-daylight-hero>picture{position:absolute;inset:0;display:block}.home-daylight-hero>picture>img{width:100%;height:100%;object-fit:cover}
@media(max-width:800px){.home-daylight-hero>picture>img{object-position:58% 50%}}
@media(max-width:600px){.home-daylight-hero>picture>img{filter:brightness(.55);object-position:52% 50%}.home-daylight-hero:after{background:rgba(9,24,35,.4)}}

/* Keep the pool and central opening in view at both hero crops. */
.home-daylight-hero>picture>img{object-position:50% 50%}

.admin-comm-status:not(:empty){padding:12px 14px;border:1px solid #c8dce9;border-radius:10px;background:#edf6fc;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.admin-comm-status[data-state=error]{background:#fff0ed;color:#9d3124;border-color:#edc3bc}.email-preview-dialog [data-preview-send]{margin:0 0 16px}
/* Address editing uses the same comfortable controls as the other admin forms. */
.admin-page .admin-address-editor{margin:18px 0 24px;padding:16px;border:1px solid #d5e0e8;border-radius:12px;background:#fff;min-width:0}
.admin-page .admin-address-editor>summary{cursor:pointer;font-weight:600;color:#216d9e;line-height:1.5}
.admin-page .admin-address-editor .fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;margin-top:20px}
.admin-page .admin-address-editor .fields>label{display:grid;gap:8px;margin:0;font-size:14px;line-height:1.5;min-width:0}
.admin-page .admin-address-editor .fields>label:first-child,.admin-page .admin-address-editor .owner-address-lookup{grid-column:1/-1}
.admin-page .admin-address-editor input{display:block;width:100%;min-height:48px;margin:0;padding:12px 14px;border:1px solid #cbd7e0;border-radius:10px;background:#fff;font:inherit;font-size:16px;line-height:1.4}
.admin-page .admin-address-editor input:focus{outline:3px solid #d9edf9;border-color:#2982c4}
.admin-page .admin-address-editor .owner-address-lookup{margin:0;min-width:0}
.admin-page .admin-address-editor .owner-address-lookup .btn{min-height:44px;padding:10px 18px;margin:0}
.admin-page .admin-address-editor .owner-address-lookup p:empty{display:none}
.admin-page .admin-address-editor>p{font-size:13px;line-height:1.5;color:#62717e;margin:20px 0 16px}
.admin-page .admin-address-editor .admin-address-status:empty{display:none}
.admin-page .admin-address-editor .admin-address-status:not(:empty){padding:12px;background:#edf6fc;border-radius:8px}
@media(max-width:600px){.admin-page .admin-address-editor{padding:16px 14px}.admin-page .admin-address-editor .fields{grid-template-columns:minmax(0,1fr);gap:18px}.admin-page .admin-address-editor [data-save-address]{width:100%;white-space:normal}}

.admin-order-summary-dialog{width:min(700px,96vw);max-height:94dvh;padding:18px;border:0;border-radius:16px;background:#f3f6f8;overflow:auto}.admin-order-summary-dialog::backdrop{background:#0009}.admin-order-summary-dialog img{display:block;width:100%;height:auto;object-fit:contain}.admin-order-summary-dialog .actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 14px}.admin-order-summary-dialog .btn{max-width:100%;white-space:normal}.admin-order-summary-dialog p{font-size:13px;line-height:1.5}.admin-order-summary-status:empty{display:none}.admin-order-summary-actions{margin:0 0 16px}.admin-order-summary-status{font-size:14px;color:#216d9e}
/* Final responsive review: keep photo previews within the dialog and links easy to tap. */
.lightbox{width:fit-content;max-width:calc(100% - 24px);max-height:calc(100dvh - 24px);overflow-x:hidden}
.lightbox img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 142px);margin-inline:auto;object-fit:contain}
.lightbox p{overflow-wrap:anywhere;font-size:14px;line-height:1.5}
.lightbox button{min-height:44px;font:inherit;font-size:14px}
@media(max-width:600px){footer .foot a{min-height:44px;margin:0;padding:10px 0;font-size:14px;line-height:24px}footer .foot>div:last-child{display:grid;gap:0}}

.video-play-overlay[hidden]{display:none!important}

/* Clip the video itself, so captions below it cannot square off its lower corners. */
.video-player-shell>video,.home-video-frame>video,.service-video-preview,.video-example video{display:block;border-radius:12px;overflow:hidden;clip-path:inset(0 round 12px);isolation:isolate}
video:fullscreen,video:-webkit-full-screen{border-radius:0;clip-path:none}

/* Keep size-based quote/order pricing beside the selected services. */
.owner-quote-builder .owner-size-field{padding:22px;margin:0 0 20px;background:#edf5fb;border:1px solid #bdd6e7;border-radius:14px}.owner-quote-builder .owner-size-field>label{margin:0}.owner-quote-builder .owner-size-field .admin-price-explanation{margin:12px 0 0}@media(max-width:600px){.owner-quote-builder .owner-size-field{padding:18px}}

/* Separate adding services from existing service cards and payment choices. */
.owner-quote-builder .owner-add-service{border-top:1px solid #bdcdd9;padding-top:26px;margin:30px 0 32px}.owner-quote-builder .owner-add-service h3{margin:0 0 20px;font-size:19px;line-height:1.4}.owner-quote-builder .owner-add-service>label{margin-bottom:16px}.owner-quote-builder .owner-add-service>#add-owner-quote-line{margin:0;width:100%}@media(max-width:600px){.owner-quote-builder .owner-add-service{padding-top:24px;margin-top:28px}}

