@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@600;700&family=Poppins:wght@400;500;600;700&display=swap');
.dom-theme-page,.dom-theme-header,.dom-theme-footer{--pink:#C6005A;--pink-dark:#A9004C;--mustard:#D49A21;--black:#111315;--text:#202225;--muted:#687078;--light:#F6F5F2;--line:#E5E6E7;font-family:'Poppins',Arial,sans-serif;color:var(--text);box-sizing:border-box}
.dom-theme-page *,.dom-theme-header *,.dom-theme-footer *{box-sizing:border-box}
.dom-theme-shell{width:min(1180px,calc(100% - 40px));margin:0 auto}
.dom-theme-page img,.dom-theme-header img,.dom-theme-footer img{display:block;max-width:100%}
.dom-theme-page h1,.dom-theme-page h2{font-family:'Cormorant Garamond',Georgia,serif}
.dom-theme-kicker{display:inline-flex;align-items:center;gap:10px;color:var(--pink);font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.dom-theme-kicker:before{content:'';width:30px;height:3px;background:var(--mustard)}
.dom-theme-btn{min-height:50px;padding:13px 22px;border-radius:6px;border:0;background:var(--pink);color:#fff;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;cursor:pointer}.dom-theme-btn:hover{background:var(--pink-dark);color:#fff}

/* header */
.dom-theme-header{position:relative;z-index:9999;width:100%}.dom-theme-topbar{background:#111;color:#fff}.dom-theme-topbar .dom-theme-shell{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px}.dom-theme-topbar div div{display:flex;gap:18px}.dom-theme-topbar a{color:#fff;text-decoration:none}.dom-theme-nav{background:#fff;transition:.2s ease}.dom-theme-nav.is-scrolled{box-shadow:0 8px 25px rgba(0,0,0,.08)}.dom-theme-nav-inner{min-height:82px;display:flex;align-items:center;gap:28px}.dom-theme-logo{margin-right:auto;text-decoration:none;color:#111}.dom-theme-logo img{max-height:54px;width:auto}.dom-theme-desktop-menu{display:flex;align-items:center;gap:24px}.dom-theme-desktop-menu a{color:#222;text-decoration:none;font-size:13px;font-weight:600}.dom-theme-desktop-menu a:hover{color:var(--pink)}.dom-theme-nav-cta,.dom-theme-mobile-cta{background:var(--pink);color:#fff;text-decoration:none;padding:13px 18px;border-radius:5px;font-size:12px;font-weight:700}.dom-theme-menu-toggle{display:none;width:40px;height:40px;border:0;background:transparent;padding:8px}.dom-theme-menu-toggle span{display:block;height:2px;background:#111;margin:5px 0}.dom-theme-mobile-menu{display:none;background:#fff;border-top:1px solid #eee}.dom-theme-mobile-menu .dom-theme-shell{display:flex;flex-direction:column;padding:16px 0}.dom-theme-mobile-menu a{padding:11px 0;color:#222;text-decoration:none;font-size:14px;font-weight:600}.dom-theme-mobile-menu .dom-theme-mobile-cta{color:#fff;text-align:center;margin-top:8px}

/* page basics */
.dom-theme-hero{position:relative;min-height:620px;background:#222 center/cover no-repeat;display:flex;align-items:center;color:#fff}.dom-theme-inner-hero{min-height:420px}.dom-theme-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.28))}.dom-theme-hero-content{position:relative;z-index:2;max-width:760px}.dom-theme-hero h1{font-size:clamp(3.5rem,7vw,6.5rem);line-height:.88;margin:10px 0 18px;color:#fff}.dom-theme-inner-hero h1{font-size:clamp(3.2rem,6vw,5.5rem)}.dom-theme-hero h1 span{color:var(--mustard)}.dom-theme-hero p{max-width:690px;line-height:1.72;color:#f2f2f2;margin:0 0 24px}.dom-theme-section{padding:74px 0;background:#fff}.dom-theme-soft{padding:65px 0;background:var(--light)}.dom-theme-section h2,.dom-theme-soft h2,.dom-theme-feature h2,.dom-theme-final h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(2.5rem,4vw,3.6rem);line-height:1;margin:8px 0 12px}.dom-theme-section-head{text-align:center;max-width:760px;margin:0 auto 34px}.dom-theme-section-head .dom-theme-kicker{justify-content:center}.dom-theme-section-head p,.dom-theme-two-col>p,.dom-theme-feature p,.dom-theme-inline-cta p{color:var(--muted);line-height:1.75}.dom-theme-two-col{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.dom-theme-intro{margin-bottom:35px}.dom-theme-placeholder{width:100%;aspect-ratio:16/10;background:linear-gradient(135deg,#ebebeb,#dcdcdc)}

/* service */
.dom-theme-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.dom-theme-service-card{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.035)}.dom-theme-service-image{display:block;background:#eee}.dom-theme-service-image img,.dom-theme-service-image .dom-theme-placeholder{width:100%;aspect-ratio:16/10;object-fit:cover}.dom-theme-service-body{padding:20px}.dom-theme-service-body h3{margin:0 0 8px;font-size:19px}.dom-theme-service-body p{margin:0 0 14px;color:var(--muted);font-size:13px;line-height:1.65}.dom-theme-service-body a{color:var(--pink);text-decoration:none;font-size:13px;font-weight:700}

/* home extras */
.dom-theme-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.dom-theme-steps>div{text-align:center}.dom-theme-steps span{width:44px;height:44px;border-radius:50%;background:var(--pink);color:#fff;display:grid;place-items:center;margin:0 auto 13px;font-weight:700}.dom-theme-steps>div:nth-child(even) span{background:var(--mustard);color:#111}.dom-theme-steps h3{font-size:16px;margin:0 0 7px}.dom-theme-steps p{font-size:13px;color:var(--muted);line-height:1.6}.dom-theme-fleet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.dom-theme-fleet-grid article{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}.dom-theme-fleet-grid article>img,.dom-theme-fleet-grid article>.dom-theme-placeholder{width:100%;aspect-ratio:16/10;object-fit:cover}.dom-theme-fleet-grid article>div:last-child{padding:20px}.dom-theme-fleet-grid h3{margin:0 0 7px}.dom-theme-fleet-grid p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.dom-theme-feature{padding:70px 0;background:#111;color:#fff}.dom-theme-feature img,.dom-theme-feature .dom-theme-placeholder{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}.dom-theme-feature p{color:#c7c9cb}.dom-theme-values{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.dom-theme-values>div{border:1px solid var(--line);padding:22px;border-radius:8px}.dom-theme-values h3{margin:0 0 8px}.dom-theme-values p{margin:0;color:var(--muted);font-size:13px;line-height:1.65}.dom-theme-inline-cta{display:flex;align-items:center;justify-content:space-between;gap:30px}.dom-theme-final{position:relative;min-height:300px;background:#222 center/cover no-repeat;color:#fff;display:flex;align-items:center;padding:55px 0}.dom-theme-final-inner{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:35px}.dom-theme-final-inner p{max-width:680px}

/* gallery */
.dom-theme-gallery-filters{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-bottom:28px}.dom-theme-gallery-filters button{border:1px solid #d5d5d5;border-radius:30px;background:#fff;padding:9px 16px;font:600 12px 'Poppins',sans-serif;cursor:pointer}.dom-theme-gallery-filters button.is-active,.dom-theme-gallery-filters button:hover{background:var(--pink);border-color:var(--pink);color:#fff}.dom-theme-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.dom-theme-gallery-item{border:0;padding:0;background:#111;border-radius:8px;overflow:hidden;cursor:pointer}.dom-theme-gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover}.dom-theme-gallery-cta{margin-top:45px;background:#111;color:#fff;padding:35px;border-radius:9px}.dom-theme-lightbox{position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;padding:25px}.dom-theme-lightbox.is-open{display:flex}.dom-theme-lightbox img{max-width:min(1100px,95vw);max-height:88vh}.dom-theme-lightbox button{position:absolute;right:24px;top:18px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;font-size:28px;cursor:pointer}

/* contact */
.dom-theme-contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:55px}.dom-theme-contact-list{display:grid;gap:13px;margin-top:25px}.dom-theme-contact-list>div{border:1px solid var(--line);border-radius:7px;padding:15px}.dom-theme-contact-list small{display:block;color:var(--pink);text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.08em;margin-bottom:4px}.dom-theme-contact-list a,.dom-theme-contact-list span{color:#222;text-decoration:none;font-size:14px}.dom-theme-contact-form-box{background:var(--light);padding:30px;border-radius:10px}.dom-theme-contact-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dom-theme-contact-form>div{display:flex;flex-direction:column;gap:7px}.dom-theme-contact-form .full{grid-column:1/-1}.dom-theme-contact-form label{font-size:13px;font-weight:600}.dom-theme-contact-form input,.dom-theme-contact-form select,.dom-theme-contact-form textarea{width:100%;border:1px solid #d6d8db;background:#fff;border-radius:6px;padding:13px 14px;font:14px 'Poppins',sans-serif;outline:none}.dom-theme-contact-form input:focus,.dom-theme-contact-form select:focus,.dom-theme-contact-form textarea:focus{border-color:var(--pink);box-shadow:0 0 0 3px rgba(198,0,90,.07)}#domThemeContactMessage{color:var(--pink);font-size:13px;font-weight:600}.dom-theme-map{height:420px}.dom-theme-map iframe{width:100%;height:100%;border:0;display:block}

/* footer */
.dom-theme-footer{background:#0f1012;color:#fff}.dom-theme-footer-grid{display:grid;grid-template-columns:1.4fr .8fr .9fr 1fr;gap:38px;padding:58px 0}.dom-theme-footer-logo{max-height:58px;width:auto;margin-bottom:18px}.dom-theme-footer h3{margin:0 0 10px;font-size:18px}.dom-theme-footer p{color:#b8bbbe;line-height:1.7;font-size:13px}.dom-theme-socials{display:flex;gap:8px;margin-top:14px}.dom-theme-socials a{width:34px;height:34px;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:grid;place-items:center;color:#fff;text-decoration:none;font-size:12px}.dom-theme-footer-col{display:flex;flex-direction:column;gap:9px}.dom-theme-footer-col h4{margin:0 0 8px;color:var(--mustard)}.dom-theme-footer-col a,.dom-theme-footer-col span{color:#c5c7c9;text-decoration:none;font-size:13px;line-height:1.55}.dom-theme-footer-bottom{border-top:1px solid rgba(255,255,255,.1)}.dom-theme-footer-bottom .dom-theme-shell{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;color:#999}.dom-theme-footer-bottom a{color:#bbb;text-decoration:none}

@media(max-width:1000px){.dom-theme-desktop-menu,.dom-theme-nav-cta{display:none}.dom-theme-menu-toggle{display:block}.dom-theme-mobile-menu.is-open{display:block}.dom-theme-service-grid{grid-template-columns:repeat(2,1fr)}.dom-theme-values{grid-template-columns:repeat(2,1fr)}.dom-theme-gallery-grid{grid-template-columns:repeat(2,1fr)}.dom-theme-footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.dom-theme-shell{width:calc(100% - 30px)}.dom-theme-topbar .dom-theme-shell>span{display:none}.dom-theme-topbar .dom-theme-shell{justify-content:center}.dom-theme-topbar div div{gap:10px;flex-wrap:wrap;justify-content:center;padding:7px 0}.dom-theme-nav-inner{min-height:70px}.dom-theme-logo img{max-height:46px}.dom-theme-hero{min-height:520px;align-items:flex-end;padding-bottom:48px}.dom-theme-inner-hero{min-height:430px}.dom-theme-hero h1{font-size:50px}.dom-theme-section{padding:55px 0}.dom-theme-service-grid,.dom-theme-fleet-grid,.dom-theme-gallery-grid,.dom-theme-values,.dom-theme-two-col,.dom-theme-contact-grid{grid-template-columns:1fr}.dom-theme-steps{grid-template-columns:1fr 1fr}.dom-theme-inline-cta,.dom-theme-final-inner{flex-direction:column;align-items:flex-start}.dom-theme-inline-cta .dom-theme-btn,.dom-theme-final-inner .dom-theme-btn{width:100%}.dom-theme-contact-form{grid-template-columns:1fr}.dom-theme-contact-form .full{grid-column:auto}.dom-theme-footer-grid{grid-template-columns:1fr}.dom-theme-footer-bottom .dom-theme-shell{flex-direction:column;justify-content:center;text-align:center;padding:14px 0}}


/* Automatic Dominion site shell */
body.dominion-site-shell{margin:0!important;padding:0!important;background:#fff}
.dominion-site-main{width:100%;margin:0;padding:0;min-height:1px}
.dom-theme-desktop-menu a.is-active{color:var(--pink)}
.dom-theme-mobile-menu a.is-active{color:var(--pink)}

/* =========================================================
   v2.2 SITE SHELL + ELEMENTOR FULL-WIDTH HARDENING
   ========================================================= */
html,body.dominion-site-shell{width:100%;max-width:100%;overflow-x:hidden}
body.dominion-site-shell{margin:0!important;padding:0!important;background:#fff}
body.dominion-site-shell #dominion-site-main{display:block;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;overflow:visible!important}

/* Dominion body shortcodes always escape Elementor/theme boxed widths. */
body.dominion-site-shell .dom-theme-page,
body.dominion-site-shell .dom-plugin-booking,
body.dominion-site-shell .dom-plugin-news{
    position:relative!important;
    left:50%!important;
    right:auto!important;
    width:100vw!important;
    max-width:100vw!important;
    margin-left:-50vw!important;
    margin-right:-50vw!important;
    padding-left:0!important;
    padding-right:0!important;
    overflow-x:clip;
}

/* Elementor Shortcode/HTML widget ancestors that contain a Dominion page. */
body.dominion-site-shell .elementor-widget-shortcode:has(.dom-theme-page),
body.dominion-site-shell .elementor-widget-shortcode:has(.dom-plugin-booking),
body.dominion-site-shell .elementor-widget-shortcode:has(.dom-plugin-news),
body.dominion-site-shell .elementor-widget-html:has(.dom-theme-page),
body.dominion-site-shell .elementor-widget-html:has(.dom-plugin-booking),
body.dominion-site-shell .elementor-widget-html:has(.dom-plugin-news),
body.dominion-site-shell .elementor-element:has(.dom-theme-page),
body.dominion-site-shell .elementor-element:has(.dom-plugin-booking),
body.dominion-site-shell .elementor-element:has(.dom-plugin-news){
    max-width:none!important;
}
body.dominion-site-shell .elementor-widget-shortcode:has(.dom-theme-page)>.elementor-widget-container,
body.dominion-site-shell .elementor-widget-shortcode:has(.dom-plugin-booking)>.elementor-widget-container,
body.dominion-site-shell .elementor-widget-shortcode:has(.dom-plugin-news)>.elementor-widget-container,
body.dominion-site-shell .elementor-widget-html:has(.dom-theme-page)>.elementor-widget-container,
body.dominion-site-shell .elementor-widget-html:has(.dom-plugin-booking)>.elementor-widget-container,
body.dominion-site-shell .elementor-widget-html:has(.dom-plugin-news)>.elementor-widget-container{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
}

/* Global content geometry */
.dom-theme-shell{
    width:min(1180px,calc(100% - 48px))!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
}
.dom-theme-header,.dom-theme-footer{width:100%!important;max-width:none!important}
.dom-theme-nav{position:relative;z-index:50}
.dom-theme-logo{flex:0 0 auto}
.dom-theme-logo img{display:block;max-width:230px;object-fit:contain}
.dom-theme-desktop-menu{margin-left:auto}
.dom-theme-nav-cta{flex:0 0 auto;white-space:nowrap}

/* Prevent theme/global heading colors from overriding dark hero typography. */
.dom-theme-hero h1,
.dom-theme-feature h2,
.dom-theme-final h2{color:#fff!important}
.dom-theme-hero h1 span{color:var(--mustard)!important}

/* Laptop / compact desktop */
@media (max-width:1199px){
    .dom-theme-shell{width:min(100% - 40px,1080px)!important}
    .dom-theme-desktop-menu{gap:18px}
    .dom-theme-desktop-menu a{font-size:12px}
    .dom-theme-service-grid{gap:18px}
}

/* Tablet */
@media (max-width:1023px){
    .dom-theme-shell{width:calc(100% - 40px)!important}
    .dom-theme-desktop-menu,.dom-theme-nav-cta{display:none!important}
    .dom-theme-menu-toggle{display:block!important;margin-left:auto}
    .dom-theme-mobile-menu.is-open{display:block!important}
    .dom-theme-hero{min-height:560px}
    .dom-theme-inner-hero{min-height:420px}
    .dom-theme-service-grid,.dom-theme-fleet-grid,.dom-theme-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .dom-theme-values{grid-template-columns:repeat(2,minmax(0,1fr))}
    .dom-theme-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}
    .dom-theme-two-col,.dom-theme-contact-grid{gap:38px}
}

/* Mobile */
@media (max-width:767px){
    .dom-theme-shell{width:calc(100% - 30px)!important}
    .dom-theme-topbar{min-height:34px}
    .dom-theme-topbar .dom-theme-shell{min-height:34px;padding:6px 0!important}
    .dom-theme-topbar .dom-theme-shell>span{display:none!important}
    .dom-theme-topbar .dom-theme-shell>div{display:flex!important;gap:10px!important;justify-content:center!important;width:100%;flex-wrap:wrap}
    .dom-theme-topbar a{font-size:10.5px}
    .dom-theme-nav-inner{min-height:70px!important;gap:14px}
    .dom-theme-logo img{max-height:46px!important;max-width:190px}
    .dom-theme-mobile-menu .dom-theme-shell{padding:12px 0 18px!important}
    .dom-theme-mobile-menu a{padding:11px 2px!important}
    .dom-theme-mobile-menu .dom-theme-mobile-cta{margin-top:8px!important;padding:14px!important}

    .dom-theme-hero{min-height:500px!important;padding:80px 0 48px!important;align-items:flex-end!important;background-position:center!important}
    .dom-theme-inner-hero{min-height:410px!important}
    .dom-theme-hero h1{font-size:clamp(44px,14vw,58px)!important;line-height:.92!important;letter-spacing:-.02em}
    .dom-theme-hero p{font-size:14px;line-height:1.65;max-width:100%}
    .dom-theme-section,.dom-theme-soft{padding:52px 0!important}
    .dom-theme-section h2,.dom-theme-soft h2,.dom-theme-feature h2,.dom-theme-final h2{font-size:clamp(36px,11vw,48px)!important}
    .dom-theme-service-grid,.dom-theme-fleet-grid,.dom-theme-gallery-grid,.dom-theme-values,.dom-theme-two-col,.dom-theme-contact-grid{grid-template-columns:1fr!important}
    .dom-theme-service-card,.dom-theme-fleet-grid article{width:100%;min-width:0}
    .dom-theme-steps{grid-template-columns:1fr 1fr!important;gap:22px 14px}
    .dom-theme-feature{padding:54px 0!important}
    .dom-theme-inline-cta,.dom-theme-final-inner{flex-direction:column!important;align-items:flex-start!important;gap:22px!important}
    .dom-theme-inline-cta .dom-theme-btn,.dom-theme-final-inner .dom-theme-btn,.dom-theme-hero .dom-theme-btn{width:100%!important}
    .dom-theme-final{min-height:350px!important;padding:50px 0!important;background-position:center!important}
    .dom-theme-contact-form{grid-template-columns:1fr!important}
    .dom-theme-contact-form .full{grid-column:auto!important}
    .dom-theme-contact-form-box{padding:24px 18px!important}
    .dom-theme-map{height:330px!important}
    .dom-theme-footer-grid{grid-template-columns:1fr!important;padding:48px 0!important;gap:30px!important}
    .dom-theme-footer-bottom .dom-theme-shell{min-height:auto!important;padding:17px 0!important;flex-direction:column!important;text-align:center!important;gap:7px!important}
}

@media (max-width:420px){
    .dom-theme-shell{width:calc(100% - 24px)!important}
    .dom-theme-topbar a[href^="mailto:"]{display:none}
    .dom-theme-logo img{max-width:170px}
    .dom-theme-hero h1{font-size:44px!important}
    .dom-theme-steps{grid-template-columns:1fr!important}
}


/* =========================================================
   v2.3 MANAGED NEW PAGES ONLY
   The active Chauffeur theme is not replaced.
   ========================================================= */

html,
body.dominion-site-shell{
    width:100%;
    max-width:100%;
    margin:0 !important;
    padding:0 !important;
    overflow-x:hidden;
    background:#fff;
}

body.dominion-site-shell #dominion-site-main{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
}

/* v2.3 template is already full width. Do not apply the old Elementor breakout. */
body.dominion-site-shell .dom-theme-page,
body.dominion-site-shell .dom-plugin-booking,
body.dominion-site-shell .dom-plugin-news{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
}

/* HEADER TOP BAR */
.dom-theme-topbar-inner{
    min-height:38px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
}

.dom-theme-topbar-contact{
    display:flex;
    align-items:center;
    gap:20px;
}

.dom-theme-topbar-contact a,
.dom-theme-topbar-address{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:#fff;
    font-size:11px;
    white-space:nowrap;
}

.dom-theme-small-icon{
    width:15px;
    height:15px;
    display:inline-grid;
    place-items:center;
    flex:0 0 15px;
    color:var(--mustard);
}

.dom-theme-small-icon svg,
.dom-theme-top-socials svg,
.dom-theme-mobile-socials svg,
.dom-theme-socials svg,
.dom-theme-arrow-icon svg{
    width:100%;
    height:100%;
    display:block;
    fill:currentColor;
}

.dom-theme-follow{
    display:flex;
    align-items:center;
    gap:12px;
    color:#c4c6c8;
    font-size:11px;
}

.dom-theme-top-socials{
    display:flex;
    gap:5px !important;
}

.dom-theme-top-socials a,
.dom-theme-top-socials > span{
    width:25px;
    height:25px;
    display:grid;
    place-items:center;
    color:var(--mustard);
}

.dom-theme-top-socials svg{
    width:14px;
    height:14px;
}

.dom-theme-arrow-icon{
    width:15px;
    height:15px;
    display:inline-block;
}

.dom-theme-nav-inner{
    min-height:84px;
}

.dom-theme-desktop-menu{
    gap:29px;
}

.dom-theme-desktop-menu a{
    position:relative;
    padding:30px 0;
}

.dom-theme-desktop-menu a:after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:18px;
    height:2px;
    background:var(--pink);
    transform:scaleX(0);
    transition:.2s ease;
}

.dom-theme-desktop-menu a:hover:after,
.dom-theme-desktop-menu a.is-active:after{
    transform:scaleX(1);
}

.dom-theme-nav-cta{
    min-height:48px;
    display:inline-flex;
    align-items:center;
    gap:12px;
}

.dom-theme-mobile-socials{
    display:flex;
    gap:9px;
    margin-top:15px;
}

.dom-theme-mobile-socials a{
    width:38px;
    height:38px;
    border:1px solid #ddd;
    border-radius:50%;
    padding:10px;
    color:#222;
}

/* FOOTER ICONS */
.dom-theme-footer-brand{
    max-width:315px;
}

.dom-theme-footer-heading{
    color:#fff !important;
    margin-bottom:4px !important;
}

.dom-theme-socials a{
    padding:9px;
}

.dom-theme-footer-line{
    width:28px;
    height:2px;
    background:var(--mustard);
    display:block;
    margin-bottom:2px;
}

.dom-theme-footer-contact-row{
    display:flex;
    align-items:flex-start;
    gap:9px;
}

.dom-theme-footer-contact-row .dom-theme-small-icon{
    margin-top:2px;
}

/* APPROVED HOMEPAGE */
.dom-home-v23{
    --v23-pink:#D0005A;
    --v23-gold:#E0A51A;
    --v23-orange:#FF7A18;
    --v23-text:#202328;
    --v23-muted:#68717B;
    width:100%;
    overflow:hidden;
}

.dom-v23-hero{
    position:relative;
    min-height:640px;
    display:flex;
    align-items:center;
    background:#202629 center/cover no-repeat;
    color:#fff;
}

.dom-v23-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(4,7,9,.83) 0%,rgba(4,7,9,.58) 39%,rgba(4,7,9,.18) 75%,rgba(4,7,9,.05) 100%);
}

.dom-v23-hero-inner{
    position:relative;
    z-index:2;
}

.dom-v23-hero-copy{
    max-width:610px;
}

.dom-v23-kicker,
.dom-v23-section-kicker{
    display:flex;
    align-items:center;
    gap:11px;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:12px;
    font-weight:700;
}

.dom-v23-kicker{
    color:#fff;
}

.dom-v23-section-kicker{
    color:#25282b;
}

.dom-v23-kicker span,
.dom-v23-section-kicker span{
    width:31px;
    height:3px;
    background:var(--v23-pink);
    flex:0 0 31px;
}

.dom-v23-section-kicker.is-centered{
    justify-content:center;
}

.dom-v23-hero h1{
    margin:12px 0 19px !important;
    color:#fff !important;
    font-family:'Cormorant Garamond',Georgia,serif !important;
    font-size:clamp(76px,7.1vw,112px) !important;
    line-height:.72 !important;
    letter-spacing:-.035em;
}

.dom-v23-hero h1 em{
    display:block;
    margin-top:17px;
    color:var(--v23-gold);
    font-style:normal;
}

.dom-v23-hero p{
    max-width:590px;
    margin:0;
    color:#fff;
    font-size:15px;
    line-height:1.65;
}

.dom-v23-hero-actions{
    display:flex;
    gap:12px;
    margin-top:27px;
}

.dom-v23-btn{
    min-height:50px;
    padding:0 22px;
    border-radius:6px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid transparent;
    font:700 13px 'Poppins',Arial,sans-serif;
    cursor:pointer;
}

.dom-v23-btn-pink{
    background:var(--v23-pink);
    color:#fff;
}

.dom-v23-btn-outline{
    border-color:rgba(255,255,255,.78);
    color:#fff;
}

.dom-v23-btn-gold{
    background:var(--v23-gold);
    color:#111;
}

.dom-v23-btn-dark-outline{
    background:#fff;
    border-color:#222;
    color:#222;
}

.dom-v23-services,
.dom-v23-fleet,
.dom-v23-reviews{
    padding:70px 0;
    background:#fff;
}

.dom-v23-services-head{
    display:grid;
    grid-template-columns:1.08fr .92fr;
    gap:65px;
    align-items:end;
    margin-bottom:35px;
}

.dom-v23-services h2,
.dom-v23-process h2,
.dom-v23-fleet h2,
.dom-v23-feature h2,
.dom-v23-reviews h2,
.dom-v23-final h2{
    font-family:'Cormorant Garamond',Georgia,serif !important;
    color:var(--v23-text);
    letter-spacing:-.02em;
}

.dom-v23-services h2{
    max-width:700px;
    margin:9px 0 0;
    font-size:clamp(49px,5vw,75px);
    line-height:.96;
}

.dom-v23-services-side{
    display:flex;
    align-items:flex-end;
    gap:30px;
}

.dom-v23-services-side p{
    margin:0;
    max-width:410px;
    color:var(--v23-muted);
    font-size:14px;
    line-height:1.68;
}

.dom-v23-arrows{
    display:flex;
    gap:9px;
    flex:0 0 auto;
}

.dom-v23-arrows button{
    width:42px;
    height:42px;
    border-radius:50%;
    border:1px solid #d5d5d3;
    background:#fff;
    color:#222;
    cursor:pointer;
    font-size:19px;
}

.dom-v23-arrows button.is-pink{
    color:var(--v23-pink);
    border-color:var(--v23-pink);
}

.dom-v23-service-track,
.dom-v23-review-track{
    display:flex;
    gap:18px;
    overflow-x:auto;
    scroll-behavior:smooth;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
}

.dom-v23-service-track::-webkit-scrollbar,
.dom-v23-review-track::-webkit-scrollbar{
    display:none;
}

.dom-v23-service-card{
    flex:0 0 calc((100% - 54px)/4);
    scroll-snap-align:start;
    border:1px solid #e1e1df;
    border-radius:8px;
    overflow:hidden;
    background:#fff;
}

.dom-v23-service-image img,
.dom-v23-service-image .dom-theme-placeholder{
    width:100%;
    aspect-ratio:1.58/1;
    object-fit:cover;
    display:block;
}

.dom-v23-service-body{
    padding:15px 17px 17px;
}

.dom-v23-service-body h3{
    margin:0 0 6px;
    font-size:16px;
    font-weight:500;
}

.dom-v23-service-body p{
    margin:0 0 13px;
    color:var(--v23-muted);
    font-size:13px;
    line-height:1.55;
}

.dom-v23-service-body a,
.dom-v23-explore a{
    color:var(--v23-pink);
    font-size:12px;
    font-weight:700;
}

.dom-v23-dots{
    display:flex;
    justify-content:center;
    gap:7px;
    margin-top:21px;
}

.dom-v23-dots span{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#d2d2d2;
}

.dom-v23-dots span.is-active{
    background:var(--v23-pink);
}

.dom-v23-explore{
    text-align:center;
    margin-top:12px;
}

.dom-v23-process{
    padding:55px 0 65px;
    background:#f5f4f1;
}

.dom-v23-process-head{
    text-align:center;
    margin-bottom:32px;
}

.dom-v23-process h2{
    margin:8px 0 5px;
    font-size:clamp(45px,4.7vw,64px);
}

.dom-v23-process-head > p{
    margin:0;
    color:var(--v23-muted);
    font-size:14px;
}

.dom-v23-process-grid{
    display:grid;
    grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;
    gap:16px;
    align-items:start;
}

.dom-v23-process-item{
    text-align:center;
}

.dom-v23-process-item > span{
    width:44px;
    height:44px;
    margin:0 auto 13px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#fff;
    font-weight:700;
}

.dom-v23-process-item > span.is-pink{background:var(--v23-pink)}
.dom-v23-process-item > span.is-orange{background:var(--v23-orange)}

.dom-v23-process-item h3{
    margin:0 0 4px;
    font-size:15px;
    font-weight:500;
}

.dom-v23-process-item p{
    max-width:250px;
    margin:0 auto;
    color:var(--v23-muted);
    font-size:13px;
    line-height:1.52;
}

.dom-v23-process-grid > b{
    color:var(--v23-pink);
    font-size:27px;
    line-height:44px;
}

.dom-v23-fleet h2{
    margin:8px 0 5px;
    font-size:clamp(48px,4.9vw,70px);
}

.dom-v23-fleet-intro{
    margin:0 0 27px;
    color:var(--v23-muted);
    font-size:14px;
}

.dom-v23-fleet-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}

.dom-v23-fleet-grid article{
    border:1px solid #e1e1df;
    border-radius:8px;
    overflow:hidden;
}

.dom-v23-fleet-grid article > img,
.dom-v23-fleet-grid article > .dom-theme-placeholder{
    width:100%;
    aspect-ratio:1.65/1;
    object-fit:cover;
    display:block;
}

.dom-v23-fleet-grid article > div:last-child{
    padding:13px 15px 15px;
}

.dom-v23-fleet-grid h3{
    margin:0 0 4px;
    font-size:17px;
    font-weight:500;
}

.dom-v23-fleet-grid p{
    margin:0;
    color:var(--v23-muted);
    font-size:12.5px;
    line-height:1.5;
}

.dom-v23-feature{
    padding:70px 0;
    background:#f5f4f1;
}

.dom-v23-feature-grid{
    display:grid;
    grid-template-columns:.78fr 1.22fr;
    gap:60px;
    align-items:center;
}

.dom-v23-feature h2{
    margin:8px 0 13px;
    max-width:420px;
    font-size:clamp(49px,4.8vw,68px);
    line-height:.94;
}

.dom-v23-feature-copy p{
    max-width:450px;
    margin:0 0 22px;
    color:var(--v23-muted);
    font-size:14px;
    line-height:1.68;
}

.dom-v23-feature-media{
    position:relative;
    overflow:hidden;
    border-radius:8px;
}

.dom-v23-feature-media > img,
.dom-v23-feature-media > .dom-theme-placeholder{
    width:100%;
    aspect-ratio:1.75/1;
    object-fit:cover;
    display:block;
}

.dom-v23-feature-media > a{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    width:66px;
    height:66px;
    border:2px solid #fff;
    border-radius:50%;
    display:grid;
    place-items:center;
    color:#fff;
    font-size:22px;
}

.dom-v23-review-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:30px;
    margin-bottom:28px;
}

.dom-v23-reviews h2{
    margin:8px 0 0;
    font-size:clamp(48px,4.8vw,70px);
}

.dom-v23-review-controls{
    display:flex;
    align-items:center;
    gap:13px;
}

#domV23ReviewOpen{
    min-height:44px;
    padding:0 20px;
    border:1px solid #222;
    border-radius:6px;
    background:#fff;
    color:#222;
    font:500 13px 'Poppins',Arial,sans-serif;
    cursor:pointer;
}

.dom-v23-review-card{
    position:relative;
    flex:0 0 calc((100% - 36px)/3);
    min-height:220px;
    padding:22px;
    border:1px solid #e3e3e1;
    border-radius:8px;
    scroll-snap-align:start;
}

.dom-v23-review-card .stars{
    color:var(--v23-orange);
    font-size:17px;
    letter-spacing:1px;
}

.dom-v23-review-card i{
    position:absolute;
    right:18px;
    top:10px;
    color:#ee9fc4;
    font:46px Georgia,serif;
    line-height:1;
}

.dom-v23-review-card p{
    margin:10px 0 16px;
    color:#42474d;
    font-size:13px;
    line-height:1.65;
}

.dom-v23-review-card strong{
    font-size:13px;
}

.dom-v23-review-form{
    margin-top:56px;
    padding:32px;
    border:1px solid #edc7d7;
    border-radius:9px;
    background:#fffdfe;
}

.dom-v23-review-form[hidden]{
    display:none !important;
}

.dom-v23-review-form-head{
    display:flex;
    justify-content:space-between;
    gap:30px;
    margin-bottom:25px;
}

.dom-v23-review-form-head h2{
    margin:7px 0;
    font-size:clamp(42px,4vw,58px);
}

.dom-v23-review-form-head p{
    margin:0;
    color:var(--v23-muted);
    font-size:13px;
}

#domV23ReviewClose{
    width:42px;
    height:42px;
    flex:0 0 42px;
    border:1px solid #d7d7d5;
    border-radius:50%;
    background:#fff;
    color:#333;
    font-size:21px;
    cursor:pointer;
}

.dom-v23-review-fields{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:17px;
}

.dom-v23-review-fields label{
    display:flex;
    flex-direction:column;
    gap:6px;
    font-size:12px;
    font-weight:600;
}

.dom-v23-review-fields label.full{
    grid-column:1/-1;
}

.dom-v23-review-fields input,
.dom-v23-review-fields select,
.dom-v23-review-fields textarea{
    width:100%;
    border:1px solid #d6d8db;
    border-radius:5px;
    background:#fff;
    padding:12px 13px;
    color:#222;
    font:14px 'Poppins',Arial,sans-serif;
}

.dom-v23-review-actions{
    display:flex;
    justify-content:flex-end;
    gap:10px;
    margin-top:18px;
}

.dom-v23-final{
    position:relative;
    min-height:260px;
    display:flex;
    align-items:center;
    background:#143945 center/cover no-repeat;
    color:#fff;
}

.dom-v23-final-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(0,25,33,.84),rgba(0,25,33,.2));
}

