/* Full-bleed presentation; editorial text keeps a comfortable reading measure. */
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body { overflow-x: clip; }
.site-shell { width: 100%; max-width: none; margin: 0; border: 0; border-radius: 0; box-shadow: none; overflow: clip; }
.header { position: sticky; top: 0; z-index: 10; padding-inline: clamp(28px, 4.4vw, 104px); background: #111314ed; backdrop-filter: blur(16px); border-bottom: 1px solid #e7b67a16; transition: box-shadow .4s ease, border-color .4s ease; }
.header.is-scrolled { box-shadow: 0 10px 36px #0004; border-bottom-color: #e7b67a38; }
.hero { height: clamp(540px, 72svh, 900px); }
.hero-content { left: clamp(28px, 4.4vw, 104px); }
.hero-art { animation: landscape-drift 26s ease-in-out infinite alternate; transform-origin: 64% 55%; }
.hero-content > * { animation: hero-arrive 1.15s cubic-bezier(.2,.7,.2,1) both; }
.hero-content h1 { animation-delay: .12s; }
.hero-description { animation-delay: .25s; }
.hero h1 { font-size: clamp(60px, 5.65vw, 108px); }
.action-dock { min-height: 176px; }
.register-action { padding-left: clamp(28px, 4.4vw, 104px); }
.news-section { padding: clamp(48px, 5vw, 88px) clamp(28px, 4.4vw, 104px); }
.news-section > .section-head, .news-section > .news-grid, .news-section > .news-filter { max-width: 1680px; margin-inline: auto; }
.news-section > .section-head { margin-bottom: 36px; }
.section-head h2 { font-size: clamp(28px, 2.5vw, 42px); }
.news-card { transition: transform .6s cubic-bezier(.2,.7,.2,1), border-color .4s, box-shadow .4s, opacity .7s; }
.news-card img { height: clamp(180px, 16vw, 270px); display: block; transition: transform 1.1s cubic-bezier(.2,.7,.2,1); }
.news-card:hover { box-shadow: 0 18px 45px #0004; }
.news-card:hover img { transform: scale(1.035); }
.news-card-content { position: relative; background: #181919; padding: clamp(22px, 2vw, 34px); }
.card-link { transition: color .3s, letter-spacing .3s; }
.news-card:hover .card-link { letter-spacing: .4px; color: #f5d3a3; }
.download-circle { transition: background .4s, transform .4s, box-shadow .4s; }
.download-action:hover .download-circle { background: #e7b67a10; transform: translateY(-3px); box-shadow: 0 0 28px #e7b67a12; }
.desktop-nav a, .footer-bottom a, .footer-bottom button { transition: color .3s; }
footer { padding-inline: clamp(28px, 4.4vw, 104px); }
dialog[open] { animation: panel-arrive .35s cubic-bezier(.2,.7,.2,1); }
dialog[open]::backdrop { animation: backdrop-arrive .35s ease; }
.motion-ready .reveal-pending { opacity: 0; transform: translateY(22px); transition: opacity .85s ease, transform .85s cubic-bezier(.2,.7,.2,1); }
.motion-ready .reveal-pending.is-visible { opacity: 1; transform: translateY(0); }
.motion-ready .news-card.is-visible:hover { transform: translateY(-5px); }
.news-card:nth-child(2) { transition-delay: .07s; }
.news-card:nth-child(3) { transition-delay: .14s; }
@keyframes landscape-drift { from { transform: scale(1.015); } to { transform: scale(1.055) translate3d(-.4%, .3%, 0); } }
@keyframes hero-arrive { from { opacity: 0; translate: 0 22px; } to { opacity: 1; translate: 0 0; } }
@keyframes panel-arrive { from { opacity: 0; transform: translateY(12px) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes backdrop-arrive { from { opacity: 0; } to { opacity: 1; } }
@media(max-width: 767px) {
  .header { padding-inline: 23px; }
  .hero { height: 570px; }
  .hero h1 { font-size: clamp(43px, 10.5vw, 65px); letter-spacing: -2px; }
  .hero-content { left: 23px; right: 23px; }
  .hero-art { background-size: cover; background-position: 66% top; animation: none; }
  .register-action { padding-left: 23px; }
  .news-section { padding: 45px 23px; }
  .news-card img { height: 210px; }
  footer { padding-inline: 23px; }
}
@media(prefers-reduced-motion: reduce) {
  html:not(.motion-enabled) { scroll-behavior: auto; }
  html:not(.motion-enabled) *, html:not(.motion-enabled) *::before, html:not(.motion-enabled) *::after { animation: none !important; transition: none !important; }
  html:not(.motion-enabled) .reveal-pending { opacity: 1; transform: none; }
}

html.motion-reduced { scroll-behavior: auto; }
html.motion-reduced *, html.motion-reduced *::before, html.motion-reduced *::after { animation: none !important; transition: none !important; }
.motion-reduced .reveal-pending { opacity: 1 !important; transform: none !important; }
.footer-bottom nav { flex-wrap: wrap; }
.motion-toggle { color: var(--bronze) !important; }

/* One complete opening screen, followed by the editorial section. */
.home-page { --opening-header: 80px; --opening-label: 24px; --opening-dock: 140px; }
.home-page .preview-label { height: var(--opening-label); padding: 0 18px; display: grid; place-items: center; font-size: 9px; }
.home-page .header { height: var(--opening-header); }
.home-page .hero { height: calc(100svh - var(--opening-header) - var(--opening-label) - var(--opening-dock)); min-height: 330px; }
.home-page .hero-content { transform: translateY(-45%); }
.home-page .action-dock { height: var(--opening-dock); min-height: 0; }
.home-page .register-action { padding-block: 22px; }
.home-page .account-actions { margin-block: 18px; }
.scroll-cue { position: absolute; right: clamp(28px,4.4vw,104px); bottom: 26px; display: flex; align-items: center; gap: 18px; padding: 12px 0; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; text-shadow: 0 2px 12px #000; }
.scroll-cue span { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid #e7b67a70; border-radius: 50%; font-size: 20px; color: var(--bronze); transition: transform .35s,background .35s; }
.scroll-cue:hover span { transform: translateY(4px); background: #e7b67a18; }
.home-page .news-section { min-height: calc(100svh - var(--opening-header)); background: radial-gradient(ellipse at 0 15%,#6b42221c,transparent 65%),linear-gradient(145deg,#1a1b1b,#111314); border-top: 1px solid #e7b67a38; }
.home-page .section-head { align-items: center; }
.home-page .section-head h2 { font-family: Georgia,'Times New Roman',serif; font-weight: 400; font-size: clamp(34px,3.2vw,58px); letter-spacing: -1.5px; margin-top: 14px; }
.news-intro { color: #aaa6a1; font-size: 14px; line-height: 1.6; margin: 14px 0 0; }
.home-page .section-head > a { display: flex; align-items: center; min-height: 44px; padding: 12px 20px; border: 1px solid #e7b67a40; border-radius: 3px; background: #e7b67a06; transition: background .3s,border-color .3s; }
.home-page .section-head > a:hover { border-color: var(--bronze); background: #e7b67a12; }
.home-page .news-grid { grid-template-columns: 1.18fr 1fr; gap: 22px; }
.home-page .news-card { border-radius: 5px; display: grid; grid-template-columns: minmax(130px,36%) 1fr; min-height: 238px; position: relative; isolation: isolate; }
.home-page .news-card img { height: 100%; min-height: 238px; object-fit: cover; }
.home-page .news-card-content { background: transparent; display: flex; flex-direction: column; justify-content: center; padding: 26px; }
.home-page .news-card h3 { font-size: clamp(21px,1.6vw,28px); letter-spacing: -.5px; font-weight: 500; }
.home-page .news-card p { color: #bcb5ac; }
.home-page .card-link { margin-top: 22px; }
.home-page .news-card:first-child { grid-row: span 2; display: flex; flex-direction: column; justify-content: flex-end; min-height: 498px; }
.home-page .news-card:first-child img { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -2; object-position: 60% center; }
.home-page .news-card:first-child::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg,#080b0efa 0%,#080b0ec2 35%,#080b0e05 80%); }
.home-page .news-card:first-child .news-card-content { padding: clamp(28px,3vw,48px); }
.home-page .news-card:first-child .news-meta::before { content: 'LEGFRISSEBB'; flex-basis: 100%; font-size: 9px; letter-spacing: 3px; margin-bottom: 10px; }
.home-page .news-card:first-child h3 { font-family: Georgia,'Times New Roman',serif; font-size: clamp(29px,2.7vw,46px); line-height: 1.12; margin-block: 18px; }
.home-page .news-card:first-child p { max-width: 440px; color: #ded5ca; font-size: 14px; }
@media(min-width:768px) and (max-width:1000px) {
  .home-page { --opening-dock: 180px; }
  .home-page .action-dock { grid-template-rows: 130px 50px; }
  .home-page .account-actions { margin: 0; padding-block: 0; }
  .home-page .news-card { grid-template-columns: 1fr; }
  .home-page .news-card:not(:first-child) img { height: 150px; min-height: 0; }
}
@media(max-width:767px) {
  .home-page { --opening-header: 70px; --opening-label: 28px; --opening-dock: 178px; }
  .home-page .preview-label { font-size: 8px; }
  .home-page .hero { min-height: 290px; }
  .home-page .hero-content { top: auto; bottom: 70px; transform: none; }
  .home-page .hero h1 { font-size: clamp(36px,9.8vw,60px); }
  .home-page .hero-description { margin-top: 14px; font-size: 14px; }
  .home-page .hero .eyebrow { font-size: 8px; }
  .home-page .action-dock { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 106px 58px; gap: 0; padding: 7px 16px; border-top: 1px solid var(--line); }
  .home-page .register-action { min-height: 0; padding: 15px 13px; border: 0; border-radius: 4px 0 0 4px; }
  .home-page .register-copy strong { font-size: 17px; }
  .home-page .register-copy { gap: 11px; }
  .home-page .register-action .arrow-circle { display: none; }
  .home-page .action-label { font-size: 7px; letter-spacing: 2px; }
  .home-page .download-action { flex-direction: column; gap: 7px; min-height: 0; border: 1px solid #e7b67a38; border-radius: 0 4px 4px 0; padding: 12px; }
  .home-page .download-action strong { font-size: 14px; }
  .home-page .download-circle { height: 30px; }
  .home-page .download-circle svg { width: 26px; height: 26px; }
  .home-page .account-actions { grid-column: 1/-1; display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 12px; margin: 0; padding: 0 4px; }
  .home-page .account-actions button { padding: 10px 0; font-size: 11px; }
  .home-page .account-actions button+button { border-top: 0; }
  .scroll-cue { bottom: 8px; right: 23px; font-size: 8px; gap: 10px; letter-spacing: 1.5px; }
  .scroll-cue span { width: 28px; height: 28px; font-size: 16px; }
  .home-page .section-head { align-items: flex-start; gap: 14px; flex-direction: column; }
  .home-page .section-head h2 { font-size: 35px; }
  .home-page .section-head > a { padding: 10px 14px; font-size: 11px; }
  .home-page .news-grid { grid-template-columns: 1fr; gap: 18px; }
  .home-page .news-card:first-child { grid-row: auto; min-height: 410px; }
  .home-page .news-card:not(:first-child) { grid-template-columns: 1fr; min-height: 0; }
  .home-page .news-card:not(:first-child) img { height: 180px; min-height: 0; }
  .home-page .news-card-content { padding: 24px; }
}
/* Compact paired actions: login remains in the main navigation. */
.home-page .action-dock { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:24px clamp(28px,4.4vw,104px); background:radial-gradient(ellipse at 15% 100%,#b28b4920,transparent 65%),#141616; border-top:1px solid #e7b67a40; border-bottom:1px solid #e7b67a25; }
.dock-intro strong { display:block; font-family:Georgia,'Times New Roman',serif; font-weight:400; font-size:clamp(23px,2vw,32px); color:#f0e5d6; }
.dock-intro p { margin:9px 0 0; font-size:13px; color:#a8a49e; }
.dock-actions { display:flex; gap:14px; }
.dock-button { display:flex; align-items:center; justify-content:center; gap:24px; min-width:210px; height:58px; padding:0 24px; border:1px solid #e7b67a60; border-radius:4px; font-size:15px; font-weight:600; transition:background .3s,transform .3s,box-shadow .3s; }
.dock-button svg { width:22px; height:22px; flex-shrink:0; }
.dock-register { background:linear-gradient(120deg,#803547,#572333); border-color:#be7d6a80; color:#fff0df; box-shadow:inset 0 1px #ffffff12; }
.dock-download { background:#e7b67a08; color:#e7c49a; }
.dock-button:hover { transform:translateY(-2px); background-color:#e7b67a18; box-shadow:0 8px 24px #0003; }
.dock-register:hover { background:linear-gradient(120deg,#954257,#6d2c40); }
.dock-button:focus-visible { outline:2px solid #e7b67a; outline-offset:4px; }
@media(min-width:768px) and (max-width:1000px) {
  .home-page { --opening-dock:140px; }
  .home-page .action-dock { gap:20px; padding-inline:28px; }
  .dock-button { min-width:170px; padding-inline:18px; gap:14px; }
}
@media(max-width:767px) {
  .home-page .action-dock { flex-direction:column; align-items:stretch; justify-content:center; gap:18px; padding:20px 23px; }
  .dock-intro strong { font-size:24px; }
  .dock-intro p { margin-top:6px; font-size:12px; }
  .dock-actions { gap:10px; }
  .dock-button { flex:1; min-width:0; height:52px; gap:10px; padding:0 10px; font-size:13px; }
  .dock-button svg { width:18px; height:18px; }
}
/* Cinematic entry rail, with illuminated inset action panels. */
.home-page .action-dock { position:relative; isolation:isolate; gap:30px; padding:18px clamp(28px,4.4vw,104px); background:radial-gradient(ellipse at 45% 0,#80644325,transparent 65%),linear-gradient(110deg,#171a1b,#111415); border-top:1px solid #eec99a55; }
.home-page .action-dock::before { content:''; position:absolute; top:-1px; left:8%; width:35%; height:1px; background:linear-gradient(90deg,transparent,#f2ce98,transparent); box-shadow:0 0 18px #e8b16e80; pointer-events:none; }
.dock-intro { flex:1; }
.dock-kicker { display:flex; align-items:center; gap:9px; color:#b5a18a; font-size:9px; letter-spacing:1.8px; text-transform:uppercase; margin-bottom:12px; }
.dock-kicker i { width:5px; height:5px; background:#e7b67a; rotate:45deg; box-shadow:0 0 12px #e7b67a80; }
.dock-intro > strong { font-family:inherit; font-size:clamp(20px,1.7vw,31px); font-weight:500; letter-spacing:-.7px; }
.dock-intro em { color:#e6bc87; font-style:normal; }
.dock-actions { flex:1.5; gap:16px; }
.dock-button { position:relative; isolation:isolate; overflow:hidden; flex:1; min-width:0; height:94px; padding:16px 20px; gap:15px; justify-content:space-between; border-radius:7px; border-color:#d7ad7640; background:linear-gradient(130deg,#cba76b12,#ffffff02); box-shadow:inset 0 1px #ffffff08,0 12px 28px #0002; text-align:left; }
.dock-register { background:radial-gradient(ellipse at 0 100%,#b8475640,transparent 85%),linear-gradient(120deg,#502a32,#261f23); border-color:#d49d7555; }
.dock-button::before { content:''; position:absolute; inset:0; background:linear-gradient(110deg,transparent 20%,#ffe3af0d 48%,transparent 75%); transform:translateX(-110%); transition:transform .7s ease; z-index:-1; }
.dock-button:hover::before { transform:translateX(110%); }
.dock-step { position:absolute; right:54px; bottom:-17px; font-size:92px; font-weight:800; letter-spacing:-8px; color:#e7b67a06; z-index:-1; line-height:1; }
.dock-copy { display:flex; flex-direction:column; gap:8px; }
.dock-copy small { font-size:10px; font-weight:400; color:#c2aaa1; }
.dock-copy strong { font-size:16px; font-weight:600; color:#f5e9d9; letter-spacing:-.3px; }
.dock-icon { display:grid; place-items:center; width:35px; height:35px; border-radius:50%; border:1px solid #e7b67a45; color:#edc38d; transition:background .3s,transform .3s; flex-shrink:0; }
.dock-icon svg { width:18px; height:18px; }
.dock-button:hover { transform:translateY(-3px); border-color:#e7b67a99; box-shadow:0 10px 30px #0004,inset 0 1px #ffffff12; }
.dock-register:hover { background:radial-gradient(ellipse at 0 100%,#b8475660,transparent 85%),linear-gradient(120deg,#502a32,#261f23); }
.dock-button:hover .dock-icon { background:#e7b67a18; transform:rotate(-8deg); }
@media(min-width:768px) and (max-width:1100px) { .dock-intro { flex:.9; } .dock-actions { flex:1.6; gap:12px; } .dock-button { padding:14px; gap:10px; } .dock-copy strong { font-size:14px; } .dock-kicker { letter-spacing:1px; font-size:8px; } .dock-intro > strong { font-size:22px; max-width:240px; } }
@media(max-width:767px) {
 .home-page { --opening-dock:212px; }
 .home-page .action-dock { gap:15px; padding:18px 23px; }
 .dock-intro { flex:0; }
 .dock-kicker { font-size:8px; margin-bottom:8px; letter-spacing:1px; }
 .dock-intro > strong { font-size:21px; }
 .dock-actions { flex:none; gap:10px; }
 .dock-button { height:82px; padding:12px; gap:5px; }
 .dock-copy small { font-size:8px; }
 .dock-copy strong { font-size:12px; }
 .dock-icon { width:25px; height:25px; }
 .dock-icon svg { width:14px; height:14px; }
 .dock-step { font-size:72px; right:22px; bottom:-10px; }
}
/* Single-screen game gateway; no news feed or editorial navigation. */
.home-page { --opening-dock:196px; }
.home-page .hero { min-height:330px; }
.account-shortcuts { display:flex; align-items:center; justify-content:center; gap:25px; height:56px; background:#111415; color:#b6a38d; font-size:12px; border-bottom:1px solid #e7b67a20; }
.account-shortcuts > span { height:12px; width:1px; background:#e7b67a35; }
.account-shortcuts button { transition:color .3s; }
.account-shortcuts button:hover { color:#f2cf9e; }
.home-page .action-dock { height:140px; }
.home-page footer { padding-top:20px; }
.home-page .footer-tagline,.home-page .footer-diamond { display:none; }
.home-page .footer-bottom { padding-top:0; border-top:0; }
@media(max-width:767px) { .home-page { --opening-dock:268px; } .home-page .action-dock { height:212px; } .account-shortcuts { gap:15px; font-size:11px; } }
/* Home offers only login and download; password change belongs to the signed-in account. */
.home-page { --opening-dock:140px; }
@media(max-width:767px) { .home-page { --opening-dock:212px; } }

/* No preview banner: the opening image fills its former space. */
.home-page { --opening-label:0px; }

/* Quiet, consistent mobile navigation without emoji-style arrows. */
@media(max-width:767px){
 .home-page .mobile-menu:not([hidden]){top:100%;background:#111719fa;backdrop-filter:blur(18px);padding:10px 23px 14px;border-top:1px solid #e7b67a15;border-bottom:1px solid #e7b67a35;box-shadow:0 18px 35px #0005;}
 .home-page .mobile-menu button{display:block;width:100%;min-height:56px;padding:18px 4px;font-size:15px;font-weight:500;letter-spacing:.1px;color:#eee7dd;border-bottom:1px solid #e7b67a18;}
 .home-page .mobile-menu button:last-child{border-bottom:0;}
 .home-page .mobile-menu button:hover{color:#e7b67a;background:#e7b67a05;}
 .menu-toggle span{transition:transform .3s,opacity .3s;}
 .menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
 .menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0;}
 .menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
}
