
:root{--night:#09111b;--gold:#ffcc74;--cream:#fff7e9;--mint:#60d8ac;--cyan:#63bfff;--purple:#d8a3ff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--cream);font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;background:var(--night);line-height:1.42}a{color:inherit}a:focus-visible,summary:focus-visible{outline:3px solid white;outline-offset:4px}img{max-width:100%}
.scene{position:relative;isolation:isolate;min-height:100vh;min-height:100svh;background:#251b17}
.scene::before{content:"";position:absolute;inset:0;z-index:-3;background-image:url("safari/scene-01-lodge-panorama.jpg");background-size:cover;background-position:center center;background-repeat:no-repeat;filter:saturate(1.1)}
.scene::after{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(5,12,20,.83) 0%,rgba(8,15,22,.55) 47%,rgba(12,10,14,.20) 90%),linear-gradient(0deg,rgba(4,10,18,.97) 0%,transparent 58%);pointer-events:none}
.page-header{width:100%;display:flex;align-items:center;gap:18px;justify-content:space-between;padding:18px clamp(18px,4vw,68px);background:linear-gradient(180deg,rgba(4,10,16,.84),rgba(4,10,16,.06));position:relative;z-index:5}
.brand{display:flex;gap:12px;align-items:center;text-decoration:none;min-width:0;text-shadow:0 2px 12px #000}
.brand img{height:57px;width:57px;object-fit:contain;flex-shrink:0}.brand strong{display:block;font:600 clamp(22px,2.5vw,31px)/1 Georgia,serif;white-space:nowrap}.brand small{display:block;font-size:10px;font-weight:750;letter-spacing:.19em;color:var(--gold);margin-top:5px}
.site-nav{display:flex;align-items:center;gap:clamp(12px,1.9vw,28px)}.site-nav a{text-decoration:none;font-weight:750;padding:13px 4px;font-size:15px}.site-nav a:hover{text-decoration:underline;text-underline-offset:6px}.site-nav a.join{background:var(--gold);border-radius:25px;color:#21160a;padding:11px 19px;white-space:nowrap}
.mobile-nav{display:none}.mobile-nav summary{list-style:none;cursor:pointer;border:1px solid #ffe3ad;border-radius:12px;padding:10px 14px;font-weight:800;background:#172132}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav[open] .menu-links{position:absolute;right:16px;top:70px;min-width:210px;z-index:10;background:#102036;box-shadow:0 15px 35px #0009;border:1px solid #ffe3ad;border-radius:12px;padding:12px;display:grid;gap:5px}.mobile-nav a{padding:11px 13px;font-weight:750;text-decoration:none;border-radius:8px}.mobile-nav a:hover{background:#ffffff25}
.home-main{max-width:1510px;margin:auto;padding:30px clamp(20px,5vw,78px) 42px;min-height:calc(100svh - 90px);display:flex;flex-direction:column;justify-content:space-between;gap:28px}
.hero{max-width:650px;padding:clamp(22px,3.5vh,52px) 0 0}.eyebrow{color:var(--gold);font-size:12px;letter-spacing:.24em;font-weight:850;text-transform:uppercase;margin:0 0 17px}.hero h1{font:500 clamp(42px,5.3vw,79px)/1.015 Georgia,"Times New Roman",serif;letter-spacing:-.027em;margin:0;max-width:13ch;text-shadow:0 3px 18px #090908aa}.hero h1 em{color:var(--gold);font-style:normal}.hero p.subtitle{margin:19px 0 21px;font-size:clamp(17px,1.55vw,22px);max-width:46ch;text-shadow:0 2px 14px black}.actions{display:flex;gap:12px;flex-wrap:wrap}.cta{display:inline-flex;align-items:center;justify-content:center;gap:18px;border-radius:32px;min-height:53px;padding:12px 23px;font-weight:850;text-decoration:none}.cta.primary{color:#211503;background:linear-gradient(120deg,#ffe097,#ffbb4c);box-shadow:0 8px 30px #b9651566}.cta.outline{border:2px solid #f9ddaa;background:#061222be;color:#fff7e9}.cta:hover,.portal:hover,.option-link:hover{transform:translateY(-2px)}
.portals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.portal{min-height:190px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;text-decoration:none;gap:7px;padding:22px;border:1px solid var(--accent);border-radius:20px;background:linear-gradient(155deg,rgba(8,29,44,.48),rgba(4,9,18,.91));box-shadow:inset 0 0 35px var(--glow),0 10px 24px #0008;transition:transform .18s ease}.portal .picon{display:grid;place-items:center;width:49px;height:49px;border-radius:50%;border:2px solid var(--accent);font-size:24px;color:var(--accent);background:#07121bba}.portal h2{font-size:clamp(21px,2vw,28px);line-height:1.1;margin:5px 0 0}.portal p{font-size:14px;line-height:1.4;margin:0;color:#f8ecdc}.portal span.go{margin-top:8px;font-weight:850;color:var(--accent);font-size:14px}
.portal.learn{--accent:#69d4a1;--glow:#0b7c6140}.portal.try{--accent:#63bfff;--glow:#135cb64a}.portal.help{--accent:#ffce6b;--glow:#b97c1740}.portal.continue{--accent:#d6a5ff;--glow:#7e3c9f52}
.home-footer{max-width:1510px;margin:auto;padding:8px clamp(20px,5vw,78px) 24px;color:#ffebca;font-size:13px;display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap;background:#09111b}
.room-scene::after{background:linear-gradient(90deg,#050e19eb 0%,#07131fd0 50%,#10101855 100%),linear-gradient(0deg,#070f19ee,transparent 65%)}.room-scene{display:flex;flex-direction:column}.room-main{width:min(1100px,100%);margin:auto;flex:1;display:flex;align-items:center;padding:25px clamp(18px,6vw,68px) 55px}.room-panel{width:min(610px,100%);border:1px solid #ecc67d80;border-radius:24px;background:linear-gradient(135deg,#0b1724ea,#0a1320e3);box-shadow:0 30px 75px #0008;padding:clamp(25px,4vw,45px)}.room-panel h1{font:500 clamp(42px,6vw,76px)/1.04 Georgia,serif;margin:0 0 10px}.room-panel .room-sub{font-size:clamp(17px,1.6vw,20px);margin:0 0 20px;color:#ffecd5}.room-panel .intro-desc{color:#fff3df;max-width:42ch;margin:0 0 25px;font-size:16px;line-height:1.6}.options{display:grid;gap:11px}.option-link{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:58px;border:1px solid #efc37f9c;background:#ffffff0d;border-radius:13px;padding:13px 16px;text-decoration:none;font-weight:780;transition:transform .18s ease,background .18s ease}.option-link:hover{background:#ffce6940}.option-link span:last-child{color:var(--gold);font-size:22px}.back{display:inline-flex;min-height:46px;align-items:center;margin-top:24px;color:var(--gold);font-weight:800;text-underline-offset:5px}.room-next{font-size:13px;letter-spacing:.03em;margin:23px 0 0;color:#f1d9b4}.room-footer{font-size:12px;color:#f1d9b4;padding:15px clamp(18px,6vw,68px);background:#09111b}
@media(max-width:950px){.site-nav{gap:11px}.site-nav a{font-size:13px}.site-nav a.join{padding:10px 13px}.brand img{width:47px;height:47px}.brand strong{font-size:22px}.brand small{font-size:9px}.home-main{padding-top:12px}.portals{gap:11px}.portal{padding:16px;min-height:175px}}
@media(max-width:700px){.site-nav{display:none}.mobile-nav{display:block}.page-header{padding:12px 16px}.brand img{width:46px;height:46px}.brand strong{font-size:22px}.brand small{font-size:8px;letter-spacing:.1em}.scene::before{background-position:58% center}.scene::after{background:linear-gradient(180deg,#06121b8c 0%,#07142191 27%,#081521bf 53%,#050e18ed 100%)}.home-main{min-height:calc(100svh - 70px);justify-content:flex-start;gap:28px;padding:24px 18px 32px}.hero{padding-top:15px}.eyebrow{font-size:11px;letter-spacing:.16em;margin-bottom:14px}.hero h1{font-size:clamp(37px,8.9vw,53px);max-width:14ch}.hero p.subtitle{font-size:16px;line-height:1.55;margin:15px 0 19px}.cta{min-height:52px;font-size:14px;padding:11px 17px}.portals{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.portal{min-height:174px;padding:16px}.portal h2{font-size:21px}.portal p{font-size:13px}.portal .picon{width:42px;height:42px;font-size:21px}.portal span.go{font-size:12px}.room-main{padding:20px 14px 35px;align-items:flex-start}.room-panel{padding:24px 20px}.room-panel h1{font-size:48px}.room-panel .room-sub{font-size:17px}.home-footer{padding:17px}}
@media(max-width:380px){.brand strong{font-size:19px}.brand img{width:40px;height:40px}.brand small{font-size:7px}.hero h1{font-size:37px}.portal{padding:12px;min-height:172px}.portals{gap:9px}.cta{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.portal,.cta,.option-link{transition:none!important}.cta:hover,.portal:hover,.option-link:hover{transform:none}}