.dom-v23-final-inner{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:50px;
}

.dom-v23-final h2{
    margin:6px 0 5px;
    color:#fff !important;
    font-size:clamp(50px,4.8vw,70px);
    line-height:.95;
}

.dom-v23-final p{
    max-width:650px;
    margin:0;
    color:#fff;
    font-size:14px;
}

/* News article inside managed shell */
.dom-v23-news-single{
    padding:70px 0 80px;
    background:#fff;
}

.dom-v23-news-single h1{
    max-width:900px;
    margin:10px auto 5px;
    text-align:center;
    font:700 clamp(52px,6vw,82px)/.96 'Cormorant Garamond',Georgia,serif;
}

.dom-v23-news-date{
    text-align:center;
    color:#73787d;
    font-size:13px;
}

.dom-v23-news-image{
    max-width:1000px;
    margin:32px auto;
}

.dom-v23-news-image img{
    width:100%;
    border-radius:8px;
}

.dom-v23-news-content{
    max-width:820px;
    margin:0 auto;
    line-height:1.8;
}

/* TABLET */
@media(max-width:1023px){
    .dom-theme-follow{display:none}
    .dom-theme-topbar-contact{width:100%;justify-content:center}
    .dom-v23-services-head{grid-template-columns:1fr;gap:18px}
    .dom-v23-service-card{flex-basis:calc((100% - 18px)/2)}
    .dom-v23-process-grid{grid-template-columns:1fr 1fr;gap:28px 24px}
    .dom-v23-process-grid > b{display:none}
    .dom-v23-feature-grid{grid-template-columns:1fr}
    .dom-v23-review-card{flex-basis:calc((100% - 18px)/2)}
}

