:root{
  --green-dark:#0a3327;
  --green:#0f4a37;
  --green-mid:#134f3c;
  --gold:#c9992e;
  --gold-light:#f4d374;
  --gold-deep:#a97c1f;
  --cream:#fdf6e6;
  --cream-2:#fbeed2;
  --ink:#1c2b24;
  --muted:#5c6b63;
  --white:#ffffff;
  --radius:10px;
  --shadow:0 6px 24px rgba(10,51,39,0.12);
  --shadow-lg:0 24px 60px rgba(10,51,39,0.22);
  --font-serif:'Playfair Display', Georgia, 'Times New Roman', serif;
  --font-sans:'Inter', 'Segoe UI', Arial, Helvetica, sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
html,body{overflow-x:hidden;max-width:100%;}
body{
  margin:0;
  font-family:var(--font-sans);
  color:var(--ink);
  background:var(--cream);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:var(--font-serif);
  color:var(--green-dark);
  margin:0 0 12px;
  letter-spacing:-0.01em;
}
a{color:inherit;}
img,svg{max-width:100%;display:block;}
.container{width:100%;max-width:1120px;margin:0 auto;padding:0 24px;}
section{padding:88px 0;}

/* ---------- ORNAMENT DIVIDER ---------- */
.ornament{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 auto 18px;}
.ornament span{width:34px;height:1px;background:linear-gradient(90deg,transparent,var(--gold));}
.ornament span.r{background:linear-gradient(90deg,var(--gold),transparent);}
.ornament .dia{width:7px;height:7px;background:var(--gold);transform:rotate(45deg);}

/* ---------- SCROLL REVEAL ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease), transform .8s var(--ease);}
.reveal.in-view{opacity:1;transform:none;}
.reveal-stagger .reveal:nth-child(1){transition-delay:.05s;}
.reveal-stagger .reveal:nth-child(2){transition-delay:.12s;}
.reveal-stagger .reveal:nth-child(3){transition-delay:.19s;}
.reveal-stagger .reveal:nth-child(4){transition-delay:.26s;}
.reveal-stagger .reveal:nth-child(5){transition-delay:.33s;}
.reveal-stagger .reveal:nth-child(6){transition-delay:.4s;}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none;}
}

/* ---------- NAV ---------- */
.nav{
  position:sticky; top:0; z-index:50;
  background:var(--green-dark);
  border-bottom:3px solid var(--gold);
  transition:box-shadow .3s ease;
}
.nav.scrolled{box-shadow:0 10px 30px rgba(0,0,0,0.28);background:rgba(10,51,39,0.99);}
.nav .container{display:flex;align-items:center;justify-content:space-between;padding-top:10px;padding-bottom:10px;}
.nav-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;}
.nav-brand img{width:42px;height:42px;}
.nav-brand .nb-text{line-height:1.15;}
.nav-brand .nb1{font-family:var(--font-serif);font-weight:700;font-size:17px;letter-spacing:0.5px;}
.nav-brand .nb2{font-weight:700;font-size:11px;letter-spacing:3px;color:var(--gold-light);}
.nav-links{display:flex;align-items:center;gap:30px;}
.nav-links a{position:relative;color:#e8f0ec;text-decoration:none;font-size:14.5px;font-weight:600;padding:4px 0;transition:color .2s ease;}
.nav-links a:after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:2px;background:var(--gold-light);transition:right .25s var(--ease);}
.nav-links a:hover{color:var(--gold-light);}
.nav-links a:hover:after{right:0;}
.btn{
  display:inline-block;
  position:relative;
  background:linear-gradient(180deg,var(--gold-light),var(--gold));
  color:var(--green-dark)!important;
  font-weight:700;
  padding:12px 26px;
  border-radius:7px;
  text-decoration:none;
  border:1px solid var(--gold-deep);
  cursor:pointer;
  font-size:15px;
  overflow:hidden;
  transition:transform .2s var(--ease), box-shadow .2s var(--ease);
}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(201,153,46,0.4);}
.btn:active{transform:translateY(0);}
.btn-outline{
  background:transparent;
  color:#fff!important;
  border:1.5px solid var(--gold-light);
}
.btn-outline:hover{background:rgba(244,211,116,0.1);}
.btn-block{width:100%;text-align:center;}

