@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;600;700;800&display=swap');

:root { --ink:#132821; --cream:#f4f0e7; --sand:#e4d7bf; --gold:#d69a45; --green:#163f32; --wa:#25d366; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:'DM Sans', Arial, sans-serif; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
.site-header { height:88px; padding:0 5vw; display:flex; align-items:center; justify-content:space-between; position:absolute; z-index:20; width:100%; color:white; border-bottom:1px solid #ffffff40; }
.brand { display:flex; align-items:center; gap:11px; letter-spacing:.17em; line-height:1; }
.brand-mark { width:37px; height:37px; border:1px solid currentColor; display:grid; place-items:center; font-family:Georgia,serif; font-size:22px; }
.brand b { display:block; font-size:16px; }
.brand small { font-size:9px; display:block; margin-top:5px; letter-spacing:.5em; }
.nav { display:flex; align-items:center; gap:33px; font-size:13px; }
.nav>a:not(.nav-wa):hover { color:#ffdca7; }
.nav-wa { padding:12px 19px; border:1px solid #ffffff8a; display:flex; gap:8px; align-items:center; }
.wa-icon { background:var(--wa); color:white; width:23px; height:23px; border-radius:50%; display:inline-grid; place-items:center; font-size:12px; flex:none; }
.menu-button { display:none; }
.hero { min-height:810px; height:100vh; position:relative; display:flex; align-items:center; overflow:hidden; color:#fff; }
.hero-photo { position:absolute; inset:0; background:url('https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=2100&q=90') center/cover; animation:reveal 1.2s ease both; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,25,19,.78) 0%,rgba(4,25,19,.32) 55%,rgba(4,25,19,.18)),linear-gradient(0deg,rgba(4,20,15,.58),transparent 50%); }
@keyframes reveal { from { transform:scale(1.04); opacity:.5 } to { transform:scale(1); opacity:1 } }
.hero-content { position:relative; z-index:2; width:min(720px,90%); margin-left:9vw; padding-top:70px; }
.eyebrow,.section-label { text-transform:uppercase; letter-spacing:.23em; font-size:11px; font-weight:700; }
.eyebrow { display:flex; align-items:center; gap:14px; }
.eyebrow span { width:40px; height:1px; background:var(--gold); }
h1,h2 { font-family:Georgia,'Times New Roman',serif; font-weight:400; margin:0; letter-spacing:-.045em; }
h1 { font-size:clamp(70px,8.2vw,126px); line-height:.82; margin:28px 0 34px; }
h1 em,h2 em { font-weight:400; color:#e6b975; }
.hero-copy { font-size:17px; line-height:1.7; max-width:580px; color:#eef1ed; }
.hero-actions { display:flex; align-items:center; gap:32px; margin-top:38px; }
.primary-button,.dark-button { background:var(--wa); color:#092a1e; font-weight:800; font-size:13px; padding:16px 22px; display:inline-flex; align-items:center; gap:10px; transition:.2s; }
.primary-button .wa-icon,.dark-button .wa-icon { background:#fff; color:var(--wa); }
.primary-button:hover,.dark-button:hover { transform:translateY(-2px); box-shadow:0 12px 28px #0003; }
.text-link { border-bottom:1px solid #ffffffaa; padding:10px 0; font-size:13px; }
.hero-note { position:absolute; z-index:2; right:6vw; bottom:72px; display:flex; gap:13px; border-left:1px solid var(--gold); padding-left:16px; font-size:12px; line-height:1.5; }
.hero-note b { color:var(--gold); }
.scroll-cue { position:absolute; bottom:75px; left:4vw; z-index:3; font-size:9px; letter-spacing:.2em; writing-mode:vertical-rl; display:flex; gap:13px; }
.intro { padding:120px 8vw 100px; display:grid; grid-template-columns:.6fr 1.5fr; gap:60px; }
.section-label { color:#977343; margin:10px 0 24px; }
.intro h2,.section-heading h2,.why h2 { font-size:clamp(46px,5vw,73px); line-height:.98; }
.intro>div>p { max-width:600px; line-height:1.8; color:#5e665f; font-size:16px; }
.stats { grid-column:2; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #cec7b9; margin-top:25px; }
.stats div { padding:30px 20px 0 0; border-right:1px solid #cec7b9; }
.stats div+div { padding-left:26px; }
.stats strong { display:block; font:42px Georgia,serif; color:var(--green); }
.stats span { font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:#777; }
.packages { background:var(--green); color:white; padding:110px 7vw 125px; }
.section-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:52px; }
.section-heading>a { font-size:12px; border-bottom:1px solid #ffffff80; padding:10px 0; }
.package-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.package-card { background:#fff; color:var(--ink); }
.package-image { height:330px; background-position:center; background-size:cover; position:relative; color:#fff; }
.package-image:after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#071b13a8,transparent 65%); }
.package-image span { position:absolute; top:20px; left:20px; z-index:2; border:1px solid #ffffff88; padding:7px 9px; font-size:10px; }
.package-image>p { position:absolute; z-index:2; bottom:19px; left:24px; margin:0; text-transform:uppercase; letter-spacing:.22em; font-size:11px; }
.package-body { padding:25px 26px 29px; }
.package-body small { color:#9a794d; text-transform:uppercase; letter-spacing:.12em; font-size:9px; }
.package-body h3 { font:30px Georgia,serif; margin:9px 0 13px; }
.package-body p { color:#6c736e; line-height:1.6; font-size:13px; min-height:64px; }
.package-body a { margin-top:17px; display:flex; justify-content:space-between; padding-top:16px; border-top:1px solid #ddd8ce; text-transform:uppercase; font-weight:800; letter-spacing:.1em; font-size:10px; }
.why { display:grid; grid-template-columns:1fr 1fr; min-height:760px; }
.why-image { background:url('https://images.unsplash.com/photo-1469854523086-cc02fe5d8800?auto=format&fit=crop&w=1400&q=85') center/cover; }
.why-content { padding:95px 8vw 80px 7vw; background:#e8dfce; }
.why-content h2 { margin-bottom:43px; }
.benefit { display:grid; grid-template-columns:45px 1fr; padding:20px 0; border-top:1px solid #bdb5a7; }
.benefit b { color:#a37c45; font-size:10px; }
.benefit h3 { margin:0 0 8px; font:23px Georgia,serif; }
.benefit p { margin:0; font-size:13px; line-height:1.6; color:#656b66; }
.dark-button { background:var(--ink); color:#fff; margin-top:26px; }
.cta { background:#d9c397; text-align:center; padding:110px 20px 120px; }
.cta h2 { font-size:clamp(60px,7vw,100px); line-height:.86; }
.cta h2 em { color:#fff5df; }
.cta>p:not(.section-label) { line-height:1.7; margin:27px 0; color:#48544d; }
footer { background:#0d251e; color:#dfe5e0; padding:55px 7vw 30px; display:grid; grid-template-columns:1fr 1fr 1fr; align-items:start; gap:30px; }
footer>p { color:#95a59e; line-height:1.7; margin:0; font-size:13px; }
footer>div { display:flex; justify-content:flex-end; gap:23px; font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
footer>small { grid-column:1/-1; border-top:1px solid #ffffff20; padding-top:22px; color:#718078; font-size:9px; }
.floating-wa { position:fixed; right:26px; bottom:25px; z-index:35; display:flex; align-items:center; background:#fff; box-shadow:0 8px 30px #0003; border-radius:30px; padding:8px 15px 8px 8px; gap:9px; color:#173b2d; font-size:12px; font-weight:800; }
.floating-wa .wa-icon { width:38px; height:38px; }
.ping { position:absolute; top:3px; left:38px; width:9px; height:9px; background:#ff5b56; border:2px solid #fff; border-radius:50%; }
.popup-backdrop { position:fixed; inset:0; z-index:50; background:#08251c88; display:none; place-items:center; padding:20px; backdrop-filter:blur(4px); animation:fade .3s ease; }
.popup-backdrop.show { display:grid; }
@keyframes fade { from { opacity:0 } }
.popup { width:min(415px,100%); background:#f7f3eb; box-shadow:0 30px 80px #00150c80; position:relative; animation:pop .4s ease; }
@keyframes pop { from { transform:translateY(15px) scale(.98); opacity:0 } }
.popup-close { position:absolute; top:-13px; right:-13px; background:#fff; border:0; width:30px; height:30px; border-radius:50%; cursor:pointer; font-size:21px; z-index:2; box-shadow:0 4px 15px #0003; }
.popup-top { background:#123f31; color:white; display:flex; align-items:center; gap:12px; padding:20px 23px; }
.popup-top div { display:flex; flex-direction:column; gap:4px; }
.popup-top b { font:20px Georgia,serif; }
.popup-top small { font-size:9px; color:#bad2c9; }
.popup-top i { width:8px; height:8px; background:var(--wa); border-radius:50%; margin-left:auto; }
.message { background:#fff; margin:22px 25px 16px; padding:17px 18px; border-radius:2px 14px 14px 14px; box-shadow:0 5px 14px #18362912; }
.message small { color:#977343; font-size:8px; letter-spacing:.12em; }
.message p { font-size:13px; line-height:1.5; margin:8px 0; }
.message time { display:block; text-align:right; font-size:8px; color:#999; }
.popup>h3 { font:27px Georgia,serif; text-align:center; margin:20px 25px 14px; }
.popup>a { background:var(--wa); color:#0e2c21; margin:0 25px; padding:15px; display:flex; justify-content:center; align-items:center; gap:9px; font-size:12px; font-weight:800; }
.popup>a .wa-icon { background:#fff; color:var(--wa); }
.safe { display:block; text-align:center; color:#8a8f8b; font-size:9px; margin:12px 0 21px; }

@media(max-width:850px) {
  .site-header { height:72px; padding:0 20px; }
  .menu-button { display:flex; width:37px; height:37px; border:1px solid #ffffff66; background:transparent; flex-direction:column; align-items:center; justify-content:center; gap:6px; z-index:22; }
  .menu-button span { width:16px; height:1px; background:white; }
  .nav { display:none; position:absolute; inset:72px 0 auto; background:#102f26; flex-direction:column; align-items:stretch; padding:25px; gap:0; }
  .nav.open { display:flex; }
  .nav a { padding:15px; }
  .nav-wa { margin-top:10px; }
  .hero { min-height:720px; }
  .hero-content { margin:0 22px; padding-top:30px; }
  h1 { font-size:clamp(65px,20vw,88px); }
  .hero-copy { font-size:15px; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:13px; }
  .hero-note,.scroll-cue { display:none; }
  .intro { padding:80px 22px; display:block; }
  .intro>div>p { font-size:14px; }
  .stats { margin-top:45px; }
  .stats strong { font-size:30px; }
  .stats span { font-size:8px; }
  .stats div,.stats div+div { padding:20px 8px 0; }
  .packages { padding:78px 20px 85px; }
  .section-heading { display:block; }
  .section-heading>a { display:inline-block; margin-top:25px; }
  .package-grid { grid-template-columns:1fr; }
  .package-image { height:300px; }
  .why { grid-template-columns:1fr; }
  .why-image { height:390px; }
  .why-content { padding:70px 22px; }
  footer { grid-template-columns:1fr; padding:50px 25px 30px; }
  footer>div { justify-content:flex-start; }
  footer>small { grid-column:1; }
  .floating-label { display:none; }
  .floating-wa { padding:7px; right:16px; bottom:16px; }
}

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