/* MOBILE */
@media(max-width:767px){
    .dom-theme-topbar-address{display:none}
    .dom-theme-topbar-contact{gap:12px}

    .dom-v23-hero{
        min-height:600px;
        align-items:flex-end;
    }

    .dom-v23-overlay{
        background:linear-gradient(0deg,rgba(4,7,9,.9),rgba(4,7,9,.54) 67%,rgba(4,7,9,.18));
    }

    .dom-v23-hero-inner{
        padding-top:55px;
        padding-bottom:46px;
    }

    .dom-v23-hero h1{
        font-size:62px !important;
        line-height:.75 !important;
    }

    .dom-v23-hero p{
        font-size:13px;
    }

    .dom-v23-hero-actions{
        flex-direction:column;
    }

    .dom-v23-hero-actions .dom-v23-btn{
        width:100%;
    }

    .dom-v23-services,
    .dom-v23-fleet,
    .dom-v23-feature,
    .dom-v23-reviews{
        padding:52px 0;
    }

    .dom-v23-services h2,
    .dom-v23-fleet h2,
    .dom-v23-feature h2,
    .dom-v23-reviews h2{
        font-size:42px;
    }

    .dom-v23-services-side{
        align-items:center;
    }

    .dom-v23-service-card{
        flex-basis:88%;
    }

    .dom-v23-process{
        padding:48px 0;
    }

    .dom-v23-process h2{
        font-size:39px;
    }

    .dom-v23-process-grid{
        grid-template-columns:1fr;
    }

    .dom-v23-fleet-grid{
        grid-template-columns:1fr;
    }

    .dom-v23-review-head{
        flex-direction:column;
        align-items:flex-start;
    }

    .dom-v23-review-controls{
        width:100%;
        justify-content:space-between;
    }

    .dom-v23-review-card{
        flex-basis:88%;
    }

    .dom-v23-review-form{
        padding:23px 18px;
        margin-top:38px;
    }

    .dom-v23-review-fields{
        grid-template-columns:1fr;
    }

    .dom-v23-review-fields label.full{
        grid-column:auto;
    }

    .dom-v23-review-actions{
        flex-direction:column-reverse;
    }

    .dom-v23-review-actions .dom-v23-btn{
        width:100%;
    }

    .dom-v23-final{
        min-height:330px;
        padding:45px 0;
    }

    .dom-v23-final-inner{
        flex-direction:column;
        align-items:flex-start;
    }

    .dom-v23-final .dom-v23-btn{
        width:100%;
    }
}

