
:root{
  --navy:#0b2940;
  --blue:#0f6f9c;
  --cyan:#1b9dc4;
  --gold:#e7a83b;
  --sand:#f7f2e8;
  --cream:#fffaf2;
  --ink:#173042;
  --muted:#687985;
  --white:#fff;
  --shadow:0 18px 50px rgba(8,37,56,.12);
  --radius:22px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.65}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:min(1180px,92%);margin:auto}
.topbar{background:var(--navy);color:#dcecf5;font-size:13px}
.topbar .container{display:flex;justify-content:space-between;gap:20px;padding:8px 0}
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid #e7edf0}
.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;min-width:190px}
.brand img{width:150px;height:68px;object-fit:contain;object-position:center}
.menu{display:flex;align-items:center;gap:25px;font-weight:700;font-size:14px}
.menu a{padding:28px 0;position:relative}
.menu a:after{content:"";position:absolute;left:0;bottom:18px;width:0;height:2px;background:var(--gold);transition:.25s}
.menu a:hover:after,.menu a.active:after{width:100%}
.nav-actions{display:flex;align-items:center;gap:10px}
.icon-btn{width:38px;height:38px;border:1px solid #d9e3e8;border-radius:50%;display:grid;place-items:center;color:var(--navy);transition:.2s}
.icon-btn:hover{background:var(--navy);color:white;transform:translateY(-2px)}
.menu-toggle{display:none;background:none;border:0;font-size:28px;color:var(--navy)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:13px 21px;font-weight:800;border:1px solid transparent;cursor:pointer;transition:.25s}
.btn-primary{background:var(--gold);color:#162b39;box-shadow:0 8px 20px rgba(231,168,59,.25)}
.btn-primary:hover{transform:translateY(-2px);filter:brightness(1.04)}
.btn-outline{border-color:#d5e0e6;color:var(--navy);background:#fff}
.btn-dark{background:var(--navy);color:#fff}
.hero{position:relative;height:min(700px,78vh);min-height:560px;overflow:hidden;background:#092b40}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1s ease;background-size:cover;background-position:center}
.slide.active{opacity:1}
.slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,27,42,.8),rgba(5,27,42,.25),rgba(5,27,42,.05))}
.hero-content{position:relative;z-index:2;color:white;height:100%;display:flex;align-items:center}
.hero-copy{max-width:680px}
.eyebrow{letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:#ffd479;font-size:13px;margin-bottom:15px}
.hero h1{font-family:Georgia,serif;font-size:clamp(42px,6vw,78px);line-height:1.04;margin-bottom:20px}
.hero p{font-size:18px;max-width:600px;color:#edf6fa;margin-bottom:28px}
.hero-buttons{display:flex;gap:12px;flex-wrap:wrap}
.slider-nav{position:absolute;z-index:4;bottom:32px;left:50%;transform:translateX(-50%);display:flex;gap:8px}
.dot{width:34px;height:4px;background:rgba(255,255,255,.45);border:0;border-radius:8px;cursor:pointer}
.dot.active{background:var(--gold)}
.section{padding:90px 0}
.section.alt{background:var(--sand)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:40px}
.section-head>div{max-width:680px}
.kicker{color:var(--blue);font-weight:900;text-transform:uppercase;letter-spacing:.15em;font-size:12px;margin-bottom:10px}
h2{font-family:Georgia,serif;color:var(--navy);font-size:clamp(32px,4vw,50px);line-height:1.12}
.lead{color:var(--muted);font-size:17px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{background:white;border:1px solid #e7edf0;border-radius:var(--radius);overflow:hidden;box-shadow:0 10px 30px rgba(8,37,56,.06);transition:.25s}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.card-img{height:220px;object-fit:cover;width:100%}
.card-body{padding:24px}
.card h3{color:var(--navy);font-size:21px;margin-bottom:8px}
.card p{color:var(--muted);font-size:14px;margin-bottom:18px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.mini{padding:24px;background:#fff;border-radius:18px;border:1px solid #e7edf0}
.mini .symbol{font-size:28px;margin-bottom:12px}
.mini h3{font-size:17px;color:var(--navy);margin-bottom:5px}
.mini p{font-size:13px;color:var(--muted)}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}
.split img{border-radius:28px;box-shadow:var(--shadow);width:100%;height:500px;object-fit:cover}
.checks{display:grid;gap:14px;margin:25px 0}
.check{display:flex;gap:12px;align-items:flex-start}
.check b{display:block;color:var(--navy)}
.check span{color:var(--muted);font-size:14px}
.check i{color:var(--gold);font-style:normal;font-size:18px}
.quote{background:linear-gradient(135deg,var(--navy),#104e6b);color:#fff;border-radius:28px;padding:45px;position:relative;overflow:hidden}
.quote h2{color:#fff}
.quote p{color:#dcecf5;max-width:760px;margin:12px 0 25px}
.banner{padding:75px 0;background:linear-gradient(90deg,#0b2940,#0e5c7e);color:#fff}
.banner h1{font-family:Georgia,serif;font-size:clamp(38px,5vw,62px)}
.page-hero{height:330px;background-size:cover;background-position:center;position:relative;display:flex;align-items:center;color:#fff}
.page-hero:after{content:"";position:absolute;inset:0;background:rgba(5,28,42,.6)}
.page-hero .container{position:relative;z-index:2}
.page-hero p{margin-top:10px;color:#dcecf5}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.service{padding:28px;border-radius:22px;background:#fff;border:1px solid #e4edf1}
.service .service-icon{font-size:31px}
.service h3{color:var(--navy);margin:12px 0 7px}
.service p{font-size:14px;color:var(--muted)}
.package{display:grid;grid-template-columns:240px 1fr;gap:25px;padding:20px;border:1px solid #e2eaee;border-radius:22px;background:#fff}
.package img{width:240px;height:190px;object-fit:cover;border-radius:16px}
.package h3{font-family:Georgia,serif;color:var(--navy);font-size:25px}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 14px}
.tag{background:#eef7fa;color:var(--blue);padding:5px 10px;border-radius:99px;font-size:12px;font-weight:800}
.ticket-table{width:100%;border-collapse:collapse;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 8px 30px rgba(8,37,56,.07)}
.ticket-table th,.ticket-table td{padding:16px;border-bottom:1px solid #e7edf0;text-align:left}
.ticket-table th{background:var(--navy);color:#fff}
.ticket-table td:last-child{font-weight:800;color:var(--blue)}
.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.video{aspect-ratio:16/9;border-radius:22px;overflow:hidden;background:#071e2c}
.video iframe{width:100%;height:100%;border:0}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:25px}
.contact-card{padding:30px;background:var(--navy);color:#fff;border-radius:24px}
.contact-card h3{font-family:Georgia,serif;font-size:27px;margin-bottom:15px}
.contact-item{display:flex;gap:14px;margin:18px 0;color:#dcecf5}
.contact-item strong{display:block;color:#fff}
.form-card{padding:30px;border:1px solid #e2eaee;border-radius:24px;background:#fff}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:grid;gap:7px}
.field.full{grid-column:1/-1}
label{font-size:13px;font-weight:800;color:var(--navy)}
input,textarea,select{width:100%;padding:13px 14px;border:1px solid #d8e3e8;border-radius:12px;font:inherit;outline:none}
input:focus,textarea:focus,select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(27,157,196,.12)}
textarea{min-height:150px;resize:vertical}
.map{margin-top:28px;height:420px;border:0;width:100%;border-radius:25px;box-shadow:var(--shadow)}
footer{background:#061d2c;color:#c7d8e1;padding:60px 0 25px}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px}
.footer-logo{width:170px;height:75px;object-fit:contain;margin-bottom:14px;filter:brightness(0) invert(1)}
footer h4{color:#fff;margin-bottom:14px}
footer a{display:block;margin:7px 0;color:#bcd0da;font-size:14px}
.social{display:flex;gap:9px;margin-top:18px}
.social a{width:37px;height:37px;border:1px solid #335064;border-radius:50%;display:grid;place-items:center;margin:0;color:#fff;font-weight:900}
.copyright{border-top:1px solid #234253;margin-top:40px;padding-top:18px;font-size:12px;display:flex;justify-content:space-between;gap:20px}
.float-wa{position:fixed;right:22px;bottom:22px;width:55px;height:55px;background:#25d366;color:white;border-radius:50%;display:grid;place-items:center;font-size:26px;z-index:70;box-shadow:0 10px 25px rgba(37,211,102,.35)}
.notice{padding:14px 16px;border-radius:12px;background:#edf8f3;color:#176b43;margin-bottom:15px;display:none}
@media(max-width:1000px){
 .menu{gap:15px}.nav-actions{display:none}.cards{grid-template-columns:1fr 1fr}.grid-4{grid-template-columns:1fr 1fr}.service-grid{grid-template-columns:1fr 1fr}.split{gap:35px}.footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
 .topbar .container{justify-content:center;text-align:center}.topbar .container span:last-child{display:none}
 .nav{height:70px}.brand img{width:135px}.menu-toggle{display:block}.menu{display:none;position:absolute;top:70px;left:0;right:0;background:white;padding:12px 6%;border-bottom:1px solid #e7edf0;box-shadow:0 18px 30px rgba(8,37,56,.08)}
 .menu.open{display:grid}.menu a{padding:10px 0}.menu a:after{bottom:5px}.hero{min-height:620px;height:75vh}.hero h1{font-size:43px}.hero p{font-size:16px}
 .section{padding:65px 0}.section-head{display:block}.section-head .btn{margin-top:18px}.cards,.service-grid,.video-grid,.contact-grid,.split{grid-template-columns:1fr}.grid-4{grid-template-columns:1fr 1fr}
 .split img{height:350px}.package{grid-template-columns:1fr}.package img{width:100%;height:230px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-grid{grid-template-columns:1fr 1fr}.copyright{display:block}.copyright span{display:block;margin-top:8px}
 .page-hero{height:280px}.ticket-table{font-size:13px}.ticket-table th,.ticket-table td{padding:11px 8px}
}
@media(max-width:450px){.grid-4,.footer-grid{grid-template-columns:1fr}.hero-buttons .btn{width:100%}}
