
:root{
  --cream:#f7f0e7;
  --cream-2:#fbf8f3;
  --ivory:#fffdf9;
  --navy:#26374f;
  --navy-2:#314662;
  --navy-3:#1f2e43;
  --champagne:#d8bfae;
  --champagne-2:#b9907a;
  --ink:#26313a;
  --muted:#69757d;
  --line:rgba(38,55,79,.12);
  --white:#fff;
  --shadow:0 22px 60px rgba(25,36,50,.13);
  --shadow-soft:0 14px 34px rgba(25,36,50,.09);
  --radius:26px;
  --radius-lg:38px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:var(--cream);
  line-height:1.65;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
.container{width:min(1180px,calc(100% - 36px));margin:0 auto}
.narrow{width:min(900px,calc(100% - 36px));margin:0 auto}
.eyebrow{
  color:var(--champagne-2);
  font-size:.76rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:800;
  margin-bottom:12px;
}
h1,h2,h3,h4{
  margin:0;
  font-family:"Cormorant Garamond",Georgia,serif;
  line-height:1.03;
  color:var(--navy-3);
  font-weight:600;
}
h1{font-size:clamp(3.4rem,7vw,6.7rem);letter-spacing:-.04em}
h2{font-size:clamp(2.4rem,4.5vw,4.2rem);letter-spacing:-.03em}
h3{font-size:1.75rem}
p{margin:0;color:var(--muted)}
.script{
  font-family:"Allura",cursive;
  color:var(--champagne-2);
  font-size:clamp(2.7rem,5.4vw,4.4rem);
  display:block;
  line-height:.85;
  letter-spacing:0;
  margin-top:10px;
}
.button{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:48px;padding:13px 22px;border-radius:999px;
  font-weight:800;line-height:1.2;text-align:center;white-space:normal;border:1px solid transparent;cursor:pointer;transition:.22s ease;
}
.button:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}
.button.primary{background:var(--navy);color:#fff}
.button.secondary{background:#fff;color:var(--navy);border-color:var(--line)}
.button.champagne{background:var(--champagne);color:var(--navy-3)}
.button.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.25)}
.button.whatsapp{background:#25D366;color:#07391f}
.site-header{
  position:sticky;top:0;z-index:80;background:rgba(247,240,231,.86);
  backdrop-filter:blur(18px);border-bottom:1px solid rgba(38,55,79,.08);
}
.nav{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 0}
.brand{display:inline-flex;align-items:center;gap:14px}
.logo-img{width:230px;height:auto}
.nav-links{display:flex;list-style:none;margin:0;padding:0;gap:26px;font-size:.95rem;font-weight:750;color:var(--navy)}
.nav-links a{position:relative}
.nav-links a:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:2px;background:var(--champagne-2);transition:.2s ease}
.nav-links a:hover:after,.nav-links a.active:after{width:100%}
.nav-actions{display:flex;gap:10px;align-items:center}
.mobile-menu-toggle{display:none;background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 14px;font-weight:800;color:var(--navy)}
.mobile-menu{display:none;border-top:1px solid var(--line);padding:12px 0 18px}
.mobile-menu a{display:block;padding:11px 0;font-weight:800;color:var(--navy)}
.latest-offer-strip{
  border-top:1px solid rgba(38,55,79,.08);
  background:linear-gradient(90deg,var(--navy-3),var(--navy-2));
  color:#fff;
}
.latest-offer-strip[hidden]{display:none}
.latest-offer-inner{
  min-height:46px;display:flex;align-items:center;justify-content:center;gap:12px;
  padding:8px 0;text-align:center;
}
.latest-offer-icon{
  display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;
  border-radius:50%;background:var(--champagne);color:var(--navy-3);flex:0 0 30px;
}
.latest-offer-icon svg{display:block;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.latest-offer-kicker{
  color:var(--champagne);font-size:.74rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;
}
.latest-offer-title{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  color:#fff;font-size:.94rem;font-weight:900;line-height:1.25;
  max-width:min(100%,920px);
}
.latest-offer-title [data-latest-offer-title]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.latest-offer-title:hover{text-decoration:underline;text-underline-offset:3px}
.latest-offer-arrow{color:var(--champagne);font-size:1.05rem}
.hero{
  background:
    linear-gradient(100deg,rgba(31,46,67,.96),rgba(38,55,79,.86) 55%,rgba(38,55,79,.66)),
    radial-gradient(circle at 90% 10%,rgba(216,191,174,.22),transparent 30%),
    url("https://images.unsplash.com/photo-1507525428034-b723cf961d3e?auto=format&fit=crop&w=1800&q=80") center/cover;
  color:#fff;position:relative;overflow:hidden;padding:110px 0 86px;
}
.hero:before{
  content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.14) 1px,transparent 1px);
  background-size:24px 24px;opacity:.25;pointer-events:none;
}
.hero:after{content:"";position:absolute;right:5%;top:18%;width:280px;height:280px;border:1px dashed rgba(255,255,255,.18);border-radius:50%}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:46px;align-items:center;position:relative;z-index:1}
.hero-grid:after{
  content:"✈";position:absolute;right:12%;top:6%;width:38px;height:38px;border-radius:50%;
  display:grid;place-items:center;background:var(--champagne);color:var(--navy-3);
  box-shadow:0 14px 34px rgba(0,0,0,.2);font-size:1rem;--plane-rotate:38deg;
  transform:rotate(var(--plane-rotate));animation:planeFloat 6s ease-in-out infinite;pointer-events:none;
}
.hero h1,.hero h2,.hero h3{color:#fff}
.hero p{color:rgba(255,255,255,.82)}
.hero-copy>p{font-size:1.12rem;max-width:690px;margin-top:22px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.hero-note{margin-top:24px;color:rgba(255,255,255,.72);font-size:.96rem}
.lux-card{
  background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.18);
  border-radius:34px;padding:34px;box-shadow:0 22px 60px rgba(0,0,0,.18);
}
.hero .lux-card .eyebrow{color:var(--champagne)}
.hero-list{display:grid;gap:15px;margin-top:24px}
.hero-list-item{display:grid;grid-template-columns:46px 1fr;gap:14px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.11);border-radius:20px;padding:15px}
.num{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--champagne);color:var(--navy-3);font-weight:900}
section{padding:84px 0}
.section-head{text-align:center;max-width:810px;margin:0 auto 40px}
.section-head p{margin-top:16px;font-size:1.03rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.card{
  background:var(--ivory);border:1px solid var(--line);border-radius:var(--radius);
  padding:30px;box-shadow:var(--shadow-soft);height:100%;
}
.card h3{margin-bottom:10px}
.icon{
  width:54px;height:54px;border-radius:18px;background:rgba(38,55,79,.08);
  color:var(--navy);display:grid;place-items:center;font-size:1.3rem;margin-bottom:18px;
}
.alt-section{background:#efe6dc}
.virgin-section{
  --virgin-ship-image:url("https://virginvoyages.imgix.net/dam/jcr%3A8567a7ce-ec76-4c5c-bbea-fe99bd575b3c/1600x700.png");
  position:relative;overflow:hidden;color:#fff;
  background:
    linear-gradient(105deg,rgba(31,46,67,.98) 0%,rgba(31,46,67,.91) 43%,rgba(31,46,67,.56) 70%,rgba(31,46,67,.24) 100%),
    var(--virgin-ship-image) right center/cover;
}
.virgin-section:before{
  content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.14) 1px,transparent 1px);
  background-size:26px 26px;opacity:.16;pointer-events:none;
}
.virgin-panel{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.95fr) minmax(310px,390px);gap:56px;align-items:end;min-height:430px}
.virgin-copy{max-width:760px}
.virgin-copy h2,.virgin-card h3{color:#fff}
.virgin-copy p,.virgin-card p{color:rgba(255,255,255,.82)}
.virgin-copy>p{font-size:1.06rem;max-width:760px;margin-top:18px}
.virgin-card{
  background:rgba(31,46,67,.56);border:1px solid rgba(255,255,255,.18);
  border-radius:22px;padding:18px;backdrop-filter:blur(12px);
}
.virgin-card{padding:28px;box-shadow:0 22px 60px rgba(0,0,0,.18)}
.virgin-card-side{justify-self:end;width:100%;margin-bottom:8px}
.virgin-card .tag{background:rgba(255,255,255,.16);color:var(--champagne)}
.tag{
  display:inline-flex;width:max-content;border-radius:999px;padding:7px 13px;
  background:rgba(38,55,79,.08);color:var(--champagne-2);font-size:.76rem;
  font-weight:900;text-transform:uppercase;letter-spacing:.09em;margin-bottom:14px;
}
.price{margin-top:16px;color:var(--navy-3);font-weight:900}
.split{display:grid;grid-template-columns:.92fr 1.08fr;gap:26px;align-items:start}
.panel{
  background:var(--ivory);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:38px;box-shadow:var(--shadow);
}
.steps{display:grid;gap:15px;margin-top:24px}
.step{display:grid;grid-template-columns:48px 1fr;gap:16px;padding:16px;border-radius:22px;background:var(--cream-2);border:1px solid var(--line)}
.step-number{width:48px;height:48px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:900}
.home-compressed{padding-top:70px}
.slider-shell{position:relative}
.slider-header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}
.slider-header .section-head{text-align:left;margin:0;max-width:650px}
.slider-controls{display:flex;gap:10px}
.slider-btn{
  width:46px;height:46px;border-radius:50%;border:1px solid var(--line);
  background:#fff;color:var(--navy);font-weight:900;cursor:pointer;box-shadow:var(--shadow-soft)
}
.slider{
  --slider-gap:22px;
  --slider-visible:3;
  display:flex;gap:var(--slider-gap);overflow:hidden;
  scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;
  padding:0;
}
.slider::-webkit-scrollbar{display:none}
.slide-card{
  flex:0 0 calc((100% - (var(--slider-gap) * (var(--slider-visible) - 1))) / var(--slider-visible));
  min-width:0;scroll-snap-align:start;
}
.offer-card{position:relative;overflow:hidden;min-height:330px;display:flex;flex-direction:column;justify-content:end;color:#fff;padding:26px;border-radius:26px;box-shadow:none}
.offer-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(31,46,67,.05),rgba(31,46,67,.9));z-index:0}
.offer-card>*{position:relative;z-index:1}
.offer-card h3{color:#fff;font-size:clamp(1.7rem,2.2vw,2rem);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.offer-card p{color:rgba(255,255,255,.82)}
.offer-card .tag{background:rgba(255,255,255,.14);color:var(--champagne)}
.offer-card .price{color:#fff}
.offer-1{background:url("https://images.unsplash.com/photo-1514282401047-d79a71a590e8?auto=format&fit=crop&w=900&q=80") center/cover}
.offer-2{background:url("https://images.unsplash.com/photo-1540541338287-41700207dee6?auto=format&fit=crop&w=900&q=80") center/cover}
.offer-3{background:url("https://images.unsplash.com/photo-1516483638261-f4dbaf036963?auto=format&fit=crop&w=900&q=80") center/cover}
.offer-4{background:url("https://images.unsplash.com/photo-1500534314209-a25ddb2bd429?auto=format&fit=crop&w=900&q=80") center/cover}
.offer-5{background:url("https://images.unsplash.com/photo-1483683804023-6ccdb62f86ef?auto=format&fit=crop&w=900&q=80") center/cover}
.offer-virgin{background:url("https://images.unsplash.com/photo-1511316695145-4992006ffddb?auto=format&fit=crop&w=900&q=80") center/cover}
.instagram-section{
  position:relative;overflow:hidden;color:#fff;
  background:
    linear-gradient(130deg,rgba(31,46,67,.99),rgba(38,55,79,.94) 52%,rgba(49,70,98,.86)),
    radial-gradient(circle at 82% 12%,rgba(216,191,174,.22),transparent 30%);
}
.instagram-section:before{
  content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.13) 1px,transparent 1px);
  background-size:24px 24px;opacity:.12;pointer-events:none;
}
.instagram-shell{position:relative;z-index:1;display:grid;grid-template-columns:minmax(280px,.74fr) minmax(0,1.26fr);gap:34px;align-items:center}
.instagram-intro{max-width:470px}
.instagram-intro .eyebrow{color:var(--champagne);margin-top:22px}
.instagram-intro h2{color:#fff;font-size:clamp(2.6rem,4.4vw,4.65rem)}
.instagram-intro p{color:rgba(255,255,255,.78);font-size:1.04rem;margin-top:18px}
.instagram-handle{
  display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.16);
  border-radius:999px;background:rgba(255,255,255,.08);padding:8px 13px;color:#fff;font-weight:900;
}
.instagram-icon{
  display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;
  background:linear-gradient(135deg,#f7d2b6,#d8bfae 44%,#9aa7bc);color:var(--navy-3);
}
.instagram-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.instagram-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.instagram-feed{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.instagram-post{
  position:relative;display:flex;align-items:flex-end;aspect-ratio:1;border-radius:24px;overflow:hidden;
  border:1px solid rgba(255,255,255,.16);background:var(--navy-3);box-shadow:0 18px 48px rgba(0,0,0,.22);
}
.instagram-post.is-featured{grid-row:auto}
.instagram-post img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.instagram-post.is-loading{opacity:.68}
.instagram-post:hover img{transform:scale(1.04)}
.inspiration-card{min-height:310px;display:flex;flex-direction:column}
.inspiration-card img{height:165px;width:100%;object-fit:cover;border-radius:20px;margin-bottom:18px}
.stars{color:var(--champagne-2);letter-spacing:2px;margin-bottom:14px}
.testimonial-card{display:flex;flex-direction:column;justify-content:space-between}
.testimonial-card blockquote p{font-size:1rem;line-height:1.72;color:var(--ink)}
.testimonial-card cite{border-top:1px solid var(--line);padding-top:16px}
blockquote{margin:0}
cite{display:block;margin-top:18px;font-style:normal;font-weight:900;color:var(--navy-3)}
.cta{padding:86px 0}
.cta-box{
  position:relative;overflow:hidden;text-align:center;color:#fff;border-radius:42px;padding:54px 34px;
  background:linear-gradient(135deg,var(--navy-3),var(--navy-2));box-shadow:var(--shadow)
}
.cta-box>*{position:relative;z-index:1}
.cta-box:before{content:"";position:absolute;left:-60px;bottom:-60px;width:220px;height:220px;border:1px dashed rgba(255,255,255,.22);border-radius:50%;pointer-events:none}
.cta-box:after{
  content:"✈";position:absolute;left:85px;bottom:96px;width:34px;height:34px;border-radius:50%;
  display:grid;place-items:center;background:var(--champagne);color:var(--navy-3);
  font-size:.95rem;box-shadow:0 14px 34px rgba(0,0,0,.18);--plane-rotate:-28deg;
  transform:rotate(var(--plane-rotate));animation:planeFloat 7s ease-in-out infinite;pointer-events:none;
}
.cta-box h2{color:#fff}.cta-box p{color:rgba(255,255,255,.82);max-width:720px;margin:16px auto 28px}
@keyframes planeFloat{0%,100%{transform:rotate(var(--plane-rotate)) translateY(0)}50%{transform:rotate(var(--plane-rotate)) translateY(-8px)}}
.page-hero{padding:84px 0 48px;background:linear-gradient(180deg,#fbf7f2 0%,var(--cream) 100%)}
.page-hero.center{text-align:center}
.page-hero p{max-width:780px;margin:16px auto 0}
.form-page{padding-top:56px}
.booking-shell{
  display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:30px;align-items:start;
}
.booking-panel{padding:46px;border-radius:36px}
.offer-enquiry-hero h1{max-width:980px}
.offer-enquiry-hero p{margin-left:0;max-width:780px;text-align:left}
.offer-enquiry-summary{overflow:hidden}
.offer-enquiry-image{height:190px;margin:-26px -26px 22px;background-position:center;background-size:cover}
.offer-enquiry-summary h3{font-size:1.8rem;line-height:1.08}
.form-section-title{
  margin:34px 0 18px;padding-top:24px;border-top:1px solid var(--line);
}
.form-section-title:first-of-type{margin-top:0;padding-top:0;border-top:0}
.form-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 20px;
}
.form-field{display:flex;flex-direction:column;gap:8px}
.form-field.full{grid-column:1/-1}
label{font-size:.93rem;font-weight:900;color:var(--navy-3)}
.required{color:#b85c49}
input,select,textarea{
  width:100%;height:56px;border:1px solid rgba(38,55,79,.18);
  border-radius:16px;padding:14px 15px;background:#fff;color:var(--ink);
  outline:none;transition:.18s ease;
}
textarea{height:auto;min-height:170px;resize:vertical}
input:focus,select:focus,textarea:focus{
  border-color:var(--champagne-2);box-shadow:0 0 0 4px rgba(185,144,122,.15)
}
.field-error{display:none;color:#9e2f24;font-size:.86rem;font-weight:800}
.form-field.invalid input,.form-field.invalid select,.form-field.invalid textarea{border-color:#b94a40}
.form-field.invalid .field-error{display:block}
.form-help{margin:0;color:var(--muted);font-size:.92rem}
.airport-field{position:relative}
.airport-combobox{position:relative}
.airport-multi-combobox{
  display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:56px;
  border:1px solid rgba(38,55,79,.18);border-radius:16px;padding:8px 10px;background:#fff;
  transition:.18s ease;
}
.airport-multi-combobox:focus-within{
  border-color:var(--champagne-2);box-shadow:0 0 0 4px rgba(185,144,122,.15)
}
.airport-multi-combobox input[type="text"]{
  flex:1 1 210px;min-width:170px;width:auto;height:38px;border:0;border-radius:0;
  padding:6px 4px;background:transparent;box-shadow:none;
}
.airport-multi-combobox input[type="text"]:focus{border-color:transparent;box-shadow:none}
.airport-selected-list{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.airport-selected-list:empty{display:none}
.airport-chip{
  display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:7px 8px 7px 12px;
  border-radius:999px;background:#efe6dc;color:var(--navy);font-size:.86rem;font-weight:900;
}
.airport-chip button{
  display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;
  border:0;border-radius:999px;background:rgba(38,55,79,.12);color:var(--navy);
  font-size:1rem;line-height:1;cursor:pointer;
}
.airport-chip button:hover{background:rgba(38,55,79,.2)}
.airport-results{
  position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:20;
  max-height:278px;overflow:auto;background:#fff;border:1px solid rgba(38,55,79,.16);
  border-radius:18px;box-shadow:0 18px 38px rgba(31,46,67,.16);padding:8px;
}
.airport-option{
  width:100%;display:grid;grid-template-columns:58px 1fr;gap:10px;align-items:center;
  border:0;border-radius:12px;background:#fff;color:var(--ink);text-align:left;
  padding:10px 11px;cursor:pointer;
}
.airport-option:hover,.airport-option.is-active{background:#fbf8f3}
.airport-code{
  display:inline-flex;align-items:center;justify-content:center;min-height:32px;
  border-radius:999px;background:#efe6dc;color:var(--navy);font-size:.82rem;font-weight:900;letter-spacing:.05em;
}
.airport-name{display:block;font-weight:900;line-height:1.25}
.airport-location{display:block;color:var(--muted);font-size:.86rem;margin-top:2px}
.airport-status{padding:11px 12px;color:var(--muted);font-size:.92rem}
.child-ages-field[hidden]{display:none}
.child-age-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.child-age-item{display:grid;gap:7px}
.child-age-item span{
  display:block;color:var(--champagne-2);font-size:.78rem;
  font-weight:900;letter-spacing:.08em;text-transform:uppercase;
}
.budget-field{gap:12px}
.budget-input-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.budget-input-label{
  display:block;margin-bottom:7px;color:var(--champagne-2);font-size:.78rem;
  font-weight:900;letter-spacing:.08em;text-transform:uppercase;
}
.budget-field input[data-budget-from],.budget-field input[data-budget-to]{
  color:var(--ink);font-size:1rem;
}
.budget-field input[data-budget-from]::placeholder,.budget-field input[data-budget-to]::placeholder{font-weight:400;color:#8b969d}
.recaptcha-note{margin:12px 0 0;color:var(--muted);font-size:.78rem;line-height:1.45}
.recaptcha-note a{color:var(--champagne-2);font-weight:800;text-decoration:none}
.recaptcha-note a:hover{text-decoration:underline}
.grecaptcha-badge{visibility:hidden!important}
.form-status{
  display:none;margin-top:22px;padding:16px 18px;border-radius:18px;font-weight:800;
}
.form-status.success{display:block;background:#eaf7ef;color:#196236;border:1px solid #bfe7cc}
.form-status.error{display:block;background:#fff0ed;color:#8d2e22;border:1px solid #efc1b8}
.sidebar-card{
  background:var(--ivory);border:1px solid var(--line);border-radius:26px;padding:26px;box-shadow:var(--shadow-soft)
}
.sidebar-card+.sidebar-card{margin-top:20px}
.sidebar-card ul{margin:16px 0 0;padding-left:20px;color:var(--muted)}
.blog-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:24px}
.feature-post{
  min-height:370px;border-radius:28px;padding:30px;color:#fff;
  background:linear-gradient(rgba(38,55,79,.18),rgba(31,46,67,.9)),url("https://virginvoyages.imgix.net/dam/jcr%3A8567a7ce-ec76-4c5c-bbea-fe99bd575b3c/1600x700.png") center/cover;
  display:flex;flex-direction:column;justify-content:flex-end;box-shadow:var(--shadow)
}
.feature-post h3{color:#fff;font-size:2.55rem}.feature-post p{color:rgba(255,255,255,.86);margin-top:10px}
.mini-posts{display:grid;gap:18px}
.mini-post{display:grid;grid-template-columns:116px 1fr;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:22px;padding:14px;box-shadow:var(--shadow-soft)}
.mini-post img{width:116px;height:98px;object-fit:cover;border-radius:16px}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.post-card-image{height:184px;width:100%;object-fit:cover;border-radius:17px;margin-bottom:14px}
.post-meta{font-size:.82rem;color:var(--champagne-2);font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:30px;align-items:start}
.article-body{background:#fff;border:1px solid var(--line);border-radius:30px;padding:38px;box-shadow:var(--shadow)}
.article-body h2{font-size:2.08rem;margin:28px 0 10px}
.article-body p+p{margin-top:16px}
.article-body ul{color:var(--muted);padding-left:22px}
.article-body li+li{margin-top:8px}
.article-hero{padding:70px 0 34px}
.article-hero-image{width:100%;max-height:320px;object-fit:cover;border-radius:22px;margin:16px 0 20px}
.article-body>.article-hero-image:first-child{margin-top:0;margin-bottom:22px}
.article-hero+section,.offer-detail-hero+section{padding-top:38px}
.page-hero+section:has(.article-layout){padding-top:28px}
.article-cta .button{font-size:.92rem;padding:12px 17px}
.article-cta-actions{display:flex;flex-wrap:wrap;gap:10px}
.share-card h3{font-size:1.55rem}
.share-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:16px}
.share-button{
  display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 12px;
  border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--navy);
  font-size:.86rem;font-weight:900;line-height:1.15;text-align:center;cursor:pointer;transition:.2s ease;
}
.share-button:hover{transform:translateY(-1px);box-shadow:var(--shadow-soft)}
.share-status{display:none;margin-top:12px;color:var(--muted);font-size:.86rem;font-weight:800}
.share-status.success{display:block;color:#196236}
.offer-detail-hero{
  color:#fff;
  background-image:linear-gradient(110deg,rgba(31,46,67,.92),rgba(31,46,67,.68)),var(--detail-image);
  background-position:center;
  background-size:cover;
}
.offer-detail-hero h1{color:#fff}
.offer-detail-hero p{max-width:none;margin:16px 0 0;color:rgba(255,255,255,.84);text-align:left;font-size:1.04rem;line-height:1.72}
.detail-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.offer-detail-hero .detail-meta{justify-content:flex-start}
.detail-pill{display:inline-flex;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:8px 13px;color:#fff;background:rgba(255,255,255,.09);font-size:.88rem;font-weight:800}
.detail-list{display:grid;gap:12px;margin:20px 0 0;padding:0;list-style:none}
.detail-list li{display:grid;grid-template-columns:34px 1fr;gap:12px;color:var(--muted)}
.detail-list li:before{content:"✓";width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(38,55,79,.08);color:var(--navy);font-weight:900}
.contact-stack{display:grid;gap:10px}
.site-footer{background:var(--navy-3);color:rgba(255,255,255,.78);padding:60px 0 28px}
.site-footer p,.site-footer a{color:rgba(255,255,255,.78)}
.site-footer h4{font-family:Inter,sans-serif;font-size:.92rem;letter-spacing:.1em;text-transform:uppercase;color:#fff;margin:0 0 14px}
.footer-grid{display:grid;grid-template-columns:1.35fr .65fr .85fr 1fr;gap:28px;margin-bottom:34px}
.footer-brand img{filter:brightness(0) invert(1);opacity:.95;width:250px}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:20px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.88rem;color:rgba(255,255,255,.65)}
.footer-contact-list{gap:12px!important}
.footer-contact-link{display:inline-flex;align-items:center;gap:10px}
.footer-icon{width:18px;height:18px;color:#fff;flex:0 0 18px}
.footer-icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.footer-subscribe .subscribe-form{margin-top:0}
.subscribe-form{display:grid;gap:10px;margin-top:20px}
.subscribe-label{color:#fff;font-size:.86rem;letter-spacing:.08em;text-transform:uppercase}
.subscribe-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.subscribe-row input{height:46px;border-radius:999px;background:rgba(255,255,255,.95)}
.subscribe-row .button{min-height:46px;padding:10px 16px}
.subscribe-note{font-size:.84rem;line-height:1.55}
.subscribe-status{display:none;margin-top:2px;padding:10px 12px;border-radius:12px;font-size:.86rem;font-weight:800}
.subscribe-status.success{display:block;background:rgba(37,211,102,.14);border:1px solid rgba(37,211,102,.28);color:#dff7e9}
.subscribe-status.error{display:block;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);color:#fff}
.subscribe-section{background:var(--navy-3);color:#fff}
.subscribe-section h2{color:#fff}
.subscribe-section p{color:rgba(255,255,255,.76)}
.subscribe-panel{display:grid;grid-template-columns:1fr minmax(320px,.65fr);gap:28px;align-items:center}
.subscribe-panel .subscribe-form{margin-top:0}
.subscribe-panel .subscribe-label{color:var(--champagne)}
.subscribe-panel .subscribe-note{color:rgba(255,255,255,.7)}
.sidebar-card .subscribe-label{color:var(--navy-3)}
.sidebar-card .subscribe-note{color:var(--muted)}
.chat-toggle{position:fixed;right:20px;bottom:20px;width:62px;height:62px;border-radius:50%;border:3px solid #fff;background:#25D366;color:#07391f;font-size:1.5rem;box-shadow:var(--shadow);z-index:100;cursor:pointer}
.chat-panel{display:none;position:fixed;right:20px;bottom:94px;width:min(375px,calc(100vw - 28px));background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);overflow:hidden;z-index:100}
.chat-panel.is-open{display:block}
.chat-header{background:var(--navy);color:#fff;padding:17px 20px;display:flex;align-items:center;justify-content:space-between}
.chat-header h4{font-family:Inter,sans-serif;color:#fff;font-size:1rem;margin:0}
.chat-close{background:transparent;border:0;color:#fff;font-size:1.35rem;cursor:pointer}
.chat-body{padding:20px}
.chat-message{background:#f2f5f6;border-radius:18px 18px 18px 6px;padding:15px;color:var(--ink);margin-bottom:15px}
.chat-options{display:grid;gap:10px}
.conversation-body{background:var(--warm);min-height:100vh;color:var(--ink)}
.conversation-top{padding:24px clamp(18px,4vw,54px);display:flex;justify-content:center}
.conversation-top img{width:220px;max-width:70vw;height:auto;display:block}
.conversation-shell{width:min(1040px,calc(100% - 32px));margin:0 auto 54px}
.conversation-hero{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:24px;align-items:end;background:linear-gradient(135deg,var(--navy-3),var(--navy));color:#fff;border-radius:28px;padding:34px;box-shadow:var(--shadow)}
.conversation-hero h1{font-size:clamp(2.1rem,4vw,4rem);line-height:.98;margin:6px 0 14px;color:#fff}
.conversation-hero p{margin:0;color:rgba(255,255,255,.78);max-width:680px}
.conversation-hero aside{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:18px}
.conversation-hero aside span,.conversation-hero aside small{display:block;color:rgba(255,255,255,.68);font-weight:800}
.conversation-hero aside strong{display:block;font-size:1.5rem;margin:4px 0;color:var(--champagne)}
.conversation-card{margin-top:24px;background:var(--cream);border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:var(--shadow)}
.conversation-empty{max-width:680px;margin:28px auto;text-align:center}
.conversation-empty h1{font-size:clamp(2rem,4vw,3.5rem);margin:8px 0 12px}
.customer-thread{display:flex;flex-direction:column;gap:14px}
.customer-message{width:min(76%,720px);background:#fff;border:1px solid var(--line);border-radius:20px 20px 20px 6px;padding:16px;box-shadow:0 14px 34px rgba(31,46,67,.08)}
.customer-message.staff{align-self:flex-start;background:#fff}
.customer-message.customer{align-self:flex-end;background:var(--navy);color:#fff;border-color:rgba(38,55,79,.16);border-radius:20px 20px 6px 20px}
.customer-message-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;color:var(--muted);font-size:.82rem;font-weight:800}
.customer-message.customer .customer-message-meta,.customer-message.customer p{color:rgba(255,255,255,.78)}
.customer-message.customer .customer-message-meta strong{color:#fff}
.customer-message p{margin:8px 0 0;color:var(--ink)}
.conversation-reply{margin-top:22px;padding-top:22px;border-top:1px solid var(--line);display:grid;gap:12px}
.conversation-reply label{font-weight:900;color:var(--navy);letter-spacing:.04em;text-transform:uppercase;font-size:.82rem}
.conversation-reply textarea{border-radius:18px;background:#fffdf9}
.conversation-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.conversation-alert{padding:13px 15px;border-radius:14px;font-weight:800;margin-bottom:18px}
.conversation-alert.success{background:#eaf7ef;color:#196236;border:1px solid #bfe7cc}
.conversation-alert.error{background:#fff0ed;color:#8d2e22;border:1px solid #efc1b8}
.conversation-bot-field{position:absolute;left:-9999px;opacity:0}
.mt-10{margin-top:10px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}.mt-24{margin-top:24px}.mt-30{margin-top:30px}
@media(max-width:1050px){
  .nav-links,.nav-actions{display:none}.mobile-menu-toggle{display:inline-flex}
  .mobile-menu.is-open{display:block}
  .latest-offer-inner{justify-content:flex-start;text-align:left}
  .hero-grid,.split,.booking-shell,.blog-grid,.article-layout,.footer-grid,.subscribe-panel{grid-template-columns:1fr}
  .virgin-panel{grid-template-columns:1fr}
  .instagram-shell{grid-template-columns:1fr}
  .instagram-intro{max-width:760px}
  .instagram-feed{grid-template-columns:1fr 1fr}
  .instagram-post.is-featured{grid-column:auto;grid-row:auto}
  .grid-3,.post-grid{grid-template-columns:1fr 1fr}
  .child-age-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .slider{--slider-visible:2}
  .conversation-hero{grid-template-columns:1fr;padding:26px}
  .customer-message{width:100%}
}
@media(max-width:680px){
  .container,.narrow{width:min(100% - 26px,1180px)}
  .logo-img{width:198px}
  .hero{padding:82px 0 66px}
  section{padding:64px 0}
  .grid-3,.grid-2,.form-grid,.post-grid{grid-template-columns:1fr}
  .child-age-grid{grid-template-columns:1fr}
  .slider{--slider-visible:1}
  .panel,.booking-panel,.card,.article-body{padding:24px}
  .latest-offer-inner{align-items:flex-start;gap:9px;padding:10px 0}
  .latest-offer-kicker{display:none}
  .latest-offer-title{font-size:.86rem;justify-content:flex-start}
  .latest-offer-icon{width:28px;height:28px;flex-basis:28px}
  .mini-post{grid-template-columns:1fr}.mini-post img{width:100%;height:190px}
  .instagram-feed{grid-template-columns:1fr}
  .instagram-post,.instagram-post.is-featured{grid-column:auto}
  .instagram-actions .button{width:100%}
  .article-cta-actions .button{width:100%}
  .share-links{grid-template-columns:1fr}
  .slider-header{align-items:start;flex-direction:column}
  .subscribe-row{grid-template-columns:1fr}
  .hero-grid:after,.cta-box:after{display:none}
  .conversation-shell{width:min(100% - 24px,1040px)}
  .conversation-card{padding:18px;border-radius:22px}
  .conversation-actions .button{width:100%}
}

select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#26374f 50%),linear-gradient(135deg,#26374f 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:46px;line-height:1.2}
select:invalid{color:#7a858d}
.compliance-logos{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:18px}.compliance-logos img{width:118px;height:auto;border-radius:10px;box-shadow:0 8px 20px rgba(0,0,0,.10)}.site-footer .compliance-logos img{width:106px;background:#fff}.accreditation-text{font-size:.9rem;margin-top:14px}.hero .compliance-logos img{width:110px}.hero .compliance-logos{margin-top:22px}

/* Alexton v4 additions */
.audience-strip{background:var(--navy-3);color:rgba(255,255,255,.82);font-size:.88rem;border-bottom:1px solid rgba(255,255,255,.10)}.audience-inner{min-height:38px;display:flex;justify-content:space-between;align-items:center;gap:18px}.audience-tabs{display:flex;gap:4px;align-items:center}.audience-tab{padding:8px 14px;color:rgba(255,255,255,.78);font-weight:800;border-radius:999px}.audience-tab.active{background:var(--champagne);color:var(--navy-3)}.audience-note{color:rgba(255,255,255,.62)}.compliance-logos{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:18px}.compliance-logos img{display:block;height:58px;width:auto;object-fit:contain;background:transparent;border:0;box-shadow:none;border-radius:0}.site-footer .compliance-logos img{height:52px;filter:none}.accreditation-text{font-size:.9rem;margin-top:14px}select{height:56px;min-height:56px;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#fff;background-image:linear-gradient(45deg,transparent 50%,#26374f 50%),linear-gradient(135deg,#26374f 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:46px}.business-hero{background:linear-gradient(110deg,rgba(22,31,45,.98),rgba(38,55,79,.90) 58%,rgba(38,55,79,.62)),radial-gradient(circle at 78% 16%,rgba(216,191,174,.24),transparent 28%),url("https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=1800&q=80") center/cover;color:#fff}.business-hero h1,.business-hero h2,.business-hero h3{color:#fff}.business-hero p{color:rgba(255,255,255,.82)}.business-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px}.business-stat{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);border-radius:22px;padding:18px}.business-stat strong{display:block;font-size:1.45rem;color:var(--champagne)}.business-dark{background:linear-gradient(180deg,var(--navy-3),#172333);color:#fff}.business-dark h2,.business-dark h3{color:#fff}.business-dark p{color:rgba(255,255,255,.74)}.business-dark .card{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.13);box-shadow:0 18px 50px rgba(0,0,0,.18)}.business-dark .icon{background:rgba(216,191,174,.15);color:var(--champagne)}.business-process .step{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}.business-process .step-number{background:var(--champagne);color:var(--navy-3)}.business-contact{background:#efe6dc}.business-contact .panel{border-radius:36px}@media(max-width:1050px){.audience-inner{align-items:flex-start;flex-direction:column;padding:8px 0}.business-stats{grid-template-columns:1fr}}

/* Final Fasthosts polish */
.audience-inner{min-height:42px;}
.audience-tabs{gap:10px;}
.audience-tab{border-radius:3px;padding:9px 15px;border-left:0;}
.business-hero{background:linear-gradient(110deg,rgba(22,31,45,.98),rgba(38,55,79,.88) 58%,rgba(38,55,79,.60)),url("https://images.unsplash.com/photo-1513635269975-59663e0ac1ad?auto=format&fit=crop&w=1800&q=80") center/cover!important;padding:70px 0 58px!important;}
.business-hero h1{font-size:clamp(2.8rem,5.2vw,5rem)!important;}
.business-hero .hero-grid{grid-template-columns:1.18fr .82fr;}
.business-hero .lux-card{padding:26px;}
.business-hero .hero-list{gap:10px;margin-top:16px;}
.business-hero .hero-list-item{padding:12px;}
.business-hero .hero-actions{margin-top:24px;}
.business-stats{margin-top:26px;}
.business-stat{border-radius:18px;padding:15px;}
.business-stat strong{font-size:1.2rem;}
.business-services-section{background:#fffdf9;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.business-services-section .card{background:#f7f0e7;border-color:#eadfd4;box-shadow:0 14px 38px rgba(31,46,67,.08);}
.business-services-section .icon{background:#fff;color:var(--navy-3);}
.business-portal-feature{background:linear-gradient(135deg,#efe6dc 0%,#fffdf9 68%);scroll-margin-top:158px;}
.business-portal-layout{display:grid;grid-template-columns:.86fr 1.14fr;gap:34px;align-items:center;}
.portal-usp-copy h2{margin:10px 0 18px;font-size:clamp(2.3rem,4vw,4rem);}
.portal-usp-copy p{font-size:1.04rem;color:var(--muted);}
.portal-usp-copy p+p{margin-top:14px;}
.portal-usp-panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:var(--shadow);overflow:hidden;}
.portal-device-image{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:18px;border:1px solid var(--line);}
.portal-mock{background:var(--navy-3);color:#fff;border-radius:20px;padding:18px;}
.portal-mock-head,.portal-mock-row{display:flex;justify-content:space-between;gap:18px;align-items:center;}
.portal-mock-head{padding-bottom:14px;margin-bottom:10px;border-bottom:1px solid rgba(255,255,255,.16);}
.portal-mock-head span,.portal-mock-row span{color:rgba(255,255,255,.68);font-weight:800;}
.portal-mock-head strong{color:var(--champagne);font-size:1.2rem;}
.portal-mock-row{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.10);}
.portal-mock-row:last-child{border-bottom:0;}
.portal-mock-row strong{color:#fff;}
.portal-usp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px;}
.portal-usp-item{border:1px solid var(--line);background:#fffdf9;border-radius:16px;padding:16px;}
.portal-usp-item strong{display:block;color:var(--navy-3);font-size:1.02rem;}
.portal-usp-item span{display:block;color:var(--muted);font-size:.92rem;margin-top:6px;}
.business-partner-section{background:linear-gradient(135deg,var(--navy-3),#172333);color:#fff;}
.business-partner-section .panel{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);box-shadow:0 18px 50px rgba(0,0,0,.18);}
.business-partner-section h2,.business-partner-section h3{color:#fff;}
.business-partner-section p{color:rgba(255,255,255,.76);}
.business-partner-section .eyebrow{color:var(--champagne);}
.business-partner-section .business-process .step{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14);}
.business-contact{background:#f7f0e7;border-top:1px solid var(--line);}
.slider-shell{overflow:hidden!important;}
.slider{overflow:hidden!important;padding:0!important;margin:0!important;}
.slider .card,.offer-card{box-shadow:none!important;}
.cookie-banner{position:fixed;left:18px;right:18px;bottom:18px;z-index:140;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:18px;display:none;gap:18px;align-items:center;justify-content:space-between;}
.cookie-banner.is-visible{display:flex;}
.cookie-banner p{font-size:.92rem;}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;}
.legal-content{background:#fff;border:1px solid var(--line);border-radius:32px;padding:42px;box-shadow:var(--shadow-soft);}
.legal-content h2{font-size:2rem;margin:34px 0 12px;}
.legal-content h2:first-child{margin-top:0;}
.legal-content p+p{margin-top:14px;}
.legal-content ul{color:var(--muted);}
@media(max-width:1050px){.business-hero .hero-grid,.business-portal-layout{grid-template-columns:1fr}.portal-usp-grid{grid-template-columns:1fr}.audience-strip{position:relative;z-index:95}.audience-note{display:none}.audience-inner{min-height:0!important;align-items:center!important;justify-content:center!important;flex-direction:row!important;padding:7px 0!important}.audience-tabs{width:100%;justify-content:center;gap:8px}.audience-tab{display:inline-flex;align-items:center;justify-content:center;min-height:40px;min-width:132px;text-align:center;position:relative;z-index:1;pointer-events:auto}}
@media(max-width:680px){.business-hero{padding:58px 0 48px!important}.portal-usp-panel{padding:18px;border-radius:18px}.portal-mock-head,.portal-mock-row{align-items:flex-start;flex-direction:column;gap:4px}.cookie-banner{align-items:flex-start;flex-direction:column}.cookie-banner.is-visible{display:flex}.legal-content{padding:24px}}
@media(max-width:680px){.business-hero .hero-actions{justify-content:center}.business-hero .hero-actions .button.whatsapp{width:min(100%,272px)}}
