@font-face{font-family:TigerDisplay;src:url('assets/barlow-condensed-800.ttf') format('truetype');font-weight:800;font-display:swap}
:root{--gold:#e2a14c;--night:#111310;--line:#ffffff26;--muted:#bbc2b6}
body{background:var(--night);color:#f6f5ee}p{color:var(--muted)}h1,h2{font-family:TigerDisplay,Impact,sans-serif;text-transform:uppercase;letter-spacing:-.025em;line-height:.98;font-weight:800}h1{font-size:clamp(56px,6.5vw,94px)}h2{font-size:clamp(40px,4.7vw,64px)}h3{color:#f6f5ee}a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:var(--gold)}.eyebrow{color:var(--gold)}.demo-bar{background:#20251e;color:#cbd0c4}.topbar{display:none}.header{background:#111310f5;border-color:var(--line);height:96px}.header-phone{background:var(--gold);color:#151515;border:0;padding:13px 17px;font-size:15px}.header-phone small{color:#33291c}.header-phone svg{color:inherit}.header nav a:hover,.header nav [aria-current]{color:var(--gold)}.brand>span{color:#f6f5ee}.menu-toggle{color:#fff;border-color:#ffffff65}.header nav{gap:21px}.quiet-link{border-color:#ffffff50;color:#f6f5ee}.quiet-link:hover{color:var(--gold)}
body[data-page=index] .header{position:relative;background:transparent;margin-bottom:-96px;border-bottom-color:#ffffff40}body[data-page=index] .header:after{content:'';position:absolute;left:0;right:0;top:0;bottom:0;background:linear-gradient(#05090560,transparent);z-index:-1}
.night-hero{position:relative;min-height:780px;height:calc(100svh - 25px);max-height:1080px;isolation:isolate}.night-backdrop{position:absolute;inset:0;z-index:-2;overflow:hidden}.night-backdrop img{height:100%;width:100%;object-fit:cover;object-position:center 56%}.night-backdrop:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#050906f0 0%,#050906b5 32%,#0509060f 80%),linear-gradient(0deg,var(--night),transparent 38%)}.night-copy{padding-top:180px}.night-copy .eyebrow{color:#f6f5ee;font-size:11px;letter-spacing:.16em}.night-copy h1{font-size:clamp(80px,8.8vw,136px);line-height:.91;max-width:960px;margin:28px 0;color:#f6f5ee}.night-outline{-webkit-text-stroke:1px #f6f5ee;color:transparent}.night-copy p{font-size:14px;max-width:340px;color:#d3d5cd;line-height:1.7}.night-copy .quiet-link{border:0}.night-copy .hero-actions{gap:28px}.night-bottom{position:absolute;bottom:30px;left:0;right:0;display:flex;justify-content:space-between;align-items:end}.night-bottom>span{font-size:10px;letter-spacing:.16em;line-height:1.9}.night-bottom strong{color:var(--gold);font-weight:600}.night-round{width:86px;height:86px;border:1px solid #ffffff70;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.night-round b{font-size:28px;line-height:1}.night-round small{font-size:8px;letter-spacing:.1em;margin-top:8px}.service-strip{background:#111310;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 30px;color:#bfc6b9}.service-strip a:hover{color:var(--gold)}.service-strip a:last-child{color:var(--gold)}.night-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.night-service-card{display:block;position:relative;height:355px;overflow:hidden;isolation:isolate}.night-service-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.night-service-card:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 25%,#070b06ed);z-index:-1}.night-service-card img{position:absolute;z-index:-2}.night-service-card:hover img{transform:scale(1.04)}.night-service-card>div{position:absolute;left:25px;right:25px;bottom:25px}.night-service-card .eyebrow{font-size:9px;margin:0 0 9px}.night-service-card h3{font-size:24px;margin:0;padding-right:35px}.night-card-arrow{position:absolute;right:0;bottom:0;width:33px;height:33px;display:grid;place-items:center;border:1px solid #ffffff70;border-radius:50%}.service-directory-note{padding-top:27px;display:flex;gap:25px;justify-content:space-between;align-items:center;font-size:11px;color:#bbc2b6}.dark-section{background:#192017;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.process-section,.faq-section{background:#191d17}.step,.faq-list details{border-color:#ffffff2a}.step{color:var(--gold)}.checks li:before{color:var(--gold)}.area-board{background-color:#1b2118;border-color:#ffffff29;background-image:linear-gradient(#cfd3c70a 1px,transparent 1px),linear-gradient(90deg,#cfd3c70a 1px,transparent 1px)}.area-center small{color:#b5bead}.area-towns>span{background:#10160e;color:#f6f5ee;border-color:#ffffff25}.area-board>p{color:#bbc2b6}.photo-caption small{color:var(--gold)}.photo-plus{border-color:#ffffff70}.closing{background:#111310;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.closing .eyebrow{color:var(--gold)}.closing h2{font-size:54px}.closing h2 em{font-style:normal;color:var(--gold)}.closing .button{background:var(--gold);border-color:var(--gold);color:#111310}.closing .button:hover{background:#efba76}.closing p{color:#b4bbaa}footer{background:#0c100c}.footer-grid{grid-template-columns:1.3fr 1fr .65fr 1fr;gap:30px}.footer-grid>div>a:not(.brand){font-size:10px;line-height:1.55}.footer-bottom{border-color:var(--line)}.inner-hero{border-bottom:1px solid var(--line);padding-top:65px;padding-bottom:65px}.inner-hero>div:first-child{min-width:0}.inner-hero h1{font-size:clamp(54px,5.6vw,82px);overflow-wrap:break-word}.inner-hero p{max-width:570px}.inner-photo{flex-shrink:0}.inner-photo img{border:1px solid var(--line)}.help-panel,.request-form,.town-grid article,.route-note{background:#1c2319;border-color:#ffffff25}.help-panel p,.request-form p,.route-note p{color:#bbc2b6}.service-grid{border-color:var(--line);margin-top:25px}.service-card{border-color:var(--line);background:#171c14}.service-card:hover{background:#252f20}.service-icon{color:var(--gold)}.service-no{color:#b6c0ad}.service-card p{color:#bbc2b6}.service-jump{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:56px}.service-jump a{border:1px solid #ffffff50;padding:13px 19px;font-size:12px}.service-jump a:hover{border-color:var(--gold);color:var(--gold)}.service-category{margin-bottom:65px;scroll-margin-top:125px}.service-category:last-child{margin-bottom:0}.category-heading h2{margin-bottom:17px}.category-heading p{font-size:13px}.category-heading .eyebrow{margin-bottom:15px}.category-heading{max-width:600px}.service-category .service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-category .service-card{display:flex;flex-direction:column}.service-category .text-link{margin-top:auto}.more-services a{border-color:#ffffff35;background:#192017}.more-services a:hover{color:var(--gold);background:#252e20}.gallery-filters button{background:#192017;color:#d8ddce;border-color:#ffffff40}.gallery-filters button.active{background:var(--gold);color:#111}.contact-number{color:var(--gold)}.contact-details hr{border-color:#ffffff30}.request-form label{color:#e7ecdF}.request-form input,.request-form textarea,.request-form select{background:#10170d;color:#f7f6ee;border-color:#65705b}.request-form input::placeholder,.request-form textarea::placeholder{color:#b5bfab}.request-form option{color:#fff;background:#10170d}.request-form .error{color:#ffb6a6}.request-form a{text-decoration:underline}dialog{background:#151c12;color:#fff;border-color:#69765c}dialog p{color:#fff}.dialog-close{background:#111;color:#fff;border:1px solid #fff}.mobile-call{background:#10160d;color:#fff}.mobile-call a{color:#111}.preview-notice{position:relative;z-index:25}.service-menu>summary{cursor:pointer;list-style:none;font-size:12px;padding:12px 0;font-weight:700}.service-menu>summary::-webkit-details-marker{display:none}.service-menu>summary span{margin-left:6px;color:var(--gold)}.service-menu[open]>summary{color:var(--gold)}.service-dropdown{position:absolute;left:25px;right:25px;top:calc(100% - 1px);background:#161d12;border:1px solid #66705c;box-shadow:0 25px 55px #0009;padding:27px 32px;color:#f7f6ed;max-height:75vh;overflow:auto}.header .service-dropdown .all-services{display:flex;justify-content:space-between;font-size:15px;border-bottom:1px solid var(--line);padding:0 0 18px;margin-bottom:24px;color:var(--gold)}.dropdown-groups{display:grid;grid-template-columns:.8fr 1fr 1.3fr .8fr;gap:26px}.dropdown-groups strong{display:block;font-size:11px;color:var(--gold);margin-bottom:10px}.header .dropdown-groups a{display:block;font-size:11px;padding:7px 0;font-weight:500}.service-menu[open]>summary~*{animation:none}.menu-toggle:focus-visible{outline-offset:3px}
@media(max-width:1150px){.header nav{gap:15px}.header-phone{font-size:13px}.header-phone small{display:none}.night-copy h1{font-size:105px}.footer-grid{grid-template-columns:1.2fr 1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.night-service-card h3{font-size:20px}.night-service-card>div{left:20px;right:20px}.night-service-card{height:315px}}
@media(max-width:850px){.header{height:84px}body[data-page=index] .header{margin-bottom:-84px}.header nav{background:#11190e;max-height:calc(100svh - 140px);overflow:auto;border-bottom:1px solid #66705c}.service-menu>summary{padding:13px;font-size:15px}.service-dropdown{position:static;box-shadow:none;padding:18px;border-color:#ffffff25;max-height:none;margin:8px 0}.dropdown-groups{grid-template-columns:1fr 1fr;gap:25px}.header .dropdown-groups a{font-size:12px}.night-copy{padding-top:155px}.night-copy h1{font-size:90px}.night-hero{min-height:740px}.night-service-grid{gap:15px}.night-service-card>div{left:17px;right:17px}.night-service-card h3{font-size:20px}.night-service-card .eyebrow{font-size:8px}.service-category .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-directory-note{flex-direction:column;align-items:start;gap:10px}.closing h2{font-size:43px}}
@media(max-width:600px){.header{height:78px}body[data-page=index] .header{margin-bottom:-78px}.night-hero{height:auto;min-height:800px;max-height:none}.night-backdrop img{position:absolute;bottom:0;height:66%;object-position:58% bottom}.night-backdrop:after{background:linear-gradient(#101410 20%,#10141066 54%,transparent 72%,#111310 100%)}.night-copy{padding-top:125px;position:relative}.night-copy .eyebrow{font-size:8px;letter-spacing:.1em;max-width:295px;line-height:1.8}.night-copy h1{font-size:clamp(58px,17vw,100px);line-height:.94;margin:23px 0;overflow-wrap:anywhere}.night-copy p{font-size:12px;max-width:270px}.night-copy .hero-actions{gap:17px;flex-wrap:wrap;margin-top:22px}.night-copy .hero-actions .button{font-size:11px;padding:15px}.night-copy .hero-actions .quiet-link{font-size:10px;gap:8px}.night-copy .button svg{width:16px;height:16px}.night-bottom{bottom:25px}.night-bottom>span{font-size:8px;letter-spacing:.07em;max-width:205px}.night-round{width:66px;height:66px;flex-shrink:0}.night-round b{font-size:23px}.night-round small{font-size:7px}.service-strip{font-size:8px;gap:16px 12px;padding:21px 23px;letter-spacing:.05em}.night-service-grid{grid-template-columns:1fr;gap:18px}.night-service-card{height:330px}.night-service-card h3{font-size:24px}.night-service-card .eyebrow{font-size:9px}.night-service-card>div{left:24px;right:24px;bottom:24px}.night-service-card img{object-position:center 60%}.section-heading h2{font-size:44px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:last-child{grid-column:1/-1}.footer-grid>div>a:not(.brand){font-size:11px}.closing h2{font-size:39px}.inner-hero{padding-top:42px;padding-bottom:38px}.inner-hero h1{font-size:clamp(43px,12vw,68px)}.inner-hero .eyebrow{font-size:8px}.inner-hero p{font-size:13px}.inner-photo img{height:280px}.service-category .service-grid{grid-template-columns:1fr}.service-category .service-card{padding:25px}.service-card h3{min-height:0;font-size:23px}.service-card p{min-height:0;max-width:none}.service-category{margin-bottom:45px;scroll-margin-top:95px}.service-jump{gap:8px;margin-bottom:36px}.service-jump a{font-size:10px;padding:10px 12px}.category-heading h2{font-size:40px}.service-category .service-top{margin-bottom:20px}.dropdown-groups{grid-template-columns:1fr}.header .service-dropdown .all-services{font-size:13px}.header .dropdown-groups a{font-size:13px;padding:9px 0}.help-panel .button{width:100%;padding:14px 10px;font-size:11px}.contact-number{font-size:29px}.more-services a{white-space:normal}.photo-caption{color:#f6f5ee}.request-form select{max-width:100%;min-width:0;width:100%}.mobile-call a{font-size:11px}.town-grid h2{font-size:39px}.policy h1{font-size:50px}.policy h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){.night-service-card img{transition:none}}

@media(max-width:600px){.header nav{max-height:calc(100svh - 190px)}}

.services-page{padding-top:32px}

/* Approved detail refinements: prominent sequential steps, no decorative numbering. */
.process-grid{gap:34px}.process-grid article{display:grid;grid-template-columns:52px minmax(0,1fr);gap:20px;align-items:start}.process-grid .step{font-family:TigerDisplay,Impact,sans-serif;font-size:88px;line-height:.85;border:0;padding:0;margin:0;color:var(--gold)}.process-grid h3{margin-bottom:15px}.process-grid p{margin-bottom:0}.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}.town-grid .quiet-link{gap:10px}.town-grid .quiet-link svg{width:19px;height:19px}
@media(max-width:850px){.process-grid{grid-template-columns:1fr;gap:32px}.process-grid article{grid-template-columns:48px minmax(0,1fr);gap:22px}.process-grid .step{font-size:78px}.process-grid .step-copy{max-width:520px}}

/* Readable, contained desktop service navigation. */
@media(min-width:851px){
 .service-dropdown{left:50%;right:auto;transform:translateX(-50%);width:calc(100% - 64px);max-width:1180px;padding:24px 28px;box-sizing:border-box}
 .header .service-dropdown .all-services{font-size:17px;padding-bottom:16px;margin-bottom:20px}
 .dropdown-groups{grid-template-columns:.85fr 1.15fr 1.6fr .85fr;gap:24px}
 .dropdown-groups strong{font-size:14px;margin-bottom:8px}
 .header .dropdown-groups a{font-size:15px;line-height:1.5;padding:9px 0}
}
@media(min-width:851px) and (max-width:1100px){.service-dropdown{max-width:780px}.dropdown-groups{grid-template-columns:1fr 1fr;gap:22px 32px}}

/* Keep the hero badge above the fixed mobile call action. */
@media(max-width:600px){.night-bottom{bottom:max(60px,calc(900px - 100svh + env(safe-area-inset-bottom,0px)));}}
/* Readability and comfortable navigation, preserving the Night Shift composition. */
main p,.night-copy p,.category-heading p,.service-card p,.step p,.faq-list p{font-size:16px;line-height:1.7}
.service-directory-note,.service-jump a,.more-services a,.gallery-filters button{font-size:14px}
.request-form input,.request-form textarea,.request-form select{font-size:16px}
.request-form label,.request-form small{font-size:14px}
.footer-grid>div>a:not(.brand){font-size:14px;line-height:1.5;padding:9px 0;min-height:40px;display:block}
.footer-grid h3{font-size:15px}.footer-grid p{font-size:14px}.footer-bottom{font-size:12px}.footer-bottom a{display:inline-block;padding:10px 0}
.inner-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:25px}.inner-actions .button{margin:0}
#request-form{scroll-margin-top:120px}
@media(max-width:850px){.header .dropdown-groups a{font-size:14px;padding:11px 0}.dropdown-groups strong{font-size:14px}}
@media(max-width:600px){.night-copy p{max-width:none;font-size:16px}.inner-actions .button{font-size:14px}.footer-grid{gap:28px}}
.area-center img{width:76px;height:76px;object-fit:contain}
main p:not(.eyebrow):not(.small),.checks,.faq-list summary{font-size:16px;line-height:1.7}.request-form .small{font-size:14px!important}.footer-grid>div>span,.photo-caption,.area-towns>span{font-size:14px}.closing p{font-size:14px}.text-link{font-size:12px}

.brand img{object-fit:contain}
