:root{--copper:#ad7c60;--accent:#bb8a70;--paper:#ece7df;--ink:#202323;--container:1180px;--body-font:Arial,Helvetica,sans-serif;--heading-font:Georgia,'Times New Roman',serif;--radius:2px;--line:rgba(173,124,96,.52)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body-font);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--copper);outline-offset:5px}img,svg{display:block;max-width:100%}img{height:auto}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{font-family:var(--heading-font);font-weight:400;line-height:1.12}p+p{margin-top:1em}[hidden]{display:none!important}.container{width:min(calc(100% - 6.2vw),var(--container));margin-inline:auto}.icon{width:22px;height:22px;flex-shrink:0;display:inline-block;vertical-align:middle}.skip-link{position:fixed;left:16px;top:-100px;z-index:100;background:var(--paper);color:var(--ink);padding:12px 18px}.skip-link:focus{top:16px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:12px 24px;border:1px solid transparent;border-radius:var(--radius);font-size:14px;font-weight:500;line-height:1.2;text-align:center;transition:background .2s,color .2s,border-color .2s,transform .2s}.button-primary{background:var(--copper);color:#fff}.button-primary:hover{background:color-mix(in srgb,var(--copper),#000 12%)}.button-light{background:var(--paper);color:var(--ink)}.button-light:hover{background:#fff}.button-outline{color:inherit;border-color:currentColor;background:transparent}.button-outline:hover{background:rgba(173,124,96,.1)}.button .icon{width:22px;height:22px}.button-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.text-link{display:inline-flex;align-items:center;gap:18px;padding-bottom:5px;border-bottom:1px solid var(--line);font-size:13px}.text-link:hover{color:var(--copper)}.eyebrow{font-size:13px;font-weight:600;letter-spacing:.075em;color:var(--copper);margin-bottom:8px}.photo-crop{overflow:hidden;isolation:isolate}.responsive-media,.desktop-media,.mobile-media{display:block;width:100%;height:100%}.mobile-media{display:none}
/* Header and reference hero */
.site-header{background:#1c1f1e;color:var(--paper);position:relative;z-index:10}.header-inner{width:min(calc(100% - 6.2vw),calc(var(--container) + 8px));margin:auto;min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;width:330px;min-width:190px;max-width:34%;align-items:center;flex-shrink:0;padding-right:26px;border-right:1px solid var(--copper)}.brand-image,.brand img,.brand svg{width:100%;height:auto;max-height:72px;object-fit:contain;object-position:left center}.desktop-navigation{display:flex;align-items:center;justify-content:center;gap:29px;white-space:nowrap}.desktop-navigation a{font-size:14px;position:relative;padding-block:14px}.desktop-navigation a:after{content:"";position:absolute;height:1px;background:var(--copper);left:0;right:100%;bottom:8px;transition:right .2s}.desktop-navigation a:hover:after{right:0}.header-actions{display:flex;gap:12px;align-items:center;flex-shrink:0}.header-actions .button{font-size:13px;padding:12px 19px;min-height:44px}.menu-toggle,.menu-close{border:0;background:transparent;color:inherit;width:44px;height:44px;align-items:center;justify-content:center;padding:10px}.menu-toggle{display:none}.mobile-nav-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.64);z-index:29}.mobile-navigation{position:fixed;inset:0 0 0 auto;width:min(88%,360px);z-index:30;padding:80px 28px 30px;background:var(--ink);color:var(--paper);box-shadow:-20px 0 80px #0005}.mobile-navigation>a{display:block;padding:17px 0;border-bottom:1px solid #fff2;font-size:18px}.mobile-navigation>.button{display:flex;margin-top:30px;padding:16px}.menu-close{position:absolute;right:20px;top:18px}.hero{position:relative;overflow:hidden;isolation:isolate;background:#171c1c;color:var(--paper);min-height:320px;height:clamp(320px,43vw,550px)}.hero-media{position:absolute;inset:0 0 0 37%;z-index:-2}.hero-media>img,.hero-media>svg,.hero-media .responsive-media img,.hero-media .responsive-media svg{width:100%;height:100%;object-fit:cover;object-position:right center}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#171b1b 0%,rgba(23,27,27,.96) 25%,rgba(23,27,27,.85) 38%,rgba(23,27,27,.3) 55%,transparent 72%)}.hero-content{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:30px 1.7%;position:relative}.hero h1{font-size:clamp(43px,6.15vw,77px);letter-spacing:-.035em;line-height:1.01;max-width:650px}.hero-location{font-family:var(--heading-font);font-size:clamp(20px,2.6vw,30px);line-height:1.3;margin-top:24px}.hero-location:before{display:block;content:"";width:42px;height:2px;background:var(--copper);margin-bottom:17px}.hero .button-row{margin-top:25px}.hero .button{min-width:190px;font-size:17px;min-height:56px}.hero-eyebrow{font-size:14px;color:var(--accent);margin-top:18px}.hero>.container:last-child:empty{display:none}
/* Services */
.section{padding:50px 0}.section>.container>h2{font-size:clamp(29px,4.4vw,47px);margin-bottom:26px}.section-description{max-width:780px;margin-bottom:28px;font-size:16px}.section-services{padding:55px 0 30px}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:25px;row-gap:36px}.service-card{min-width:0}.service-photo{display:block;width:100%;aspect-ratio:344/263;overflow:hidden;background:#d7d2ca;border-radius:var(--radius)}.service-photo img,.service-photo svg{width:100%;height:100%;object-fit:cover}.service-copy{border-left:2px solid var(--copper);margin:22px 12px 0;padding-left:23px}.service-copy h2{font-size:clamp(29px,4.3vw,44px);font-weight:600;letter-spacing:-.035em}.service-copy h2 a:hover{color:var(--copper)}.service-copy p{font-size:15px;margin-top:8px;line-height:1.4}.service-copy .text-link{margin-top:18px}.home-service-grid{row-gap:44px}.compact-service{position:relative;display:flex;align-items:center;min-height:130px;gap:18px;padding:20px 20px 20px 12px;border-top:1px solid var(--line);border-bottom:1px solid #2428281c}.compact-service:nth-child(2n+1):after{content:"";position:absolute;right:-13px;top:34px;bottom:34px;border-right:2px solid var(--line)}.compact-service .service-photo{width:42%;height:98px;aspect-ratio:auto;flex-shrink:0;background:transparent}.compact-service .service-photo img,.compact-service .service-photo svg{object-fit:contain}.compact-service .service-copy{border:0;padding:0;margin:0}.compact-service h2{font-size:clamp(20px,2.9vw,30px);letter-spacing:-.025em;white-space:nowrap}.service-card.no-photo .service-photo{display:none}
/* Four numbered process rows */
.section-process,.section-steps{background:radial-gradient(ellipse at 65% 0,#30343233,transparent 70%),var(--ink);color:var(--paper);padding:35px 0 32px}.section-process .container,.section-steps .container{width:min(calc(100% - 6.2vw),var(--container))}.section-process .eyebrow,.section-process>.container>h2,.section-steps>.container>h2{margin-left:2%}.section-process .eyebrow{font-size:16px;margin-bottom:6px}.section-process>.container>h2,.section-steps>.container>h2{font-size:clamp(31px,4.4vw,48px);margin-bottom:28px}.process-row{display:grid;grid-template-columns:16% 39% 45%;align-items:center;padding:15px 0;border-bottom:2px solid #ad7c6088;min-height:160px}.process-row:last-child{border-bottom:0;padding-bottom:0}.step-number{font-family:var(--heading-font);font-size:clamp(64px,8.9vw,100px);line-height:1;color:var(--copper);letter-spacing:-.065em;padding-left:12%;border-right:1px solid var(--copper)}.step-copy{padding:4px 28px 4px 30px}.step-copy h3{font-size:clamp(25px,3.5vw,36px);margin-bottom:8px;letter-spacing:-.015em}.step-copy p{font-size:16px;line-height:1.4;max-width:280px}.step-photo{height:clamp(95px,12.8vw,155px);overflow:hidden;position:relative}.step-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--ink),transparent 28%);pointer-events:none}.step-photo img,.step-photo svg{width:100%;height:100%;object-fit:cover}.step-extra{grid-column:2/-1;padding:20px 0}.step-extra .section-gallery{margin-top:18px}
/* Regions and questions */
.section-regions{padding:32px 0 18px}.section-regions>.container>h2{font-size:clamp(30px,4.2vw,42px);font-weight:600;letter-spacing:-.035em;margin:0 2% 22px}.region-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:4px 0 31px;border-bottom:1px solid var(--line)}.region-links>a{display:flex;align-items:center;justify-content:center;gap:14px;font-family:var(--heading-font);font-size:clamp(21px,2.8vw,29px);font-weight:600;min-height:42px}.region-links>a+a{border-left:2px solid var(--line)}.region-links .icon{width:26px;height:29px;color:var(--copper);fill:var(--copper);stroke:var(--paper);stroke-width:.8}.region-links .icon circle{fill:var(--paper);stroke:var(--paper)}.region-links a:hover span{color:var(--copper)}.section-faq{padding:9px 0 47px}.section-faq>.container>h2{font-size:clamp(30px,4.2vw,42px);font-weight:600;letter-spacing:-.035em;margin:0 2% 20px}.faq-list{display:grid;gap:8px}.section-faq .faq-list{margin:0 1.8%}.faq-item{border:1px solid #292e2c24;border-radius:var(--radius)}.faq-item summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;padding:10px 20px;font-family:var(--heading-font);font-size:19px;font-weight:600;line-height:1.3;min-height:46px}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary .icon{width:20px;height:20px;transition:transform .2s;flex-shrink:0;opacity:.75}.faq-item[open] summary .icon{transform:rotate(180deg)}.faq-answer{padding:5px 20px 20px;font-size:15px!important}.faq-item[open]{background:#ffffff25}
/* Appointment and footer */
.appointment-strip{background:var(--copper);color:var(--paper);padding:32px 0}.appointment-inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;padding-inline:2.2%}.appointment-icon .icon{width:43px;height:43px;stroke-width:1.2}.appointment-copy h2{font-size:clamp(28px,3.9vw,40px);letter-spacing:-.02em}.appointment-copy .section-description{font-size:16px;margin:7px 0 0;line-height:1.35}.appointment-copy .eyebrow{color:inherit}.appointment-action{padding-left:48px;margin-left:24px;border-left:1px solid #f0e9ddaa;display:flex;gap:12px;flex-wrap:wrap}.appointment-action .button{min-width:245px;min-height:55px;font-size:17px}.appointment-action .icon{width:26px;height:26px}.site-footer{background:radial-gradient(ellipse at 25% 0,#383b3538,transparent 60%),var(--ink);color:var(--paper);padding:35px 0 24px}.footer-main{display:grid;grid-template-columns:1.6fr 1fr 1.1fr .8fr .85fr 1.2fr;gap:28px;padding:0 0 34px;align-items:start}.footer-brand{border-right:1px solid var(--copper);padding-right:26px;min-width:0}.footer-brand a{display:block;max-width:220px;margin-inline:auto}.footer-brand img,.footer-brand svg{width:100%;height:auto;max-height:170px;object-fit:contain}.footer-brand p{font-size:12px;line-height:1.5;margin-top:16px}.footer-main>div:not(.footer-brand){padding-top:14px}.footer-main h2{font-family:var(--body-font);font-size:16px;font-weight:600;line-height:1.3;margin-bottom:14px}.footer-links{display:flex;flex-direction:column;gap:6px;font-size:14px;line-height:1.45}.footer-links a:hover,.footer-page-links a:hover{color:var(--accent)}.footer-appointment{align-self:center}.footer-appointment .button{font-size:13px;padding:11px 15px;white-space:nowrap;min-height:40px}.footer-nap{border-top:1px solid var(--copper);padding:22px 0!important}.example-note{font-size:11px;letter-spacing:.04em;color:var(--copper);margin-bottom:14px}.footer-nap .example-note{color:var(--accent)}.contact-data{margin:0;display:grid;gap:23px}.contact-data dt{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.03em;opacity:.7;margin-bottom:6px}.contact-data dt .icon{width:16px;height:16px}.contact-data dd{margin:0;font-size:15px;line-height:1.55;overflow-wrap:anywhere}.contact-data dd a{display:inline-flex;align-items:center;gap:8px}.contact-data dd a:hover{color:var(--copper)}.contact-data dd .icon{width:15px;height:15px}.footer-nap .contact-data{grid-template-columns:1.4fr .9fr .6fr 1.2fr 1.3fr;gap:25px}.footer-nap .contact-data dd{font-size:13px}.footer-nap .contact-data>div:last-child:nth-child(6){grid-column:1/-1}.footer-pages{border-top:1px solid #ece7df29;padding:18px 0}.footer-pages h2{font-family:var(--body-font);font-weight:600;font-size:13px;line-height:1.4;margin-bottom:12px}.footer-page-links{display:flex;flex-wrap:wrap;gap:6px 19px;font-size:12px;line-height:1.6;color:#ece7dfb5}.footer-bottom{border-top:1px solid var(--copper);text-align:center;padding-top:22px;line-height:1.6}.footer-bottom>a{font-size:16px;letter-spacing:.07em}.footer-bottom p{font-size:11px;opacity:.6;margin-top:8px}.mobile-booking{display:none}
/* Interior pages: bounded photographs and readable articles */
.page-heading{background:var(--ink);color:var(--paper);padding:58px 0 62px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:13px;font-size:12px;opacity:.65;margin-bottom:24px}.breadcrumbs a:hover{text-decoration:underline}.page-heading h1{font-size:clamp(38px,5.2vw,64px);letter-spacing:-.035em;max-width:1000px}.page-intro{font-size:18px;line-height:1.65;max-width:800px;margin-top:22px;color:#ece7dfc9}.page-heading .button{margin-top:28px}.article-layout{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(250px,1fr);gap:50px;align-items:start}.page-article{min-width:0}.article-cover{width:100%;aspect-ratio:16/8;max-height:350px;overflow:hidden;margin-bottom:32px;background:#d8d3cc;border-radius:var(--radius)}.article-cover img,.article-cover svg{width:100%;height:100%;object-fit:cover}.prose{font-size:16px;line-height:1.8;overflow-wrap:anywhere}.prose p+p{margin-top:1.2em}.prose h2{font-size:31px;margin:1.2em 0 .55em;line-height:1.2;letter-spacing:-.02em}.prose h3{font-size:24px;margin:1.2em 0 .55em;line-height:1.25}.prose>:first-child{margin-top:0}.article-aside{position:sticky;top:24px;border:1px solid var(--line);padding:28px}.contact-panel h2{font-size:27px;margin-bottom:20px}.aside-cta{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}.aside-cta .button{width:100%;font-size:13px;padding-inline:12px}.inner-content>.container>.service-grid,.region-page-grid,.inner-content>.container>.faq-list{margin-top:48px;padding-top:35px;border-top:1px solid var(--line)}.inner-content .service-grid .service-photo{aspect-ratio:16/10;max-height:340px}.inner-content .service-copy h2{font-size:32px}.inner-content .service-copy p{font-size:15px}.region-page-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.region-card{min-width:0}.region-card-photo{display:block;aspect-ratio:16/10;max-height:220px;overflow:hidden;background:#d8d3cc}.region-card-photo img,.region-card-photo svg{height:100%;width:100%;object-fit:cover}.region-card>div{padding:22px 0}.region-card h2{font-size:28px;margin-bottom:12px;letter-spacing:-.03em}.region-card p{font-size:14px;line-height:1.7;margin-bottom:20px}.section-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:30px}.gallery-photo{aspect-ratio:4/3;overflow:hidden;max-height:230px;background:#d8d3cc}.gallery-photo img,.gallery-photo svg{width:100%;height:100%;object-fit:cover}.section-extra-photo{aspect-ratio:16/7;max-height:380px;overflow:hidden;margin:30px 0;background:#d8d3cc}.section-extra-photo img,.section-extra-photo svg,.section-extra-photo .responsive-media img,.section-extra-photo .responsive-media svg{height:100%;width:100%;object-fit:cover}.extra-title{font-size:31px;margin:28px 0 14px}.extra-feature{padding:15px 0;border-bottom:1px solid var(--line)}.section .button-row{margin-top:24px}.contact-page-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:70px;align-items:start}.contact-page-grid .contact-panel{padding-top:28px;margin-top:28px;border-top:1px solid var(--line)}.contact-page-grid .contact-data{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.contact-page-grid .contact-data>div:first-child{grid-column:1/-1}.booking-panel{border:1px solid var(--line);padding:34px;background:#ffffff26}.booking-panel>h2{font-size:34px;margin-bottom:14px;letter-spacing:-.02em}.booking-panel>p:not(.eyebrow){font-size:14px;line-height:1.6;margin-bottom:25px}.booking-form{display:grid;gap:20px}.booking-form label{display:grid;gap:8px;min-width:0}.booking-form label>span{font-size:12px}.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.booking-form input:not([type=checkbox]),.booking-form select,.booking-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #20232370;border-radius:0;background:#fff3;color:var(--ink);padding:11px 10px;min-height:44px;min-width:0;resize:vertical}.booking-form textarea{min-height:110px}.booking-form input:focus,.booking-form textarea:focus,.booking-form select:focus{border-bottom-color:var(--copper);outline:1px solid var(--copper);outline-offset:0}.booking-form .consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.6}.booking-form .consent input{flex-shrink:0;width:17px;height:17px;accent-color:var(--copper);margin:2px 0 0}.consent a{text-decoration:underline;text-underline-offset:3px}.booking-form .button{justify-self:start;min-width:210px}.form-honeypot{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);opacity:0;pointer-events:none}.form-feedback{padding:16px 20px;border:1px solid var(--copper);background:#f6f0e9;margin:24px 0;font-size:14px;color:var(--ink)}.form-feedback.error{border-color:#a94a35;background:#fff1ec}.contact-photo{aspect-ratio:21/7;max-height:340px;overflow:hidden;margin-top:50px}.contact-photo img,.contact-photo svg{height:100%;width:100%;object-fit:cover}.cookie-banner{position:fixed;bottom:25px;left:25px;max-width:460px;padding:24px;background:var(--paper);border:1px solid var(--line);box-shadow:0 8px 40px #0004;z-index:40}.cookie-banner p{font-size:14px;margin-bottom:20px}.cookie-banner .button{min-height:40px;font-size:13px;padding:11px 20px}.cookie-settings{position:fixed;left:12px;bottom:12px;font-size:10px;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:7px 10px;z-index:20}
@media(min-width:1450px){.hero-media{left:calc(50% - 220px)}.hero-content{padding-left:18px}.site-header .header-inner{min-height:112px}}
@media(max-width:1100px){.header-inner{min-height:91px;gap:20px}.brand{width:275px;padding-right:20px;min-width:200px}.desktop-navigation{gap:23px}.desktop-navigation a{font-size:12px}.header-actions .button{font-size:12px;padding:10px 15px;min-height:40px}.appointment-action{padding-left:30px;margin-left:8px}.appointment-action .button{min-width:205px;font-size:15px}.footer-main{gap:20px}.footer-main h2{font-size:14px}.footer-links{font-size:13px}.footer-brand{padding-right:20px}.footer-appointment .button{font-size:12px;padding-inline:10px}.article-layout{gap:32px}.contact-page-grid{gap:35px}.booking-panel{padding:28px}}
@media(min-width:651px) and (max-width:820px){.header-inner{min-height:72px;gap:18px}.brand{width:235px;min-width:0;padding-right:19px;max-width:34%}.brand img,.brand svg{max-height:49px}.desktop-navigation{gap:25px}.desktop-navigation a{font-size:10px;line-height:1.2;white-space:nowrap}.header-actions .button{font-size:10px;min-height:32px;padding:8px 14px}.hero-content{padding-left:1.7%;padding-top:30px;padding-bottom:30px}.hero h1{font-size:46px}.hero-location{font-size:20px;margin-top:14px}.hero-location:before{margin-bottom:16px}.hero .button-row{margin-top:24px}.hero .button{font-size:14px;min-height:41px;min-width:157px;padding:11px 20px}.section-services{padding:35px 0 19px}.service-grid{column-gap:16px;row-gap:34px}.service-copy{margin:16px 11px 0;padding-left:15px}.service-copy h2{font-size:30px}.service-copy p{font-size:11px;margin-top:5px;line-height:1.4}.compact-service{min-height:92px;padding:13px 13px 13px 10px;gap:16px}.compact-service:nth-child(2n+1):after{right:-9px;top:24px;bottom:24px}.compact-service .service-photo{width:42%;height:66px}.compact-service h2{font-size:21px}.section-process{padding:20px 0 21px}.section-process .eyebrow{font-size:14px;margin-bottom:5px}.section-process>.container>h2{font-size:34px;margin-bottom:16px}.process-row{grid-template-columns:16% 39% 45%;padding:10px 0;min-height:112px}.step-number{font-size:65px;padding-left:12%}.step-copy{padding:3px 24px 3px 29px}.step-copy h3{font-size:27px;margin-bottom:6px}.step-copy p{font-size:13px;line-height:1.4}.step-photo{height:95px}.section-regions{padding:21px 0 16px}.section-regions>.container>h2{font-size:31px;margin-bottom:16px}.region-links{padding:0 0 28px}.region-links>a{font-size:21px;gap:12px;min-height:32px}.region-links .icon{width:24px;height:28px}.section-faq{padding:0 0 32px}.section-faq>.container>h2{font-size:31px;margin-bottom:16px}.faq-list{gap:6px}.faq-item summary{font-size:17px;min-height:37px;padding:7px 18px}.faq-item summary .icon{width:17px;height:17px}.appointment-strip{padding:21px 0}.appointment-inner{gap:20px}.appointment-icon .icon{width:37px;height:37px}.appointment-copy h2{font-size:28px}.appointment-copy .section-description{font-size:14px;margin-top:6px}.appointment-action{padding-left:38px;margin-left:0}.appointment-action .button{min-width:223px;font-size:14px;min-height:46px;padding:12px 15px}.appointment-action .icon{width:25px;height:25px}.site-footer{padding:24px 0 20px}.footer-main{grid-template-columns:1.7fr 1fr 1.15fr .8fr .78fr 1.15fr;gap:20px;padding-bottom:24px}.footer-brand{padding-right:20px}.footer-brand img,.footer-brand svg{max-height:125px}.footer-main h2{font-size:13px;margin-bottom:10px}.footer-links{font-size:12px;gap:4px}.footer-main>div:not(.footer-brand){padding-top:10px}.footer-appointment .button{font-size:10px;padding:9px 10px;min-height:34px}.footer-nap .contact-data{grid-template-columns:1.5fr 1fr .7fr 1.4fr;gap:20px}.footer-nap .contact-data>div:nth-child(5){grid-column:1/3}.footer-nap .contact-data>div:last-child:nth-child(6){grid-column:3/5}.footer-nap .contact-data dd{font-size:12px}.footer-bottom>a{font-size:14px}.article-layout{grid-template-columns:minmax(0,1.7fr) minmax(230px,1fr);gap:25px}.article-aside{padding:22px}.contact-data dd{font-size:14px}.region-page-grid{gap:20px}.region-card h2{font-size:24px}.contact-page-grid{grid-template-columns:1fr;gap:35px}.contact-page-grid .contact-data{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-page-grid .contact-data>div:first-child{grid-column:auto}}
@media(max-width:650px){.container{width:calc(100% - 36px)}.header-inner{width:calc(100% - 30px);min-height:78px;gap:12px}.brand{width:205px;max-width:60%;min-width:0;border-right:0;padding:0}.brand img,.brand svg{max-height:56px}.desktop-navigation{display:none}.menu-toggle{display:flex}.header-actions{gap:3px}.header-actions .button{min-height:36px;padding:9px 11px;font-size:10px;max-width:90px}.hero{height:480px;min-height:0}.hero-media{inset:0 0 0 8%;opacity:.85}.hero:before{background:linear-gradient(90deg,#171b1b 0%,#171b1bd9 27%,#171b1b6e 65%,#171b1b1a),linear-gradient(0deg,#171b1b55,transparent 50%)}.hero-content{justify-content:center;padding:28px 4px}.hero h1{font-size:clamp(39px,9.7vw,60px);max-width:450px;line-height:1.05;letter-spacing:-.04em}.hero-location{font-size:21px;margin-top:23px}.hero-location:before{margin-bottom:17px}.hero .button-row{margin-top:29px}.hero .button{font-size:14px;min-width:170px;min-height:46px}.section{padding:35px 0}.section-services{padding:27px 0 19px}.service-grid{column-gap:14px;row-gap:26px}.service-photo{aspect-ratio:4/4.2}.service-copy{margin:15px 0 0;padding-left:10px}.service-copy h2{font-size:clamp(23px,5.7vw,31px);letter-spacing:-.045em}.service-copy p{font-size:11px;line-height:1.5;margin-top:7px}.compact-service{padding:13px 2px;gap:9px;min-height:95px;flex-direction:column;text-align:center;justify-content:center}.compact-service:nth-child(2n+1):after{right:-8px;top:22px;bottom:22px;border-right-width:1px}.compact-service .service-photo{width:80%;height:63px;max-width:140px}.compact-service h2{font-size:19px;white-space:normal;letter-spacing:-.03em}.section-process{padding:27px 0}.section-process .container{width:calc(100% - 36px)}.section-process .eyebrow,.section-process>.container>h2{margin-left:0}.section-process .eyebrow{font-size:12px}.section-process>.container>h2{font-size:32px;margin-bottom:16px;max-width:360px}.process-row{grid-template-columns:64px minmax(0,1fr);padding:17px 0;min-height:0;gap:16px 18px}.step-number{font-size:57px;padding-left:0;align-self:start;margin-top:3px;border-right:1px solid var(--copper)}.step-copy{padding:0}.step-copy h3{font-size:28px;margin-bottom:8px}.step-copy p{font-size:13px;max-width:none;line-height:1.5}.step-photo{grid-column:2;grid-row:auto;height:105px;max-height:none}.step-photo:after{background:linear-gradient(90deg,var(--ink),transparent 12%);opacity:.4}.step-extra{grid-column:1/-1}.section-regions{padding:27px 0 17px}.section-regions>.container>h2{font-size:29px;margin:0 0 22px}.region-links{padding:0 0 24px}.region-links>a{font-size:18px;flex-direction:column;gap:9px;min-height:62px}.region-links>a+a{border-left-width:1px}.region-links .icon{width:22px;height:25px}.section-faq{padding:3px 0 30px}.section-faq>.container>h2{font-size:29px;margin:0 0 19px}.section-faq .faq-list{margin:0}.faq-item summary{padding:12px;font-size:16px;min-height:46px;gap:10px}.faq-item summary .icon{width:17px;height:17px}.faq-answer{padding:3px 13px 17px;font-size:14px!important}.appointment-strip{padding:25px 0}.appointment-inner{padding:0;grid-template-columns:33px minmax(0,1fr);gap:14px}.appointment-icon .icon{width:31px;height:35px}.appointment-copy h2{font-size:27px;line-height:1.15}.appointment-copy .section-description{font-size:13px;line-height:1.5;margin-top:8px}.appointment-action{grid-column:2;border-left:0;padding-left:0;margin:4px 0 0}.appointment-action .button{min-width:0;min-height:46px;padding-inline:17px;font-size:14px}.appointment-action .icon{width:23px;height:23px}.site-footer{padding:28px 0 22px}.footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px;padding-bottom:28px}.footer-brand{grid-column:1/-1;border-right:0;border-bottom:1px solid #ad7c6080;padding:0 0 24px}.footer-brand a{max-width:180px}.footer-brand img,.footer-brand svg{max-height:125px}.footer-brand p{text-align:center;max-width:340px;margin:16px auto 0;font-size:12px}.footer-main>div:not(.footer-brand){padding-top:0}.footer-main h2{font-size:14px;margin-bottom:12px}.footer-links{font-size:13px;gap:7px}.footer-appointment{grid-column:1/-1}.footer-appointment .button{min-height:44px;font-size:13px;padding-inline:20px}.footer-nap .contact-data{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.footer-nap .contact-data>div:first-child{grid-column:1/-1}.footer-nap .contact-data dd{font-size:13px}.footer-nap .contact-data>div:last-child:nth-child(6){grid-column:auto}.footer-bottom>a{font-size:12px;letter-spacing:.025em;overflow-wrap:anywhere}.footer-page-links{gap:8px 16px;font-size:12px}.footer-bottom p{font-size:10px}.page-heading{padding:34px 0 38px}.page-heading h1{font-size:38px;line-height:1.1}.breadcrumbs{font-size:10px;margin-bottom:20px;gap:8px}.page-intro{font-size:15px;line-height:1.7;margin-top:19px}.article-layout{grid-template-columns:1fr;gap:32px}.article-cover{aspect-ratio:16/10;max-height:260px;margin-bottom:26px}.prose{font-size:15px;line-height:1.85}.prose h2{font-size:27px;margin:1.35em 0 .6em}.prose h3{font-size:22px}.article-aside{position:static;padding:24px}.contact-data{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}.contact-data>div:first-child{grid-column:1/-1}.contact-data dd{font-size:13px}.contact-data dt{font-size:11px}.contact-panel h2{font-size:27px}.aside-cta{margin-top:24px;padding-top:22px}.aside-cta .button{width:auto;padding-inline:20px}.inner-content>.container>.service-grid,.region-page-grid,.inner-content>.container>.faq-list{margin-top:30px;padding-top:30px}.inner-content .service-grid{grid-template-columns:1fr;gap:30px}.inner-content .service-copy h2{font-size:29px}.inner-content .service-copy p{font-size:14px}.region-page-grid{grid-template-columns:1fr;gap:18px}.region-card{display:grid;grid-template-columns:110px minmax(0,1fr);gap:20px}.region-card-photo{aspect-ratio:1;max-height:110px}.region-card>div{padding:0 0 20px}.region-card h2{font-size:24px}.region-card p{font-size:13px;line-height:1.65;margin-bottom:13px}.region-card .text-link{font-size:12px;gap:8px}.section-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}.section-extra-photo{aspect-ratio:16/10;max-height:240px;margin:25px 0}.extra-title{font-size:27px}.contact-page-grid{grid-template-columns:1fr;gap:30px}.contact-page-grid .contact-data{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-panel{padding:23px}.booking-panel>h2{font-size:30px}.booking-form{gap:18px}.form-fields{grid-template-columns:1fr;gap:18px}.booking-form .button{min-width:0;width:100%}.contact-photo{aspect-ratio:16/9;margin-top:30px}.mobile-booking{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--ink);color:var(--paper);border-top:1px solid var(--line);z-index:19;padding-bottom:env(safe-area-inset-bottom)}.mobile-booking>a{flex:1;display:flex;align-items:center;justify-content:center;gap:9px;padding:16px 12px;font-size:13px}.mobile-booking>a+a{border-left:1px solid var(--line)}body:has(.mobile-booking){padding-bottom:58px}.cookie-banner{left:15px;right:15px;bottom:20px;max-width:none;padding:20px}.cookie-settings{bottom:10px}.mobile-booking~.cookie-banner{bottom:70px}.mobile-booking~.cookie-settings{bottom:63px}}
@media(max-width:360px){.header-inner{width:calc(100% - 24px);gap:6px}.brand{width:175px;max-width:58%}.header-actions .button{font-size:9px;padding:8px;max-width:76px}.menu-toggle{width:36px;padding:8px}.container{width:calc(100% - 28px)}.hero{height:445px}.hero h1{font-size:37px}.service-copy h2{font-size:22px}.compact-service h2{font-size:18px}.region-links>a{font-size:16px}.section-process .container{width:calc(100% - 28px)}.step-copy h3{font-size:25px}.process-row{grid-template-columns:58px minmax(0,1fr);column-gap:15px}.contact-data{grid-template-columns:1fr}.contact-data>div:first-child{grid-column:auto}.footer-nap .contact-data{grid-template-columns:1fr}.footer-nap .contact-data>div:first-child{grid-column:auto}.region-card{grid-template-columns:90px minmax(0,1fr);gap:15px}.region-card h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.site-header,.site-footer,.mobile-navigation,.mobile-nav-backdrop,.cookie-banner,.cookie-settings,.mobile-booking,.button,.booking-panel{display:none!important}body{background:#fff;color:#000}.container{width:100%}.page-heading{background:#fff;color:#000;padding:20px 0}.article-layout{display:block}.article-aside{position:static;margin-top:30px}.photo-crop,img{break-inside:avoid}.prose{font-size:11pt}}
/* CMS section palette, applied after component defaults. */
.bg-white{background:#fff;color:var(--ink)}.bg-cream{background:var(--paper);color:var(--ink)}.bg-dark{background-color:var(--ink);color:var(--paper)}.bg-copper{background:var(--copper);color:var(--paper)}.bg-copper .eyebrow{color:inherit}.bg-dark .faq-item{border-color:#ece7df44}.bg-dark .faq-item[open]{background:#ffffff08}.bg-dark .compact-service{border-bottom-color:#ece7df33}body[data-motion-enabled="false"]{scroll-behavior:auto}body[data-motion-enabled="false"] *{transition:none!important}
/* Keep the hero overlay above every media format, including nested SVG crops. */
.hero-media{left:44%;z-index:0}.hero:before{z-index:1;background:linear-gradient(90deg,#171b1b 0%,#171b1b 44%,rgba(23,27,27,.8) 47%,rgba(23,27,27,.25) 57%,transparent 70%)}.hero-content{z-index:2}.hero>.container:last-child{position:relative;z-index:2}
@media(min-width:1450px){.hero-media{left:calc(50% - 100px)}}
@media(max-width:650px){.hero-media{left:8%}.hero:before{background:linear-gradient(90deg,#171b1b 0%,#171b1b 8%,#171b1be6 27%,#171b1b6e 65%,#171b1b1a),linear-gradient(0deg,#171b1b55,transparent 50%)}}
html:has(body[data-motion-enabled="false"]){scroll-behavior:auto}
