
:root{
  --green:#25824d;
  --green-dark:#145838;
  --green-soft:#eaf5ee;
  --orange:#f0a33b;
  --blue:#58a7d5;
  --ink:#173026;
  --text:#5f6f68;
  --cream:#f8f6ef;
  --white:#fff;
  --shadow:0 18px 50px rgba(20,65,43,.14);
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Be Vietnam Pro",Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.65}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
.container{width:min(1180px,calc(100% - 40px));margin:auto}
.topbar{background:var(--green-dark);color:#dff3e7;font-size:12px}
.topbar-inner{min-height:37px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.topbar-links{display:flex;gap:22px}
.site-header{position:absolute;z-index:20;left:0;right:0;top:0}
.navbar{height:94px;display:flex;align-items:center;justify-content:space-between}
.brand{background:#fff;padding:7px 12px;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.brand img{width:205px;height:62px;object-fit:contain}
.nav-panel{display:flex;align-items:center;gap:28px;color:#fff;font-size:14px;font-weight:600}
.nav-panel>a:not(.btn){position:relative}
.nav-panel>a:not(.btn)::after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:2px;background:#fff;transition:.3s}
.nav-panel>a:not(.btn):hover::after{width:100%}
.language-switcher{display:flex;gap:5px;align-items:center}
.lang-btn{border:0;background:transparent;color:#dfe9e2;cursor:pointer;padding:3px;font-weight:700}
.lang-btn.active{color:var(--orange)}
.menu-toggle{display:none;background:none;border:0;cursor:pointer}
.menu-toggle span{display:block;width:26px;height:2px;background:#fff;margin:5px}
.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:14px 25px;font-weight:700;cursor:pointer;transition:transform .25s,box-shadow .25s,background .25s}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--orange);color:#142d23;box-shadow:0 12px 26px rgba(240,163,59,.28)}
.btn-primary:hover{background:#f4b257}
.btn-light{background:#fff;color:var(--green-dark)}
.nav-cta{padding:11px 19px}
.hero{min-height:780px;position:relative;display:flex;align-items:center;color:white;background:url("https://images.unsplash.com/photo-1528127269322-539801943592?auto=format&fit=crop&w=2000&q=90") center/cover no-repeat}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,48,31,.86) 0%,rgba(14,63,42,.55) 48%,rgba(5,31,23,.14) 100%)}
.hero-content{position:relative;padding-top:120px}
.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:800;margin:0 0 16px}
.eyebrow.green{color:var(--green)}
.hero h1{font-family:"Playfair Display",serif;font-size:clamp(48px,6.5vw,84px);line-height:1.04;max-width:900px;margin:0 0 22px}
.hero-subtitle{font-size:19px;max-width:660px;color:#ebf4ee;margin-bottom:32px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-stats{display:flex;gap:55px;margin-top:70px}
.hero-stats div{display:flex;flex-direction:column}
.hero-stats strong{font-size:28px}
.hero-stats span{font-size:12px;color:#dce9e1;max-width:130px}
.scroll-indicator{position:absolute;bottom:24px;left:50%;font-size:36px;animation:bounce 1.8s infinite}
@keyframes bounce{50%{transform:translateY(6px)}}
.section{padding:110px 0}
.two-column{display:grid;grid-template-columns:1fr 1.08fr;gap:85px;align-items:center}
.intro h2,.section-heading h2,.contact h2,.experience h2{font-family:"Playfair Display",serif;font-size:clamp(38px,4.4vw,58px);line-height:1.15;margin:0 0 24px}
.intro-copy>p:not(.eyebrow){color:var(--text)}
.text-link{color:var(--green);font-weight:800}
.photo-collage{position:relative;min-height:560px}
.photo-main{width:78%;height:500px;object-fit:cover;border-radius:var(--radius)}
.photo-small{position:absolute;width:46%;height:260px;object-fit:cover;right:0;bottom:0;border-radius:var(--radius);border:8px solid #fff;box-shadow:var(--shadow)}
.photo-badge{position:absolute;right:5%;top:5%;width:190px;height:190px;border-radius:50%;background:var(--orange);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:var(--shadow);transform:rotate(5deg)}
.photo-badge span{font-size:11px;letter-spacing:.2em;font-weight:800}
.photo-badge strong{font-family:"Playfair Display",serif;font-size:20px;line-height:1.2;margin-top:8px}
.destinations{background:var(--cream)}
.section-heading{margin-bottom:48px}
.section-heading.centered{text-align:center;max-width:760px;margin-left:auto;margin-right:auto}
.section-heading p{color:var(--text)}
.destination-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:18px}
.destination-card{position:relative;min-height:470px;border-radius:var(--radius);overflow:hidden;background-image:var(--bg);background-size:cover;background-position:center;box-shadow:var(--shadow);transition:transform .35s}
.destination-card:hover{transform:translateY(-7px)}
.card-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,40,27,.86),rgba(5,40,27,.05) 65%)}
.card-content{position:absolute;left:28px;right:28px;bottom:28px;color:#fff}
.card-content span{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#dfeee5}
.card-content h3{font-family:"Playfair Display",serif;font-size:31px;margin:4px 0 7px}
.card-content p{font-size:13px;margin:0;color:#e8f0eb}
.split-heading{display:flex;justify-content:space-between;align-items:end;gap:60px}
.split-heading>p{max-width:470px}
.tour-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.tour-card{border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:0 12px 40px rgba(28,69,48,.1);border:1px solid #ecf0ed;transition:.3s}
.tour-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.tour-image{position:relative}
.tour-image img{width:100%;height:260px;object-fit:cover}
.duration{position:absolute;right:14px;bottom:14px;background:rgba(255,255,255,.92);padding:7px 11px;border-radius:999px;font-size:11px;font-weight:800}
.tour-body{padding:25px}
.tour-meta{display:flex;justify-content:space-between;color:#849087;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.tour-body h3{font-family:"Playfair Display",serif;font-size:26px;margin:14px 0 10px}
.tour-body p{font-size:14px;color:var(--text)}
.tour-body a{font-size:13px;color:var(--green);font-weight:800}
.experience{min-height:480px;display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(12,60,39,.9),rgba(12,60,39,.38)),url("https://images.unsplash.com/photo-1528360983277-13d401cdc186?auto=format&fit=crop&w=2000&q=88") center/cover}
.experience-inner{display:flex;justify-content:space-between;align-items:end;gap:50px}
.experience-inner>div{max-width:740px}
.experience h2{margin-bottom:16px}
.experience p:not(.eyebrow){color:#e6f1ea}
.benefits-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}
.benefit{text-align:center;padding:35px 20px;border-radius:18px;background:var(--green-soft)}
.icon{width:58px;height:58px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--green);font-size:24px;box-shadow:0 8px 20px rgba(30,100,65,.12)}
.benefit h3{margin:0 0 8px}
.benefit p{font-size:13px;color:var(--text);margin:0}
.testimonial{background:var(--green-dark);color:#fff;text-align:center}
.testimonial-inner{max-width:900px}
.quote-mark{font-family:serif;font-size:90px;line-height:.6;color:var(--orange);margin:0}
blockquote{font-family:"Playfair Display",serif;font-size:clamp(26px,4vw,43px);line-height:1.35;margin:10px 0 20px}
.quote-author{color:#bcd5c6}
.contact{background:#f7f8f5}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}
.contact-copy>p{color:var(--text)}
.contact-details{margin-top:36px}
.contact-details p{color:var(--ink)}
.contact-details strong{color:var(--green)}
.inquiry-form{background:#fff;padding:38px;border-radius:var(--radius);box-shadow:var(--shadow)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.inquiry-form label{display:block;font-size:12px;font-weight:700;margin-bottom:18px}
.inquiry-form input,.inquiry-form select,.inquiry-form textarea{width:100%;margin-top:7px;padding:13px 14px;border:1px solid #dbe3de;border-radius:10px;background:#fbfcfb;outline:none}
.inquiry-form input:focus,.inquiry-form select:focus,.inquiry-form textarea:focus{border-color:var(--green)}
.form-note{font-size:11px;color:#839087}
.footer{background:#0d3424;color:#d6e5dc;padding:75px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.2fr .7fr 1fr 1fr;gap:45px}
.footer-logo{width:190px;background:#fff;border-radius:10px;padding:8px}
.footer h4{color:#fff;margin-top:0}
.footer p,.footer a{display:block;font-size:13px;color:#bcd2c5;margin:7px 0}
.newsletter-form{display:flex;background:#fff;border-radius:999px;overflow:hidden}
.newsletter-form input{min-width:0;flex:1;border:0;padding:11px 15px;outline:none}
.newsletter-form button{width:46px;border:0;background:var(--orange);cursor:pointer}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:55px;padding-top:20px;display:flex;justify-content:space-between;font-size:11px;color:#91aa9c}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}
.reveal.visible{opacity:1;transform:none}

@media(max-width:980px){
  .nav-panel{position:fixed;inset:0 0 auto auto;width:min(360px,88vw);height:100vh;background:var(--green-dark);padding:110px 32px;flex-direction:column;align-items:flex-start;transform:translateX(100%);transition:.35s;box-shadow:-20px 0 40px rgba(0,0,0,.2)}
  .nav-panel.open{transform:none}
  .menu-toggle{display:block;position:relative;z-index:3}
  .two-column,.contact-grid{grid-template-columns:1fr;gap:50px}
  .destination-grid{grid-template-columns:1fr 1fr}
  .destination-card.large{grid-column:1/-1}
  .tour-grid{grid-template-columns:1fr 1fr}
  .benefits-grid{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .container{width:min(100% - 28px,1180px)}
  .topbar-inner>span{display:none}
  .topbar-links{width:100%;justify-content:space-between;font-size:10px}
  .brand img{width:155px;height:48px}
  .navbar{height:76px}
  .hero{min-height:720px}
  .hero-content{padding-top:100px}
  .hero h1{font-size:46px}
  .hero-stats{gap:18px;justify-content:space-between}
  .hero-stats strong{font-size:21px}
  .section{padding:78px 0}
  .photo-collage{min-height:450px}
  .photo-main{height:410px;width:90%}
  .photo-small{height:180px}
  .photo-badge{width:140px;height:140px}
  .photo-badge strong{font-size:15px}
  .destination-grid,.tour-grid,.benefits-grid,.footer-grid,.form-row{grid-template-columns:1fr}
  .destination-card{min-height:390px}
  .split-heading,.experience-inner{display:block}
  .experience .btn{margin-top:20px}
  .contact-grid{gap:35px}
  .inquiry-form{padding:24px}
  .footer-bottom{gap:12px;flex-direction:column}
}
