/* Shared interface and approved DT identity. */
@font-face{font-family:Glacial;src:url('fonts/GlacialIndifference-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Glacial;src:url('fonts/GlacialIndifference-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
:root{--dt-brand-sage:#A1B39A;--dt-brand-forest:#0F2015;--dt-brand-forest-deep:#0F2015;--dt-brand-cream:#F2F4F2;--dt-brand-paper:#F8FAF8;--dt-brand-accent:#AD563D;--dt-brand-accent-strong:#87412E;--dt-brand-ink:#191C1B;--dt-brand-muted:#434843;--dt-brand-line:#C3C8C1}
html{font-size:100%;scroll-behavior:smooth;scroll-padding-top:110px;zoom:1}
body{margin:0;font-family:Glacial,Arial,sans-serif;background:var(--dt-brand-paper);color:var(--dt-brand-ink);font-size:17px;line-height:1.6}
body,h1,h2,h3,h4,.font-headline,.font-body,.font-label,.serif{font-family:Glacial,Arial,sans-serif}
h1,h2,h3{font-weight:700;line-height:1.12;letter-spacing:-.025em;text-wrap:balance}
p{ text-wrap:pretty }
button,input,textarea,select{font:inherit}
button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid var(--dt-brand-accent);outline-offset:4px}
[hidden]{display:none!important}
.site-icon{width:1.5em;height:1.5em;display:inline-block;vertical-align:middle;flex-shrink:0}
.skip-link{position:fixed;left:16px;top:12px;transform:translateY(-180%);z-index:100;background:var(--dt-brand-forest);color:white;padding:12px 20px;border-radius:8px}
.skip-link:focus{transform:translateY(0)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(248,250,248,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(15,32,21,.05)}
.site-navigation{max-width:1280px;min-height:100px;margin:auto;padding:12px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand-link{flex:0 0 auto}.brand-link img{width:210px;height:auto;display:block}
.desktop-links{display:flex;align-items:center;gap:28px}.desktop-links a{white-space:nowrap;font-size:17px;padding:12px 0;border-bottom:2px solid transparent}
.desktop-links a:hover,.desktop-links a[aria-current=page]{color:var(--dt-brand-accent-strong);border-color:var(--dt-brand-accent)}
.nav-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:13px 24px;border:1px solid transparent;border-radius:8px;font-weight:700;font-size:17px;line-height:1.3;text-align:center;cursor:pointer;text-decoration:none;transition:background-color .18s,color .18s}
.button-primary{background:var(--dt-brand-forest);color:#fff}.button-primary:hover{background:var(--dt-brand-forest-deep)}
.button-secondary{background:transparent;color:var(--dt-brand-forest);border-color:var(--dt-brand-sage)}.button-secondary:hover{background:var(--dt-brand-cream)}
.menu-toggle{display:none;align-items:center;justify-content:center;width:46px;height:46px;background:transparent;border:1px solid var(--dt-brand-line);border-radius:8px;color:var(--dt-brand-forest)}
.menu-toggle svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7}
.mobile-menu{border-top:1px solid rgba(15,32,21,.1);max-height:calc(100dvh - 80px);overflow-y:auto;padding:12px 24px 20px;background:transparent}
.mobile-menu nav{display:grid}.mobile-menu a{display:block;padding:13px 8px;border-radius:6px}.mobile-menu a[aria-current=page]{background:var(--dt-brand-cream);color:var(--dt-brand-accent-strong);font-weight:700}
.home-hero{background:var(--dt-brand-cream)}.home-hero-inner{max-width:1280px;margin:auto;padding:64px 32px;display:grid;grid-template-columns:1.12fr 1fr;gap:64px;align-items:center}
.home-hero h1{font-size:clamp(42px,4.9vw,70px);line-height:1.03;letter-spacing:-.045em;margin:22px 0 24px;color:var(--dt-brand-forest-deep)}
.eyebrow{font-size:12px;line-height:1.6;font-weight:700;text-transform:uppercase;letter-spacing:.17em;color:var(--dt-brand-accent-strong);margin:0 0 16px}
.lead{font-size:21px;line-height:1.6;max-width:640px;color:var(--dt-brand-muted)}
.hero-location{margin:16px 0 24px;color:var(--dt-brand-forest);font-size:16px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.hero-values{list-style:none;display:flex;gap:10px 18px;flex-wrap:wrap;margin:26px 0 0;padding:0;font-size:14px;color:var(--dt-brand-muted)}.hero-values li:before{content:'✓';color:var(--dt-brand-forest);margin-right:7px}
.home-hero-photo{position:relative;align-self:stretch;min-height:520px;border-radius:160px 160px 18px 18px;overflow:hidden;background:#e4e6dd}.home-hero-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 24%}.photo-caption{position:absolute;bottom:20px;left:20px;right:20px;background:rgba(255,253,249,.95);border-radius:6px;padding:10px 16px;font-size:15px;text-align:center;color:var(--dt-brand-forest)}
.page-shell{max-width:1216px;margin:0 auto;padding:64px 32px 96px}.page-intro{max-width:850px;margin:0 0 52px}.page-intro h1{font-size:clamp(40px,5vw,64px);margin:0 0 24px;color:var(--dt-brand-forest-deep)}
.service-layout,.booking-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:32px;align-items:start}.service-aside{display:grid;gap:24px;min-width:0}
.content-card{padding:36px;border:1px solid var(--dt-brand-line);border-radius:16px;background:white}.content-card h2{font-size:30px;margin:0 0 20px}.content-card p{margin:0 0 20px}.content-card p:last-child{margin-bottom:0}.content-card h3{font-size:23px;margin-bottom:8px}
.card-forest{background:var(--dt-brand-forest);color:white;border-color:transparent}.card-forest .eyebrow{color:#E0E9DB}.card-forest p{color:#EDF1EA}.text-link{text-decoration:underline;text-underline-offset:5px;font-weight:700}
.step-list{list-style:none;padding:0;margin:32px 0;counter-reset:step}.step-list li{position:relative;padding:0 0 28px 55px;counter-increment:step}.step-list li:before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:0;color:var(--dt-brand-accent-strong);font-size:24px;font-weight:700}.step-list li p{margin:0}
.small-note{font-size:15px;line-height:1.6;color:var(--dt-brand-muted)}.small-note a{text-decoration:underline;text-underline-offset:3px}.contact-number{display:block;font-size:28px;line-height:1.5;margin:8px 0 16px;font-weight:700}
.form-unavailable{padding:24px;background:var(--dt-brand-cream);border:1px solid var(--dt-brand-line);border-radius:10px;margin:24px 0}.form-unavailable a{text-decoration:underline;text-underline-offset:3px}.form-unavailable p{margin:8px 0 0}
.contact-form fieldset{border:0;padding:0}.contact-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-field{display:grid;gap:8px;margin-bottom:22px}.form-field label,.field-label{font-weight:700}.form-field label span{font-weight:400;color:var(--dt-brand-muted)}.form-field input,.form-field textarea,.form-field select{width:100%;background:white;border:1px solid #858d7f;border-radius:7px;padding:12px;color:var(--dt-brand-ink);font-size:17px}.form-field textarea{resize:vertical;min-height:130px}.check-label{display:flex;gap:12px;margin:20px 0;align-items:start}.check-label input{width:20px;height:20px;margin-top:4px;flex-shrink:0}.honeypot{display:none}.form-status:not(:empty){padding:16px;border-radius:8px;margin-top:20px;background:var(--dt-brand-cream)}.form-status-error{color:#8b2c22}.form-status-success{color:var(--dt-brand-forest)}button:disabled{opacity:.55;cursor:wait}
.map-panel{width:100%;height:100%;min-height:270px;padding:32px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(135deg,#E3EADC,#F2F4F2);gap:20px}.map-panel>.site-icon{width:46px;height:46px;color:var(--dt-brand-forest)}.map-address{font-size:19px;line-height:1.65}.map-panel .small-note{margin:0}
.faq-page .services-hero{padding:64px 24px 32px}.faq-page .faq-shell,.faq-list-shell{width:auto;max-width:920px;margin:0 auto}.faq-page-section{padding:0 24px 40px}.faq details{border-bottom:1px solid var(--dt-brand-line);padding:0}.faq summary{font-size:20px;line-height:1.4;font-weight:700;padding:22px 32px 22px 0;cursor:pointer;color:var(--dt-brand-forest)}.faq details p{font-size:18px;line-height:1.65;padding:0 0 24px;color:var(--dt-brand-muted);max-width:800px}.faq details a{text-decoration:underline}.faq details[open] summary{color:var(--dt-brand-accent-strong)}.faq-cta{max-width:920px;margin:0 auto;padding:24px 24px 80px}.faq-cta h2{font-size:30px;margin-bottom:24px}
.site-footer{border-top:1px solid var(--dt-brand-line);background:var(--dt-brand-cream);padding:48px 32px 24px}.footer-inner{max-width:1216px;margin:auto;display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:48px}.footer-inner img{width:210px;height:auto;margin-bottom:20px}.footer-inner p{font-size:16px;color:var(--dt-brand-muted)}.footer-inner h2{font-size:19px;margin:8px 0 20px}.footer-inner>div>a:not(:has(img)),.footer-inner nav a{display:block;min-height:44px;padding:8px 0;text-underline-offset:4px}.footer-inner a:hover{text-decoration:underline}.copyright{max-width:1216px;margin:32px auto 0;border-top:1px solid var(--dt-brand-line);padding-top:20px;font-size:14px;color:var(--dt-brand-muted)}
@media(max-width:1100px){.desktop-links{display:none}.menu-toggle{display:flex}.site-navigation{min-height:88px}.home-hero-inner{gap:32px}.home-hero h1{font-size:54px}}
@media(min-width:1101px){.mobile-menu{display:none}}
@media(max-width:767px){.site-navigation{min-height:78px;padding:12px 20px;gap:12px}.brand-link img{width:152px}.nav-actions{gap:8px}.nav-booking{min-height:44px;padding:10px 14px;font-size:15px}.home-hero-inner{padding:36px 24px 40px;grid-template-columns:1fr;gap:30px}.home-hero h1{font-size:clamp(39px,10vw,52px);margin:16px 0 20px}.home-hero .lead{font-size:20px}.home-hero-photo{min-height:380px;max-width:500px;width:100%;margin:auto;border-radius:110px 110px 16px 16px}.home-hero-photo img{object-position:center 23%}.hero-actions .button{flex:1 1 220px}.hero-values{font-size:14px;gap:8px 14px}.page-shell{padding:40px 24px 64px}.page-intro{margin-bottom:32px}.page-intro h1{font-size:40px}.service-layout,.booking-layout{grid-template-columns:1fr;gap:24px}.content-card{padding:24px}.content-card h2{font-size:27px}.contact-form .form-grid{grid-template-columns:1fr;gap:0}.footer-inner{grid-template-columns:1fr;gap:28px}.site-footer{padding:40px 24px 20px}.faq-page .services-hero{padding-top:40px}.faq-page h1{font-size:42px}.faq summary{font-size:19px}.map-panel{padding:24px;min-height:300px}main section.py-24{padding-top:56px;padding-bottom:56px}main .text-5xl{font-size:38px}main .px-8{padding-left:24px;padding-right:24px}main .p-10{padding:24px}main .gap-16{gap:32px}}
@media(max-width:359px){.site-navigation{padding-inline:12px}.brand-link img{width:130px}.nav-booking{padding-inline:11px}.nav-actions{gap:6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

.map-container{min-height:340px;display:flex}.map-container>.map-panel{height:auto;flex:1}
