:root{--ink:#080808;--muted:#595959;--paper:#fafafa;--silver:#eeeeee;--blue:#111111;--line:#d6d6d6;--body:Arial,Helvetica,sans-serif;--display:'Arial Narrow','Helvetica Neue',Arial,sans-serif;--width:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 var(--body)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #268de1;outline-offset:5px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--display);line-height:1.14;font-weight:500;letter-spacing:-.025em}h1{font-size:clamp(3rem,5vw,5.1rem)}h2{font-size:clamp(2rem,3vw,3rem)}h3{font-size:1.5rem}p{max-width:65ch}.wrap{max-width:var(--width);margin:0 auto;padding-left:36px;padding-right:36px}.section{padding-top:76px;padding-bottom:76px}.eyebrow{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;line-height:1.5;margin-bottom:19px;color:var(--muted)}.skip{position:fixed;left:20px;top:-100px;padding:12px 18px;z-index:100;background:#fff;color:var(--ink)}.skip:focus{top:12px}.header{position:sticky;top:0;z-index:30;height:84px;background:#080808;color:white;display:flex;align-items:center;gap:38px;padding:0 5.5%;border-bottom:1px solid #30363b}.brand{display:block;position:relative;width:217px;height:45px;overflow:hidden;flex-shrink:0}.brand img{position:absolute;top:50%;transform:translateY(-50%);width:100%;height:auto;max-width:none}.header nav{display:flex;margin-left:auto;gap:27px;font-size:.9rem}.header nav a{padding:9px 0;border-bottom:1px solid transparent}.header nav a[aria-current]{border-color:#dddddd}.header nav a:hover{color:#dddddd}.header-call{font-size:.85rem;border:1px solid #6f7b83;padding:10px 18px;white-space:nowrap}.header-call:hover{background:white;color:var(--ink)}.menu-button{display:none}.button{display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:14px 23px;font-size:.9rem;font-weight:700;min-height:52px;border:1px solid transparent;border-radius:2px;line-height:1.45}.button-light{background:white;color:var(--ink)}.button-light:hover{background:#eeeeee}.button-outline{border-color:#afbcc6;color:white;background:transparent}.button-outline:hover{background:#ffffff17}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:var(--blue)}.button-secondary{border-color:var(--ink)}.text-link{display:inline-block;text-decoration:underline;text-underline-offset:5px;font-size:.9rem;font-weight:600;padding:8px 0}.text-link:hover{color:#444444}.hero{position:relative;min-height:600px;height:min(740px,calc(100svh - 84px));overflow:hidden;background:var(--ink);color:white;display:flex;align-items:center}.hero video,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,#080808ed,#080808c9 40%,#08080814 76%)}.hero-content{position:relative;width:100%;padding:55px 5.5% 85px;z-index:1}.hero .eyebrow{color:#dddddd}.hero h1{font-size:clamp(3.5rem,5.5vw,5.8rem);line-height:1.03;max-width:680px;letter-spacing:-.035em}.hero-description{max-width:500px;color:#e1e9ee;font-size:1rem;margin-top:25px}.hero-actions{display:flex;flex-wrap:wrap;gap:15px;margin-top:30px}.video-toggle{position:absolute;right:5.5%;bottom:25px;z-index:2;padding:9px 14px;border:1px solid #a8b6c0;background:#11111199;color:#fff;font-size:.8rem}.credentials{display:flex;align-items:center;justify-content:space-between;padding:21px 5.5%;gap:25px;background:var(--silver);font-size:.86rem}.credentials a{text-decoration:underline;text-underline-offset:4px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:35px}.section-heading h2{max-width:650px}.section-heading>.text-link{white-space:nowrap}.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.service-card{padding:28px 25px;background:white;border:1px solid var(--line);border-top:3px solid var(--blue)}.service-card h3{font-size:1.55rem}.service-card>p{margin-top:18px;color:var(--muted);font-size:.95rem}.service-card ul{list-style:none;margin:22px 0 0;padding:0}.service-card li{border-top:1px solid var(--line)}.service-card li a{display:block;padding:11px 0;font-size:.9rem;text-decoration:underline;text-underline-offset:4px}.about-preview{display:grid;grid-template-columns:.82fr 1fr;gap:9%;align-items:center;border-top:1px solid var(--line)}.about-preview img{height:470px;width:100%;object-fit:cover;object-position:center 32%}.about-preview p:not(.eyebrow){color:var(--muted);margin-top:23px}.about-preview .text-link{margin-top:20px}.area-section{background:var(--silver)}.area-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;align-items:start}.area-grid p{color:var(--muted);margin-top:17px}.area-grid>div>p:first-child{margin-top:0}.cities{display:flex;flex-wrap:wrap;gap:8px 20px;list-style:none;padding:0;margin:22px 0;font-size:.94rem}.faq-grid{display:grid;grid-template-columns:.7fr 1fr;gap:10%}.faq{border-top:1px solid var(--line);padding:0}.faq:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-size:1rem;font-weight:600;padding:20px 25px 20px 0;line-height:1.5}.faq p{font-size:.95rem;color:var(--muted);padding:0 0 23px}.contact-band{background:var(--blue);color:white;padding:55px max(5.5%,calc((100vw - 1168px)/2));display:flex;align-items:center;justify-content:space-between;gap:50px}.contact-band h2{font-size:2.4rem}.contact-band p{font-size:.95rem;color:#d2e0ea;margin-top:16px;max-width:490px}.cta-actions{display:flex;gap:12px;flex-wrap:wrap;flex-shrink:0}.footer{background:#080808;color:white;padding:40px 5.5% 25px}.footer-main{display:flex;gap:40px;align-items:center;justify-content:space-between}.footer nav{display:flex;gap:24px;font-size:.9rem}.footer-contact{display:flex;flex-direction:column;align-items:flex-end;font-size:.9rem;gap:8px}.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:15px;border-top:1px solid #30383e;padding-top:22px;margin-top:30px;font-size:.75rem;color:#aab6c0}.footer-bottom a{text-decoration:underline;text-underline-offset:4px}.footer-bottom span{width:100%;font-size:.75rem}.mobile-contact{display:none}.page-intro{padding-top:32px;padding-bottom:48px;border-bottom:1px solid var(--line)}.breadcrumbs{display:flex;gap:13px;margin-bottom:38px;font-size:.85rem;color:var(--muted)}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}.page-intro h1{max-width:900px}.page-intro>p{margin-top:23px;font-size:1.08rem;color:var(--muted);max-width:680px}.service-jump{display:flex;flex-wrap:wrap;gap:16px 28px;padding:28px 0;font-size:.92rem}.service-jump a{padding:9px 0;text-decoration:underline;text-underline-offset:5px}.draft-note{background:var(--silver);border-left:3px solid #7d919f;padding:15px 20px;font-size:.85rem;color:#465864;margin-bottom:35px}.service-groups{padding-bottom:70px}.service-group{scroll-margin-top:115px;padding-top:25px}.service-group+ .service-group{margin-top:35px}.service-group h2{font-size:2.3rem;border-bottom:2px solid var(--ink);padding-bottom:20px}.service-detail{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px 55px;padding:32px 0;border-bottom:1px solid var(--line);scroll-margin-top:115px}.service-detail h3{font-size:1.7rem}.service-detail>p{color:var(--muted);font-size:.96rem}.service-detail>.text-link{grid-column:2}.service-tags{display:flex;flex-wrap:wrap;gap:4px 14px;list-style:none;padding:0;margin:16px 0 0;font-size:.78rem;color:var(--muted)}.service-tags li{padding-left:10px;position:relative}.service-tags li::before{content:'';position:absolute;left:0;top:.78em;width:3px;height:3px;background:currentColor}.company{display:grid;grid-template-columns:1fr .8fr;gap:9%;align-items:start}.company>div>p{margin-top:24px;color:var(--muted)}.company figure img{height:550px;width:100%;object-fit:cover;object-position:center 28%}.company figcaption{font-size:.8rem;color:var(--muted);padding-top:12px}.business-facts{margin:30px 0}.business-facts>div{display:grid;grid-template-columns:115px 1fr;gap:20px;padding:15px 0;border-top:1px solid var(--line);font-size:.95rem}.business-facts>div:last-child{border-bottom:1px solid var(--line)}dt{color:var(--muted)}dd{margin:0}dd a{text-decoration:underline;text-underline-offset:4px}.pending-section{background:var(--silver)}.section-intro{margin-top:20px;color:var(--muted)}.placeholder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:32px}.placeholder{border:1px dashed #a1b1bd;padding:25px;background:#fafafa80}.placeholder-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);display:block;margin-bottom:20px}.placeholder h3{font-size:1.5rem}.placeholder p{color:var(--muted);font-size:.9rem;margin-top:16px}.contact-grid{display:grid;grid-template-columns:1fr .9fr;gap:12%;align-items:start}.contact-options h2{margin-bottom:27px}.contact-option{border-top:1px solid var(--line);padding:23px 0}.contact-option:last-child{border-bottom:1px solid var(--line)}.contact-option h3{font:600 .86rem/1.5 var(--body);color:var(--muted);margin-bottom:7px}.contact-option p{color:var(--muted);font-size:.9rem;margin-top:6px}.large-phone{font-size:2.1rem;font-family:var(--display);line-height:1.3}.pending-value{font-size:.92rem;color:var(--muted);font-style:italic}.inquiry-info{background:var(--silver);padding:35px}.inquiry-info h2{font-size:2rem}.inquiry-info>p{margin-top:17px;color:var(--muted);font-size:.95rem}.inquiry-info ul{padding-left:20px;margin:22px 0;color:var(--muted);font-size:.95rem}.inquiry-info li+li{margin-top:10px}.request-status{border-top:1px solid #adbdc8;padding-top:22px;margin-top:27px}.request-status h3{font-size:1.3rem}.request-status p{font-size:.9rem;color:var(--muted);margin-top:12px}.inquiry-info>.button{margin-top:25px}.error-actions{display:flex;gap:20px;padding-top:45px;padding-bottom:100px}
@media(min-width:1500px){.hero-content{padding-left:max(5.5%,calc((100vw - 1168px)/2))}}
@media(max-width:1050px){.header{gap:25px;padding:0 4%}.brand{width:190px}.header nav{gap:20px}.hero h1{font-size:4.6rem;max-width:530px}.hero-description{max-width:440px}.service-cards{gap:16px}.service-card{padding:24px 19px}.contact-band{display:block}.cta-actions{margin-top:25px}.company{gap:6%}.contact-grid{gap:7%}.footer-main{flex-wrap:wrap}.footer-contact{align-items:flex-start;flex-direction:row;gap:30px}.placeholder-grid{gap:18px}}
@media(max-width:760px){html{scroll-padding-top:90px}body{padding-bottom:58px}.wrap{padding-left:23px;padding-right:23px}.section{padding-top:50px;padding-bottom:50px}.header{height:70px;padding:0 23px;gap:13px}.brand{width:160px;height:40px}.header-call{display:none}.menu-button{display:block;margin-left:auto;border:1px solid #71808b;color:white;background:transparent;padding:9px 14px;font-size:.85rem}.header nav{display:none;position:absolute;top:70px;left:0;right:0;padding:18px 23px 25px;background:#080808;border-top:1px solid #30363b}.header nav.is-open{display:flex;flex-direction:column;gap:12px}.header nav a{font-size:1rem}.hero{height:calc(100svh - 128px);min-height:620px;max-height:820px;align-items:flex-end}.hero-shade{background:linear-gradient(0deg,#080808f5,#080808c7 52%,#08080830)}.hero-content{padding:110px 23px 80px}.hero .eyebrow{font-size:.75rem;max-width:280px;margin-bottom:20px}.hero h1{font-size:clamp(2.8rem,9.9vw,4.1rem);line-height:1.08;max-width:460px}.hero-description{font-size:.95rem;max-width:460px;margin-top:21px}.hero-actions{gap:11px;margin-top:24px}.hero-actions .button{width:100%;font-size:.87rem;min-height:48px;padding:13px 18px}.video-toggle{right:23px;bottom:20px;font-size:.75rem;padding:7px 12px}.credentials{padding:20px 23px;flex-wrap:wrap;gap:6px 24px;font-size:.78rem}.credentials a{width:100%}.section-heading{display:block;margin-bottom:26px}.section-heading h2{font-size:2.2rem;max-width:430px}.section-heading>.text-link{margin-top:18px}.service-cards{display:block}.service-card{padding:25px;margin-top:18px}.service-card h3{font-size:1.55rem}.service-card>p{font-size:1rem}.service-card li a{font-size:.94rem;padding:12px 0}.about-preview{display:flex;flex-direction:column;gap:30px}.about-preview img{height:360px;max-width:450px;align-self:flex-start;object-position:center 30%}.about-preview h2{font-size:2.25rem}.about-preview p:not(.eyebrow){margin-top:20px}.area-grid{display:block}.area-grid>div+div{margin-top:25px}.area-grid h2{font-size:2.2rem}.cities{font-size:.9rem}.faq-grid{display:block}.faq-grid>div{margin-top:28px}.faq summary{font-size:.97rem}.contact-band{padding:40px 23px}.contact-band h2{font-size:2.1rem}.cta-actions{flex-direction:column;align-items:stretch}.cta-actions .button{font-size:.9rem}.footer{padding:35px 23px 25px}.footer-main{display:block}.footer nav{flex-wrap:wrap;gap:12px 23px;margin-top:25px;font-size:.9rem}.footer-contact{margin-top:25px;flex-wrap:wrap;gap:15px 25px}.footer-bottom{display:block;font-size:.8rem;line-height:1.7}.footer-bottom>*{display:block;margin-bottom:12px}.mobile-contact{position:fixed;bottom:0;left:0;right:0;z-index:35;height:58px;display:flex;background:white;box-shadow:0 -2px 10px #0c18201c;padding-bottom:env(safe-area-inset-bottom)}.mobile-contact a{display:flex;justify-content:center;align-items:center;width:50%;font-size:.85rem;font-weight:700;padding:16px 10px}.mobile-contact a:first-child{background:var(--blue);color:white}.page-intro{padding-top:25px;padding-bottom:32px}.breadcrumbs{margin-bottom:28px;font-size:.8rem}.page-intro h1{font-size:2.9rem}.page-intro>p{font-size:1rem;margin-top:19px}.service-jump{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:18px 0}.service-jump a{font-size:.9rem;padding:10px 0}.draft-note{font-size:.82rem;padding:15px;margin-bottom:15px}.service-groups{padding-bottom:40px}.service-group{padding-top:25px;scroll-margin-top:90px}.service-group h2{font-size:2rem}.service-detail{display:block;padding:26px 0;scroll-margin-top:95px}.service-detail h3{font-size:1.65rem}.service-tags{margin:13px 0 18px;font-size:.82rem}.service-detail>.text-link{margin-top:14px}.service-detail>p{font-size:1rem}.company{display:block}.company>figure{margin-top:35px}.company figure img{height:410px;max-width:440px}.business-facts>div{grid-template-columns:90px 1fr;gap:15px;font-size:.9rem}.placeholder-grid{display:block;margin-top:25px}.placeholder+.placeholder{margin-top:20px}.contact-grid{display:block}.contact-options h2{font-size:2rem}.large-phone{font-size:2rem}.inquiry-info{margin-top:35px;padding:28px 23px}.inquiry-info ul{font-size:.95rem}.contact-option{padding:22px 0}.error-actions{flex-wrap:wrap;padding-bottom:70px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* One offset accounts for the sticky header on service jump links. */
.service-group,.service-detail{scroll-margin-top:0}
.text-link{min-height:44px}
@media(max-width:760px){.menu-button{min-height:44px}.footer nav a,.footer-contact a{min-height:44px;display:inline-flex;align-items:center}.footer nav{row-gap:0}.footer-contact{row-gap:0}}
/* Keep the first view lightweight and readable before video playback. */
.hero-poster{position:absolute;inset:0;display:block}
.hero-poster img{width:100%;height:100%;object-fit:cover}
.hero video{opacity:0}
.hero video.is-playing{opacity:1}
.video-toggle{min-width:100px;min-height:44px;background:#111111e6}
.video-toggle[hidden]{display:none}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
:focus-visible{scroll-margin-block:110px 80px}
@media(max-width:760px){
  body{padding-bottom:calc(58px + env(safe-area-inset-bottom))}
  html{scroll-padding-bottom:calc(78px + env(safe-area-inset-bottom))}
  .hero{height:auto;min-height:calc(100svh - 128px);max-height:none}
  .hero-content{padding:66px 23px 82px}
  .hero h1{font-size:clamp(2.45rem,9vw,4.1rem)}
  .hero-shade{background:linear-gradient(0deg,#080808f5,#080808d9 52%,#08080880)}
  .mobile-contact{height:calc(58px + env(safe-area-inset-bottom))}
  .mobile-contact a{min-height:58px}
  .video-toggle{bottom:18px}
  .header nav.is-open{max-height:calc(100svh - 148px);overflow-y:auto}
  html:not(.js) .header{height:auto;min-height:70px;flex-wrap:wrap;padding-block:15px}
  html:not(.js) .menu-button{display:none}
  html:not(.js) .header nav{position:static;display:flex;flex-wrap:wrap;width:100%;padding:10px 0 0;gap:10px 24px}
}

/* BNG black theme and service booking. */
:root{--ink:#ffffff;--muted:#c5c5c5;--paper:#000000;--silver:#000000;--blue:#000000;--line:#363636}
body,.header,.footer,.service-card,.credentials,.area-section,.contact-band,.pending-section,.inquiry-info,.mobile-contact,.header nav{background:#000;color:#fff}
.service-card{border-top-color:#fff}
.button-light,.button-dark{background:#fff;color:#000;border-color:#fff}
.button-light:hover,.button-dark:hover{background:#dedede;color:#000}
.button-outline,.button-secondary,.header-call{background:#000;color:#fff;border-color:#888}
.button-outline:hover,.button-secondary:hover,.header-call:hover{background:#fff;color:#000}
.text-link:hover,.header nav a:hover{color:#ddd}
.hero-actions{display:grid;grid-template-columns:auto auto;width:fit-content;max-width:100%;gap:14px}
.hero-book{grid-column:1/-1;width:100%}
.service-card li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px;padding:10px 0}
.service-card li a:not(.service-book){flex:1;min-width:120px}
.service-card li a.service-book{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border:1px solid #777;text-decoration:none;white-space:nowrap;font-size:.8rem}
.service-book:hover{background:#fff;color:#000}
.service-detail-actions{grid-column:2;display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.service-page-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:8%;align-items:start}
.service-page-copy{margin:24px 0;color:var(--muted)}
.service-page-grid h3{margin-top:35px}
.service-booking{border:1px solid var(--line)}
.service-booking .button{display:flex;width:100%;margin-top:24px}
.service-booking .large-phone{display:block;margin-top:25px;font-size:1.8rem}
.mobile-contact a:first-child,.mobile-contact a.mobile-book{background:#000;color:#fff}
.mobile-contact a.mobile-book{border-left:1px solid #555}
.mobile-contact{border-top:1px solid #555}
.contact-band,.credentials,.footer{border-top:1px solid var(--line)}
.skip{background:#fff;color:#000}
@media(max-width:760px){.hero-actions{grid-template-columns:1fr;width:100%}.hero-book{grid-column:1}.service-detail-actions{margin-top:20px}.service-page-grid{display:block}.service-booking{margin-top:35px}}

/* Minimal monochrome presentation across every page. */
.footer-legal{display:flex;flex-wrap:wrap;gap:8px 24px}
.footer-legal a{padding-block:10px;text-decoration:underline;text-underline-offset:4px}
.footer-bottom{flex-wrap:wrap;gap:16px 28px;align-items:center}
.policy-layout{display:grid;grid-template-columns:260px minmax(0,720px);gap:8%;padding-bottom:96px}
.policy-contents{border-top:1px solid var(--line);padding-top:24px}
.policy-date{font-size:.8rem;color:var(--muted);margin:0 0 30px}
.policy-contents h2{font-size:1rem;letter-spacing:0;margin-bottom:12px}
.policy-contents ol{list-style:none;padding:0;margin:0}
.policy-contents li{margin:0}
.policy-contents a{display:block;padding:8px 0;font-size:.85rem;color:var(--muted)}
.policy-contents a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.policy-section{border-top:1px solid var(--line);padding:28px 0 34px;scroll-margin-top:120px}
.policy-section h2{font-size:1.65rem;line-height:1.25;margin:0 0 20px}
.policy-section p,.policy-section li{color:var(--muted);font-size:1rem;line-height:1.8}
.policy-section p{margin:0 0 16px}
.policy-section p:last-child{margin-bottom:0}
.policy-section ul{padding-left:22px;margin:0}
.policy-section li+li{margin-top:16px}
.policy-section strong{color:#fff;font-weight:600}
.policy-section a{color:#fff;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
@media(max-width:760px){.policy-layout{grid-template-columns:1fr;gap:36px;padding-bottom:56px}.policy-contents ol{columns:2;column-gap:24px}.policy-contents li{break-inside:avoid}.policy-section{scroll-margin-top:90px}.footer-legal{gap:8px 20px}}
:root{color-scheme:dark;--ink:#fff;--muted:#d4d4d4;--paper:#000;--silver:#000;--blue:#000;--line:#2b2b2b;--display:'Helvetica Neue',Arial,sans-serif}
body{background:#000;color:#fff}
::selection{background:#fff;color:#000}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #fff;outline-offset:6px}
.header,.header nav,.footer,.credentials,.area-section,.contact-band,.pending-section,.inquiry-info,.mobile-contact,.service-card{background:#000;color:#fff}
.header{border-bottom-color:var(--line)}
.header nav a[aria-current]{border-color:#fff}
.header nav a:hover,.text-link:hover{color:#fff}
h1,h2,h3{font-weight:500;letter-spacing:-.045em}
h1{font-size:clamp(3rem,5.7vw,5.5rem)}
.eyebrow{color:#d4d4d4;letter-spacing:.13em;font-size:.72rem}
.section{padding-top:88px;padding-bottom:88px}
.button,.header-call,.menu-button,.video-toggle,.service-card li a.service-book{border-radius:0;box-shadow:none}
.button-light,.button-dark{background:#000;color:#fff;border:1px solid #fff}
.button-outline,.button-secondary,.header-call,.menu-button,.video-toggle{background:#000;color:#fff;border-color:#666}
.button-light:hover,.button-dark:hover,.button-outline:hover,.button-secondary:hover,.header-call:hover,.service-book:hover,.video-toggle:hover{background:#151515;color:#fff;border-color:#fff}
.hero{background:#000;border-bottom:1px solid var(--line)}
.hero-poster img{opacity:.32}
.hero video.is-playing{opacity:.4}
.hero-shade{background:linear-gradient(90deg,#000 4%,#000b 43%,#0002 100%)}
.hero .eyebrow,.hero-description,.contact-band p{color:#eee}
.hero h1{font-size:clamp(3.6rem,6.1vw,5.9rem);font-weight:500;line-height:1.04;max-width:760px}
.hero-actions{gap:12px}
.video-toggle{font-size:.75rem;letter-spacing:.025em}
.credentials{font-size:.77rem;letter-spacing:.02em;border-top:0;border-bottom:1px solid var(--line);padding-block:23px}
.section-heading{margin-bottom:44px}
.service-cards{gap:36px}
.service-card{border:0;border-top:1px solid #666;padding:28px 0 0}
.service-card>p{color:var(--muted)}
.service-card li a.service-book{border-color:#555;font-size:.75rem}
.service-card li a.service-book:hover{border-color:#fff}
.about-preview,.area-section,.pending-section{border-top:1px solid var(--line)}
.faq summary{font-weight:500}
.contact-band{padding-top:70px;padding-bottom:70px;border-block:1px solid var(--line)}
.footer{border-top:0;padding-top:54px}
.footer-bottom{color:#d4d4d4;border-color:var(--line)}
.page-intro{padding-top:48px;padding-bottom:62px}
.page-intro>p{color:var(--muted)}
.breadcrumbs{font-size:.75rem;letter-spacing:.035em;margin-bottom:48px}
.draft-note{background:#000;color:#d4d4d4;border-left:1px solid #666;padding:12px 20px}
.service-group h2{border-bottom:1px solid #666;padding-bottom:24px}
.service-detail{padding-block:38px}
.service-detail-actions{gap:28px}
.placeholder{background:#000;border:1px solid var(--line)}
.placeholder-label{color:var(--muted)}
.inquiry-info{padding:32px;border:1px solid var(--line)}
.request-status{border-color:var(--line)}
.mobile-contact{border-color:#444;box-shadow:none}
.mobile-contact a,.mobile-contact a:first-child,.mobile-contact a.mobile-book{background:#000;color:#fff}
.mobile-contact a:hover{background:#151515}
.mobile-contact a.mobile-book{border-color:#444}
@media(max-width:760px){
  .section{padding-top:56px;padding-bottom:56px}
  .header nav{border-color:var(--line)}
  .hero h1{font-size:clamp(2.45rem,9vw,4.1rem);line-height:1.08}
  .hero-content{padding-top:66px;padding-bottom:88px}
  .hero-shade{background:linear-gradient(0deg,#000e,#0008 75%,#0005)}
  .credentials{gap:10px 22px;padding-block:24px}
  .section-heading{margin-bottom:32px}
  .service-card{padding:25px 0 0;margin-top:32px}
  .service-card:first-child{margin-top:0}
  .contact-band{padding-top:48px;padding-bottom:48px}
  .page-intro{padding-top:28px;padding-bottom:38px}
  .breadcrumbs{margin-bottom:30px}
  .page-intro h1{font-size:clamp(2.45rem,10vw,3.4rem)}
  .service-detail{padding-block:30px}
  .inquiry-info{padding:28px 23px}
}
