body[data-theme="rose"]{--ivory:#f7ecec;--cream:#ead9d8;--wine:#5b1730;--wine-deep:#35101e;--wine-soft:#88465b;--champagne:#c4a376}
body[data-theme="midnight"]{--ivory:#f2eee7;--cream:#ded2c1;--wine:#211a29;--wine-deep:#100c16;--wine-soft:#705a78;--champagne:#c5a66d;--ink:#211a22}
[hidden]{display:none!important}
body[data-font="modern"]{--serif:"Avenir Next","Helvetica Neue",Arial,sans-serif}
body[data-font="romantic"]{--serif:"Baskerville","Iowan Old Style","Palatino Linotype",serif}
body[data-layout="airy"] .section{padding-top:clamp(7rem,13vw,13rem);padding-bottom:clamp(7rem,13vw,13rem)}
body[data-layout="airy"] .service-chapter{padding-top:clamp(7rem,13vw,13rem);padding-bottom:clamp(7rem,13vw,13rem)}
body[data-layout="compact"] .section{padding-top:clamp(3.5rem,7vw,6rem);padding-bottom:clamp(3.5rem,7vw,6rem)}
body[data-layout="compact"] .service-chapter{padding-top:clamp(3.5rem,7vw,6rem);padding-bottom:clamp(3.5rem,7vw,6rem)}
body[data-hero-position="left"] .hero>img{object-position:left center}
body[data-hero-position="centre"] .hero>img{object-position:center center}
body[data-hero-position="right"] .hero>img{object-position:right center}
body[data-gallery-style="grid"] .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:24rem}
body[data-gallery-style="grid"] .gallery-grid>*{grid-area:auto}
body[data-gallery-style="carousel"] .gallery-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem}
body[data-gallery-style="carousel"] .gallery-grid>*{grid-area:auto;min-width:min(26rem,80vw);height:32rem;scroll-snap-align:center}
@media(max-width:900px){body[data-gallery-style="grid"] .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:22rem}body[data-gallery-style="grid"] .gallery-grid>*{grid-area:auto}}
@media(max-width:580px){body[data-layout="airy"] .section{padding-top:7rem;padding-bottom:7rem}body[data-layout="compact"] .section{padding-top:3.5rem;padding-bottom:3.5rem}body[data-gallery-style="grid"] .gallery-grid{display:grid;grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:28rem;margin-left:0;margin-right:0;padding:0;overflow:visible}body[data-gallery-style="grid"] .gallery-grid>*{grid-area:auto;min-width:0;height:auto}body[data-gallery-style="carousel"] .gallery-grid>*{min-width:82vw;height:30rem}}
