@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap');

body.landing-ember {
    --lp-bg: #0b0e15;
    --lp-panel: #171c26;
    --lp-ink: #f1ebe0;
    --lp-soft: #b9bdca;
    --lp-muted: #969bab;
    --lp-gold: #d9b381;
    --lp-line: #303541;
    background: var(--lp-bg);
    color: var(--lp-ink);
    font: 400 14px/1.7 Inter, system-ui, sans-serif;
    min-width: 320px;
    width: 100%;
    max-width: none;
    margin: 0;
    color-scheme: dark;
}
.landing-ember *, .landing-ember *::before, .landing-ember *::after { box-sizing: border-box; }
.landing-ember #main-container { width: 100%; max-width: none; margin: 0; padding: 0; background: none; border: 0; box-shadow: none; }
.landing-ember .landing-panel { background: none; border: 0; border-radius: 0; box-shadow: none; overflow: clip; }
.landing-ember .landing-panel::before { display: none; }
.landing-ember .landing-main { padding: 0; margin: 0; }
.landing-ember a { text-decoration: none; }
.landing-ember button { font: inherit; cursor: pointer; }
.landing-ember [hidden] { display: none !important; }
.landing-ember :is(a, button, video):focus-visible { outline: 2px solid #f0d4ac; outline-offset: 5px; }
.landing-ember ::selection { background: #8e6949; color: #fff; }
.landing-ember :is(h1, h2, h3, p) { margin: 0; }
.landing-ember :is(h1, h2, h3) { color: var(--lp-ink); text-shadow: none; font-family: Cinzel, Georgia, serif; font-weight: 500; }
.landing-ember h2 { font-size: clamp(25px, 2.7vw, 36px); line-height: 1.35; letter-spacing: -.025em; }
.landing-ember h3 { font-size: 21px; line-height: 1.4; }
.landing-ember p { color: var(--lp-soft); }
.landing-ember .lp-shell { width: min(1200px, calc(100% - 96px)); margin-inline: auto; }
.landing-ember .lp-skip { position: absolute; z-index: 20; top: 8px; left: 8px; padding: 10px 16px; background: var(--lp-gold); color: var(--lp-bg); transform: translateY(-180%); }
.landing-ember .lp-skip:focus { transform: translateY(0); }
.landing-ember .lp-header { min-height: 94px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.landing-ember .lp-brand { display: flex; align-items: center; gap: 12px; color: var(--lp-ink); font: 600 25px/1.1 Cinzel, Georgia, serif; letter-spacing: .12em; }
.landing-ember .lp-brand img { object-fit: contain; }
.landing-ember .lp-brand-sub { display: block; font: 500 8px/1.5 Inter, sans-serif; letter-spacing: .22em; margin-top: 5px; color: var(--lp-gold); }
.landing-ember .lp-nav { display: flex; gap: 32px; }
.landing-ember .lp-nav a { font-size: 12px; color: var(--lp-soft); padding-block: 10px; }
.landing-ember .lp-nav a:hover { color: var(--lp-gold); }
.landing-ember .lp-header-actions { display: flex; gap: 24px; align-items: center; }
.landing-ember .lp-online { display: flex; align-items: center; gap: 7px; color: var(--lp-muted); font-size: 11px; }
.landing-ember .lp-online > span { width: 5px; height: 5px; background: #91b69a; border-radius: 50%; box-shadow: 0 0 0 4px #91b69a0c; }
.landing-ember .lp-login { color: var(--lp-ink); font-weight: 500; font-size: 12px; border: 1px solid #49453f; padding: 9px 20px; border-radius: 5px; }
.landing-ember .lp-login span { margin-left: 14px; color: var(--lp-gold); }
.landing-ember .lp-login:hover { background: #d9b3810c; border-color: var(--lp-gold); }
.landing-ember .lp-hero { position: relative; isolation: isolate; min-height: 660px; display: flex; border-block: 1px solid #ffffff06; }
.landing-ember .lp-hero-art { position: absolute; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.landing-ember .lp-hero-shade { position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, #0b0e15d9, #0b0e1566 40%, #0b0e1505 72%), linear-gradient(0deg, #0b0e15, transparent 25%); }
.landing-ember .lp-hero-inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding-block: 72px 90px; }
.landing-ember .lp-hero-copy { max-width: 585px; }
.landing-ember .lp-eyebrow { font: 600 10px/1.6 Inter, sans-serif; letter-spacing: .2em; color: var(--lp-gold); margin-bottom: 16px; }
.landing-ember .lp-hero .lp-eyebrow { display: flex; align-items: center; gap: 10px; }
.landing-ember .lp-eyebrow > span { height: 1px; width: 30px; background: var(--lp-gold); }
.landing-ember .lp-hero h1 { font-size: clamp(42px, 4.5vw, 65px); font-weight: 500; letter-spacing: -.035em; line-height: 1.12; }
.landing-ember .lp-hero h1 em { font-style: normal; color: #e2be90; }
.landing-ember .lp-intro { font-size: 14px; line-height: 1.9; max-width: 440px; margin-top: 26px; color: #c3c6cf; }
.landing-ember .lp-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.landing-ember .lp-button { display: inline-flex; align-items: center; justify-content: center; gap: 20px; min-height: 49px; padding: 13px 23px; border: 1px solid transparent; border-radius: 5px; font-size: 12px; font-weight: 600; transition: background .18s, border-color .18s, transform .18s; }
.landing-ember .lp-button:hover { transform: translateY(-2px); }
.landing-ember .lp-button-primary { background: linear-gradient(130deg, #e2c097, #bd9568); color: #21180f; border-color: #ddba8b; box-shadow: 0 4px 24px #9e683529; }
.landing-ember .lp-button-primary:hover { background: #edcda5; }
.landing-ember .lp-button-glass { background: #111620a6; border-color: #71717a66; color: var(--lp-ink); }
.landing-ember .lp-button-glass:hover { border-color: var(--lp-gold); background: #202632; }
.landing-ember .lp-hero-note { color: #a7acb9; font-size: 10px; margin-top: 20px; letter-spacing: .025em; }
.landing-ember .lp-hero-note span { padding: 0 9px; color: var(--lp-gold); }
.landing-ember .lp-access-note { margin-top: 8px; font-size: 10px; color: var(--lp-gold); }
.landing-ember .lp-hero-caption { align-self: flex-end; text-align: right; font-size: 9px; letter-spacing: .2em; color: #e2be90; margin-bottom: -25px; }
.landing-ember .lp-caption-rule { display: block; height: 1px; background: #d9b38180; width: 42px; margin: 0 0 14px auto; }
.landing-ember .lp-hero-caption small { display: block; font-size: 10px; letter-spacing: 0; margin-top: 8px; color: #b9bdca; }
.landing-ember .lp-promise-strip { display: grid; grid-template-columns: repeat(3, 1fr); padding: 22px 0; border-bottom: 1px solid var(--lp-line); }
.landing-ember .lp-promise-strip > span { display: flex; align-items: center; justify-content: center; gap: 12px; font-size: 11px; color: var(--lp-soft); }
.landing-ember .lp-promise-strip > span + span { border-left: 1px solid var(--lp-line); }
.landing-ember .lp-promise-strip img { object-fit: contain; }
.landing-ember .lp-section { padding-block: 76px 0; scroll-margin-top: 25px; }
.landing-ember .lp-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 30px; }
.landing-ember .lp-section-heading > p { font-size: 12px; line-height: 1.9; }
.landing-ember .lp-section-note { color: var(--lp-muted); font-size: 11px; }
.landing-ember .lp-features { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.landing-ember .lp-feature { position: relative; padding: 28px; background: linear-gradient(140deg, #1c222e, #131923); border: 1px solid var(--lp-line); border-radius: 9px; }
.landing-ember .lp-feature > img { display: block; margin-bottom: 26px; filter: drop-shadow(0 5px 8px #0006); }
.landing-ember .lp-feature .lp-eyebrow { font-size: 9px; margin-bottom: 12px; }
.landing-ember .lp-feature h3 { margin-bottom: 12px; }
.landing-ember .lp-feature > p:last-child { font-size: 12px; line-height: 1.9; }
.landing-ember .lp-realms { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.landing-ember .lp-realm { position: relative; isolation: isolate; border-radius: 9px; overflow: hidden; height: 330px; display: flex; align-items: flex-end; padding: 24px; border: 1px solid #ffffff15; }
.landing-ember .lp-realm::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, #0d1119fa, #0d111980 35%, transparent 75%); }
.landing-ember .lp-realm > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform .4s ease; }
.landing-ember .lp-realm:hover > img { transform: scale(1.035); }
.landing-ember .lp-realm-number { position: absolute; top: 18px; left: 20px; font: 500 12px Cinzel, serif; border: 1px solid #d9b38166; color: #e2c097; padding: 5px 11px; background: #0b0e1580; }
.landing-ember .lp-realm h3 { font-size: 20px; margin-bottom: 7px; }
.landing-ember .lp-realm p { color: #c2c5cc; font-size: 11px; }
.landing-ember .lp-legacy { display: grid; grid-template-columns: 1fr 1.45fr; align-items: center; gap: 44px; padding: 44px; margin-top: 76px; background: radial-gradient(ellipse at 75% 50%, #54403b26, transparent 60%), #151a24; border: 1px solid #55483d; border-radius: 10px; }
.landing-ember .lp-legacy h2 { font-size: clamp(25px, 2.4vw, 32px); }
.landing-ember .lp-legacy p:not(.lp-eyebrow) { margin-top: 18px; font-size: 12px; }
.landing-ember .lp-text-link { color: var(--lp-gold); font-size: 12px; font-weight: 500; display: inline-flex; align-items: center; gap: 14px; }
.landing-ember a.lp-text-link:hover { color: #f0d4ac; text-decoration: underline; text-underline-offset: 5px; }
.landing-ember .lp-legacy .lp-text-link { margin-top: 23px; }
.landing-ember .lp-medals { list-style: none; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: center; gap: 8px; padding: 0; margin: 0; }
.landing-ember .lp-medal { text-align: center; min-width: 0; font-size: 9px; color: var(--lp-soft); }
.landing-ember .lp-medal-step { display: block; font-size: 9px; letter-spacing: .12em; color: var(--lp-muted); }
.landing-ember .lp-medal img { width: 100%; height: auto; margin-block: 16px; filter: drop-shadow(0 6px 12px #0006); }
.landing-ember .lp-medal-gold { color: #e0bb59; }
.landing-ember .lp-medal-platinum { color: #91d7d1; }
.landing-ember .lp-medal-diamond { color: #c2ace4; }
.landing-ember .lp-glimpse { display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 64px; }
.landing-ember .lp-glimpse p:not(.lp-eyebrow) { margin-top: 18px; font-size: 12px; }
.landing-ember .lp-glimpse .lp-text-link { margin-top: 22px; }
.landing-ember .lp-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.landing-ember .lp-shot { display: block; position: relative; border: 1px solid #444958; border-radius: 6px; overflow: hidden; background: #141923; }
.landing-ember .lp-shot img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: contain; }
.landing-ember .lp-shot > span { position: absolute; right: 7px; bottom: 7px; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 3px; background: #0b0e15d9; color: #f0d4ac; }
.landing-ember .lp-shot:hover { border-color: var(--lp-gold); }
.landing-ember .lp-featured { margin-top: 76px; padding: 24px; border: 1px solid var(--lp-line); border-radius: 9px; }
.landing-ember .lp-featured img { max-width: 100%; max-height: 300px; margin-inline: auto; object-fit: contain; }
.landing-ember .lp-featured h3 { margin-top: 16px; }
.landing-ember .lp-news-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.landing-ember .lp-news-card { display: flex; flex-direction: column; align-items: flex-start; padding: 25px; border: 1px solid var(--lp-line); border-radius: 8px; background: #151a24; transition: border-color .2s; }
.landing-ember .lp-news-card:hover { border-color: #947052; }
.landing-ember .lp-news-date { color: var(--lp-muted); font-size: 10px; margin-bottom: 18px; }
.landing-ember .lp-news-card h3 { font-size: 18px; margin-bottom: 12px; }
.landing-ember .lp-news-card p { font-size: 12px; margin-bottom: 22px; overflow-wrap: anywhere; }
.landing-ember .lp-news-card .lp-text-link { margin-top: auto; }
.landing-ember .lp-final { margin-top: 76px; padding: 55px 20px 60px; text-align: center; border-block: 1px solid var(--lp-line); background: radial-gradient(ellipse at 50% 60%, #66472e24, transparent 65%); }
.landing-ember .lp-final > img { margin: 0 auto 16px; }
.landing-ember .lp-final h2 { margin-bottom: 16px; }
.landing-ember .lp-final > p:not(.lp-eyebrow) { font-size: 13px; }
.landing-ember .lp-final .lp-actions { justify-content: center; }
.landing-ember .lp-final small { display: block; margin-top: 20px; font-size: 10px; color: var(--lp-muted); }
.landing-ember .landing-footer { background: var(--lp-bg); border: 0; padding: 35px 0; text-align: left; }
.landing-ember .lp-footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.landing-ember .lp-footer-brand { font: 600 24px Cinzel, serif; color: var(--lp-ink); letter-spacing: .1em; }
.landing-ember .lp-footer-inner p { font-size: 10px; margin-top: 8px; }
.landing-ember .lp-footer-inner nav { display: flex; flex-wrap: wrap; gap: 20px; }
.landing-ember .lp-footer-inner nav a { font-size: 11px; color: var(--lp-soft); }
.landing-ember .lp-footer-inner nav a:hover { color: var(--lp-gold); }
.landing-ember .lp-footer-inner small { font-size: 10px; color: var(--lp-muted); line-height: 1.8; }
.landing-ember .lp-media-dialog { width: min(940px, calc(100% - 32px)); max-height: 92dvh; padding: 16px; border: 1px solid #77614c; border-radius: 10px; margin: auto; background: #151a24; color: var(--lp-ink); box-shadow: 0 20px 80px #000a; }
.landing-ember .lp-media-dialog::backdrop { background: #05080ee8; backdrop-filter: blur(5px); }
.landing-ember .lp-media-head { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 12px; }
.landing-ember .lp-media-head h2 { font-size: 17px; }
.landing-ember .lp-media-dialog button { width: 40px; height: 40px; border: 1px solid var(--lp-line); border-radius: 5px; background: #242a36; color: var(--lp-ink); font-size: 21px; }
.landing-ember .lp-media-dialog button:hover { border-color: var(--lp-gold); }
.landing-ember .lp-media-dialog :is(video, #lp-preview-image) { display: block; width: 100%; max-height: 68dvh; object-fit: contain; background: #090c12; }
.landing-ember .lp-gallery-controls { display: flex; justify-content: center; align-items: center; gap: 20px; margin-top: 15px; font-size: 12px; color: var(--lp-soft); }
.landing-ember.lp-media-open { overflow: hidden; }
@media (max-width: 1000px) {
    .landing-ember .lp-shell { width: calc(100% - 48px); }
    .landing-ember .lp-nav { gap: 20px; }
    .landing-ember .lp-online { display: none; }
    .landing-ember .lp-hero-caption { display: none; }
    .landing-ember .lp-feature { padding: 22px; }
    .landing-ember .lp-legacy { grid-template-columns: 1fr; gap: 28px; }
    .landing-ember .lp-medals { max-width: 600px; width: 100%; margin: 0 auto; }
    .landing-ember .lp-glimpse { gap: 28px; }
    .landing-ember .lp-footer-inner { flex-wrap: wrap; }
}
@media (max-width: 700px) {
    .landing-ember .lp-shell { width: calc(100% - 36px); }
    .landing-ember .lp-header { min-height: 78px; gap: 12px; flex-wrap: wrap; padding-top: 15px; }
    .landing-ember .lp-brand { font-size: 21px; gap: 8px; }
    .landing-ember .lp-brand img { width: 34px; height: 34px; }
    .landing-ember .lp-login { padding: 8px 14px; }
    .landing-ember .lp-nav { order: 3; width: 100%; justify-content: center; gap: 35px; border-top: 1px solid #ffffff08; }
    .landing-ember .lp-nav a { font-size: 11px; padding-block: 9px; }
    .landing-ember .lp-hero { min-height: 710px; }
    .landing-ember .lp-hero-art { object-position: 69% top; height: 62%; }
    .landing-ember .lp-hero-shade { background: linear-gradient(0deg, #0b0e15 4%, #0b0e15fa 26%, #0b0e15c9 43%, #0b0e1510 75%); }
    .landing-ember .lp-hero-inner { padding: 230px 0 34px; align-items: flex-end; }
    .landing-ember .lp-hero-copy { width: 100%; max-width: 510px; }
    .landing-ember .lp-hero h1 { font-size: clamp(36px, 7.8vw, 51px); }
    .landing-ember .lp-intro { font-size: 13px; margin-top: 18px; }
    .landing-ember .lp-actions { margin-top: 23px; gap: 10px; }
    .landing-ember .lp-button { padding-inline: 16px; gap: 10px; }
    .landing-ember .lp-promise-strip { grid-template-columns: 1fr; gap: 12px; padding-block: 18px; }
    .landing-ember .lp-promise-strip > span { justify-content: flex-start; border: 0; }
    .landing-ember .lp-section { padding-top: 48px; }
    .landing-ember .lp-section-heading { align-items: flex-start; flex-direction: column; gap: 18px; margin-bottom: 24px; }
    .landing-ember :is(.lp-features, .lp-realms, .lp-news-grid, .lp-glimpse) { grid-template-columns: 1fr; }
    .landing-ember .lp-feature { padding: 24px; }
    .landing-ember .lp-feature > img { width: 48px; height: 48px; float: right; margin: 0 0 15px 15px; }
    .landing-ember .lp-realm { height: 290px; }
    .landing-ember .lp-legacy { margin-top: 48px; padding: 25px 18px; gap: 30px; }
    .landing-ember .lp-medals { gap: 3px; }
    .landing-ember .lp-medal { font-size: 8px; }
    .landing-ember .lp-medal img { margin-block: 12px; }
    .landing-ember .lp-final { margin-top: 48px; padding-inline: 0; }
    .landing-ember .lp-final .lp-actions { flex-direction: column; align-items: stretch; }
    .landing-ember .lp-footer-inner { align-items: flex-start; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
    .landing-ember *, .landing-ember *::before, .landing-ember *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
