:root{--ais-primary:#071d33;--ais-secondary:#0b7894;--ais-accent:#d8a94a;--ais-sand:#f6f0e6;--ais-button-text:#071d33;--ais-text:#102033;--ais-muted:#5d6d7d;--ais-border:#e5e9ee;--ais-white:#fff;--ais-radius:14px;--ais-shadow:0 18px 50px rgba(7,29,51,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--ais-body-font, Arial, Helvetica, sans-serif);font-size:var(--ais-body-size,16px);color:var(--ais-text);background:#fff;line-height:var(--ais-body-line-height,1.6)}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}.screen-reader-text{position:absolute;left:-9999px}.ais-container{width:min(1180px,calc(100% - 40px));margin:0 auto}.site-header{background:var(--ais-header-bg,var(--ais-primary));color:var(--ais-header-text,#fff);position:relative;z-index:10050;top:0}.ais-sticky-header .site-header{position:sticky}.admin-bar.ais-sticky-header .site-header{top:32px}@media(max-width:782px){.admin-bar.ais-sticky-header .site-header{top:46px}}@media(max-width:600px){.admin-bar.ais-sticky-header .site-header{top:0}}.header-inner{min-height:var(--ais-header-height-desktop,76px);display:flex;align-items:center;gap:28px}.site-branding{display:flex;align-items:center;min-width:190px}.custom-logo{max-height:54px;width:auto}.site-title{font-family:Georgia,serif;font-size:25px;font-weight:700;letter-spacing:.02em}.primary-navigation{margin-left:auto}.primary-navigation ul{display:flex;gap:var(--ais-menu-spacing,28px);align-items:center;list-style:none;margin:0;padding:0}.primary-navigation a{font-size:var(--ais-menu-font-size,14px);font-weight:700;color:var(--ais-header-text,#fff);opacity:.92}.primary-navigation a:hover{opacity:1;color:var(--ais-header-hover,var(--ais-accent))}.header-cta,.button{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;padding:12px 22px;font-size:12px;line-height:1;font-weight:800;letter-spacing:.08em;text-transform:uppercase;transition:.2s ease}.header-cta{background:var(--ais-header-button-bg,var(--ais-accent));color:var(--ais-header-button-text,var(--ais-button-text));box-shadow:0 8px 20px rgba(0,0,0,.12)}.button-gold{background:var(--ais-accent);color:var(--ais-button-text);box-shadow:0 8px 20px rgba(0,0,0,.12)}.header-cta:hover,.button-gold:hover{transform:translateY(-1px);filter:brightness(1.04)}.button-ghost{border:1px solid rgba(255,255,255,.55);color:#fff;background:transparent}.menu-toggle{display:none;background:none;border:0;padding:8px;margin-left:auto}.menu-toggle span:not(.screen-reader-text){display:block;width:26px;height:2px;background:#fff;margin:5px 0}.home-hero{min-height:560px;background-size:cover;background-position:center;display:flex;align-items:center;color:#fff}.hero-content{padding:70px 0}.eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:800;color:var(--ais-accent);margin:0 0 14px}.eyebrow.dark{color:var(--ais-secondary)}.home-hero h1{font-family:Georgia,serif;font-size:clamp(42px,6vw,76px);line-height:.98;max-width:780px;margin:0 0 20px}.home-hero p:not(.eyebrow){font-size:20px;max-width:620px;margin:0 0 28px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.trust-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.1);border-radius:12px;overflow:hidden;box-shadow:var(--ais-shadow);margin-top:-40px;position:relative;z-index:5}.trust-strip div{background:var(--ais-primary);color:#fff;padding:24px 30px}.trust-strip strong{display:block;color:#fff;font-size:15px}.trust-strip span{display:block;font-size:13px;color:#bfd1df;margin-top:4px}.ais-section{padding:68px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}.section-head.centered{text-align:center;justify-content:center}.section-head h2{font-family:Georgia,serif;font-size:36px;line-height:1.1;margin:0}.section-head a{font-weight:800;color:var(--ais-secondary);font-size:14px}.card-grid{display:grid;gap:22px}.card-grid.three{grid-template-columns:repeat(3,1fr)}.card-grid.four{grid-template-columns:repeat(4,1fr)}.card-grid.five{grid-template-columns:repeat(5,1fr)}.travel-card,.icon-card,.quote-mini-card,.content-summary{background:#fff;border:1px solid var(--ais-border);border-radius:var(--ais-radius);overflow:hidden;box-shadow:0 10px 30px rgba(7,29,51,.06)}.travel-card .card-image{height:160px;background:linear-gradient(135deg,var(--ais-secondary),#8bd4df);overflow:hidden}.travel-card .card-image img{width:100%;height:100%;object-fit:cover;display:block}.travel-card .card-body{padding:18px}.travel-card h3,.icon-card h3{margin:0 0 6px;font-size:18px}.travel-card p,.icon-card p{margin:0;color:var(--ais-muted);font-size:14px}.placeholder-card .card-image:before{content:"";display:block;width:100%;height:100%;background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,.45));}.dark-section{background:var(--ais-primary);color:#fff}.split-cta{display:grid;grid-template-columns:1.4fr .8fr;gap:40px;align-items:center}.split-cta h2{font-family:Georgia,serif;font-size:44px;line-height:1.1;margin:0 0 16px}.split-cta p{color:#d8e5ee;max-width:720px}.quote-mini-card{padding:28px;background:#fff;color:var(--ais-text)}.quote-mini-card strong{display:block;font-family:Georgia,serif;font-size:24px;margin-bottom:8px}.quote-mini-card span{display:block;color:var(--ais-muted);margin-bottom:18px}.icon-card{padding:26px 18px;text-align:center}.icon-dot{width:42px;height:42px;border-radius:50%;border:1px solid var(--ais-border);display:block;margin:0 auto 12px;background:linear-gradient(135deg,#fff,var(--ais-sand))}.site-footer{background:var(--ais-footer-bg,var(--ais-primary));color:var(--ais-footer-text,#cbd8e4);margin-top:40px}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr 1fr;gap:50px;padding:56px 0}.footer-logo .custom-logo{max-height:52px}.site-footer h2,.site-footer h3{font-family:Georgia,serif;margin:0 0 14px;color:var(--ais-footer-heading,#fff)}.site-footer p,.site-footer li,.site-footer a{color:var(--ais-footer-link,var(--ais-footer-text,#cbd8e4));font-size:14px}.site-footer ul{list-style:none;margin:0;padding:0}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:18px 0;color:#9fb4c6;font-size:13px}.footer-bottom .ais-container{display:flex;justify-content:space-between;gap:20px}.page-hero{background:var(--ais-primary);color:#fff;padding:110px 0 80px;background-size:cover;background-position:center}.page-hero.simple{background:linear-gradient(135deg,var(--ais-primary),var(--ais-secondary))}.page-hero h1{font-family:Georgia,serif;font-size:clamp(40px,5vw,68px);line-height:1.05;margin:0}.page-hero p{font-size:18px;color:#d8e5ee;max-width:700px}.page-content{background:#fff}.page-content.narrow{max-width:850px}.page-content h2,.page-content h3{font-family:Georgia,serif}.page-content a{text-decoration:underline;color:var(--ais-secondary)}.content-summary{padding:28px;margin-bottom:22px}.content-summary h2{margin-top:0;font-family:Georgia,serif}.text-link{font-weight:800;color:var(--ais-secondary)}

.mobile-logo-link{display:none}.footer-logo img{max-height:64px;width:auto}.footer-socials{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.footer-socials a{border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:7px 10px;font-size:12px}.footer-newsletter-form{display:grid;gap:10px}.footer-newsletter-form input{width:100%;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;border-radius:6px;padding:12px 14px}.footer-newsletter-form input::placeholder{color:rgba(255,255,255,.7)}
@media(max-width:980px){.header-inner{gap:16px;justify-content:center;position:relative;min-height:var(--ais-header-height-mobile,74px)}.site-branding{min-width:0;justify-content:center;text-align:center}.site-branding .custom-logo{max-height:48px}.menu-toggle{display:block;position:absolute;left:0;top:50%;transform:translateY(-50%);margin-left:0;z-index:1002}.primary-navigation{display:none;position:absolute;top:var(--ais-header-height-mobile,74px);left:0;right:0;background:var(--ais-header-bg,var(--ais-primary));padding:20px;box-shadow:0 20px 42px rgba(0,0,0,.22)}.primary-navigation.is-open{display:block}.primary-navigation ul{display:block}.primary-navigation li{margin:12px 0}.header-cta{display:none}.trust-strip,.card-grid.four,.card-grid.five,.card-grid.three,.split-cta,.footer-grid{grid-template-columns:1fr}.section-head{display:block}.home-hero{min-height:520px}.home-hero p:not(.eyebrow){font-size:18px}.footer-bottom .ais-container{display:block}.ais-section{padding:48px 0}}
@media(max-width:980px){.mobile-logo-link{display:none}.site-branding .mobile-logo-link:first-child,.site-branding .custom-logo-link + .mobile-logo-link{display:none}.site-branding:has(.mobile-logo-link) .custom-logo-link{display:none}.site-branding:has(.mobile-logo-link) .mobile-logo-link{display:block}.mobile-logo{max-height:48px;width:auto}}
@media(max-width:640px){.ais-container{width:min(100% - 28px,1180px)}.home-hero h1{font-size:42px}.page-hero{padding:84px 0 58px}.trust-strip{margin-top:0;border-radius:0;width:100%}.hero-actions .button{width:100%}.section-head h2,.split-cta h2{font-size:32px}.site-branding{min-width:auto}.site-title{font-size:20px}}


/* Full-width plugin home page shortcode support */
.ais-shortcode-page{padding:0;margin:0;background:#fff;}
.ais-shortcode-page > *:first-child{margin-top:0;}
.ais-shortcode-page > .ais-home,
.ais-shortcode-page > .ais-homepage{
    width:100vw;
    max-width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
}
.ais-shortcode-page .ais-home .ais-home-wrap{
    width:min(1180px, calc(100% - 48px));
    max-width:1180px;
    margin-left:auto;
    margin-right:auto;
    padding-left:0;
    padding-right:0;
}
body.home .ais-shortcode-front-page{margin-top:0;}
@media(max-width:640px){
    .ais-shortcode-page .ais-home .ais-home-wrap{width:min(100% - 28px, 1180px);}
}


/* AIS typography controls */
h1,h2,h3,h4,h5,h6,
.site-title,
.home-hero h1,
.page-hero h1,
.section-head h2,
.split-cta h2,
.site-footer h2,
.site-footer h3,
.page-content h2,
.page-content h3,
.ais-home h1,
.ais-home h2,
.ais-home h3,
.isp-page h1,
.isp-page h2,
.isp-page h3,
.isp-heading,
.isp-card h2,
.isp-card h3{
    font-family:var(--ais-heading-font, Georgia, serif) !important;
    line-height:var(--ais-heading-line-height,1.05);
}

body,
button,
input,
select,
textarea,
.ais-home,
.isp-page,
.isp-quote-bar{
    font-family:var(--ais-body-font, Arial, Helvetica, sans-serif);
}

.primary-navigation a,
.header-cta,
.button,
.ais-home-btn,
.ais-small-btn,
.isp-btn,
.isp-pill,
.isp-chip,
.isp-quote-bar button{
    font-family:var(--ais-button-font, Arial, Helvetica, sans-serif) !important;
    letter-spacing:var(--ais-button-letter-spacing,.08em) !important;
}

.home-hero h1,
.ais-home h1,
.isp-hero h1{
    font-size:clamp(var(--ais-h1-size-mobile,42px),6vw,var(--ais-h1-size-desktop,72px)) !important;
}

.section-head h2,
.ais-home h2,
.isp-page h2{
    font-size:var(--ais-h2-size,36px) !important;
}

.travel-card h3,
.icon-card h3,
.ais-home h3,
.isp-page h3{
    font-size:var(--ais-h3-size,21px) !important;
}

.ais-home p,
.isp-page p,
.page-content p,
.travel-card p,
.icon-card p{
    font-size:var(--ais-body-size,16px);
    line-height:var(--ais-body-line-height,1.6);
}

@media(max-width:640px){
    .home-hero h1,
    .ais-home h1,
    .isp-hero h1{
        font-size:var(--ais-h1-size-mobile,42px) !important;
    }
}


/* AIS Island Theme v0.1.13 - tested home page gap and overflow fix.
   This matches the Customizer CSS test that removed the top gap without changing shortcode logic. */
body.home,
body.home #page,
body.home #content,
body.home .site-main,
body.home .ais-front-page-main,
body.home .ais-shortcode-page,
body.home .ais-shortcode-front-page {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.home .ais-shortcode-page > p:first-child,
body.home .ais-shortcode-page > br:first-child {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Trailing wpautop whitespace was leaving a white sliver above the footer */
body.home .ais-shortcode-page > p:last-child,
body.home .ais-shortcode-page > br:last-child {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
/* Safety net: any exposed wrapper bg at the very bottom stays dark, not white */
body.home .ais-shortcode-page {
    background: #272727 !important;
}

body.home .ais-shortcode-page > *:first-child,
body.home .ais-home:first-child,
body.home .ais-homepage:first-child,
body.home .ais-home-hero:first-child,
body.home [class*="hero"]:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Stop full-width sections creating the horizontal scrollbar. */
html,
body {
    overflow-x: clip;
}

body.home .ais-shortcode-page,
body.home .ais-home,
body.home .ais-homepage {
    max-width: 100% !important;
    overflow-x: hidden !important;
}

/* Full-width header + reserve top-right space for the global currency pill (desktop only; CTA is hidden below 981px). */
@media(min-width:981px){.site-header .header-inner{width:auto;max-width:none;padding-left:44px;padding-right:142px}}

/* Header responsive scaling — shrink nav/CTA/logo/padding smoothly on laptops & tablets
   before the 980px mobile collapse. 2-class specificity so it beats the :root token defaults. */
@media(min-width:981px) and (max-width:1400px){
  .site-header .header-inner{--ais-menu-font-size:13.5px;--ais-menu-spacing:22px;padding-left:36px;padding-right:132px}
}
@media(min-width:981px) and (max-width:1240px){
  .site-header .header-inner{--ais-menu-font-size:13px;--ais-menu-spacing:16px;gap:18px;padding-left:26px;padding-right:118px}
  .site-header .site-title{font-size:22px}
  .site-header .site-branding{min-width:0}
  .site-header .header-cta{padding:11px 15px;font-size:11px}
}
@media(min-width:981px) and (max-width:1090px){
  .site-header .header-inner{--ais-menu-font-size:12.5px;--ais-menu-spacing:12px;gap:14px;padding-left:16px;padding-right:104px}
  .site-header .site-title{font-size:19.5px}
  .site-header .header-cta{padding:9px 12px;font-size:10.5px;letter-spacing:.04em}
  .site-header .ais-search-trigger{width:36px;height:36px}
}
