/* Layout & look inspired by fotowithatwist.com, recreated from scratch */
:root{
  --bg:#111214; --fg:#f4f4f5; --muted:#a1a1aa; --brand:#eab308; --card:#16171a; --line:#222327;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.6}
img{max-width:100%;display:block;border-radius:14px}
.wrap{width:min(1100px,92%);margin:0 auto}
a{color:var(--fg);text-decoration:none}
.muted{color:var(--muted)}

.topbar{position:sticky;top:0;z-index:20;background:rgba(17,18,20,.72);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;padding:.8rem 0}
.brand{font-weight:800;font-size:1.1rem}
.brand span{color:var(--brand)}
.nav{display:flex;gap:1rem;align-items:center}
.nav a{opacity:.9}
.btn{border:1px solid var(--line);padding:.55rem .9rem;border-radius:999px;cursor:pointer;background:transparent;color:var(--fg)}
.btn.primary{background:var(--brand);color:#111;border-color:transparent}
.menu{display:none;background:none;border:none;color:var(--fg);font-size:1.25rem}

.hero{position:relative;min-height:64svh;display:grid;place-items:center;overflow:hidden}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.6)}
.shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.65))}
.hero-inner{position:relative;text-align:center;padding:4rem 0}
.hero h1{font-size:clamp(2rem,4vw+1rem,3rem);margin:.2rem 0}
.tagline{color:var(--muted);margin-bottom:1rem}

.section{padding:3rem 0;border-top:1px solid var(--line)}
.split .wrap,.section.split{display:grid;gap:1.4rem;grid-template-columns:1.1fr .9fr;align-items:center}
.section.split .wrap{width:min(1100px,92%);margin:0 auto}
.split.reverse{grid-template-columns:.9fr 1.1fr}
.text h2{font-size:1.7rem;margin:.2rem 0 1rem}
.imgcard{background:var(--card);padding:.6rem;border-radius:16px;border:1px solid var(--line)}

.masonry{columns:3 260px;column-gap:.8rem}
.masonry img{width:100%;margin:0 0 .8rem;border-radius:14px}

.packages .cards{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.card{background:var(--card);padding:1rem;border-radius:14px;border:1px solid var(--line)}
.card h3{margin:.2rem 0}
.card p{color:var(--brand);font-weight:700}

.newsletter .wrap{display:grid;gap:1.2rem;grid-template-columns:1.1fr .9fr;align-items:center}
.nl-form{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.5rem}
.nl-form input{flex:1 1 240px;padding:.7rem .9rem;border-radius:10px;border:1px solid var(--line);background:#121316;color:var(--fg)}

.footer{border-top:1px solid var(--line);padding:1.2rem 0}
.footer .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.footnav{display:flex;gap:1rem}

.cookie{position:fixed;inset:auto 0 1rem 0;display:none}
.cookie .cookie-inner{width:min(900px,92%);margin:0 auto;background:var(--card);border:1px solid var(--line);padding:1rem;border-radius:14px;display:flex;gap:1rem;align-items:center;justify-content:space-between}

@media (max-width:800px){
  .nav{display:none}
  .menu{display:block}
  .section.split,.newsletter .wrap{grid-template-columns:1fr}
}
