:root {
  --ink: #080609;
  --panel: #100c11;
  --panel-soft: #171116;
  --red: #b51f1f;
  --red-bright: #df3228;
  --gold: #d8a846;
  --gold-light: #f0cf78;
  --paper: #eee8dc;
  --muted: #a59ca0;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body { margin: 0; background: var(--ink); color: var(--paper); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
main { overflow: hidden; background: radial-gradient(circle at 75% 6%, rgba(91, 14, 18, .14), transparent 26%), var(--ink); }

.site-header { height: 86px; max-width: 1440px; margin: auto; padding: 0 5vw; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(216,168,70,.14); position: relative; z-index: 10; }
.brand { display: flex; align-items: center; gap: 12px; font: 700 17px/1 Georgia, serif; letter-spacing: .07em; text-transform: uppercase; }
.brand img { object-fit: contain; }
nav { display: flex; gap: 34px; color: #c9c1bc; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; }
nav a:hover, footer a:hover { color: var(--gold-light); }
.header-cta { color: var(--gold-light); border: 1px solid rgba(216,168,70,.45); padding: 12px 18px; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }

.hero { min-height: 690px; max-width: 1440px; margin: auto; padding: 70px 7vw 80px; display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; position: relative; }
.hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 49.8%, rgba(216,168,70,.08) 50%, transparent 50.2%); pointer-events: none; }
.hero-glow { position: absolute; width: 560px; height: 560px; right: 2%; top: 6%; border-radius: 50%; background: radial-gradient(circle, rgba(181,31,31,.22), rgba(75,12,19,.08) 42%, transparent 69%); filter: blur(4px); }
.hero-copy { position: relative; z-index: 2; max-width: 760px; }
.eyebrow { display: flex; align-items: center; gap: 11px; color: var(--gold); font-size: 12px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.eyebrow > span { width: 32px; height: 1px; background: var(--red-bright); box-shadow: 0 0 8px var(--red); }
.hero h1, h2 { font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
.hero h1 { max-width: 800px; margin: 24px 0; font-size: clamp(56px, 6vw, 94px); line-height: .98; letter-spacing: -.045em; }
.hero h1 em { color: var(--gold-light); font-weight: 400; }
.hero-lead { max-width: 650px; color: #c9c0bc; font-size: 19px; line-height: 1.7; }
.hero-actions { display: flex; gap: 14px; margin-top: 34px; }
.button { display: inline-flex; justify-content: center; align-items: center; gap: 12px; min-height: 52px; padding: 0 25px; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; transition: .2s ease; }
.button-primary { background: linear-gradient(135deg, #c52b24, #8e1417); border: 1px solid #e04a36; box-shadow: 0 10px 40px rgba(181,31,31,.2), inset 0 1px rgba(255,255,255,.12); }
.button-primary:hover { transform: translateY(-2px); filter: brightness(1.12); }
.button-quiet { border: 1px solid #3a3031; color: #d8d0ca; }
.button-quiet:hover { border-color: var(--gold); color: var(--gold-light); }
.realm-strip { display: flex; gap: 0; margin-top: 54px; border-top: 1px solid #302629; max-width: 650px; }
.realm-strip div { flex: 1; padding: 20px 24px 0 0; border-right: 1px solid #302629; margin-right: 24px; }
.realm-strip div:last-child { border: 0; }
.realm-strip strong, .realm-strip span { display: block; }
.realm-strip strong { color: var(--gold-light); font: 700 16px Georgia, serif; }
.realm-strip span { color: #7f7678; font-size: 11px; margin-top: 5px; text-transform: uppercase; letter-spacing: .08em; }
.hero-mark { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; }
.hero-mark img { width: min(33vw, 430px); height: auto; filter: drop-shadow(0 32px 70px rgba(0,0,0,.85)); }
.sigil-ring { position: absolute; width: 420px; height: 420px; top: 0; border: 1px solid rgba(216,168,70,.13); border-radius: 50%; box-shadow: 0 0 0 34px rgba(216,168,70,.015), 0 0 0 35px rgba(216,168,70,.06); }
.hero-mark p { color: #71676a; font: italic 15px/1.5 Georgia, serif; text-align: center; letter-spacing: .06em; }
.hero-mark p span { color: #9f9294; }

.status-bar { min-height: 64px; padding: 0 6vw; border-top: 1px solid rgba(216,168,70,.15); border-bottom: 1px solid rgba(216,168,70,.15); background: #0d090b; display: flex; align-items: center; justify-content: space-between; color: #8e8587; font-size: 12px; text-transform: uppercase; letter-spacing: .09em; }
.status-bar div { color: #c8c1bc; }
.status-dot { display: inline-block; width: 8px; height: 8px; margin-right: 9px; border-radius: 50%; background: #7baa59; box-shadow: 0 0 10px #7baa59; }
.status-bar button { margin-left: 8px; color: var(--gold-light); border: 0; background: transparent; }
.header-actions { display: flex; align-items: center; gap: 18px; }
.header-login { color: #cfc4bf; font-size: 10px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.header-login:hover { color: var(--gold-light); }

.section { max-width: 1320px; margin: auto; padding: 120px 6vw; }
.section-heading { max-width: 800px; }
.section-heading h2, .vaultbot-copy h2, .download-section h2, .community-section h2 { margin: 20px 0; font-size: clamp(40px, 4.5vw, 64px); line-height: 1.05; }
.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: #2b2225; margin-top: 65px; border: 1px solid #2b2225; }
.feature-card { min-height: 295px; padding: 42px; background: linear-gradient(145deg, #131014, #0d0a0c); position: relative; }
.feature-card::after { content: ""; position: absolute; height: 2px; left: 42px; right: 42px; bottom: 0; background: linear-gradient(90deg, var(--red), transparent); opacity: 0; transition: opacity .2s; }
.feature-card:hover::after { opacity: 1; }
.feature-number { color: #574a4d; font: 24px Georgia, serif; }
.feature-card h3 { margin: 36px 0 14px; color: var(--gold-light); font: 400 26px Georgia, serif; }
.feature-card p, .section-heading > p:last-child { color: var(--muted); line-height: 1.7; }

.journey-section { border-top: 1px solid #2f2427; }
.journey-heading { max-width: 900px; }
.journey-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 54px; }
.journey-grid article { min-height: 265px; padding: 34px; background: linear-gradient(145deg, #151014, #0c090b); border: 1px solid #302427; position: relative; overflow: hidden; }
.journey-grid article::after { content: ""; position: absolute; width: 150px; height: 150px; right: -75px; bottom: -75px; border: 1px solid rgba(216,168,70,.12); border-radius: 50%; }
.journey-grid article > span { color: #4f4245; font: 42px Georgia, serif; }
.journey-grid small { display: block; margin-top: 26px; color: var(--red-bright); font-size: 9px; letter-spacing: .18em; }
.journey-grid h3 { margin: 9px 0 12px; color: var(--gold-light); font: 400 25px Georgia, serif; }
.journey-grid p { color: var(--muted); font-size: 13px; line-height: 1.7; }
.journey-action { display: flex; align-items: center; gap: 26px; margin-top: 28px; }
.journey-action p { color: #766d70; font-size: 11px; letter-spacing: .05em; }

.vaultbot-section { display: grid; grid-template-columns: 1fr 1fr; min-height: 690px; background: linear-gradient(120deg, rgba(22,10,14,.96), rgba(8,6,9,.97)), radial-gradient(circle, #47121c, transparent); border-top: 1px solid #2f2024; border-bottom: 1px solid #2f2024; }
.vaultbot-visual { min-height: 690px; padding: 8vw; display: grid; place-items: center; background: radial-gradient(circle at 50% 45%, rgba(174,29,31,.25), transparent 56%), repeating-radial-gradient(circle at 50% 50%, transparent 0 74px, rgba(216,168,70,.035) 75px 76px); }
.party-card { width: min(100%, 490px); padding: 28px; background: rgba(10,7,9,.94); border: 1px solid #493035; box-shadow: 0 30px 80px #000; }
.tiny-label { color: #665a5c; font-size: 10px; letter-spacing: .2em; }
.party-status { padding: 18px 0; color: var(--gold-light); font: 28px Georgia, serif; border-bottom: 1px solid #302427; }
.party-status span { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: #81a85d; box-shadow: 0 0 10px #81a85d; margin-right: 10px; }
.roles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 22px 0; }
.roles div { padding: 13px 11px; background: #151013; border: 1px solid #2c2225; }
.roles b, .roles span { display: block; }
.roles b { font-size: 12px; color: #ddd3cc; }
.roles span { margin-top: 6px; font-size: 9px; color: #766d70; }
.director-line { display: flex; justify-content: space-between; align-items: center; padding: 15px; background: linear-gradient(90deg, rgba(181,31,31,.22), transparent); border-left: 2px solid var(--red-bright); font-size: 12px; }
.director-line b { color: var(--gold-light); }
.vaultbot-copy { padding: 110px 8vw 90px 7vw; }
.large-copy { color: #bbb1af; line-height: 1.75; font-size: 17px; }
.vaultbot-copy ul { list-style: none; padding: 0; margin: 35px 0; }
.vaultbot-copy li { display: flex; gap: 17px; margin: 24px 0; }
.vaultbot-copy li > span { color: var(--red-bright); }
.vaultbot-copy li strong { color: var(--gold-light); font: 400 18px Georgia, serif; }
.vaultbot-copy li p { color: #8e8587; margin: 5px 0; line-height: 1.5; font-size: 13px; }
.development-pill { display: inline-block; padding: 9px 13px; border: 1px solid #523338; color: #b9aaac; font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }

.roadmap-section { display: grid; grid-template-columns: .8fr 1.2fr; gap: 8vw; align-items: start; }
.compact { position: sticky; top: 50px; }
.roadmap-list { border-top: 1px solid #312629; }
.roadmap-list article { display: grid; grid-template-columns: 50px 1fr auto; gap: 18px; align-items: center; padding: 29px 0; border-bottom: 1px solid #312629; }
.roadmap-index { color: #5d5154; font: 16px Georgia, serif; }
.roadmap-list h3 { margin: 0 0 6px; font: 400 20px Georgia, serif; color: #e2dad3; }
.roadmap-list p { margin: 0; color: #7f7477; font-size: 12px; }
.roadmap-state { padding: 7px 9px; font-size: 9px; letter-spacing: .1em; text-transform: uppercase; border: 1px solid #3b3032; color: #978d8f; }
.state-0 { color: #a9c08b; border-color: #3f5135; }
.state-1 { color: var(--gold-light); border-color: #66522a; }

.download-section { max-width: 1320px; margin: 0 auto 120px; padding: 70px 6vw; display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; align-items: center; background: linear-gradient(135deg, #171014, #0e0a0c); border: 1px solid #34262a; }
.download-section > div > p:last-child { color: var(--muted); line-height: 1.7; }
.download-card { display: grid; grid-template-columns: 64px 1fr auto; align-items: center; gap: 18px; padding: 22px; background: #0b080a; border: 1px solid #33272a; }
.download-icon { display: grid; place-items: center; width: 64px; height: 64px; color: var(--gold-light); border: 1px solid #5a3c31; font-size: 26px; }
.download-card b, .download-card span { display: block; }
.download-card b { color: #e7ded6; }
.download-card span { color: #756d70; font-size: 11px; margin-top: 5px; }
.download-card small { color: var(--gold); font-size: 9px; letter-spacing: .13em; }

.community-section { padding: 110px 5vw; text-align: center; background: radial-gradient(circle at 50% 35%, rgba(181,31,31,.17), transparent 37%); border-top: 1px solid #2e2024; }
.community-section img { filter: drop-shadow(0 18px 35px #000); }
.centered { justify-content: center; }
.community-section > p:not(.eyebrow) { color: var(--muted); margin: 0 auto 30px; }
footer { max-width: 1400px; min-height: 110px; margin: auto; padding: 0 5vw; display: flex; justify-content: space-between; align-items: center; border-top: 1px solid #282023; color: #685f62; font-size: 11px; }
.footer-brand { display: flex; align-items: center; gap: 10px; color: #cfc5bd; font: 700 13px Georgia, serif; text-transform: uppercase; letter-spacing: .06em; }
footer div:last-child { display: flex; gap: 24px; }

.join-page { min-height: 100vh; }
.join-hero { max-width: 1360px; min-height: 720px; margin: auto; padding: 92px 6vw 110px; display: grid; grid-template-columns: .9fr 1.1fr; gap: 8vw; align-items: center; position: relative; }
.join-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 78% 42%, rgba(155,22,29,.18), transparent 35%); pointer-events: none; }
.join-intro, .registration-card { position: relative; z-index: 1; }
.join-intro h1 { margin: 22px 0; font: 400 clamp(52px, 5.5vw, 80px)/1 Georgia, serif; letter-spacing: -.04em; }
.join-intro h1 em { color: var(--gold-light); font-weight: 400; }
.join-intro > p:not(.eyebrow) { max-width: 610px; color: #b7ada9; font-size: 18px; line-height: 1.7; }
.security-note { margin: 34px 0; padding: 18px 20px; background: rgba(69,91,50,.12); border: 1px solid #3f5135; }
.security-note b, .security-note span { display: block; }
.security-note b { color: #b7d394; font-size: 12px; text-transform: uppercase; letter-spacing: .09em; }
.security-note span { margin-top: 7px; color: #8e9981; font-size: 12px; line-height: 1.55; }
.join-trust { display: grid; gap: 18px; }
.join-trust div { padding-left: 17px; border-left: 1px solid #5a3b3f; }
.join-trust strong, .join-trust span { display: block; }
.join-trust strong { color: #ded4cc; font: 400 17px Georgia, serif; }
.join-trust span { margin-top: 5px; color: #746b6d; font-size: 11px; line-height: 1.5; }
.registration-card { padding: 38px; background: linear-gradient(145deg, rgba(22,15,18,.98), rgba(9,7,9,.98)); border: 1px solid #4a3035; box-shadow: 0 35px 100px rgba(0,0,0,.5); }
.registration-card::before { content: ""; position: absolute; height: 2px; left: 0; right: 0; top: 0; background: linear-gradient(90deg, var(--red-bright), var(--gold), transparent); }
.registration-card-head { display: flex; gap: 16px; align-items: flex-start; }
.registration-card-head .status-dot { flex: 0 0 auto; margin-top: 7px; }
.registration-card-head small { color: var(--gold); letter-spacing: .18em; }
.registration-card h2 { margin: 8px 0 0; color: #eee5dd; font: 400 31px/1.15 Georgia, serif; }
.registration-card > p { color: #93898b; font-size: 13px; line-height: 1.7; }
.registration-progress { height: 3px; margin: 28px 0; background: #2b2224; }
.registration-progress span { display: block; height: 100%; background: linear-gradient(90deg, var(--red-bright), var(--gold)); box-shadow: 0 0 13px rgba(216,168,70,.35); }
.registration-milestones { border-top: 1px solid #302629; }
.registration-milestones div { display: grid; grid-template-columns: 32px 1fr auto; gap: 12px; align-items: center; padding: 16px 0; border-bottom: 1px solid #302629; color: #635b5e; }
.registration-milestones b { font: 13px Georgia, serif; }
.registration-milestones span { font-size: 12px; }
.registration-milestones small { font-size: 8px; letter-spacing: .12em; }
.registration-milestones .complete { color: #91aa78; }
.registration-milestones .active { color: var(--gold-light); }
.registration-follow { width: 100%; margin-top: 28px; }
.registration-card .registration-fineprint { margin: 14px 0 0; text-align: center; color: #5e5658; font-size: 9px; }
.registration-form { display: grid; gap: 18px; margin-top: 25px; }
.registration-form label { display: grid; gap: 7px; }
.registration-form label > span { color: #ddd3cc; font: 400 15px Georgia, serif; }
.registration-form label > small { color: #6f6668; font-size: 9px; letter-spacing: .04em; }
.registration-form input:not([type="checkbox"]) { width: 100%; height: 48px; padding: 0 14px; color: #eee8dc; background: #090709; border: 1px solid #3b2d30; outline: none; font: 14px ui-sans-serif, system-ui, sans-serif; }
.registration-form input:not([type="checkbox"]):focus { border-color: var(--gold); box-shadow: 0 0 0 2px rgba(216,168,70,.08); }
.form-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.registration-form .terms-check { display: grid; grid-template-columns: 18px 1fr; align-items: start; gap: 10px; padding: 15px; background: #0d0a0c; border: 1px solid #302629; }
.registration-form .terms-check input { margin: 2px 0 0; accent-color: var(--red-bright); }
.registration-form .terms-check span { color: #8d8385; font: 11px/1.55 ui-sans-serif, system-ui, sans-serif; }
.form-errors { margin-top: 22px; padding: 15px 18px; color: #e0a19a; background: rgba(160,28,34,.12); border: 1px solid #6f282c; font-size: 11px; line-height: 1.6; }
.form-errors ul { margin: 8px 0 0; padding-left: 18px; }
.registration-success { text-align: center; padding: 25px 10px 10px; }
.registration-success > span { display: grid; place-items: center; width: 58px; height: 58px; margin: 0 auto 18px; border-radius: 50%; color: #b7d394; background: rgba(69,91,50,.18); border: 1px solid #516740; font-size: 27px; }
.registration-success small { color: #91aa78; letter-spacing: .18em; }
.registration-success h2 { margin: 12px 0; }
.registration-success p { color: #9b9193; line-height: 1.7; }
.registration-success strong { color: var(--gold-light); }
.honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.after-register { padding: 100px 6vw 120px; border-top: 1px solid #2c2225; text-align: center; background: linear-gradient(180deg, #0e0a0c, #080609); }
.after-register > h2 { max-width: 800px; margin: 20px auto 55px; font-size: clamp(40px, 4.5vw, 62px); }
.after-register > div { max-width: 1180px; margin: auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: #33272a; border: 1px solid #33272a; text-align: left; }
.after-register article { padding: 34px; background: #100c0f; }
.after-register article b { color: var(--red-bright); font: 20px Georgia, serif; }
.after-register article h3 { color: var(--gold-light); font: 400 22px Georgia, serif; }
.after-register article p { color: #8f8587; font-size: 12px; line-height: 1.7; }

/* Player portal */
.portal-page, .dashboard-page { min-height: 100vh; background: radial-gradient(circle at 72% 17%, rgba(165,25,31,.13), transparent 30%), var(--bg); }
.portal-login-shell { max-width: 1340px; min-height: 710px; margin: auto; padding: 92px 6vw 110px; display: grid; grid-template-columns: 1fr .86fr; gap: 9vw; align-items: center; }
.portal-login-copy h1 { margin: 22px 0; font: 400 clamp(57px,6vw,86px)/.98 Georgia,serif; letter-spacing: -.045em; }
.portal-login-copy > p:not(.eyebrow) { max-width: 650px; color: #b6aca9; font-size: 18px; line-height: 1.75; }
.portal-assurance { margin-top: 34px; padding: 20px 22px; background: rgba(67,88,49,.1); border: 1px solid #405136; }
.portal-assurance b, .portal-assurance span { display: block; }
.portal-assurance b { color: #b6d093; font-size: 10px; letter-spacing: .16em; }
.portal-assurance span { margin-top: 8px; color: #7f8c73; font-size: 11px; }
.portal-login-card { position: relative; padding: 42px; background: linear-gradient(145deg,rgba(23,16,19,.99),rgba(9,7,9,.99)); border: 1px solid #4d3036; box-shadow: 0 35px 100px #0008; }
.portal-login-card::before { content:""; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,var(--red-bright),var(--gold),transparent); }
.portal-form { display: grid; gap: 20px; margin-top: 30px; }
.portal-form label { display: grid; gap: 8px; }
.portal-form label span { color:#e0d6cf; font:400 16px Georgia,serif; }
.portal-form label small { color:#6f6668; font-size:9px; }
.portal-form input { width:100%; height:52px; padding:0 15px; color:#eee8dc; background:#080608; border:1px solid #3d2d31; outline:none; }
.portal-form input:focus { border-color:var(--gold); box-shadow:0 0 0 2px rgba(216,168,70,.08); }
.portal-sent { padding:24px 4px; text-align:center; }
.portal-notice { margin-bottom:22px; padding:13px 15px; color:#b6d093; background:rgba(67,88,49,.1); border:1px solid #405136; font-size:11px; text-align:center; }
.portal-sent > span { display:grid; place-items:center; width:62px; height:62px; margin:0 auto 20px; border:1px solid #546d43; border-radius:50%; color:#bbd59a; font-size:25px; }
.portal-sent small { color:#9fbc80; letter-spacing:.18em; }
.portal-sent h2 { margin:13px 0; font:400 34px Georgia,serif; }
.portal-sent p { color:#9b9193; line-height:1.7; }
.portal-privacy { color:#625a5d!important; font-size:10px; }
.portal-feature-strip { max-width:1200px; margin:0 auto 120px; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#392a2e; border:1px solid #392a2e; }
.portal-feature-strip article { padding:34px; background:#100c0f; }
.portal-feature-strip b { color:var(--red-bright); font:20px Georgia,serif; }
.portal-feature-strip h3 { color:var(--gold-light); font:400 22px Georgia,serif; }
.portal-feature-strip p { color:#857b7e; font-size:11px; line-height:1.65; }
.portal-result { min-height:100vh; padding:80px 20px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; background:radial-gradient(circle,rgba(181,31,31,.15),transparent 35%); }
.portal-result h1 { margin:18px 0; font:400 clamp(48px,6vw,76px) Georgia,serif; }
.portal-result > p:not(.eyebrow) { max-width:600px; color:#93898b; line-height:1.7; }
.portal-result .button { margin-top:25px; }

.dashboard-header nav .active { color:var(--gold-light); }
.dashboard-hero { max-width:1320px; margin:auto; padding:72px 6vw 66px; display:grid; grid-template-columns:1fr auto; align-items:center; gap:6vw; border-bottom:1px solid #302529; }
.dashboard-hero h1 { margin:20px 0; font:400 clamp(48px,5vw,74px)/1 Georgia,serif; }
.dashboard-hero h1 em { color:var(--gold-light); font-weight:400; }
.dashboard-hero > div:first-child > p:not(.eyebrow) { max-width:760px; color:#9f9597; font-size:16px; line-height:1.75; }
.dashboard-seal { display:flex; flex-direction:column; align-items:center; color:#6e6366; font-size:8px; font-weight:800; letter-spacing:.2em; }
.dashboard-seal img { filter:drop-shadow(0 25px 45px #000); }
.dashboard-status-grid { max-width:1320px; margin:34px auto; padding:0 6vw; display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.dashboard-status-grid article { padding:26px; background:linear-gradient(145deg,#151013,#0c090b); border:1px solid #34272b; }
.dashboard-status-grid small, .dashboard-aside small { color:#74666a; font-size:8px; font-weight:800; letter-spacing:.18em; }
.dashboard-status-grid h3 { margin:11px 0 9px; color:var(--gold-light); font:400 24px Georgia,serif; overflow-wrap:anywhere; }
.dashboard-status-grid p { margin:0; color:#7d7376; font-size:10px; }
.dashboard-main { max-width:1320px; margin:auto; padding:34px 6vw 110px; display:grid; grid-template-columns:1fr 330px; gap:26px; }
.dashboard-primary { min-height:560px; padding:34px; background:#100c0f; border:1px solid #35272b; }
.dashboard-section-head { display:flex; justify-content:space-between; align-items:flex-start; }
.dashboard-section-head h2 { margin:10px 0 0; font:400 38px Georgia,serif; }
.character-empty { min-height:390px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; border:1px dashed #392b2f; background:radial-gradient(circle,rgba(181,31,31,.08),transparent 45%); }
.character-rune { display:grid; place-items:center; width:66px; height:66px; color:#d2a348; border:1px solid #5d4525; border-radius:50%; font-size:23px; }
.character-empty h3 { margin:22px 0 10px; color:#eee5dd; font:400 28px Georgia,serif; }
.character-empty p { max-width:580px; margin:0 20px 25px; color:#83797c; font-size:12px; line-height:1.7; }
.dashboard-aside { display:grid; gap:12px; align-content:start; }
.dashboard-aside section { padding:25px; background:#100c0f; border:1px solid #35272b; }
.dashboard-aside h3 { margin:11px 0 9px; color:#ddd4cc; font:400 18px Georgia,serif; overflow-wrap:anywhere; }
.dashboard-aside p { margin:0; color:#7c7275; font-size:10px; line-height:1.65; }
.dashboard-aside a { display:inline-block; margin-top:16px; color:var(--gold-light); font-size:10px; }
.dashboard-roadmap { padding:105px 6vw 120px; text-align:center; border-top:1px solid #2e2226; background:linear-gradient(180deg,#0d090c,#080609); }
.dashboard-roadmap h2 { max-width:820px; margin:18px auto 50px; font-size:clamp(40px,4vw,58px); }
.dashboard-roadmap > div { max-width:1150px; margin:auto; display:grid; grid-template-columns:repeat(3,1fr); gap:12px; text-align:left; }
.dashboard-roadmap article { padding:30px; border:1px solid #35272b; background:#100c0f; }
.dashboard-roadmap b { color:var(--red-bright); font-size:9px; letter-spacing:.16em; }
.dashboard-roadmap h3 { color:var(--gold-light); font:400 22px Georgia,serif; }
.dashboard-roadmap p { color:#81777a; font-size:11px; line-height:1.65; }

.start-page { min-height: 100vh; }
.start-hero { max-width: 1360px; min-height: 610px; margin: auto; padding: 90px 7vw; display: grid; grid-template-columns: 1.15fr .85fr; gap: 7vw; align-items: center; position: relative; }
.start-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 77% 44%, rgba(181,31,31,.2), transparent 34%); pointer-events: none; }
.start-hero-copy, .start-seal { position: relative; z-index: 1; }
.start-hero h1 { margin: 23px 0; font: 400 clamp(58px, 6vw, 88px)/.98 Georgia, serif; letter-spacing: -.045em; }
.start-hero h1 em { color: var(--gold-light); font-weight: 400; }
.start-hero-copy > p:not(.eyebrow) { max-width: 710px; color: #bcb2ae; font-size: 19px; line-height: 1.75; }
.start-actions { display: flex; gap: 14px; margin-top: 34px; }
.start-seal { display: flex; flex-direction: column; align-items: center; color: #766c6f; font-size: 9px; letter-spacing: .24em; }
.start-seal img { width: min(28vw, 310px); height: auto; filter: drop-shadow(0 30px 60px #000); }
.start-seal b { margin-top: 7px; color: var(--gold-light); font: 400 25px Georgia, serif; letter-spacing: .08em; }
.start-progress { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #33272a; border-bottom: 1px solid #33272a; background: #0c090b; }
.start-progress a { min-height: 88px; padding: 21px 28px; display: flex; align-items: center; gap: 17px; border-right: 1px solid #33272a; color: #9c9294; }
.start-progress a:last-child { border-right: 0; }
.start-progress b { color: var(--red-bright); font: 20px Georgia, serif; }
.start-progress span { font-size: 11px; text-transform: uppercase; letter-spacing: .1em; }
.start-progress a:hover span { color: var(--gold-light); }
.start-section { max-width: 1320px; margin: auto; padding: 120px 6vw; display: grid; grid-template-columns: 85px 1.2fr .8fr; gap: 5vw; align-items: start; border-bottom: 1px solid #2c2225; }
.start-dark { max-width: none; padding-left: max(6vw, calc((100vw - 1320px)/2 + 6vw)); padding-right: max(6vw, calc((100vw - 1320px)/2 + 6vw)); background: linear-gradient(135deg, #130d11, #090709); }
.start-number { color: #4d3f43; font: 42px Georgia, serif; }
.start-copy h2, .vaultbot-guide-copy h2, .start-support h2 { margin: 18px 0 25px; font: 400 clamp(40px, 4.5vw, 62px)/1.04 Georgia, serif; }
.start-copy > p:not(.eyebrow) { color: #a89ea0; font-size: 16px; line-height: 1.8; }
.start-copy strong { color: var(--gold-light); }
.start-copy code { padding: 2px 7px; color: #e5c56e; background: #171013; border: 1px solid #34262a; }
.start-checklist { padding: 28px; background: #0e0a0c; border: 1px solid #3a2b2f; }
.start-checklist > small { color: #6c6063; font-size: 9px; letter-spacing: .18em; }
.start-checklist ul { list-style: none; padding: 0; margin: 20px 0 0; }
.start-checklist li { display: grid; grid-template-columns: 28px 1fr; gap: 13px; padding: 17px 0; border-top: 1px solid #2d2225; }
.start-checklist li > span { display: grid; place-items: center; width: 25px; height: 25px; color: #a9c88d; border: 1px solid #405435; border-radius: 50%; font-size: 10px; }
.start-checklist b, .start-checklist p { display: block; margin: 0; }
.start-checklist b { color: #ddd3cc; font: 400 16px Georgia, serif; }
.start-checklist p { margin-top: 5px; color: #776e70; font-size: 10px; line-height: 1.5; }
.release-note { margin-top: 30px; padding: 22px; background: rgba(216,168,70,.05); border: 1px solid #564524; }
.release-note > span { display: block; color: var(--gold); font-size: 8px; font-weight: 800; letter-spacing: .18em; }
.release-note b { display: block; margin-top: 9px; color: var(--gold-light); font: 400 19px Georgia, serif; }
.release-note p { margin: 9px 0 0; color: #8d8381; font-size: 11px; line-height: 1.65; }
.realmlist-card { margin-top: 30px; padding: 24px; display: grid; grid-template-columns: 1fr auto; gap: 12px 20px; align-items: center; background: #070607; border: 1px solid #574029; box-shadow: inset 3px 0 var(--red-bright); }
.realmlist-card small { grid-column: 1 / -1; color: #675b5e; font-size: 8px; letter-spacing: .18em; }
.realmlist-card code { padding: 0; background: none; border: 0; color: var(--gold-light); font-size: 15px; overflow-wrap: anywhere; }
.realmlist-card button { padding: 9px 12px; color: #e1d7ce; background: #1d1316; border: 1px solid #4a3237; cursor: pointer; font-size: 9px; text-transform: uppercase; letter-spacing: .09em; }
.start-callout { margin-top: 29px; padding: 20px; border-left: 2px solid var(--red-bright); background: linear-gradient(90deg, rgba(181,31,31,.12), transparent); }
.start-callout b, .start-callout span { display: block; }
.start-callout b { color: #e5d8cf; font: 400 18px Georgia, serif; }
.start-callout span { margin-top: 7px; color: #8d8183; font-size: 11px; line-height: 1.6; }
.vaultbot-guide { min-height: 760px; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid #302126; border-bottom: 1px solid #302126; background: linear-gradient(120deg, #130c10, #080609); }
.vaultbot-guide-visual { min-height: 760px; display: grid; place-items: center; padding: 7vw; background: radial-gradient(circle, rgba(181,31,31,.25), transparent 53%), repeating-radial-gradient(circle, transparent 0 78px, rgba(216,168,70,.035) 79px 80px); }
.vaultbot-guide-copy { padding: 105px 8vw 90px 7vw; }
.vaultbot-guide-copy > p:not(.eyebrow) { color: #a79da0; font-size: 16px; line-height: 1.75; }
.vaultbot-guide-copy ol { margin: 32px 0; padding: 0; list-style: none; counter-reset: vault-step; }
.vaultbot-guide-copy li { counter-increment: vault-step; display: grid; grid-template-columns: 28px 1fr; gap: 14px; padding: 17px 0; border-top: 1px solid #302629; }
.vaultbot-guide-copy li::before { content: counter(vault-step, decimal-leading-zero); color: var(--red-bright); font: 14px Georgia, serif; }
.vaultbot-guide-copy li b, .vaultbot-guide-copy li span { display: block; }
.vaultbot-guide-copy li b { color: var(--gold-light); font: 400 17px Georgia, serif; }
.vaultbot-guide-copy li span { margin-top: 5px; color: #807679; font-size: 11px; line-height: 1.55; }
.start-support { padding: 110px 6vw; text-align: center; background: radial-gradient(circle at 50% 45%, rgba(181,31,31,.17), transparent 35%); }
.start-support img { filter: drop-shadow(0 18px 35px #000); }
.start-support > p:not(.eyebrow) { max-width: 700px; margin: 0 auto 30px; color: #968c8e; line-height: 1.75; }

@media (max-width: 900px) {
  .site-header nav { display: none; }
  .header-cta { padding: 10px; font-size: 10px; }
  .brand span { display: none; }
  .header-login { display:none; }
  .portal-login-shell { grid-template-columns:1fr; padding-top:55px; }
  .portal-feature-strip, .dashboard-status-grid, .dashboard-roadmap > div { grid-template-columns:1fr; }
  .dashboard-hero { grid-template-columns:1fr; }
  .dashboard-seal { display:none; }
  .dashboard-main { grid-template-columns:1fr; }
  .hero { grid-template-columns: 1fr; padding-top: 40px; }
  .hero-mark { grid-row: 1; margin-bottom: -20px; }
  .hero-mark img { width: 240px; }
  .sigil-ring { width: 240px; height: 240px; }
  .hero-mark p { display: none; }
  .hero h1 { font-size: clamp(50px, 15vw, 74px); }
  .status-bar { justify-content: center; text-align: center; }
  .status-bar p, .status-bar > span { display: none; }
  .feature-grid, .vaultbot-section, .roadmap-section, .download-section, .journey-grid, .join-hero, .after-register > div, .start-hero, .start-section, .vaultbot-guide { grid-template-columns: 1fr; }
  .feature-card { min-height: 240px; }
  .vaultbot-visual { min-height: 480px; }
  .compact { position: static; }
  footer { padding: 35px 5vw; flex-direction: column; gap: 22px; text-align: center; }
  .join-hero { padding-top: 65px; }
  .start-hero { padding-top: 55px; text-align: center; }
  .start-hero .eyebrow { justify-content: center; }
  .start-hero-copy > p:not(.eyebrow) { margin-left: auto; margin-right: auto; }
  .start-actions { justify-content: center; }
  .start-seal { grid-row: 1; }
  .start-seal img { width: 210px; }
  .start-progress { grid-template-columns: 1fr 1fr; }
  .start-progress a:nth-child(2) { border-right: 0; }
  .start-progress a:nth-child(-n+2) { border-bottom: 1px solid #33272a; }
  .start-section { padding: 85px 7vw; gap: 25px; }
  .start-number { font-size: 28px; }
  .vaultbot-guide-visual { min-height: 500px; }
  .vaultbot-guide-copy { padding: 85px 7vw; }
}

@media (max-width: 560px) {
  .hero-actions, .realm-strip { flex-direction: column; }
  .realm-strip div { border-right: 0; border-bottom: 1px solid #302629; padding-bottom: 15px; }
  .feature-grid { grid-template-columns: 1fr; }
  .section, .vaultbot-copy { padding: 80px 7vw; }
  .roles { grid-template-columns: 1fr; }
  .download-card { grid-template-columns: 54px 1fr; }
  .download-card small { grid-column: 2; }
  .journey-action { align-items: flex-start; flex-direction: column; }
  .registration-card { padding: 28px 22px; }
  .form-pair { grid-template-columns: 1fr; }
  .start-actions { flex-direction: column; }
  .start-progress { grid-template-columns: 1fr; }
  .start-progress a { border-right: 0; border-bottom: 1px solid #33272a; }
  .realmlist-card { grid-template-columns: 1fr; }
  .realmlist-card button { justify-self: start; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }
