:root { --navy:#062b65; --deep:#03172f; --blue:#0b4a94; --green:#56bd31; --ink:#102238; --muted:#647287; --line:#dfe5ec; --paper:#f7f8f5; --white:#fff; }
.theme-colour-2 {
  --navy:#061a46;
  --deep:#020b24;
  --blue:#16366b;
  --green:#c49a3a;
  --ink:#17213b;
  --muted:#687084;
  --line:#e3dccd;
  --paper:#f8f4ec;
}
.theme-colour-2 .topbar { background:#020a1d; color:#d8cfbd; }
.theme-colour-2 .site-header { background:rgba(255,253,248,.97); border-bottom-color:rgba(120,88,25,.16); }
.theme-colour-2 .brand img { width:214px; height:76px; }
.theme-colour-2 .button-green { color:#071128; box-shadow:0 12px 34px rgba(196,154,58,.26); }
.theme-colour-2 .hero-shade { background:linear-gradient(90deg,rgba(1,7,24,.97) 0%,rgba(4,19,52,.87) 44%,rgba(5,20,48,.3) 73%,rgba(1,7,23,.56) 100%); }
.theme-colour-2 .hero-card { background:rgba(2,10,31,.88); border-color:rgba(218,184,102,.34); }
.theme-colour-2 .proof-strip { background:#fffdf8; }
.theme-colour-2 .destination-card:hover { border-color:rgba(196,154,58,.78); }
.theme-colour-2 .contact-section { background:#f1ede4; }
.theme-colour-2 .contact-intro { background:linear-gradient(145deg,#102d61,#020b24); }
.theme-colour-2 .inquiry-form { background:#fffdf9; }
.theme-colour-2 .footer-main img { width:218px; height:164px; background:#fffdf8; padding:10px; border-radius:2px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--white); font-family:Arial,Helvetica,sans-serif; -webkit-font-smoothing:antialiased; }
section { scroll-margin-top:96px; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
.shell { width:min(1320px,calc(100% - 52px)); margin-inline:auto; }
.topbar { background:var(--deep); color:#c9d5e2; font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.topbar-inner { min-height:34px; display:flex; align-items:center; justify-content:space-between; }
.topbar a { color:#fff; text-transform:none; letter-spacing:.02em; }
.site-header { position:sticky; top:0; z-index:40; background:rgba(255,255,255,.97); border-bottom:1px solid rgba(14,35,57,.1); backdrop-filter:blur(16px); }
.nav-row { height:96px; display:grid; grid-template-columns:214px 1fr auto; align-items:center; gap:30px; }
.brand img { width:178px; height:80px; object-fit:contain; object-position:left center; }
.nav-links { display:flex; align-items:center; justify-content:center; gap:clamp(22px,2.3vw,38px); font-size:12px; font-weight:700; color:#21334a; }
.nav-links a { position:relative; padding:40px 0 37px; }
.nav-links a::after { content:""; position:absolute; left:0; right:100%; bottom:25px; height:2px; background:var(--green); transition:right .25s ease; }
.nav-links a:hover::after,.nav-links a:focus-visible::after { right:0; }
.nav-actions { display:flex; align-items:center; gap:18px; }
.phone { color:var(--navy); font-size:14px; font-weight:800; white-space:nowrap; }
.phone small { display:block; color:#758297; font-size:9px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; margin-bottom:2px; }
.button { min-height:50px; padding:0 23px; display:inline-flex; align-items:center; justify-content:center; gap:22px; border:1px solid transparent; border-radius:2px; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; transition:transform .2s ease,background .2s ease; }
.button:hover { transform:translateY(-2px); }
.button span { font-size:17px; font-weight:400; }
.button-navy { background:var(--navy); color:#fff; }
.button-green { background:var(--green); color:#071d15; box-shadow:0 12px 34px rgba(86,189,49,.25); }
.button-ghost { border-color:rgba(255,255,255,.45); color:#fff; background:rgba(255,255,255,.05); }
.menu-button { display:none; width:44px; height:44px; border:0; background:transparent; padding:12px; }
.menu-button span { display:block; height:2px; background:var(--navy); margin:6px 0; }
.hero { position:relative; min-height:690px; background:url('hero-option-3-ballroom.webp') center center/cover no-repeat; color:#fff; overflow:hidden; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(1,13,32,.96) 0%,rgba(3,29,67,.82) 44%,rgba(3,24,53,.23) 73%,rgba(1,12,29,.5) 100%); }
.hero-grid { position:relative; z-index:1; min-height:570px; padding:74px 0 48px; display:grid; grid-template-columns:1.25fr .65fr; gap:clamp(40px,8vw,120px); align-items:center; }
.eyebrow,.section-kicker { font-size:11px; line-height:1; text-transform:uppercase; letter-spacing:.17em; font-weight:800; }
.eyebrow { display:flex; align-items:center; gap:12px; color:#dce6ef; margin-bottom:23px; }
.eyebrow span { width:28px; height:2px; background:var(--green); }
.hero h1 { margin:0; max-width:820px; font-size:clamp(52px,5.25vw,78px); line-height:.99; letter-spacing:-.052em; font-weight:700; }
.hero h1 em { color:var(--green); font-style:normal; }
.hero-copy>p { max-width:680px; margin:25px 0 33px; color:#e6edf5; font-size:clamp(17px,1.55vw,21px); line-height:1.58; }
.hero-buttons { display:flex; gap:12px; }
.hero-card { background:rgba(2,18,43,.83); border:1px solid rgba(255,255,255,.2); backdrop-filter:blur(13px); padding:30px 30px 24px; box-shadow:0 25px 80px rgba(0,0,0,.25); }
.hero-card-intro { padding-bottom:24px; border-bottom:1px solid rgba(255,255,255,.14); }
.hero-card-intro span { color:var(--green); font-size:10px; text-transform:uppercase; letter-spacing:.15em; font-weight:800; }
.hero-card-intro strong { display:block; margin-top:8px; font-size:25px; line-height:1.18; }
.hero-point { display:grid; grid-template-columns:23px 1fr; gap:12px; padding:18px 0; border-bottom:1px solid rgba(255,255,255,.11); }
.hero-point:last-child { border-bottom:0; padding-bottom:0; }
.tick { width:20px; height:20px; border:1px solid var(--green); color:var(--green); border-radius:50%; display:grid; place-items:center; font-size:11px; }
.hero-point strong { display:block; font-size:14px; }
.hero-point p { margin:4px 0 0; color:#b9c9da; font-size:12px; line-height:1.45; }
.proof-strip { position:relative; z-index:2; min-height:120px; display:grid; grid-template-columns:repeat(4,1fr); background:#fff; color:var(--ink); box-shadow:0 -12px 35px rgba(1,16,36,.13); }
.proof-strip div { padding:25px 31px; border-right:1px solid var(--line); display:flex; flex-direction:column; justify-content:center; }
.proof-strip div:last-child { border:0; }
.proof-strip strong { color:var(--navy); font-size:25px; letter-spacing:-.03em; }
.proof-strip span { color:var(--muted); font-size:10px; margin-top:4px; text-transform:uppercase; letter-spacing:.1em; }
.service-ribbon { border-bottom:1px solid var(--line); }
.ribbon-grid { display:grid; grid-template-columns:repeat(5,1fr); }
.ribbon-card { min-height:162px; display:grid; grid-template-columns:45px 1fr; align-items:center; gap:16px; padding:26px 19px; border-right:1px solid var(--line); }
.ribbon-card:last-child { border-right:0; }
.service-icon { width:44px; color:var(--blue); }
.service-icon svg { width:44px; height:44px; }
.ribbon-card h3 { margin:0; color:var(--navy); font-size:13px; line-height:1.25; }
.ribbon-card p { margin:7px 0 0; color:var(--muted); font-size:11px; line-height:1.45; }
.intro-section { padding:104px 0; background:var(--paper); }
.intro-grid { display:grid; grid-template-columns:.34fr 1fr; gap:60px; }
.section-kicker { color:var(--green); padding-top:13px; }
.intro-grid h2 { margin:0; max-width:1020px; color:var(--navy); font-family:Georgia,'Times New Roman',serif; font-size:clamp(38px,4.3vw,64px); font-weight:400; line-height:1.08; letter-spacing:-.035em; }
.intro-grid p { max-width:760px; margin:28px 0 21px; color:#526175; font-size:17px; line-height:1.7; }
.text-link { display:inline-flex; gap:16px; color:var(--navy); font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; border-bottom:1px solid var(--navy); padding-bottom:6px; }
.feature-section { padding:105px 0 120px; }
.feature-head { display:grid; grid-template-columns:1.2fr .8fr; align-items:end; gap:70px; margin-bottom:50px; }
.feature-head h2,.destinations-head h2,.about-copy h2,.contact-intro h2 { margin:13px 0 0; color:var(--navy); font-family:Georgia,'Times New Roman',serif; font-size:clamp(40px,4.5vw,66px); line-height:1.02; font-weight:400; letter-spacing:-.04em; }
.feature-head>p,.destinations-head>p { margin:0; color:var(--muted); font-size:16px; line-height:1.7; max-width:520px; }
.feature-grid { display:grid; grid-template-columns:1.15fr .85fr .85fr; grid-template-rows:360px 360px; gap:16px; }
.feature { position:relative; overflow:hidden; background:var(--deep); color:#fff; }
.feature-large { grid-row:span 2; }
.feature-wide { grid-column:span 2; }
.feature img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.feature:hover img { transform:scale(1.025); }
.feature::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 35%,rgba(1,15,36,.9) 100%); }
.feature-copy { position:absolute; z-index:2; left:0; right:0; bottom:0; padding:30px; }
.feature-copy>span { color:var(--green); font-size:10px; font-weight:800; letter-spacing:.15em; }
.feature-copy h3 { margin:8px 0 7px; font-size:23px; }
.feature-copy p { max-width:560px; margin:0; color:#d3deea; font-size:13px; line-height:1.55; }
.destinations-section { padding:110px 0 95px; background:var(--deep); color:#fff; }
.destinations-head { display:grid; grid-template-columns:1.15fr .85fr; align-items:end; gap:70px; }
.destinations-head h2 { color:#fff; }
.destinations-head>p { color:#aebed0; }
.filters { margin-top:45px; display:flex; border-bottom:1px solid rgba(255,255,255,.18); }
.filter { border:0; background:transparent; color:#9eb0c3; padding:15px 29px 17px 0; margin-right:35px; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; border-bottom:2px solid transparent; transform:translateY(1px); }
.filter span { margin-left:10px; color:#667f98; font-size:9px; }
.filter.active { color:#fff; border-bottom-color:var(--green); }
.filter.active span { color:var(--green); }
.destination-grid { margin-top:30px; display:grid; grid-template-columns:repeat(3,1fr); gap:24px 16px; }
.destination-card { min-width:0; overflow:hidden; border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.035); transition:border-color .2s ease,background .2s ease,transform .2s ease; }
.destination-card:hover { border-color:rgba(86,189,49,.7); background:rgba(255,255,255,.06); transform:translateY(-3px); }
.destination-image { position:relative; height:225px; overflow:hidden; background:#0a315f; }
.destination-image::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 48%,rgba(2,19,41,.4)); pointer-events:none; }
.destination-image img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .55s ease; }
.destination-card:hover img { transform:scale(1.035); }
.destination-image span { position:absolute; z-index:2; left:15px; top:15px; padding:7px 10px; color:#fff; background:rgba(2,19,41,.78); border:1px solid rgba(255,255,255,.28); font-size:8px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.destination-copy { min-height:88px; display:flex; align-items:center; justify-content:space-between; gap:15px; padding:17px 19px 19px; }
.destination-card h3 { margin:0; font-size:21px; line-height:1.05; }
.destination-card p { margin:6px 0 0; color:#a6b5c5; font-size:11px; }
.destination-arrow { color:#6e879f; font-size:17px; }
.destination-cta { margin-top:60px; padding:28px 30px; border:1px solid rgba(255,255,255,.21); display:flex; align-items:center; justify-content:space-between; gap:30px; }
.destination-cta div span { display:block; color:var(--green); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.destination-cta div strong { display:block; margin-top:7px; font-family:Georgia,'Times New Roman',serif; font-size:25px; font-weight:400; }
.about-section { padding:120px 0; background:#fff; }
.about-grid { display:grid; grid-template-columns:.83fr 1.17fr; gap:80px; align-items:center; }
.about-copy>p { color:var(--muted); font-size:16px; line-height:1.7; }
.about-copy ul { list-style:none; padding:15px 0 18px; margin:0; display:grid; gap:12px; }
.about-copy li { position:relative; padding-left:28px; color:#35475b; font-size:14px; }
.about-copy li::before { content:"✓"; position:absolute; left:0; top:-2px; width:18px; height:18px; display:grid; place-items:center; border:1px solid var(--green); border-radius:50%; color:var(--green); font-size:10px; }
.about-collage { position:relative; display:grid; grid-template-columns:1.2fr .8fr; grid-template-rows:265px 265px; gap:7px; }
.about-collage img { width:100%; height:100%; object-fit:cover; }
.about-banquet { grid-row:span 2; }
.about-collage img:nth-child(4) { display:none; }
.about-collage .about-seal { position:absolute; right:22px; bottom:22px; z-index:3; width:150px; height:150px; object-fit:contain; padding:9px; background:rgba(255,253,248,.96); border-radius:50%; box-shadow:0 14px 36px rgba(2,11,36,.22); }
.contact-section { padding:110px 0; background:#eef2f4; }
.contact-shell { display:grid; grid-template-columns:.82fr 1.18fr; box-shadow:0 25px 70px rgba(4,31,64,.12); }
.contact-intro { padding:64px 58px; color:#fff; background:linear-gradient(145deg,#073b82,#041e49); }
.contact-intro .section-kicker { color:var(--green); }
.contact-intro h2 { color:#fff; }
.contact-intro>p { color:#c4d2e0; line-height:1.68; font-size:15px; }
.contact-details { margin-top:38px; display:grid; gap:20px; }
.contact-details a,.contact-details>div { color:#fff; font-size:15px; line-height:1.55; }
.contact-details small { display:block; color:#81a0bf; font-size:9px; text-transform:uppercase; letter-spacing:.14em; margin-bottom:3px; }
.inquiry-form { background:#fff; padding:54px 58px 46px; }
.form-title { display:flex; justify-content:space-between; align-items:baseline; padding-bottom:22px; border-bottom:1px solid var(--line); margin-bottom:25px; }
.form-title span { color:var(--navy); font-family:Georgia,'Times New Roman',serif; font-size:29px; }
.form-title p { color:var(--muted); font-size:12px; margin:0; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.form-grid label { display:grid; gap:7px; color:#38506b; font-size:10px; text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
.form-grid label.full { grid-column:1/-1; }
.form-grid input,.form-grid select,.form-grid textarea { width:100%; border:1px solid #cbd5df; border-radius:0; padding:12px 13px; background:#fff; color:var(--ink); outline:none; text-transform:none; letter-spacing:normal; font-weight:400; font-size:14px; }
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(11,74,148,.08); }
.form-grid textarea { resize:vertical; }
.form-submit { margin-top:23px; min-width:260px; }
.form-note { margin:10px 0 0; color:#8190a0; font-size:10px; }
.footer { background:#021329; color:#d2ddea; }
.footer-main { padding:62px 0 46px; display:grid; grid-template-columns:1.6fr .7fr .9fr 1fr; gap:55px; }
.footer-main img { width:170px; height:88px; object-fit:contain; object-position:left; background:#fff; padding:5px; }
.footer-main p { max-width:280px; color:#8fa2b7; font-size:12px; line-height:1.6; }
.footer-main>div:not(:first-child) { display:flex; flex-direction:column; gap:11px; }
.footer-main>div>span { margin-bottom:7px; color:var(--green); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.13em; }
.footer-main a { color:#bcc9d7; font-size:12px; }
.footer-bottom { min-height:56px; border-top:1px solid rgba(255,255,255,.12); display:flex; align-items:center; justify-content:space-between; color:#71879d; font-size:10px; }
@media(max-width:1120px) { .nav-row{grid-template-columns:180px 1fr auto}.nav-actions .phone{display:none}.ribbon-grid{grid-template-columns:repeat(3,1fr)}.ribbon-card:nth-child(3){border-right:0}.ribbon-card:nth-child(-n+3){border-bottom:1px solid var(--line)}.feature-grid{grid-template-columns:1fr 1fr;grid-template-rows:380px 310px 310px}.feature-large{grid-row:span 2}.feature-wide{grid-column:span 2}.about-grid{gap:48px}.contact-intro,.inquiry-form{padding:48px 40px}.footer-main{grid-template-columns:1.35fr .7fr .9fr 1fr;gap:30px} }
@media(max-width:820px) {
  .shell{width:min(100% - 30px,1320px)}.topbar{display:none}.nav-row{height:78px;grid-template-columns:1fr auto}.brand img{width:145px;height:66px}.theme-colour-2 .brand img{width:168px;height:60px}.nav-actions{display:none}.menu-button{display:block}
  .nav-links{position:absolute;top:78px;left:0;right:0;display:none;background:#fff;align-items:stretch;padding:10px 15px 20px;box-shadow:0 18px 40px rgba(5,31,67,.13)}.nav-links.open{display:flex;flex-direction:column;gap:0}.nav-links a{padding:15px 12px;border-bottom:1px solid var(--line)}.nav-links a::after{display:none}
  .hero{min-height:auto}.hero-grid{min-height:0;grid-template-columns:1fr;padding:70px 0 36px;gap:35px}.hero-card{max-width:620px}.proof-strip{grid-template-columns:repeat(2,1fr)}.proof-strip div:nth-child(2){border-right:0}.proof-strip div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .ribbon-grid{grid-template-columns:1fr 1fr}.ribbon-card,.ribbon-card:nth-child(3){border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.ribbon-card:nth-child(even){border-right:0}.ribbon-card:last-child{grid-column:1/-1;border-bottom:0;border-right:0}.intro-section{padding:75px 0}.intro-grid{grid-template-columns:1fr;gap:26px}
  .feature-section,.destinations-section,.about-section,.contact-section{padding:80px 0}.feature-head,.destinations-head{grid-template-columns:1fr;gap:24px;align-items:start}.feature-grid{grid-template-columns:1fr 1fr;grid-template-rows:360px 280px 280px}.feature-large{grid-row:span 2}.destination-grid{grid-template-columns:1fr 1fr}.destination-image{height:205px}.about-grid{grid-template-columns:1fr;gap:45px}.contact-shell{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr 1fr}.footer-main>div:first-child{grid-column:1/-1}.theme-colour-2 .footer-main img{width:205px;height:154px}.footer-bottom{gap:20px}
}
@media(max-width:520px) { .hero h1{font-size:46px}.hero-copy>p{font-size:16px}.hero-buttons{flex-direction:column}.button{width:100%}.hero-card{padding:25px 22px 20px}.proof-strip{margin-inline:0;width:100%}.proof-strip div{padding:20px}.proof-strip strong{font-size:21px}.ribbon-grid{grid-template-columns:1fr}.ribbon-card,.ribbon-card:nth-child(even),.ribbon-card:last-child{grid-column:auto;border-right:0;border-bottom:1px solid var(--line)}.ribbon-card:last-child{border-bottom:0}.feature-grid{display:block}.feature{height:330px;margin-bottom:12px}.feature-copy{padding:22px}.filters{overflow-x:auto}.filter{white-space:nowrap;margin-right:22px;padding-right:0}.destination-grid{grid-template-columns:1fr}.destination-image{height:225px}.destination-cta{align-items:flex-start;flex-direction:column;padding:24px}.about-collage{grid-template-columns:1fr 1fr;grid-template-rows:230px 180px}.about-banquet{grid-column:1/-1;grid-row:auto}.about-collage .about-seal{right:14px;bottom:14px;width:116px;height:116px;padding:7px}.about-copy h2,.contact-intro h2{font-size:42px}.contact-intro,.inquiry-form{padding:38px 25px}.form-title{display:block}.form-title p{margin-top:8px}.form-grid{grid-template-columns:1fr}.form-grid label.full{grid-column:auto}.footer-main{grid-template-columns:1fr}.footer-main>div:first-child{grid-column:auto}.footer-bottom{padding:18px 0;align-items:flex-start;flex-direction:column}.about-collage img:nth-child(4){display:none} }
