:root {
  --bg: #0e0e10;
  --bg-raised: #131316;
  --bg-panel: #17171b;
  --bg-soft: #1f1f25;
  --text: #e4e0da;
  --text-soft: #a39d94;
  --text-muted: #7b756b;
  --accent: #b89260;
  --accent-soft: rgba(184, 146, 96, 0.12);
  --border: rgba(228, 224, 218, 0.08);
  --border-strong: rgba(228, 224, 218, 0.14);
  --shadow: 0 18px 60px rgba(0,0,0,0.35);
  --radius: 18px;
  --radius-sm: 10px;
  --max: 1240px;
  --font-display: 'Cormorant Garamond', Georgia, serif;
  --font-body: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body.access-body{font-family:var(--font-body);background:radial-gradient(circle at top, rgba(184,146,96,.08), transparent 28%), var(--bg);color:var(--text);min-height:100vh}
a{text-decoration:none;color:inherit}
button,input,select{font:inherit}
.access-shell{padding:20px}
.access-header{max-width:var(--max);margin:0 auto 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 0}
.access-brand-logo{height:34px;width:auto;display:block}
.access-header-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.access-header-links a{font-size:.95rem;color:var(--text-soft)}
.access-header-links a:hover{color:var(--text)}
.access-main{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:22px;align-items:stretch}
.access-panel{background:linear-gradient(180deg, rgba(255,255,255,0.015), rgba(255,255,255,0)), var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}
.access-panel--content{padding:34px 34px 30px}
.access-panel--aside{padding:34px 30px;position:relative;overflow:hidden}
.access-panel--aside::before{content:'';position:absolute;inset:auto -40px -70px auto;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle, rgba(184,146,96,.14), transparent 70%)}
.access-eyebrow,.access-aside-kicker{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 14px}
.access-heading,.access-aside-heading{font-family:var(--font-display);line-height:1.02;font-weight:600;letter-spacing:-.01em;margin:0}
.access-heading{font-size:clamp(2rem,5vw,3.5rem);max-width:12ch}
.access-aside-heading{font-size:clamp(1.6rem,3vw,2.4rem);max-width:14ch}
.access-body-copy,.access-aside-copy{color:var(--text-soft);line-height:1.7;margin:16px 0 0}
.access-status{padding:14px 16px;border-radius:12px;border:1px solid var(--border-strong);margin:22px 0 0;font-size:.96rem;line-height:1.6}
.access-status--error{background:rgba(168,78,78,.12);border-color:rgba(220,110,110,.18);color:#f1c2c2}
.access-status--success{background:rgba(82,130,96,.14);border-color:rgba(115,172,128,.22);color:#cae7d2}
.access-status--warn{background:rgba(184,146,96,.12);border-color:rgba(184,146,96,.18);color:#e6d2b4}
.access-card-stack{display:flex;flex-direction:column;gap:18px;margin-top:24px}
.access-google{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:14px 18px;border:1px solid var(--border-strong);border-radius:14px;background:#101014;color:var(--text);font-weight:500;transition:border-color .18s ease, transform .18s ease, background .18s ease}
.access-google:hover{border-color:rgba(184,146,96,.35);transform:translateY(-1px);background:#15151a}
.access-google-mark{display:inline-flex;width:20px;height:20px;align-items:center;justify-content:center;border-radius:50%;background:#fff;color:#111;font-weight:700;font-size:.88rem}
.access-separator{display:flex;align-items:center;gap:12px;color:var(--text-muted);font-size:.86rem;letter-spacing:.08em;text-transform:uppercase}
.access-separator::before,.access-separator::after{content:'';height:1px;background:var(--border);flex:1}
.access-form{display:grid;gap:16px}
.access-grid{display:grid;gap:16px}
.access-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.access-grid--3{grid-template-columns:1fr 1.15fr 1fr}
.field{display:flex;flex-direction:column;gap:8px}
.field label{font-size:.92rem;font-weight:500;color:var(--text)}
.field input,.field select{width:100%;padding:13px 14px;border-radius:12px;border:1px solid var(--border);background:var(--bg-panel);color:var(--text);outline:none;transition:border-color .18s ease, box-shadow .18s ease}
.field input::placeholder{color:var(--text-muted)}
.field input:focus,.field select:focus{border-color:rgba(184,146,96,.38);box-shadow:0 0 0 4px rgba(184,146,96,.12)}
.field-help,.field-error{font-size:.82rem;line-height:1.5}
.field-help{color:var(--text-muted)}
.field-error{color:#edb1b1}
.password-wrap{position:relative}
.password-toggle{position:absolute;top:50%;right:12px;transform:translateY(-50%);border:0;background:none;color:var(--text-muted);cursor:pointer;padding:4px 6px}
.password-toggle:hover{color:var(--text)}
.legal-check{display:flex;gap:10px;align-items:flex-start;background:rgba(255,255,255,.02);border:1px solid var(--border);padding:14px 14px;border-radius:14px}
.legal-check input{margin-top:3px}
.legal-check label{font-size:.9rem;color:var(--text-soft);line-height:1.6}
.legal-check a{color:var(--accent)}
.access-submit{display:flex;flex-direction:column;gap:10px;margin-top:4px}
.access-primary{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:15px 18px;border-radius:14px;background:var(--accent);color:#0f0f11;font-weight:600;border:0;cursor:pointer;transition:transform .18s ease, filter .18s ease}
.access-primary:hover{transform:translateY(-1px);filter:brightness(1.03)}
.access-primary:disabled{opacity:.55;cursor:not-allowed;transform:none}
.access-secondary-link,.access-inline-link{color:var(--accent)}
.access-muted{color:var(--text-muted);font-size:.9rem;line-height:1.6}
.access-offer-card{margin:24px 0 18px;padding:20px;border-radius:16px;background:linear-gradient(180deg, rgba(184,146,96,.14), rgba(184,146,96,.05));border:1px solid rgba(184,146,96,.18)}
.access-offer-line{font-family:var(--font-display);font-size:1.7rem;font-weight:600}
.access-offer-meta{margin-top:6px;color:var(--text-soft)}
.access-points{margin:22px 0 0;padding:0 0 0 18px;color:var(--text-soft);display:grid;gap:10px}
.access-legal-note{margin-top:22px;padding-top:18px;border-top:1px solid var(--border);color:var(--text-muted);font-size:.92rem;line-height:1.7}
.access-legal-note a{color:var(--accent)}
.access-mini-links{display:flex;flex-wrap:wrap;gap:12px 18px;margin-top:8px}
.access-badge{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;background:rgba(184,146,96,.08);border:1px solid rgba(184,146,96,.16);font-size:.84rem;color:var(--text-soft);margin-top:18px}
.access-readonly{padding:13px 14px;border-radius:12px;border:1px solid var(--border);background:rgba(255,255,255,.03);color:var(--text-soft)}
@media (max-width: 980px){.access-main{grid-template-columns:1fr}.access-panel--aside{order:-1}}
@media (max-width: 640px){.access-shell{padding:14px}.access-header{align-items:flex-start;flex-direction:column}.access-panel--content,.access-panel--aside{padding:24px 18px}.access-grid--2,.access-grid--3{grid-template-columns:1fr}.access-heading{max-width:none}}


/* Production access hardening */
.access-google{background:#fff!important;color:#151515!important;border-color:rgba(255,255,255,.88)!important;box-shadow:0 16px 42px rgba(0,0,0,.25);font-weight:600;min-height:50px;max-height:56px;overflow:hidden;}
.access-google:hover{background:#f7f5f0!important;color:#101010!important;border-color:rgba(184,146,96,.42)!important;}
.access-google svg,.access-google-icon{width:18px!important;height:18px!important;min-width:18px!important;max-width:18px!important;flex:0 0 18px!important;display:block!important;}
.access-google-mark{display:none!important;}
.access-status--info{background:rgba(184,146,96,.10);border-color:rgba(184,146,96,.18);color:#e7d4b6;}
.access-status a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;}
.access-center-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:12px;}
.access-primary.access-primary--secondary{background:transparent;color:var(--accent);border:1px solid rgba(184,146,96,.28);}
