/* Shared compositions inherit the active theme's typography and tokens. */
.dv-block[data-backdrop=true]{background-position:center;background-size:cover;background-repeat:no-repeat;color:var(--backdrop-ink,#fff)}.dv-block[data-backdrop=true] :is(h1,h2,h3,.lead,.prose,.eyebrow){color:inherit}.dv-block[data-backdrop=true] :is(.cta-panel,.about-grid){background:transparent}.dv-block[data-backdrop=true] .text-link{color:inherit}
.db-header-immersive{min-height:560px;display:flex;align-items:flex-end;padding:64px 0}.db-header-immersive .container{width:var(--container-width,calc(100% - 96px));margin-inline:auto}.db-header-immersive h1{max-width:760px}.db-header-immersive .lead{max-width:650px}.db-header-immersive:not([data-backdrop]){background:var(--paper)}
.db-text-image.db-editorial{padding:0}.db-editorial .db-composition-inner{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:stretch;min-height:400px}.db-editorial .db-editorial-image{min-width:0;overflow:hidden}.db-editorial-image img{display:block;width:100%;height:100%;min-height:400px;object-fit:cover;border-radius:0}.db-editorial .db-composition-copy{padding:52px clamp(24px,5vw,72px);align-self:center;min-width:0}.db-editorial.db-image-right .db-editorial-image{order:2}.db-editorial.db-image-right .db-composition-inner{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.db-editorial h2{font-size:clamp(26px,2.5vw,36px);line-height:1.18}
.db-immersive{min-height:440px;display:flex;align-items:flex-end}.db-immersive .db-composition-inner{width:calc(100% - 96px);margin:auto}.db-immersive .db-composition-copy{max-width:640px}.db-immersive.db-image-right .db-composition-copy{margin-left:auto}
.db-menu-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:64px;align-items:start}.db-menu-intro h2{font-size:clamp(26px,2.5vw,36px)}.db-menu-grid .dv-price-list{margin:0}.db-menu-grid .dv-price-list>div{padding:18px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;border-bottom:1px solid var(--line)}.db-menu-grid .dv-price-list>div:first-child{padding-top:0}.db-menu-grid .dv-price-list dd{margin:0;white-space:nowrap}.dc-menu-description{display:block;font-size:.88em;font-weight:400;margin-top:5px}
[data-composition=wide]>.container{max-width:none;width:calc(100% - 48px)}[data-composition=wide] :is(.contact-grid,.process,.faq-layout){gap:80px}[data-composition=wide] .stat-grid{justify-content:space-between}[data-composition=wide].trust-band>.container{justify-content:space-around}[data-composition=wide] iframe{min-height:500px}[data-composition=wide]>.container>.prose{max-width:100%}
[data-composition=list] .cards{grid-template-columns:1fr;gap:32px}[data-composition=list] .cards>article{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.8fr);column-gap:40px;border-bottom:1px solid var(--line);padding-bottom:24px}[data-composition=list] .cards>article>:first-child{grid-row:span 4}[data-composition=list] .review{max-width:none;margin:0}[data-composition=editorial] .gallery-grid{grid-template-columns:2fr 1fr}[data-composition=editorial] .gallery-grid figure:first-child{grid-row:span 2}[data-composition=editorial] .gallery-grid img{height:100%;object-fit:cover}
@media(max-width:760px){.db-header-immersive{min-height:460px;padding:40px 0}.db-header-immersive .container,.db-immersive .db-composition-inner{width:calc(100% - 40px)}.db-header-immersive h1{font-size:38px}.db-editorial .db-composition-inner,.db-editorial.db-image-right .db-composition-inner{grid-template-columns:1fr;min-height:0}.db-editorial.db-image-right .db-editorial-image{order:0}.db-editorial-image img{height:auto;min-height:0;aspect-ratio:1.6}.db-editorial .db-composition-copy{padding:32px 20px}.db-menu-grid{grid-template-columns:1fr;gap:30px}.db-immersive{min-height:400px}.db-immersive .db-composition-copy{max-width:100%}[data-composition=wide] :is(.contact-grid,.process,.faq-layout){gap:32px}[data-composition=wide]>.container{width:calc(100% - 40px)}[data-composition=list] .cards>article{display:block}[data-composition=editorial] .gallery-grid{grid-template-columns:1fr}[data-composition=editorial] .gallery-grid figure:first-child{grid-row:auto}[data-composition=wide] iframe{min-height:320px}}

@media(min-width:761px) and (max-width:1100px){.db-menu-grid{grid-template-columns:1fr;gap:28px}.db-editorial .db-composition-inner,.db-editorial.db-image-right .db-composition-inner{grid-template-columns:1fr}.db-editorial.db-image-right .db-editorial-image{order:0}.db-editorial-image img{height:300px;min-height:0;object-fit:cover}.db-editorial .db-composition-copy{padding:32px}}

.dv-block[data-composition=centered] .cta-panel{display:flex;flex-direction:column;align-items:center;text-align:center;gap:28px}.dv-block[data-composition=centered] .cta-panel>div{max-width:720px}.dv-block[data-composition=stacked] :is(.faq-layout,.contact-grid){grid-template-columns:1fr;gap:32px}.dv-block[data-composition=stacked] .contact-panel{max-width:none}.dv-block[data-composition=horizontal] .process{display:block}.dv-block[data-composition=horizontal] .process ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:36px}.dv-block[data-composition=vertical] .stat-grid{display:grid;grid-template-columns:1fr;gap:28px}.dv-block[data-composition=vertical].trust-band>.container{display:flex;flex-direction:column;align-items:stretch}.dv-block[data-composition=vertical].trust-band span+span{border-left:0;border-top:1px solid var(--line)}.dv-block[data-composition=vertical].trust-band span+span:before{display:none}.dv-block[data-composition=editorial]>.container>.prose{column-count:2;column-gap:48px}.dv-block[data-composition=editorial]>.container>.prose :is(h2,.eyebrow,.button){column-span:all}
@media(max-width:760px){.dv-block[data-composition=horizontal] .process ol{grid-template-columns:1fr}.dv-block[data-composition=editorial]>.container>.prose{column-count:1}.dv-block[data-composition=centered] .cta-panel{padding:28px 20px}}
/* Reusable editorial page compositions, independent of child branding. */
.db-photographic{padding:0}.db-photographic-image img{width:100%;aspect-ratio:3.8;object-fit:cover}.db-photo-caption{display:flex;justify-content:space-between;gap:24px;align-items:center;padding-block:20px}.db-photo-caption h2{font-size:26px;margin:0}.db-photo-caption .prose:empty{display:none}.db-photo-caption p{margin:8px 0 0}.db-statement .prose{columns:2;column-gap:44px}.db-statement .prose p{break-inside:avoid}.db-menu-category{padding-block:28px}.db-category-grid{display:grid;grid-template-columns:minmax(160px,.65fr) minmax(0,1.6fr);gap:40px;padding-top:28px;border-top:1px solid var(--line)}.db-category-grid h2{font-size:28px}.db-category-grid .dv-price-list{margin:0}.db-category-grid .dv-price-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px}.db-category-grid .dv-price-list>div:first-child{padding-top:0}.db-category-grid dd{margin:0;white-space:nowrap}.db-section-links{padding-block:16px}.db-section-links nav{display:flex;flex-wrap:wrap;gap:14px 26px}.db-section-links a{text-decoration:underline;text-underline-offset:6px}.db-section-links a:before{content:'—';margin-right:12px;color:var(--accent)}.db-section-links a:first-child:before{display:none}
.db-inline-action>.container{display:flex;align-items:center;justify-content:space-between;gap:32px;border-block:1px solid var(--line);padding-block:22px}.db-inline-action h2{font-size:24px;margin:0}.db-inline-action p{margin:6px 0 0}.db-practical-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:40px}.db-practical-grid .dc-map{height:300px;border-radius:4px}.db-practical-grid .dc-map-embed .text-link{margin-top:16px}.db-hours-summary{margin:24px 0}.db-hours-summary>div{display:flex;justify-content:space-between;gap:24px;padding:10px 0;border-block-end:1px solid var(--line)}.db-hours-summary dd{margin:0;white-space:nowrap}.db-contact-form{margin-top:40px;padding-top:32px;border-top:1px solid var(--line)}.db-contact-form>p{max-width:65ch}.db-contact-form form{max-width:800px}.db-booking-grid{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:32px;align-items:start}.db-booking-grid aside>img{width:100%;aspect-ratio:.78;object-fit:cover}.db-booking-grid aside p{font-size:16px}.db-booking-panel{padding:28px}.db-booking-panel .dv-reservation-fields{margin-top:0;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}.db-booking-panel label{grid-column:span 3}.db-booking-panel :is(.dc-field-date,.dc-field-time,.dc-field-number){grid-column:span 2}.db-booking-panel .dc-field-textarea{grid-column:1/-1}.db-booking-panel button[type=submit]{width:100%}.db-compact-footer{padding:24px 0;border-top:1px solid var(--line)}.db-compact-footer>.container{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.db-compact-footer .brand{flex:none}.db-compact-footer .brand-logo{max-width:100px;max-height:48px}.db-compact-footer :is(p,a,span,dt,dd){font-size:12px}.db-compact-footer .db-hours-summary{margin:0}.db-compact-footer .db-hours-summary>div{border:0;padding:0;gap:8px}.db-compact-footer .contact-item{margin:0;gap:0}.db-compact-footer .dc-icon{display:none}.db-compact-footer .db-footer-details{display:flex;flex-wrap:wrap;gap:8px 20px}.db-compact-footer .contact-item>div{display:flex;gap:5px}.db-compact-footer .db-footer-credit{margin-left:auto}.db-compact-footer .socials:empty{display:none}.db-header-photo{padding-bottom:0}.db-header-photo-image{margin-top:24px}.db-header-photo-image img{width:100%;height:auto;aspect-ratio:2.8;object-fit:cover}.gallery-grid figcaption{margin-top:12px;font-size:18px}
@media(max-width:1000px){.db-practical-grid{grid-template-columns:1fr}.db-booking-grid{grid-template-columns:1fr}.db-booking-grid aside{order:2}.db-booking-grid aside>img{aspect-ratio:2.5;max-height:250px}.db-booking-panel{order:1}}
@media(max-width:760px){.db-category-grid{grid-template-columns:1fr;gap:20px;padding-top:24px}.db-section-links nav{gap:12px 18px}.db-section-links a:before{display:none}.db-statement .prose{columns:1}.db-photographic-image img{aspect-ratio:2.2}.db-photo-caption{display:block}.db-photo-caption .text-link{margin-top:12px}.db-photo-caption h2{font-size:24px}.db-inline-action>.container{display:block}.db-inline-action .button{margin-top:16px}.db-practical-grid{gap:28px}.db-hours-summary>div{gap:14px}.db-contact-form{padding-top:24px;margin-top:28px}.db-booking-panel{padding:20px}.db-booking-grid{gap:24px}.db-booking-panel .dv-reservation-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.db-booking-panel label{grid-column:1/-1}.db-booking-panel :is(.dc-field-date,.dc-field-time){grid-column:span 1}.db-booking-panel .dc-field-number{grid-column:1/-1}.db-compact-footer>.container{align-items:flex-start;flex-direction:column;gap:14px}.db-compact-footer .db-footer-details{display:grid;gap:3px}.db-compact-footer .db-footer-credit{margin:0}.db-header-photo-image img{aspect-ratio:1.5}}
.db-booking-panel .dv-reservation-fields label{margin:0}.db-booking-panel .dv-reservation-fields :is(input,textarea,select){margin:0}
/* A reusable heading beside prose, separate from the stacked statement. */
.db-title-aside>.container{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px;align-items:start}.db-title-aside>.container>h2{margin:0;padding-right:24px}.db-title-aside>.container>.prose{columns:1;border-left:1px solid var(--line);padding-left:40px}.db-title-aside>.container>.prose p:last-child{margin-bottom:0}.db-contact-form form{max-width:none}.db-booking-panel :is(input,textarea,select){width:100%;min-width:0}
@media(max-width:760px){.db-title-aside>.container{display:block}.db-title-aside>.container>.prose{border:0;padding:0;margin-top:20px}}

.db-contact-form form{max-width:none}

/* Shared structures for landmarks, invitations and a generous footer. */
.db-sidebar-information .db-info-title{font-weight:600}.db-sidebar-information p{margin:0 0 8px}.db-sidebar-information>svg{margin-bottom:12px;color:var(--accent)}.db-landmarks>.container{display:flex;justify-content:space-between;gap:24px}.db-landmark{display:flex;align-items:center;gap:14px}.db-landmark p{margin:0}.db-landmark>:is(svg,i){flex-shrink:0;color:var(--accent)}.db-invitation>.container{display:flex;justify-content:space-between;align-items:center;gap:32px}.db-invitation-copy p{margin-bottom:0}.db-footer-identity{display:flex;align-items:center;gap:32px;margin-bottom:32px}.db-footer-identity p{margin:0}.db-footer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.db-footer-grid h2{font-size:15px}.db-footer-explore nav{display:flex;flex-direction:column;gap:8px}.db-footer-socials{display:flex;gap:16px}.db-footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;margin-top:32px}.db-footer-legal{display:flex;gap:16px}
@media(max-width:760px){.db-invitation>.container,.db-footer-grid{display:block}.db-invitation .button{margin-top:24px}.db-footer-grid>div+div{margin-top:28px}.db-footer-identity{gap:20px}.db-footer-bottom{display:block}}

[data-declic-sticky-action][hidden]{display:none!important}

.db-mobile-logo{display:none}@media(max-width:760px){.db-desktop-logo{display:none}.db-mobile-logo{display:block}}
.db-collection[data-composition=list] .cards{grid-template-columns:1fr}.db-collection .service-card>img{width:100%;aspect-ratio:1.6;object-fit:cover;margin-bottom:20px}
