:root {
  --black: #060504;
  --black-2: #0d0a07;
  --panel: #151008;
  --panel-2: #1b140c;
  --paper: #ffffff;
  --cream: #ffffff;
  --dim: #f4f4f4;
  --gold: #b98a3e;
  --bright-gold: #e1bc72;
  --bronze: #745026;
  --oxblood: #4a1716;
  --green: #20352c;
  --line: rgba(185,138,62,.34);
  --serif: Georgia, "Times New Roman", serif;
  --sans: Arial, Helvetica, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--black); }
body { margin: 0; color: var(--paper); background: var(--black); font-family: var(--serif); }
body::before { content: ""; position: fixed; inset: 0; z-index: -1; background: radial-gradient(circle at 15% 25%, rgba(74,23,22,.14), transparent 32%), radial-gradient(circle at 88% 68%, rgba(32,53,44,.11), transparent 30%), repeating-linear-gradient(90deg, rgba(255,255,255,.009) 0 1px, transparent 1px 5px), #060504; }
button,input,select,textarea { font: inherit; }
button { cursor: pointer; }
img { max-width: 100%; }
main { min-height: 100vh; overflow: clip; }
.sr-only { width:1px !important; height:1px !important; padding:0 !important; position:absolute !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }

.film-grain { position: fixed; inset: 0; z-index: 900; opacity: .045; pointer-events: none; mix-blend-mode: soft-light; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.87' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E"); }
.site-fog,.ember-field { position:fixed; inset:0; overflow:hidden; pointer-events:none; }
.site-fog { z-index:40; mix-blend-mode:screen; }
.site-fog i { width:clamp(240px,24vw,480px); height:clamp(460px,58vw,900px); position:absolute; left:2%; bottom:-65%; opacity:0; border-radius:48%; filter:blur(34px); background:radial-gradient(ellipse at 50% 76%,rgba(241,235,220,.14),rgba(205,199,186,.055) 40%,transparent 73%); animation:site-fog-rise 19s ease-in-out infinite; transform-origin:50% 100%; }
.site-fog i:nth-child(2) { left:15%; width:330px; animation-delay:-13s; animation-duration:23s; }
.site-fog i:nth-child(3) { left:29%; width:410px; animation-delay:-7s; animation-duration:26s; }
.site-fog i:nth-child(4) { left:43%; width:290px; animation-delay:-18s; animation-duration:21s; }
.site-fog i:nth-child(5) { left:56%; width:470px; animation-delay:-10s; animation-duration:29s; }
.site-fog i:nth-child(6) { left:68%; width:310px; animation-delay:-21s; animation-duration:25s; }
.ground-fog { height:34vh; position:fixed; left:-15vw; right:-15vw; bottom:-14vh; z-index:39; pointer-events:none; opacity:.26; filter:blur(38px); background:radial-gradient(ellipse at 20% 80%,rgba(230,225,214,.18),transparent 46%),radial-gradient(ellipse at 75% 75%,rgba(221,215,202,.14),transparent 48%); animation:ground-fog-drift 17s ease-in-out infinite alternate; }
@keyframes site-fog-rise { 0% { opacity:0; transform:translate3d(-20px,120px,0) scale(.5) rotate(-7deg); } 14% { opacity:.34; } 62% { opacity:.16; transform:translate3d(34px,-58vh,0) scale(1.25) rotate(10deg); } 100% { opacity:0; transform:translate3d(-28px,-118vh,0) scale(1.78) rotate(-5deg); } }
@keyframes ground-fog-drift { from { transform:translate3d(-7vw,0,0) scale(1); } to { transform:translate3d(8vw,-3vh,0) scale(1.08); } }
.ember-field { z-index:43; opacity:.7; }
.ember-field i { width:3px; height:3px; position:absolute; left:8%; bottom:-12px; border-radius:50%; background:#ffc35d; box-shadow:0 0 7px 2px rgba(232,133,32,.58); opacity:0; animation:ember-float 13s linear infinite; }
.ember-field i:nth-child(2) { left:15%; animation-delay:-5s; animation-duration:17s; }.ember-field i:nth-child(3) { left:23%; animation-delay:-11s; animation-duration:15s; }.ember-field i:nth-child(4) { left:31%; animation-delay:-2s; animation-duration:19s; }.ember-field i:nth-child(5) { left:39%; animation-delay:-8s; animation-duration:14s; }.ember-field i:nth-child(6) { left:47%; animation-delay:-14s; animation-duration:20s; }.ember-field i:nth-child(7) { left:55%; animation-delay:-4s; animation-duration:16s; }.ember-field i:nth-child(8) { left:63%; animation-delay:-9s; animation-duration:18s; }.ember-field i:nth-child(9) { left:71%; animation-delay:-1s; animation-duration:14s; }.ember-field i:nth-child(10) { left:79%; animation-delay:-12s; animation-duration:21s; }.ember-field i:nth-child(11) { left:87%; animation-delay:-6s; animation-duration:16s; }.ember-field i:nth-child(12) { left:93%; animation-delay:-15s; animation-duration:22s; }.ember-field i:nth-child(13) { left:34%; animation-delay:-17s; animation-duration:23s; }.ember-field i:nth-child(14) { left:67%; animation-delay:-3s; animation-duration:17s; }
@keyframes ember-float { 0% { opacity:0; transform:translate3d(0,4vh,0) scale(.55); } 10% { opacity:.72; } 48% { transform:translate3d(26px,-48vh,0) scale(1); } 78% { opacity:.4; } 100% { opacity:0; transform:translate3d(-20px,-104vh,0) scale(.35); } }
.cipher-bar { height: 26px; position: fixed; inset: 0 0 auto; z-index: 310; padding: 0 22px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(185,138,62,.24); color: #7d6b4b; background: #030302; font: 7px/1 var(--sans); letter-spacing: .24em; }
.cipher-bar b { color: #c09a58; font-weight: 400; }
.site-header { height: 94px; position: fixed; inset: 26px 0 auto; z-index: 300; border-bottom: 1px solid rgba(185,138,62,.4); background: rgba(5,4,3,.94); backdrop-filter: blur(18px); }
.header-inner { width: min(1600px,calc(100% - 36px)); height: 100%; margin: auto; display: grid; grid-template-columns: 1fr 154px 1fr 58px; align-items: center; gap: clamp(18px,2.7vw,48px); }
.brand-button { width: 154px; height: 88px; padding: 5px 0; border: 0; background: transparent; }
.brand-button img { width: 100%; height: 100%; object-fit: contain; filter: sepia(.12) brightness(1.03); }
nav { display: flex; justify-content: flex-end; gap: clamp(12px,1.55vw,26px); }
nav.right-nav { justify-content: flex-start; }
nav a { padding: 35px 0 30px; position: relative; border: 0; color: #bcae91; background: transparent; font: 8px/1 var(--sans); letter-spacing: .18em; text-decoration: none; white-space: nowrap; }
nav a::after { content: ""; position: absolute; left: 50%; right: 50%; bottom: 24px; height: 1px; background: var(--bright-gold); transition: .25s ease; }
nav a:hover,nav a.active { color: #f3dfb8; }
nav a:hover::after,nav a.active::after { left: 0; right: 0; }
.door-button { width: 50px; height: 60px; padding: 7px 4px; display: grid; grid-template-columns: 8px 1fr; align-items: center; border: 1px solid var(--line); color: #c9af77; background: #0d0a07; font: 6px/1.45 var(--sans); letter-spacing: .14em; text-align: left; text-decoration: none; }
.door-button i { width: 6px; height: 6px; border-radius: 50%; background: #9d2a21; box-shadow: 0 0 10px #d94132; animation: signal-blink 2.4s ease-in-out infinite; }
.header-reserve { display: none; }
.menu-button { display: none; }

.hero { height: min(920px,96vh); min-height: 760px; position: relative; display: flex; align-items: flex-end; isolation: isolate; overflow: hidden; border-bottom: 1px solid var(--line); }
.hero > img { position: absolute; inset: -8% 0; z-index: -4; width: 100%; height: 116%; object-fit: cover; filter: saturate(1.05) contrast(1.03) brightness(1.03); transform:translate3d(0,var(--parallax-shift,0px),0) scale(1.045); transition:transform .08s linear; will-change:transform; }
.clean-hero { height:min(920px,100svh); min-height:650px; background:#030302; }
.clean-hero > img { inset:0; width:100%; height:100%; object-fit:cover; object-position:center center !important; transform:translate3d(0,var(--parallax-shift,0px),0) scale(1.04); }
.clean-hero .hero-vignette,.clean-hero .film-scratches { display:none; }
.clean-hero .smoke-layer { z-index:-1; opacity:.95; }
.clean-hero .smoke-layer i { width:clamp(210px,21vw,390px); height:clamp(340px,40vw,690px); bottom:-54%; filter:blur(29px); background:radial-gradient(ellipse at 50% 76%,rgba(245,239,227,.24),rgba(215,207,192,.09) 40%,transparent 73%); }
.hero-vignette { position: absolute; inset: 0; z-index: -3; background: linear-gradient(90deg,rgba(4,3,2,.8) 0%,rgba(4,3,2,.37) 43%,rgba(4,3,2,.03) 73%),linear-gradient(0deg,rgba(4,3,2,.74) 0%,transparent 45%),linear-gradient(180deg,rgba(4,3,2,.24),transparent 30%); }
.film-scratches { position: absolute; inset: 0; z-index: -2; opacity: .09; pointer-events: none; background: repeating-linear-gradient(90deg,transparent 0 10%,rgba(255,235,198,.08) 10.06%,transparent 10.12% 28%); }
.hero-file { position: absolute; top: 150px; left: clamp(20px,3vw,54px); display: flex; flex-direction: column; gap: 7px; color: #9a8460; font: 7px/1 var(--sans); letter-spacing: .22em; }
.hero-file::before { content: ""; width: 52px; height: 1px; margin-bottom: 4px; background: var(--gold); }
.hero-copy { width: min(1500px,calc(100% - 96px)); margin: 0 auto; padding: 0 0 clamp(82px,9vw,135px); position: relative; }
.hero-copy.align-right { display:flex; flex-direction:column; align-items:flex-end; text-align:right; }
.hero-copy.align-right .classified { margin-left:auto; }
.hero-art-actions { position:absolute; right:clamp(20px,3.4vw,58px); bottom:clamp(25px,3.3vw,50px); z-index:4; padding:14px 16px 17px; display:grid; justify-items:end; gap:12px; border:1px solid rgba(225,188,114,.34); background:rgba(4,3,2,.76); box-shadow:0 15px 45px rgba(0,0,0,.45); backdrop-filter:blur(12px); }
.hero-art-actions > span { color:#9f8558; font:7px/1 var(--sans); letter-spacing:.2em; }
.hero-art-actions > div { display:flex; align-items:center; gap:18px; }
.art-hero .hero-vignette { background:linear-gradient(0deg,rgba(3,2,2,.42),transparent 28%),linear-gradient(180deg,rgba(3,2,2,.18),transparent 25%); }
.art-hero > img { transform:translate3d(0,var(--parallax-shift,0px),0) scale(1.045); }
.classified { width: max-content; max-width: 100%; margin: 0 0 21px; padding: 8px 11px 7px; border: 1px solid rgba(185,138,62,.36); color: #b79a66; background: rgba(8,6,4,.55); font: 7px/1 var(--sans) !important; letter-spacing: .22em; text-transform: uppercase; }
.eyebrow { margin: 0 0 16px; color: var(--bright-gold); font: 8px/1.4 var(--sans) !important; letter-spacing: .28em; text-transform: uppercase; }
.eyebrow::before { content: "◆"; margin-right: 14px; color: var(--gold); font-size: 6px; }
.hero h1 { max-width: 950px; margin: 0 0 23px; color: #f2e3c6; font: 400 clamp(54px,5.65vw,100px)/.94 var(--serif); letter-spacing: -.025em; text-wrap: balance; text-shadow: 0 4px 30px #000; }
.hero-text { max-width: 650px; margin: 0; color: #d5c5a8; font: italic 400 clamp(17px,1.45vw,23px)/1.65 var(--serif); }
.hero-actions { margin-top: 34px; display: flex; gap: 21px; align-items: center; flex-wrap: wrap; }
.seal-button { min-height: 52px; padding: 0 25px; position: relative; overflow:hidden; border: 1px solid #ffe09a; color: #171006; background: linear-gradient(112deg,#4e2c05 0%,#a96d13 9%,#ffe9a2 24%,#b87817 39%,#fff0b3 50%,#94600f 64%,#e8bc57 80%,#5b3507 100%); background-size:190% 100%; box-shadow: inset 0 1px 0 rgba(255,255,255,.72),inset 0 -2px 0 rgba(64,34,0,.55),inset 0 0 0 3px rgba(84,48,7,.23),0 8px 0 #4a2a06,0 16px 32px rgba(0,0,0,.45); text-shadow:0 1px 0 rgba(255,235,164,.55); font: 700 8px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; transition: .25s ease; animation:metal-glint 7s ease-in-out infinite; }
.seal-button::before,.seal-button::after { content: "◆"; padding: 0 8px; font-size: 5px; }
.seal-button:hover { transform: translateY(-3px); filter: brightness(1.14) saturate(1.12); box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 -2px 0 rgba(64,34,0,.55),inset 0 0 0 3px rgba(84,48,7,.23),0 10px 0 #4a2a06,0 20px 38px rgba(0,0,0,.52); }
.seal-button:active { transform:translateY(4px); box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 0 0 3px rgba(84,48,7,.3),0 3px 0 #4a2a06,0 8px 18px rgba(0,0,0,.38); }
@keyframes metal-glint { 0%,32%,100% { background-position:0 0; } 44%,58% { background-position:100% 0; } }
.line-button { min-height: 40px; padding: 0 0 7px; border: 0; border-bottom: 1px solid var(--gold); color: #d4bd8b; background: transparent; font: 700 8px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; }
.line-button span { margin-left: 11px; }
.hero-coordinates { position: absolute; right: clamp(24px,3.5vw,60px); bottom: 55px; display: flex; align-items: center; gap: 12px; color: #7b6b51; font: 7px/1 var(--sans); letter-spacing: .18em; writing-mode: vertical-rl; }
.hero-coordinates i { color: var(--gold); font-style: normal; font-size: 5px; }
.door-signal { width: 18px; height: 18px; position: absolute; top: 25%; left: 50%; z-index: 3; border: 2px solid #8f6c36; border-radius: 50%; background: #cd3c29; box-shadow: 0 0 10px 4px #d3422f,0 0 30px 15px rgba(194,52,37,.55),0 0 70px 30px rgba(194,52,37,.18); animation: signal-blink 2.4s ease-in-out infinite; }
@keyframes signal-blink { 0%,42%,100% { opacity:.32; filter:brightness(.65); } 48%,76% { opacity:1; filter:brightness(1.4); } }
.smoke-layer { position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none; }
.smoke-layer i { width:clamp(150px,17vw,310px); height:clamp(260px,31vw,560px); position:absolute; left:14%; bottom:-45%; opacity:0; filter:blur(24px); border-radius:50%; background:radial-gradient(ellipse at 50% 72%,rgba(244,237,221,.2),rgba(218,210,194,.08) 38%,transparent 72%); animation:smoke-rise 12s ease-in-out infinite; transform-origin:50% 100%; }
.smoke-layer i:nth-child(2) { left:34%; width:190px; animation-delay:-8s; animation-duration:15s; }
.smoke-layer i:nth-child(3) { left:55%; width:250px; animation-delay:-4s; animation-duration:18s; }
.smoke-layer i:nth-child(4) { left:72%; width:175px; animation-delay:-11s; animation-duration:14s; }
.smoke-layer i:nth-child(5) { left:88%; width:210px; animation-delay:-6s; animation-duration:17s; }
@keyframes smoke-rise { 0% { opacity:0; transform:translate3d(-18px,80px,0) scale(.55) rotate(-8deg); } 18% { opacity:.2; } 58% { opacity:.13; transform:translate3d(24px,-280px,0) scale(1.15) rotate(9deg); } 100% { opacity:0; transform:translate3d(-22px,-620px,0) scale(1.65) rotate(-4deg); } }

.page-content { animation: page-reveal .65s ease both; }
@keyframes page-reveal { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
.deco-rule { min-height: 82px; padding: 20px max(20px,calc((100vw - 1500px)/2)); display: grid; grid-template-columns: 1fr auto auto auto 1fr; align-items: center; gap: 17px; border-bottom: 1px solid rgba(185,138,62,.15); color: #796545; background: #090704; }
.deco-rule > span { height: 1px; background: linear-gradient(90deg,transparent,var(--bronze)); }
.deco-rule > span:last-child { transform:scaleX(-1); }
.deco-rule b { color: var(--gold); font-size: 6px; }
.deco-rule em { font: normal 7px/1 var(--sans); letter-spacing: .25em; text-align: center; }
.section-heading { max-width: 700px; }
.section-heading.center { margin: 0 auto; text-align: center; }
.section-heading h2,.knock-copy h2,.rules-title h2,.oath-section blockquote,.entry-notice h2 { margin: 12px 0 22px; color: var(--cream); font: 400 clamp(40px,4.45vw,74px)/.98 var(--serif); letter-spacing: -.025em; text-wrap: balance; }
.section-heading > p:last-child { margin: 0; color: var(--dim); font: 400 clamp(16px,1.32vw,20px)/1.72 var(--serif); }

.knock-section { min-height: 760px; display: grid; grid-template-columns: 1fr 1fr; background: radial-gradient(circle at 18% 50%,rgba(74,23,22,.17),transparent 36%),#0a0805; border-bottom: 1px solid rgba(185,138,62,.18); }
.knock-copy { padding: clamp(70px,9vw,150px) max(40px,8vw); display: flex; flex-direction: column; justify-content: center; }
.knock-copy .section-heading h2 { font-size: clamp(42px,4.5vw,74px); }
.door-frame { min-height: 760px; position: relative; overflow: hidden; border-left: 1px solid var(--line); }
.door-frame::after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 0 140px 45px rgba(0,0,0,.72); pointer-events:none; }
.door-frame img { width: 100%; height: 100%; object-fit: cover; filter:saturate(1.03) contrast(1.04) brightness(1.04); }
.door-frame > span { position: absolute; right: 24px; bottom: 28px; z-index: 2; color: #99825a; font: 7px/1 var(--sans); letter-spacing: .21em; writing-mode: vertical-rl; }
.blinking-lamp { width: 17px; height: 17px; position: absolute; top: 6.5%; right: 3.5%; z-index: 4; border: 2px solid #d1ac55; border-radius: 50%; background: #e34b31; box-shadow: 0 0 14px 5px #e85b3e,0 0 40px 19px rgba(205,65,47,.46); animation:signal-blink 2s ease-in-out infinite; }
.door-smoke { z-index:3; opacity:.45; }
.knock-meter { margin: 35px 0 25px; display: flex; gap: 9px; }
.knock-meter span { width: 48px; height: 44px; display: grid; place-items:center; border: 1px solid #332719; color: #56452f; font: 9px/1 var(--sans); transition:.2s ease; }
.knock-meter span.hit { border-color:var(--gold); color:var(--bright-gold); background:rgba(185,138,62,.1); box-shadow:inset 0 0 16px rgba(185,138,62,.08); }
.knock-copy .seal-button { align-self:flex-start; }

.department-section,.dispatch-section,.ledger-section,.reading-room,.profile-ledger,.reservation-file,.contact-file,.entry-file,.member-directory { padding: clamp(90px,10vw,155px) max(30px,calc((100vw - 1500px)/2)); }
.department-section { background: #070604; }
.department-grid { margin-top:58px; display:grid; grid-template-columns:repeat(3,1fr); }
.department-grid a { min-height:500px; padding:0; display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; overflow:hidden; position:relative; border:1px solid rgba(185,138,62,.25); margin:-1px 0 0 -1px; color:var(--paper); background:linear-gradient(145deg,#151008,#090704); text-align:center; text-decoration:none; transition:.3s ease; }
.department-grid a:hover { background:linear-gradient(145deg,#25170b,#0b0805); transform:translateY(-6px); box-shadow:0 24px 60px #000; z-index:2; }
.card-visual { width:100%; height:180px; display:block; object-fit:cover; filter:saturate(1.04) contrast(1.03); transition:transform .55s ease,filter .4s ease; }
.card-body { flex:1; padding:30px; position:relative; }
.department-grid a:hover .card-visual,.rules-grid article:hover .card-visual,.parlor-grid article:hover .card-visual,.profile-ledger article:hover .card-visual { transform:scale(1.045); filter:saturate(1.12) contrast(1.05) brightness(1.08); }
.department-grid small { color:#8c754c; font:7px/1 var(--sans); letter-spacing:.22em; }
.deco-mark { margin:24px 0 15px; display:block; color:var(--gold); font-size:35px; }
.department-grid h3 { margin:0 0 17px; font:400 38px/1 var(--serif); text-transform:uppercase; }
.department-grid p { max-width:340px; margin:0 0 35px; color:var(--dim); font:italic 400 16px/1.65 var(--serif); }
.department-grid b { color:var(--bright-gold); font:7px/1 var(--sans); letter-spacing:.2em; }

.rules-section { padding:clamp(85px,9vw,140px) max(30px,calc((100vw - 1500px)/2)); display:grid; grid-template-columns:.72fr 1.28fr; gap:70px; background:#100b06; border-block:1px solid rgba(185,138,62,.16); }
.rules-title > p { color:var(--gold); font:8px/1 var(--sans); letter-spacing:.24em; }
.rules-title h2 { font-size:clamp(35px,3.4vw,57px); }
.rules-grid { display:grid; grid-template-columns:repeat(2,1fr); }
.rules-grid article { min-height:310px; padding:0; overflow:hidden; border:1px solid rgba(185,138,62,.2); margin:-1px 0 0 -1px; background:#0c0805; }
.rules-grid .card-visual { height:125px; }
.rules-grid .card-body { padding:24px; }
.rules-grid small,.parlor-grid small { color:var(--gold); font:8px/1 var(--sans); letter-spacing:.2em; }
.rules-grid h3,.parlor-grid h3,.profile-ledger h3 { margin:20px 0 12px; font:400 26px/1 var(--serif); text-transform:uppercase; }
.rules-grid p,.parlor-grid p,.profile-ledger p { margin:0; color:var(--dim); font:400 15px/1.58 var(--serif); }

.dispatch-section { background:#070604; }
.dispatch-head { display:flex; align-items:flex-end; justify-content:space-between; gap:45px; margin-bottom:55px; }
.dispatch-list { border-top:1px solid var(--line); }
.dispatch-list article { min-height:135px; padding:18px 14px; display:grid; grid-template-columns:120px 90px minmax(220px,.8fr) minmax(280px,1.2fr) auto; gap:24px; align-items:center; border-bottom:1px solid rgba(185,138,62,.17); }
.dispatch-visual { width:120px; height:84px; display:block; object-fit:cover; border:1px solid rgba(224,185,105,.35); filter:saturate(1.04) contrast(1.03); }
.dispatch-list article > div { display:flex; align-items:center; gap:20px; }
.dispatch-list small { color:#685539; font:8px/1 var(--sans); }
.dispatch-list b { color:var(--bright-gold); font:9px/1 var(--sans); letter-spacing:.2em; }
.dispatch-list h3 { margin:0; font:400 27px/1.1 var(--serif); }
.dispatch-list p { margin:0; color:var(--dim); font:italic 400 15px/1.55 var(--serif); }
.dispatch-list article > button,.price-grid .price-card-body > button,.full-dispatch article > button { padding:10px 0; border:0; border-bottom:1px solid var(--gold); color:#c6a66a; background:transparent; font:700 7px/1 var(--sans); letter-spacing:.18em; }

.ledger-section { background:radial-gradient(circle at 50% 0,rgba(74,23,22,.18),transparent 32%),#0e0a06; border-block:1px solid rgba(185,138,62,.18); }
.ledger-heading { margin-bottom:55px; text-align:center; }
.ledger-heading .classified { margin-right:auto; margin-left:auto; }
.price-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.price-grid article { min-height:670px; padding:0; overflow:hidden; position:relative; border:1px solid rgba(185,138,62,.25); margin:-1px 0 0 -1px; background:linear-gradient(145deg,#171008,#090704); }
.price-grid article.featured { background:linear-gradient(145deg,#2c190b,#0c0805); box-shadow:inset 0 0 0 4px rgba(185,138,62,.09); }
.price-visual { width:100%; height:190px; display:block; object-fit:cover; border-bottom:1px solid rgba(185,138,62,.35); filter:saturate(1.04) contrast(1.02); }
.price-card-body { padding:32px 38px 38px; }
.price-seal { width:58px; height:58px; display:grid; place-items:center; border:1px solid var(--gold); border-radius:50%; box-shadow:inset 0 0 0 4px #151008,inset 0 0 0 5px rgba(185,138,62,.4); color:var(--bright-gold); }
.price-seal span { font:400 19px/1 var(--serif); }
.price-grid small { margin-top:24px; display:block; color:#806b49; font:7px/1 var(--sans); letter-spacing:.19em; }
.price-grid h3 { margin:15px 0 4px; font:400 29px/1.1 var(--serif); text-transform:uppercase; }
.price-grid .price { margin:0 0 25px; color:var(--bright-gold); font:400 45px/1 var(--serif); }
.price-card-body > p:not(.price) { min-height:50px; color:var(--dim); font:italic 400 15px/1.55 var(--serif); }
.price-grid ul { min-height:115px; margin:25px 0; padding:0; list-style:none; }
.price-grid li { padding:9px 0; border-bottom:1px solid rgba(185,138,62,.13); color:#b6a483; font:400 13px/1.45 var(--serif); }
.price-grid li::before { content:"◆"; margin-right:9px; color:var(--gold); font-size:5px; }
.recommended { position:absolute; top:25px; right:-31px; padding:8px 34px; color:#1a1108; background:var(--bright-gold); font:7px/1 var(--sans); letter-spacing:.15em; transform:rotate(45deg); }
.ledger-note { max-width:780px; margin:35px auto 0; color:#76664e; font:italic 400 12px/1.6 var(--serif); text-align:center; }
.ledger-section.compact .price-grid article { min-height:650px; }

.closing-invitation { min-height:290px; padding:55px max(30px,calc((100vw - 1500px)/2)); display:flex; align-items:center; justify-content:center; gap:clamp(16px,2.4vw,40px); border-bottom:1px solid var(--line); background:radial-gradient(circle at center,#2b190c,#080604 68%); }
.closing-invitation p { margin:0; font:400 clamp(20px,2.2vw,36px)/1 var(--serif); }
.closing-invitation > span { color:var(--gold); font-size:7px; }
.closing-invitation i { color:#8d7147; font:normal 7px/1 var(--sans); letter-spacing:.2em; }
.closing-invitation .seal-button { margin-left:20px; }

.photo-interlude { min-height:640px; position:relative; display:grid; place-items:center; overflow:hidden; border-block:1px solid var(--line); background-position:center; background-size:cover; background-attachment:fixed; }
.photo-interlude::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,3,2,.86),rgba(4,3,2,.24) 58%,rgba(4,3,2,.58)),linear-gradient(0deg,rgba(4,3,2,.67),transparent 55%); }
.photo-interlude > div { width:min(1320px,calc(100% - 60px)); position:relative; z-index:1; }
.photo-interlude h2 { max-width:760px; margin:14px 0 18px; color:var(--cream); font:400 clamp(48px,6vw,96px)/.93 var(--serif); letter-spacing:-.03em; text-shadow:0 4px 30px #000; }
.photo-interlude span { color:#c6b493; font:italic 400 18px/1.5 var(--serif); }

.split-record { width:min(1500px,calc(100% - 80px)); margin:0 auto; padding:clamp(95px,11vw,170px) 0; display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(55px,8vw,130px); align-items:center; }
.split-record.reverse .framed-image { order:2; }
.framed-image { min-height:650px; margin:0; padding:13px; position:relative; border:1px solid var(--line); background:#120d08; box-shadow:0 25px 70px rgba(0,0,0,.5); }
.framed-image::before,.framed-image::after { content:""; position:absolute; width:35px; height:35px; z-index:2; border-color:var(--bright-gold); border-style:solid; }
.framed-image::before { top:5px; left:5px; border-width:1px 0 0 1px; }
.framed-image::after { right:5px; bottom:5px; border-width:0 1px 1px 0; }
.framed-image img { width:100%; height:100%; min-height:620px; display:block; object-fit:cover; filter:saturate(.82) sepia(.1) contrast(1.03); }
.framed-image figcaption { position:absolute; left:28px; right:28px; bottom:26px; display:flex; align-items:center; justify-content:space-between; color:#c4a86f; font:7px/1 var(--sans); letter-spacing:.17em; }
.framed-image figcaption span,.framed-image figcaption b { padding:9px 11px; background:rgba(6,5,4,.78); backdrop-filter:blur(6px); }
.record-copy > .line-button,.record-copy > .seal-button { margin-top:32px; }
.record-facts { margin-top:42px; padding-top:27px; display:grid; grid-template-columns:repeat(3,1fr); gap:15px; border-top:1px solid var(--line); }
.record-facts span { color:#74644d; font:7px/1.45 var(--sans); letter-spacing:.13em; }
.record-facts b { margin-bottom:8px; display:block; color:var(--bright-gold); font:400 24px/1 var(--serif); }

.parlor-grid { padding:clamp(90px,10vw,150px) max(30px,calc((100vw - 1500px)/2)); display:grid; grid-template-columns:.68fr 1.32fr; gap:70px; background:#0d0905; border-block:1px solid rgba(185,138,62,.17); }
.parlor-grid > div { display:grid; grid-template-columns:repeat(2,1fr); }
.parlor-grid article { min-height:350px; padding:0; overflow:hidden; border:1px solid rgba(185,138,62,.2); margin:-1px 0 0 -1px; background:#0b0805; }
.parlor-grid .card-visual { height:150px; }
.parlor-grid .card-body { padding:28px; }
.parlor-grid h3 { margin-top:24px; }

.reading-room { background:#0b0805; }
.reading-heading .classified { margin-bottom:30px; }
.reading-layout { margin-top:50px; display:grid; grid-template-columns:.62fr 1fr .65fr; gap:30px; align-items:center; }
.book-tabs { display:grid; gap:12px; }
.book-tabs button { padding:25px; display:grid; gap:8px; border:1px solid rgba(185,138,62,.2); color:#8f7e62; background:#0b0805; text-align:left; }
.book-tabs button.active { border-color:var(--gold); color:var(--paper); background:#1b1208; }
.book-tabs small,.book-controls small { color:var(--gold); font:7px/1 var(--sans); letter-spacing:.2em; }
.book-tabs strong { font:400 18px/1.2 var(--serif); }
.book-tabs span { font:italic 400 12px/1.5 var(--serif); }
.book-page { margin:0; padding:14px; position:relative; background:#cdbd9e; box-shadow:0 25px 60px #000; }
.book-page::after { content:"CONFIDENTIAL REFERENCE"; position:absolute; right:-52px; bottom:82px; color:rgba(73,42,18,.36); font:700 8px/1 var(--sans); letter-spacing:.2em; transform:rotate(-90deg); }
.book-page img { width:100%; display:block; }
.book-controls { padding:28px; }
.book-controls h3 { margin:13px 0; font:400 29px/1.1 var(--serif); }
.book-controls p { color:var(--dim); }
.book-progress { height:2px; margin:28px 0; background:#352717; }
.book-progress i { height:100%; display:block; background:var(--gold); transition:width .25s ease; }
.book-controls > div:last-child { display:flex; gap:12px; }
.book-controls button { padding:9px 0; border:0; border-bottom:1px solid var(--gold); color:#c9aa70; background:transparent; font:7px/1 var(--sans); letter-spacing:.15em; }
.book-controls button:disabled { opacity:.3; }

.profile-ledger { background:#0c0805; border-block:1px solid rgba(185,138,62,.18); }
.profile-ledger > div { margin-top:55px; display:grid; grid-template-columns:repeat(3,1fr); }
.profile-ledger article { min-height:430px; padding:0; overflow:hidden; border:1px solid rgba(185,138,62,.24); margin:-1px 0 0 -1px; background:linear-gradient(145deg,#171008,#090604); }
.profile-ledger .card-visual { height:180px; }
.profile-ledger .card-body { padding:30px 36px 36px; }
.profile-ledger .card-body > span { width:50px; height:50px; display:grid; place-items:center; border:1px solid var(--gold); border-radius:50%; color:var(--gold); }
.profile-ledger h3 { margin-top:24px; font-size:28px; }
.profile-ledger .card-body > small { margin-top:32px; display:block; color:var(--gold); font:7px/1 var(--sans); letter-spacing:.17em; }
.label-shelf { padding:clamp(85px,9vw,135px) max(30px,calc((100vw - 1500px)/2)); background:#080604; border-block:1px solid rgba(185,138,62,.17); }
.label-shelf > div { margin-top:52px; display:grid; grid-template-columns:repeat(5,1fr); }
.label-shelf article { min-height:330px; overflow:hidden; position:relative; border:1px solid rgba(185,138,62,.22); margin:-1px 0 0 -1px; background:#100b07; }
.label-shelf article > img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; filter:saturate(1.02) contrast(1.05) brightness(.72); transition:transform .55s ease,filter .4s ease; }
.label-shelf article::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(5,4,3,.95),rgba(5,4,3,.05) 70%); }
.label-shelf article > div { position:absolute; left:24px; right:24px; bottom:24px; z-index:2; }
.label-shelf article:hover > img { transform:scale(1.055); filter:saturate(1.1) contrast(1.05) brightness(.87); }
.label-shelf small { color:#dfb85f; font:7px/1 var(--sans); letter-spacing:.16em; }
.label-shelf h3 { margin:10px 0 12px; color:#f1e2c4; font:400 28px/1 var(--serif); }
.label-shelf span { color:#a9916a; font:6px/1 var(--sans); letter-spacing:.17em; }
.storage-record { width:min(1500px,calc(100% - 80px)); margin:0 auto; padding:clamp(95px,10vw,155px) 0; display:grid; grid-template-columns:1.1fr .9fr; gap:80px; align-items:center; }
.storage-record ul { margin:35px 0; padding:0; list-style:none; }
.storage-record li { padding:14px 0; border-bottom:1px solid rgba(185,138,62,.15); color:#b6a586; }
.storage-record li::before { content:"◆"; margin-right:13px; color:var(--gold); font-size:5px; }
.storage-gauge { min-height:470px; padding:50px; display:flex; align-items:center; justify-content:center; position:relative; border:1px solid var(--line); border-radius:50%; background:radial-gradient(circle,#23170b,#0b0805 67%); box-shadow:inset 0 0 0 12px #0c0906,inset 0 0 0 13px rgba(185,138,62,.3),0 25px 60px #000; }
.storage-gauge::before { content:""; position:absolute; inset:35px; border:1px dotted var(--bronze); border-radius:50%; }
.storage-gauge span { color:var(--bright-gold); font:400 70px/1 var(--serif); }
.storage-gauge i { margin:0 15px; color:var(--gold); }
.storage-gauge small { position:absolute; bottom:100px; color:#806b49; font:7px/1 var(--sans); letter-spacing:.2em; }
.storage-gauge b { position:absolute; bottom:65px; color:#c5ab74; font:8px/1 var(--sans); letter-spacing:.22em; }

.vault-manifesto { width:min(1500px,calc(100% - 80px)); margin:0 auto; padding:clamp(100px,11vw,170px) 0; display:grid; grid-template-columns:.4fr .8fr 1fr; gap:60px; align-items:start; }
.vault-number { color:rgba(185,138,62,.23); font:400 clamp(130px,17vw,260px)/.7 var(--serif); }
.privilege-list { display:grid; grid-template-columns:1fr 1fr; }
.privilege-list span { min-height:105px; padding:25px; display:flex; gap:17px; align-items:center; border:1px solid rgba(185,138,62,.2); margin:-1px 0 0 -1px; color:#c0ae8c; font-size:15px; }
.privilege-list b { color:var(--gold); font:7px/1 var(--sans); }
.oath-section { min-height:520px; padding:80px max(30px,calc((100vw - 1050px)/2)); display:flex; flex-direction:column; align-items:center; justify-content:center; border-block:1px solid var(--line); background:radial-gradient(circle,#27160b,#080604 66%); text-align:center; }
.oath-section .classified { margin-right:auto; margin-left:auto; }
.oath-section blockquote { max-width:1000px; font-style:italic; }

.calendar-lead { width:min(1500px,calc(100% - 80px)); margin:0 auto; padding:clamp(95px,10vw,150px) 0 65px; display:flex; justify-content:space-between; align-items:flex-end; gap:50px; }
.calendar-lead > div { min-width:285px; padding:28px; border:1px solid var(--line); background:#120d08; }
.calendar-lead small,.calendar-lead span { display:block; color:#796747; font:7px/1.4 var(--sans); letter-spacing:.18em; }
.calendar-lead b { margin:12px 0; display:block; color:var(--bright-gold); font:400 30px/1 var(--serif); }
.full-dispatch { width:min(1500px,calc(100% - 80px)); margin:0 auto; padding-bottom:clamp(95px,10vw,150px); }
.full-dispatch article { min-height:145px; padding:22px 18px; display:grid; grid-template-columns:150px 125px 1fr auto; gap:28px; align-items:center; border-top:1px solid rgba(185,138,62,.2); }
.full-dispatch article:last-child { border-bottom:1px solid rgba(185,138,62,.2); }
.dispatch-day { display:flex; align-items:center; gap:20px; }
.dispatch-day small { color:#685539; font:8px/1 var(--sans); }
.dispatch-day b { color:var(--bright-gold); font:9px/1 var(--sans); letter-spacing:.2em; }
.full-dispatch h3 { margin:0 0 8px; font:400 29px/1.1 var(--serif); }
.full-dispatch p { margin:0; color:var(--dim); font:italic 400 15px/1.55 var(--serif); }

.application-file { padding:clamp(95px,10vw,150px) max(30px,calc((100vw - 1300px)/2)); display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; background:#0d0905; }
.application-file ol { margin:0; padding:0; list-style:none; }
.application-file li { padding:27px 0; display:grid; grid-template-columns:58px 1fr; gap:20px; border-top:1px solid rgba(185,138,62,.2); }
.application-file li > span { color:var(--gold); font:8px/1 var(--sans); }
.application-file h3 { margin:0 0 8px; font:400 25px/1 var(--serif); text-transform:uppercase; }
.application-file li p { margin:0; color:var(--dim); font:400 15px/1.55 var(--serif); }
.application-file > .seal-button { grid-column:2; justify-self:start; }

.reservation-file { display:grid; grid-template-columns:.82fr 1.18fr; gap:clamp(55px,8vw,120px); align-items:start; }
.reservation-file .framed-image { min-height:420px; margin-top:42px; }
.reservation-file .framed-image img { min-height:390px; height:390px; }
.reservation-file ul { margin:0; padding:0; list-style:none; }
.reservation-file li { padding:15px 0; border-bottom:1px solid rgba(185,138,62,.16); color:#ad9b7c; }
.reservation-file li b { width:45px; display:inline-block; color:var(--gold); font:8px/1 var(--sans); }
.wire-form { width:min(760px,calc(100vw - 30px)); padding:clamp(30px,4vw,52px); position:relative; border:1px solid var(--line); background:linear-gradient(145deg,#171008,#0d0905); box-shadow:0 25px 70px rgba(0,0,0,.5); }
.wire-form.embedded { width:100%; }
.form-stamp { position:absolute; top:14px; right:18px; color:#6b583a; font:6px/1 var(--sans); letter-spacing:.18em; }
.wire-form header { margin-bottom:34px; padding-bottom:23px; display:flex; justify-content:space-between; border-bottom:1px solid var(--line); }
.wire-form header small { color:var(--gold); font:7px/1 var(--sans); letter-spacing:.2em; }
.wire-form header h2 { margin:10px 0 0; font:400 clamp(30px,3vw,45px)/1 var(--serif); text-transform:uppercase; }
.wire-form header > button { border:0; color:#bca77f; background:transparent; font-size:30px; }
.form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.wire-form label { margin-bottom:21px; display:grid; gap:8px; color:#a89573; font:700 7px/1 var(--sans); letter-spacing:.17em; text-transform:uppercase; }
.wire-form input,.wire-form select,.wire-form textarea { width:100%; padding:14px 3px; border:0; border-bottom:1px solid #58452d; border-radius:0; outline:0; color:#edddbd; background:transparent; font:400 16px/1.4 var(--serif); text-transform:none; }
.wire-form select { color-scheme:dark; }
.wire-form input:focus,.wire-form select:focus,.wire-form textarea:focus { border-color:var(--bright-gold); }
.privacy-note { color:#6f604a; font:italic 400 11px/1.5 var(--serif); }
.form-error { color:#e99b80; }
.form-link { margin-top:20px; padding:0; border:0; border-bottom:1px solid var(--gold); color:#c4a366; background:transparent; }
.form-success { padding:25px 0; text-align:center; }
.form-success > span { width:55px; height:55px; margin:0 auto 20px; display:grid; place-items:center; border:1px solid var(--gold); border-radius:50%; color:var(--gold); }
.form-success h3 { font:400 32px/1.1 var(--serif); }
.form-success p { color:var(--dim); line-height:1.6; }

.faq-file { padding:clamp(90px,10vw,150px) max(30px,calc((100vw - 1500px)/2)); display:grid; grid-template-columns:.7fr 1.3fr; gap:80px; background:#0d0905; }
.faq-file article { border-top:1px solid rgba(185,138,62,.2); }
.faq-file article:last-child { border-bottom:1px solid rgba(185,138,62,.2); }
.faq-file article > button { width:100%; padding:24px 0; display:grid; grid-template-columns:48px 1fr 28px; border:0; color:var(--paper); background:transparent; text-align:left; }
.faq-file article span { color:var(--gold); font:7px/1 var(--sans); }
.faq-file article strong { font:400 19px/1.3 var(--serif); }
.faq-file article i { color:var(--gold); font-size:22px; font-style:normal; }
.faq-file article > p { max-height:0; margin:0 48px; overflow:hidden; color:var(--dim); font:italic 400 15px/1.6 var(--serif); transition:.25s ease; }
.faq-file article.open > p { max-height:160px; margin:0 48px 23px; }

.contact-file { display:grid; grid-template-columns:1fr 1fr; gap:clamp(55px,8vw,120px); }
.contact-ledger { margin-top:45px; display:grid; grid-template-columns:1fr 1fr; }
.contact-ledger article { min-height:200px; padding:25px 25px 25px 0; border-top:1px solid rgba(185,138,62,.2); }
.contact-ledger article:nth-child(even) { padding-left:25px; border-left:1px solid rgba(185,138,62,.2); }
.contact-ledger small { color:var(--gold); font:7px/1 var(--sans); letter-spacing:.2em; }
.contact-ledger p { color:#cfbd9b; font:400 18px/1.55 var(--serif); }
.contact-ledger a,.contact-ledger span { color:#887658; font:7px/1.5 var(--sans); letter-spacing:.15em; text-decoration:none; }

.entry-file { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; align-items:center; }
.entry-notice { padding:60px; border:1px solid var(--line); background:radial-gradient(circle at top left,rgba(74,23,22,.22),transparent 42%),#100b07; }
.entry-notice h2 { font-size:clamp(39px,4vw,64px); }
.entry-notice > p:not(.classified) { color:var(--dim); font:italic 400 17px/1.68 var(--serif); }
.signal-key { margin-top:40px; padding-top:25px; display:grid; grid-template-columns:15px 1fr; gap:7px 15px; border-top:1px solid var(--line); }
.signal-key i { width:11px; height:11px; grid-row:span 2; align-self:center; border-radius:50%; background:#cb3e2c; box-shadow:0 0 14px #dc4c38; animation:signal-blink 2.4s infinite; }
.signal-key span { color:#a58c60; font:7px/1 var(--sans); letter-spacing:.18em; }
.signal-key b { color:#cdb786; font:8px/1 var(--sans); letter-spacing:.16em; }
.keypad-file { max-width:610px; margin:auto; padding:clamp(28px,4vw,48px); outline:0; border:1px solid #7b5624; background:radial-gradient(circle at 50% 0,rgba(255,221,143,.08),transparent 34%),linear-gradient(145deg,#2a1d0d,#080604 72%); box-shadow:inset 0 0 0 5px #080604,inset 0 0 0 6px rgba(224,185,105,.24),0 30px 80px #000; }
.keypad-top { padding-bottom:22px; display:flex; align-items:center; gap:16px; border-bottom:1px solid rgba(185,138,62,.28); }
.keypad-light { width:13px; height:13px; flex:0 0 auto; border-radius:50%; background:#cc3c2c; box-shadow:0 0 18px #dd4935; animation:signal-blink 2s infinite; }
.keypad-top div { display:grid; gap:7px; }
.keypad-top small { color:#826c48; font:7px/1 var(--sans); letter-spacing:.2em; }
.keypad-top b { color:#cdb47c; font:8px/1 var(--sans); letter-spacing:.17em; }
.keypad-file.open .keypad-light { background:#55a96d; box-shadow:0 0 18px #60c77d; animation:none; }
.keypad-file.open .keypad-top b { color:#82d397; }
.keypad-file.error { animation:keypad-shake .32s linear 2; border-color:#bd4637; }
.keypad-file.error .keypad-light { background:#ee4935; box-shadow:0 0 24px #e24934; }
@keyframes keypad-shake { 0%,100% { transform:translateX(0); } 25% { transform:translateX(-7px); } 75% { transform:translateX(7px); } }
.code-display { height:78px; margin:26px 0; position:relative; isolation:isolate; contain:paint; display:flex; align-items:center; justify-content:center; gap:17px; border:1px solid rgba(185,138,62,.25); background:#040302; box-shadow:inset 0 0 22px rgba(0,0,0,.8); }
.code-display i { width:15px; height:15px; border:1px solid #694b25; border-radius:50%; background:#0d0905; transition:.18s ease; }
.code-display i.filled { border-color:#ffe295; background:radial-gradient(circle at 35% 28%,#fff6c8,#d7a73e 42%,#72430b 75%); box-shadow:0 0 15px rgba(238,189,86,.6); }
.keypad-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.keypad-grid button { min-height:68px; -webkit-appearance:none; appearance:none; outline:0; border:1px solid #f2ce78; color:#170f05; background:linear-gradient(120deg,#533005,#bb7d18 13%,#ffe89a 31%,#a76c12 51%,#f4d174 72%,#613807); box-shadow:inset 0 1px 0 rgba(255,255,255,.75),inset 0 -3px 0 rgba(52,28,2,.62),0 5px 0 #402405,0 10px 20px rgba(0,0,0,.4); text-shadow:0 1px rgba(255,242,188,.5); font:700 18px/1 var(--sans); transform:translateZ(0); backface-visibility:hidden; }
.keypad-grid button:focus { outline:0; }
.keypad-grid button:focus-visible { border-color:#fff3bd; box-shadow:inset 0 1px 0 rgba(255,255,255,.82),inset 0 -3px 0 rgba(52,28,2,.62),0 0 0 2px rgba(255,222,142,.38),0 5px 0 #402405,0 10px 20px rgba(0,0,0,.4); }
.keypad-grid button:hover { filter:brightness(1.13); transform:translateY(-2px); }
.keypad-grid button:active { transform:translateY(4px); box-shadow:inset 0 2px 4px rgba(44,23,1,.52),0 1px 0 #402405; }
.keypad-grid button.key-action { font-size:7px; letter-spacing:.13em; }
.keypad-file > p { margin:28px 0 0; color:#806d4e; font:7px/1 var(--sans); letter-spacing:.18em; text-align:center; }
.entry-intro { position:fixed; inset:0; z-index:1400; overflow:hidden; color:var(--paper); background:#020202; perspective:1800px; }
.entry-door-panel { position:absolute; inset:0; transform-origin:left center; transform-style:preserve-3d; transition:transform 1.08s cubic-bezier(.73,.02,.25,1),filter .75s ease; }
.entry-door-panel > img { width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(1.04) contrast(1.06) brightness(.86); }
.intro-vignette { position:absolute; inset:0; background:linear-gradient(90deg,rgba(2,2,2,.5),transparent 42%,rgba(2,2,2,.33)),linear-gradient(0deg,rgba(2,2,2,.46),transparent 46%); }
.intro-smoke { z-index:2; opacity:.88; }
.intro-identity { position:absolute; left:clamp(28px,5vw,90px); top:50%; z-index:4; display:grid; gap:12px; transform:translateY(-50%); text-shadow:0 3px 24px #000; transition:opacity .36s ease,transform .5s ease; }
.intro-identity small,.intro-identity span { color:#d0b171; font:7px/1 var(--sans); letter-spacing:.26em; }
.intro-identity strong { color:#f3e0b8; font:400 clamp(42px,5vw,82px)/.92 var(--serif); }
.intro-console { width:min(340px,calc(100vw - 38px)); position:absolute; right:clamp(22px,5.5vw,95px); top:50%; z-index:5; transform:translateY(-50%); transition:opacity .34s ease,transform .55s ease; }
.keypad-file.compact { width:100%; padding:20px; isolation:isolate; border-color:#d9ac53; background:radial-gradient(circle at 50% 0,rgba(255,229,158,.12),transparent 32%),linear-gradient(145deg,#2d1d0b,#060403 72%); box-shadow:inset 0 0 0 4px #080604,inset 0 0 0 5px rgba(255,219,140,.28),0 26px 75px #000; -webkit-backdrop-filter:none; backdrop-filter:none; }
.keypad-file.compact .keypad-top { padding-bottom:13px; }
.keypad-file.compact .code-display { height:50px; margin:15px 0; gap:12px; }
.keypad-file.compact .code-display i { width:11px; height:11px; }
.keypad-file.compact .keypad-grid { gap:8px; }
.keypad-file.compact .keypad-grid button { min-height:43px; font-size:13px; }
.keypad-file.compact .keypad-grid button.key-action { font-size:6px; }
.keypad-file.compact > p { margin-top:17px; font-size:6px; }
.intro-guest { width:100%; margin-top:18px; padding:13px 10px; border:1px solid rgba(225,188,114,.48); color:#c7ad79; background:rgba(5,4,3,.78); font:7px/1 var(--sans); letter-spacing:.2em; transition:.25s ease; }
.intro-guest:hover { border-color:#ffe09a; color:#ffe4aa; background:rgba(41,27,11,.88); }
.entry-intro.opening .entry-door-panel { transform:perspective(1800px) rotateY(-88deg); filter:brightness(1.5); }
.entry-intro.opening .intro-console { opacity:0; transform:translate(50px,-50%); }
.entry-intro.opening .intro-identity { opacity:0; transform:translate(-40px,-50%); }
.entry-intro.opening::after { content:"ACCESS GRANTED"; position:absolute; inset:0; z-index:-1; display:grid; place-items:center; color:#d5b66f; background:radial-gradient(circle,rgba(71,47,16,.28),#020202 45%); font:8px/1 var(--sans); letter-spacing:.42em; }
.member-directory { background:#0d0905; }
.member-directory > div { margin-top:50px; display:grid; grid-template-columns:repeat(3,1fr); }
.member-directory > div a { min-height:245px; padding:0 28px 26px; display:grid; grid-template-columns:45px 1fr auto; align-items:end; overflow:hidden; position:relative; border:1px solid rgba(185,138,62,.2); margin:-1px 0 0 -1px; color:var(--paper); background:#100b07; text-align:left; text-decoration:none; }
.member-directory > div a::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(4,3,2,.96),rgba(4,3,2,.1) 72%); }
.member-directory > div a > img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; filter:saturate(1.03) brightness(.82); transition:transform .5s ease,filter .4s ease; }
.member-directory > div a:hover > img { transform:scale(1.05); filter:saturate(1.08) brightness(.95); }
.member-directory > div a > small,.member-directory > div a > strong,.member-directory > div a > span { position:relative; z-index:2; }
.member-directory.locked > div a > img { filter:grayscale(.7) brightness(.35); }
.member-directory small { color:var(--gold); font:7px/1 var(--sans); }
.member-directory strong { font:400 24px/1 var(--serif); }
.member-directory > div a span { color:var(--gold); }
.member-directory > p { margin-top:35px; color:var(--dim); text-align:center; }
.member-directory > p button { border:0; border-bottom:1px solid var(--gold); color:#c8aa70; background:transparent; }

.site-footer { border-top:1px solid var(--line); background:#050403; }
.site-footer > .deco-rule { min-height:65px; }
.footer-main { width:min(1500px,calc(100% - 80px)); min-height:360px; margin:0 auto; padding:60px 0; display:grid; grid-template-columns:1.25fr .7fr .9fr .8fr .9fr; gap:55px; }
.footer-brand img { width:190px; height:120px; object-fit:contain; object-position:left center; filter:sepia(.1); }
.footer-brand p { color:#c5b28f; font:italic 400 19px/1.5 var(--serif); }
.footer-main > div:not(.footer-brand) { padding-top:32px; display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.footer-main small { margin-bottom:12px; color:var(--gold); font:7px/1 var(--sans); letter-spacing:.2em; }
.footer-main button:not(.seal-button),.footer-main a { padding:0; border:0; color:#9f8f73; background:transparent; font:400 14px/1.5 var(--serif); text-decoration:none; }
.footer-main p { color:#8d7e65; font:400 14px/1.7 var(--serif); }
.footer-bottom { min-height:65px; padding:20px max(30px,calc((100vw - 1500px)/2)); display:flex; justify-content:space-between; align-items:center; border-top:1px solid rgba(185,138,62,.15); color:#665740; font:7px/1 var(--sans); letter-spacing:.18em; }
.footer-bottom b { color:#8b754e; font-weight:400; }
.modal-backdrop { position:fixed; inset:0; z-index:1000; padding:25px; display:grid; place-items:center; overflow-y:auto; background:rgba(0,0,0,.87); backdrop-filter:blur(10px); }
.modal-card { margin:auto; }
.mobile-actions { display:none; }

@media (max-width:1200px) {
  .site-header { height:78px; }
  .header-inner { grid-template-columns:48px 140px 1fr 48px; }
  .brand-button { width:140px; height:72px; }
  .menu-button { width:40px; height:40px; padding:9px; display:grid; align-content:center; gap:5px; border:1px solid var(--line); background:transparent; }
  .menu-button span { height:1px; background:var(--gold); }
  nav,nav.right-nav { position:fixed; top:104px; left:0; right:0; padding:23px 28px 5px; display:none; flex-direction:column; align-items:flex-start; gap:0; border-bottom:0; background:rgba(6,5,4,.98); }
  nav.right-nav { top:360px; padding-top:0; padding-bottom:25px; border-bottom:1px solid var(--line); }
  nav.open { display:flex; }
  nav a { width:100%; padding:12px 0; text-align:left; }
  nav a::after { display:none; }
  .door-button { justify-self:end; }
  .header-reserve { display:block; justify-self:end; border:1px solid #ffe096; padding:13px 16px; color:#160e05; background:linear-gradient(115deg,#704207,#dba43c 24%,#fff0a6 46%,#ac7115 68%,#e3b84f); box-shadow:inset 0 1px rgba(255,255,255,.7),0 4px 0 #4d2a05; font:700 7px/1 var(--sans); letter-spacing:.15em; }
  .door-button { display:none; }
  .price-grid { grid-template-columns:repeat(2,1fr); }
  .closing-invitation { flex-wrap:wrap; }
}

@media (max-width:880px) {
  .cipher-bar span { display:none; }
  .cipher-bar { justify-content:center; }
  .hero { height:760px; min-height:80vh; }
  .clean-hero { height:calc(100svh - 22px); min-height:640px; }
  .clean-hero > img { inset:0; height:100%; object-position:58% center !important; transform:translate3d(0,var(--parallax-shift,0px),0) scale(1.035); }
  .art-hero { height:calc(56.25vw + 330px); min-height:570px; background:#030302; }
  .art-hero > img { top:104px; bottom:auto; height:56.25vw; object-fit:contain; transform:none; background:#030302; }
  .art-hero .hero-vignette { display:none; }
  .hero-art-actions { left:20px; right:20px; bottom:42px; justify-items:stretch; }
  .hero-art-actions > div { justify-content:space-between; }
  .photo-interlude { min-height:520px; background-attachment:scroll; }
  .hero-vignette { background:linear-gradient(0deg,rgba(4,3,2,.93),rgba(4,3,2,.12) 88%); }
  .hero-copy { width:calc(100% - 40px); padding-bottom:75px; }
  .hero h1 { font-size:clamp(48px,11vw,76px); }
  .hero-file { top:130px; }
  .hero-coordinates { display:none; }
  .knock-section,.split-record,.split-record.reverse,.rules-section,.parlor-grid,.storage-record,.vault-manifesto,.application-file,.reservation-file,.faq-file,.contact-file,.entry-file { grid-template-columns:1fr; }
  .door-frame { min-height:620px; order:-1; border-left:0; border-bottom:1px solid var(--line); }
  .department-grid { grid-template-columns:1fr; }
  .department-grid a { min-height:350px; }
  .rules-section,.parlor-grid { gap:45px; }
  .dispatch-list article { grid-template-columns:105px 72px 1fr auto; }
  .dispatch-list p { display:none; }
  .dispatch-visual { width:105px; height:76px; }
  .split-record.reverse .framed-image { order:0; }
  .reading-layout { grid-template-columns:1fr; }
  .book-tabs { grid-template-columns:1fr 1fr; }
  .profile-ledger > div { grid-template-columns:1fr; }
  .storage-gauge { width:min(520px,100%); min-height:auto; aspect-ratio:1; margin:auto; }
  .vault-manifesto { grid-template-columns:.4fr 1fr; }
  .vault-number { grid-row:span 2; }
  .privilege-list { grid-column:2; }
  .calendar-lead { align-items:flex-start; flex-direction:column; }
  .full-dispatch article { grid-template-columns:130px 100px 1fr; }
  .full-dispatch article > button { grid-column:3; justify-self:start; }
  .application-file > .seal-button { grid-column:1; }
  .member-directory > div { grid-template-columns:repeat(2,1fr); }
  .label-shelf > div { grid-template-columns:repeat(2,1fr); }
  .footer-main { grid-template-columns:repeat(2,1fr); }
  .footer-brand { grid-column:1/-1; }
}

@media (max-width:600px) {
  .cipher-bar { height:22px; }
  .site-header { top:22px; height:68px; }
  .header-inner { width:calc(100% - 22px); grid-template-columns:40px 112px 1fr; gap:12px; }
  .brand-button { width:112px; height:62px; }
  .header-reserve { padding:11px 9px; font-size:6px; }
  nav,nav.right-nav { top:90px; }
  nav.right-nav { top:346px; }
  .hero { height:700px; min-height:82vh; }
  .clean-hero { height:calc(100svh - 22px); min-height:620px; }
  .clean-hero > img { object-position:59% center !important; }
  .art-hero { height:calc(56.25vw + 310px); min-height:520px; }
  .art-hero > img { top:90px; height:56.25vw; }
  .hero-art-actions { left:15px; right:15px; bottom:28px; padding:13px; }
  .hero-art-actions > div { align-items:stretch; flex-direction:column; gap:12px; }
  .hero-art-actions .seal-button,.hero-art-actions .line-button { width:100%; }
  .photo-interlude { min-height:460px; }
  .photo-interlude > div { width:calc(100% - 30px); }
  .hero-copy { width:calc(100% - 30px); padding-bottom:58px; }
  .hero h1 { font-size:46px; }
  .hero-text { font-size:16px; }
  .hero-actions { align-items:stretch; flex-direction:column; }
  .hero-actions .seal-button,.hero-actions .line-button { width:100%; }
  .hero-file { left:15px; }
  .door-signal { top:22%; }
  .deco-rule { min-height:68px; grid-template-columns:1fr auto 1fr; }
  .deco-rule b { display:none; }
  .deco-rule em { font-size:6px; }
  .knock-copy { padding:70px 18px; }
  .door-frame { min-height:520px; }
  .department-section,.dispatch-section,.ledger-section,.reading-room,.profile-ledger,.reservation-file,.contact-file,.entry-file,.member-directory { padding-right:15px; padding-left:15px; }
  .rules-section,.parlor-grid,.application-file,.faq-file { padding-right:15px; padding-left:15px; }
  .rules-grid,.parlor-grid > div { grid-template-columns:1fr; }
  .dispatch-head { align-items:flex-start; flex-direction:column; }
  .dispatch-list article { grid-template-columns:82px 1fr; gap:14px; }
  .dispatch-list article > .dispatch-visual { grid-row:span 2; width:82px; height:92px; }
  .dispatch-list article > button { grid-column:2; justify-self:start; }
  .price-grid { grid-template-columns:1fr; }
  .price-grid article { min-height:540px; padding:34px 28px; }
  .closing-invitation { padding-bottom:100px; text-align:center; }
  .closing-invitation p { width:100%; }
  .closing-invitation .seal-button { width:100%; margin:15px 0 0; }
  .split-record { width:calc(100% - 30px); }
  .framed-image,.framed-image img { min-height:470px; }
  .record-facts { grid-template-columns:1fr; }
  .book-tabs { grid-template-columns:1fr; }
  .vault-manifesto { width:calc(100% - 30px); grid-template-columns:1fr; }
  .vault-number { grid-row:auto; }
  .privilege-list { grid-column:1; grid-template-columns:1fr; }
  .calendar-lead,.full-dispatch { width:calc(100% - 30px); }
  .calendar-lead > div { width:100%; min-width:0; }
  .full-dispatch article { grid-template-columns:94px 1fr; gap:15px; }
  .full-dispatch article > .dispatch-visual { grid-row:span 2; width:94px; height:110px; }
  .full-dispatch article > button { grid-column:2; }
  .form-grid { grid-template-columns:1fr; gap:0; }
  .wire-form { padding:40px 22px 30px; }
  .contact-ledger { grid-template-columns:1fr; }
  .contact-ledger article:nth-child(even) { padding-left:0; border-left:0; }
  .entry-notice { padding:40px 24px; }
  .member-directory > div { grid-template-columns:1fr; }
  .label-shelf { padding-right:15px; padding-left:15px; }
  .label-shelf > div { grid-template-columns:1fr; }
  .label-shelf article { min-height:280px; }
  .keypad-file { padding:30px 18px; }
  .keypad-grid button { min-height:60px; }
  .entry-intro { min-height:100svh; }
  .entry-door-panel > img { object-position:51% center; }
  .intro-vignette { background:linear-gradient(0deg,rgba(2,2,2,.9),rgba(2,2,2,.05) 75%); }
  .intro-identity { left:18px; right:18px; top:105px; transform:none; text-align:center; }
  .intro-identity strong { font-size:37px; }
  .intro-console { right:15px; left:15px; top:auto; bottom:18px; width:auto; transform:none; }
  .keypad-file.compact { padding:14px; }
  .keypad-file.compact .keypad-grid button { min-height:37px; }
  .keypad-file.compact > p { margin-top:12px; }
  .intro-guest { margin-top:10px; }
  .entry-intro.opening .intro-console { transform:translateY(35px); }
  .entry-intro.opening .intro-identity { transform:translateY(-30px); }
  .footer-main { width:calc(100% - 30px); grid-template-columns:1fr 1fr; gap:30px; padding-bottom:110px; }
  .footer-brand { grid-column:1/-1; }
  .footer-bottom { padding:20px 15px 88px; align-items:flex-start; flex-direction:column; gap:11px; }
  .mobile-actions { position:fixed; left:10px; right:10px; bottom:10px; z-index:950; display:grid; grid-template-columns:1fr 1fr; box-shadow:0 12px 35px #000; }
  .mobile-actions button { height:52px; border:1px solid #ffe29a; color:#160e06; background:linear-gradient(115deg,#633804,#c3861d 18%,#ffe99a 40%,#a76910 60%,#e6b94e 84%,#5a3304); box-shadow:inset 0 1px rgba(255,255,255,.65),0 5px 0 #3e2203; font:700 7px/1 var(--sans); letter-spacing:.17em; }
  .mobile-actions button + button { color:#170f05; background:linear-gradient(115deg,#4e2d04,#9b6210 20%,#e9c15b 42%,#80500c 63%,#d0a23c 84%,#432603); }
  .modal-backdrop { padding:8px; align-items:start; }
  .wire-form { width:calc(100vw - 16px); margin-top:8px; }
}

/* WordPress integration and component refinements. */
.custom-logo { width:100%; height:100%; object-fit:contain; object-position:left center; }
.modal-backdrop[hidden],.entry-intro[hidden] { display:none !important; }
.modal-card { width:min(860px,100%); }
.form-notice { padding:18px max(24px,calc((100vw - 1400px)/2)); position:relative; z-index:4; border-block:1px solid #a97524; color:#f0cf83; background:#151006; text-align:center; }
.error-page { margin-block:10vh; }
.error-page a { display:inline-grid; place-items:center; text-decoration:none; }
.event-card-grid article { grid-template-columns:150px 1fr auto; }
.event-card-grid .event-thumb { width:150px; height:112px; object-fit:contain; object-position:center; border:1px solid #8e6220; background:#050504; }
.page-turn-next { animation:guide-turn-next .5s cubic-bezier(.2,.72,.22,1) both !important; }
.page-turn-prev { transform-origin:right center !important; animation:guide-turn-prev .5s cubic-bezier(.2,.72,.22,1) both !important; }
@keyframes guide-turn-next { from { opacity:.2; transform:perspective(1200px) rotateY(-22deg) translateX(-12px); } to { opacity:1; transform:perspective(1200px) rotateY(0) translateX(0); } }
@keyframes guide-turn-prev { from { opacity:.2; transform:perspective(1200px) rotateY(22deg) translateX(12px); } to { opacity:1; transform:perspective(1200px) rotateY(0) translateX(0); } }

@media (max-width:820px) {
  .event-card-grid article { grid-template-columns:120px 1fr; }
  .event-card-grid .event-thumb { width:120px; height:100px; }
  .event-card-grid article > button { grid-column:2; justify-self:start; }
}

@media (max-width:560px) {
  .event-card-grid article { grid-template-columns:1fr; }
  .event-card-grid .event-thumb { width:100%; height:auto; aspect-ratio:16/9; }
  .event-card-grid article > button { grid-column:auto; }
  .wire-form { width:100%; }
}

/* Bespoke media and membership finish. */
.section-video {
  display:block;
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  border:1px solid #b77e24;
  background:#030302;
  box-shadow:inset 0 0 0 6px #080705,0 18px 46px rgba(0,0,0,.38);
}
.hero-contact { background:#030302; }
.hero-contact > img { object-fit:contain; object-position:center center; transform:none; }
.hero-contact .hero-copy { display:none; }
.footer-logo-loop video { display:block; width:220px; max-width:100%; aspect-ratio:16/9; object-fit:contain; background:#020202; }
.price-grid article { min-height:0; display:flex; flex-direction:column; padding:0; overflow:hidden; border:1px solid #a57222; border-radius:4px; }
.price-grid .price-visual { width:100%; height:auto; aspect-ratio:16/9; margin:0; object-fit:contain !important; object-position:center; background:#050504; border-bottom:1px solid rgba(185,138,62,.42); filter:brightness(.92) saturate(1.03); }
.price-grid .price-card-body { padding:26px 28px 30px; flex:1; display:flex; flex-direction:column; }
.price-grid .price-card-body > button { margin-top:auto; }
.price-grid ul { min-height:0; }
@media (max-width:820px) {
  .section-video { height:auto; object-fit:contain; }
  .hero-contact > img { width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; }
  .footer-logo-loop { display:flex; justify-content:center; }
  .footer-logo-loop video { width:min(360px,100%); }
  .price-grid article { padding:0; min-height:0; }
}

@media (prefers-reduced-motion:reduce) { * { animation-duration:.01ms !important; transition-duration:.01ms !important; scroll-behavior:auto !important; } }

/* Heritage refresh — returns the house to the compact black-and-gold layout. */
:root { --heritage-gold:#c89439; --heritage-bright:#f0cc72; --heritage-ink:#050504; --heritage-panel:#0b0b09; --heritage-line:rgba(202,148,53,.66); }
:root { --metallic-gold:linear-gradient(180deg,#fff4c8 0%,#e5b64d 22%,#fff0aa 46%,#a9680c 72%,#efc85e 100%); }
html { background:#030302; }
body { color:#eee8dc; background:radial-gradient(circle at 15% 10%,rgba(84,55,13,.13),transparent 32%),radial-gradient(circle at 84% 34%,rgba(104,68,16,.1),transparent 30%),linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px),#070706; background-size:auto,auto,5px 5px,auto; }
.page-content { position:relative; z-index:2; overflow:hidden; background:linear-gradient(rgba(8,8,7,.96),rgba(8,8,7,.96)),radial-gradient(circle,#18140d,#050504 70%); }
.site-header { height:112px; position:relative; top:0; z-index:80; border-bottom:1px solid rgba(202,148,53,.24); background:rgba(2,2,2,.985); }
.header-inner { width:min(1640px,calc(100% - 42px)); height:100%; margin:auto; display:grid; grid-template-columns:220px 1fr auto; align-items:center; gap:30px; }
.brand-button { width:210px; height:104px; position:static; display:block; transform:none; }
.brand-button img { width:100%; height:100%; object-fit:contain; object-position:left center; filter:drop-shadow(0 0 14px rgba(197,137,35,.22)); }
.menu-button { display:none; }
.header-inner nav { position:static; padding:0; display:flex; justify-content:center; align-items:center; gap:clamp(16px,1.6vw,30px); border:0; background:transparent; }
.header-inner nav a { width:auto; padding:42px 0 35px; color:#e8c56f; background:linear-gradient(180deg,#fff0b4 0%,#dba943 42%,#8b5609 72%,#f0c861 100%); background-size:100% 145%; -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; filter:drop-shadow(0 1px 0 #3b2304); font:600 clamp(14px,.95vw,16px)/1 var(--serif); letter-spacing:.045em; white-space:nowrap; transition:filter .25s ease,background-position .25s ease,transform .25s ease; }
.header-inner nav a:hover,.header-inner nav a.active { background-position:0 100%; filter:drop-shadow(0 0 8px rgba(241,198,92,.55)); transform:translateY(-1px); }
.header-inner nav a::after { bottom:23px; height:1px; background:linear-gradient(90deg,transparent,#e0b34f,transparent); }
.entry-button { min-width:184px; padding:17px 20px; border:1px solid #c78e2e; color:#f4ddb0; background:linear-gradient(135deg,#2c1a05,#70460d 52%,#2b1803); box-shadow:inset 0 0 0 1px rgba(255,226,142,.14),0 8px 24px rgba(0,0,0,.34); font:600 13px/1 var(--serif); text-align:center; text-decoration:none; transition:.25s ease; }
.entry-button:hover { color:#fff1c0; border-color:#f2ce78; filter:brightness(1.16); transform:translateY(-2px); }

.hero { width:100%; height:clamp(500px,38vw,650px); min-height:500px; align-items:center; border-bottom:1px solid rgba(202,148,53,.36); }
.hero > img { inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(1.02) contrast(1.04) brightness(.84); transform:translate3d(0,var(--parallax-shift,0px),0) scale(1.055); }
.hero-vignette { background:linear-gradient(90deg,rgba(2,2,2,.87),rgba(2,2,2,.28) 51%,rgba(2,2,2,.08)),linear-gradient(0deg,rgba(2,2,2,.57),transparent 55%,rgba(2,2,2,.13)); }
.hero-copy { width:min(690px,48vw); margin-left:max(5vw,calc((100vw - 1420px)/2)); padding:0; position:relative; z-index:3; text-align:center; }
.hero-copy::before,.hero-copy::after { content:""; width:100%; height:20px; display:block; background:linear-gradient(90deg,transparent 0 12%,#bd8731 12% 42%,transparent 42% 58%,#bd8731 58% 88%,transparent 88%); -webkit-mask:linear-gradient(#000 0 0) center/100% 1px no-repeat; mask:linear-gradient(#000 0 0) center/100% 1px no-repeat; opacity:.86; }
.hero-copy .eyebrow { margin:8px 0 5px; color:#e4bf69; font:500 clamp(18px,1.8vw,27px)/1.1 var(--serif); letter-spacing:.09em; }
.hero h1 { margin:4px 0 18px; color:#e8c56f; background:var(--metallic-gold); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; filter:drop-shadow(0 3px 18px #000) drop-shadow(0 1px 0 #5b3608); font:600 clamp(58px,6.35vw,102px)/.88 var(--serif); letter-spacing:-.02em; }
.hero-text { width:min(570px,94%); margin:0 auto; color:#fff; font:400 clamp(17px,1.4vw,22px)/1.5 var(--serif); text-shadow:0 3px 18px #000; }
.hero-actions { margin-top:24px; justify-content:center; }
.hero-actions .seal-button,.hero-actions .line-button { min-width:260px; }
.hero-lounge .hero-copy,.hero-events .hero-copy { width:min(760px,70vw); margin:0 auto; }
.hero-lounge .hero-vignette,.hero-events .hero-vignette { background:linear-gradient(90deg,rgba(2,2,2,.42),rgba(2,2,2,.16),rgba(2,2,2,.36)),linear-gradient(0deg,rgba(2,2,2,.62),transparent 70%); }
.hero-reservations .hero-copy,.hero-contact .hero-copy,.hero-humidor .hero-copy,.hero-vault .hero-copy,.hero-members .hero-copy { text-align:left; }
.hero-reservations .hero-copy::before,.hero-reservations .hero-copy::after,.hero-contact .hero-copy::before,.hero-contact .hero-copy::after,.hero-humidor .hero-copy::before,.hero-humidor .hero-copy::after,.hero-vault .hero-copy::before,.hero-vault .hero-copy::after,.hero-members .hero-copy::before,.hero-members .hero-copy::after { width:70%; background:linear-gradient(90deg,#bd8731,transparent); }
.hero-reservations .hero-text,.hero-contact .hero-text,.hero-humidor .hero-text,.hero-vault .hero-text,.hero-members .hero-text { margin-left:0; }
.hero-entry .hero-copy { display:none; }
.hero-entry .door-signal { z-index:4; }
.smoke-layer { z-index:-1; }
.hero .smoke-layer { z-index:-1; opacity:.82; }
.hero .smoke-layer i { bottom:-50%; filter:blur(28px); animation-duration:15s; }
.seal-button,.line-button,.header-reserve { position:relative; overflow:hidden; border:1px solid #e5b84c; color:#fff1c4; background:linear-gradient(115deg,#4d2b03,#a6670d 18%,#e5b852 36%,#7a4808 53%,#d9aa40 72%,#4b2903); box-shadow:inset 0 1px rgba(255,255,255,.6),inset 0 -2px rgba(61,32,2,.7),0 5px 14px rgba(0,0,0,.35); text-shadow:0 1px 2px #2d1702; }
.seal-button::after,.line-button::after,.header-reserve::after { content:""; width:40%; position:absolute; inset:-70% auto -70% -55%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.58),transparent); transform:skewX(-22deg); animation:button-shine 4.8s ease-in-out infinite; }
.line-button { color:#f1d996; background:linear-gradient(145deg,#0a0907,#231605 48%,#090806); }
@keyframes button-shine { 0%,72% { left:-55%; } 92%,100% { left:125%; } }

.heritage-title { width:100%; margin:0 auto 28px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:16px; text-align:center; }
.heritage-title > span { height:1px; background:linear-gradient(90deg,transparent,#b6802b); }
.heritage-title > span:last-of-type { background:linear-gradient(90deg,#b6802b,transparent); }
.heritage-title h2 { margin:0; color:#d5a84e; background:var(--metallic-gold); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; filter:drop-shadow(0 1px 0 #3a2203); font:600 clamp(30px,3.2vw,50px)/1 var(--serif); letter-spacing:.035em; }
.page-content h2 { color:#e4bb60; background:var(--metallic-gold); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; filter:drop-shadow(0 1px 0 #3a2203); }
.heritage-title p { grid-column:1/-1; max-width:900px; margin:-11px auto 0; color:#ddd5c7; font:400 16px/1.55 var(--serif); }
.heritage-split { width:min(1400px,calc(100% - 80px)); margin:0 auto; padding:58px 0; display:grid; grid-template-columns:.68fr 1.32fr; gap:54px; align-items:center; }
.heritage-split.reverse { grid-template-columns:1.25fr .75fr; }
.heritage-split > img { width:100%; aspect-ratio:1.5; object-fit:cover; border:1px solid #b77e24; box-shadow:inset 0 0 0 6px #080705,0 18px 46px rgba(0,0,0,.38); }
.heritage-split > div { min-width:0; }
.heritage-split .heritage-title { grid-template-columns:auto 1fr; text-align:left; }
.heritage-split .heritage-title span:first-child { display:none; }
.heritage-split .heritage-title span:last-of-type { background:linear-gradient(90deg,#b6802b,transparent); }
.heritage-split .heritage-title h2 { order:-1; }
.heritage-split p,.heritage-double p { color:#e2ddd4; font:400 17px/1.68 var(--serif); }
.heritage-split b { color:#d3a142; font:500 16px/1.5 var(--serif); }
.heritage-block,.heritage-gallery,.heritage-action { width:min(1400px,calc(100% - 80px)); margin:0 auto; padding:28px 0 58px; }
.heritage-photo-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.heritage-photo-grid article,.reservation-options article,.cigar-picks article { position:relative; overflow:hidden; border:1px solid #a97524; background:#080705; }
.heritage-photo-grid img { width:100%; height:250px; object-fit:cover; filter:saturate(.92) brightness(.78); transition:.5s ease; }
.heritage-photo-grid article:hover img { transform:scale(1.045); filter:saturate(1.06) brightness(.96); }
.heritage-photo-grid article > div { min-height:132px; padding:30px 22px 22px; position:relative; text-align:center; background:linear-gradient(#0f0c08,#070706); }
.heritage-photo-grid i,.icon-card-grid i,.reservation-options i { width:58px; height:58px; margin:-61px auto 15px; display:grid; place-items:center; border:1px solid #d3a13e; border-radius:50%; color:#d8aa4f; background:#0a0907; font:400 28px/1 var(--serif); }
.heritage-photo-grid h3,.icon-card-grid h3,.reservation-options h3,.cigar-picks h3,.event-card-grid h3 { margin:0 0 8px; color:#d8aa4f; font:500 clamp(19px,1.8vw,27px)/1.1 var(--serif); text-transform:uppercase; }
.heritage-photo-grid p,.icon-card-grid p,.reservation-options p,.cigar-picks p,.event-card-grid p { margin:0; color:#d8d1c5; font:400 15px/1.5 var(--serif); }
.icon-card-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.icon-card-grid article { min-height:220px; padding:36px 25px 30px; border:1px solid #aa7724; background:linear-gradient(145deg,#0d0c0a,#070706); text-align:center; box-shadow:inset 0 0 28px rgba(176,112,18,.035); }
.icon-card-grid i { margin:0 auto 20px; }
.icon-card-grid.standards article { min-height:205px; }
.vault-preview { text-align:center; }
.vault-preview .seal-button { margin-top:28px; }
.heritage-callout { min-height:420px; position:relative; display:grid; place-items:center; overflow:hidden; border-block:1px solid rgba(202,148,53,.45); background-size:cover; background-position:center; background-attachment:fixed; }
.heritage-callout::before { content:""; position:absolute; inset:0; background:rgba(0,0,0,.62); }
.heritage-callout > div { max-width:880px; padding:60px 30px; position:relative; text-align:center; }
.heritage-callout p { color:#d5a84e; font:500 12px/1 var(--sans); letter-spacing:.2em; }
.heritage-callout h2 { margin:18px 0 30px; color:#ead09a; font:500 clamp(44px,6vw,78px)/.95 var(--serif); }
.heritage-gallery > div { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.heritage-gallery img { width:100%; height:210px; object-fit:cover; border:1px solid #9f6e22; }
.heritage-action { padding:30px; border:1px solid #9f6d20; text-align:center; background:linear-gradient(145deg,#11100d,#080705); }
.heritage-action .heritage-title { margin-bottom:22px; }
.heritage-action > div { display:flex; justify-content:center; gap:28px; }
.heritage-double { width:min(1400px,calc(100% - 80px)); margin:0 auto; padding:28px 0 60px; display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.heritage-double > article { padding:30px; border:1px solid rgba(176,122,36,.6); background:#0a0907; }
.heritage-double img { width:46%; min-height:235px; margin:0 22px 15px 0; float:left; object-fit:cover; border:1px solid #9f6d20; }
.heritage-double ul,.heritage-split ul { margin:14px 0 0; padding:0; list-style:none; }
.heritage-double li,.heritage-split li { margin:9px 0; color:#d8d1c4; font:400 15px/1.45 var(--serif); }
.heritage-double li::before,.heritage-split li::before { content:"✓"; margin-right:10px; color:#d5a13c; }
.private-events { align-items:stretch; }
.private-events > img { width:100%; height:100%; min-height:420px; float:none; margin:0; }
.cigar-picks { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.cigar-picks article { padding-bottom:24px; text-align:center; }
.cigar-picks img { width:100%; height:210px; object-fit:cover; border-bottom:1px solid #9f6d20; }
.cigar-picks h3 { padding:18px 16px 0; }
.cigar-picks small { color:#e2bf71; font:500 12px/1.3 var(--serif); }
.cigar-picks p { padding:10px 18px 0; }
.center-actions { margin-top:28px; display:flex; justify-content:center; gap:28px; }
.event-card-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.event-card-grid article { min-height:160px; padding:22px; display:grid; grid-template-columns:82px 1fr auto; gap:20px; align-items:center; border:1px solid #a97524; background:#090806; }
.event-card-grid article > span { width:72px; height:72px; display:grid; place-items:center; border:1px solid #d1a041; border-radius:50%; color:#d8aa4f; font:400 35px/1 var(--serif); }
.event-card-grid small { color:#cf9d3b; font:500 9px/1 var(--sans); letter-spacing:.14em; }
.event-card-grid button { align-self:end; border:0; border-bottom:1px solid #b77e24; color:#d2a145; background:transparent; font:500 10px/1 var(--serif); }
.reservation-classic,.contact-classic { width:min(1400px,calc(100% - 80px)); margin:0 auto; padding:58px 0; display:grid; grid-template-columns:.75fr 1.25fr; gap:62px; align-items:start; }
.reservation-classic > div > p { color:#ded7cb; font:400 18px/1.7 var(--serif); }
.reservation-classic .heritage-title,.contact-classic .heritage-title { grid-template-columns:auto 1fr; text-align:left; }
.reservation-classic .heritage-title span:first-child,.contact-classic .heritage-title span:first-child { display:none; }
.reservation-classic .heritage-title h2,.contact-classic .heritage-title h2 { order:-1; }
.reservation-options { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.reservation-options article { padding-bottom:24px; text-align:center; }
.reservation-options img { width:100%; height:210px; object-fit:cover; filter:brightness(.78); border-bottom:1px solid #a97524; }
.reservation-options i { margin:-31px auto 16px; position:relative; }
.reservation-options h3,.reservation-options p,.reservation-options b { padding-inline:16px; }
.reservation-options b { display:block; margin-top:13px; color:#d3a242; font:500 14px/1.3 var(--serif); }
.classic-faq { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.classic-faq article { border:1px solid #8f6421; background:#0a0907; }
.classic-faq button { width:100%; padding:18px 20px; display:flex; justify-content:space-between; border:0; color:#ded6c6; background:transparent; font:500 17px/1.2 var(--serif); text-align:left; }
.classic-faq button i { color:#d4a141; }
.classic-faq p { max-height:0; margin:0; padding:0 20px; overflow:hidden; color:#c9c0b1; font:400 15px/1.5 var(--serif); transition:.3s ease; }
.classic-faq article.open p { max-height:160px; padding-bottom:20px; }
.contact-classic > div > img { width:100%; height:360px; object-fit:cover; margin-bottom:28px; border:1px solid #a97524; }
.wire-form { border:1px solid #b7832d; background:linear-gradient(145deg,#0d0c0a,#070706); box-shadow:inset 0 0 0 5px #060504,0 22px 50px rgba(0,0,0,.34); }
.wire-form input,.wire-form select,.wire-form textarea,.quick-grid input,.quick-grid select { border:1px solid rgba(191,139,50,.58); color:#e8dfce; background:#0a0907; }
.wire-form header h2 { color:#d7aa50; }

.price-grid { grid-template-columns:repeat(3,1fr); gap:20px; }
.price-grid article { min-height:520px; padding:0 28px 30px; border:1px solid #a57222; background:linear-gradient(#0c0b09,#070706); }
.price-visual { height:180px; margin:0 -28px 26px; width:calc(100% + 56px); position:relative; inset:auto; opacity:1; filter:brightness(.7) saturate(.88); }
.price-card-body { position:relative; z-index:2; }
.price-grid article::after { background:linear-gradient(0deg,#080705 0 55%,transparent); }
.price-seal { margin:-53px auto 18px; position:relative; }
.price-grid h3 { color:#d4a347; font-size:27px; }
.price-grid .price { color:#f1ce79; }
.price-grid article button { color:#dfb655; }

.utility-strip { padding:42px max(40px,calc((100vw - 1400px)/2)); display:grid; grid-template-columns:1fr 1.05fr; gap:56px; border-top:1px solid rgba(202,148,53,.4); background:#050504; }
.utility-strip .heritage-title { margin-bottom:20px; }
.utility-strip .heritage-title h2 { font-size:30px; }
.utility-events { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.utility-events article { min-height:96px; display:grid; grid-template-columns:48px 1fr; gap:12px; }
.utility-events article:first-child { grid-row:span 2; }
.utility-events article > span { width:42px; height:42px; display:grid; place-items:center; border:1px solid #b87d24; border-radius:50%; color:#d5a13b; }
.utility-events small { color:#d0a03e; font:500 9px/1 var(--sans); letter-spacing:.12em; }
.utility-events h3 { margin:5px 0; color:#d5a84e; font:500 17px/1.1 var(--serif); }
.utility-events p { margin:0; color:#bfb5a4; font:400 13px/1.4 var(--serif); }
.quick-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.quick-grid input,.quick-grid select { min-height:43px; padding:10px 12px; font:400 13px/1 var(--serif); }
.quick-reserve .seal-button { width:100%; margin-top:12px; }
.quick-reserve > p { color:#a99b81; font:400 11px/1.3 var(--serif); text-align:center; }

.site-footer { border-top:1px solid #7f571c; background:#040403; }
.footer-main { width:min(1400px,calc(100% - 80px)); min-height:135px; margin:auto; padding:20px 0; display:grid; grid-template-columns:1fr .8fr .7fr .7fr; gap:34px; align-items:center; }
.footer-brand img { width:220px; height:105px; }
.footer-address,.footer-social { padding:20px 0 20px 32px; display:flex; align-items:center; gap:15px; border-left:1px solid rgba(202,148,53,.45); }
.footer-address span,.footer-social span { color:#d5a13c; font-size:24px; }
.footer-address p,.footer-social a,.footer-links a,.footer-links button { margin:0; color:#d4c7ad; font:400 14px/1.45 var(--serif); text-decoration:none; }
.footer-links { padding-left:34px; display:grid; gap:7px; border-left:1px solid rgba(202,148,53,.45); }
.footer-links button { padding:0; border:0; background:transparent; text-align:left; }
.footer-bottom { min-height:52px; padding:14px max(40px,calc((100vw - 1400px)/2)); color:#9f8b64; font-size:9px; }
.footer-bottom b { color:#d1a141; font:500 15px/1 var(--serif); letter-spacing:.03em; }
.footer-bottom button { border:0; color:#bda06b; background:transparent; font:500 10px/1 var(--serif); }

@media (max-width:1180px) {
  .site-header { height:90px; }
  .header-inner { grid-template-columns:48px 160px 1fr; }
  .menu-button { width:42px; height:42px; padding:10px; display:grid; align-content:center; gap:5px; border:1px solid #a77425; background:#090806; }
  .menu-button span { height:1px; background:#d7aa4f; }
  .brand-button { width:160px; height:84px; }
  .header-inner nav { position:fixed; top:90px; left:0; right:0; z-index:100; padding:22px 30px; display:none; align-items:flex-start; flex-direction:column; gap:0; border-bottom:1px solid #8d5e1b; background:rgba(3,3,2,.98); }
  .header-inner nav.open { display:flex; }
  .header-inner nav a { width:100%; padding:13px 0; }
  .entry-button { justify-self:end; }
  .heritage-split,.heritage-split.reverse { grid-template-columns:1fr 1.25fr; }
  .price-grid { grid-template-columns:repeat(2,1fr); }
}

/* Final low-compositing mobile controls for Android WebView and Samsung Internet. */
@media (max-width:1180px) {
  .ember-field,.site-fog,.ground-fog,.film-grain,.hero .smoke-layer { display:none !important; }
  .keypad-file,.keypad-file.compact {
    background:#120d07 !important;
    box-shadow:inset 0 0 0 2px #8e6428 !important;
  }
  .keypad-grid button,
  .keypad-file.compact .keypad-grid button,
  .keypad-grid button:hover,
  .keypad-grid button:focus,
  .keypad-grid button:focus-visible,
  .keypad-grid button:active {
    color:#170f05 !important;
    background:#c99538 !important;
    background-image:none !important;
    border:1px solid #f0ca72 !important;
    box-shadow:none !important;
    text-shadow:none !important;
  }
  .seal-button,.mobile-actions button,
  .seal-button:hover,.mobile-actions button:hover,
  .seal-button:focus,.mobile-actions button:focus,
  .seal-button:active,.mobile-actions button:active {
    color:#171006 !important;
    background:#c99538 !important;
    background-image:none !important;
    box-shadow:none !important;
    text-shadow:none !important;
  }
  .department-grid a:hover,.department-grid a:active,
  .member-directory > div a:hover,.member-directory > div a:active,
  .heritage-photo-grid article:hover,.heritage-photo-grid article:active,
  .label-shelf article:hover,.label-shelf article:active {
    background:inherit !important;
    box-shadow:none !important;
    transform:none !important;
  }
  .department-grid a:hover .card-visual,.rules-grid article:hover .card-visual,
  .parlor-grid article:hover .card-visual,.profile-ledger article:hover .card-visual,
  .label-shelf article:hover > img,.member-directory > div a:hover > img,
  .heritage-photo-grid article:hover img {
    filter:none !important;
    transform:none !important;
  }
}

/* Lightweight mobile embers remain active without fog or grain compositing. */
@media (max-width:1180px) {
  .ember-field { display:block !important; position:fixed !important; inset:0 !important; z-index:43; opacity:.55; overflow:hidden; pointer-events:none; }
  .ember-field i { width:2px; height:2px; box-shadow:0 0 3px rgba(255,177,66,.65); animation-duration:18s; }
  .ember-field i:nth-child(n+8) { display:none; }
}

@media (max-width:820px) {
  .header-inner { width:calc(100% - 24px); grid-template-columns:44px 142px 1fr; gap:12px; }
  .entry-button { min-width:0; padding:13px 10px; font-size:9px; }
  .hero { height:630px; min-height:630px; }
  .hero > img { transform:translate3d(0,var(--parallax-shift,0px),0) scale(1.08); }
  .hero-copy,.hero-lounge .hero-copy,.hero-events .hero-copy { width:calc(100% - 44px); margin:0 auto; padding-top:110px; text-align:center; }
  .hero-reservations .hero-copy,.hero-contact .hero-copy,.hero-humidor .hero-copy,.hero-vault .hero-copy,.hero-members .hero-copy { text-align:center; }
  .hero-reservations .hero-copy::before,.hero-reservations .hero-copy::after,.hero-contact .hero-copy::before,.hero-contact .hero-copy::after,.hero-humidor .hero-copy::before,.hero-humidor .hero-copy::after,.hero-vault .hero-copy::before,.hero-vault .hero-copy::after,.hero-members .hero-copy::before,.hero-members .hero-copy::after { width:100%; background:linear-gradient(90deg,transparent,#bd8731,transparent); }
  .hero-text { margin-inline:auto !important; }
  .hero-vignette { background:linear-gradient(0deg,rgba(2,2,2,.9),rgba(2,2,2,.2) 88%),linear-gradient(90deg,rgba(2,2,2,.4),transparent,rgba(2,2,2,.4)); }
  .heritage-split,.heritage-split.reverse,.heritage-double,.reservation-classic,.contact-classic,.utility-strip { grid-template-columns:1fr; }
  .heritage-split > img { order:-1; }
  .heritage-photo-grid { grid-template-columns:1fr; }
  .heritage-photo-grid img { height:300px; }
  .icon-card-grid,.reservation-options,.cigar-picks { grid-template-columns:1fr 1fr; }
  .event-card-grid { grid-template-columns:1fr; }
  .heritage-gallery > div { grid-template-columns:1fr 1fr; }
  .heritage-callout { background-attachment:scroll; }
  .footer-main { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:1/-1; }
}

@media (max-width:560px) {
  .site-header { top:0; height:78px; }
  .header-inner { grid-template-columns:40px 118px 1fr; }
  .brand-button { width:118px; height:72px; }
  .header-inner nav { top:78px; }
  .entry-button { font-size:0; }
  .entry-button::after { content:"ENTRY"; font-size:9px; }
  .hero { height:590px; min-height:590px; }
  .hero-copy { width:calc(100% - 28px) !important; padding-top:85px; }
  .hero h1 { font-size:48px; }
  .hero-copy .eyebrow { font-size:16px; }
  .hero-text { font-size:16px; }
  .hero-actions { align-items:stretch; flex-direction:column; gap:12px; }
  .hero-actions .seal-button,.hero-actions .line-button { width:100%; min-width:0; }
  .heritage-split,.heritage-block,.heritage-gallery,.heritage-action,.heritage-double,.reservation-classic,.contact-classic { width:calc(100% - 28px); }
  .heritage-split { padding:36px 0; gap:30px; }
  .heritage-title { grid-template-columns:1fr; gap:9px; }
  .heritage-title > span { display:none; }
  .heritage-title h2 { font-size:30px; }
  .heritage-block,.heritage-gallery { padding:20px 0 42px; }
  .heritage-photo-grid img { height:230px; }
  .icon-card-grid,.reservation-options,.cigar-picks,.heritage-gallery > div,.classic-faq,.utility-events,.quick-grid { grid-template-columns:1fr; }
  .icon-card-grid article { min-height:190px; }
  .heritage-double { gap:22px; }
  .heritage-double img { width:100%; float:none; margin:0 0 18px; }
  .event-card-grid article { grid-template-columns:62px 1fr; }
  .event-card-grid article > span { width:58px; height:58px; }
  .event-card-grid article > button { grid-column:2; justify-self:start; }
  .heritage-action > div,.center-actions { align-items:stretch; flex-direction:column; gap:12px; }
  .price-grid { grid-template-columns:1fr; }
  .price-grid article { min-height:500px; }
  .utility-strip { padding:36px 14px 58px; }
  .utility-events article:first-child { grid-row:auto; }
  .footer-main { width:calc(100% - 28px); grid-template-columns:1fr; gap:8px; padding-bottom:95px; }
  .footer-brand { grid-column:auto; }
  .footer-address,.footer-social,.footer-links { padding:18px 0; border-left:0; border-top:1px solid rgba(202,148,53,.28); }
  .footer-bottom { padding:18px 14px 88px; align-items:flex-start; gap:10px; }
}

/* Mobile visibility and touch pass. Boxed photography is never cropped. */
.card-visual,
.dispatch-visual,
.price-visual,
.heritage-photo-grid img,
.heritage-gallery img,
.cigar-picks img,
.reservation-options img,
.heritage-split > img,
.heritage-double img,
.contact-classic > div > img,
.label-shelf article > img,
.private-events > img,
.framed-image img,
.member-directory > div a > img {
  object-fit:contain !important;
  object-position:center !important;
  background:#050504;
}

.book-page img {
  transform-origin:left center;
  backface-visibility:hidden;
  animation:guide-page-turn .48s cubic-bezier(.2,.72,.22,1) both;
}
@keyframes guide-page-turn {
  0% { opacity:.28; transform:perspective(1200px) rotateY(-18deg) translateX(-10px); }
  100% { opacity:1; transform:perspective(1200px) rotateY(0) translateX(0); }
}
.keypad-grid button { touch-action:manipulation; -webkit-tap-highlight-color:transparent; -webkit-touch-callout:none; user-select:none; }

@media (max-width:820px) {
  .hero {
    height:auto;
    min-height:0;
    display:block;
    padding-bottom:30px;
    background:#050504;
  }
  .hero > img {
    width:100%;
    height:auto;
    aspect-ratio:16 / 9;
    position:relative;
    inset:auto;
    z-index:0;
    display:block;
    object-fit:contain;
    object-position:center !important;
    transform:none !important;
    filter:saturate(1.03) contrast(1.04) brightness(.9);
    background:#030302;
  }
  .hero-vignette {
    inset:0 0 auto;
    z-index:1;
    height:auto;
    aspect-ratio:16 / 9;
    background:linear-gradient(0deg,rgba(2,2,2,.34),transparent 58%),linear-gradient(90deg,rgba(2,2,2,.18),transparent,rgba(2,2,2,.18));
    pointer-events:none;
  }
  .hero .film-scratches { height:56.25vw; bottom:auto; z-index:2; pointer-events:none; }
  .hero .smoke-layer { height:56.25vw; bottom:auto; z-index:2; pointer-events:none; }
  .hero-copy,
  .hero-lounge .hero-copy,
  .hero-events .hero-copy {
    width:calc(100% - 32px) !important;
    margin:0 auto;
    padding:28px 10px 0;
    position:relative;
    text-align:center;
  }
  .hero-reservations .hero-copy,
  .hero-contact .hero-copy,
  .hero-humidor .hero-copy,
  .hero-vault .hero-copy,
  .hero-members .hero-copy { text-align:center; }
  .hero-copy::before,.hero-copy::after { margin-inline:auto; }
  .hero h1 { font-size:clamp(43px,12vw,68px); }
  .hero-entry { padding-bottom:0; }
  .hero-entry .hero-vignette { display:block; }
  .entry-door-panel { background:#020202; }
  .entry-door-panel > img { object-fit:contain; object-position:center top; background:#020202; }
  .book-tabs button { min-height:78px; touch-action:manipulation; }
  .book-controls > div:last-child { align-items:stretch; }
  .book-controls button { min-height:46px; flex:1; padding:12px 10px; font-size:10px; touch-action:manipulation; }
}

@media (max-width:600px) {
  .hero { padding-bottom:26px; }
  .hero-copy { padding-top:24px; }
  .hero-copy .eyebrow { font-size:14px; }
  .hero h1 { font-size:clamp(40px,12vw,52px); }
  .hero-text { font-size:16px; }
  .hero-actions { margin-top:20px; }
  .hero-entry { padding-bottom:0; }
  .keypad-file { width:100%; max-width:none; padding:22px 14px; }
  .keypad-grid { gap:8px; }
  .keypad-grid button,
  .keypad-file.compact .keypad-grid button { min-height:48px; font-size:16px; }
  .keypad-grid button.key-action,
  .keypad-file.compact .keypad-grid button.key-action { font-size:9px; letter-spacing:.1em; }
  .keypad-file.compact { padding:12px; }
  .keypad-file.compact .code-display { height:42px; margin:10px 0; }
  .keypad-file.compact .keypad-top { padding-bottom:9px; }
  .keypad-file.compact > p { margin-top:10px; line-height:1.35; }
  .intro-console { right:10px; left:10px; bottom:max(10px,env(safe-area-inset-bottom)); }
  .intro-identity { top:74px; }
  .intro-identity strong { font-size:32px; }
  .intro-guest { min-height:44px; }
  .book-page { padding:8px; }
  .book-controls { padding:22px 8px 8px; }
}

/* Final WordPress card overrides follow the inherited responsive sheet. */
.event-card-grid article { grid-template-columns:150px 1fr auto; }
.event-card-grid .event-thumb { width:150px; height:112px; object-fit:contain !important; object-position:center !important; border:1px solid #8e6220; background:#050504; }
@media (max-width:820px) {
  .event-card-grid article { grid-template-columns:120px 1fr; }
  .event-card-grid .event-thumb { width:120px; height:100px; }
  .event-card-grid article > button { grid-column:2; justify-self:start; }
}
@media (max-width:560px) {
  .event-card-grid article { grid-template-columns:1fr; }
  .event-card-grid .event-thumb { width:100%; height:auto; aspect-ratio:16/9; }
  .event-card-grid article > button { grid-column:auto; }
}

/* Final bespoke-media overrides. */
.section-video { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; border:1px solid #b77e24; background:#030302; box-shadow:inset 0 0 0 6px #080705,0 18px 46px rgba(0,0,0,.38); }
.hero-contact { height:auto; min-height:0; background:#030302; }
.hero-contact > img { position:relative; width:100%; height:auto; aspect-ratio:16/9; object-fit:contain !important; object-position:center !important; transform:none !important; }
.hero-contact .hero-vignette,.hero-contact .film-scratches,.hero-contact .smoke-layer { position:absolute; inset:0; }
.hero-contact .hero-copy { display:none !important; }
.footer-logo-loop video { display:block; width:220px; max-width:100%; aspect-ratio:16/9; object-fit:contain; background:#020202; }
.price-grid article { min-height:0 !important; display:flex; flex-direction:column; padding:0 !important; overflow:hidden; border:1px solid #a57222; border-radius:4px; }
.price-grid .price-visual { width:100%; height:auto; aspect-ratio:16/9; margin:0; inset:auto; object-fit:contain !important; object-position:center; background:#050504; border-bottom:1px solid rgba(185,138,62,.42); filter:brightness(.92) saturate(1.03); }
.price-grid .price-card-body { padding:26px 28px 30px; flex:1; display:flex; flex-direction:column; }
.price-grid .price-card-body > button { margin-top:auto; }
.price-grid ul { min-height:0; }
@media (max-width:820px) {
  .section-video { height:auto; object-fit:contain; }
  .hero-contact > img { display:block; }
  .footer-logo-loop { display:flex; justify-content:center; }
  .footer-logo-loop video { width:min(360px,100%); }
}

/* Stable metallic finish: prevents GPU flicker while scrolling. */
.header-inner nav a,
.hero h1,
.heritage-title h2,
.page-content h2 {
  color:#e6bd61 !important;
  background:none !important;
  -webkit-background-clip:border-box !important;
  background-clip:border-box !important;
  -webkit-text-fill-color:currentColor !important;
  filter:none !important;
  text-shadow:0 1px 0 #fff0ad,0 2px 0 #694008,0 4px 12px rgba(0,0,0,.72) !important;
}
.header-inner nav a { text-shadow:0 1px 0 #6b4108,0 0 10px rgba(224,171,67,.18) !important; }
.seal-button,
.line-button,
.header-reserve,
.entry-button { animation:none !important; backface-visibility:hidden; transform:translateZ(0); }
.seal-button::after,
.line-button::after,
.header-reserve::after { animation:none !important; opacity:0; }
.seal-button:hover::after,
.line-button:hover::after,
.header-reserve:hover::after { opacity:1; left:120%; transition:left .65s ease,opacity .2s ease; }

/* Private members room. */
.secret-gateway { min-height:70vh; padding:58px 0 80px; }
.secret-lock { width:min(760px,calc(100% - 32px)); margin:auto; padding:42px; border:1px solid #a57222; background:linear-gradient(145deg,#171008,#070604); box-shadow:0 28px 80px rgba(0,0,0,.55); }
.secret-lock .keypad-file { margin:30px auto 0; }
.secret-room[hidden],.secret-lock[hidden] { display:none !important; }
.secret-status { width:max-content; max-width:100%; margin:28px auto 0; padding:12px 18px; display:flex; align-items:center; gap:12px; border:1px solid rgba(168,117,33,.65); color:#dcc078; font:700 10px/1.3 var(--sans); letter-spacing:.14em; }
.secret-status span,.chat-head > span { width:10px; height:10px; flex:0 0 auto; border-radius:50%; background:#62b676; box-shadow:0 0 16px rgba(98,182,118,.8); }
.member-gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.member-gallery article { min-height:390px; overflow:hidden; border:1px solid #96661d; background:#090806; }
.member-gallery img { width:100%; aspect-ratio:4/3; display:block; object-fit:cover; }
.member-gallery article > div { padding:23px; }
.member-gallery small,.private-event-board small,.chat-head small { color:#a9823a; font:700 8px/1.3 var(--sans); letter-spacing:.16em; }
.member-gallery h3,.private-event-board h3 { margin:9px 0; color:#e0b557; font:600 24px/1.1 var(--serif); }
.member-gallery p,.private-event-board p { color:#c9bea9; font:400 15px/1.55 var(--serif); }
.gallery-coming { padding:34px; display:grid; align-content:center; text-align:center; background:radial-gradient(circle at center,rgba(153,101,24,.18),transparent 60%),#080705 !important; }
.gallery-coming > span { color:#d4a348; font-size:46px; }
.private-event-board { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.private-event-board article { min-height:240px; padding:30px; border:1px solid rgba(165,114,34,.74); background:linear-gradient(145deg,#100c07,#070605); }
.secret-chat { width:min(900px,100%); margin:auto; border:1px solid #a57222; background:#060605; box-shadow:0 25px 70px rgba(0,0,0,.45); }
.chat-head { padding:20px 24px; display:flex; align-items:center; gap:14px; border-bottom:1px solid rgba(165,114,34,.48); background:#110d07; }
.chat-head div { display:grid; gap:5px; }
.chat-head b { color:#e0bc68; font:700 11px/1 var(--sans); letter-spacing:.13em; }
.chat-messages { min-height:270px; max-height:460px; padding:24px; overflow:auto; display:grid; align-content:start; gap:14px; }
.chat-messages article { max-width:78%; padding:14px 16px; display:grid; grid-template-columns:1fr auto; gap:6px 18px; border:1px solid rgba(163,111,31,.4); background:#0d0a06; }
.chat-messages article i { color:#c99a3c; font:700 8px/1 var(--sans); letter-spacing:.13em; }
.chat-messages article p { grid-column:1/-1; margin:0; color:#e5ddd0; font:400 15px/1.45 var(--serif); }
.chat-messages article time { color:#76684e; font:600 8px/1 var(--sans); }
.secret-chat form { padding:18px; display:grid; grid-template-columns:1fr auto; gap:12px; border-top:1px solid rgba(165,114,34,.48); }
.secret-chat input { min-width:0; padding:15px 16px; border:1px solid #76521e; color:#f0e7d6; background:#0b0906; font:400 16px/1 var(--serif); }
.chat-note { margin:0; padding:0 20px 20px; color:#84765c; font:400 11px/1.5 var(--serif); }
.secret-room-invitation .seal-button { text-decoration:none; display:inline-grid; place-items:center; }

/* The mobile mark is centered independently of the menu and entry controls. */
@media (max-width:820px) {
  .site-header .header-inner { position:relative; grid-template-columns:44px 1fr 44px; }
  .site-header .brand-button { width:190px; height:82px; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); z-index:2; }
  .site-header .brand-button img,.site-header .custom-logo { object-position:center; }
  .site-header .menu-button { grid-column:1; position:relative; z-index:3; }
  .site-header .entry-button { grid-column:3; min-width:44px; width:44px; padding:0; position:relative; z-index:3; justify-self:end; font-size:0; }
  .site-header .entry-button span { margin:0; font-size:16px; }
  .site-header .entry-button::after { content:""; }
  .member-gallery,.private-event-board { grid-template-columns:1fr; }
  .member-gallery article { min-height:0; }
}
@media (max-width:560px) {
  .site-header .header-inner { width:calc(100% - 20px); grid-template-columns:40px 1fr 40px; }
  .site-header .brand-button { width:176px; height:74px; }
  .site-header .entry-button { width:40px; min-width:40px; }
  .secret-gateway { padding-top:30px; }
  .secret-lock { padding:24px 14px; }
  .secret-chat form { grid-template-columns:1fr; }
  .secret-chat form .seal-button { width:100%; }
  .chat-messages article { max-width:92%; }
}

/* Stable mobile controls and matching private-membership covers. */
.membership-cover {
  min-height:300px;
  padding:26px;
  position:relative;
  display:grid;
  place-items:center;
  align-content:center;
  gap:16px;
  overflow:hidden;
  border-bottom:1px solid #c18a2e;
  color:#e9c66f;
  background:radial-gradient(circle at 50% 48%,rgba(228,169,61,.3),transparent 30%),linear-gradient(135deg,#18110a,#704615 28%,#20160a 46%,#9a681f 64%,#100c08 88%);
  box-shadow:inset 0 0 0 5px #090705,inset 0 0 0 7px #c08a2d,inset 0 0 0 11px #31200d,inset 0 0 45px #000;
  text-align:center;
}
.membership-cover::before,.membership-cover::after { content:"◆  ❧  ◆"; color:#d9a94c; font:500 22px/1 var(--serif); letter-spacing:.26em; }
.membership-cover small { color:#f0d68d; font:700 9px/1 var(--sans); letter-spacing:.24em; }
.membership-cover strong { max-width:90%; color:#f0cd76; text-shadow:0 1px #fff0b1,0 3px 0 #4a2c05,0 8px 20px #000; font:600 clamp(25px,2.25vw,38px)/1.05 var(--serif); letter-spacing:.04em; text-transform:uppercase; }
.membership-cover span { width:78px; height:78px; display:grid; place-items:center; border:2px solid #e0b75e; border-radius:50%; color:#f6da8c; background:radial-gradient(circle,#5f3d12,#100b06 72%); box-shadow:inset 0 0 0 5px #2c1b09,0 0 0 4px #81571d,0 12px 24px #000; font:600 25px/1 var(--serif); }
.membership-cover em { color:#c59a46; font:700 8px/1 var(--sans); letter-spacing:.2em; font-style:normal; }
.price-grid article.featured .membership-cover { background:radial-gradient(circle at 50% 48%,rgba(255,213,111,.38),transparent 32%),linear-gradient(135deg,#21160a,#a46b1a 28%,#352109 48%,#c18b2d 68%,#140e07 90%); }

@media (max-width:1180px) {
  .site-header { z-index:1000; isolation:isolate; }
  .site-header .header-inner nav {
    display:flex;
    visibility:hidden;
    opacity:0;
    pointer-events:none;
    transform:translate3d(0,-8px,0);
    transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s;
    contain:paint;
    isolation:isolate;
    backface-visibility:hidden;
    will-change:opacity,transform;
  }
  .site-header .header-inner nav.open {
    visibility:visible;
    opacity:1;
    pointer-events:auto;
    transform:translate3d(0,0,0);
    transition-delay:0s;
  }
  .film-grain { z-index:30; }
  .menu-button,.menu-button span { animation:none !important; transition:none !important; transform:none !important; backface-visibility:hidden; }
  .keypad-file,.keypad-grid,.keypad-grid button { contain:paint; backface-visibility:hidden; transform:none !important; transition:none !important; will-change:auto; }
  .keypad-grid button:hover,.keypad-grid button:active { filter:none; transform:none !important; }
  .keypad-light { animation:none !important; opacity:1; }
  .keypad-file.error { animation:none !important; }
}
@media (max-width:560px) {
  .membership-cover { min-height:270px; }
}

/* Mobile touch-state correction: no black flashes or pressed-layout jumps. */
button,a,input,select,textarea,[role="button"] {
  -webkit-tap-highlight-color:transparent;
}
@media (hover:none) and (pointer:coarse) {
  button,a,[role="button"] { touch-action:manipulation; }
  .keypad-file,.keypad-grid,.keypad-grid button {
    contain:none;
    will-change:auto;
    transform:none !important;
    translate:none !important;
    scale:none !important;
  }
  .keypad-grid button,
  .keypad-grid button:hover,
  .keypad-grid button:focus,
  .keypad-grid button:focus-visible,
  .keypad-grid button:active {
    min-height:48px;
    border:1px solid #f2ce78 !important;
    color:#170f05 !important;
    background:linear-gradient(120deg,#533005,#bb7d18 13%,#ffe89a 31%,#a76c12 51%,#f4d174 72%,#613807) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.75),inset 0 -3px 0 rgba(52,28,2,.62),0 5px 0 #402405,0 10px 20px rgba(0,0,0,.4) !important;
    filter:none !important;
    opacity:1 !important;
    transform:none !important;
  }
  .menu-button,
  .menu-button:hover,
  .menu-button:focus,
  .menu-button:active {
    border:1px solid #a77425 !important;
    color:#d7aa4f !important;
    background:#090806 !important;
    box-shadow:none !important;
    filter:none !important;
    opacity:1 !important;
    transform:none !important;
  }
  .seal-button,
  .seal-button:hover,
  .seal-button:focus,
  .seal-button:active,
  .mobile-actions button,
  .mobile-actions button:hover,
  .mobile-actions button:focus,
  .mobile-actions button:active {
    color:#171006 !important;
    background:linear-gradient(112deg,#4e2c05 0%,#a96d13 9%,#ffe9a2 24%,#b87817 39%,#fff0b3 50%,#94600f 64%,#e8bc57 80%,#5b3507 100%) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.72),inset 0 -2px 0 rgba(64,34,0,.55),inset 0 0 0 3px rgba(84,48,7,.23),0 5px 0 #4a2a06 !important;
    filter:none !important;
    opacity:1 !important;
    transform:none !important;
  }
  .line-button,
  .line-button:hover,
  .line-button:focus,
  .line-button:active,
  .entry-button,
  .entry-button:hover,
  .entry-button:focus,
  .entry-button:active {
    filter:none !important;
    opacity:1 !important;
    transform:none !important;
  }
  .price-grid article:active,
  .event-card-grid article:active,
  .icon-card-grid article:active,
  .heritage-photo-grid article:active,
  .member-gallery article:active {
    background-color:inherit;
    filter:none;
    transform:none;
  }
}

/* Unconditional mobile stability for browsers that misreport hover capability. */
@media (max-width:1180px) {
  html,body { overscroll-behavior:none; }
  *,*::before,*::after { -webkit-tap-highlight-color:rgba(0,0,0,0) !important; }
  .film-grain,.site-fog,.ground-fog { display:none !important; }
  .ember-field { position:absolute !important; }
  .hero > img,.clean-hero > img,.art-hero > img { transform:none !important; transition:none !important; will-change:auto !important; }
  .site-header .header-inner nav {
    display:none !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto;
    transform:none !important;
    transition:none !important;
    contain:none !important;
    will-change:auto !important;
  }
  .site-header .header-inner nav.open { display:flex !important; }
  .menu-button,.menu-button:hover,.menu-button:focus,.menu-button:focus-visible,.menu-button:active {
    transform:none !important;
    transition:none !important;
    filter:none !important;
    opacity:1 !important;
    background:#090806 !important;
    box-shadow:none !important;
  }
  .keypad-file,.keypad-file.compact,.keypad-grid,.keypad-grid button {
    contain:none !important;
    isolation:auto !important;
    transform:none !important;
    transition:none !important;
    will-change:auto !important;
    backface-visibility:visible !important;
  }
  .keypad-grid button,
  .keypad-file.compact .keypad-grid button,
  .keypad-grid button:hover,
  .keypad-grid button:focus,
  .keypad-grid button:focus-visible,
  .keypad-grid button:active {
    -webkit-appearance:none !important;
    appearance:none !important;
    color:#1a1004 !important;
    background-color:#c89439 !important;
    background-image:linear-gradient(180deg,#f7d981 0%,#c08a2a 50%,#8b5810 100%) !important;
    border:1px solid #f2ce78 !important;
    border-radius:0 !important;
    box-shadow:inset 0 1px 0 #fff0b1,0 3px 0 #4a2a06 !important;
    filter:none !important;
    opacity:1 !important;
    outline:none !important;
    transform:none !important;
  }
  .keypad-grid button:active { background-image:linear-gradient(180deg,#f7d981 0%,#c08a2a 50%,#8b5810 100%) !important; }
  .seal-button,.line-button,.entry-button,.mobile-actions button,
  .seal-button:hover,.line-button:hover,.entry-button:hover,.mobile-actions button:hover,
  .seal-button:focus,.line-button:focus,.entry-button:focus,.mobile-actions button:focus,
  .seal-button:active,.line-button:active,.entry-button:active,.mobile-actions button:active {
    transition:none !important;
    filter:none !important;
    opacity:1 !important;
    transform:none !important;
  }
  .department-grid a,.member-directory a,.heritage-photo-grid article,.event-card-grid article,.price-grid article {
    transition:none !important;
    transform:none !important;
    filter:none !important;
  }
  .department-grid a:active,.member-directory a:active,.heritage-photo-grid article:active,.event-card-grid article:active,.price-grid article:active {
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
  }
}

@media (max-width:1180px) {
  .ember-field,.site-fog,.ground-fog,.film-grain,.hero .smoke-layer { display:none !important; }
  .keypad-file,.keypad-file.compact { background:#120d07 !important; background-image:none !important; box-shadow:inset 0 0 0 2px #8e6428 !important; }
  .keypad-grid button,.keypad-file.compact .keypad-grid button,
  .keypad-grid button:hover,.keypad-grid button:focus,.keypad-grid button:focus-visible,.keypad-grid button:active {
    color:#170f05 !important;
    background:#c99538 !important;
    background-image:none !important;
    border:1px solid #f0ca72 !important;
    box-shadow:none !important;
    text-shadow:none !important;
    filter:none !important;
    transform:none !important;
  }
  .seal-button,.mobile-actions button,
  .seal-button:hover,.mobile-actions button:hover,.seal-button:focus,.mobile-actions button:focus,.seal-button:active,.mobile-actions button:active {
    color:#171006 !important;
    background:#c99538 !important;
    background-image:none !important;
    box-shadow:none !important;
    text-shadow:none !important;
    filter:none !important;
    transform:none !important;
  }
  .department-grid a:hover .card-visual,.rules-grid article:hover .card-visual,.parlor-grid article:hover .card-visual,.profile-ledger article:hover .card-visual,
  .label-shelf article:hover > img,.member-directory > div a:hover > img,.heritage-photo-grid article:hover img { filter:none !important; transform:none !important; }
}

/* Restored static metallic gold — rich finish without mobile movement. */
.seal-button,.mobile-actions button {
  color:#171006 !important;
  background-color:#c38c2d !important;
  background-image:linear-gradient(115deg,#4f2d05 0%,#a76b12 10%,#f8db83 24%,#b97817 38%,#fff0ad 50%,#95600f 64%,#e7b94e 80%,#5b3407 100%) !important;
  background-size:100% 100% !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72),inset 0 -2px 0 rgba(61,33,2,.56),inset 0 0 0 2px rgba(84,48,7,.25) !important;
}
.line-button,.entry-button {
  border-color:#d8a846 !important;
  color:#e6c168 !important;
  background-color:#120d07 !important;
  background-image:linear-gradient(115deg,#090704,#2d1b07 38%,#58390f 50%,#1d1308 64%,#080604) !important;
  box-shadow:inset 0 0 0 1px rgba(246,205,107,.16) !important;
}
.keypad-grid button,.keypad-file.compact .keypad-grid button,
.keypad-grid button:hover,.keypad-grid button:focus,.keypad-grid button:focus-visible,.keypad-grid button:active {
  color:#170f05 !important;
  background-color:#c99538 !important;
  background-image:linear-gradient(120deg,#5a3406 0%,#b77917 14%,#ffe698 31%,#aa6d12 50%,#f6d273 72%,#613807 100%) !important;
  background-size:100% 100% !important;
  border-color:#f2ce78 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.76),inset 0 -2px 0 rgba(55,29,2,.58) !important;
}
.membership-cover {
  background-color:#4f3210 !important;
  background-image:radial-gradient(circle at 50% 48%,rgba(255,215,119,.28),transparent 31%),linear-gradient(135deg,#120d08 0%,#754a15 26%,#d3a044 39%,#2b1b09 50%,#9a681f 67%,#e1b657 78%,#100c08 100%) !important;
}
.header-inner nav a,.hero h1,.heritage-title h2,.page-content h2 {
  color:#e4b957 !important;
  text-shadow:0 1px 0 #fff0ac,0 2px 0 #704408,0 4px 10px rgba(0,0,0,.66) !important;
}
@media (max-width:1180px) {
  .seal-button,.line-button,.entry-button,.mobile-actions button,.keypad-grid button,
  .seal-button:hover,.line-button:hover,.entry-button:hover,.mobile-actions button:hover,.keypad-grid button:hover,
  .seal-button:focus,.line-button:focus,.entry-button:focus,.mobile-actions button:focus,.keypad-grid button:focus,
  .seal-button:active,.line-button:active,.entry-button:active,.mobile-actions button:active,.keypad-grid button:active {
    animation:none !important;
    transition:none !important;
    filter:none !important;
    opacity:1 !important;
    transform:none !important;
  }
}

/* Keep a lightweight ember field visible on mobile after stability overrides. */
@media (max-width:1180px) {
  .ember-field {
    display:block !important;
    position:fixed !important;
    inset:0 !important;
    z-index:43 !important;
    opacity:.52 !important;
    overflow:hidden !important;
    pointer-events:none !important;
  }
  .ember-field i {
    display:block !important;
    width:2px !important;
    height:2px !important;
    box-shadow:0 0 3px rgba(255,177,66,.65) !important;
    animation-duration:18s !important;
    pointer-events:none !important;
  }
  .ember-field i:nth-child(n+8) { display:none !important; }
}

/* Metallic navigation with a Smokeasy cigar-and-smoke hover signature. */
.header-inner nav a {
  position:relative;
  isolation:isolate;
  color:#e8bf61 !important;
  text-shadow:0 1px 0 #fff1af,0 2px 0 #704307,0 0 9px rgba(229,177,67,.25) !important;
}
.header-inner nav .menu-label { position:relative; z-index:2; }
.header-inner nav .menu-cigar {
  width:54px;
  height:8px;
  position:absolute;
  left:50%;
  bottom:9px;
  z-index:3;
  display:block;
  border:1px solid #8b4e19;
  border-radius:7px 2px 2px 7px;
  opacity:0;
  pointer-events:none;
  transform:translate3d(-50%,7px,0) rotate(-4deg) scale(.72);
  transform-origin:center;
  background:linear-gradient(180deg,#d79a56 0%,#743a16 34%,#3c1b0d 66%,#9b5728 100%);
  box-shadow:inset 0 1px 1px rgba(255,222,162,.55),0 3px 8px rgba(0,0,0,.7);
  transition:opacity .22s ease,transform .28s cubic-bezier(.2,.8,.2,1);
}
.header-inner nav .menu-cigar::before {
  content:"S";
  width:13px;
  position:absolute;
  right:9px;
  top:-3px;
  bottom:-3px;
  display:grid;
  place-items:center;
  border:1px solid #f2ce72;
  color:#1a1005;
  background:linear-gradient(90deg,#704007,#f4d77d 45%,#9f6817);
  font:700 7px/1 Georgia,serif;
  text-shadow:none;
}
.header-inner nav .menu-cigar::after {
  content:"";
  width:5px;
  height:7px;
  position:absolute;
  left:-4px;
  top:0;
  border-radius:50%;
  background:#dd7b21;
  box-shadow:0 0 6px 2px rgba(255,119,29,.76);
}
.header-inner nav .menu-cigar i,
.header-inner nav .menu-cigar i::before,
.header-inner nav .menu-cigar i::after {
  content:"";
  width:17px;
  height:25px;
  position:absolute;
  left:-8px;
  bottom:5px;
  display:block;
  border-radius:50%;
  background:radial-gradient(ellipse at 50% 80%,rgba(238,232,220,.58),rgba(214,207,194,.18) 42%,transparent 72%);
  filter:blur(2px);
  opacity:0;
}
.header-inner nav a:hover .menu-cigar,
.header-inner nav a:focus-visible .menu-cigar {
  opacity:1;
  transform:translate3d(-50%,0,0) rotate(-4deg) scale(1);
}
.header-inner nav a:hover .menu-cigar i,
.header-inner nav a:focus-visible .menu-cigar i { animation:menu-smoke-rise 1.9s ease-out infinite; }
.header-inner nav a:hover .menu-cigar i::before,
.header-inner nav a:focus-visible .menu-cigar i::before { animation:menu-smoke-rise 1.9s -.62s ease-out infinite; }
.header-inner nav a:hover .menu-cigar i::after,
.header-inner nav a:focus-visible .menu-cigar i::after { animation:menu-smoke-rise 1.9s -1.24s ease-out infinite; }
@keyframes menu-smoke-rise {
  0% { opacity:0; transform:translate3d(0,3px,0) scale(.55) rotate(-8deg); }
  25% { opacity:.55; }
  100% { opacity:0; transform:translate3d(-8px,-31px,0) scale(1.35) rotate(12deg); }
}
@media (max-width:1180px) {
  .header-inner nav a { color:#e8bf61 !important; text-shadow:0 1px 0 #6b4108 !important; }
  .header-inner nav .menu-cigar {
    display:block !important;
    left:auto;
    right:8px;
    top:50%;
    bottom:auto;
    transform:translate3d(8px,-50%,0) rotate(-4deg) scale(.72);
    transition:opacity .18s ease,transform .24s ease !important;
  }
  .header-inner nav a.touch-preview .menu-cigar,
  .header-inner nav a:focus-visible .menu-cigar {
    opacity:1;
    transform:translate3d(0,-50%,0) rotate(-4deg) scale(1);
  }
  .header-inner nav a.touch-preview .menu-cigar i,
  .header-inner nav a:focus-visible .menu-cigar i { animation:menu-smoke-rise 1.9s ease-out infinite !important; }
  .header-inner nav a.touch-preview .menu-cigar i::before,
  .header-inner nav a:focus-visible .menu-cigar i::before { animation:menu-smoke-rise 1.9s -.62s ease-out infinite !important; }
  .header-inner nav a.touch-preview .menu-cigar i::after,
  .header-inner nav a:focus-visible .menu-cigar i::after { animation:menu-smoke-rise 1.9s -1.24s ease-out infinite !important; }
}
@media (prefers-reduced-motion:reduce) {
  .header-inner nav .menu-cigar i,
  .header-inner nav .menu-cigar i::before,
  .header-inner nav .menu-cigar i::after { animation:none !important; }
}

/* Official house tagline above every keypad display. */
.keypad-tagline {
  margin:14px 0 2px;
  color:#e8bf61;
  font:600 clamp(8px,.72vw,11px)/1.3 var(--serif);
  letter-spacing:.18em;
  text-align:center;
  text-transform:uppercase;
  text-shadow:0 1px 0 #fff0ad,0 2px 0 #694008,0 0 10px rgba(224,171,67,.25);
}
.keypad-file.compact .keypad-tagline { margin:10px 0 0; font-size:7px; letter-spacing:.13em; }
@media (max-width:820px) {
  .keypad-tagline { margin:10px 0 0; font-size:8px; letter-spacing:.1em; }
}

/* Logo-bright metallic type across navigation, headings, and highlighted copy. */
.hero h1,
.heritage-title h2,
.page-content h2,
.page-content h3,
.page-content .eyebrow,
.page-content article > b,
.keypad-tagline,
.footer-bottom b,
.footer-credit,
.header-inner nav .menu-label {
  color:#f1ca64 !important;
  background-color:#d29a2d !important;
  background-image:linear-gradient(180deg,#fff9d9 0%,#ffe99d 14%,#d99920 35%,#fff0a8 50%,#9a5c08 69%,#f5ca58 84%,#fff1a8 100%) !important;
  background-size:100% 160% !important;
  background-position:50% 42% !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
  filter:drop-shadow(0 1px 0 #5d3505) drop-shadow(0 3px 7px rgba(0,0,0,.7)) !important;
  text-shadow:none !important;
}
.header-inner nav a { color:#f1ca64 !important; background:none !important; -webkit-text-fill-color:initial !important; text-shadow:none !important; }
.header-inner nav a:hover .menu-label,.header-inner nav a.active .menu-label { background-position:50% 100% !important; filter:drop-shadow(0 0 7px rgba(255,210,94,.64)) !important; }

/* Continuous polished-metal sweep on the house buttons. */
.seal-button,.line-button,.entry-button,.mobile-actions button {
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
}
.seal-button::after,.line-button::after,.entry-button::after,.mobile-actions button::after {
  content:"" !important;
  width:34% !important;
  height:auto !important;
  position:absolute !important;
  inset:-75% auto -75% -48% !important;
  z-index:2 !important;
  display:block !important;
  opacity:.82 !important;
  pointer-events:none !important;
  background:linear-gradient(90deg,transparent,rgba(255,250,210,.78),transparent) !important;
  transform:skewX(-22deg) !important;
  animation:smokeasy-button-shine 4.2s ease-in-out infinite !important;
}
@keyframes smokeasy-button-shine {
  0%,68% { left:-48%; }
  90%,100% { left:126%; }
}

/* The new 4K door loop is the clean Home hero; the former hero image moves below. */
.hero-home { padding:0; background:#020201; }
.hero-home .home-hero-video {
  width:100%;
  height:100%;
  position:absolute;
  inset:0;
  display:block;
  object-fit:cover;
  object-position:center;
  background:#020201;
}
.hero-home .hero-vignette { background:linear-gradient(90deg,rgba(0,0,0,.08),transparent 28% 72%,rgba(0,0,0,.08)),linear-gradient(0deg,rgba(0,0,0,.2),transparent 38%); }
.home-intimate-image { object-fit:cover !important; object-position:center !important; }

/* Large centered house mark with navigation beneath it on desktop. */
@media (min-width:1181px) {
  .site-header { height:164px; }
  .site-header .header-inner { width:min(1640px,calc(100% - 42px)); position:relative; display:flex; align-items:flex-end; justify-content:center; padding-bottom:12px; }
  .site-header .brand-button { width:300px; height:104px; position:absolute; left:50%; top:3px; z-index:4; transform:translateX(-50%); }
  .site-header .brand-button img,.site-header .custom-logo { object-position:center; filter:drop-shadow(0 0 16px rgba(227,168,49,.36)); }
  .site-header .header-inner nav { width:100%; justify-content:center; }
  .site-header .header-inner nav a { padding:18px 0 15px; }
  .site-header .header-inner nav a::after { bottom:5px; }
  .site-header .entry-button { position:absolute !important; right:0; top:28px; z-index:5; }
  .header-inner nav .menu-cigar { bottom:-10px; }
}
@media (max-width:1180px) {
  .site-header .brand-button { width:220px; height:86px; left:50%; object-position:center; }
  .site-header .header-inner nav .menu-label { display:inline-block; }
}
@media (max-width:820px) {
  .hero-home { height:auto !important; min-height:0 !important; aspect-ratio:16/9; }
  .hero-home .home-hero-video { position:relative; inset:auto; width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; }
  .hero-home .hero-vignette,.hero-home .film-scratches,.hero-home .smoke-layer { position:absolute; inset:0; }
  .site-header .brand-button { width:218px; height:84px; }
  .footer-bottom .footer-credit { display:inline-block; }
}
@media (max-width:560px) {
  .site-header .brand-button { width:196px; height:76px; }
}
.footer-credit { color:#e7bd5c; font:600 10px/1.3 var(--serif); letter-spacing:.045em; text-decoration:none; }
.footer-credit:hover { filter:drop-shadow(0 0 7px rgba(255,210,94,.65)) !important; }
@media (prefers-reduced-motion:reduce) {
  .seal-button::after,.line-button::after,.entry-button::after,.mobile-actions button::after { animation:none !important; opacity:.28 !important; left:45% !important; }
}

/* Final navigation architecture: the logo sits inside the menu row. */
@media (min-width:1181px) {
  .site-header { height:118px !important; }
  .site-header .header-inner {
    width:min(1720px,calc(100% - 34px));
    height:100%;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 286px minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:22px;
    padding:0 !important;
  }
  .site-header .brand-button {
    width:286px !important;
    height:108px !important;
    position:static !important;
    grid-column:2;
    transform:none !important;
  }
  .site-header .desktop-nav { display:flex !important; position:static !important; width:100%; }
  .site-header .desktop-nav-left { grid-column:1; grid-row:1; justify-content:flex-end !important; }
  .site-header .desktop-nav-right { grid-column:3; grid-row:1; justify-content:flex-start !important; }
  .site-header .mobile-nav { display:none !important; }
  .site-header .header-inner nav a { padding:48px 0 39px !important; }
  .site-header .header-inner nav a::after { bottom:27px !important; }
  .site-header .entry-button { position:static !important; grid-column:4; grid-row:1; align-self:center; }
  .header-inner nav .menu-cigar { bottom:11px !important; }
}
@media (max-width:1180px) {
  .site-header .desktop-nav { display:none !important; }
  .site-header .mobile-nav { display:flex; }
  .site-header .brand-button { position:absolute !important; left:50% !important; top:50% !important; transform:translate(-50%,-50%) !important; }
}

/* The Home film remains fully visible, with title and typewritten house line only. */
.hero-home {
  width:100%;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:16/9;
  position:relative;
  overflow:hidden;
}
.hero-home .home-hero-video {
  width:100% !important;
  height:100% !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0;
  object-fit:contain !important;
  object-position:center !important;
}
.hero-home .hero-vignette,.hero-home .film-scratches { display:none !important; }
.hero-home .smoke-layer { display:block !important; z-index:2 !important; opacity:.72 !important; }
.hero-home .smoke-layer i { display:block !important; }
.home-hero-copy {
  width:min(940px,92vw) !important;
  margin:0 !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  z-index:4 !important;
  transform:translate(-50%,-50%) !important;
  text-align:center;
}
.home-hero-copy::before,.home-hero-copy::after { display:none !important; }
.home-hero-copy h1 { margin:0 0 24px; font-size:clamp(54px,7.5vw,138px) !important; text-shadow:0 2px 0 #fff0ad,0 5px 0 #704408,0 10px 28px #000 !important; }
.home-typing-tagline {
  width:max-content;
  max-width:100%;
  margin:0 auto;
  overflow:hidden;
  border-right:2px solid #f4ce69;
  color:#f4ce69;
  white-space:nowrap;
  font:600 clamp(10px,1.15vw,20px)/1.35 var(--serif);
  letter-spacing:.12em;
  text-shadow:0 2px 8px #000,0 0 12px rgba(229,171,50,.35);
  animation:none;
}
.home-typing-tagline.is-typing { min-height:1.35em; animation:house-caret .75s step-end infinite; }
@keyframes house-caret { 0%,100% { border-color:transparent; } 50% { border-color:#f4ce69; } }
@media (max-width:700px) {
  .home-hero-copy h1 { margin-bottom:12px; font-size:clamp(34px,10vw,68px) !important; }
  .home-typing-tagline { font-size:clamp(7px,2.2vw,13px); letter-spacing:.08em; }
}
@media (prefers-reduced-motion:reduce) {
  .home-typing-tagline { width:auto; border-right:0; animation:none; }
}

/* Lighter internal hero shading keeps the high-resolution photography visible. */
.hero:not(.hero-home) .hero-vignette {
  background:linear-gradient(90deg,rgba(2,2,2,.58),rgba(2,2,2,.14) 52%,rgba(2,2,2,.025)),linear-gradient(0deg,rgba(2,2,2,.32),transparent 56%,rgba(2,2,2,.06)) !important;
}
.hero:not(.hero-home) > img { filter:saturate(1.04) contrast(1.02) brightness(.96) !important; }

/* More breathing room and black separation between every page section. */
.page-content > section { position:relative; }
.page-content > section + section { margin-top:52px !important; }
.page-content > section + section::before {
  content:"";
  height:24px;
  position:absolute;
  left:0;
  right:0;
  top:-38px;
  pointer-events:none;
  background:#030302;
  border-block:1px solid rgba(184,125,36,.16);
}
@media (max-width:820px) {
  .page-content > section + section { margin-top:34px !important; }
  .page-content > section + section::before { height:16px; top:-25px; }
}

/* Four-icon event ledger in the lower site utility area. */
.utility-events { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:20px 26px !important; }
.utility-events article,.utility-events article:first-child { min-height:122px; grid-row:auto !important; align-items:start; }
.utility-events article > span { width:52px !important; height:52px !important; color:#f0c864 !important; background:radial-gradient(circle,#3f290d,#090705 72%); box-shadow:inset 0 0 0 3px #171006,0 0 0 1px #d2a247; font:600 22px/1 var(--serif); }
@media (max-width:680px) { .utility-events { grid-template-columns:1fr !important; } }

/* The original metallic sweep and hover wipe remain active on house buttons. */
.seal-button,.mobile-actions button {
  background-size:230% 100% !important;
  background-position:0 0 !important;
  transition:background-position .68s ease,filter .25s ease,transform .25s ease !important;
}
.line-button,.entry-button {
  background-size:230% 100% !important;
  background-position:0 0 !important;
  transition:background-position .68s ease,border-color .25s ease,color .25s ease !important;
}
.seal-button:hover,.seal-button:focus-visible,.mobile-actions button:hover,.mobile-actions button:focus-visible,
.line-button:hover,.line-button:focus-visible,.entry-button:hover,.entry-button:focus-visible { background-position:100% 0 !important; }

/* Full membership-card graphics inspired by the original Smokeasy card. */
.membership-cover {
  width:100%;
  min-height:0 !important;
  aspect-ratio:1.58;
  padding:clamp(14px,1.5vw,25px) !important;
  display:grid !important;
  grid-template-columns:1.08fr .92fr;
  grid-template-rows:1fr auto;
  gap:10px 18px !important;
  overflow:hidden;
  border:2px solid #d6aa4d;
  border-radius:18px;
  background:radial-gradient(circle at 18% 18%,rgba(220,167,67,.2),transparent 27%),linear-gradient(135deg,#030302,#171108 48%,#030302) !important;
  box-shadow:inset 0 0 0 3px #070604,inset 0 0 0 5px #8e6428,0 16px 34px rgba(0,0,0,.55) !important;
}
.membership-cover::before { content:""; position:absolute; inset:7px; border:1px solid rgba(240,194,90,.62); border-radius:12px; pointer-events:none; }
.membership-cover::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(112deg,transparent 22%,rgba(255,236,166,.14) 42%,transparent 59%); mix-blend-mode:screen; }
.membership-cover-1 { --card-accent:#c9822e; background:radial-gradient(circle at 18% 18%,rgba(201,130,46,.3),transparent 28%),linear-gradient(135deg,#120805,#4b1f0d 50%,#090403) !important; }
.membership-cover-2 { --card-accent:#d7c2a1; background:radial-gradient(circle at 18% 18%,rgba(215,194,161,.25),transparent 28%),linear-gradient(135deg,#0c0d0e,#34383b 50%,#060707) !important; }
.membership-cover-3 { --card-accent:#ff8fbe; background:radial-gradient(circle at 16% 18%,rgba(255,143,190,.4),transparent 28%),radial-gradient(circle at 82% 74%,rgba(71,190,120,.38),transparent 34%),linear-gradient(135deg,#2a0719,#73304f 44%,#123d2b 78%,#06140e) !important; }
.membership-cover-4 { --card-accent:#efc75d; background:radial-gradient(circle at 18% 18%,rgba(239,199,93,.36),transparent 28%),linear-gradient(135deg,#12051e,#4c1d72 48%,#8a5a11 82%,#160e03) !important; }
.membership-cover-5 { --card-accent:#f0c35a; background:radial-gradient(circle at 18% 18%,rgba(240,195,90,.35),transparent 28%),linear-gradient(135deg,#100b03,#583b08 50%,#080501) !important; }
.membership-cover-6 { --card-accent:#9cb1b3; background:radial-gradient(circle at 18% 18%,rgba(156,177,179,.25),transparent 28%),linear-gradient(135deg,#05090a,#203538 50%,#020405) !important; }
.membership-cover[class*="membership-cover-"] { border-color:var(--card-accent); box-shadow:inset 0 0 0 3px #070604,inset 0 0 0 5px color-mix(in srgb,var(--card-accent) 70%,#5d421d),0 16px 34px rgba(0,0,0,.55) !important; }
.membership-cover[class*="membership-cover-"] .membership-card-tier strong,.membership-cover[class*="membership-cover-"] .membership-card-tier > span { color:var(--card-accent); border-color:var(--card-accent); }
.membership-card-brand,.membership-card-tier { position:relative; z-index:2; }
.membership-card-brand { display:flex; flex-direction:column; justify-content:center; align-items:center; min-width:0; }
.membership-card-brand img { width:88%; max-height:130px; object-fit:contain; filter:drop-shadow(0 0 10px rgba(214,155,43,.25)); }
.membership-card-brand small { color:#deb04f; font:600 clamp(5px,.48vw,8px)/1.2 var(--serif); letter-spacing:.14em; text-align:center; }
.membership-card-tier { display:grid; align-content:center; justify-items:center; text-align:center; }
.membership-card-tier > small { color:#d9aa49; font:600 clamp(6px,.62vw,10px)/1 var(--serif); letter-spacing:.18em; }
.membership-card-tier strong { max-width:100%; margin:9px 0 7px; color:#f0ca6d; font:700 clamp(17px,1.6vw,29px)/1 var(--serif); letter-spacing:.045em; text-transform:uppercase; text-shadow:0 2px 7px #000; }
.membership-card-tier > span { width:48px; height:48px; display:grid; place-items:center; border:1px solid #e0b75e; border-radius:50%; color:#f6da8c; background:radial-gradient(circle,#5f3d12,#100b06 72%); font:600 17px/1 var(--serif); }
.membership-card-tier em { margin-top:8px; color:#bd9141; font:600 clamp(5px,.48vw,8px)/1 var(--sans); letter-spacing:.1em; font-style:normal; }
.membership-card-perks { grid-column:1/-1; display:grid; grid-template-columns:repeat(4,1fr); position:relative; z-index:2; border-top:1px solid rgba(218,171,73,.48); }
.membership-card-perks > span { min-width:0; padding:8px 4px 0; display:grid; justify-items:center; gap:4px; border-right:1px solid rgba(218,171,73,.26); text-align:center; }
.membership-card-perks > span:last-child { border-right:0; }
.membership-card-perks i { color:#e6b953; font:600 14px/1 var(--serif); font-style:normal; }
.membership-card-perks b { color:#cda14d; font:600 clamp(4px,.4vw,7px)/1.2 var(--sans); text-transform:uppercase; }
.membership-card-footer { grid-column:1/-1; margin:0 -25px -25px; padding:7px 25px; position:relative; z-index:2; display:grid; grid-template-columns:auto auto 1fr; align-items:center; gap:10px; color:#130c03; background:linear-gradient(90deg,#8e570b,#f2d174 48%,#9c6413); }
.membership-card-footer b { font:700 clamp(9px,1vw,17px)/1 var(--serif); text-transform:uppercase; }
.membership-card-footer span { font:700 clamp(5px,.46vw,8px)/1 var(--sans); }
.membership-card-footer em { justify-self:end; font:700 clamp(5px,.5vw,9px)/1 var(--serif); letter-spacing:.1em; font-style:normal; }
@media (max-width:560px) {
  .price-grid,.price-grid article { width:100%; min-width:0; max-width:100%; }
  .membership-cover { width:100% !important; max-width:100% !important; min-width:0 !important; aspect-ratio:1.58; box-sizing:border-box; grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr); gap:5px 7px !important; border-radius:12px; padding:10px !important; }
  .membership-cover::before { inset:5px; }
  .membership-card-brand,.membership-card-tier,.membership-card-perks,.membership-card-footer { min-width:0; max-width:100%; }
  .membership-card-brand img { width:82%; max-height:68px; }
  .membership-card-brand small { font-size:4px; letter-spacing:.08em; }
  .membership-card-tier > small { font-size:4px; letter-spacing:.08em; }
  .membership-card-tier strong { margin:4px 0; font-size:clamp(11px,4vw,16px); letter-spacing:.02em; }
  .membership-card-tier > span { width:28px; height:28px; font-size:10px; }
  .membership-card-tier em { margin-top:4px; font-size:4px; letter-spacing:.04em; }
  .membership-card-perks > span { padding:4px 2px 0; gap:2px; }
  .membership-card-perks i { font-size:8px; }
  .membership-card-perks b { font-size:3.5px; line-height:1.1; }
  .membership-card-footer { margin:0 -10px -10px; padding:5px 10px; gap:5px; }
  .membership-card-footer b { font-size:7px; }
  .membership-card-footer span,.membership-card-footer em { font-size:3.5px; }
  .price-grid .price-card-body > small { margin-top:0; }
}

/* Dedicated legal ledgers. */
.legal-ledger { width:min(1080px,calc(100% - 40px)); margin:0 auto; padding:72px 0 92px; }
.legal-ledger article { margin-top:24px; padding:28px 32px; border:1px solid rgba(178,122,33,.55); background:#090806; }
.legal-ledger article h3 { margin:0 0 12px; }
.legal-ledger article p { margin:0; color:#ddd5c8; font:400 16px/1.7 var(--serif); }
.smokeasy-returning .entry-intro { display:none !important; }

/* Bright-white readability pass. Metallic-gold display type remains untouched. */
body,
.hero-text,
.heritage-copy p,
.heritage-block p,
.heritage-block li,
.editorial-copy p,
.experience-card p,
.standard-grid p,
.dispatch-list p,
.event-card-grid p,
.full-dispatch p,
.price-card-body > p:not(.price),
.price-card-body li,
.legal-ledger article p,
.faq-grid article p,
.reservation-copy p,
.contact-copy p,
.wire-form label,
.wire-form input,
.wire-form select,
.wire-form textarea,
.privacy-note,
.chat-note,
.footer-copy,
.footer-contact,
.ledger-note { color:#fff !important; }

.wire-form input::placeholder,
.wire-form textarea::placeholder { color:rgba(255,255,255,.82) !important; opacity:1; }
