:root{
  --navy:#0b2d4d;
  --navy2:#123f67;
  --gold:#f3b43f;
  --sand:#f8efe1;
  --cream:#fffaf2;
  --ink:#12202f;
  --muted:#607080;
  --white:#fff;
  --shadow:0 28px 80px rgba(11,45,77,.16);
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
h1,h2,h3{letter-spacing:-.045em;color:var(--navy)}
p{color:#435263}
a{color:var(--navy2)}
nav.container-fluid{position:fixed;top:0;left:0;right:0;z-index:50;padding:.9rem 2rem;background:rgba(255,250,242,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(11,45,77,.08);display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:nowrap}
nav.container-fluid > ul{margin:0;display:flex;align-items:center;gap:.4rem;flex-wrap:nowrap}
nav.container-fluid > ul:last-child{gap:.2rem}
nav.container-fluid > ul:last-child a{padding:.4rem .7rem;border-radius:10px;white-space:nowrap;font-size:.95rem}
nav.container-fluid > ul:last-child a:not([role=button]):hover{background:rgba(11,45,77,.06)}
.brand{display:flex;align-items:center;gap:.8rem;color:var(--navy);font-weight:900;letter-spacing:-.03em}
.brand-logo{height:56px;width:auto;display:block}
nav a{font-weight:700;text-decoration:none}
nav [role=button]{background:var(--gold);border-color:var(--gold);color:#1a2b3a;border-radius:999px}
.hero-wrap{padding-top:5.5rem;margin-bottom:5rem}
.hero{position:relative;min-height:82vh;border-radius:0 0 42px 42px;overflow:hidden;display:grid;align-items:end;background:#1a2b3a;box-shadow:var(--shadow)}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,19,34,.2),rgba(5,19,34,.82)),url('https://images.unsplash.com/photo-1568322445389-f64ac2515020?auto=format&fit=crop&w=2100&q=85') center/cover;transform:scale(1.06);animation:heroZoom 22s ease-in-out infinite alternate;will-change:transform;z-index:0}
.hero > *{position:relative;z-index:1}
@keyframes heroZoom{from{transform:scale(1.06)}to{transform:scale(1.14)}}
@media(prefers-reduced-motion:reduce){.hero:before{animation:none}}
@media(max-width:768px){.hero:before{animation:none;transform:scale(1)}}
.hero-inner{padding:7rem 0 7.5rem;color:white;position:relative}
.hero .eyebrow{color:#ffd36d;text-transform:uppercase;letter-spacing:.18em;font-size:.8rem;font-weight:900;margin-bottom:.8rem}
.hero h1{color:white;font-size:clamp(3rem,7vw,6.8rem);line-height:.9;max-width:980px;margin-bottom:1.2rem}
.hero p{color:rgba(255,255,255,.86);font-size:1.25rem;max-width:720px}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}
.hero-actions a{border-radius:999px;padding:.95rem 1.35rem;font-weight:800}
.hero-actions a:first-child{background:var(--gold);border-color:var(--gold);color:#12202f}
.hero-actions a:last-child{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.45);color:white}
.floating-search{margin-top:1.5rem;position:relative;z-index:2}
.search-panel{background:white;border-radius:30px;padding:1.4rem;box-shadow:0 30px 90px rgba(11,45,77,.22);display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:1rem;align-items:end;border:1px solid rgba(11,45,77,.08)}
.search-panel label{font-weight:800;color:var(--navy);font-size:.9rem;margin-bottom:.35rem}.search-panel input,.search-panel select{border-radius:18px;margin:0;background:#f8efe1;border-color:rgba(11,45,77,.08)}.search-panel button{border-radius:18px;background:var(--navy);border-color:var(--navy);height:55px;margin:0}
.intro{margin:5rem 0 3rem;display:grid;grid-template-columns:.9fr 1.1fr;gap:4rem;align-items:end}.intro .eyebrow,.section-title .eyebrow{color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem}.intro h2,.section-title h2{font-size:clamp(2.2rem,4vw,4rem);line-height:1}.intro img{border-radius:30px;box-shadow:var(--shadow)}
.experience-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:260px 260px;gap:1.2rem;margin:2rem 0 5rem}.tile{position:relative;border-radius:30px;overflow:hidden;box-shadow:var(--shadow);display:flex;align-items:end;padding:1.4rem;background:#ddd}.tile:first-child{grid-row:span 2}.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}.tile:hover img{transform:scale(1.06)}.tile:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(5,19,34,.82))}.tile div{position:relative;color:white}.tile h3{color:white;margin-bottom:.25rem}.tile p{color:rgba(255,255,255,.85);margin:0}
.packages-section{background:var(--sand);border-radius:42px;padding:4rem 3rem;margin:5rem 0}.packages-head{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:2rem}.packages-head h2{font-size:clamp(2.1rem,4vw,3.8rem)}.packages{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.package-card{background:white;border-radius:30px;overflow:hidden;box-shadow:0 22px 55px rgba(11,45,77,.1);border:1px solid rgba(11,45,77,.07)}.package-card img{width:100%;height:230px;object-fit:cover}.package-card .body{padding:1.3rem}.tag{display:inline-block;background:#fff2cf;color:#8a5a00;border-radius:999px;padding:.25rem .65rem;font-weight:900;font-size:.75rem;margin-bottom:.7rem}.price{font-size:1.15rem;font-weight:900;color:var(--navy);margin-top:1rem}.package-card a{display:block;margin-top:1rem;font-weight:900;text-decoration:none}
.split{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;margin:6rem 0}.split img{width:100%;border-radius:38px;box-shadow:var(--shadow)}.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.6rem}.feature{background:white;border-radius:22px;padding:1rem;border:1px solid rgba(11,45,77,.08)}.feature strong{display:block;color:var(--navy);margin-bottom:.25rem}
.dark-band{background:linear-gradient(135deg,var(--navy),#061b31);border-radius:42px;padding:4rem 3rem;margin:5rem 0;color:white;display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:center}.dark-band h2,.dark-band h3{color:white}.dark-band p{color:rgba(255,255,255,.8)}.dark-band a{background:var(--gold);border-color:var(--gold);color:#142536;border-radius:999px}
#contact{margin:5rem auto}
.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:1.6rem}
.contact-card{display:block;background:white;border:1px solid rgba(11,45,77,.08);border-radius:24px;padding:1.6rem;text-decoration:none;color:var(--navy);box-shadow:0 16px 40px rgba(11,45,77,.06);transition:transform .2s ease, box-shadow .2s ease}
a.contact-card:hover{transform:translateY(-3px);box-shadow:0 22px 55px rgba(11,45,77,.12)}
.contact-card h3{margin:0 0 .4rem;font-size:1rem;color:var(--navy2);text-transform:uppercase;letter-spacing:.12em}
.contact-card p{margin:0 0 .3rem;font-weight:900;color:var(--navy);font-size:1.1rem}
.contact-card small{color:#6b7a8a}
.faq-list{display:grid;gap:.8rem;margin:2rem 0}
.faq-list details{background:white;border:1px solid rgba(11,45,77,.08);border-radius:20px;padding:1.1rem 1.4rem;box-shadow:0 10px 30px rgba(11,45,77,.05)}
.faq-list summary{cursor:pointer;font-weight:900;color:var(--navy);font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";font-size:1.5rem;color:var(--gold);transition:transform .2s ease;line-height:1}
.faq-list details[open] summary:after{transform:rotate(45deg)}
.faq-list details p{margin:.9rem 0 0;color:#435263;line-height:1.55}
.quote-success{text-align:center;padding:2rem 0;animation:successFade .45s ease-out}
.quote-success h2{margin:1rem 0 .4rem}
.quote-success p{color:#435263;max-width:520px;margin:0 auto}
.quote-success a{font-weight:900;color:var(--navy)}
.check-circle{width:88px;height:88px;margin:0 auto;display:flex;align-items:center;justify-content:center}
.check-circle svg{width:100%;height:100%;display:block}
.check-circle circle{fill:none;stroke:#1a7f3c;stroke-width:3;stroke-dasharray:160;stroke-dashoffset:160;animation:drawCircle .55s ease-out forwards}
.check-circle path{fill:none;stroke:#1a7f3c;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:50;stroke-dashoffset:50;animation:drawCheck .35s .5s ease-out forwards}
@keyframes drawCircle{to{stroke-dashoffset:0}}
@keyframes drawCheck{to{stroke-dashoffset:0}}
@keyframes successFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.scroll-top{position:fixed;left:22px;bottom:22px;z-index:80;width:46px;height:46px;border-radius:50%;background:var(--navy);color:white;border:none;cursor:pointer;font-size:1.3rem;font-weight:900;line-height:1;box-shadow:0 12px 30px rgba(11,45,77,.3);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s ease, visibility .25s ease, transform .25s ease, background .2s ease}
.scroll-top.visible{opacity:1;visibility:visible;transform:none}
.scroll-top:hover{background:#061b31}
.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;background:white;border:1px solid rgba(11,45,77,.08);border-radius:24px;padding:1.4rem 1.6rem;margin:-2.5rem auto 2rem;box-shadow:0 18px 40px rgba(11,45,77,.08);position:relative;z-index:5}
.trust-item{padding:.4rem .8rem;border-left:3px solid var(--gold)}
.trust-item:first-child{border-left:none}
.trust-item strong{display:block;color:var(--navy);font-size:1.05rem;font-weight:900;letter-spacing:-.01em;margin-bottom:.2rem}
.trust-item span{color:#6b7a8a;font-size:.85rem;line-height:1.35}
@media(max-width:920px){.trust-strip{grid-template-columns:1fr 1fr;margin-top:-1.5rem}.trust-item{border-left:none;border-top:2px solid var(--gold);padding:.6rem 0 0}.trust-item:first-child,.trust-item:nth-child(2){border-top:2px solid var(--gold)}}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease, transform .7s ease;will-change:opacity,transform}
.reveal.revealed{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
section[aria-label="Subscribe example"]{margin:4rem 0}.quote-card{background:white;border-radius:36px;padding:2.5rem;box-shadow:var(--shadow);border:1px solid rgba(11,45,77,.08)}.quote-card input{border-radius:18px;background:#fffaf2}.quote-card button{border-radius:18px;background:var(--gold);border-color:var(--gold);color:#12202f;font-weight:900}footer.container{padding:3rem 0}.whatsapp{position:fixed;right:22px;bottom:22px;z-index:80;background:#25D366;color:white;text-decoration:none;font-weight:900;border-radius:999px;padding:.9rem 1.15rem;box-shadow:0 16px 40px rgba(37,211,102,.35)}
@media(max-width:920px){nav.container-fluid{padding:.7rem 1rem;flex-wrap:wrap}nav ul:last-child{flex-wrap:wrap;justify-content:flex-end;gap:.2rem}nav ul:last-child a{font-size:.85rem;padding:.3rem .55rem}.contact-grid{grid-template-columns:1fr 1fr}.hero-wrap{padding-top:4.6rem}.hero{min-height:76vh;border-radius:0 0 30px 30px}.hero-inner{padding:4rem 0 7rem}.floating-search{margin-top:-5.5rem}.search-panel,.intro,.experience-grid,.packages,.split,.dark-band{grid-template-columns:1fr}.experience-grid{grid-template-rows:none}.tile,.tile:first-child{grid-row:auto;height:310px}.packages-section,.dark-band{padding:2rem 1rem;border-radius:30px}.packages-head{display:block}.feature-list{grid-template-columns:1fr}.brand-logo{height:44px}}
