:root{
  --green:#23a455;--green-dark:#14743a;--ink:#13231b;--muted:#65736b;
  --pale:#f2f8f4;--line:#dce8e0;--white:#fff;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.55}
a{color:inherit}.topbar{position:fixed;inset:0 0 auto;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:12px 5vw;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.05)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;letter-spacing:.04em}.brand img{width:46px;height:46px;object-fit:contain}.topbar nav{display:flex;align-items:center;gap:24px}.topbar nav a{text-decoration:none;font-weight:650}.nav-cta{background:var(--green);color:#fff;padding:10px 18px;border-radius:999px}
.hero{height:min(850px,100vh);min-height:680px;position:relative;display:grid;place-items:center;overflow:hidden}.hero video{position:absolute;width:100%;height:100%;object-fit:cover}.overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,25,14,.75),rgba(4,25,14,.3))}.hero-content{position:relative;z-index:2;color:#fff;width:min(1100px,90vw);padding-top:70px}.hero-logo{width:120px;filter:drop-shadow(0 8px 20px rgba(0,0,0,.25))}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-weight:800;font-size:.78rem}.eyebrow.green{color:var(--green-dark)}h1{font-size:clamp(2.7rem,7vw,5.7rem);line-height:.98;max-width:900px;margin:.2em 0}.hero-content>p:not(.eyebrow){max-width:650px;font-size:1.2rem}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;padding:14px 22px;font-weight:800;text-decoration:none;cursor:pointer;background:#eaf5ee;color:var(--green-dark)}.button.primary{background:var(--green);color:#fff;box-shadow:0 12px 30px rgba(35,164,85,.3)}.hero .button{margin-top:18px}
.section{padding:90px 6vw}.section-heading{max-width:760px;margin:0 auto 44px;text-align:center}.section h2{font-size:clamp(2rem,4vw,3.3rem);line-height:1.08;margin:.25em 0}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:1150px;margin:auto}.route-card{overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 18px 50px rgba(20,50,30,.08)}.route-card img{width:100%;height:340px;object-fit:cover}.route-content{padding:26px}.tag{display:inline-block;background:var(--pale);color:var(--green-dark);font-weight:800;padding:7px 11px;border-radius:999px}.route-content h3{font-size:1.8rem;margin:14px 0 2px}.place{color:var(--muted)}.route-meta{display:flex;justify-content:space-between;gap:16px;align-items:end;margin:22px 0}.route-meta strong{font-size:1.35rem}.route-meta span{font-size:.9rem;color:var(--muted);text-align:right}
.pale{background:var(--pale)}.booking-layout{max-width:1150px;margin:auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start}.notice{margin-top:24px;background:#fff;border-left:5px solid var(--green);padding:18px;border-radius:10px}.booking-card{background:#fff;padding:28px;border-radius:22px;box-shadow:0 18px 50px rgba(20,50,30,.1);display:grid;gap:18px}.booking-card label{font-weight:750;display:grid;gap:7px}.booking-card input,.booking-card select{width:100%;border:1px solid #ccd9d0;border-radius:10px;padding:13px;font:inherit;background:#fff}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}.check{grid-template-columns:auto 1fr!important;align-items:start;font-weight:500!important}.check input{width:auto;margin-top:5px}.summary{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-top:1px solid var(--line);font-size:1.15rem}.summary strong{font-size:1.6rem}.full{width:100%}.demo-note{font-size:.84rem;color:var(--muted);text-align:center;margin:0}
.info-grid{max-width:1100px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.info-grid div{padding:26px;border:1px solid var(--line);border-radius:18px;text-align:center}.info-grid strong,.info-grid span{display:block}.info-grid strong{font-size:1.25rem}.info-grid span{color:var(--muted)}.legal-note{max-width:950px;margin:35px auto 0;text-align:center;color:var(--muted)}.gallery{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:8px}.gallery img{width:100%;height:380px;object-fit:cover}.contact{display:grid;grid-template-columns:1fr 1fr;gap:50px;max-width:1200px;margin:auto}.contact-card{display:grid;gap:12px;background:var(--pale);padding:28px;border-radius:20px}.contact-card a{font-size:1.15rem;font-weight:800;color:var(--green-dark)}footer{text-align:center;padding:50px 20px;background:#10281b;color:#fff}footer img{width:70px;background:#fff;border-radius:16px;padding:6px}footer p{font-weight:700}footer small{opacity:.7}dialog{border:0;border-radius:20px;max-width:480px;padding:30px;box-shadow:0 20px 80px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(0,0,0,.55)}
@media(max-width:850px){.topbar nav a:not(.nav-cta){display:none}.brand span{font-size:.82rem}.hero{min-height:650px}.cards,.booking-layout,.contact{grid-template-columns:1fr}.route-card img{height:270px}.info-grid{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr}.gallery img{height:300px}}
@media(max-width:520px){.section{padding:70px 20px}.topbar{padding:9px 14px}.brand img{width:40px;height:40px}.hero-content{width:88vw}.hero-logo{width:92px}.two-cols{grid-template-columns:1fr}.info-grid{grid-template-columns:1fr}.route-meta{display:block}.route-meta span{display:block;text-align:left;margin-top:5px}}
