/* Southtax 1.2 — consolidated branded templates and footer, no Taxiar dependency. */
:root{--st-v12-title:var(--st-site-primary,var(--st-navy,#202530));--st-v12-accent:var(--st-site-accent,var(--st-gold,#ffc000))}
.st-topbar,.st-topbar a{color:#fff}
.st-topbar a:hover,.st-topbar a:focus-visible{color:var(--st-v12-accent)}
.st-journal-card__title a,.st-journal-card__title a:link,.st-new-card h3 a,.st-new-card h3 a:link,.st-v12-related a,.st-v12-recent,.st-v12-sidebar a:not(.st-button){color:var(--st-v12-title)}
.st-journal-card__title a:hover,.st-journal-card__title a:focus-visible,.st-new-card h3 a:hover,.st-new-card h3 a:focus-visible,.st-v12-related a:hover,.st-v12-sidebar a:not(.st-button):hover{color:#8a6200;text-decoration:underline;text-decoration-color:var(--st-v12-accent);text-underline-offset:3px}
.st-journal-card a:focus-visible,.st-v12-sidebar a:focus-visible,.st-v12-related a:focus-visible{outline:3px solid var(--st-v12-accent);outline-offset:3px}
.st-button--gold,.st-button--gold:hover,.st-button--gold:focus-visible,.st-button--gold:active,.st-promo .st-button,.st-enquiry-submit{background:var(--st-v12-accent);color:var(--st-v12-title)!important;border-color:var(--st-v12-accent)}
.st-button--gold:hover,.st-promo .st-button:hover,.st-enquiry-submit:hover{box-shadow:0 12px 28px rgba(25,33,48,.21);transform:translateY(-2px)}
/* Centered, image-backed page hero with stable height and dark overlay. */
.st-page-banner.st-v12-banner{position:relative;isolation:isolate;min-height:var(--st-v12-banner-height,230px);padding:clamp(45px,6vw,76px) 0;display:flex;align-items:center;background:#202530;overflow:hidden;color:#fff}
.st-v12-banner::before{content:"";position:absolute;inset:0;z-index:-2;background-image:var(--st-v12-banner-image);background-position:center 47%;background-size:cover;background-repeat:no-repeat}
.st-v12-banner::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,#151d2b,#202530);opacity:var(--st-v12-banner-overlay,.75)}
.st-v12-banner .st-shell{position:relative;z-index:1}
.st-v12-banner--center .st-shell,.st-v12-banner--center h1,.st-v12-banner--center .st-eyebrow{text-align:center;margin-left:auto;margin-right:auto}
.st-v12-banner h1{font-size:clamp(1.75rem,4.2vw,3.35rem);max-width:970px;line-height:1.17;margin-top:12px;color:#fff!important;text-wrap:balance}
.st-v12-banner .st-eyebrow{color:var(--st-v12-accent);font-size:clamp(.67rem,.85vw,.8rem);font-weight:800;letter-spacing:.17em}
.st-v12-banner .st-journal-crumb{justify-content:center;color:#fff;max-width:100%}
.st-v12-banner--left .st-journal-crumb{justify-content:flex-start}
.st-v12-banner .st-journal-crumb a{color:#fff}
.st-v12-banner .st-journal-crumb a:hover,.st-v12-banner .st-journal-crumb a:focus-visible{color:var(--st-v12-accent)}
/* Shared responsive grid used by blog, service and ordinary non-Elementor pages. */
.st-v12-content-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,305px);gap:clamp(22px,3.3vw,52px);padding-block:clamp(35px,5.5vw,76px) clamp(50px,6vw,86px);align-items:start}
.st-v12-content-layout.no-sidebar{grid-template-columns:minmax(0,1fr);max-width:min(100%,1080px)}
.st-v12-archive-primary,.st-v12-article,.st-v12-article-copy{min-width:0;overflow-wrap:anywhere}
.st-v12-content-layout.has-sidebar .st-journal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.st-v12-content-layout.no-sidebar .st-journal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.st-v12-content-layout .st-journal-card{box-shadow:0 8px 27px rgba(19,31,52,.075);height:100%}
.st-v12-content-layout .st-journal-card__title a{color:var(--st-v12-title)!important}
.st-v12-content-layout .st-journal-card__title a:hover{color:#8a6200!important}
.st-v12-archive-description{font-size:1rem;color:#455468;margin:0 0 24px}
.st-v12-article .st-article__image,.st-v12-page-featured img{width:100%;height:auto;max-height:480px;object-fit:cover;border-radius:15px}
.st-v12-page-featured{margin:0 0 28px}
.st-v12-article-copy{font-size:1.02rem;line-height:1.85;color:#263347}
.st-v12-article-copy h2,.st-v12-article-copy h3,.st-v12-article-copy h4{color:var(--st-v12-title);line-height:1.3;max-width:100%}
.st-v12-article-copy img{max-width:100%;height:auto;object-fit:contain;border-radius:12px}
.st-v12-article-copy figure{max-width:100%}
.st-v12-article-copy a:not(.st-button){color:#755300;text-decoration:underline;text-underline-offset:3px}
.st-v12-postmeta{color:#586678;font-size:.9rem;margin-bottom:19px}
.st-v12-related{border-top:1px solid #e4e8f0;margin-top:30px;padding-top:23px}
.st-v12-related h2{font-size:1.4rem;margin:0 0 16px}
.st-v12-related__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.st-v12-related a{display:block;border-radius:12px;padding:14px 16px;background:#f4f6f9;font-weight:650;line-height:1.4}
/* Compact functional sidebar. */
.st-v12-sidebar{background:transparent;position:static;padding:0;display:grid;gap:18px}
.st-v12-widget{border:1px solid #e4e9f0;box-shadow:0 8px 24px rgba(20,34,54,.045);background:#f8fafc;border-radius:15px;padding:clamp(17px,2vw,23px);min-width:0}
.st-v12-widget h2{font-size:1.12rem;margin:0 0 14px;padding-bottom:11px;border-bottom:2px solid var(--st-v12-accent)}
.st-v12-widget p{font-size:.92rem;line-height:1.6}
.st-v12-widget ul{list-style:none;padding:0;margin:0}
.st-v12-widget li{margin:0;padding:9px 0;border-bottom:1px solid #e7ebf0}
.st-v12-widget li:last-child{border:0}
.st-v12-sidebar .st-journal-search{display:flex;max-width:100%;width:100%;flex-wrap:wrap}
.st-v12-sidebar .st-journal-search label{width:100%;flex-basis:100%}
.st-v12-sidebar .st-journal-search input{width:100%}
.st-v12-sidebar .st-journal-search button{background:var(--st-v12-accent);color:var(--st-v12-title);border-radius:9px;font-weight:750;cursor:pointer}
.st-v12-widget--booking{background:#202530;color:#fff}
.st-v12-widget--booking h2{color:#fff}
.st-v12-widget--booking p{color:#e7edf4}
.st-v12-widget--booking .st-button{width:100%;white-space:normal;text-align:center}
.st-v12-recent{display:grid;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:12px;text-decoration:none;font-size:.83rem;font-weight:700;line-height:1.45}
.st-v12-recent img,.st-v12-recent__fallback{width:62px;height:54px;border-radius:8px;object-fit:cover}
.st-v12-recent__fallback{display:grid;place-items:center;background:#202530;color:#ffc000}
.st-v12-sidebar-promo img{width:100%;height:auto;border-radius:12px}
/* Common restrained section eyebrow, consistent with existing southtax_section_head. */
.st-section-head .st-section-kicker,.st-section-kicker{font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#9b7200}
.st-section-head .st-section-kicker::before,.st-section-head .st-section-kicker::after{content:"";display:inline-block;vertical-align:middle;width:clamp(18px,3vw,35px);height:2px;background:var(--st-v12-accent);margin:0 10px}
.st-section-head{text-align:center}
.st-section-head h2{text-wrap:balance;color:var(--st-v12-title)}
.st-section-head .st-section-lead{margin-inline:auto;max-width:760px}
/* Service-benefit cards on homepage, About and Contact. */
.st-v12-benefits{background:var(--st-v12-benefits-bg,#f7f9fc);position:relative;overflow:hidden}
.st-v12-benefits::before{content:"";pointer-events:none;position:absolute;right:-90px;top:-110px;width:260px;height:260px;border-radius:50%;border:40px solid rgba(255,192,0,.10)}
.st-v12-benefits-grid{display:grid;grid-template-columns:repeat(var(--st-v12-benefits-cols,3),minmax(0,1fr));gap:clamp(12px,2vw,24px);margin-top:25px}
.st-v12-benefit-card{padding:clamp(19px,2.6vw,29px);background:#fff;border:1px solid #e3e9f1;border-radius:18px;box-shadow:0 14px 35px rgba(20,32,53,.07);min-height:205px}
.st-v12-benefit-icon{display:grid;place-items:center;background:#fff6d8;color:#202530;border-radius:14px;width:54px;height:54px;margin-bottom:13px}
.st-v12-benefit-icon svg{width:29px;height:29px;display:block}
.st-v12-benefit-card h3{font-size:clamp(1.07rem,1.4vw,1.32rem);margin:0 0 10px;color:var(--st-v12-title)}
.st-v12-benefit-card p{font-size:.93rem;color:#455367;margin:0;line-height:1.65}
.st-v12-benefit-cta{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#202530;color:#fff;border-radius:18px;padding:clamp(20px,3vw,36px);margin-top:24px}
.st-v12-benefit-cta p{color:#fff;font-weight:750;font-size:clamp(1.07rem,2vw,1.38rem);margin:0}
/* Footer address replaces third booking card. Respect legitimate logo and payment claims. */
.st-before-footer__card--address{cursor:default}
.st-before-footer__card--address:hover{transform:none;box-shadow:0 18px 45px rgba(15,22,35,.13)}
.st-before-footer__card--address .st-before-footer__icon svg{display:block}
.st-footer__trust{gap:10px;margin-top:20px;padding-top:18px}
.st-footer__trust img{width:min(100%,285px);max-height:90px;object-fit:contain;object-position:right center}
.st-v12-social{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.st-v12-social a{display:grid;place-items:center;width:36px;height:36px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);color:#fff;border-radius:50%;transition:background .2s ease,transform .2s ease}
.st-v12-social a:hover{background:var(--st-v12-accent);color:#202530;transform:translateY(-2px)}
.st-v12-copyright{gap:18px;align-items:center}
.st-v12-credit a,.st-footer__bottom-links a{color:#fff;text-decoration:none}
.st-v12-credit a:hover,.st-footer__bottom-links a:hover{color:var(--st-v12-accent)}
/* Icon dock has round buttons; reserve functional red for Email only. */
.st-floating-dock .st-dock-item,.st-floating-dock .st-dock-book{border-radius:50%!important;display:grid;place-items:center;aspect-ratio:1}
.st-floating-dock .st-dock-item svg{display:block;margin:auto}
@media(max-width:1000px){.st-v12-content-layout{grid-template-columns:minmax(0,1fr) 260px;gap:20px}.st-v12-content-layout.has-sidebar .st-journal-grid{gap:15px}}
@media(max-width:820px){.st-v12-content-layout{grid-template-columns:minmax(0,1fr)}.st-v12-content-layout.has-sidebar .st-journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.st-v12-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.st-v12-related__grid{grid-template-columns:1fr}}
@media(max-width:620px){.st-v12-content-layout.has-sidebar .st-journal-grid,.st-v12-content-layout.no-sidebar .st-journal-grid{grid-template-columns:1fr}.st-v12-sidebar{grid-template-columns:1fr}.st-v12-benefits-grid{grid-template-columns:1fr}.st-v12-benefit-cta{flex-direction:column;align-items:stretch;text-align:center}.st-v12-benefit-cta .st-button{justify-content:center;white-space:normal}.st-v12-banner{min-height:165px!important}.st-v12-banner::before{background-position:center var(--st-v12-mobile-position,48%)}.st-v12-banner h1{font-size:clamp(1.55rem,7vw,2.3rem)}.st-v12-copyright{flex-direction:column;align-items:center;text-align:center}.st-footer__trust img{object-position:center}}
@media(prefers-reduced-motion:reduce){.st-v12-social a,.st-v12-benefit-card{transition:none!important}.st-v12-social a:hover,.st-v12-benefit-card:hover{transform:none!important}}

/* Preserve purposeful left alignment in the About introduction. */
.st-about-layout .st-section-head,.st-about-page__text .st-section-head{text-align:left}
.st-about-layout .st-section-head .st-section-lead{margin-left:0}

/* Optional editor-selected left alignment for shared section headings. */
.st-eyebrow-left .st-section-head{text-align:left}
.st-eyebrow-left .st-section-head .st-section-lead{margin-inline-start:0}

/* v1.2.1 — Single pre-footer contact strip. One coherent component; no floating white cards. */
.st-before-footer--joined .st-before-footer__grid{
 display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1.3fr) minmax(0,1.35fr);
 gap:0;align-items:stretch;overflow:hidden;
 border-radius:16px;background:#161c26;color:#fff;max-width:var(--st-container,1240px);
 box-shadow:0 18px 42px rgba(12,18,30,.17);padding:0;
}
.st-before-footer--joined .st-before-footer__card{
 min-height:120px;min-width:0;margin:0;display:flex;gap:14px;align-items:center;
 padding:20px clamp(15px,2.2vw,30px);background:transparent;border:0;border-radius:0;
 box-shadow:none;color:#fff;text-decoration:none;transition:background-color .18s ease;
}
.st-before-footer--joined .st-before-footer__card:first-child{background:var(--st-gold,#ffc000);color:#202530}
.st-before-footer--joined .st-before-footer__card:not(:first-child){border-left:1px solid rgba(255,255,255,.12)}
.st-before-footer--joined .st-before-footer__card:is(:hover,:focus-visible){transform:none;box-shadow:none}
.st-before-footer--joined a.st-before-footer__card:is(:hover,:focus-visible){background-color:#29313e;color:#fff}
.st-before-footer--joined a.st-before-footer__card:first-child:is(:hover,:focus-visible){background-color:#ffda54;color:#202530}
.st-before-footer--joined .st-before-footer__card:focus-visible{outline:3px solid #fff;outline-offset:-5px}
.st-before-footer--joined .st-before-footer__card>span:nth-child(2){margin-left:0;flex:1;min-width:0}
.st-before-footer--joined .st-before-footer__card strong{font-size:clamp(.85rem,.98vw,1rem);line-height:1.35;color:inherit}
.st-before-footer--joined .st-before-footer__card small{font-size:clamp(.78rem,.92vw,.92rem);line-height:1.45;color:inherit;opacity:.9}
.st-before-footer--joined .st-before-footer__icon{flex:0 0 44px;width:44px;height:44px;background:var(--st-gold,#ffc000);color:#202530;border-radius:50%;}
.st-before-footer--joined .st-before-footer__card:first-child .st-before-footer__icon{background:#202530;color:#ffc000}
.st-before-footer--joined .st-before-footer__card>span:last-child:not(:nth-child(2)){color:inherit}
.st-before-footer--joined .st-before-footer__card--address:hover{background:transparent;color:#fff}
/* Newsletter replaces Contact Us in the fourth footer column; trust badge lives here only. */
.st-footer__newsletter{min-width:0}
.st-footer__newsletter h2{color:#fff}
.st-footer__newsletter .st-newsletter__intro{color:#e1e5ee;line-height:1.65;font-size:.93rem;margin:0 0 16px}
.st-newsletter__form{min-width:0}
.st-newsletter__form :is(input[type=email],input[type=text]){width:100%;min-width:0;max-width:100%;border:1px solid #8f9cae;background:#fff;color:#202530;border-radius:9px;padding:12px 14px;min-height:46px}
.st-newsletter__form :is(button,input[type=submit]){display:inline-flex;align-items:center;justify-content:center;background:var(--st-gold,#ffc000);color:#202530;border:1px solid var(--st-gold,#ffc000);border-radius:9px;min-height:44px;font-weight:750;cursor:pointer;padding:10px 18px;max-width:100%}
.st-newsletter__form :is(input,button):focus-visible{outline:3px solid var(--st-gold,#ffc000);outline-offset:3px}
.st-newsletter__badge{margin-top:18px;max-width:100%;border:0;padding:0;}
.st-newsletter__badge img{display:block;width:min(100%,268px);max-height:85px;height:auto;object-fit:contain;object-position:left center}
@media(max-width:900px){
 .st-before-footer--joined .st-before-footer__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .st-before-footer--joined .st-before-footer__card{padding:16px 12px;gap:9px;min-height:112px}
 .st-before-footer--joined .st-before-footer__icon{flex-basis:36px;width:36px;height:36px}
}
@media(max-width:680px){
 .st-before-footer--joined{transform:translateY(26%);margin-top:-12px}
 .st-footer{padding-top:110px}
 .st-before-footer--joined .st-before-footer__grid{display:grid;grid-template-columns:minmax(0,1fr);max-width:min(100%,450px)}
 .st-before-footer--joined .st-before-footer__card{min-height:65px;padding:13px 18px;gap:12px}
 .st-before-footer--joined .st-before-footer__card:not(:first-child){border-left:0;border-top:1px solid rgba(255,255,255,.14)}
 .st-before-footer--joined .st-before-footer__card strong{font-size:.89rem}
 .st-before-footer--joined .st-before-footer__card small{font-size:.8rem}
 .st-footer__newsletter .st-newsletter__badge img{object-position:left center}
}
@media(prefers-reduced-motion:reduce){.st-before-footer--joined .st-before-footer__card{transition:none}}
