/* Southtax Modern v0.3 — system fonts, CSS-only styles, no external JS/CSS frameworks. */
:root{--st-ink:#12243c;--st-navy:#071b32;--st-navy2:#112b46;--st-gold:#f4bd35;--st-gold-deep:#df9f0e;--st-bg:#f6f8fb;--st-muted:#526479;--st-border:#e1e7ef;--st-white:#fff;--st-radius:18px;--st-container:1180px}
*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:#fff;color:var(--st-ink);font:16px/1.7 system-ui,-apple-system,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{color:#c58906}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--st-gold);outline-offset:3px}img{max-width:100%;height:auto}h1,h2,h3,h4{line-height:1.18;letter-spacing:-.03em;color:var(--st-navy)}h1{font-size:clamp(2.3rem,5vw,4.25rem)}h2{font-size:clamp(1.85rem,3.3vw,3rem)}h3{font-size:1.25rem}p{margin-top:0}button,input,select,textarea{font:inherit}.st-shell{width:min(calc(100% - 40px),var(--st-container));margin-inline:auto}.st-skip{position:absolute;top:-80px;left:16px;z-index:999;background:#fff;color:#000;padding:12px}.st-skip:focus{top:12px}
.st-topbar{background:var(--st-navy);color:#d4e0ee;font-size:.78rem}.st-topbar__inner{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:7px 0}.st-topbar__contact{display:flex;gap:24px}.st-topbar a:hover{color:var(--st-gold)}.st-header{position:sticky;top:0;z-index:990;background:rgba(255,255,255,.97);border-bottom:1px solid var(--st-border);box-shadow:0 10px 34px rgba(11,32,56,.05);backdrop-filter:blur(14px)}.st-header__inner{min-height:83px;display:flex;align-items:center;gap:22px}.st-brand{flex-shrink:0;max-width:174px}.st-brand img{display:block;max-height:52px;width:auto}.st-brand__text{font-size:1.3rem;font-weight:800;color:var(--st-navy)}.st-nav{margin-left:auto}.st-menu,.st-menu ul{padding:0;margin:0;list-style:none}.st-menu{display:flex;align-items:center;gap:20px}.st-menu>li{position:relative}.st-menu a{font-size:.88rem;font-weight:650;display:block;padding:18px 0;color:var(--st-ink)}.st-menu a:hover,.st-menu .current-menu-item>a{color:#a97600}.st-menu .sub-menu{visibility:hidden;opacity:0;pointer-events:none;position:absolute;top:100%;left:0;min-width:270px;max-height:70vh;overflow:auto;background:#fff;box-shadow:0 22px 60px rgba(8,28,48,.14);border:1px solid var(--st-border);border-radius:14px;padding:12px;transform:translateY(8px);transition:opacity .16s,transform .16s}.st-menu li:hover>.sub-menu,.st-menu li:focus-within>.sub-menu{visibility:visible;opacity:1;pointer-events:auto;transform:none}.st-menu .sub-menu li a{padding:9px 12px;font-size:.87rem;border-radius:7px}.st-menu .sub-menu a:hover{background:var(--st-bg)}.st-menu .sub-menu .sub-menu{top:0;left:100%}.st-submenu-toggle{display:none}.st-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--st-navy);color:white!important;border:1px solid var(--st-navy);border-radius:12px;padding:13px 20px;font-size:.88rem;line-height:1.2;font-weight:750;white-space:nowrap;transition:transform .15s,background .15s}.st-button:hover{background:var(--st-navy2);transform:translateY(-1px)}.st-button--gold{background:var(--st-gold);color:var(--st-navy)!important;border-color:var(--st-gold)}.st-nav-toggle{display:none;border:0;background:transparent;cursor:pointer;padding:12px}.st-nav-toggle span{display:block;background:var(--st-navy);width:24px;height:2px;margin:5px 0;border-radius:3px}
.st-page-banner{background:radial-gradient(circle at 90% 0,rgba(244,189,53,.18),transparent 34%),linear-gradient(135deg,var(--st-navy),var(--st-navy2));color:#e8eef6;padding:62px 0}.st-page-banner h1{color:white;max-width:920px;margin:10px 0 0;font-size:clamp(2rem,4vw,3.7rem)}.st-page-banner a{color:inherit}.st-eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--st-gold);font-size:.78rem;font-weight:800;margin:0}.st-content{padding-block:52px 78px}.st-content :is(p,ul,ol){max-width:850px}.st-content img{border-radius:12px}.st-content :is(h2,h3){margin-top:1.5em}.st-article-grid{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(240px,.9fr);gap:40px;padding-block:60px 90px}.st-article__image{border-radius:17px;width:100%;height:auto;max-height:430px;object-fit:cover}.st-article__body{overflow-wrap:anywhere}.st-article__body a{color:#0c639b;text-decoration:underline}.st-sidebar{background:var(--st-bg);border-radius:var(--st-radius);align-self:start;padding:28px}.st-sidebar h2{font-size:1.35rem}.st-sidebar h3{font-size:1.1rem;margin-top:30px}.st-sidebar ul{padding-left:17px}.st-sidebar li{margin-bottom:12px}.st-sidebar input[type=search]{width:100%;max-width:100%;border:1px solid var(--st-border);padding:11px;border-radius:10px}.st-sidebar .st-button{margin-top:10px}.st-archive-list{padding-block:60px}.st-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.st-post-card{background:white;overflow:hidden;border-radius:var(--st-radius);border:1px solid var(--st-border);box-shadow:0 14px 38px rgba(10,31,52,.05)}.st-post-card img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}.st-post-card__body{padding:22px}.st-post-card time{color:var(--st-muted);font-size:.79rem}.st-post-card h2{font-size:1.2rem;margin:10px 0}.st-post-card p{font-size:.94rem;color:var(--st-muted)}.st-text-link{color:#866000;font-weight:750}.st-pagination{margin-top:35px}.st-error-page{padding-block:120px;text-align:center}.st-booking-frame{background:white;border-radius:18px;overflow:hidden;border:1px solid var(--st-border);box-shadow:0 20px 60px rgba(9,30,57,.12)}.st-booking-fallback{margin:0;padding:10px 18px;text-align:center;font-size:.78rem;background:#f9fbfe;color:var(--st-muted)}.st-booking-fallback a{text-decoration:underline}
.st-footer{background:var(--st-navy);color:#c4d2e0;padding:70px 0 0}.st-footer__grid{display:grid;grid-template-columns:1.45fr 1fr 1fr 1.25fr;gap:36px}.st-footer h2{color:#fff;font-size:1rem;letter-spacing:0;margin:0 0 24px}.st-footer__brand{color:#fff;font-size:1.35rem;font-weight:850;display:block;margin-bottom:18px}.st-footer p{font-size:.9rem}.st-footer__links{list-style:none;margin:0;padding:0}.st-footer__links li{margin-bottom:11px}.st-footer__links a:hover{color:var(--st-gold)}.st-footer__bottom{border-top:1px solid #29425c;margin-top:52px;padding:20px 0;display:flex;justify-content:space-between;font-size:.8rem}
@media(max-width:1120px){.st-header__cta{display:none}.st-menu{gap:13px}.st-menu a{font-size:.81rem}}
@media(max-width:940px){.st-topbar__contact a:last-child{display:none}.st-nav-toggle{display:block;margin-left:auto}.st-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:8px 20px 20px;max-height:calc(100dvh - 86px);overflow:auto;box-shadow:0 18px 30px rgba(0,0,0,.12)}.st-nav.is-open{display:block}.st-menu{display:block}.st-menu>li{border-bottom:1px solid var(--st-border)}.st-menu a{padding:12px 10px;font-size:.95rem}.st-menu .sub-menu,.st-menu .sub-menu .sub-menu{display:none;position:static;visibility:visible;opacity:1;pointer-events:auto;transform:none;max-height:none;border:0;box-shadow:none;padding:0 0 9px 16px}.st-menu li:hover>.sub-menu,.st-menu li:focus-within>.sub-menu{display:none}.st-menu li.submenu-open>.sub-menu{display:block!important}.st-submenu-toggle{display:inline-flex;position:absolute;right:0;top:6px;align-items:center;justify-content:center;border:0;background:var(--st-bg);border-radius:6px;width:35px;height:35px;cursor:pointer}.st-article-grid{grid-template-columns:1fr}.st-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.st-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.st-shell{width:min(calc(100% - 30px),var(--st-container))}.st-topbar{display:none}.st-header__inner{min-height:70px}.st-brand img{max-height:46px}.st-footer__grid,.st-post-grid{grid-template-columns:1fr}.st-footer__bottom{flex-direction:column;gap:8px}.st-page-banner{padding:48px 0}.st-article-grid{gap:24px;padding-block:35px 60px}.st-sidebar{padding:20px}.st-content{padding-block:35px 65px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}


/* ------------------------------------------------------------------
 * Southtax v0.2 — production-friendly desktop/mobile navigation and hero
 * The primary mobile toggle is native <details>, independent of JS.
 * ------------------------------------------------------------------ */
.st-header .st-header__inner{position:relative;gap:clamp(12px,1.3vw,24px);min-height:84px}
.st-header .st-brand{max-width:185px;min-width:max-content;flex-shrink:0}
.st-header .st-brand__text{display:inline-block;color:var(--st-navy);font-weight:850;letter-spacing:-.065em;font-size:1.4rem;text-decoration:none}
.st-header .st-brand__text span{color:#bf8600}
.st-header .st-desktop-nav{display:block!important;flex:1 1 auto;min-width:0;margin-left:auto}
.st-header .st-desktop-nav .st-menu{display:flex;align-items:center;justify-content:flex-end;gap:clamp(10px,1.1vw,20px);list-style:none;margin:0;padding:0}
.st-header .st-desktop-nav .st-menu>li{position:relative;white-space:nowrap}
.st-header .st-desktop-nav .st-menu>li>a{display:block;font-size:clamp(.76rem,.8vw,.87rem);padding:26px 0;color:#142d46;font-weight:650;line-height:1.2}
.st-header .st-desktop-nav .st-menu>li>a:hover,.st-header .st-desktop-nav .st-menu>.current-menu-item>a{color:#9c6d00}
.st-header .st-desktop-nav .sub-menu{min-width:290px;z-index:10;background:#fff;max-height:min(72vh,620px);overflow:auto;white-space:normal}
.st-header .st-desktop-nav .sub-menu a{color:#142d46;line-height:1.25;font-size:.85rem}
.st-header .st-desktop-nav li.menu-item-has-children>a:after{content:'⌄';margin-left:6px;font-size:.85em;color:#6e7887}
.st-header .st-header__cta{display:inline-flex!important;margin-left:6px;padding:13px 15px;font-size:.81rem}
.st-header .st-mobile-navigation{display:none!important}
/* Booking hero content is split into a fixed-width portrait form and a text panel. */
.st-home-main .st-hero{position:relative;isolation:isolate;width:100vw;max-width:none;margin-left:calc(50% - 50vw);background:var(--st-navy);overflow:hidden;color:#fff}
.st-home-main .st-hero:before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(6,24,44,.92) 0%,rgba(10,31,53,.79) 45%,rgba(8,32,55,.78) 100%),url('../images/airport-hero.webp') center 55% / cover no-repeat}
.st-home-main .st-hero:after{content:'';position:absolute;z-index:-1;right:-180px;bottom:-330px;width:660px;height:660px;border:1px solid rgba(255,255,255,.12);border-radius:50%;pointer-events:none}
.st-home-main .st-hero__grid{display:grid;grid-template-columns:minmax(0,460px) minmax(0,1fr);gap:clamp(40px,5.5vw,104px);align-items:center;padding-top:clamp(52px,5.3vw,88px);padding-bottom:clamp(52px,5.3vw,88px)}
.st-home-main .st-hero__booking{grid-column:1;grid-row:1;width:100%;min-width:0}
.st-home-main .st-hero__booking-heading{text-transform:uppercase;color:#fff;letter-spacing:.045em;text-align:center;font-size:1.05rem;font-weight:800;line-height:1.3;margin:0 0 14px}
.st-home-main .st-hero__booking .st-booking-frame{max-width:460px;width:100%;margin:0 auto;overflow:hidden;background:#fff;border:1px solid rgba(255,255,255,.8);border-radius:14px;box-shadow:0 24px 66px rgba(0,0,0,.2)}
.st-home-main .st-hero__booking .st-booking-frame iframe{display:block;width:100%;height:585px;min-height:585px;border:0}
.st-home-main .st-hero__booking .st-booking-fallback{padding:7px 12px;line-height:1.35;font-size:.73rem}
.st-home-main .st-hero__content{grid-column:2;grid-row:1;min-width:0;max-width:670px;padding-block:14px}
.st-home-main .st-hero__eyebrow{margin:0 0 20px;text-transform:uppercase;letter-spacing:.09em;font-weight:800;font-size:clamp(.8rem,1vw,1.02rem);color:#ffd054;line-height:1.5}
.st-home-main .st-hero__content h1{font-size:clamp(2.9rem,4.2vw,4.6rem);font-weight:800;line-height:1.08;letter-spacing:-.04em;color:#fff;margin:0 0 24px;max-width:730px}
.st-home-main .st-hero__description{font-size:clamp(.98rem,1.06vw,1.13rem);font-weight:450;line-height:1.75;color:#e6edf5;max-width:630px;margin:0 0 27px}
.st-home-main .st-hero__actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.st-home-main .st-hero__actions .st-button{background:#f9c43a;color:#10253d!important;border-color:#f9c43a;padding:15px 24px;min-height:52px}
.st-home-main .st-hero__actions .st-button:hover{background:#ffda6a;color:#10253d!important}
.st-home-main .st-hero__trust{color:#d8e5f2;font-size:.87rem}
.st-home-main .st-booking-unavailable{padding:22px;background:#fff;color:#1d344b;border-radius:12px}
.st-home-main .st-booking-unavailable a{text-decoration:underline}
/* A plain [southtax_booking] on the old temporary homepage should not stretch across the whole screen. */
.st-home-main>.st-home-editor>.elementor .st-booking-frame{max-width:460px}
/* Shrink the desktop CTA first; preserve full navigation until tablet breakpoint. */
@media(max-width:1250px){
 .st-header .st-header__cta{display:none!important}
 .st-header .st-desktop-nav .st-menu{gap:clamp(9px,1.45vw,17px)}
}
@media(max-width:1060px){
 .st-header .st-desktop-nav{display:none!important}
 .st-header .st-header__cta{display:none!important}
 .st-header .st-mobile-navigation{display:block!important;position:relative;z-index:5;margin-left:auto;flex:0 0 auto}
 .st-header .st-mobile-navigation__toggle{display:flex!important;align-items:center;gap:10px;cursor:pointer;list-style:none;border:1px solid #d7e0ea;background:#fff;color:#112b46;border-radius:10px;min-height:44px;padding:10px 13px;font:700 .88rem/1.2 system-ui,-apple-system,'Segoe UI',sans-serif;user-select:none}
 .st-header .st-mobile-navigation__toggle::-webkit-details-marker{display:none}
 .st-header .st-mobile-navigation__toggle::marker{content:''}
 .st-header .st-hamburger{display:flex;flex-direction:column;justify-content:center;width:22px;height:20px;gap:5px}
 .st-header .st-hamburger span{display:block;width:22px;height:2px;background:#112b46;border-radius:2px;transition:transform .18s ease,opacity .12s ease}
 .st-header .st-mobile-navigation[open] .st-hamburger span:first-child{transform:translateY(7px) rotate(45deg)}
 .st-header .st-mobile-navigation[open] .st-hamburger span:nth-child(2){opacity:0}
 .st-header .st-mobile-navigation[open] .st-hamburger span:last-child{transform:translateY(-7px) rotate(-45deg)}
 .st-header .st-mobile-navigation[open] .st-menu-label{font-size:0}
 .st-header .st-mobile-navigation[open] .st-menu-label::before{content:'Close';font-size:.88rem}
 .st-header .st-mobile-nav{position:absolute;right:0;top:calc(100% + 10px);width:min(390px,calc(100vw - 30px));max-height:min(72vh,650px);overflow-y:auto;overscroll-behavior:contain;border:1px solid #dfe7f0;border-radius:16px;background:#fff;box-shadow:0 24px 55px rgba(10,25,43,.18);padding:12px;z-index:30}
 .st-header .st-mobile-nav .st-menu,.st-header .st-mobile-nav .st-menu ul{padding:0;margin:0;list-style:none;display:block}
 .st-header .st-mobile-nav .st-menu>li{position:relative;border-bottom:1px solid #e7eef5}
 .st-header .st-mobile-nav .st-menu>li>a{display:block;color:#122d47;padding:12px 45px 12px 11px;font-size:.93rem;font-weight:700;line-height:1.3}
 .st-header .st-mobile-nav .sub-menu{position:static!important;max-height:none;min-width:0;width:auto;visibility:visible!important;opacity:1!important;pointer-events:auto!important;transform:none!important;box-shadow:none!important;border:0!important;background:#f7f9fc;padding:5px 8px 7px 14px!important;border-radius:10px;display:block}
 .st-header .st-mobile-nav .sub-menu li a{display:block;padding:9px;color:#28445c;font-size:.87rem;line-height:1.3}
 .st-header .st-mobile-navigation.st-submenus-enhanced .menu-item-has-children>.sub-menu{display:none!important}
 .st-header .st-mobile-navigation.st-submenus-enhanced .menu-item-has-children.submenu-open>.sub-menu{display:block!important}
 .st-header .st-mobile-nav .st-submenu-toggle{position:absolute;top:6px;right:7px;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;border-radius:7px;background:#ecf2f8;color:#182f47;font-weight:800;font-size:1.2rem;cursor:pointer}
 .st-header .st-mobile-nav .st-submenu-toggle:focus-visible{outline:3px solid #f4bd35}
 .st-header .st-mobile-nav__cta{display:flex!important;margin:12px 0 0;font-size:.9rem;justify-content:center}
 .st-home-main .st-hero__grid{grid-template-columns:minmax(0,410px) minmax(0,1fr);gap:32px}
 .st-home-main .st-hero__content h1{font-size:clamp(2.4rem,4.3vw,3.6rem)}
}
@media(max-width:760px){
 .st-home-main .st-hero__grid{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:42px;padding-bottom:48px}
 .st-home-main .st-hero__content{grid-column:1;grid-row:1;padding:0}
 .st-home-main .st-hero__booking{grid-column:1;grid-row:2;width:min(100%,460px);margin-inline:auto}
 .st-home-main .st-hero__content h1{font-size:clamp(2.35rem,7vw,3.35rem);margin-bottom:16px}
 .st-home-main .st-hero__description{line-height:1.6;margin-bottom:20px}
 .st-home-main .st-hero__eyebrow{margin-bottom:10px}
 .st-home-main .st-hero__trust{display:none}
 /* Frame height is controlled on mobile, not the provider's internal layout.
    Important is required because Booking Core adds inline min-height. */
 .st-home-main .st-hero__booking .st-booking-frame iframe{height:540px!important;min-height:540px!important}
}
@media(max-width:440px){
 .st-header .st-header__inner{min-height:69px}
 .st-header .st-brand__text{font-size:1.23rem}
 .st-header .st-mobile-navigation__toggle{padding:9px 10px}
 .st-home-main .st-hero__grid{padding-block:34px 42px}
 .st-home-main .st-hero__content h1{font-size:clamp(2rem,8.8vw,2.7rem)}
 .st-home-main .st-hero__booking .st-booking-frame iframe{height:500px!important;min-height:500px!important}
}
@media(prefers-reduced-motion:reduce){.st-header .st-hamburger span{transition:none}}