/* ---------- HERO ---------- */
.hero{
  background:
    radial-gradient(1200px 500px at 15% -10%, rgba(201,153,46,0.22), transparent 60%),
    radial-gradient(900px 500px at 100% 100%, rgba(201,153,46,0.12), transparent 55%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='84' height='84'%3E%3Cg fill='none' stroke='%23f4d374' stroke-width='0.6' opacity='0.16'%3E%3Crect x='14' y='14' width='56' height='56'/%3E%3Crect x='14' y='14' width='56' height='56' transform='rotate(45 42 42)'/%3E%3C/g%3E%3C/svg%3E"),
    linear-gradient(180deg,var(--green) 0%, var(--green-dark) 100%);
  color:#fff;
  padding:88px 0 72px;
  position:relative;
  overflow:hidden;
}
.hero:after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:64px;
  background:linear-gradient(180deg,transparent,var(--cream));pointer-events:none;
}
.hero .container{display:grid;grid-template-columns:1.15fr 0.85fr;gap:48px;align-items:center;position:relative;z-index:1;}
.eyebrow{
  display:inline-block;color:var(--gold-light);font-weight:700;letter-spacing:2px;
  font-size:13px;border:1px solid var(--gold);padding:6px 16px;border-radius:20px;margin-bottom:20px;
  background:rgba(244,211,116,0.06);
}
.eyebrow-note{color:#cfe3da;font-size:12.5px;margin:-12px 0 20px;}
.hero h1{color:#fff;font-size:52px;line-height:1.06;margin-bottom:20px;font-weight:800;}
.hero h1 span{color:var(--gold-light);position:relative;white-space:nowrap;}
.hero p.lead{color:#d7e6df;font-size:17.5px;max-width:520px;margin-bottom:30px;}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;}
.hero-badges{display:flex;gap:16px;margin-top:38px;flex-wrap:wrap;}
.hero-badge{
  background:rgba(255,255,255,0.06);border:1px solid rgba(244,211,116,0.35);
  border-radius:10px;padding:14px 18px;min-width:140px;
  transition:transform .25s var(--ease), background .25s ease, border-color .25s ease;
}
.hero-badge:hover{transform:translateY(-3px);background:rgba(255,255,255,0.1);border-color:var(--gold-light);}
.hero-badge .hb-lbl{font-size:11px;letter-spacing:1.5px;color:#bcd2c8;}
.hero-badge .hb-val{font-family:var(--font-serif);font-size:19px;font-weight:700;color:var(--gold-light);margin-top:5px;}
.hero-card{
  background:var(--cream);border-radius:16px;padding:28px;box-shadow:0 30px 70px rgba(0,0,0,0.4);
  border:1px solid var(--gold);
  transform:rotate(0.4deg);
  transition:transform .4s var(--ease);
}
.hero-card:hover{transform:rotate(0deg) translateY(-4px);}
.hero-card h3{font-size:20px;margin-bottom:14px;}
.hero-route{font-weight:700;color:var(--green-dark);font-size:15px;margin-bottom:4px;}
.hero-sub{color:var(--muted);font-size:13px;margin-bottom:18px;}
.hero-list{list-style:none;padding:0;margin:0 0 20px;}
.hero-list li{display:flex;gap:9px;font-size:13.5px;margin-bottom:10px;color:var(--ink);}
.hero-list li:before{content:"✓";color:var(--gold-deep);font-weight:700;}

/* ---------- ELIGIBILITY BAR ---------- */
.eligibility{
  background:linear-gradient(90deg,var(--green-dark),var(--green));
  color:#fff;text-align:center;font-size:14.5px;padding:14px 0;font-weight:600;
}
.eligibility b{color:var(--gold-light);}

/* ---------- SECTION HEADERS ---------- */
.sec-head{text-align:center;max-width:640px;margin:0 auto 48px;}
.sec-head .kicker{
  color:var(--gold-deep);font-weight:700;letter-spacing:2.5px;font-size:12.5px;
  text-transform:uppercase;
}
.sec-head h2{font-size:36px;margin-top:10px;}
.sec-head p{color:var(--muted);font-size:15.5px;}

/* ---------- ACCOMMODATION GRID ---------- */
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.acc-card{
  background:#fff;border:1px solid #e6d9b8;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s ease;
}
.acc-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--gold);}
.acc-card .hd{background:linear-gradient(180deg,var(--green),var(--green-dark));color:#fff;text-align:center;padding:12px 6px;font-weight:700;font-size:13px;letter-spacing:0.3px;}
.acc-card .bd{padding:18px 12px;text-align:center;}
.acc-card .days{font-family:var(--font-serif);font-size:26px;font-weight:700;color:var(--green-dark);}
.acc-card .note{font-size:12.5px;color:#333;margin-top:6px;}
.acc-card .note2{font-size:12px;color:var(--gold-deep);font-weight:700;margin-top:4px;}
.acc-card .stars{color:var(--gold);margin-top:8px;}

/* ---------- INCLUDES ---------- */
.grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;}
.inc-card{
  background:#fff;border:1px solid #e6d9b8;border-radius:var(--radius);text-align:center;padding:28px 16px;box-shadow:var(--shadow);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s ease;
}
.inc-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--gold);}
.inc-card .ic{
  font-size:26px;margin:0 auto 14px;width:52px;height:52px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,var(--cream-2),#fff);border-radius:50%;border:1px solid #e6d9b8;
}
.inc-card .t1{font-weight:700;color:var(--green-dark);font-size:14px;}
.inc-card .t2{color:var(--muted);font-size:12.5px;margin-top:6px;}

/* ---------- PRICE ---------- */
.price-band{
  background:linear-gradient(135deg,var(--green-dark),var(--green) 60%,var(--green-dark));
  border-radius:16px;border:1.5px solid var(--gold);color:#fff;
  padding:36px 40px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;
}
.price-band .lbl{color:#cfe3da;font-weight:700;letter-spacing:2px;font-size:13px;}
.price-band .amounts{display:flex;align-items:baseline;gap:18px;margin-top:8px;flex-wrap:wrap;}
.price-band .num{font-family:Georgia,serif;font-size:40px;font-weight:700;}
.price-band .cur{color:var(--gold-light);font-weight:700;font-size:15px;}
.price-band .or{color:var(--gold-light);font-style:italic;}
.price-band .note{color:#cfe3da;font-size:12.5px;margin-top:10px;}

/* ---------- TWO COL / TIMELINE ---------- */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.panel{background:#fff;border:1px solid #e6d9b8;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:box-shadow .3s ease;}
.panel:hover{box-shadow:var(--shadow-lg);}
.panel-hd{background:linear-gradient(180deg,var(--green),var(--green-dark));color:#fff;padding:18px 22px;font-weight:700;font-size:18px;font-family:var(--font-serif);}
.panel-bd{padding:24px 26px;}
.hl-item{display:flex;gap:10px;align-items:flex-start;margin-bottom:15px;font-size:14.5px;}
.hl-item .chk{width:20px;height:20px;border-radius:50%;background:var(--gold);color:var(--green-dark);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin-top:1px;}
.it-item{display:flex;gap:14px;}
.it-item .dot-col{display:flex;flex-direction:column;align-items:center;}
.it-item .dot{width:12px;height:12px;border-radius:50%;background:var(--gold);border:2px solid var(--gold-deep);box-shadow:0 0 0 3px rgba(201,153,46,0.15);}
.it-item .line{width:2px;flex:1;background:#e2d3a4;margin:4px 0;}
.it-item .txt{padding-bottom:20px;}
.it-item .d{font-weight:700;color:var(--green-dark);font-size:14.5px;}
.it-item .s{color:var(--muted);font-size:13px;margin-top:2px;}

/* ---------- TIER CARDS ---------- */
.tier-row{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.tier-card{
  position:relative;border-radius:16px;overflow:hidden;border:1.5px solid var(--gold);box-shadow:var(--shadow);
  display:flex;flex-direction:column;transition:transform .35s var(--ease), box-shadow .35s var(--ease);
}
.tier-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);}
.tier-card .t-hd{padding:22px 26px;}
.tier-card .t-name{font-family:var(--font-serif);font-weight:700;font-size:21px;letter-spacing:0.5px;}
.tier-card .t-sub{font-size:13px;margin-top:4px;}
.tier-card .t-bd{background:#fff;padding:26px;flex:1;display:flex;flex-direction:column;}
.tier-card .t-price{font-family:var(--font-serif);font-weight:700;font-size:32px;color:var(--green-dark);}
.tier-vip .t-price{font-size:25px;color:var(--gold-deep);}
.tier-card .t-price-sub{font-size:13px;color:var(--muted);margin-top:4px;}
.tier-card ul{list-style:none;margin:18px 0 22px;padding:0;flex:1;}
.tier-card li{font-size:14px;color:var(--ink);margin-bottom:11px;padding-left:24px;position:relative;line-height:1.4;}
.tier-card li:before{content:"✓";position:absolute;left:0;color:var(--gold-deep);font-weight:700;}
.tier-standard .t-hd{background:linear-gradient(180deg,var(--green),var(--green-dark));color:#fff;}
.tier-standard .t-hd .t-sub{color:#cfe3da;}
.tier-vip{border-color:var(--gold-deep);border-width:2px;}
.tier-vip .t-hd{background:linear-gradient(180deg,var(--gold-light),var(--gold));color:var(--green-dark);}
.tier-vip .t-hd .t-sub{color:var(--green-dark);opacity:0.8;}
.tier-vip:after{
  content:"UPGRADE";position:absolute;top:14px;right:-32px;background:var(--green-dark);color:var(--gold-light);
  font-size:11px;font-weight:700;letter-spacing:1.5px;padding:5px 40px;transform:rotate(45deg);
  box-shadow:0 4px 10px rgba(0,0,0,0.25);
}

/* ---------- TRUST / VALUE ---------- */
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.trust-card{
  background:#fff;border:1px solid #e6d9b8;border-radius:var(--radius);padding:28px 24px;box-shadow:var(--shadow);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s ease;
}
.trust-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--gold);}
.trust-card .ic{
  font-size:24px;margin-bottom:14px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,var(--cream-2),#fff);border-radius:12px;border:1px solid #e6d9b8;
}
.trust-card h4{font-size:16.5px;margin-bottom:8px;}
.trust-card p{font-size:13.5px;color:var(--muted);margin:0;}

/* ---------- FAQ ---------- */
.faq-list{max-width:780px;margin:0 auto;}
.faq-item{background:#fff;border:1px solid #e6d9b8;border-radius:10px;margin-bottom:12px;overflow:hidden;transition:border-color .25s ease, box-shadow .25s ease;}
.faq-item:hover{border-color:var(--gold);box-shadow:var(--shadow);}
.faq-q{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:18px 22px;cursor:pointer;font-weight:700;color:var(--green-dark);font-size:15px;
}
.faq-q .plus{font-size:20px;color:var(--gold-deep);transition:transform .25s var(--ease);flex-shrink:0;}
.faq-item.open{border-color:var(--gold);}
.faq-item.open .faq-q .plus{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s var(--ease);}
.faq-item.open .faq-a{max-height:240px;}
.faq-a-inner{padding:0 22px 20px;color:var(--muted);font-size:14px;line-height:1.6;}

/* ---------- CTA BANNER ---------- */
.cta-band{
  background:
    radial-gradient(700px 300px at 90% 0%, rgba(244,211,116,0.18), transparent 60%),
    linear-gradient(90deg,var(--green-dark),var(--green));
  color:#fff;border-radius:20px;padding:52px 44px;text-align:center;
  border:1px solid rgba(244,211,116,0.35);
  position:relative;overflow:hidden;
}
.cta-band h2{color:#fff;font-size:30px;}
.cta-band p{color:#d7e6df;margin-bottom:26px;}

/* ---------- FOOTER ---------- */
footer{background:var(--green-dark);color:#cfe3da;border-top:3px solid var(--gold);padding:48px 0 24px;}
footer .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px;margin-bottom:30px;}
footer h4{color:#fff;font-size:15px;margin-bottom:14px;font-family:var(--font-serif);}
footer p, footer li{font-size:13.5px;color:#bcd2c8;}
footer ul{list-style:none;padding:0;margin:0;}
footer li{margin-bottom:9px;}
footer a{text-decoration:none;color:#bcd2c8;transition:color .2s ease;}
footer a:hover{color:var(--gold-light);}
.foot-bottom{border-top:1px solid rgba(255,255,255,0.12);padding-top:18px;font-size:12.5px;color:#8fac9f;text-align:center;}

/* ---------- FUNNEL / FORM ---------- */
.funnel-wrap{background:linear-gradient(180deg,var(--green) 0%, var(--green-dark) 100%);min-height:100vh;padding:50px 0;}
.funnel-card{
  max-width:640px;margin:0 auto;background:var(--cream);border-radius:16px;box-shadow:0 30px 70px rgba(0,0,0,0.35);
  border:1px solid var(--gold);overflow:hidden;
}
.funnel-head{padding:26px 34px 0;text-align:center;}
.funnel-head img{width:56px;margin:0 auto 10px;}
.progress-wrap{padding:0 34px;margin:20px 0 0;}
.progress-track{height:8px;background:#e6dcc0;border-radius:6px;overflow:hidden;}
.progress-fill{height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-light));width:50%;transition:width .3s ease;}
.progress-labels{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:8px;font-weight:600;}
.progress-labels .active{color:var(--green-dark);}
.funnel-body{padding:26px 34px 34px;}
.step{display:none;}
.step.active{display:block;animation:fadeIn .3s ease;}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
.f-group{margin-bottom:18px;}
.f-group label{display:block;font-weight:700;font-size:13.5px;color:var(--green-dark);margin-bottom:6px;}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
input[type=text],input[type=email],input[type=tel],input[type=number],select,textarea{
  width:100%;padding:11px 13px;border:1.5px solid #d9c99a;border-radius:8px;font-size:14.5px;
  font-family:inherit;background:#fff;color:var(--ink);
}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold-deep);}
textarea{resize:vertical;min-height:80px;}
.radio-row{display:flex;gap:12px;flex-wrap:wrap;}
.radio-pill{
  border:1.5px solid #d9c99a;border-radius:8px;padding:10px 16px;cursor:pointer;font-size:14px;font-weight:600;
  background:#fff;color:var(--ink);
}
.radio-pill input{display:none;}
.radio-pill.checked{background:var(--gold);border-color:var(--gold-deep);color:var(--green-dark);}
.f-actions{display:flex;justify-content:space-between;align-items:center;margin-top:26px;}
.link-btn{background:none;border:none;color:var(--muted);font-weight:600;cursor:pointer;font-size:14px;}
.f-error{color:#b3261e;font-size:12.5px;margin-top:5px;display:none;}
.hint{font-size:12px;color:var(--muted);margin-top:5px;}

@media (max-width:480px){
  .nav .container{padding-top:8px;padding-bottom:8px;gap:8px;}
  .nav-brand img{width:34px;height:34px;}
  .nav-brand .nb1{font-size:13.5px;letter-spacing:0.2px;}
  .nav-brand .nb2{font-size:9px;letter-spacing:2px;}
  .nav .btn{font-size:12.5px;padding:9px 14px;}
  .container{padding:0 16px;}
  .hero-badges{gap:10px;}
  .hero-badge{min-width:0;flex:1 1 calc(50% - 10px);padding:10px 12px;}
}
@media (max-width:860px){
  section{padding:56px 0;}
  .hero{padding:48px 0 56px;}
  .hero .container{grid-template-columns:1fr;}
  .hero h1{font-size:34px;}
  .sec-head h2{font-size:27px;}
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .grid-5{grid-template-columns:repeat(2,1fr);}
  .two-col{grid-template-columns:1fr;}
  footer .foot-grid{grid-template-columns:1fr;}
  .nav-links{display:none;}
  .f-row{grid-template-columns:1fr;}
  .price-band{flex-direction:column;align-items:flex-start;}
  .tier-row{grid-template-columns:1fr;}
  .trust-grid{grid-template-columns:1fr;}
  .tier-vip:after{right:-38px;top:16px;}
}
