.skip-link{position:absolute;top:-100px;left:20px;z-index:1000;padding:14px 22px;background:#fff;color:#191513;border:2px solid #6d3438;border-radius:8px}
.skip-link:focus{top:12px}
:where(a,button,summary):focus-visible{outline:3px solid #9b6263;outline-offset:5px}
[id]{scroll-margin-top:90px}
.seo-shell,.seo-home-intro,.seo-home-services,.seo-home-faq{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.seo-shell{padding-block:30px 68px}
.seo-breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;font-size:.82rem;line-height:1.6;color:#6e6561;margin-bottom:36px}
.seo-breadcrumbs a{text-decoration:underline;text-underline-offset:4px}
.seo-page-heading{max-width:850px;margin:40px 0 48px}
.seo-shell h1,.seo-home-intro h1{font-size:clamp(2.1rem,5vw,4.3rem);line-height:1.08;letter-spacing:-.045em;font-weight:600;margin:12px 0 24px;max-width:900px}
.seo-shell h2,.seo-home-services h2,.seo-home-faq h2{font-size:clamp(1.5rem,2.8vw,2.3rem);line-height:1.18;letter-spacing:-.025em;font-weight:600}
.seo-lead{font-size:clamp(1.05rem,1.8vw,1.24rem);line-height:1.75;color:#625750;max-width:760px}
.seo-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:28px}
.seo-button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:14px 24px;border-radius:100px;background:#6d3438;color:#fff;font-weight:700;font-size:.88rem;text-align:center}
.seo-button:hover{background:#4e2529}
.seo-text-link{text-decoration:underline;text-underline-offset:5px;line-height:1.6;font-weight:600;color:#6d3438}
.seo-service-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:center;margin-bottom:68px}
.seo-service-hero figure{margin:0}
.seo-service-hero img{width:100%;height:auto;max-height:600px;object-fit:cover;border-radius:24px}
.seo-service-hero figcaption{font-size:.76rem;line-height:1.65;color:#6e6561;margin:12px 4px}
.seo-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:64px;align-items:start}
.seo-copy{margin-block:0 38px}
.seo-copy p,.seo-pricing p,.seo-faq p,.seo-home-faq p{line-height:1.85;color:#625750}
.seo-copy h2{margin-top:0}
.seo-pricing{padding:28px;background:#eee4d9;border-radius:22px}
.seo-pricing h2{font-size:1.6rem}
.seo-pricing .seo-text-link{display:block;margin-top:20px}
.seo-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.seo-service-card{background:#fffdfa;border:1px solid #ded4ca;border-radius:20px;overflow:hidden;transition:box-shadow .2s}
.seo-service-card:hover{box-shadow:0 8px 30px #33221a14}
.seo-service-card img{width:100%;height:250px;object-fit:cover}
.seo-service-card>div{padding:24px}
.seo-service-card h3{font-size:1.2rem;line-height:1.35;margin:0 0 12px}
.seo-service-card p{color:#625750;line-height:1.7;font-size:.92rem;margin:0 0 20px}
.seo-service-card span{font-size:.8rem;color:#6d3438;font-weight:700}
.seo-faq,.seo-related{margin-top:64px}
.seo-faq details,.seo-home-faq details{padding:20px 0;border-bottom:1px solid #d8ccc1}
.seo-faq summary,.seo-home-faq summary{cursor:pointer;font-weight:600;line-height:1.6;padding-right:12px}
.seo-faq details p{max-width:850px}
.seo-booking-panel{padding:40px;background:#eee4d9;border-radius:24px;display:flex;align-items:center;justify-content:space-between;gap:36px;margin-top:64px}
.seo-booking-panel h2{max-width:650px;margin:12px 0}
.seo-booking-panel p{color:#625750;line-height:1.7}
.seo-booking-panel .seo-actions{flex-shrink:0;flex-direction:column;margin:0}
.seo-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.seo-contact-grid address{font-style:normal;line-height:1.8}
.seo-home-intro{padding-block:64px 40px}
.seo-home-intro h1{max-width:920px}
.seo-home-services{padding-block:0 64px}
.seo-home-faq{padding-block:40px 64px}
.seo-home-services>p{max-width:750px;color:#625750;line-height:1.8;margin-bottom:32px}
.seo-home-intro .seo-text-link{display:inline-block;margin:12px 0}
.work-heading{width:min(1180px,calc(100% - 48px));margin:0 auto 30px;font-size:clamp(1.5rem,3vw,2.3rem)}
.seo-about-links{margin-top:24px;display:flex;gap:24px;flex-wrap:wrap}
.policy-hero h1{font-size:clamp(2.2rem,6vw,4rem);line-height:1.1;margin:0}
.site-footer .footer-column ul{list-style:none;padding:0;display:grid;gap:10px}
.site-footer .footer-column li{line-height:1.6}
.site-footer .footer-visit p{font-size:.85rem;line-height:1.7}
.site-header .language-toggle{display:inline-flex;align-items:center;justify-content:center;color:#fff;background:#ffffff12;border:1px solid #ffffff80;border-radius:50%;width:44px;height:44px;min-width:44px;font-size:.8rem;font-weight:700}
.site-header .brand{min-width:0}
.site-header .brand-logo{object-fit:contain}
.hero-title .hero-heading{max-width:390px;margin:-5px 0 4px;color:#fff;font-size:clamp(1.55rem,3.7vw,2.9rem);line-height:1;font-weight:700;text-transform:uppercase}
.home-review-summary[hidden]{display:none}
.map-panel iframe{width:100%;height:420px;border:0}
@media(min-width:701px) and (max-width:1000px){.seo-service-hero{gap:30px}.seo-detail-layout{gap:32px;grid-template-columns:minmax(0,1fr) 280px}.seo-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.seo-booking-panel{display:block}.seo-booking-panel .seo-actions{flex-direction:row}}
@media(max-width:700px){.seo-shell,.seo-home-intro,.seo-home-services,.seo-home-faq{width:calc(100% - 32px)}.seo-service-hero,.seo-detail-layout,.seo-contact-grid{grid-template-columns:1fr;gap:28px}.seo-service-hero{margin-bottom:32px}.seo-service-hero img{max-height:480px}.seo-service-grid{grid-template-columns:1fr}.seo-service-card{display:grid;grid-template-columns:120px 1fr}.seo-service-card img{height:100%;min-height:205px}.seo-service-card>div{padding:20px}.seo-booking-panel{display:block;padding:26px}.seo-booking-panel .seo-actions{margin-top:24px;align-items:flex-start}.seo-home-intro{padding-block:36px}.seo-breadcrumbs{margin-bottom:24px}.seo-page-heading{margin:20px 0 32px}.seo-faq,.seo-related{margin-top:40px}}
@media(max-width:560px){.hero-title .hero-heading{color:var(--ink);font-size:1.1rem;margin:0}.site-header .header-cta{font-size:.65rem;letter-spacing:.02em}.site-header .brand span{font-size:.75rem}.site-header{gap:8px;padding-inline:12px}.header-actions{gap:8px}.hero .primary-action,.hero .hero-social-action{min-height:44px}.seo-service-card{grid-template-columns:100px 1fr}.seo-service-card h3{font-size:1.1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.seo-service-card{transition:none}}
