/* Solo index.php. Palette e intensità del portale. */
.landing-page {
    --arcane: #ff3d5c;
    --astral: #d4a017;
    --silver: #f5eef0;
    --gold: #d4a017;
    --mist-opacity: .48;
    background: #090608;
    color: var(--silver);
}
.landing-page .navbar {
    background: linear-gradient(180deg,#140d10ee,#140d10cc);
    border-bottom: 1px solid #ff3d5c55;
    box-shadow: 0 10px 45px #09060888,0 1px 20px #ff3d5c22;
    backdrop-filter: blur(16px);
}
.landing-page .brand { color: var(--silver); text-shadow:0 0 24px #ff3d5c99; }
.landing-page .brand-logo { filter:drop-shadow(0 0 8px #ff3d5c); }
.landing-page .hero {
    min-height:100svh; padding:9rem 6vw 5rem;
    background:#090608; isolation:isolate;
}
/* L'immagine è sempre su un livello dedicato, mai sostituito dalla nebbia. */
.landing-page .hero::before {
    background-image:var(--hero-image); background-size:auto 112%;
    background-position:right center; background-repeat:no-repeat;
    opacity:1; z-index:0; animation:portal-landscape 24s ease-in-out infinite alternate;
}
.landing-page .hero-vignette {
    background:linear-gradient(90deg,#090608 0%,#090608eb 24%,#09060855 52%,transparent 78%),
        linear-gradient(0deg,#090608,transparent 22%);
}
.landing-page .hero::after {
    content:''; position:absolute; inset:-5%; z-index:1; pointer-events:none;
    background:radial-gradient(ellipse at 74% 48%,#b60d2d22,transparent 44%),
        radial-gradient(ellipse at 42% 90%,#ff3d5c33,transparent 45%);
    animation:portal-nebula 14s ease-in-out infinite alternate;
}
.landing-page .hero-content { width:48%; max-width:46rem; z-index:4; }
.landing-page .hero-title {
    font-size:clamp(6rem,13vw,12rem); color:#f5eef0;
    animation:title-emerge 1.3s ease both,portal-title-light 7s ease-in-out infinite;
    text-shadow:0 0 12px #ff3d5c66,0 0 60px #ff3d5c88;
}
.landing-page .hero-subtitle { color:var(--gold); font-size:clamp(1.8rem,2.7vw,2.65rem); text-shadow:0 0 20px #ff3d5c88; }
.landing-page .hero-hook { color:#f5eef0; font-size:1.18rem; min-height:3.5em; }
.landing-page .hero-desc { border-color:#ff3d5c55; color:#d2b7b7; line-height:1.9; text-shadow:0 2px 12px #000; }
.portal-sigil { position:absolute; width:min(54vw,49rem); aspect-ratio:1; right:1%; top:50%; translate:0 -50%; z-index:2; pointer-events:none; }
.portal-sigil-ring { position:absolute; inset:0; border:1px solid #f5eef066; border-radius:50%; box-shadow:0 0 18px #ff3d5c55,inset 0 0 18px #ff3d5c33; animation:portal-orbit 85s linear infinite; }
.portal-sigil-ring:nth-child(2) { inset:7%; border:1px dashed #f5eef088; animation-duration:65s; animation-direction:reverse; }
.portal-sigil-ring:nth-child(3) { inset:16%; border-color:#f2d6a077; box-shadow:none; animation-duration:100s; }
.portal-rune { position:absolute; left:50%; top:50%; color:#f5eef0; font:clamp(13px,1.5vw,22px) Georgia,serif; text-shadow:0 0 10px #ff3d5c,0 0 24px #ff3d5c; transform:translate(-50%,-50%) rotate(var(--angle)) translateY(var(--radius)) rotate(calc(-1 * var(--angle))); }
.portal-mist { position:absolute; inset:0; z-index:2; overflow:hidden; pointer-events:none; opacity:var(--mist-opacity); }
.portal-mist::before,.portal-mist::after { content:''; position:absolute; width:140%; height:42%; bottom:-10%; left:-20%; background:radial-gradient(ellipse,#ff3d5c45,transparent 65%); filter:blur(25px); animation:portal-mist 17s ease-in-out infinite alternate; }
.portal-mist::after { bottom:2%; background:radial-gradient(ellipse,#ff3d5c44,transparent 65%); animation-delay:-8s; animation-direction:alternate-reverse; }
#portal-dust { position:fixed; inset:0; z-index:5; pointer-events:none; }
.landing-page .background-animation { display:none; }
.landing-page .features.landing-intro { background:radial-gradient(ellipse at 50% 90%,#b60d2d44,transparent 65%),#090608; border-block:1px solid #ff3d5c33; }
.landing-page .landing-veil { background:radial-gradient(ellipse at center,transparent,#09060899); }
.landing-page .landing-line { color:var(--silver); text-shadow:0 0 35px #ff3d5c66; }
.landing-page .landing-line-gold { color:var(--gold); text-shadow:0 0 35px #ff3d5c66; }
.landing-page .landing-lilith { background:#090608; }
.landing-page .landing-lilith-media {
    border:0; outline:0; box-shadow:none; border-radius:0;
    background:#090608; isolation:isolate; overflow:visible;
}
.landing-page .landing-lilith-media::before {
    content:none;
}
.landing-page .landing-lilith-media img {
    position:relative; display:block; object-fit:contain; filter:none;
    /* Il nero della foto assume il colore del fondale senza alterare il file. */
    mix-blend-mode:lighten;
    -webkit-mask-image:radial-gradient(ellipse 66% 65% at 50% 43%,#000 48%,#000b 65%,transparent 88%);
    mask-image:radial-gradient(ellipse 66% 65% at 50% 43%,#000 48%,#000b 65%,transparent 88%);
}
.landing-page .landing-lilith-media::after { content:none; }
.landing-page .landing-voice-open { color:var(--silver); text-shadow:0 0 32px #ff3d5c66; }
.landing-page .landing-voice-copy { color:#d2b7b7; }
.landing-page .landing-voice-sign { color:var(--gold); border-color:#ff3d5c66; }
.landing-page .landing-panel-dark { background:radial-gradient(ellipse at 0% 80%,#b60d2d55,transparent 70%),#090608; }
.landing-page .landing-panel-crimson { background:radial-gradient(ellipse at 15% 55%,#ff3d5c44,transparent 65%),#090608; }
.landing-page .landing-panel-title { color:var(--silver); text-shadow:0 0 40px #ff3d5c55; }
.landing-page .landing-kicker { color:var(--gold); letter-spacing:.12em; font-size:clamp(.85rem,1.5vw,1.2rem); }
.landing-page .landing-fog { background:radial-gradient(ellipse at 25% 50%,#ff3d5c33,transparent 55%); }
.landing-page .landing-slider-shade { background:linear-gradient(0deg,#090608ee,transparent 65%); }
.landing-page .landing-slide img { filter:none; }
.landing-page .landing-slider-progress span { background:linear-gradient(90deg,#b60d2d,#ff3d5c,#d4a017); box-shadow:0 0 15px #ff3d5c; }
.landing-page .landing-mystery,.landing-page .landing-final { background:radial-gradient(ellipse at center,#b60d2d44,transparent 65%),#090608; }
.landing-page .landing-rune-orbit,.landing-page .landing-mystery-runes,.landing-page .landing-final-mark { border-color:#ff3d5c99; box-shadow:0 0 45px #ff3d5c44,inset 0 0 60px #b60d2d22; }
.landing-page .landing-rune-orbit::before,.landing-page .landing-mystery-runes::before,.landing-page .landing-final-mark::before { border-color:#f5eef088; }
.landing-page .landing-final-mark { opacity:.9; }
.landing-page .btn {
    position:relative; border-radius:8px 2px 8px 2px; border:1px solid #f5eef099;
    background:linear-gradient(140deg,#221719,#140d10); color:#f5eef0;
    box-shadow:inset 0 0 15px #ff3d5c22,0 0 18px #ff3d5c33;
    transition:box-shadow .3s,transform .3s,border-color .3s;
}
.landing-page .btn-primary { background:linear-gradient(135deg,#b60d2d,#641124); border-color:#e2c89dbb; box-shadow:0 0 24px #ff3d5c66,inset 0 1px 1px #f5dca566; }
.landing-page .btn:hover,.landing-page .btn:focus-visible { transform:translateY(-3px); border-color:#f5eef0; box-shadow:0 0 22px #ff3d5caa,0 0 48px #ff3d5c66,inset 0 0 22px #ff3d5c33; }
.landing-page a:focus-visible,.landing-page button:focus-visible { outline:2px solid var(--astral); outline-offset:5px; }
.landing-page .nav-links.open { background:#140d10f5; }
.landing-page .site-footer { border-top:1px solid #ff3d5c44; background:#090608; }
.landing-page .landing-reveal { transition:opacity 1s,transform 1s,filter 1s; }
.landing-page.portal-paused *, .landing-page.portal-paused *::before,.landing-page.portal-paused *::after { animation-play-state:paused !important; }
@keyframes portal-orbit { to { rotate:360deg; } }
@keyframes portal-landscape { to { transform:scale(1.035); } }
@keyframes portal-nebula { to { opacity:.55; transform:translate3d(-2%,2%,0); } }
@keyframes portal-mist { to { transform:translate3d(12%,-10%,0) scale(1.12); } }
@keyframes portal-title-light { 0%,100% { text-shadow:0 0 16px #ff3d5c77,0 0 55px #ff3d5c66; } 50% { text-shadow:0 0 28px #f5eef0aa,0 0 80px #ff3d5c99; } }
@media(max-width:900px) {
    /* Il contenuto non attende animazioni o osservatori sul telefono. */
    .landing-page .hero-title,.landing-page .hero-subtitle,
    .landing-page .hero-hook,.landing-page .hero-desc,
    .landing-page .landing-reveal {
        opacity:1; transform:none; filter:none; animation:none; transition:none;
    }
    .landing-page .hero::before { animation:none; }
    .landing-page .navbar { backdrop-filter:none; }
    .portal-mist::before,.portal-mist::after { filter:none; }
    .landing-page .hero { padding:26rem 1.5rem 4rem; }
    .landing-page .hero::before { background-size:auto 100%; background-position:center top; }
    .landing-page .hero-vignette { background:linear-gradient(0deg,#090608 0%,#090608cc 28%,#09060822 65%,transparent 90%); }
    .landing-page .hero-content { width:100%; max-width:100%; }
    .landing-page .hero-title { font-size:clamp(5rem,21vw,8rem); }
    .portal-sigil { width:90vw; top:28%; right:-8%; }
    .landing-page .hero-subtitle { font-size:1.8rem; }
    .landing-page .hero-hook { min-height:4em; }
}
@media(prefers-reduced-motion:reduce) {
    .landing-page *, .landing-page *::before,.landing-page *::after { animation:none !important; transition:none !important; }
    .landing-page .hero-title,.landing-page .hero-subtitle,.landing-page .hero-hook,.landing-page .hero-desc,.landing-page .landing-reveal,.landing-page .site-footer { opacity:1 !important; transform:none !important; filter:none !important; }
    #portal-dust { display:none; }
}