@media(max-width:430px){
    .dom-theme-topbar-contact a[href^="mailto:"]{display:none}
    .dom-v23-hero h1{font-size:54px !important}
    .dom-v23-service-card,
    .dom-v23-review-card{flex-basis:92%}
    .dom-v23-services-side{flex-direction:column;align-items:flex-start}
}

/* =========================================================
   v2.4 DEMO-MATCHED MANAGED PAGES
   Home keeps the approved v2.3 layout. Services, About,
   Contact, News and Booking follow the approved demo pages.
   ========================================================= */

.dominion-site-shell .dom-demo-page,
.dominion-site-shell .dom-demo-booking{
    --demo-pink:#c6005a;
    --demo-pink2:#e4006c;
    --demo-mustard:#d49a21;
    --demo-orange:#f58220;
    --demo-charcoal:#111315;
    --demo-ink:#1f2328;
    --demo-muted:#6d7178;
    --demo-line:#e7e7e5;
    --demo-soft:#f6f5f2;
    --demo-blush:#fff3f7;
    width:100%;
    max-width:none;
    margin:0;
    color:var(--demo-ink);
    font-family:'Poppins',Arial,sans-serif;
    line-height:1.55;
}

.dominion-site-shell .dom-demo-page *,
.dominion-site-shell .dom-demo-booking *{box-sizing:border-box}

