:root {
    --navy: #062b49;
    --deep: #031d33;
    --blue: #087ea4;
    --cyan: #1bb8ca;
    --sand: #f2ad4d;
    --cream: #fbf8f1;
    --white: #fff;
    --ink: #082b43;
    --muted: #607486;
    --line: rgba(8,43,67,.12);
    --radius: 28px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--ink);
    background: var(--cream);
    font-family: "DM Sans", sans-serif;
    overflow-x: hidden;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }

.page-loader {
    position: fixed; inset: 0; z-index: 9999;
    display: grid; place-items: center;
    background: var(--deep);
    transition: opacity .6s ease, visibility .6s ease;
}
.page-loader.hide { opacity: 0; visibility: hidden; }
.loader-logo { color: #fff; font: 700 34px "Playfair Display", serif; }
.loader-logo span { color: var(--sand); }
.loader-line { width: 130px; height: 2px; background: rgba(255,255,255,.2); margin-top: 16px; overflow: hidden; }
.loader-line span { display:block; height:100%; width:45%; background: var(--sand); animation: load 1s ease-in-out infinite; }
@keyframes load { from { transform:translateX(-120%); } to { transform:translateX(320%); } }

.ambient { position: fixed; width: 420px; height: 420px; border-radius: 50%; filter: blur(100px); opacity: .12; pointer-events:none; z-index:-1; }
.ambient-one { background: var(--cyan); top: 35%; left:-250px; }
.ambient-two { background: var(--sand); top: 65%; right:-250px; }

.topbar {
    position: absolute; top:0; left:0; right:0; z-index:50;
    height: 90px; display:flex; align-items:center; justify-content:space-between;
    padding: 0 clamp(22px, 5vw, 78px);
    color:#fff;
}
.brand { display:flex; align-items:center; gap:11px; }
.brand-mark { width:48px; height:48px; display:grid; place-items:center; color:#fff; }
.brand-mark svg { width:48px; height:48px; }
.brand-copy strong { display:block; font:700 28px "Playfair Display",serif; letter-spacing:-.8px; }
.brand-copy strong span { color:var(--sand); }
.brand-copy small { display:block; font-size:8px; letter-spacing:2.2px; opacity:.78; margin-top:2px; }
.desktop-nav { display:flex; align-items:center; gap:31px; font-size:13px; font-weight:600; }
.desktop-nav > a:not(.nav-wa) { opacity:.85; transition:.2s; }
.desktop-nav > a:not(.nav-wa):hover { opacity:1; color:#fff; }
.nav-wa { border:1px solid rgba(255,255,255,.35); padding:11px 16px; border-radius:100px; background:rgba(255,255,255,.1); backdrop-filter:blur(12px); }
.menu-toggle, .mobile-menu { display:none; }

.hero {
    min-height: 800px; height:100svh; max-height: 980px; position:relative;
    display:flex; align-items:center; overflow:hidden; color:#fff; background:#0a4160;
}
.hero-image {
    position:absolute; inset:-30px;
    background:
      linear-gradient(180deg, rgba(1,31,53,.38), rgba(2,38,59,.24) 45%, rgba(1,29,46,.62)),
      url("https://images.unsplash.com/photo-1507525428034-b723cf961d3e?auto=format&fit=crop&w=2200&q=85") center/cover;
    transform:scale(1.06);
    will-change:transform;
}
.hero-overlay { position:absolute; inset:0; background:radial-gradient(circle at 50% 43%, transparent 0 20%, rgba(1,25,41,.25) 65%, rgba(1,21,36,.65) 100%); }
.hero-grid { position:absolute; inset:0; opacity:.10; background-image:linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px); background-size:80px 80px; mask-image:linear-gradient(to bottom,black,transparent 85%); }
.hero-content { position:relative; z-index:3; width:min(900px,90%); margin:70px auto 0; text-align:center; }
.eyebrow, .section-kicker { font-size:10px; font-weight:700; letter-spacing:4px; }
.eyebrow { display:flex; align-items:center; justify-content:center; gap:13px; opacity:.9; }
.eyebrow i { width:36px; height:1px; background:var(--sand); display:block; }
.hero h1 { font:600 clamp(55px,7.4vw,106px)/.92 "Playfair Display",serif; letter-spacing:-4px; margin:25px 0 25px; }
.hero h1 em { color:var(--sand); font-style:italic; }
.hero-text { max-width:650px; margin:auto; font-size:16px; line-height:1.75; color:rgba(255,255,255,.88); }
.hero-text strong { color:#fff; }
.pill-row { display:flex; justify-content:center; gap:8px; margin:23px 0; }
.pill-row span { padding:8px 13px; border:1px solid rgba(255,255,255,.22); border-radius:100px; background:rgba(255,255,255,.09); backdrop-filter:blur(10px); font-size:10px; letter-spacing:1px; }
.countdown { display:flex; justify-content:center; gap:10px; margin:22px 0 26px; }
.count-box { width:83px; padding:12px 7px; border:1px solid rgba(255,255,255,.18); border-radius:14px; background:rgba(4,37,58,.35); backdrop-filter:blur(14px); }
.count-box strong { display:block; font-size:27px; line-height:1.1; }
.count-box small { display:block; font-size:9px; opacity:.65; letter-spacing:1px; text-transform:uppercase; margin-top:4px; }
.hero-actions { display:flex; justify-content:center; gap:10px; }
.btn { display:inline-flex; align-items:center; gap:15px; padding:14px 19px; border-radius:100px; font-weight:700; font-size:12px; transition:.25s; }
.btn span { font-size:18px; line-height:0; }
.btn-primary { color:var(--ink); background:#fff; box-shadow:0 12px 35px rgba(0,0,0,.16); }
.btn-primary:hover { transform:translateY(-3px); box-shadow:0 17px 40px rgba(0,0,0,.24); }
.btn-ghost { color:#fff; border:1px solid rgba(255,255,255,.28); background:rgba(255,255,255,.06); }
.btn-ghost:hover { background:rgba(255,255,255,.14); }
.flight-path { position:absolute; z-index:2; width:100%; height:180px; top:28%; left:0; pointer-events:none; }
.flight-path:before { content:""; position:absolute; width:55%; height:90px; left:15%; top:25px; border-top:1px dashed rgba(255,255,255,.42); border-radius:50%; transform:rotate(-7deg); }
.plane { position:absolute; top:0; left:67%; font-size:25px; transform:rotate(-17deg); animation:fly 7s ease-in-out infinite; }
@keyframes fly { 0%,100% { transform:translate(0,0) rotate(-17deg); } 50% { transform:translate(-35px,20px) rotate(-11deg); } }
.scroll-cue { position:absolute; z-index:4; bottom:26px; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:9px; font-size:8px; letter-spacing:2px; opacity:.7; }
.scroll-cue i { width:1px; height:38px; background:#fff; animation:scrollLine 1.8s ease-in-out infinite; }
@keyframes scrollLine { 50% { transform:scaleY(.4); transform-origin:top; } }

.section-pad { padding: clamp(75px,9vw,135px) clamp(22px,7vw,105px); }
.intro { text-align:center; max-width:1040px; margin:auto; }
.section-kicker { color:#4e7083; margin-bottom:18px; }
.intro h2, .section-head h2, .why h2, .notify h2 { font:600 clamp(39px,5.4vw,70px)/1.04 "Playfair Display",serif; letter-spacing:-2.5px; margin:0; }
.intro h2 span { color:var(--blue); }
.intro h2 i { color:var(--sand); font-style:italic; }
.intro p { max-width:730px; margin:25px auto 0; color:var(--muted); font-size:16px; line-height:1.8; }

.experiences { background:#fff; }
.section-head { display:flex; justify-content:space-between; align-items:end; max-width:1350px; margin:0 auto 40px; }
.section-head h2 em { color:var(--blue); font-style:italic; }
.section-number { font-size:10px; letter-spacing:3px; color:#8aa0ad; padding-bottom:8px; }
.experience-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; max-width:1350px; margin:auto; }
.experience-card { min-height:570px; position:relative; overflow:hidden; border-radius:var(--radius); color:#fff; background:#0c425d; transition:transform .45s ease, box-shadow .45s ease; }
.experience-card:hover { transform:translateY(-9px); box-shadow:0 25px 55px rgba(5,42,65,.18); }
.card-image { position:absolute; inset:0; background-position:center; background-size:cover; transition:transform .8s ease; }
.experience-card:hover .card-image { transform:scale(1.08); }
.domestic .card-image { background-image:url("https://images.unsplash.com/photo-1477587458883-47145ed94245?auto=format&fit=crop&w=1000&q=85"); }
.inbound .card-image { background-image:url("https://images.unsplash.com/photo-1470214304380-aadaedcfff1b?auto=format&fit=crop&w=1000&q=85"); }
.outbound .card-image { background-image:url("https://images.unsplash.com/photo-1533105079780-92b9be482077?auto=format&fit=crop&w=1000&q=85"); }
.card-gradient { position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,22,35,.15),rgba(0,24,39,.86) 78%); }
.card-top { position:absolute; z-index:2; top:23px; left:24px; right:24px; display:flex; justify-content:space-between; font-size:9px; letter-spacing:2px; }
.card-top span { opacity:.7; }
.card-content { position:absolute; z-index:2; left:26px; right:26px; bottom:28px; }
.icon-circle { width:43px; height:43px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.4); border-radius:50%; background:rgba(255,255,255,.12); backdrop-filter:blur(10px); margin-bottom:16px; }
.card-content h3 { font:600 39px/.92 "Playfair Display",serif; margin:0 0 15px; }
.card-content p { max-width:320px; font-size:12px; line-height:1.65; color:rgba(255,255,255,.78); margin:0 0 22px; }
.card-content a { display:inline-flex; gap:10px; align-items:center; font-size:11px; font-weight:700; border-bottom:1px solid rgba(255,255,255,.45); padding-bottom:5px; }
.card-content a span { font-size:16px; }

.why { display:grid; grid-template-columns:1fr 1fr; gap:clamp(50px,9vw,130px); align-items:center; max-width:1450px; margin:auto; }
.why-art { min-height:620px; border-radius:var(--radius); position:relative; overflow:hidden; background:linear-gradient(145deg,#0a5471,#032b47); }
.why-art:after { content:""; position:absolute; inset:0; background:url("https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1200&q=70") center/cover; opacity:.27; mix-blend-mode:screen; }
.sun { position:absolute; width:180px; height:180px; border-radius:50%; background:var(--sand); top:100px; right:100px; filter:blur(2px); box-shadow:0 0 100px rgba(242,173,77,.45); }
.orbit { position:absolute; border:1px solid rgba(255,255,255,.2); border-radius:50%; transform:rotate(-25deg); }
.orbit-a { width:470px; height:180px; top:95px; left:30px; }
.orbit-b { width:570px; height:230px; top:70px; left:-20px; }
.art-copy { position:absolute; z-index:3; left:45px; bottom:45px; color:#fff; font:600 clamp(38px,4vw,63px)/.9 "Playfair Display",serif; letter-spacing:-2px; }
.art-copy em { color:var(--sand); }
.why h2 em { color:var(--blue); font-style:italic; }
.why-content > p { max-width:570px; color:var(--muted); line-height:1.8; font-size:15px; margin:25px 0 34px; }
.benefit-list { border-top:1px solid var(--line); }
.benefit-list > div { display:grid; grid-template-columns:45px 1fr; column-gap:10px; padding:18px 0; border-bottom:1px solid var(--line); }
.benefit-list span { grid-row:span 2; color:var(--sand); font-size:10px; letter-spacing:1px; padding-top:3px; }
.benefit-list strong { font-size:13px; }
.benefit-list small { color:var(--muted); margin-top:4px; line-height:1.5; }

.notify { background:var(--deep); color:#fff; }
.notify-inner { max-width:1200px; margin:auto; display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.notify .section-kicker { color:var(--sand); }
.notify h2 em { color:var(--sand); }
.notify-copy p { color:rgba(255,255,255,.65); line-height:1.8; max-width:520px; font-size:15px; margin-top:23px; }
.notify-form { padding:30px; border:1px solid rgba(255,255,255,.14); border-radius:24px; background:rgba(255,255,255,.055); backdrop-filter:blur(12px); }
.notify-form label { display:block; font-size:11px; letter-spacing:1px; color:rgba(255,255,255,.7); margin-bottom:10px; }
.email-field { display:flex; background:#fff; padding:5px; border-radius:100px; }
.email-field input { min-width:0; flex:1; border:0; outline:0; background:transparent; padding:0 17px; color:var(--ink); }
.email-field button { border:0; cursor:pointer; color:#fff; background:var(--blue); border-radius:100px; padding:13px 18px; font-weight:700; font-size:11px; transition:.2s; }
.email-field button:hover { background:#096784; }
.email-field button:disabled { opacity:.7; cursor:not-allowed; }
.notify-form > small { display:block; margin:13px 7px 0; font-size:9px; color:rgba(255,255,255,.42); line-height:1.5; }
.form-message { min-height:20px; padding:10px 5px 0; font-size:11px; }
.form-message.success { color:#7fe0b1; }
.form-message.error { color:#ff9b8e; }

.contact-strip { display:flex; justify-content:space-between; align-items:center; gap:30px; padding:32px clamp(22px,7vw,105px); background:var(--sand); color:var(--deep); }
.contact-strip > div span { display:block; font-size:8px; letter-spacing:3px; font-weight:700; margin-bottom:7px; }
.contact-strip strong { font:600 24px "Playfair Display",serif; }
.contact-link { font-size:13px; font-weight:700; border-bottom:1px solid var(--deep); padding-bottom:4px; }
.contact-link span { margin-left:8px; }

footer { background:#021a2c; color:#fff; padding:60px clamp(22px,7vw,105px) 25px; }
.footer-main { max-width:1350px; margin:auto; display:flex; justify-content:space-between; gap:50px; }
.footer-brand p { color:rgba(255,255,255,.45); font-size:11px; margin-top:18px; }
.footer-links { display:grid; grid-template-columns:repeat(3, minmax(130px,1fr)); gap:55px; }
.footer-links div { display:flex; flex-direction:column; gap:9px; }
.footer-links small { color:var(--sand); letter-spacing:2px; font-size:8px; margin-bottom:5px; }
.footer-links a, .footer-links span { font-size:11px; color:rgba(255,255,255,.62); }
.footer-links a:hover { color:#fff; }
.footer-bottom { max-width:1350px; margin:55px auto 0; padding-top:18px; border-top:1px solid rgba(255,255,255,.1); display:flex; justify-content:space-between; color:rgba(255,255,255,.35); font-size:9px; }

.reveal { opacity:0; transform:translateY(25px); transition:opacity .8s ease, transform .8s ease; }
.reveal.visible { opacity:1; transform:none; }

@media (max-width: 900px) {
    .desktop-nav { display:none; }
    .menu-toggle { display:flex; flex-direction:column; gap:5px; border:0; background:transparent; padding:10px; cursor:pointer; }
    .menu-toggle span { width:23px; height:2px; background:#fff; transition:.25s; }
    .menu-toggle.active span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
    .menu-toggle.active span:nth-child(2) { opacity:0; }
    .menu-toggle.active span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
    .mobile-menu { position:fixed; z-index:40; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:25px; background:rgba(2,26,43,.97); opacity:0; visibility:hidden; transition:.3s; }
    .mobile-menu.open { opacity:1; visibility:visible; }
    .mobile-menu a { color:#fff; font:600 29px "Playfair Display",serif; }
    .hero { min-height:760px; }
    .hero-content { margin-top:35px; }
    .hero h1 { letter-spacing:-2px; }
    .experience-grid { grid-template-columns:1fr; max-width:650px; }
    .experience-card { min-height:500px; }
    .why { grid-template-columns:1fr; }
    .why-art { min-height:480px; }
    .notify-inner { grid-template-columns:1fr; gap:35px; }
    .footer-main { flex-direction:column; }
}

@media (max-width: 560px) {
    .topbar { height:75px; }
    .brand-mark, .brand-mark svg { width:40px; height:40px; }
    .brand-copy strong { font-size:23px; }
    .brand-copy small { font-size:6px; letter-spacing:1.6px; }
    .hero { min-height:720px; }
    .hero h1 { font-size:48px; margin-top:18px; }
    .hero-text { font-size:13px; line-height:1.65; }
    .pill-row span { font-size:8px; padding:7px 9px; }
    .countdown { gap:5px; }
    .count-box { width:68px; padding:10px 4px; }
    .count-box strong { font-size:21px; }
    .count-box small { font-size:7px; }
    .hero-actions { flex-direction:column; width:min(300px,90%); margin:auto; }
    .btn { justify-content:center; }
    .flight-path { opacity:.45; }
    .intro h2, .section-head h2, .why h2, .notify h2 { letter-spacing:-1.5px; }
    .section-head { align-items:start; flex-direction:column; gap:12px; }
    .experience-card { min-height:460px; }
    .why-art { min-height:390px; }
    .sun { width:120px; height:120px; top:75px; right:55px; }
    .orbit-a { width:320px; height:140px; top:75px; left:0; }
    .orbit-b { width:400px; height:170px; top:55px; left:-35px; }
    .art-copy { left:25px; bottom:28px; }
    .notify-form { padding:18px; }
    .email-field { flex-direction:column; border-radius:18px; background:transparent; gap:7px; padding:0; }
    .email-field input { height:50px; background:#fff; border-radius:100px; }
    .email-field button { height:48px; }
    .contact-strip { flex-direction:column; align-items:flex-start; }
    .footer-links { grid-template-columns:1fr 1fr; gap:30px; }
    .footer-links div:last-child { grid-column:1/-1; }
    .footer-bottom { flex-direction:column; gap:8px; line-height:1.5; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; transition-duration:.01ms !important; }
}
