/* Homepage only. Shared forms, routing, account controls and admin styles are untouched. */
body.ascense-home {
  --background: #141210; --background-secondary: #1c1916; --surface: #26211d;
  --surface-hover: #302923; --primary: #f0ad32; --primary-hover: #ffc45a;
  --primary-muted: #9d702b; --text-primary: #f5f3ef; --text-secondary: #a8a19a; --border: #40362d;
  --bg: var(--background); --line: var(--border); --accent: var(--primary);
  --text: var(--text-primary); --muted: var(--text-secondary);
  background: var(--background); color: var(--text); line-height: 1.6;
}
.ascense-home :where(main, section, article, div, figure, nav) { min-width: 0; }
.ascense-home :where(a, button, summary):focus-visible { outline: 2px solid var(--primary); outline-offset: 5px; }
.ascense-home :where(main, footer) { width: min(100% - 64px, 1240px); max-width: 1240px; margin-inline: auto; padding-inline: 0; }
.ascense-home .ascense-skip { position: fixed; z-index: 100; top: 12px; left: 16px; padding: 12px 20px; background: var(--primary); color: var(--bg); border-radius: 6px; transform: translateY(-180%); }
.ascense-home .ascense-skip:not(:focus) { width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.ascense-home .ascense-skip:focus { transform: none; }
.ascense-home .header.compact-header { position: relative; z-index: 20; display: flex; justify-content: space-between; width: min(100% - 64px, 1240px); max-width: 1240px; min-height: 70px; height: auto; margin: 22px auto 0; padding: 8px 22px; border: 1px solid #302b25; border-radius: 12px; background: #0b0b0a; gap: 24px; }
.ascense-home .compact-header .brand { flex-shrink: 0; margin: 0; }
.ascense-home .compact-header .logo-crop { width: 164px; height: 52px; }
.ascense-home .compact-header .logo-crop img { width: 164px; }
.ascense-home .compact-header nav { display: flex; gap: 22px; width: auto; align-items: center; font-size: 12px; }
.ascense-home .compact-header nav > a { white-space: nowrap; }
.ascense-home .profile-menu summary { min-height: 44px; color: #d5cfc6; font-size: 12px; }
.ascense-home .panel-link { display: inline-flex; justify-content: center; align-items: center; min-height: 44px; padding: 10px 18px; border: 1px solid var(--primary); border-radius: 6px; background: var(--primary); color: #1b150a; font-weight: 700; }
.ascense-home .account-menu > summary { background: var(--primary); color: #201709; border-color: var(--primary); border-radius: 6px; padding-inline: 14px; }
.ascense-home .panel-link:hover { background: var(--primary-hover); color: #1b150a; }
.ascense-home .profile-dropdown { background: #1c1916; border-color: var(--border); }
.ascense-home .home-nav-toggle { display: none; padding: 10px 14px; min-height: 44px; border: 1px solid var(--border); background: var(--surface); border-radius: 6px; color: var(--text); }
.ascense-home .eyebrow { display: block; color: #c7a365; font-size: 10px; font-weight: 700; letter-spacing: .14em; line-height: 1.6; }
.ascense-home .hero { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, .45fr) minmax(0, .55fr); gap: 12px; align-items: center; min-height: 595px; padding: 35px 0 40px; background: radial-gradient(ellipse at 76% 48%, #77502013, transparent 63%); overflow: visible; }
.ascense-home .hero::before, .ascense-home .hero::after { content: ''; position: absolute; display: block; pointer-events: none; width: 10px; height: 10px; background: #93703c26; border: 1px solid #bd905244; border-radius: 0; filter: none; transform: none; z-index: -1; }
.ascense-home .hero::before { top: 12%; left: 49%; box-shadow: 34px 26px 0 #ad824e18, 410px 40px 0 #ad824e22, 130px 390px 0 #ad824e12; }
.ascense-home .hero::after { top: auto; left: auto; right: 4%; bottom: 10%; box-shadow: -26px -18px 0 #ad824e18; }
.ascense-home .hero-copy { max-width: 565px; text-align: left; align-items: flex-start; }
.ascense-home .hero .eyebrow { display: inline-flex; align-items: center; gap: 8px; width: fit-content; background: #211d17; border: 1px solid #463724; border-radius: 4px; padding: 5px 9px; font-size: 9px; letter-spacing: .09em; }
.ascense-home .dot { background: var(--primary); box-shadow: none; flex-shrink: 0; }
.ascense-home .hero h1 { font-size: clamp(38px, 4.2vw, 59px); line-height: 1.07; letter-spacing: -.052em; font-weight: 800; margin: 23px 0 21px; max-width: 570px; text-wrap: balance; }
.ascense-home .hero h1 span { color: var(--primary); }
.ascense-home .hero p { max-width: 430px; font-size: 14px; line-height: 1.85; color: var(--muted); margin: 0; }
.ascense-home .hero-actions { display: flex; justify-content: flex-start; flex-wrap: wrap; gap: 10px; margin-top: 27px; }
.ascense-home :where(.button, .hero-secondary, .claim-button) { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 44px; padding: 11px 17px; font-size: 12px; font-weight: 700; line-height: 1.5; border-radius: 6px; transition: background .18s, border-color .18s, transform .18s; }
.ascense-home .button { border: 1px solid var(--primary); background: var(--primary); color: #201709; box-shadow: none; }
.ascense-home .button:hover { background: var(--primary-hover); border-color: var(--primary-hover); transform: translateY(-1px); }
.ascense-home .hero-secondary { background: #211c16; border: 1px solid #4c3d2c; color: #e4d7c0; }
.ascense-home .hero-secondary:hover { background: var(--surface-hover); border-color: #79603b; }
.ascense-home .hero-metrics { display: flex; justify-content: flex-start; gap: 12px; flex-wrap: wrap; margin-top: 24px; font-size: 10px; color: #b1a89c; }
.ascense-home .hero-metrics span { padding: 0; border: 0; background: none; }
.ascense-home .ascense-hero-art { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; }
.ascense-home .ascense-character { width: 108%; max-width: none; height: auto; object-fit: contain; animation: ascense-float 8s ease-in-out infinite; }
.ascense-home .ascense-art-label { margin-top: -5px; font-size: 9px; letter-spacing: .22em; color: #b1a18c; }
@keyframes ascense-float { 50% { transform: translateY(-8px); } }
.ascense-home .halloween-banner { position: relative; isolation: isolate; display: grid; place-items: center; min-height: 235px; margin: 0 0 25px; padding: 24px 180px; border: 1px solid #51402c; border-radius: 12px; overflow: hidden; background: #20221c; text-align: center; }
.ascense-home .halloween-banner::after { content: none; }
.ascense-home .halloween-banner .promo-panorama { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ascense-home .promo-copy { max-width: 610px; }
.ascense-home .halloween-banner strong { display: block; margin: 5px 0 7px; font-size: clamp(24px, 2.7vw, 34px); font-weight: 800; line-height: 1.25; letter-spacing: -.035em; }
.ascense-home .halloween-banner p { font-size: 13px; margin: 0 0 15px; color: #c5bdb1; }
.ascense-home .halloween-banner a { margin: 0; background: var(--primary); color: #201709; border-color: var(--primary); }
.ascense-home :where(.plans-section, .home-performance, .ascense-benefits, .paid-plans-section) { padding: 58px 0; border: 0; }
.ascense-home .section-top { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 24px; }
.ascense-home h2 { font-size: clamp(29px, 3.15vw, 42px); line-height: 1.15; font-weight: 800; letter-spacing: -.045em; }
.ascense-home .section-top h2 { margin: 8px 0 0; }
.ascense-home .section-top > p { max-width: 360px; font-size: 12px; color: var(--muted); margin: 0; }
.ascense-home .filters { display: flex; gap: 7px; flex-wrap: wrap; margin: 24px 0; }
.ascense-home .filter { min-height: 44px; font-size: 12px; border: 1px solid var(--border); background: #211d18; border-radius: 5px; color: var(--muted); }
.ascense-home .filter.active { border-color: #a27836; background: #362a18; color: #f5c66e; }
.ascense-home .plan-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; align-items: stretch; }
.ascense-home .plan-card { display: flex; flex-direction: column; background: #24201b; border: 1px solid #3d342a; border-radius: 9px; padding: 28px; box-shadow: none; transition: border-color .18s, transform .18s; }
.ascense-home .plan-card:hover { transform: translateY(-3px); border-color: #82643a; }
.ascense-home .card-heading { align-items: center; gap: 8px; }
.ascense-home .plan-symbol { background: none; border: none; width: 43px; height: 43px; }
.ascense-home .plan-symbol img { width: 43px; height: 43px; image-rendering: pixelated; }
.ascense-home .plan-tag { font-size: 8px; letter-spacing: .07em; background: #30291e; border-color: #51412c; padding: 4px 7px; color: #d4b77f; }
.ascense-home .plan-card h3 { font-size: 24px; letter-spacing: -.035em; margin: 18px 0 9px; }
.ascense-home .plan-description { min-height: 48px; font-size: 13px; line-height: 1.7; color: var(--muted); margin: 0; }
.ascense-home .price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 8px; margin: 18px 0; color: var(--text); font-size: 48px; letter-spacing: -.05em; }
.ascense-home .price span { font-size: 10px; line-height: 1.5; letter-spacing: 0; color: var(--muted); }
.ascense-home .specs { padding-top: 9px; margin-bottom: 20px; border-color: var(--border); }
.ascense-home .specs li { gap: 10px; padding: 10px 0; font-size: 13px; }
.ascense-home .specs strong { text-align: right; color: #e3d9c9; }
.ascense-home .claim-button { margin-top: auto; font-size: 11px; padding-inline: 10px; gap: 6px; border: 1px solid #776039; background: #3a2c18; color: #ffd688; }
.ascense-home .claim-button:not(.disabled):hover { background: var(--primary); color: #201709; }
.ascense-home .claim-button.disabled { background: #29251f; color: #ada69b; border-color: #494037; opacity: 1; }
.ascense-home .capacity-note { max-width: 1030px; color: var(--muted); font-size: 11px; line-height: 1.8; margin: 20px 0; }
.ascense-home .notice { border: 1px solid #51402a; border-radius: 7px; background: #221d15; padding: 16px 20px; }
.ascense-home .notice strong { color: #dfc9a1; font-size: 12px; }
.ascense-home .notice p { color: #b5aa99; font-size: 11px; line-height: 1.8; }
.ascense-home .home-centered-heading { max-width: 720px; margin: 0 auto 32px; text-align: center; }
.ascense-home .home-centered-heading h2 { margin: 10px 0 14px; }
.ascense-home .home-centered-heading p { max-width: 580px; margin-inline: auto; color: var(--muted); font-size: 13px; }
.ascense-home .performance-grid { display: grid; grid-template-columns: .85fr 1.4fr 1fr; gap: 18px; }
.ascense-home .performance-context { display: grid; gap: 15px; }
.ascense-home :where(.performance-card, .performance-main, .performance-spec) { background: #211d19; border: 1px solid var(--border); border-radius: 9px; padding: 25px; }
.ascense-home .performance-card { display: block; }
.ascense-home .performance-card img { image-rendering: pixelated; }
.ascense-home .performance-card h3 { font-size: 17px; margin: 12px 0 8px; letter-spacing: -.025em; }
.ascense-home .performance-card p { font-size: 12px; color: var(--muted); margin: 0 0 12px; }
.ascense-home .performance-card span { font-size: 11px; color: #d2ad6c; }
.ascense-home .performance-card:hover { border-color: #806137; }
.ascense-home .performance-main { position: relative; overflow: hidden; background: radial-gradient(ellipse at 50% 80%, #5f482027, transparent 70%), #211d19; padding: 32px; }
.ascense-home .performance-main h3 { font-size: clamp(27px, 2.6vw, 36px); letter-spacing: -.045em; line-height: 1.2; margin: 16px 0; }
.ascense-home .performance-main p { font-size: 12px; color: var(--muted); }
.ascense-home .performance-hardware { display: flex; align-items: center; justify-content: center; gap: 20px; min-height: 175px; }
.ascense-home .performance-hardware img { filter: drop-shadow(0 12px 25px #0c0b09); image-rendering: pixelated; }
.ascense-home .performance-hardware span { font-family: monospace; font-size: 12px; color: #c6b592; padding: 4px 9px; background: #30291e; border: 1px solid #51432f; border-radius: 4px; }
.ascense-home .performance-main .performance-disclaimer { font-size: 10px; line-height: 1.8; }
.ascense-home .performance-spec { background: linear-gradient(140deg, #302719, #211d18 70%); border-color: #71542d; display: flex; flex-direction: column; align-items: flex-start; padding: 26px; }
.ascense-home .performance-spec > img { margin-bottom: 16px; image-rendering: pixelated; }
.ascense-home .performance-spec h3 { font-size: 24px; letter-spacing: -.04em; line-height: 1.25; margin: 10px 0 18px; }
.ascense-home .performance-spec dl { width: 100%; margin: 0; }
.ascense-home .performance-spec dl div { display: flex; justify-content: space-between; gap: 6px; border-bottom: 1px solid #4b3b27; padding: 10px 0; font-size: 11px; }
.ascense-home .performance-spec dt { color: var(--muted); }
.ascense-home .performance-spec dd { margin: 0; text-align: right; }
.ascense-home .performance-spec p { font-size: 11px; color: var(--muted); margin: 20px 0; }
.ascense-home .performance-spec .button { margin-top: auto; width: 100%; }
.ascense-home .ascense-mods { position: relative; isolation: isolate; display: grid; place-items: center; min-height: 525px; padding: 64px 30px; margin: 30px calc((1240px - 100vw) / 2); border: 0; border-radius: 0; background: #12110f; overflow: hidden; }
.ascense-home .ascense-mods::before { content: ''; position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg, #14121010, #141210ed 35%, #141210ed 65%, #14121010), linear-gradient(#141210, transparent 23%, transparent 77%, #141210); }
.ascense-home .ascense-mods-copy { width: 100%; max-width: 680px; text-align: center; }
.ascense-home .mods-pixel-icon { display: block; width: 64px; height: 64px; margin: 0 auto 18px; image-rendering: pixelated; }
.ascense-home .ascense-mods h2 { font-size: clamp(32px, 3.5vw, 47px); margin: 12px 0 20px; line-height: 1.12; }
.ascense-home .ascense-mods h2 span { color: var(--primary); }
.ascense-home .ascense-mods p { max-width: 575px; margin: 0 auto; color: #bcb3a5; font-size: 13px; line-height: 1.85; }
.ascense-home .ascense-mods-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin: 24px 0 20px; }
.ascense-home .ascense-mods .ascense-mods-note { font-size: 10px; max-width: 560px; color: #a99d8d; }
.ascense-home .ascense-benefits .section-top { display: block; max-width: 720px; margin: 0 auto 30px; text-align: center; }
.ascense-home .ascense-benefits .section-top p { max-width: none; margin: 14px auto 0; }
.ascense-home .ascense-benefit-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.ascense-home .ascense-benefit-grid article { display: flex; flex-direction: column; align-items: flex-start; padding: 24px 21px; border: 1px solid var(--border); border-radius: 8px; background: #211d19; transition: border-color .18s; }
.ascense-home .ascense-benefit-grid article:hover { border-color: #806137; }
.ascense-home .ascense-feature-icon { width: 45px; height: 45px; object-fit: contain; image-rendering: pixelated; }
.ascense-home .ascense-benefit-grid h3 { margin: 18px 0 12px; font-size: 17px; letter-spacing: -.03em; line-height: 1.3; }
.ascense-home .ascense-benefit-grid p { font-size: 12px; line-height: 1.8; color: var(--muted); margin: 0 0 14px; }
.ascense-home .ascense-benefit-grid a { display: flex; align-items: center; gap: 6px; min-height: 44px; margin-top: auto; font-size: 10px; color: #d9b97d; }
.ascense-home .home-games { position: relative; isolation: isolate; margin: 25px calc((1240px - 100vw) / 2) 10px; padding: 90px max(32px, calc((100vw - 1240px) / 2)); background: transparent; }
.ascense-home .home-games::before, .ascense-home .home-games::after { content: ''; position: absolute; left: 0; right: 0; height: 78px; pointer-events: none; background-image: url('/assets/ascense-pixel-background.png'); background-size: 1440px auto; background-repeat: repeat-x; }
.ascense-home .home-games::before { top: 0; background-position: top center; }
.ascense-home .home-games::after { bottom: 0; background-position: bottom center; }
.ascense-home .games-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.ascense-home .games-heading h2 { margin: 10px 0 0; }
.ascense-home .games-intro { max-width: 760px; margin: 16px 0 26px; color: var(--muted); font-size: 12px; }
.ascense-home .games-intro a { color: #d4ad6a; text-decoration: underline; }
.ascense-home .games-carousel-layout { position: relative; }
.ascense-home .games-track { display: flex; gap: 18px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 0 0 18px; touch-action: pan-x pan-y; }
.ascense-home .game-card { flex: 0 0 calc((100% - 72px) / 5); min-width: 0; scroll-snap-align: start; }
.ascense-home .game-card a { display: block; }
.ascense-home .game-cover { position: relative; overflow: hidden; border: 1px solid #4b3e2c; border-radius: 8px; background: #171b17; }
.ascense-home .game-cover img { display: block; width: 100%; height: auto; aspect-ratio: 216 / 289; object-fit: cover; transition: transform .2s; }
.ascense-home .game-card a:hover .game-cover img { transform: scale(1.035); }
.ascense-home .game-cover > span { position: absolute; bottom: 12px; left: 12px; padding: 4px 8px; border: 1px solid #81704d; border-radius: 4px; background: #17150ede; color: #f0d298; font: 10px monospace; }
.ascense-home .game-card h3 { font-size: 16px; margin: 13px 0 7px; letter-spacing: -.025em; }
.ascense-home .game-card p { margin: 0 0 7px; color: var(--muted); font-size: 11px; }
.ascense-home .game-card p strong { color: #f1c777; font-size: 17px; }
.ascense-home .game-card small { display: block; color: #a69b8c; font-size: 9px; line-height: 1.7; }
.ascense-home .game-card-link { display: inline-flex; align-items: center; min-height: 44px; font-size: 10px; color: #dfc18c; }
.ascense-home .games-arrow { position: absolute; top: 31%; z-index: 2; width: 44px; height: 44px; border: 1px solid #775e37; border-radius: 50%; background: #17130ff2; color: #f5c365; font-size: 20px; box-shadow: 0 3px 12px #0008; }
.ascense-home .games-arrow:disabled { opacity: .35; }
.ascense-home .games-prev { left: -20px; }
.ascense-home .games-next { right: -20px; }
.ascense-home .games-catalogue-note { color: var(--muted); font-size: 10px; margin: 20px 0 0; }
.ascense-home .home-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; padding: 24px 0; border: 0; }
.ascense-home .home-links article { background: #211d19; border: 1px solid var(--border); border-radius: 8px; padding: 25px; }
.ascense-home .home-links :where(h2, h3) { font-size: 20px; letter-spacing: -.035em; margin: 0 0 13px; }
.ascense-home .home-links article p { font-size: 12px; color: var(--muted); }
.ascense-home .home-links article > a { display: inline-flex; align-items: center; min-height: 44px; font-size: 11px; color: #d8b77a; }
.ascense-home .paid-plans-section .home-links { padding-bottom: 0; }
.ascense-home .panel-showcase { position: relative; margin: 0; padding: 50px 0; border: 0; overflow: hidden; }
.ascense-home .panel-showcase::before { content: none; }
.ascense-home .showcase-heading { text-align: center; max-width: 670px; margin: 0 auto 28px; }
.ascense-home .showcase-heading h2 { font-size: clamp(29px, 3.15vw, 42px); margin: 12px 0 18px; }
.ascense-home .showcase-heading p { color: var(--muted); font-size: 13px; }
.ascense-home .panel-perspective { max-width: 980px; margin: 35px auto 0; padding: 0; perspective: none; }
.ascense-home .panel-perspective a { transform: none; filter: none; border-radius: 8px; box-shadow: 0 20px 45px #0004; }
.ascense-home .panel-perspective img { border-color: #51412b; border-radius: 8px; }
.ascense-home .panel-perspective figcaption { color: #c6a365; margin-top: 16px; font-size: 9px; }
.ascense-home .panel-highlights { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 28px; }
.ascense-home .panel-highlights p { padding: 21px; margin: 0; background: #211d19; border: 1px solid var(--border); border-radius: 8px; }
.ascense-home .panel-highlights strong { font-size: 16px; }
.ascense-home .panel-highlights span { color: var(--muted); font-size: 12px; }
.ascense-home .minecraft-support { display: flex; gap: 25px; align-items: center; margin: 28px 0 55px; padding: 30px; border: 1px solid #554129; border-radius: 9px; background: #251f17; }
.ascense-home .minecraft-support h2 { font-size: 28px; margin: 0 0 12px; }
.ascense-home .minecraft-support p { color: var(--muted); font-size: 13px; margin: 0; }
.ascense-home .minecraft-support > a { display: inline-flex; justify-content: center; align-items: center; flex-shrink: 0; min-height: 44px; padding: 10px 17px; margin-left: auto; border: 1px solid #826537; border-radius: 6px; color: #e3c78e; font-size: 12px; }
.ascense-home footer { display: flex; align-items: center; gap: 15px 22px; flex-wrap: wrap; padding-block: 28px; border-top: 1px solid var(--border); }
.ascense-home footer :where(p, span, .terms-footer-link) { font-size: 10px; color: var(--muted); }
.ascense-home footer .terms-footer-link { display: inline-flex; align-items: center; min-height: 44px; }
.ascense-home footer > span { margin-left: 0; }
@media (max-width: 1304px) {
 .ascense-home .ascense-mods, .ascense-home .home-games { margin-inline: -32px; }
 .ascense-home .home-games { padding-inline: 32px; }
}
@media (max-width: 1200px) {
 .ascense-home .plan-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1100px) {
 .ascense-home .compact-header nav { gap: 12px; }
 .ascense-home .plan-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
 .ascense-home .hero { min-height: 520px; }
 .ascense-home .hero h1 { font-size: 43px; }
 .ascense-home .performance-grid { grid-template-columns: .85fr 1.15fr 1fr; gap: 12px; }
 .ascense-home :where(.performance-card, .performance-main, .performance-spec) { padding: 20px; }
 .ascense-home .performance-hardware { gap: 8px; }
 .ascense-home .performance-hardware img { width: 110px; height: 110px; }
 .ascense-home .performance-hardware span { padding: 4px; }
 .ascense-home .game-card { flex-basis: calc((100% - 54px) / 4); }
}
@media (max-width: 900px) {
 .ascense-home .compact-header .home-nav-direct { display: none; }
 .ascense-home .ascense-benefit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .ascense-home .halloween-banner { padding-inline: 120px; }
 .ascense-home .performance-grid { grid-template-columns: 1fr 1fr; }
 .ascense-home .performance-context { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; }
 .ascense-home .performance-main h3 { font-size: 32px; }
 .ascense-home .performance-hardware { min-height: 160px; }
 .ascense-home .game-card { flex-basis: calc((100% - 36px) / 3); }
}
@media (max-width: 767px) {
 .ascense-home :where(main, footer) { width: calc(100% - 40px); }
 .ascense-home .header.compact-header { width: calc(100% - 40px); min-height: 66px; margin-top: 12px; padding: 7px 15px; flex-wrap: wrap; gap: 0; }
 .ascense-home .compact-header .logo-crop { width: 140px; height: 48px; }
 .ascense-home .compact-header .logo-crop img { width: 140px; }
 .ascense-home .home-nav-toggle:not([hidden]) { display: inline-flex; gap: 8px; align-items: center; }
 .ascense-home .compact-header nav { width: 100%; flex-wrap: wrap; justify-content: flex-start; gap: 10px 18px; padding: 12px 0; }
 .ascense-home.nav-enhanced .compact-header nav:not(.is-open) { display: none; }
 .ascense-home .compact-header .home-nav-direct { display: inline-flex; min-height: 44px; align-items: center; }
 .ascense-home .profile-dropdown { position: absolute; max-width: min(290px, calc(100vw - 65px)); }
 .ascense-home .hero { grid-template-columns: minmax(0, 1fr); gap: 25px; min-height: 0; padding: 46px 0 32px; }
 .ascense-home .hero-copy { max-width: 580px; text-align: center; align-items: center; margin-inline: auto; }
 .ascense-home .hero h1 { font-size: clamp(35px, 7.5vw, 54px); margin: 20px 0; }
 .ascense-home .hero p { margin-inline: auto; font-size: 14px; }
 .ascense-home .hero-actions, .ascense-home .hero-metrics { justify-content: center; }
 .ascense-home .ascense-hero-art { max-width: 540px; margin-inline: auto; }
 .ascense-home .ascense-character { width: 100%; }
 .ascense-home .hero::before { box-shadow: none; }
 .ascense-home .halloween-banner { min-height: 235px; padding: 26px 40px; margin-bottom: 12px; }
 .ascense-home .halloween-banner .promo-panorama { object-position: center; opacity: .75; }
 .ascense-home .halloween-banner strong { font-size: 28px; }
 .ascense-home .halloween-banner p { max-width: 310px; margin-inline: auto; }
 .ascense-home :where(.plans-section, .home-performance, .ascense-benefits, .paid-plans-section) { padding-block: 42px; }
 .ascense-home .section-top { align-items: flex-start; flex-direction: column; gap: 13px; }
 .ascense-home .plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
 .ascense-home .ascense-mods { margin: 15px -20px; padding: 50px 20px; min-height: 520px; }
 .ascense-home .ascense-mods::before { background: linear-gradient(90deg, #14121066, #141210eb 25%, #141210eb 75%, #14121066), linear-gradient(#141210, transparent 20%, transparent 80%, #141210); }
 .ascense-home .home-games { margin-inline: -20px; padding: 75px 20px; }
 .ascense-home .games-heading { align-items: flex-start; flex-direction: column; gap: 16px; }
 .ascense-home .games-arrow { width: 40px; height: 40px; }
 .ascense-home .games-prev { left: -12px; }
 .ascense-home .games-next { right: -12px; }
 .ascense-home .game-card { flex-basis: calc((100% - 36px) / 2.6); }
 .ascense-home .home-links { grid-template-columns: minmax(0, 1fr); }
 .ascense-home .panel-showcase { padding-block: 38px; }
 .ascense-home .panel-highlights { grid-template-columns: minmax(0, 1fr); }
 .ascense-home .panel-perspective figcaption { flex-wrap: wrap; gap: 8px; }
 .ascense-home .minecraft-support { flex-direction: column; align-items: flex-start; padding: 25px; }
 .ascense-home .minecraft-support > a { margin-left: 0; }
}
@media (max-width: 480px) {
 .ascense-home .hero h1 { font-size: clamp(32px, 8.8vw, 42px); }
 .ascense-home .hero .eyebrow { font-size: 8px; letter-spacing: .06em; }
 .ascense-home .hero-actions > a { width: 100%; }
 .ascense-home .hero-metrics { gap: 8px 12px; font-size: 9px; }
 .ascense-home .halloween-banner { padding-inline: 20px; }
 .ascense-home .halloween-banner strong { font-size: 26px; }
 .ascense-home .halloween-banner .eyebrow { font-size: 8px; }
 .ascense-home .plan-grid, .ascense-home .performance-grid, .ascense-home .performance-context, .ascense-home .ascense-benefit-grid { grid-template-columns: minmax(0, 1fr); }
 .ascense-home .performance-context { grid-column: auto; }
 .ascense-home .plan-card { padding: 23px; }
 .ascense-home .plan-description { min-height: 0; }
 .ascense-home .plan-card h3 { font-size: 21px; }
 .ascense-home .specs li { font-size: 12px; }
 .ascense-home .ascense-mods-actions > a { width: 100%; }
 .ascense-home .game-card { flex-basis: 67%; }
 .ascense-home .game-card h3 { font-size: 17px; }
 .ascense-home .ascense-benefit-grid article { padding: 23px; }
 .ascense-home .notice { padding: 15px; }
 .ascense-home footer > span { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
 .ascense-home, .ascense-home * { scroll-behavior: auto !important; }
 .ascense-home *, .ascense-home *::before, .ascense-home *::after { animation: none !important; transition: none !important; }
 .ascense-home .scroll-reveal { opacity: 1; translate: none; transform: none; }
}
.ascense-home .games-track { cursor: grab; }
.ascense-home .games-track.is-dragging { cursor: grabbing; scroll-snap-type: none; scroll-behavior: auto; user-select: none; }
/* Downloaded Minecraft art: crop only its empty margins, never stretch its contents. */
.ascense-home .minecraft-promo { min-height: 300px; padding: 26px 200px; border-color: #73572b; background: #17130d; }
.ascense-home .minecraft-promo::before { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, transparent 8%, #11100e85 30%, #11100e9c 50%, #11100e85 70%, transparent 92%); pointer-events: none; }
.ascense-home .minecraft-promo .promo-panorama { z-index: -2; object-position: center; }
.ascense-home .minecraft-logo { position: relative; width: 290px; height: 58px; margin: 0 auto 12px; overflow: hidden; }
.ascense-home .minecraft-logo img { position: absolute; width: 100%; height: auto; top: 50%; left: 0; transform: translateY(-50%); }
.ascense-home .minecraft-promo .promo-offer { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 9px; font-size: clamp(18px, 1.85vw, 26px); line-height: 1.2; font-weight: 900; letter-spacing: -.025em; margin: 0 0 18px; }
.ascense-home .promo-offer span:first-child { color: #ffc04a; }
.ascense-home .promo-offer span:last-child { color: #fff9ed; }
.ascense-home .promo-season { display: flex; justify-content: center; gap: 2px 7px; flex-wrap: wrap; max-width: 470px; margin: 14px auto 0; color: #cdc2ae; font-size: 10px; line-height: 1.5; }
.ascense-home .promo-season a { display: inline; background: none; color: #e7c88b; border: 0; padding: 0; font-size: inherit; }
/* Each decorative tile has two real image faces. The central controller flips a few at a time. */
.ascense-home .mod-mosaic { position: absolute; z-index: -3; inset: -130px -100px; display: grid; grid-template-columns: repeat(8, 154px); grid-auto-rows: 154px; justify-content: center; align-content: center; gap: 21px; transform: perspective(1400px) rotateX(13deg) rotateZ(-11deg); pointer-events: none; }
.ascense-home .mod-tile { position: relative; perspective: 900px; }
.ascense-home .mod-tile-inner { position: relative; width: 100%; height: 100%; transform-style: preserve-3d; transition: transform 850ms cubic-bezier(.25,.7,.25,1); }
.ascense-home .mod-tile.is-flipping .mod-tile-inner { transform: rotateY(180deg); }
.ascense-home .mod-tile.is-resetting .mod-tile-inner { transition: none; }
.ascense-home .mod-tile-face { position: absolute; inset: 0; padding: 7px; border: 1px solid #594b3c; border-radius: 11px; background: #2b2620; backface-visibility: hidden; -webkit-backface-visibility: hidden; overflow: hidden; box-shadow: 0 8px 18px #0006; }
.ascense-home .mod-tile-back { transform: rotateY(180deg); }
.ascense-home .mod-tile-face img { display: block; width: 100%; height: 100%; border-radius: 6px; object-fit: cover; }
.ascense-home .ascense-mods::before { background: linear-gradient(90deg, #14121055 0%, #141210bd 21%, #141210f2 37%, #141210f2 63%, #141210bd 79%, #14121055), linear-gradient(#141210, transparent 25%, transparent 75%, #141210); }
.ascense-home .ascense-mods-copy { pointer-events: auto; }
/* Game covers are the downloaded JPGs, with transparent pixel scenery around them. */
.ascense-home .home-games { background-color: transparent; background-image: linear-gradient(#14121066, #14121035), url('/assets/ascense-pixel-background.png'); background-size: cover; background-position: center; background-repeat: no-repeat; }
.ascense-home .home-games::before, .ascense-home .home-games::after { content: none; }
.ascense-home .home-games::before { background-position: center top; }
.ascense-home .home-games::after { background-position: center bottom; }
.ascense-home .games-track { padding-bottom: 8px; }
.ascense-home .games-track::-webkit-scrollbar { display: none; }
.ascense-home .game-cover { border-color: #5d503e; background: transparent; }
.ascense-home .game-cover > span { background: #10100de6; border-color: #6d5c42; font-size: 9px; }
.ascense-home .game-card h3 { font-size: 16px; min-height: 42px; line-height: 1.35; }
.ascense-home .game-card-link { font-size: 11px; }
/* A floating view of the actual panel, with a deliberately modest readable tilt. */
.ascense-home .panel-showcase { overflow: hidden; padding-bottom: 60px; }
.ascense-home .panel-perspective { position: relative; isolation: isolate; perspective: 1500px; padding: 12px 20px 0; margin-top: 18px; }
.ascense-home .panel-perspective::before { content: ''; position: absolute; z-index: -1; inset: 18% 10% 4%; border-radius: 50%; background: radial-gradient(ellipse, #b97c2324, transparent 70%); filter: blur(22px); }
.ascense-home .panel-perspective a { display: block; transform-origin: 50% 65%; transform: rotateX(13deg) rotateY(-5deg) translateY(-5px); border: 1px solid #645035; box-shadow: 0 35px 55px -18px #000b, 0 0 35px #c18a2210; transition: transform .7s ease, box-shadow .7s ease; }
.ascense-home .panel-perspective a:hover { transform: rotateX(8deg) rotateY(-2deg) translateY(-10px); box-shadow: 0 40px 55px -20px #000b, 0 0 40px #c18a2218; }
.ascense-home .panel-perspective.scroll-reveal { opacity: 0; transform: translateY(28px); transition: opacity .8s ease, transform .8s ease; }
.ascense-home .panel-perspective.scroll-reveal.is-visible { opacity: 1; transform: none; }
.ascense-home .panel-perspective figcaption { position: relative; margin-top: 28px; }
.ascense-home .panel-highlights p { position: relative; overflow: hidden; padding: 26px; transition: transform .2s, border-color .2s; }
.ascense-home .panel-highlights p::after { content: ''; position: absolute; top: 24px; right: 22px; width: 7px; height: 7px; border: 1px solid #7e6237; box-shadow: -12px 12px #ab84391a; }
.ascense-home .panel-highlights p:hover { transform: translateY(-4px); border-color: #756044; }
.ascense-home .panel-highlights .panel-feature-icon { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 18px; border: 1px solid #58482f; border-radius: 9px; background: #342a1d; color: #e8bc70; }
.ascense-home .panel-feature-icon svg { width: 24px; height: 24px; }
.ascense-home .panel-highlights strong { display: block; margin-bottom: 9px; font-size: 18px; }
.ascense-home .panel-highlights p > span:not(.panel-feature-icon) { font-size: 13px; line-height: 1.8; }
/* A real monthly-plan promotion, followed by all the original service information. */
.ascense-home .paid-plans-section { margin-block: 45px; padding: 34px; border: 1px solid #57432b; border-radius: 13px; background: radial-gradient(ellipse at 90% 10%, #78502619, transparent 60%), linear-gradient(130deg, #231e18, #191715); }
.ascense-home .paid-promo-layout { display: grid; grid-template-columns: 1.25fr .75fr; align-items: center; gap: 25px; }
.ascense-home .paid-promo-copy .section-top { display: block; margin-bottom: 22px; }
.ascense-home .paid-promo-copy h2 { max-width: 500px; font-size: clamp(34px, 4vw, 48px); margin: 12px 0 18px; }
.ascense-home .paid-promo-copy .section-top p { max-width: 430px; font-size: 14px; line-height: 1.8; }
.ascense-home .paid-promo-note { font-size: 10px; color: var(--muted); margin-top: 15px; }
.ascense-home .paid-promo-art { display: block; width: 100%; max-width: 350px; height: auto; justify-self: center; }
.ascense-home .paid-plans-section .home-links { gap: 12px; padding-top: 22px; }
.ascense-home .paid-plans-section .home-links article { padding: 23px; background: #18161380; }
.ascense-home .paid-plan-details { margin-top: 22px; border-top: 1px solid var(--border); }
.ascense-home .paid-plan-details summary { display: flex; justify-content: space-between; align-items: center; min-height: 56px; gap: 18px; padding: 12px 0; color: #dcc8a6; font-size: 13px; cursor: pointer; list-style: none; }
.ascense-home .paid-plan-details summary::-webkit-details-marker { display: none; }
.ascense-home .paid-plan-details[open] summary > span { transform: rotate(45deg); }
.ascense-home .paid-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.ascense-home .paid-product-grid article { padding: 18px; background: #1a1713; border: 1px solid var(--border); border-radius: 7px; }
.ascense-home .paid-product-grid h3 { font-size: 17px; margin: 0 0 12px; }
.ascense-home .paid-product-grid p { font-size: 11px; color: var(--muted); }
.ascense-home .paid-product-grid strong { color: #e7bb6c; font-size: 24px; }
.ascense-home .paid-product-grid small { display: block; color: var(--muted); font-size: 10px; line-height: 1.8; }
.ascense-home .paid-product-resource { display: block; font-size: 11px; margin-top: 12px; color: #d9c8aa; }
/* More useful hierarchy in the final service cards and support call to action. */
.ascense-home .home-links article { position: relative; overflow: hidden; padding: 29px; transition: transform .2s, border-color .2s; }
.ascense-home .home-links article::after { content: ''; position: absolute; width: 6px; height: 6px; top: 28px; right: 26px; border: 1px solid #695234; box-shadow: 11px 11px #97703c16; }
.ascense-home .home-links article:hover { transform: translateY(-4px); border-color: #705b3e; }
.ascense-home .service-card-icon { display: block; object-fit: contain; image-rendering: pixelated; margin: 0 0 20px; }
.ascense-home .home-links article h2 { font-size: 23px; }
.ascense-home .home-links article p { font-size: 13px; line-height: 1.85; margin-bottom: 18px; }
.ascense-home .home-links article > a { font-size: 12px; }
.ascense-home .minecraft-support { position: relative; isolation: isolate; display: grid; grid-template-columns: 150px minmax(0, 1fr) auto; gap: 28px; min-height: 235px; margin-top: 38px; padding: 32px 38px; background: radial-gradient(ellipse at 12% 50%, #8e632519, transparent 65%), #1d1914; border-color: #5b472d; overflow: hidden; }
.ascense-home .minecraft-support::before, .ascense-home .minecraft-support::after { content: ''; position: absolute; z-index: -1; width: 9px; height: 9px; border: 1px solid #87632f; opacity: .55; }
.ascense-home .minecraft-support::before { top: 23px; left: 30%; box-shadow: 18px 16px #8b6b2520; }
.ascense-home .minecraft-support::after { right: 28px; bottom: 23px; }
.ascense-home .support-pixel-art { width: 150px; height: auto; }
.ascense-home .minecraft-support h2 { font-size: clamp(32px, 3.3vw, 44px); margin: 10px 0 14px; }
.ascense-home .minecraft-support p { max-width: 510px; font-size: 13px; line-height: 1.8; }
.ascense-home .minecraft-support > a.button { background: var(--primary); color: #201709; border-color: var(--primary); min-height: 48px; margin-left: 0; }
.ascense-home .minecraft-support > a.button:hover { background: var(--primary-hover); transform: translateY(-2px); }
/* The original footer links and legal information are grouped, not discarded. */
.ascense-home .home-footer { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 28px; align-items: start; padding-block: 40px 22px; }
.ascense-home .footer-brand .logo-crop { margin-bottom: 12px; }
.ascense-home .footer-brand p { margin: 0 0 20px; font-size: 12px; }
.ascense-home .footer-brand .discord-button { width: 38px; height: 38px; }
.ascense-home .footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding-top: 7px; }
.ascense-home .footer-column h2 { font-size: 13px; letter-spacing: 0; font-weight: 700; margin: 0 0 12px; color: #e3d9c8; }
.ascense-home .footer-column a, .ascense-home .footer-column .terms-footer-link { min-height: 36px; display: inline-flex; align-items: center; font-size: 11px; line-height: 1.6; color: var(--muted); }
.ascense-home .footer-column a:hover { color: var(--primary); }
.ascense-home .footer-bottom { grid-column: 1 / -1; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding-top: 24px; margin-top: 12px; border-top: 1px solid #302a23; }
.ascense-home .footer-bottom :where(a, span) { font-size: 10px; color: var(--muted); }
@media (max-width: 1100px) {
 .ascense-home .minecraft-promo { padding-inline: 140px; }
 .ascense-home .minecraft-support { grid-template-columns: 110px minmax(0, 1fr); gap: 22px; }
 .ascense-home .support-pixel-art { width: 110px; grid-row: span 2; }
 .ascense-home .minecraft-support > a { justify-self: start; }
 .ascense-home .paid-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1023px) {
 .ascense-home .plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .ascense-home .plan-card { padding: 25px; }
 .ascense-home .home-footer { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
 .ascense-home .minecraft-promo { min-height: 280px; padding: 24px 20px; }
 .ascense-home .minecraft-promo .promo-panorama { opacity: 1; }
 .ascense-home .minecraft-promo::before { background: linear-gradient(90deg, #11100e22, #11100eae 25%, #11100eb8 75%, #11100e22); }
 .ascense-home .minecraft-logo { width: 255px; height: 48px; margin-bottom: 15px; }
 .ascense-home .minecraft-promo .promo-offer { font-size: 21px; max-width: 410px; margin-inline: auto; }
 .ascense-home .mod-mosaic { grid-template-columns: repeat(8, 125px); grid-auto-rows: 125px; gap: 15px; }
 .ascense-home .mod-tile:nth-child(n + 17) { display: none; }
 .ascense-home .ascense-mods::before { background: linear-gradient(90deg, #14121088, #141210ed 27%, #141210ed 73%, #14121088), linear-gradient(#141210, transparent 25%, transparent 75%, #141210); }
 .ascense-home .paid-plans-section { padding: 25px; margin-block: 30px; }
 .ascense-home .paid-promo-layout { grid-template-columns: minmax(0, 1fr) .65fr; gap: 10px; }
 .ascense-home .paid-promo-copy h2 { font-size: 34px; }
 .ascense-home .paid-promo-copy .section-top p { font-size: 12px; }
 .ascense-home .paid-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .ascense-home .panel-perspective { padding-inline: 0; perspective: 1800px; }
 .ascense-home .panel-perspective a, .ascense-home .panel-perspective a:hover { transform: rotateX(5deg) translateY(0); }
 .ascense-home .minecraft-support { padding: 27px; grid-template-columns: 90px minmax(0, 1fr); gap: 17px; }
 .ascense-home .support-pixel-art { width: 90px; }
 .ascense-home .minecraft-support h2 { font-size: 32px; }
 .ascense-home .home-footer { gap: 28px 20px; }
}
@media (max-width: 600px) {
 .ascense-home .plan-grid { grid-template-columns: minmax(0, 1fr); }
 .ascense-home .plan-description { min-height: 0; }
 .ascense-home .paid-promo-layout { grid-template-columns: minmax(0, 1fr); }
 .ascense-home .paid-promo-art { max-width: 215px; margin-top: -10px; }
 .ascense-home .paid-promo-copy h2 { font-size: 36px; }
 .ascense-home .paid-product-grid { grid-template-columns: minmax(0, 1fr); }
 .ascense-home .minecraft-support { grid-template-columns: minmax(0, 1fr); text-align: center; justify-items: center; gap: 10px; }
 .ascense-home .support-pixel-art { width: 110px; grid-row: auto; }
 .ascense-home .minecraft-support > a { justify-self: center; margin-top: 15px; }
 .ascense-home .home-footer { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .ascense-home .footer-brand { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) {
 .ascense-home .mod-tile-inner { transition: none; }
 .ascense-home .panel-perspective.scroll-reveal { opacity: 1; transform: none; }
}
.ascense-home .games-availability-note { max-width: 760px; font-size: 11px; color: #c5b392; margin: 20px 0 0; }
/* Original transparent pixel-art library. Decorations never intercept interaction. */
.ascense-home :where(.hero,.plans-section,.home-performance,.ascense-benefits,.panel-showcase,.hosting-community,.home-final-cta) { position: relative; isolation: isolate; }
.ascense-home .decor-field { position: absolute; inset: -22px -26px; z-index: -1; pointer-events: none; overflow: clip; }
.ascense-home .decoration { position: absolute; display: block; width: 75px; height: auto; filter: drop-shadow(0 8px 11px #0004); pointer-events: none; }
.ascense-home .hero { grid-template-columns: minmax(0,.45fr) minmax(0,.55fr); min-height: 610px; padding-block: 32px 50px; }
.ascense-home .hero h1 { font-size: clamp(40px,4.35vw,62px); }
.ascense-home .ascense-character { width: min(112%,calc(100% + 48px)); }
.ascense-home .hero-leaf { right: 7%; top: 0; width: 66px; transform: rotate(18deg); }
.ascense-home .hero-stone { left: 49%; top: 10%; width: 48px; }
.ascense-home .hero-star { left: 3%; top: 5%; width: 22px; opacity: .75; }
.ascense-home .hero-crystal { right: 1%; bottom: 3%; width: 49px; }
.ascense-home .hero-particles { left: 49%; bottom: 4%; width: 73px; opacity: .65; }
.ascense-home .plans-gear { right: 3px; bottom: 16%; width: 55px; opacity: .45; }
.ascense-home .plans-grass { left: 1px; top: 10px; width: 38px; opacity: .55; }
.ascense-home .performance-fan { right: 0; top: 5px; width: 59px; opacity: .65; }
.ascense-home .performance-chip { left: 4px; bottom: 16px; width: 64px; opacity: .65; }
.ascense-home .benefits-leaf { left: 2px; top: 0; width: 54px; opacity: .55; }
.ascense-home .benefits-ore { right: 4px; top: 0; width: 45px; opacity: .6; }
.ascense-home .panel-ram { left: 15px; top: 250px; width: 95px; }
.ascense-home .panel-ssd { right: 5px; top: 370px; width: 82px; }
.ascense-home .panel-crystal { right: 3%; top: 80px; width: 42px; opacity: .65; }
.ascense-home .panel-network { left: 8%; bottom: 35px; width: 38px; opacity: .35; }
.ascense-home .float-leaf { animation: leaf-drift 10s ease-in-out infinite; }
.ascense-home .float-slow { animation: decoration-drift 8s ease-in-out infinite; animation-delay: -3.3s; }
.ascense-home .float-chip { animation: chip-drift 12s ease-in-out infinite; animation-delay: -5s; }
.ascense-home .float-ram { animation: decoration-drift 9s ease-in-out infinite; animation-delay: -6.5s; }
.ascense-home .twinkle { animation: pixel-twinkle 6s ease-in-out infinite; animation-delay: -2.1s; }
@keyframes leaf-drift { 50% { transform: translate3d(5px,-9px,0) rotate(7deg); } }
@keyframes decoration-drift { 50% { transform: translate3d(0,-7px,0); } }
@keyframes chip-drift { 50% { transform: translateY(-5px) rotate(4deg); } }
@keyframes pixel-twinkle { 50% { opacity: .45; filter: drop-shadow(0 0 8px #d9a94444); } }
/* Broader cards remain in two rows of three. Ornament stays clear of specifications. */
.ascense-home .plan-card { position: relative; overflow: hidden; background: radial-gradient(ellipse at 100% 0,#705c3611,transparent 65%),#24211d; border-color: #484035; box-shadow: 0 8px 20px #0002; }
.ascense-home .plan-card::after { content: ''; position: absolute; right: 16px; top: 15px; width: 5px; height: 5px; border: 1px solid #ad8d52; opacity: .45; box-shadow: -11px 10px #bb945520; pointer-events: none; }
.ascense-home .plan-symbol { width: 58px; height: 58px; }
.ascense-home .plan-symbol img { width: 56px; height: 56px; filter: drop-shadow(0 7px 6px #0004); }
.ascense-home .plan-tag { font-size: 9px; color: #ecd2a2; background: #3b3122; border-color: #645235; padding: 5px 9px; margin-right: 11px; }
.ascense-home .price { color: #f6c46d; }
.ascense-home .specs { border-top: 1px solid #534632; }
.ascense-home .specs li + li { border-top: 1px solid #38322a; }
.ascense-home .plan-card:hover { transform: translateY(-5px); box-shadow: 0 16px 28px #0004; }
.ascense-home .claim-button { min-height: 47px; border-radius: 7px; background: #3c2f1b; border-color: #826338; }
/* The top of the real panel is further away; no sideways or Z-axis rotation. */
.ascense-home .panel-perspective { perspective: 1400px; overflow: visible; }
.ascense-home .panel-perspective a { transform: rotateX(16deg); transform-origin: center bottom; transform-style: preserve-3d; box-shadow: 0 40px 65px -18px #000b,0 0 35px #b9842815; }
.ascense-home .panel-perspective a:hover { transform: rotateX(10deg) translateY(-5px); }
.ascense-home .panel-perspective::before { inset: 14% 9% 5%; pointer-events: none; background: radial-gradient(ellipse,#d3983c3b 0%,#a36a1a1a 45%,transparent 72%); filter: blur(30px); opacity: .8; }
.ascense-home .performance-hardware img { width: 158px; height: 158px; }
/* Original public statistics, with their original definitions and error states. */
.ascense-home .hosting-community { padding: 58px 0 40px; border: 0; }
.ascense-home .hosting-community .showcase-heading { max-width: 700px; }
.ascense-home .hosting-counters { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; border: 0; }
.ascense-home .hosting-counters article { position: relative; padding: 30px; border: 1px solid #494033; border-radius: 10px; background: radial-gradient(ellipse at 90% 0,#6d52221a,transparent 65%),#201c18; }
.ascense-home .hosting-counters article::before { content: ''; display: block; width: 58px; height: 58px; margin-bottom: 22px; background: url('/assets/decorations/cloud.svg') center/contain no-repeat; }
.ascense-home .hosting-counters article:nth-child(2) { order: 0; }
.ascense-home .hosting-counters article:nth-child(2)::before { background-image: url('/assets/decorations/storage.svg'); }
.ascense-home .hosting-counters article:nth-child(1) { order: 1; }
.ascense-home .hosting-counters article:nth-child(4) { order: 2; }
.ascense-home .hosting-counters article:nth-child(4)::before { background-image: url('/assets/decorations/connection.svg'); }
.ascense-home .hosting-counters [data-stat] { font-size: clamp(44px,4.2vw,60px); font-weight: 800; color: #f4ead7; line-height: 1.1; }
.ascense-home .hosting-counters h3 { font-size: 18px; margin: 18px 0 10px; }
.ascense-home .hosting-counters p { max-width: 290px; font-size: 12px; line-height: 1.8; }
.ascense-home .hosting-counters article:nth-child(3) { order: 3; grid-column: 1/-1; display: grid; grid-template-columns: 40px auto 1fr; gap: 10px 18px; align-items: center; padding: 18px 25px; }
.ascense-home .hosting-counters article:nth-child(3)::before { grid-row: 1/span 2; width: 38px; height: 38px; margin: 0; background-image: url('/assets/decorations/bolt.svg'); }
.ascense-home .hosting-counters article:nth-child(3) [data-stat] { font-size: 28px; grid-row: 1/span 2; }
.ascense-home .hosting-counters article:nth-child(3) h3 { font-size: 14px; margin: 0; }
.ascense-home .hosting-counters article:nth-child(3) p { font-size: 11px; max-width: none; }
.ascense-home .hosting-stat-status,.ascense-home .hosting-list-help { font-size: 11px; line-height: 1.9; }
.ascense-home .community-list-heading { gap: 30px; margin-top: 40px; }
.ascense-home .community-list-heading h3 { font-size: 28px; }
.ascense-home .community-list-heading > p { font-size: 12px; }
.ascense-home .hosting-public-card.minecraft-server-row { background: #1b1915; border-color: #4a4235; border-top-color: #8d784c; }
.ascense-home .hosting-empty { border-color: #514632; background: #1c1915; color: #b7ad9e; }
/* Reuse the existing review form, moderation flow and public-only carousel. */
.ascense-home .hosting-reviews { position: relative; padding: 55px 0; border-top: 1px solid #383024; }
.ascense-home .review-summary { margin: 0 0 25px; font-size: 13px; text-align: center; color: #e0bb75; }
.ascense-home .review-card { position: relative; background: linear-gradient(140deg,#28221b,#1b1916); border-color: #4c4030; box-shadow: 0 10px 25px #0003; }
.ascense-home .review-card::before { content: ''; position: absolute; top: 22px; right: 20px; width: 20px; height: 20px; background: url('/assets/decorations/star.svg') center/contain; opacity: .45; }
.ascense-home .review-card-text { color: #ccc2b3; }
.ascense-home .review-card-author strong { color: #eee3cf; }
.ascense-home .review-card-author time { display: block; color: #a89c88; font-size: 9px; margin-top: 6px; }
.ascense-home .review-empty { background: #1c1915; border-color: #57452d; }
.ascense-home .review-compose { gap: 35px; margin-top: 35px; }
.ascense-home .review-compose :where(form,.review-login) { border-color: #51422d; background: #211c16; }
.ascense-home .review-compose textarea { background: #151310; border-color: #645238; }
.ascense-home .review-compose h3 { font-size: 29px; }
.ascense-home .review-compose p { font-size: 12px; line-height: 1.85; }
.ascense-home .review-stars legend,.ascense-home .review-compose label { color: #cabb9f; }
/* Compact accessible FAQ with readable answers and a no-JS fallback. */
.ascense-home .home-faq { padding: 60px 0; }
.ascense-home .home-faq-list { max-width: 930px; margin: auto; border-top: 1px solid #473b2d; }
.ascense-home .faq-item { border-bottom: 1px solid #473b2d; }
.ascense-home .faq-item h3 { margin: 0; }
.ascense-home .faq-item button { display: flex; align-items: center; justify-content: space-between; gap: 24px; width: 100%; padding: 21px 2px; border: 0; background: none; color: #e8dfd0; font-size: 15px; font-weight: 600; text-align: left; }
.ascense-home .faq-item button:hover { color: var(--primary); }
.ascense-home .faq-item button > span { display: grid; place-items: center; width: 25px; height: 25px; flex-shrink: 0; color: #d4ab62; transition: transform .3s; }
.ascense-home .faq-item.is-open button > span { transform: rotate(180deg); }
.ascense-home .faq-answer { display: grid; grid-template-rows: 1fr; transition: grid-template-rows .32s ease; }
.ascense-home .faq-enhanced .faq-answer { grid-template-rows: 0fr; }
.ascense-home .faq-enhanced .faq-item.is-open .faq-answer { grid-template-rows: 1fr; }
.ascense-home .faq-answer-inner { min-height: 0; overflow: hidden; }
.ascense-home .faq-answer p { max-width: 850px; font-size: 13px; color: #b7ad9d; line-height: 1.9; margin: 0 0 24px; padding-right: 35px; }
.ascense-home .faq-answer a { color: #e2bd7d; text-decoration: underline; }
/* Support, then the final commercial invitation and explicitly inactive newsletter. */
.ascense-home .minecraft-support { grid-template-columns: 1.35fr .8fr; gap: 16px 40px; padding: 32px 45px; min-height: 300px; }
.ascense-home .minecraft-support > div { grid-column: 1; align-self: end; }
.ascense-home .minecraft-support > .support-pixel-art { grid-column: 2; grid-row: 1/span 2; width: 100%; max-width: 330px; justify-self: center; filter: drop-shadow(0 12px 25px #0004); }
.ascense-home .minecraft-support > a.button { grid-column: 1; grid-row: 2; justify-self: start; align-self: start; }
.ascense-home .home-final-cta { padding: 70px 155px; margin-block: 10px 35px; text-align: center; overflow: clip; background: radial-gradient(ellipse at 50% 70%,#79501a14,transparent 65%); border-block: 1px solid #403323; }
.ascense-home .home-final-cta h2 { max-width: 750px; margin: 15px auto 20px; font-size: clamp(34px,4vw,52px); }
.ascense-home .home-final-cta > p { max-width: 580px; margin: 0 auto 25px; font-size: 14px; color: var(--muted); line-height: 1.8; }
.ascense-home .final-cta-actions { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; }
.ascense-home .final-cta-note { display: block; font-size: 10px; color: #a49884; margin-top: 22px; }
.ascense-home .cta-grass { left: 30px; top: 80px; width: 115px; }
.ascense-home .cta-leaf { left: 75px; bottom: 20px; width: 55px; }
.ascense-home .cta-crystal { right: 30px; top: 90px; width: 83px; }
.ascense-home .cta-cloud { right: 45px; bottom: 20px; width: 75px; opacity: .6; }
.ascense-home .home-newsletter { position: relative; isolation: isolate; display: grid; grid-template-columns: 1fr 1fr; gap: 45px; padding: 40px; margin-bottom: 45px; color: #21190e; background: #d8b36c; border-radius: 11px; overflow: hidden; }
.ascense-home .home-newsletter::before { content: ''; position: absolute; inset: 0; z-index: -1; background: url('/assets/decorations/particles.svg') 0 0/80px; opacity: .12; pointer-events: none; }
.ascense-home .newsletter-label { color: #66471c; font-size: 10px; letter-spacing: .1em; font-weight: 700; }
.ascense-home .home-newsletter h2 { font-size: 33px; margin: 12px 0 15px; color: #21190e; }
.ascense-home .home-newsletter p { font-size: 12px; line-height: 1.8; max-width: 480px; }
.ascense-home .home-newsletter a { display: inline-flex; min-height: 44px; align-items: center; color: #30220d; font-size: 12px; font-weight: 700; }
.ascense-home .newsletter-interface { align-self: center; }
.ascense-home .newsletter-interface > label { display: block; font-size: 12px; font-weight: 700; margin-bottom: 10px; }
.ascense-home .newsletter-interface > div { display: flex; gap: 8px; }
.ascense-home .newsletter-interface input { width: 100%; min-width: 0; min-height: 48px; padding: 12px; border: 1px solid #a27e40; border-radius: 6px; background: #f3dfb2; color: #5b4b31; }
.ascense-home .newsletter-interface button { min-height: 48px; border: 1px solid #594326; border-radius: 6px; padding: 8px 13px; background: #352719; color: #e8d7b8; font-size: 11px; }
.ascense-home .newsletter-interface button:disabled { opacity: .85; cursor: not-allowed; }
.ascense-home .newsletter-interface p { color: #53401f; font-size: 10px; }
.ascense-home .home-footer { position: relative; grid-template-columns: 1.35fr repeat(4,minmax(0,1fr)); gap: 26px; padding-top: 42px; }
.ascense-home .home-footer::before { content: ''; position: absolute; z-index: -1; inset: 0 calc((1240px - 100vw)/2); background: #1a1815; }
.ascense-home .footer-brand p { max-width: 240px; line-height: 1.8; font-size: 11px; }
.ascense-home .footer-column h2 { font-size: 11px; text-transform: uppercase; letter-spacing: .06em; line-height: 1.6; }
.ascense-home .footer-group-label { color: #d3c3a8; margin-top: 12px; font-size: 11px; }
.ascense-home .home-rise { opacity: 0; transform: translateY(20px); transition: opacity .7s,transform .7s; }
.ascense-home .home-rise.is-visible { opacity: 1; transform: none; }
@media (max-width: 1304px) { .ascense-home .home-footer::before { inset-inline: -32px; } }
@media (max-width: 1023px) {
 .ascense-home .hero h1 { font-size: 44px; }
 .ascense-home .decoration { opacity: .6; }
 .ascense-home .panel-ram { width: 65px; left: 3px; }
 .ascense-home .panel-ssd { width: 60px; right: 3px; }
 .ascense-home .home-final-cta { padding-inline: 120px; }
 .ascense-home .home-newsletter { gap: 25px; padding: 30px; }
 .ascense-home .home-footer { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 767px) {
 .ascense-home .hero { grid-template-columns: minmax(0,1fr); min-height: 0; padding-top: 46px; }
 .ascense-home .hero h1 { font-size: clamp(33px,7.6vw,52px); }
 .ascense-home .ascense-character { width: 100%; }
 .ascense-home .decor-field { inset: -10px -10px; }
 .ascense-home .hero-leaf { right: 3%; top: 50%; width: 40px; }
 .ascense-home .hero-stone,.ascense-home .hero-particles,.ascense-home .plans-gear,.ascense-home .performance-fan,.ascense-home .performance-chip,.ascense-home .benefits-ore,.ascense-home .panel-network,.ascense-home .panel-ram,.ascense-home .panel-ssd { display: none; }
 .ascense-home .hero-crystal { right: 3%; bottom: 1%; width: 31px; }
 .ascense-home .panel-perspective a,.ascense-home .panel-perspective a:hover { transform: rotateX(6deg); }
 .ascense-home .hosting-counters { grid-template-columns: minmax(0,1fr); gap: 14px; }
 .ascense-home .hosting-counters article { padding: 25px; }
 .ascense-home .hosting-counters article:nth-child(3) { grid-template-columns: 32px auto 1fr; padding: 18px; gap: 8px 12px; }
 .ascense-home .hosting-counters article::before { width: 45px; height: 45px; }
 .ascense-home .hosting-counters [data-stat] { font-size: 48px; }
 .ascense-home .community-list-heading { display: block; }
 .ascense-home .review-compose { grid-template-columns: minmax(0,1fr); gap: 22px; }
 .ascense-home .home-faq { padding-block: 42px; }
 .ascense-home .faq-item button { font-size: 14px; line-height: 1.6; }
 .ascense-home .faq-answer p { font-size: 12px; padding-right: 10px; }
 .ascense-home .minecraft-support { grid-template-columns: minmax(0,1fr); padding: 30px; text-align: center; justify-items: center; gap: 20px; }
 .ascense-home .minecraft-support > div { grid-column: 1; grid-row: 1; }
 .ascense-home .minecraft-support > .support-pixel-art { grid-column: 1; grid-row: 3; max-width: 240px; }
 .ascense-home .minecraft-support > a.button { grid-column: 1; grid-row: 2; justify-self: center; }
 .ascense-home .home-final-cta { padding: 50px 25px; }
 .ascense-home .cta-grass,.ascense-home .cta-cloud { display: none; }
 .ascense-home .cta-leaf { left: 0; bottom: 0; width: 35px; }
 .ascense-home .cta-crystal { right: 0; top: 5px; width: 30px; }
 .ascense-home .home-final-cta h2 { font-size: 36px; }
 .ascense-home .home-newsletter { grid-template-columns: minmax(0,1fr); padding: 28px; gap: 15px; }
 .ascense-home .newsletter-interface > div { flex-direction: column; }
 .ascense-home .home-footer { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .ascense-home .home-footer::before { inset-inline: -20px; }
}
@media (max-width: 480px) {
 .ascense-home .hero h1 { font-size: clamp(32px,8.8vw,42px); }
 .ascense-home .footer-brand { grid-column: 1/-1; }
 .ascense-home .final-cta-actions > a { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
 .ascense-home .decoration { animation: none !important; }
 .ascense-home .home-rise { opacity: 1; transform: none; }
}
.ascense-home .hero-metrics span { display: inline-flex; align-items: center; gap: 5px; }
.ascense-home .hero-metrics img { width: 15px; height: 15px; object-fit: contain; }
/* Game scenery always scales uniformly. Border height is independent of section height. */
.ascense-home .home-games { background-size: cover; }
.ascense-home .games-carousel-layout { display: grid; grid-template-columns: minmax(0,1fr) 44px 44px; gap: 14px; }
.ascense-home .games-track { grid-column: 1/-1; grid-row: 1; width: 100%; min-width: 0; }
.ascense-home .games-arrow { position: static; top: auto; left: auto; right: auto; width: 44px; height: 44px; box-shadow: none; }
.ascense-home .games-prev { grid-column: 2; grid-row: 2; }
.ascense-home .games-next { grid-column: 3; grid-row: 2; }
/* Recovered real locations: no estimated latency or invented connectivity figures. */
.ascense-home .locations-showcase { position: relative; padding: 60px 0; border-block: 1px solid #3a3023; }
.ascense-home .locations-showcase .showcase-heading { max-width: 800px; }
.ascense-home .locations-showcase h2 { font-size: clamp(32px,3.5vw,46px); }
.ascense-home .locations-showcase h2 span { color: #e7c27b; }
.ascense-home .locations-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 26px; align-items: center; }
.ascense-home .location-list { display: grid; gap: 14px; }
.ascense-home .location-list article { position: relative; padding: 25px; background: #211d18; border: 1px solid #51422e; border-radius: 9px; overflow: hidden; }
.ascense-home .location-list article::after { content: ''; position: absolute; width: 35px; height: 35px; right: 20px; top: 23px; background: url('/assets/decorations/connection.svg') center/contain no-repeat; opacity: .55; }
.ascense-home .location-country { display: block; color: #c4a46a; font-size: 9px; letter-spacing: .1em; }
.ascense-home .location-list h3 { display: flex; align-items: center; gap: 10px; font-size: 22px; margin: 13px 0; letter-spacing: -.025em; }
.ascense-home .location-list h3 i { display: block; width: 7px; height: 7px; flex-shrink: 0; border-radius: 50%; background: var(--primary); box-shadow: 0 0 0 5px #e9ad3420; }
.ascense-home .location-list article p,.ascense-home .location-note { font-size: 12px; color: var(--muted); line-height: 1.85; margin: 0; }
.ascense-home .location-note { padding: 8px 0; }
.ascense-home .locations-map { width: 100%; margin: 0; padding: 16px; background: radial-gradient(ellipse at 60% 45%,#7e62251f,transparent 70%),#1b1915; border: 1px solid #403628; border-radius: 11px; }
.ascense-home .locations-map svg { display: block; width: 100%; height: auto; aspect-ratio: 800/480; overflow: visible; }
.ascense-home .locations-map text { fill: #e0c084; font-size: 13px; font-family: Arial,Helvetica,sans-serif; font-weight: 700; letter-spacing: 1px; }
.ascense-home .locations-map .map-country { font-size: 12px; fill: #998e76; letter-spacing: 3px; }
.ascense-home .locations-map .map-pin { fill: var(--primary); }
.ascense-home .locations-map .map-halo { fill: #dca34415; stroke: #dca34455; stroke-width: 1px; }
.ascense-home .locations-map figcaption { display: flex; justify-content: space-between; gap: 14px; color: #c3a877; font-size: 9px; margin: 16px 0 2px; flex-wrap: wrap; }
.ascense-home .locations-map figcaption span { color: var(--muted); }
/* Original CPU, memory and SSD illustrations; no undocumented hardware generation. */
.ascense-home .infrastructure-feature-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin-top: 24px; }
.ascense-home .infrastructure-feature { position: relative; display: flex; flex-direction: column; padding: 25px; border: 1px solid #4d4233; border-radius: 10px; background: radial-gradient(ellipse at 50% 5%,#68512820,transparent 65%),#211d18; box-shadow: 0 12px 25px #0002; overflow: hidden; }
.ascense-home .infrastructure-feature::after { content: ''; position: absolute; right: 18px; top: 18px; width: 6px; height: 6px; border: 1px solid #b18c4b; box-shadow: -12px 11px #a8863920; opacity: .5; }
.ascense-home .infrastructure-feature-art { height: 150px; display: grid; place-items: center; margin: -8px 0 10px; }
.ascense-home .infrastructure-feature-art img { display: block; width: 200px; max-width: 100%; height: auto; filter: drop-shadow(0 7px 8px #0003); }
.ascense-home .infrastructure-feature h3 { font-size: 21px; line-height: 1.3; letter-spacing: -.035em; margin: 12px 0 14px; }
.ascense-home .infrastructure-feature p { color: var(--muted); font-size: 13px; line-height: 1.85; margin: 0 0 20px; }
.ascense-home .infrastructure-feature > span { padding-top: 15px; margin-top: auto; border-top: 1px solid #453a2b; color: #c6ad7e; font-size: 10px; line-height: 1.7; }
/* A data-driven community creator card. No unverified Minecraft identity is inferred. */
.ascense-home .home-creators { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; margin: 30px 0 55px; padding: 48px; border: 1px solid #463b2d; border-radius: 13px; background: radial-gradient(ellipse at 90% 20%,#70502215,transparent 65%),#1c1b18; }
.ascense-home .creators-intro h2 { font-size: clamp(38px,4.5vw,58px); line-height: 1.05; margin: 20px 0 25px; }
.ascense-home .creators-intro h2 span { color: #e8be70; }
.ascense-home .creators-intro > p { max-width: 420px; font-size: 14px; color: #b5ac9d; line-height: 1.85; }
.ascense-home .creators-intro-art { display: flex; gap: 30px; align-items: center; margin-top: 35px; }
.ascense-home .creators-intro-art img { filter: drop-shadow(0 7px 8px #0003); }
.ascense-home .creators-track { min-width: 0; }
.ascense-home .creator-card { max-width: 440px; margin: 0 auto; border: 1px solid #5b4930; border-radius: 11px; background: #211d17; box-shadow: 0 15px 35px #0004; transition: transform .25s,border-color .25s; }
.ascense-home .creator-card:hover { transform: translateY(-4px); border-color: #987141; }
.ascense-home .creator-visual { position: relative; isolation: isolate; display: grid; place-items: end center; height: 265px; background: radial-gradient(ellipse at 50% 65%,#b585383b,transparent 70%),linear-gradient(135deg,#3b2e1b,#272219); border-bottom: 1px solid #5b4930; border-radius: 11px 11px 0 0; }
.ascense-home .creator-visual-grid { position: absolute; inset: 0; z-index: -1; background-image: url('/assets/decorations/particles.svg'); background-size: 110px auto; opacity: .18; }
.ascense-home .creator-skin { position: relative; z-index: 1; display: block; width: auto; max-width: 95%; height: 290px; object-fit: contain; object-position: bottom; filter: drop-shadow(0 16px 16px #0005); }
.ascense-home .creator-skin-pending { display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; width: 215px; height: 220px; margin-bottom: 22px; color: #bba987; }
.ascense-home .creator-skin-frame { position: absolute; inset: 16px 22px 38px; border: 1px dashed #9f7c443d; border-radius: 8px; }
.ascense-home .creator-monogram { display: grid; place-items: center; width: 100px; height: 100px; margin-bottom: 26px; color: #d1af71; border: 1px solid #92713f; border-radius: 10px; background: #382a19; font-size: 48px; font-weight: 800; box-shadow: 0 10px 24px #0003; }
.ascense-home .creator-skin-pending > span:last-child { position: relative; font-size: 10px; text-align: center; }
.ascense-home .creator-platform { position: absolute; left: 20px; top: 18px; display: flex; align-items: center; gap: 6px; padding: 6px 10px; border: 1px solid #695332; border-radius: 5px; background: #181511cc; font-size: 10px; color: #ead6b0; }
.ascense-home .creator-platform svg { width: 15px; height: 15px; }
.ascense-home .creator-info { padding: 26px; }
.ascense-home .creator-category { display: block; font-size: 10px; color: #cbb07f; }
.ascense-home .creator-info h3 { font-size: 29px; line-height: 1.2; margin: 10px 0 9px; letter-spacing: -.035em; }
.ascense-home .creator-handle { display: inline-flex; align-items: center; min-height: 36px; font-size: 12px; color: #e4c482; }
.ascense-home .creator-info p { margin: 12px 0 22px; font-size: 13px; line-height: 1.85; color: #b9ae9a; }
.ascense-home .creator-info > .button { width: 100%; }
.ascense-home .has-carousel .creators-track { display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; padding: 12px 0 20px; }
.ascense-home .has-carousel .creators-track::-webkit-scrollbar { display: none; }
.ascense-home .has-carousel .creator-card { flex: 0 0 88%; margin: 0; scroll-snap-align: start; }
.ascense-home .creators-controls { display: flex; justify-content: flex-end; gap: 10px; margin-top: 15px; }
.ascense-home .creators-controls button { width: 44px; height: 44px; border: 1px solid #6b5130; border-radius: 50%; background: #282117; color: #d6b478; }
@media (max-width: 1023px) {
 .ascense-home .home-creators { padding: 32px; gap: 35px; }
 .ascense-home .creators-intro h2 { font-size: 44px; }
 .ascense-home .locations-layout { grid-template-columns: 1fr 1fr; gap: 18px; }
 .ascense-home .location-list article { padding: 20px; }
 .ascense-home .location-list h3 { font-size: 20px; }
 .ascense-home .infrastructure-feature { padding: 21px; }
 .ascense-home .infrastructure-feature h3 { font-size: 19px; }
}
@media (max-width: 767px) {
 .ascense-home .home-games { background-color: #1b1713; background-image: none; padding-block: 80px 85px; }
 .ascense-home .home-games::before,.ascense-home .home-games::after { content: ''; position: absolute; left: 0; right: 0; height: 54px; background-image: url('/assets/ascense-pixel-background.png'); background-size: 1000px auto; background-repeat: repeat-x; pointer-events: none; }
 .ascense-home .home-games::before { top: 0; background-position: center top; }
 .ascense-home .home-games::after { bottom: 0; background-position: center bottom; }
 .ascense-home .games-track { gap: 16px; }
 .ascense-home .game-card { flex-basis: calc((100% - 16px)/1.2); }
 .ascense-home .games-arrow { width: 44px; height: 44px; }
 .ascense-home .games-intro { font-size: 12px; line-height: 1.8; }
 .ascense-home .game-card h3 { min-height: 0; margin-top: 15px; font-size: 18px; }
 .ascense-home .game-card p { margin-top: 10px; font-size: 12px; }
 .ascense-home .locations-showcase { padding-block: 42px; }
 .ascense-home .locations-layout { grid-template-columns: minmax(0,1fr); }
 .ascense-home .locations-map { padding: 12px; }
 .ascense-home .locations-showcase h2 { font-size: 34px; }
 .ascense-home .infrastructure-feature-grid { grid-template-columns: minmax(0,1fr); gap: 18px; margin-top: 20px; }
 .ascense-home .infrastructure-feature { padding: 26px; }
 .ascense-home .infrastructure-feature-art { height: 145px; }
 .ascense-home .infrastructure-feature h3 { font-size: 22px; }
 .ascense-home .home-creators { grid-template-columns: minmax(0,1fr); gap: 28px; padding: 30px 24px; }
 .ascense-home .creators-intro h2 { font-size: 43px; margin-block: 15px 20px; }
 .ascense-home .creators-intro-art { display: none; }
 .ascense-home .creator-visual { height: 250px; }
 .ascense-home .creator-skin { height: 275px; }
 .ascense-home .creator-info { padding: 24px; }
 .ascense-home .creator-info h3 { font-size: 27px; }
}
