/*
Theme Name: Lunaforge Teaser
Author: Tobias Kugler / OpenAI
Description: Cinematic one-page teaser for Lunaforge®.
Version: 3.7.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: lunaforge-teaser
*/
:root{
  --night:#02060d;
  --night2:#07111f;
  --gold:#c9a36b;
  --gold2:#ead5aa;
  --ivory:#f4ecdf;
  --muted:#aeb8c5;
  --serif:Georgia,'Times New Roman',serif;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--night)}
body{margin:0;background:var(--night);color:var(--ivory);font-family:var(--sans);overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
::selection{background:var(--gold);color:#07101c}
.lf-site{min-height:100vh;background:var(--night)}

/* nav */
.lf-nav{position:fixed;inset:0 0 auto;z-index:50;height:72px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(18px,4vw,64px);background:linear-gradient(to bottom,rgba(1,5,11,.74),transparent);transition:.3s ease}
.lf-nav.is-scrolled{height:60px;background:rgba(2,6,13,.88);backdrop-filter:blur(12px);border-bottom:1px solid rgba(201,163,107,.12)}
.lf-wordmark{grid-column:2;font-family:var(--serif);font-size:14px;letter-spacing:.22em;color:var(--gold2);text-transform:uppercase;white-space:nowrap}
.lf-wordmark sup{font:600 .48em var(--sans);vertical-align:super;margin-left:.1em;letter-spacing:0}
.lf-navlinks{grid-column:3;justify-self:end;display:flex;gap:24px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(244,236,223,.7)}
.lf-navlinks a:hover{color:var(--gold2)}

/* hero: never crop on phones */
.lf-hero{position:relative;background:#02050b;overflow:hidden}
.lf-hero picture,.lf-hero img{display:block;width:100%}
.lf-hero img{height:auto}
.lf-hero::after{content:"";position:absolute;inset:auto 0 0;height:22%;background:linear-gradient(to bottom,transparent,var(--night));pointer-events:none}
.lf-scroll{position:absolute;z-index:4;left:50%;bottom:26px;transform:translateX(-50%);font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:rgba(244,236,223,.75);text-align:center}
.lf-scroll::after{content:"";display:block;width:1px;height:34px;margin:10px auto 0;background:linear-gradient(var(--gold),transparent)}

/* text sections */
.lf-section{position:relative;padding:clamp(92px,12vw,170px) clamp(20px,5vw,72px)}
.lf-inner{width:min(1060px,100%);margin:0 auto;text-align:center}
.lf-divider{width:90px;height:1px;margin:0 auto 34px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.lf-eyebrow{margin:0 0 22px;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.lf-heading{max-width:900px;margin:0 auto;font:400 clamp(36px,5.6vw,72px)/1.12 var(--serif);color:#f4ecdf;text-wrap:balance}
.lf-whisperline{margin:30px auto 0;font:italic clamp(21px,2.7vw,31px)/1.45 var(--serif);color:var(--gold2)}
.lf-button{display:inline-flex;align-items:center;justify-content:center;min-width:190px;min-height:50px;margin-top:34px;padding:0 24px;border:1px solid var(--gold);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#f5ead7;background:rgba(201,163,107,.035);transition:.25s}
.lf-button:hover{background:var(--gold);color:#07101b;box-shadow:0 0 34px rgba(201,163,107,.18)}
.lf-question{min-height:68vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,rgba(58,82,126,.17),transparent 34%),linear-gradient(180deg,var(--night),var(--night2),var(--night))}

/* Seamless full-width world glimpse */
.lf-world{padding:0;background:var(--night);overflow:hidden}
.lf-world-media{position:relative;width:100%;max-width:1800px;margin:0 auto}
.lf-world-media img{width:100%;height:auto;display:block;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 7%,#000 94%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 7%,#000 94%,transparent 100%)}
.lf-world-media::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(2,6,13,.08),rgba(2,6,13,0) 42%,rgba(2,6,13,.16) 78%,rgba(2,6,13,.46));pointer-events:none}
.lf-world-below{position:relative;z-index:3;padding:34px 20px 92px;text-align:center;max-width:820px;margin:0 auto}
.lf-world-below h2{margin:0 0 14px;font:400 clamp(34px,4.8vw,60px)/1.15 var(--serif);color:#f3ebde}
.lf-world-below p:not(.lf-eyebrow){margin:0 auto;color:rgba(244,236,223,.72);font-size:clamp(15px,1.4vw,18px);line-height:1.7}

.lf-character-peek{position:relative;width:min(1240px,100%);margin:0 auto}
.lf-character-peek img{width:100%;height:auto;display:block;-webkit-mask-image:radial-gradient(ellipse 88% 82% at center,#000 58%,transparent 100%);mask-image:radial-gradient(ellipse 88% 82% at center,#000 58%,transparent 100%)}
.lf-character-peek::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(2,6,13,.08),transparent 38%,rgba(2,6,13,.28));pointer-events:none}
.lf-character-note{margin:18px auto 0;font:italic 16px/1.5 var(--serif);color:rgba(234,213,170,.88)}

/* Quote + close */
.lf-quote-section{min-height:68vh;display:grid;place-items:center;overflow:hidden;background:linear-gradient(180deg,var(--night),#071222 50%,var(--night))}
.lf-stars{position:absolute;inset:0;opacity:.4;pointer-events:none;background-image:radial-gradient(circle,rgba(234,213,170,.88) 0 1px,transparent 1.5px);background-size:92px 92px;mask-image:linear-gradient(to bottom,transparent,black 25%,black 75%,transparent)}
.lf-quote{position:relative;z-index:2;max-width:930px;margin:0 auto;text-align:center;font:400 clamp(33px,5.2vw,68px)/1.2 var(--serif);color:#f3ebde;text-wrap:balance}
.lf-quote em{display:block;margin-top:12px;font-style:normal;color:var(--gold2)}
.lf-close{padding-top:clamp(84px,10vw,140px);padding-bottom:clamp(90px,11vw,150px);background:var(--night)}
.lf-close-title{font:400 clamp(34px,4.8vw,58px)/1.15 var(--serif);margin:0;color:#f3ebdd}
.lf-close-sub{margin:14px 0 0;font:italic clamp(17px,2vw,22px)/1.5 var(--serif);color:#c9bcaa}

.lf-footer{padding:28px 20px;border-top:1px solid rgba(201,163,107,.11);background:#01040a;color:#7c8794;font-size:11px}
.lf-footer-inner{width:min(1120px,100%);margin:auto;display:flex;align-items:center;justify-content:center;gap:18px;text-align:center;flex-wrap:wrap}
.lf-footer-links{display:flex;gap:18px}
.lf-reveal{opacity:0;transform:translateY(16px);transition:opacity .9s ease,transform .9s ease}.lf-reveal.is-visible{opacity:1;transform:none}
.lf-spark{position:fixed;width:3px;height:3px;border-radius:50%;background:#edd7a7;box-shadow:0 0 12px #e4c27c;pointer-events:none;z-index:2;opacity:0;animation:lfSpark 8s linear infinite}
@keyframes lfSpark{0%{opacity:0;transform:translate3d(0,18px,0) scale(.6)}18%{opacity:.5}82%{opacity:.2}100%{opacity:0;transform:translate3d(12px,-150px,0) scale(1.18)}}

@media(max-width:900px){
  .lf-nav{height:60px;grid-template-columns:1fr auto 1fr}.lf-navlinks{display:none}
}
@media(max-width:640px){
  .lf-nav{padding:0 16px}.lf-wordmark{font-size:12px;letter-spacing:.16em}
  .lf-hero::after{height:14%;background:linear-gradient(to bottom,transparent,var(--night))}
  .lf-scroll{bottom:12px;font-size:8px}.lf-scroll::after{height:22px;margin-top:7px}
  .lf-section{padding-left:18px;padding-right:18px}
  .lf-question{min-height:62vh}
  .lf-character-peek{width:100%}
  .lf-character-peek img{-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 8%,#000 92%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 8%,#000 92%,transparent 100%)}
  .lf-more-copy{margin-bottom:22px}
  .lf-quote-section{min-height:60vh}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.lf-reveal{opacity:1;transform:none;transition:none}.lf-spark{display:none}}

@media (max-width:640px){
  .lf-world-below{padding:24px 20px 70px}
  .lf-world-below h2{font-size:31px}
  .lf-world-below p:not(.lf-eyebrow){font-size:15px;max-width:330px}
}


/* v2.9 – robust project inquiry link */
.lf-contact-fallback{margin-top:18px;text-align:center;font-size:12px;letter-spacing:.04em;color:rgba(245,234,208,.64)}
.lf-contact-fallback span{opacity:.72}
.lf-contact-fallback a{color:#e4c88b;text-decoration:none;border-bottom:1px solid rgba(228,200,139,.35);padding-bottom:2px}
.lf-contact-fallback a:hover{color:#f7e7b8;border-color:#f7e7b8}
@media(max-width:767px){.lf-contact-fallback{font-size:13px;line-height:1.6}}


/* v3.2 – consistent “Mehr erfahren” typography */
.lf-more{background:var(--night);}
.lf-more-title{
  max-width:820px;
  margin:0 auto 14px;
  font:400 clamp(34px,4.8vw,60px)/1.15 var(--serif);
  color:#f3ebde;
  text-wrap:balance;
}
.lf-more-copy{
  max-width:680px;
  margin:0 auto 30px;
  color:rgba(244,236,223,.72);
  font-size:clamp(15px,1.4vw,18px);
  line-height:1.7;
}
@media(max-width:640px){
  .lf-more-title{font-size:31px;max-width:340px;}
  .lf-more-copy{font-size:15px;max-width:330px;margin-bottom:24px;}
}


/* v3.3 – legal pages */
.lf-legal-page{min-height:100vh;background:linear-gradient(180deg,#02060d,#07111f 40%,#02060d)}
.lf-legal-hero{padding:150px 20px 54px;text-align:center;background:radial-gradient(circle at 50% 45%,rgba(58,82,126,.16),transparent 38%)}
.lf-legal-inner{width:min(820px,100%);margin:0 auto}
.lf-legal-title{margin:0 0 28px;font:400 clamp(42px,6vw,70px)/1.08 var(--serif);color:var(--ivory);text-wrap:balance}
.lf-legal-content{padding:24px 22px 120px}
.lf-legal-content .lf-legal-inner{text-align:left}
.lf-legal-content h2{margin:52px 0 14px;font:400 clamp(24px,3.4vw,34px)/1.25 var(--serif);color:var(--gold2)}
.lf-legal-content h2:first-of-type{margin-top:18px}
.lf-legal-content p,.lf-legal-content li{font-size:16px;line-height:1.78;color:rgba(244,236,223,.78)}
.lf-legal-content p{margin:0 0 18px}
.lf-legal-content a{color:var(--gold2);border-bottom:1px solid rgba(234,213,170,.36)}
.lf-legal-content a:hover{border-color:var(--gold2)}
.lf-legal-lead{margin:0 0 34px!important;text-align:center;font:italic clamp(18px,2.3vw,23px)/1.55 var(--serif)!important;color:rgba(234,213,170,.86)!important}
@media(max-width:640px){
  .lf-legal-hero{padding:118px 18px 38px}
  .lf-legal-content{padding:16px 20px 90px}
  .lf-legal-content h2{margin-top:42px}
  .lf-legal-content p,.lf-legal-content li{font-size:15px;line-height:1.72}
}


/* v3.4 footer copyright / trademark */
.lf-copyright{
  margin-top:18px;
  text-align:center;
  color:rgba(244,233,206,.72);
  font-size:12px;
  line-height:1.65;
  letter-spacing:.04em;
}
.lf-trademark-note{
  margin-top:2px;
  color:rgba(244,233,206,.50);
  font-size:10px;
  letter-spacing:.05em;
}
@media (max-width:767px){
  .lf-copyright{
    padding:0 18px;
    font-size:11px;
  }
  .lf-trademark-note{font-size:9.5px;}
}


/* v3.6 clean single footer */
.lf-footer-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;}
.lf-footer .lf-trademark-note{display:block;margin-top:0;color:rgba(244,233,206,.50);font-size:10px;letter-spacing:.05em;}


/* v3.7 – Lunaforge background music */
.lf-music-toggle{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:90;
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:42px;
  padding:10px 14px;
  border:1px solid rgba(234,213,170,.34);
  border-radius:999px;
  background:rgba(2,6,13,.76);
  color:rgba(244,236,223,.86);
  font:500 11px/1 var(--sans);
  letter-spacing:.08em;
  text-transform:uppercase;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:0 10px 32px rgba(0,0,0,.22);
  cursor:pointer;
  transition:background .25s ease,border-color .25s ease,color .25s ease,transform .25s ease;
}
.lf-music-toggle:hover{
  background:rgba(7,17,31,.92);
  border-color:rgba(234,213,170,.58);
  color:#f3e5c3;
}
.lf-music-toggle:active{transform:scale(.97)}
.lf-music-icon{
  width:18px;
  height:18px;
  display:grid;
  place-items:center;
  color:var(--gold2);
  font-size:15px;
  line-height:1;
}
.lf-music-toggle.is-playing .lf-music-icon{
  text-shadow:0 0 12px rgba(234,213,170,.55);
}
.lf-music-toggle.is-playing{
  border-color:rgba(234,213,170,.50);
  color:#f3e5c3;
}
@media(max-width:640px){
  .lf-music-toggle{
    right:14px;
    bottom:14px;
    min-height:40px;
    padding:9px 12px;
    font-size:10px;
  }
}
@media(prefers-reduced-motion:reduce){
  .lf-music-toggle{transition:none}
}