.dominion-site-shell .dom-demo-page img,
.dominion-site-shell .dom-demo-booking img{display:block;max-width:100%}

.dominion-site-shell .dom-demo-section{padding:72px 0;background:#fff}
.dominion-site-shell .dom-demo-section-sm{padding:42px 0}
.dominion-site-shell .dom-demo-soft{background:var(--demo-soft)}

.dominion-site-shell .dom-demo-eyebrow{
    display:flex;
    align-items:center;
    gap:12px;
    font-size:.75rem;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.dominion-site-shell .dom-demo-eyebrow:before{
    content:"";
    width:32px;
    height:3px;
    background:var(--demo-mustard);
    display:block;
    flex:0 0 32px;
}
.dominion-site-shell .dom-demo-eyebrow-center{justify-content:center}

.dominion-site-shell .dom-demo-section-title{
    font-size:clamp(2rem,4vw,3.45rem);
    line-height:.98;
    margin:10px 0;
    font-weight:700;
}
.dominion-site-shell .dom-demo-section-sub,
.dominion-site-shell .dom-demo-muted{color:var(--demo-muted)}

.dominion-site-shell .dom-demo-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border-radius:7px;
    padding:14px 22px;
    text-decoration:none;
    border:1px solid transparent;
    font-weight:700;
    transition:.2s ease;
    min-height:48px;
    font-family:'Poppins',Arial,sans-serif;
    cursor:pointer;
}
.dominion-site-shell .dom-demo-btn:hover{transform:translateY(-1px)}
.dominion-site-shell .dom-demo-btn-pink{background:var(--demo-pink);color:#fff}
.dominion-site-shell .dom-demo-btn-pink:hover{background:var(--demo-pink2);color:#fff}
.dominion-site-shell .dom-demo-btn-outline-dark{border-color:#222;color:#222;background:#fff}
.dominion-site-shell .dom-demo-btn-whatsapp{background:#25d366;color:#fff}
.dominion-site-shell .dom-demo-text-link{font-weight:700;color:var(--demo-pink);text-decoration:none;border:0;background:none;cursor:pointer}

/* Inner page hero */
.dominion-site-shell .dom-demo-hero{
    position:relative;
    min-height:470px;
    display:flex;
    align-items:center;
    overflow:hidden;
    background:#111;
    color:#fff;
}
.dominion-site-shell .dom-demo-hero-small{min-height:360px}
.dominion-site-shell .dom-demo-hero-media,
.dominion-site-shell .dom-demo-hero-media img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
}
.dominion-site-shell .dom-demo-hero:after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.56) 36%,rgba(0,0,0,.1) 68%,rgba(0,0,0,.2) 100%);
}
.dominion-site-shell .dom-demo-hero-content{
    position:relative;
    z-index:2;
    padding:55px 0;
    max-width:650px;
}
.dominion-site-shell .dom-demo-hero-content .dom-demo-eyebrow{color:#fff}
.dominion-site-shell .dom-demo-hero h1{
    margin:13px 0 18px !important;
    color:#fff !important;
    font-family:'Poppins',Arial,sans-serif !important;
    font-size:clamp(2.8rem,5vw,4.6rem) !important;
    line-height:1 !important;
    font-weight:700;
}
.dominion-site-shell .dom-demo-hero h1 span{color:#fff}
.dominion-site-shell .dom-demo-hero p{font-size:1rem;max-width:620px;color:#f0f0f0;margin:0}
.dominion-site-shell .dom-demo-hero-badges{display:flex;gap:28px;margin-top:24px;flex-wrap:wrap}
.dominion-site-shell .dom-demo-hero-badges div{display:flex;gap:10px;align-items:center;font-weight:600;font-size:.9rem}
.dominion-site-shell .dom-demo-hero-badges b{color:var(--demo-orange);font-size:1.35rem}

/* Services */
.dominion-site-shell .dom-demo-section-head{
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:30px;
    margin-bottom:28px;
}
.dominion-site-shell .dom-demo-section-head>div:last-child{max-width:520px}
.dominion-site-shell .dom-demo-cards4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.dominion-site-shell .dom-demo-card{
    background:#fff;
    border:1px solid var(--demo-line);
    border-radius:8px;
    overflow:hidden;
    box-shadow:0 8px 24px rgba(0,0,0,.04);
}
.dominion-site-shell .dom-demo-card>img,
.dominion-site-shell .dom-demo-card>.dom-theme-placeholder{
    width:100%;aspect-ratio:16/10;object-fit:cover;display:block;
}
.dominion-site-shell .dom-demo-card-body{padding:18px}
.dominion-site-shell .dom-demo-card h3{margin:0 0 6px;font-size:1.15rem}
.dominion-site-shell .dom-demo-card p{color:var(--demo-muted);margin:0 0 12px;font-size:.9rem}
.dominion-site-shell .dom-demo-custom-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:25px;
    flex-wrap:wrap;
}
.dominion-site-shell .dom-demo-custom-row h2{margin:0}
.dominion-site-shell .dom-demo-custom-row p{margin:8px 0 0;color:var(--demo-muted)}

/* About + experience */
.dominion-site-shell .dom-demo-about-grid{
    display:grid;
    grid-template-columns:1fr 1.35fr;
    gap:54px;
    align-items:center;
}
.dominion-site-shell .dom-demo-about-grid p{margin:0 0 15px;color:#30343a}
.dominion-site-shell .dom-demo-team-photo{position:relative}
.dominion-site-shell .dom-demo-team-photo img{border-radius:7px;width:100%}
.dominion-site-shell .dom-demo-image-label{
    position:absolute;
    left:18px;
    bottom:18px;
    background:rgba(17,19,21,.86);
    color:#fff;
    padding:10px 15px;
    border-left:4px solid var(--demo-mustard);
    font-weight:600;
}
.dominion-site-shell .dom-demo-script{font-family:Georgia,serif;font-style:italic;font-size:2rem;margin-top:20px}
.dominion-site-shell .dom-demo-values{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.dominion-site-shell .dom-demo-value{text-align:center;padding:28px;border-right:1px solid var(--demo-line)}
.dominion-site-shell .dom-demo-value:last-child{border-right:0}
.dominion-site-shell .dom-demo-value-icon{
    width:52px;height:52px;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;
    background:var(--demo-blush);color:var(--demo-pink);font-size:1.5rem;
}
.dominion-site-shell .dom-demo-value:nth-child(odd) .dom-demo-value-icon{color:var(--demo-orange);background:#fff4e8}
.dominion-site-shell .dom-demo-value h3{font-size:1rem;margin:0 0 8px}
.dominion-site-shell .dom-demo-value p{font-size:.86rem;color:var(--demo-muted);margin:0}
.dominion-site-shell .dom-demo-experience{position:relative;color:#fff;min-height:360px;display:flex;align-items:center;overflow:hidden}
.dominion-site-shell .dom-demo-experience>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dominion-site-shell .dom-demo-experience:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.18))}
.dominion-site-shell .dom-demo-experience .dom-theme-shell{position:relative;z-index:2}
.dominion-site-shell .dom-demo-experience-copy{max-width:520px}
.dominion-site-shell .dom-demo-experience-copy .dom-demo-section-title,
.dominion-site-shell .dom-demo-experience-copy .dom-demo-eyebrow{color:#fff}
.dominion-site-shell .dom-demo-experience-copy p{color:#fff}
.dominion-site-shell .dom-demo-centered-cta{text-align:center;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.dominion-site-shell .dom-demo-centered-cta>div{flex:1;min-width:260px}
.dominion-site-shell .dom-demo-centered-cta h2{margin:7px 0}
.dominion-site-shell .dom-demo-centered-cta p{color:var(--demo-muted)}

/* Contact */
.dominion-site-shell .dom-demo-contact-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:36px}
.dominion-site-shell .dom-demo-panel{border:1px solid var(--demo-line);border-radius:9px;padding:26px;background:#fff}
.dominion-site-shell .dom-demo-contact-title{font-size:2.5rem}
.dominion-site-shell .dom-demo-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.dominion-site-shell .dom-demo-form-group{display:grid;gap:7px}
.dominion-site-shell .dom-demo-form-group.dom-demo-full{grid-column:1/-1}
.dominion-site-shell .dom-demo-form-group label{font-weight:600;font-size:.88rem}
.dominion-site-shell .dom-demo-form-group input,
.dominion-site-shell .dom-demo-form-group select,
.dominion-site-shell .dom-demo-form-group textarea{
    width:100%;padding:13px 14px;border:1px solid #d7dce1;border-radius:6px;background:#fff;
    font:inherit;outline:none;
}
.dominion-site-shell .dom-demo-form-group input:focus,
.dominion-site-shell .dom-demo-form-group select:focus,
.dominion-site-shell .dom-demo-form-group textarea:focus{border-color:var(--demo-pink);box-shadow:0 0 0 3px rgba(198,0,90,.06)}
.dominion-site-shell .dom-demo-form-group textarea{min-height:130px;resize:vertical}
.dominion-site-shell .dom-demo-contact-list{display:grid;gap:15px;margin-top:18px}
.dominion-site-shell .dom-demo-contact-item{display:flex;gap:14px;align-items:flex-start}
.dominion-site-shell .dom-demo-contact-ico{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--demo-pink);color:#fff;flex:0 0 42px}
.dominion-site-shell .dom-demo-contact-item a{color:var(--demo-ink);text-decoration:none}
.dominion-site-shell .dom-demo-contact-item span{color:var(--demo-muted);font-size:.9rem}
.dominion-site-shell .dom-demo-quick-buttons{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}
.dominion-site-shell .dom-demo-map{height:230px;border-radius:8px;overflow:hidden;border:1px solid var(--demo-line)}
.dominion-site-shell .dom-demo-map iframe{width:100%;height:100%;border:0;display:block}
.dominion-site-shell .dom-demo-contact-message{margin-top:10px;color:var(--demo-pink);font-size:.85rem;font-weight:600}

/* News */
.dominion-site-shell .dom-demo-news-layout{display:grid;grid-template-columns:230px 1fr;gap:30px}
.dominion-site-shell .dom-demo-news-side{display:grid;gap:20px;align-content:start}
.dominion-site-shell .dom-demo-side-card{border:1px solid var(--demo-line);border-radius:8px;padding:20px;background:#fff}
.dominion-site-shell .dom-demo-side-card h3{margin-top:0}
.dominion-site-shell .dom-demo-categories a{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--demo-line);text-decoration:none;color:var(--demo-ink)}
.dominion-site-shell .dom-demo-categories a.is-active{color:var(--demo-pink)}
.dominion-site-shell .dom-demo-subscribe{background:var(--demo-blush)}
.dominion-site-shell .dom-demo-subscribe input{width:100%;padding:13px;border:1px solid #ddd;border-radius:6px;margin:8px 0 10px}
.dominion-site-shell .dom-demo-news-side-image{padding:0;overflow:hidden}
.dominion-site-shell .dom-demo-news-side-image img{width:100%}
.dominion-site-shell .dom-demo-news-side-image>div{padding:18px}
.dominion-site-shell .dom-demo-news-side-image small{font-weight:700;color:var(--demo-muted)}
.dominion-site-shell .dom-demo-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.dominion-site-shell .dom-demo-news-card{border:1px solid var(--demo-line);border-radius:8px;overflow:hidden;background:#fff}
.dominion-site-shell .dom-demo-news-card>a>img,
.dominion-site-shell .dom-demo-news-card>a>.dom-theme-placeholder{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.dominion-site-shell .dom-demo-news-card-body{padding:16px}
.dominion-site-shell .dom-demo-tag{display:inline-block;background:var(--demo-pink);color:#fff;padding:4px 8px;border-radius:999px;font-size:.65rem;font-weight:700;text-transform:uppercase}
.dominion-site-shell .dom-demo-meta{font-size:.75rem;color:var(--demo-muted);margin-left:8px}
.dominion-site-shell .dom-demo-news-card h3{margin:12px 0 7px;font-size:1.05rem}
.dominion-site-shell .dom-demo-news-card h3 a{color:var(--demo-ink);text-decoration:none}
.dominion-site-shell .dom-demo-news-card p{color:var(--demo-muted);font-size:.88rem;margin:0 0 11px}
.dominion-site-shell .dom-demo-pagination{display:flex;justify-content:center;gap:8px;margin-top:28px}
.dominion-site-shell .dom-demo-pagination a{width:42px;height:42px;border-radius:50%;border:1px solid var(--demo-line);background:#fff;display:grid;place-items:center;color:var(--demo-ink);text-decoration:none}
.dominion-site-shell .dom-demo-pagination a.is-active{background:var(--demo-pink);color:#fff;border-color:var(--demo-pink)}
.dominion-site-shell .dom-demo-news-cta{background:linear-gradient(90deg,#fff,#fff3f7)}
.dominion-site-shell .dom-demo-empty{padding:30px;background:var(--demo-soft);border-radius:8px;text-align:center;color:var(--demo-muted)}

/* Booking */
.dominion-site-shell .dom-demo-booking-wrap{padding:34px 0 0;background:#fff}
.dominion-site-shell .dom-demo-breadcrumbs{font-size:.78rem;color:var(--demo-muted);margin-bottom:18px}
.dominion-site-shell .dom-demo-breadcrumbs a{color:inherit;text-decoration:none}
.dominion-site-shell .dom-demo-progress{display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:18px !important;margin:8px 0 28px !important;border:0 !important;border-radius:0 !important;overflow:visible !important}
.dominion-site-shell .dom-demo-progress-step{
    position:relative !important;
    min-height:unset !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:7px !important;
    border:0 !important;
    background:transparent !important;
    color:var(--demo-ink) !important;
    text-align:center !important;
    padding:0 !important;
}
.dominion-site-shell .dom-demo-progress-step:before{content:"";position:absolute;top:21px;left:-50%;right:50%;height:1px;background:#d8d8d8;z-index:0}
.dominion-site-shell .dom-demo-progress-step:first-child:before{display:none}
.dominion-site-shell .dom-demo-progress-step>span{
    position:relative;z-index:1;width:44px !important;height:44px !important;border-radius:50% !important;background:#e8e8e8 !important;display:grid !important;place-items:center !important;margin:0 auto !important;font-weight:700 !important;color:#222 !important;
}
.dominion-site-shell .dom-demo-progress-step.is-active>span,
.dominion-site-shell .dom-demo-progress-step.is-complete>span{background:var(--demo-pink) !important;color:#fff !important}
.dominion-site-shell .dom-demo-progress-step.is-complete>span{font-size:0}
.dominion-site-shell .dom-demo-progress-step.is-complete>span:after{content:"✓";font-size:1rem}
.dominion-site-shell .dom-demo-progress-step strong{display:block;font-size:.9rem}
.dominion-site-shell .dom-demo-progress-step small{display:block;color:var(--demo-muted);font-size:.75rem}
.dominion-site-shell .dom-demo-booking-grid{display:grid;grid-template-columns:1.55fr .8fr;gap:24px;padding-bottom:42px}
.dominion-site-shell .dom-demo-booking-card{border:1px solid var(--demo-line);border-radius:9px;background:#fff;padding:26px}
.dominion-site-shell .dom-demo-booking-card h2{margin:3px 0 6px;font-size:2rem}
.dominion-site-shell .dom-demo-booking-card h3{margin-top:0}
.dominion-site-shell .dom-plugin-step{display:none}
.dominion-site-shell .dom-plugin-step.is-active{display:block}
.dominion-site-shell .dom-plugin-service-fields{display:none}
.dominion-site-shell .dom-plugin-service-fields.is-visible{display:block}
.dominion-site-shell .dom-demo-resident-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.dominion-site-shell .dom-demo-notice{margin-top:18px;padding:18px;border-radius:8px;background:linear-gradient(135deg,#fff0f6,#fff7fa);border:1px solid #f6d6e3;display:flex;gap:10px;align-items:flex-start}
.dominion-site-shell label.dom-demo-notice{margin-top:0;cursor:pointer}
.dominion-site-shell .dom-demo-notice.is-white{background:#fff}
.dominion-site-shell .dom-demo-notice span{display:block}
.dominion-site-shell .dom-demo-notice strong{display:block;margin-bottom:5px}
.dominion-site-shell .dom-demo-notice small{display:block;color:var(--demo-muted);line-height:1.55}
.dominion-site-shell .dom-demo-booking-actions{display:flex;justify-content:space-between;gap:12px;margin-top:18px}
.dominion-site-shell .dom-demo-summary-image{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:7px;margin-bottom:18px}
.dominion-site-shell .dom-demo-booking-side{display:grid;gap:16px;align-content:start}
.dominion-site-shell .dom-demo-help-list{display:grid;gap:10px;margin-top:15px}
.dominion-site-shell .dom-demo-help-list a,
.dominion-site-shell .dom-demo-help-list span{color:var(--demo-ink);text-decoration:none;font-size:.88rem}
.dominion-site-shell .dom-demo-booking-summary{display:grid;gap:10px}
.dominion-site-shell .dom-demo-booking-summary>div{display:flex;justify-content:space-between;gap:20px;padding-bottom:10px;border-bottom:1px solid var(--demo-line);font-size:.86rem}
.dominion-site-shell .dom-demo-booking-summary>div:last-child{border-bottom:0}
.dominion-site-shell .dom-demo-booking-summary span{font-weight:600}
.dominion-site-shell .dom-demo-review-title-row{display:flex;justify-content:space-between;gap:18px;align-items:center}
.dominion-site-shell .dom-demo-review .dom-plugin-review-group{border:1px solid var(--demo-line);border-radius:8px;padding:18px;margin-top:12px}
.dominion-site-shell .dom-demo-review .dom-plugin-review-group h3{margin:0 0 12px;font-size:1rem}
.dominion-site-shell .dom-demo-review .dom-plugin-review-row{display:grid;grid-template-columns:42% 58%;gap:12px;font-size:.86rem;margin:7px 0}
.dominion-site-shell .dom-demo-review .dom-plugin-review-row span{color:var(--demo-muted)}
.dominion-site-shell .dom-demo-consent{margin-top:18px;display:flex;gap:10px;align-items:flex-start;background:var(--demo-soft);padding:15px;border-radius:7px;font-size:.83rem}
.dominion-site-shell .dom-demo-confirmation{text-align:center}
.dominion-site-shell .dom-demo-success-icon{width:82px;height:82px;border-radius:50%;background:var(--demo-pink);color:#fff;display:grid;place-items:center;font-size:2rem;margin:0 auto 18px}
.dominion-site-shell .dom-demo-reference{max-width:420px;margin:22px auto;padding:18px;border-radius:8px;background:#fff3f7}
.dominion-site-shell .dom-demo-reference small{display:block;color:var(--demo-muted)}
.dominion-site-shell .dom-demo-reference strong{display:block;color:var(--demo-pink);font-size:1.25rem}
.dominion-site-shell #domPluginSidebar[hidden],
.dominion-site-shell #domPluginSidebarSummary[hidden]{display:none !important}

/* Review form MUST be closed on load and only visible after clicking Leave a Review */
.dominion-site-shell #domV23ReviewFormWrap{
    display:none !important;
}
.dominion-site-shell #domV23ReviewFormWrap.is-open{
    display:block !important;
}

/* Responsive */
@media(max-width:1024px){
    .dominion-site-shell .dom-demo-cards4{grid-template-columns:repeat(2,1fr)}
    .dominion-site-shell .dom-demo-news-grid{grid-template-columns:repeat(2,1fr)}
    .dominion-site-shell .dom-demo-values{grid-template-columns:repeat(2,1fr)}
    .dominion-site-shell .dom-demo-value:nth-child(2){border-right:0}
}

@media(max-width:820px){
    .dominion-site-shell .dom-demo-section{padding:56px 0}
    .dominion-site-shell .dom-demo-hero{min-height:520px}
    .dominion-site-shell .dom-demo-hero:after{background:rgba(0,0,0,.58)}
    .dominion-site-shell .dom-demo-hero-content{max-width:640px}
    .dominion-site-shell .dom-demo-hero h1{font-size:4rem !important}
    .dominion-site-shell .dom-demo-section-head{display:block}
    .dominion-site-shell .dom-demo-section-head>p{margin-top:16px}
    .dominion-site-shell .dom-demo-about-grid,
    .dominion-site-shell .dom-demo-contact-layout,
    .dominion-site-shell .dom-demo-booking-grid,
    .dominion-site-shell .dom-demo-news-layout{grid-template-columns:1fr}
    .dominion-site-shell .dom-demo-news-grid{grid-template-columns:repeat(2,1fr)}
    .dominion-site-shell .dom-demo-values{grid-template-columns:repeat(2,1fr)}
    .dominion-site-shell .dom-demo-booking-side{grid-row:auto}
}

@media(max-width:600px){
    .dominion-site-shell .dom-demo-hero{min-height:560px}
    .dominion-site-shell .dom-demo-hero h1{font-size:3.3rem !important}
    .dominion-site-shell .dom-demo-hero-badges{gap:14px}
    .dominion-site-shell .dom-demo-hero-small{min-height:390px}
    .dominion-site-shell .dom-demo-cards4,
    .dominion-site-shell .dom-demo-news-grid,
    .dominion-site-shell .dom-demo-form-grid,
    .dominion-site-shell .dom-demo-values{grid-template-columns:1fr}
    .dominion-site-shell .dom-demo-value{border-right:0;border-bottom:1px solid var(--demo-line)}
    .dominion-site-shell .dom-demo-value:last-child{border-bottom:0}
    .dominion-site-shell .dom-demo-section-title{font-size:2.45rem}
    .dominion-site-shell .dom-demo-custom-row,
    .dominion-site-shell .dom-demo-centered-cta{align-items:flex-start;flex-direction:column;text-align:left}
    .dominion-site-shell .dom-demo-centered-cta .dom-demo-eyebrow{justify-content:flex-start}
    .dominion-site-shell .dom-demo-custom-row .dom-demo-btn,
    .dominion-site-shell .dom-demo-centered-cta .dom-demo-btn{width:100%}
    .dominion-site-shell .dom-demo-progress{gap:5px !important}
    .dominion-site-shell .dom-demo-progress-step small{display:none}
    .dominion-site-shell .dom-demo-progress-step strong{font-size:.72rem}
    .dominion-site-shell .dom-demo-booking-card{padding:18px}
    .dominion-site-shell .dom-demo-booking-actions{flex-direction:column-reverse}
    .dominion-site-shell .dom-demo-booking-actions .dom-demo-btn{width:100%}
    .dominion-site-shell .dom-demo-review .dom-plugin-review-row{grid-template-columns:1fr}
    .dominion-site-shell .dom-demo-review .dom-plugin-review-row span{font-weight:600}
    .dominion-site-shell .dom-demo-resident-grid{grid-template-columns:1fr}
    .dominion-site-shell .dom-demo-quick-buttons{flex-direction:column}
    .dominion-site-shell .dom-demo-quick-buttons .dom-demo-btn{width:100%}
}

.dominion-site-shell .dom-demo-booking .dom-plugin-form{width:100% !important;max-width:none !important;margin:0 !important;}


/* =========================================================
   v2.5 HOME HERO MULTI-VIDEO ROTATION
   ========================================================= */
.dom-v23-hero{
    isolation:isolate;
}

.dom-v23-video-stage{
    position:absolute;
    inset:0;
    z-index:0;
    overflow:hidden;
    background:transparent;
    pointer-events:none;
}

.dom-v23-hero-video{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:0;
    transform:scale(1.01);
    transition:opacity 1.15s ease;
    background:transparent;
}

.dom-v23-hero-video.is-active{
    opacity:1;
}

.dom-v23-overlay{
    z-index:1;
}

.dom-v23-hero-inner{
    z-index:2;
}

/* Keep fallback/poster visible until a video is ready. */
.dom-v23-hero.has-video{
    background-position:center;
    background-size:cover;
}

@media (prefers-reduced-motion: reduce){
    .dom-v23-hero-video{
        transition:none;
    }
}


/* v2.6 real inline SVG icons on managed pages */
.dominion-site-shell .dom-demo-svg-icon,
.dominion-site-shell .dom-real-icon{
    display:inline-grid;
    place-items:center;
}

.dominion-site-shell .dom-demo-svg-icon svg,
.dominion-site-shell .dom-real-icon svg{
    width:22px;
    height:22px;
    display:block;
    fill:currentColor;
}

.dominion-site-shell .dom-demo-contact-ico.dom-demo-svg-icon svg{
    width:18px;
    height:18px;
}

.dominion-site-shell .dom-demo-value-icon.dom-demo-svg-icon svg{
    width:21px;
    height:21px;
}


/* v2.7 management/layout refinements */
.dominion-site-shell .dom-demo-about-cta{border-top:1px solid rgba(0,0,0,.04);border-bottom:1px solid rgba(0,0,0,.04)}
.dominion-site-shell .dom-demo-centered-cta-left{text-align:left}
.dominion-site-shell .dom-demo-centered-cta-left>div{text-align:left}
.dominion-site-shell .dom-demo-centered-cta-left .dom-demo-eyebrow{justify-content:flex-start}
.dominion-site-shell .dom-demo-centered-cta-left .dom-demo-btn{margin-left:auto;flex:0 0 auto}

.dominion-site-shell .dom-theme-gallery-grid{
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    grid-auto-flow:dense;
    gap:16px;
}
.dominion-site-shell .dom-theme-gallery-item{grid-column:span 4;min-height:250px;position:relative}
.dominion-site-shell .dom-theme-gallery-item:nth-child(7n+1),
.dominion-site-shell .dom-theme-gallery-item:nth-child(7n+5){grid-column:span 8}
.dominion-site-shell .dom-theme-gallery-item img{width:100%;height:100%;min-height:250px;aspect-ratio:auto;object-fit:cover;transition:transform .35s ease}
.dominion-site-shell .dom-theme-gallery-item:hover img{transform:scale(1.025)}

.dominion-site-shell .dom-demo-news-card{display:flex;flex-direction:column;height:100%;box-shadow:0 8px 26px rgba(0,0,0,.04)}
.dominion-site-shell .dom-demo-news-card-body{display:flex;flex-direction:column;flex:1}
.dominion-site-shell .dom-demo-news-card-body .dom-demo-text-link{margin-top:auto}

@media(max-width:1000px){
    .dominion-site-shell .dom-theme-gallery-item,
    .dominion-site-shell .dom-theme-gallery-item:nth-child(7n+1),
    .dominion-site-shell .dom-theme-gallery-item:nth-child(7n+5){grid-column:span 6}
}
@media(max-width:767px){
    .dominion-site-shell .dom-demo-centered-cta-left .dom-demo-btn{margin-left:0}
    .dominion-site-shell .dom-theme-gallery-grid{grid-template-columns:1fr}
    .dominion-site-shell .dom-theme-gallery-item,
    .dominion-site-shell .dom-theme-gallery-item:nth-child(7n+1),
    .dominion-site-shell .dom-theme-gallery-item:nth-child(7n+5){grid-column:auto;min-height:220px}
}

/* v2.8 service cards remain visually unchanged when card image/title link to booking */
.dominion-site-shell .dom-v23-service-body h3 a,
.dominion-site-shell .dom-demo-card-body h3 a{
    color:inherit;
    text-decoration:none;
}
.dominion-site-shell .dom-v23-service-image,
.dominion-site-shell .dom-service-card-media-link{
    display:block;
    color:inherit;
    text-decoration:none;
}
.dominion-site-shell .dom-service-card-media-link img{
    width:100%;
    display:block;
}


/* v2.9 equal service-card sizing */
.dominion-site-shell .dom-demo-cards4{
    align-items:stretch;
    grid-auto-rows:1fr;
}
.dominion-site-shell .dom-demo-cards4 > .dom-demo-card{
    display:flex;
    flex-direction:column;
    height:100%;
    min-width:0;
}
.dominion-site-shell .dom-demo-card .dom-service-card-media-link{
    display:block;
    width:100%;
    aspect-ratio:16/10;
    overflow:hidden;
    flex:0 0 auto;
    background:#eee;
}
.dominion-site-shell .dom-demo-card .dom-service-card-media-link img,
.dominion-site-shell .dom-demo-card .dom-service-card-media-link .dom-theme-placeholder{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.dominion-site-shell .dom-demo-card-body{
    display:flex;
    flex-direction:column;
    flex:1 1 auto;
}
.dominion-site-shell .dom-demo-card-body p{flex:1 1 auto;}
.dominion-site-shell .dom-demo-card-body .dom-demo-text-link{margin-top:auto;}

.dominion-site-shell .dom-v23-service-track{align-items:stretch;}
.dominion-site-shell .dom-v23-service-card{display:flex;flex-direction:column;height:auto;}
.dominion-site-shell .dom-v23-service-body{display:flex;flex-direction:column;flex:1 1 auto;}
.dominion-site-shell .dom-v23-service-body p{flex:1 1 auto;}
.dominion-site-shell .dom-v23-service-body > a:last-child{margin-top:auto;}
