
:root{
  --bg:#08110e;
  --card:rgba(255,255,255,0.05);
  --text:#f6f0e6;
  --muted:#d3c6b8;
  --soft:#b7ab9a;
  --accent:#d8c8b0;
  --rust:#8a5a3c;
  --blue:#5a4e74;
  --green:#28473d;
  --light:#f4ecdf;
  --dark:#1e2822;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Inter',system-ui,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
  overflow-x:hidden;
}
h1,h2,h3{font-family:'Cormorant Garamond',serif; line-height:1; margin:0 0 .4rem}
h1{font-size:clamp(3.5rem,8vw,6rem)}
h2{font-size:clamp(2.2rem,5vw,3.5rem)}
h3{font-size:2rem}
p{margin:.2rem 0 0}
a{text-decoration:none; color:inherit}
.container{width:min(1120px, calc(100% - 2rem)); margin:0 auto}
.narrow{max-width:760px}
.center{text-align:center}
.site-header{position:sticky; top:0; z-index:50; backdrop-filter: blur(14px); background:rgba(8,17,14,.72); border-bottom:1px solid rgba(255,255,255,.08)}
.nav{display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 0}
.brand-top{font-size:.85rem; letter-spacing:.35em; text-transform:uppercase; color:var(--soft); font-weight:700}
.brand-sub{font-size:.95rem; color:#e0d3c4}
.nav-links{display:flex; gap:1.25rem; color:#e0d3c4; flex-wrap:wrap; justify-content:flex-end}
.nav-links a:hover,.footer-links a:hover{color:#fff}
.eyebrow{font-size:.82rem; letter-spacing:.3em; text-transform:uppercase; color:var(--soft); font-weight:600; margin-bottom:1rem}
.eyebrow.dark{color:#7d6e5d}
.hero{padding:4rem 0 2rem; min-height:88vh; display:flex; align-items:center}
.hero-grid{display:grid; grid-template-columns:1.15fr .85fr; gap:2rem; align-items:center}
.hero-lead{font-size:1.4rem; max-width:42rem; color:#e5d9ca}
.hero-text{max-width:40rem; color:var(--muted); margin-top:1rem}
.hero-actions{display:flex; flex-wrap:wrap; gap:1rem; margin-top:2rem}
.btn{display:inline-flex; align-items:center; justify-content:center; border-radius:999px; padding:.9rem 1.35rem; font-weight:600; transition:.25s ease; border:1px solid transparent}
.btn-primary{background:var(--accent); color:#112019}
.btn-primary:hover{background:#fff}
.btn-ghost{border-color:rgba(255,255,255,.15); color:#f1e8dc; background:transparent}
.btn-ghost:hover{background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.28)}
.btn-dark{background:#1f2f28; color:#f7efe4}
.btn-dark:hover{background:#000}
.btn-ghost-dark{border-color:rgba(0,0,0,.1); color:#22302a}
.btn-ghost-dark:hover{background:rgba(0,0,0,.05)}
.hero-card{position:relative; min-height:420px; display:flex; align-items:center; justify-content:center}
.ring,.portal-card,.portal-orb,.bg-glow{position:absolute}
.ring{border:1px solid rgba(216,200,176,.18); border-radius:50%}
.ring-1{width:20rem;height:20rem}
.ring-2{width:28rem;height:28rem; border-color:rgba(90,78,116,.16)}
.portal-card{position:relative; width:min(100%,22rem); padding:2rem; border-radius:2rem; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); backdrop-filter:blur(10px); text-align:center}
.portal-orb{position:relative; margin:1rem auto 1.5rem; width:10rem; height:10rem; border-radius:50%; background:radial-gradient(circle, rgba(216,200,176,.4), rgba(138,90,60,.15), rgba(8,17,14,.05)); box-shadow:0 0 60px rgba(216,200,176,.18)}
.portal-text{color:#e2d6c8}
.bg-glow{filter:blur(70px); opacity:.28; border-radius:50%; pointer-events:none}
.glow-1{width:20rem;height:20rem; background:var(--green); top:-5rem; left:-4rem}
.glow-2{width:24rem;height:24rem; background:var(--blue); top:18rem; right:-8rem}
.glow-3{width:20rem;height:20rem; background:var(--rust); bottom:6rem; left:20%}
.intro-strip{padding:3.5rem 0; background:rgba(13,23,19,.78); border-top:1px solid rgba(255,255,255,.08); border-bottom:1px solid rgba(255,255,255,.08)}
.section{padding:5rem 0}
.light-section{padding:5rem 0; background:var(--light); color:var(--dark)}
.section-head{display:flex; justify-content:space-between; align-items:end; gap:2rem; margin-bottom:2rem}
.section-copy{max-width:28rem; color:var(--muted)}
.grid{display:grid; gap:1.25rem}
.worlds-grid{grid-template-columns:repeat(3,1fr)}
.card{background:var(--card); border:1px solid rgba(255,255,255,.1); border-radius:2rem; padding:1.5rem; transition:transform .25s ease, border-color .25s ease, background .25s ease}
.world-card:hover{transform:translateY(-4px); border-color:rgba(216,200,176,.3); background:rgba(255,255,255,.08)}
.small-title{font-size:.82rem; letter-spacing:.15em; text-transform:uppercase; color:var(--soft); margin:.25rem 0 .8rem}
.feature-grid{grid-template-columns:repeat(3,1fr)}
.light-card{background:rgba(255,255,255,.72); color:var(--dark); border-radius:2rem; padding:1.5rem; border:1px solid rgba(0,0,0,.08)}
.two-col{display:grid; grid-template-columns:.95fr 1.05fr; gap:2rem; align-items:center}
.visual-box{min-height:340px; border-radius:2rem; border:1px solid rgba(255,255,255,.1); background:radial-gradient(circle at 30% 20%, rgba(216,200,176,.16), transparent 25%), radial-gradient(circle at 80% 35%, rgba(90,78,116,.16), transparent 25%), radial-gradient(circle at 45% 80%, rgba(106,143,125,.15), transparent 28%), rgba(255,255,255,.04); display:flex; align-items:center; justify-content:center}
.visual-inner{padding:2rem; text-align:center}
.visual-text{font-size:1.4rem; color:#f3ebdf}
.dark,.dark-copy{color:var(--dark)}
.dark-copy{max-width:42rem}
.resource-grid{grid-template-columns:repeat(2,1fr)}
.small{display:flex; align-items:center; min-height:120px; font-weight:600}
.booking-box{border:1px solid rgba(255,255,255,.1); border-radius:2rem; padding:2rem; background:linear-gradient(135deg, rgba(216,200,176,.12), rgba(255,255,255,.02))}
.chips{display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.5rem}
.chips span{border:1px solid rgba(255,255,255,.14); padding:.6rem 1rem; border-radius:999px; color:#f3ebdf}
.contact-row{display:flex; align-items:center; justify-content:space-between; gap:2rem}
.site-footer{border-top:1px solid rgba(255,255,255,.08); padding:2.5rem 0}
.footer-row{display:flex; align-items:flex-start; justify-content:space-between; gap:2rem}
.footer-links{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:.5rem 2rem; color:#e0d3c4}
@media (max-width: 900px){
  .nav-links{display:none}
  .hero-grid,.two-col,.feature-grid,.contact-row,.footer-row,.section-head{grid-template-columns:1fr; display:grid}
  .worlds-grid{grid-template-columns:1fr 1fr}
  .resource-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 640px){
  .hero{min-height:auto; padding-top:2rem}
  .worlds-grid,.resource-grid,.feature-grid{grid-template-columns:1fr}
  .btn{width:100%}
  .hero-actions{flex-direction:column}
}
