:root{
  --black:#040404; --gold:#c99a3e; --gold2:#e8c66f; --gold3:#f4df9a;
  --cream:#f4ead2; --muted:#c9bea7; --line:rgba(201,154,62,.36);
  --wood1:#1d0f05; --wood2:#3a210e; --wood3:#6d421f;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--cream);font-family:Georgia,"Times New Roman",serif;line-height:1.55}
a{text-decoration:none;color:inherit}

.gate-body{min-height:100vh;background:radial-gradient(circle at 50% 20%,rgba(201,154,62,.18),transparent 28%),linear-gradient(180deg,#090909,#020202 72%,#000)}
.gate-header{padding:22px 6% 0;display:flex;justify-content:center}
.gate-header img{width:300px;max-width:82vw;height:auto;display:block}
.gate-main{min-height:calc(100vh - 110px);display:grid;place-items:center;padding:28px 6% 60px;position:relative}
.gate-main:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(201,154,62,.04) 1px,transparent 1px),linear-gradient(rgba(201,154,62,.03) 1px,transparent 1px);background-size:90px 90px;opacity:.35;mask-image:radial-gradient(circle at center,black,transparent 72%)}
.gate-content{position:relative;z-index:2;text-align:center;width:100%;max-width:1080px}
.door-scene{margin:0 auto 28px;width:min(760px,92vw);min-height:520px;position:relative;display:grid;place-items:end center;perspective:1400px}
.door-frame{position:absolute;inset:0;border:2px solid rgba(244,223,154,.45);border-radius:190px 190px 8px 8px;background:radial-gradient(circle at 50% 8%,rgba(244,223,154,.18),transparent 18%),linear-gradient(90deg,#080808,#1a1008,#080808);box-shadow:0 40px 100px rgba(0,0,0,.7), inset 0 0 55px rgba(0,0,0,.75)}
.massive-door{position:absolute;left:7%;right:7%;bottom:0;top:8%;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border-radius:155px 155px 4px 4px;border:1px solid rgba(201,154,62,.7);box-shadow:inset 0 0 38px rgba(0,0,0,.7)}
.door-half{position:relative;background:linear-gradient(90deg,rgba(0,0,0,.45),rgba(255,255,255,.035),rgba(0,0,0,.35)),repeating-linear-gradient(90deg,var(--wood1) 0,var(--wood2) 18%,var(--wood3) 34%,var(--wood2) 50%,var(--wood1) 68%);border-right:1px solid rgba(244,223,154,.24)}
.door-half.right{border-right:none;border-left:1px solid rgba(244,223,154,.24)}
.door-half:before{content:"";position:absolute;inset:22px;border:1px solid rgba(244,223,154,.22);border-radius:120px 120px 3px 3px}
.door-handle{position:absolute;top:54%;width:18px;height:18px;border-radius:50%;background:var(--gold3);box-shadow:0 0 18px rgba(244,223,154,.45)}
.door-half.left .door-handle{right:22px}.door-half.right .door-handle{left:22px}
.builders-plaque{position:absolute;top:17%;left:50%;transform:translateX(-50%);z-index:5;background:linear-gradient(180deg,var(--gold3),#a86f24);color:#100b04;border:1px solid #f8e5a3;padding:18px 34px;box-shadow:inset 0 2px 0 rgba(255,255,255,.5),0 12px 30px rgba(0,0,0,.55);font-family:Arial,sans-serif;text-transform:uppercase;letter-spacing:.18em;font-weight:900;font-size:clamp(20px,3vw,34px);min-width:min(440px,82vw)}
.gate-title{position:absolute;top:31%;left:50%;transform:translateX(-50%);z-index:5;color:var(--gold2);text-transform:uppercase;letter-spacing:.22em;font-family:Arial,sans-serif;font-size:13px}
.gate-actions{display:flex;flex-direction:column;align-items:center;gap:16px}
.enter-button{display:inline-block;padding:17px 30px;background:linear-gradient(180deg,var(--gold3),var(--gold));color:#070707;text-transform:uppercase;letter-spacing:.12em;font-family:Arial,sans-serif;font-weight:900;border:1px solid #f8e5a3;box-shadow:0 12px 30px rgba(201,154,62,.18)}
.discovery-link{color:var(--gold2);font-family:Arial,sans-serif;text-transform:uppercase;letter-spacing:.11em;font-size:13px;border-bottom:1px solid rgba(232,198,111,.6);padding-bottom:4px}
.gate-footer{position:relative;z-index:2;color:#d7ccb6;font-size:16px;margin-top:22px}

.public-header,.site-header{min-height:92px;padding:14px 5.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#030303}
.public-header img,.site-header img{width:255px;max-height:78px;object-fit:contain;display:block}
.public-nav,.top-actions{display:flex;gap:18px;align-items:center;font-family:Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:12px;color:var(--muted)}
.public-nav a{color:var(--muted)}
.login-pill{background:linear-gradient(180deg,var(--gold3),var(--gold));color:#090909;padding:12px 18px;font-weight:800}

.discovery-hero,.room-hero{padding:78px 6% 58px;text-align:center;background:radial-gradient(circle at center,rgba(201,154,62,.18),transparent 32%),linear-gradient(180deg,#090909,#030303);border-bottom:1px solid var(--line)}
.discovery-hero h1,.room-hero h1{font-size:clamp(42px,5vw,76px);line-height:1;margin:0 0 16px;color:#fff}
.discovery-hero p,.room-hero p{max-width:850px;margin:0 auto;font-size:21px;color:#ded1b7}

.section{padding:64px 6%}
.section-title{text-align:center;max-width:920px;margin:0 auto 38px}
.section-title h2{font-size:clamp(32px,4vw,54px);line-height:1;margin:0 0 12px;color:#fff}
.section-title p{color:var(--muted);font-size:18px;margin:0}

.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1180px;margin:0 auto}
.card{border:1px solid var(--line);background:linear-gradient(145deg,rgba(201,154,62,.1),transparent 42%),rgba(255,255,255,.035);padding:30px;min-height:230px}
.card h3{color:var(--gold2);font-size:28px;margin:0 0 12px}
.card p{color:#d8ceb7;margin:0 0 20px}
.card a{display:inline-block;border:1px solid var(--gold);color:var(--gold2);padding:10px 14px;font-family:Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:12px}

.member-home{position:relative;padding:56px 5.5%;min-height:calc(100vh - 92px);background:radial-gradient(circle at 50% 20%,rgba(201,154,62,.16),transparent 28%),linear-gradient(180deg,#080808,#020202)}
.member-title{text-align:center;max-width:960px;margin:0 auto 36px}
.member-title h1{font-size:clamp(42px,5.4vw,78px);line-height:1;margin:0 0 12px;color:#fff}
.member-title h2{font-family:Arial,sans-serif;text-transform:uppercase;letter-spacing:.22em;color:var(--gold2);font-weight:normal;font-size:18px}
.member-title p{font-size:20px;color:#ded1b7;max-width:760px;margin:0 auto}

.door-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:1280px;margin:0 auto}
.door-card{min-height:300px;border:1px solid rgba(201,154,62,.55);background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.72)),radial-gradient(circle at 50% 32%,rgba(232,198,111,.18),transparent 34%),linear-gradient(90deg,var(--wood1),var(--wood3),var(--wood1));box-shadow:inset 0 0 30px rgba(0,0,0,.65),0 24px 60px rgba(0,0,0,.45);border-radius:125px 125px 6px 6px;padding:30px 16px 18px;display:flex;flex-direction:column;justify-content:space-between;text-align:center;transition:.22s ease}
.door-card:hover{transform:translateY(-5px);border-color:var(--gold3)}
.door-card h3{color:var(--gold3);font-size:24px;line-height:1.05;text-transform:uppercase;letter-spacing:.055em;margin:16px 0 6px}
.door-icon{font-size:34px;color:var(--gold2)}
.brass-plaque{background:linear-gradient(180deg,var(--gold3),#b9812d);color:#120d06;border:1px solid #f7e3a1;padding:10px 8px;font-family:Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em;font-weight:800;font-size:12px;margin:0 auto 12px;width:100%}
.enter-small{display:block;border:1px solid var(--gold);color:var(--gold2);font-family:Arial,sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:.12em;padding:11px 10px;background:rgba(0,0,0,.55)}
.soon .enter-small{background:linear-gradient(180deg,#e2bd65,#ad7d31);color:#090909;font-weight:800}

.footer{padding:38px 6%;text-align:center;border-top:1px solid var(--line);background:#030303;color:#d7ccb6}
.footer h3{color:var(--gold2);text-transform:uppercase;letter-spacing:.16em;font-weight:normal}

.room-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;padding:18px 6%;background:#050505;border-bottom:1px solid var(--line)}
.room-nav a{border:1px solid var(--line);padding:10px 14px;color:var(--gold2);font-family:Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:12px}

.bookshelf{max-width:1280px;margin:0 auto 48px;padding:30px 24px 54px;border:1px solid rgba(201,154,62,.45);background:linear-gradient(90deg,rgba(0,0,0,.45),rgba(255,255,255,.03),rgba(0,0,0,.45)),linear-gradient(180deg,var(--wood3),var(--wood1));box-shadow:inset 0 0 40px rgba(0,0,0,.6),0 28px 70px rgba(0,0,0,.42);position:relative}
.bookshelf:after{content:"";position:absolute;left:0;right:0;bottom:18px;height:22px;background:linear-gradient(180deg,#8a5625,#201005);border-top:1px solid rgba(242,217,139,.35)}
.book-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;position:relative;z-index:2;align-items:end}
.book-card{text-align:center}

.book-cover{
  position:relative;
  overflow:hidden;
  height:260px;
  max-width:182px;
  margin:0 auto 14px;
  padding:18px 14px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:center;
  background:linear-gradient(145deg,rgba(201,154,62,.12),transparent 35%),linear-gradient(180deg,#181818,#030303);
  border:1px solid var(--gold);
  box-shadow:10px 12px 24px rgba(0,0,0,.48),inset 7px 0 12px rgba(255,255,255,.05);
}

.book-cover img{width:72px;max-height:62px;object-fit:contain}
.book-title{font-size:20px;line-height:1.12;color:var(--gold2);font-weight:bold}
.book-cover small{font-family:Arial,sans-serif;text-transform:uppercase;letter-spacing:.14em;font-size:9px;color:#e0d6bd}
.download-btn{display:inline-block;border:1px solid var(--gold);color:var(--gold2);padding:8px 12px;background:#090909;font-family:Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:11px}

/* Visitor Library locked-cover overlay */
.member-locked::after{
  content:"AVAILABLE TO BUILDERS";
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(5,4,3,.72);
  color:#f4d18a;
  font-family:Arial,sans-serif;
  font-size:14px;
  font-weight:bold;
  letter-spacing:2px;
  text-transform:uppercase;
  text-align:center;
  padding:18px;
  z-index:10;
}

/* Builder Membership CTA panel */
.builder-membership{
  padding:80px 20px;
  background:
    radial-gradient(circle at center, rgba(201,154,62,.18), transparent 55%),
    linear-gradient(180deg,#090909,#020202);
}

.membership-panel{
  max-width:900px;
  margin:0 auto;
  padding:50px;
  text-align:center;
  border:1px solid rgba(201,154,62,.45);
  background:linear-gradient(145deg, rgba(201,154,62,.10), rgba(255,255,255,.03));
  box-shadow:0 30px 80px rgba(0,0,0,.55);
}

.membership-panel h2{
  color:#fff;
  font-size:48px;
  margin-bottom:18px;
}

.membership-panel .lead{
  color:#ddd;
  font-size:22px;
  margin-bottom:40px;
}

.membership-features{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
  text-align:left;
  max-width:620px;
  margin:0 auto 40px;
  color:#f4ead2;
  font-size:18px;
}

.membership-price{
  margin:35px 0;
}

.membership-price span{
  font-size:72px;
  color:#f4df9a;
  font-weight:bold;
}

.membership-price small{
  display:block;
  color:#d7ccb6;
  font-size:22px;
}

.builder-join-button{
  display:inline-block !important;
  margin-top:25px !important;
  padding:22px 52px !important;
  background:linear-gradient(180deg,#f4df9a,#b9812d) !important;
  color:#120b04 !important;
  border:2px solid #ffe49a !important;
  border-radius:8px !important;
  font-size:22px !important;
  font-weight:bold !important;
  text-transform:uppercase !important;
  letter-spacing:2px !important;
  text-decoration:none !important;
  box-shadow:0 0 35px rgba(232,198,111,.65) !important;
  transition:.25s !important;
}

.builder-join-button:hover{
  transform:translateY(-3px);
  box-shadow:0 0 55px rgba(232,198,111,.9) !important;
}

.membership-footer{
  margin-top:35px;
  color:#d7ccb6;
  font-size:18px;
}

.reader-hero{padding:42px 6% 28px;text-align:center;background:radial-gradient(circle at center,rgba(201,154,62,.14),transparent 35%),linear-gradient(180deg,#090909,#030303);border-bottom:1px solid var(--line)}
.reader-hero h1{font-size:clamp(34px,4vw,58px);color:#fff;margin:0 0 10px}
.reader-hero p{margin:0;color:#d8ceb7;font-size:18px}
.reader-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;padding:18px 6%;border-bottom:1px solid var(--line);background:#050505}
.reader-actions a{border:1px solid var(--gold);color:var(--gold2);padding:10px 14px;font-family:Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:12px}
.viewer-stage{padding:28px 5%;background:#0a0a0a}
.viewer-frame{width:100%;height:82vh;min-height:720px;border:1px solid var(--line);background:#111;box-shadow:0 24px 70px rgba(0,0,0,.45)}
.video-frame{width:100%;max-width:1180px;display:block;margin:0 auto;border:1px solid var(--line);box-shadow:0 24px 70px rgba(0,0,0,.45);background:#000}
.audio-box{max-width:900px;margin:0 auto;border:1px solid var(--line);background:rgba(255,255,255,.035);padding:35px;text-align:center}
.audio-box audio{width:100%;margin-top:20px}
.soon-page .room-hero{min-height:62vh;display:grid;place-items:center}
.brass-large{display:inline-block;margin-top:24px;background:linear-gradient(180deg,var(--gold3),#b9812d);color:#111;padding:14px 24px;text-transform:uppercase;letter-spacing:.12em;font-family:Arial,sans-serif;font-weight:800}

@media(max-width:1100px){
  .door-grid{grid-template-columns:repeat(2,1fr)}
  .book-grid,.card-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:720px){
  .public-nav{display:none}
  .gate-header img,.public-header img,.site-header img{width:190px}
  .door-scene{min-height:430px}
  .door-grid,.book-grid,.card-grid{grid-template-columns:1fr}
  .builders-plaque{font-size:20px;min-width:70vw;padding:14px 20px}
  .viewer-frame{height:72vh;min-height:520px}
  .membership-features{grid-template-columns:1fr}
  .membership-panel{padding:35px 24px}
  .membership-panel h2{font-size:36px}
  .membership-price span{font-size:56px}
  .builder-join-button{font-size:18px !important;padding:18px 28px !important}
}
