/* ==========================================================================
   PROMETHEUS — Kevin Otto Lais
   Design tokens
   ========================================================================== */
:root{
  --bg: #08090B;
  --bg-alt: #101216;
  --bg-panel: #17181C;
  --ink: #EAE4D8;
  --ink-muted: #9B978F;
  --ember-hi: #F0A64A;
  --ember-lo: #E66A2C;
  --ember-deep: #A9562A;
  --border: rgba(234,228,216,0.1);
  --border-strong: rgba(234,228,216,0.22);
  --serif: 'Spectral', serif;
  --sans: 'Manrope', sans-serif;
  --mono: 'IBM Plex Mono', monospace;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,p{margin:0}
a{color:var(--ember-hi);}
a:hover{color:#FFD58A}
img{max-width:100%;display:block}
::selection{background:rgba(240,166,74,0.35);color:var(--ink)}

.eyebrow{
  font-family:var(--mono);
  font-size:12.5px;
  letter-spacing:0.16em;
  color:var(--ember-deep);
  text-transform:uppercase;
  margin-bottom:20px;
}

/* Buttons */
.btn{
  font-family:var(--sans);
  font-size:15px;
  font-weight:600;
  text-decoration:none;
  border-radius:999px;
  padding:16px 30px;
  display:inline-block;
  cursor:pointer;
  border:none;
  transition:box-shadow .3s ease, transform .3s ease, border-color .3s ease, background .3s ease;
}
.btn--cta{
  color:var(--bg);
  background:linear-gradient(135deg,var(--ember-hi),var(--ember-lo));
  box-shadow:0 8px 30px rgba(230,106,44,0.28);
}
.btn--cta:hover{
  box-shadow:0 10px 34px rgba(230,106,44,0.42);
  transform:translateY(-1px);
  color:var(--bg);
}
.btn--ghost{
  color:var(--ink);
  background:none;
  border:1px solid var(--border-strong);
}
.btn--ghost:hover{
  border-color:rgba(240,166,74,0.5);
  background:rgba(240,166,74,0.06);
  color:var(--ink);
}
.btn:focus-visible{outline:2px solid var(--ember-hi);outline-offset:3px}

/* Ambient embers */
.ember{
  position:fixed;
  border-radius:50%;
  filter:blur(10px);
  pointer-events:none;
  z-index:0;
}
.ember--one{
  top:-10%; right:-10%;
  width:46vw; height:46vw; max-width:700px; max-height:700px;
  background:radial-gradient(circle, rgba(230,106,44,0.15), transparent 68%);
  animation:emberDrift1 46s ease-in-out infinite;
}
.ember--two{
  bottom:-14%; left:-12%;
  width:50vw; height:50vw; max-width:760px; max-height:760px;
  background:radial-gradient(circle, rgba(16,23,37,0.82), transparent 70%);
  animation:emberDrift2 54s ease-in-out infinite;
}
@keyframes emberDrift1{0%,100%{transform:translate(0,0)}50%{transform:translate(40px,-30px)}}
@keyframes emberDrift2{0%,100%{transform:translate(0,0)}50%{transform:translate(-50px,40px)}}
@keyframes scrollPulse{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:.9;transform:translateY(6px)}}

/* ==========================================================================
   Nav
   ========================================================================== */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:80;
  display:flex; align-items:center; justify-content:space-between;
  padding:26px clamp(20px,5vw,48px);
  background:rgba(8,9,11,0);
  border-bottom:1px solid transparent;
  transition:all .4s ease;
}
.nav.is-scrolled{
  padding:16px clamp(20px,5vw,48px);
  background:rgba(8,9,11,0.86);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(240,166,74,0.14);
}
.nav__brand{
  font-family:var(--serif);
  font-size:19px;
  letter-spacing:0.14em;
  color:var(--ink);
  text-decoration:none;
  display:flex; flex-direction:column; gap:6px;
}
.nav__brand-line{display:block;width:34px;height:2px;background:linear-gradient(90deg,var(--ember-lo),var(--ember-hi))}
.nav__right{display:flex;align-items:center;gap:clamp(14px,2.6vw,34px)}
.nav__links{display:flex;align-items:center;gap:clamp(14px,2.6vw,34px)}
.nav__links a{
  font-family:var(--sans);
  font-size:14.5px;
  color:var(--ink-muted);
  text-decoration:none;
  transition:color .3s ease;
}
.nav__links a:hover{color:var(--ember-hi)}
.nav__cta{font-size:13.5px;font-weight:600;padding:10px 20px}

.lang-switch{
  display:flex; align-items:center; gap:6px;
  font-family:var(--mono); font-size:11px; color:var(--ink-muted);
  position:relative;
}
.lang-switch__btn{
  background:none;border:none;cursor:pointer;padding:0;
  font-family:var(--mono);font-size:11px;color:var(--ink-muted);
}
.lang-switch__btn.is-active{color:var(--ember-hi)}
.lang-switch__note{
  position:absolute; top:26px; right:0; white-space:nowrap;
  background:var(--bg-panel); border:1px solid rgba(240,166,74,0.2);
  color:var(--ink); font-family:var(--sans); font-size:11.5px;
  padding:6px 10px; border-radius:8px;
}

.nav__toggle{
  display:none; flex-direction:column; gap:5px;
  background:none;border:none;cursor:pointer;padding:8px;
}
.nav__toggle span{width:22px;height:1.5px;background:var(--ink)}

.mobile-nav{
  position:fixed; inset:0; background:#08090Bee;
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  z-index:90; display:none; flex-direction:column;
  align-items:center; justify-content:center; gap:28px;
}
.mobile-nav.is-open{display:flex}
.mobile-nav a{font-family:var(--serif);font-size:26px;color:var(--ink);text-decoration:none}
.mobile-nav__close{
  margin-top:20px; background:none; border:1px solid rgba(234,228,216,0.2);
  color:var(--ink-muted); border-radius:999px; padding:10px 24px;
  font-family:var(--sans); font-size:13px; cursor:pointer;
}

@media (max-width:880px){
  .nav__links, .nav__cta, .nav__right > .lang-switch{display:none}
  .nav__toggle{display:flex}
}

/* ==========================================================================
   Hero
   ========================================================================== */
.hero{
  position:relative;
  min-height:96svh;
  display:flex; align-items:center;
  padding:clamp(100px,14vw,160px) clamp(20px,5vw,48px) clamp(60px,8vw,90px);
  overflow:hidden;
}
.hero__glow{
  position:absolute; inset:0;
  background:radial-gradient(620px circle at 50% 38%, rgba(240,166,74,0.17), transparent 62%);
  transition:background .35s ease;
  z-index:1; pointer-events:none;
}
.hero__inner{
  position:relative; z-index:2;
  max-width:1280px; margin:0 auto; width:100%;
  display:flex; align-items:center; gap:clamp(32px,6vw,80px); flex-wrap:wrap;
}
.hero__copy{flex:1 1 480px; min-width:0}
.hero__title{
  font-family:var(--serif); font-weight:500;
  font-size:clamp(42px,6.2vw,84px); line-height:1.06;
  color:var(--ink); margin:0 0 28px; max-width:14ch;
}
.hero__lead{
  font-size:clamp(16px,1.6vw,19px); line-height:1.65;
  color:var(--ink-muted); max-width:46ch; margin:0 0 40px;
}
.hero__actions{display:flex; gap:16px; flex-wrap:wrap}
.hero__portrait{flex:1 1 320px; max-width:420px; min-width:260px}

.portrait{
  position:relative; width:100%; border-radius:6px; overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,0.55);
  background:radial-gradient(120% 120% at 30% 20%, #2a1f15, #17120d 55%, #0c0a08);
  border:1px solid rgba(240,166,74,0.25);
  display:flex; align-items:center; justify-content:center;
}
.portrait--hero{aspect-ratio:4/5}
.portrait--about{aspect-ratio:3/4}
.portrait__mark{
  font-family:var(--serif); font-style:italic; font-weight:500;
  font-size:clamp(64px,10vw,120px);
  color:rgba(240,166,74,0.22);
  user-select:none;
}
.portrait__img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
}

.scroll-cue{
  position:absolute; bottom:36px; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:8px;
  text-decoration:none; z-index:2;
}
.scroll-cue span:first-child{
  font-family:var(--mono); font-size:10.5px; letter-spacing:0.14em;
  color:var(--ink-muted); text-transform:uppercase;
}
.scroll-cue__line{
  width:1px; height:30px;
  background:linear-gradient(180deg,var(--ember-hi),transparent);
  animation:scrollPulse 2.4s ease-in-out infinite;
}

/* ==========================================================================
   Reveal-on-scroll
   ========================================================================== */
.reveal{opacity:0; transform:translateY(28px); transition:opacity 1s cubic-bezier(.2,.7,.3,1), transform 1s cubic-bezier(.2,.7,.3,1)}
.reveal.is-visible{opacity:1; transform:translateY(0)}
.stagger{opacity:0; transform:translateY(22px); transition:opacity .8s cubic-bezier(.2,.7,.3,1), transform .8s cubic-bezier(.2,.7,.3,1)}
.is-visible .stagger{opacity:1; transform:translateY(0)}
.is-visible .stagger{transition-delay:calc(var(--i,0) * 90ms)}
.manifest.is-visible .stagger{transition-delay:calc(var(--i,0) * 140ms)}
.cv.is-visible .stagger{transition-delay:calc(var(--i,0) * 110ms)}
@media (prefers-reduced-motion: reduce){
  .reveal, .stagger{opacity:1 !important; transform:none !important; transition:none !important}
  .ember, .scroll-cue__line{animation:none !important}
  .funke__spark-ring, .funke__particle, .funke__ray, .funke__visual.is-pulsing .funke__spark-core{
    animation:none !important; transition:none !important;
  }
  .funke.is-visible .funke__spark-core,
  .funke.is-visible .funke__spark-ring,
  .funke.is-visible .funke__particle,
  .funke.is-visible .funke__ray{opacity:.55}
}

/* ==========================================================================
   Manifest
   ========================================================================== */
.manifest{position:relative; padding:clamp(90px,12vw,160px) clamp(20px,5vw,48px); background:var(--bg-alt)}
.manifest__inner{max-width:920px; margin:0 auto; text-align:center}
.manifest__quote{
  font-family:var(--serif); font-style:italic; font-weight:400;
  font-size:clamp(24px,3.4vw,38px); line-height:1.45;
  color:var(--ink); margin:0 0 36px;
}
.manifest__text{
  font-size:16.5px; line-height:1.75; color:var(--ink-muted);
  max-width:60ch; margin:0 auto 56px;
}
.manifest__words{display:flex; justify-content:center; gap:clamp(20px,4vw,48px); flex-wrap:wrap}
.manifest__words span{font-family:var(--serif); font-size:clamp(18px,2vw,24px); color:var(--ember-hi)}

/* ==========================================================================
   About
   ========================================================================== */
.about{
  padding:clamp(90px,12vw,150px) clamp(20px,5vw,48px);
  max-width:1240px; margin:0 auto;
  display:flex; gap:clamp(40px,6vw,90px); flex-wrap:wrap; align-items:flex-start;
}
.about__portrait{flex:1 1 320px; max-width:380px}
.about__body{flex:2 1 420px; min-width:0}
.about__title{
  font-family:var(--serif); font-weight:500;
  font-size:clamp(28px,3.4vw,42px); line-height:1.2;
  color:var(--ink); margin:0 0 26px; max-width:16ch;
}
.about__body p{font-size:16px; line-height:1.75; color:var(--ink-muted); max-width:56ch; margin:0 0 20px}
.facts{
  display:flex; gap:clamp(24px,4vw,56px); flex-wrap:wrap;
  border-top:1px solid var(--border); padding-top:28px; margin-top:20px;
}
.facts__value{
  font-family:var(--serif); font-style:italic; font-size:14px; color:var(--ink-muted);
  opacity:.85; border-bottom:1px dashed var(--ember-deep); display:inline-block; padding-bottom:2px;
}
.facts__label{
  font-family:var(--mono); font-size:11px; color:var(--ink-muted);
  text-transform:uppercase; letter-spacing:0.08em; margin-top:8px;
}

/* ==========================================================================
   Fields (Wirken)
   ========================================================================== */
.fields{padding:clamp(90px,12vw,150px) clamp(20px,5vw,48px); background:var(--bg-alt)}
.fields__inner{max-width:1240px; margin:0 auto}
.fields__head{
  display:flex; justify-content:space-between; align-items:flex-end;
  gap:24px; flex-wrap:wrap; margin-bottom:clamp(40px,6vw,72px);
}
.fields__head h2{font-family:var(--serif); font-weight:500; font-size:clamp(30px,3.6vw,46px); color:var(--ink)}
.fields__head p{font-size:15px; color:var(--ink-muted); max-width:38ch}
.fields__grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  border-top:1px solid var(--border); border-left:1px solid var(--border);
}
.field-card{
  padding:clamp(28px,3vw,40px) clamp(24px,3vw,32px);
  border-right:1px solid var(--border); border-bottom:1px solid var(--border);
  transition:background .4s ease;
}
.field-card:hover{background:rgba(240,166,74,0.045)}
.field-card__num{font-family:var(--mono); font-size:12px; color:var(--ember-deep); margin-bottom:22px}
.field-card__rule{width:28px; height:2px; background:linear-gradient(90deg,var(--ember-lo),var(--ember-hi)); margin-bottom:22px}
.field-card h3{font-family:var(--serif); font-weight:500; font-size:20px; color:var(--ink); margin:0 0 14px}
.field-card p{font-size:14.5px; line-height:1.65; color:var(--ink-muted)}

/* ==========================================================================
   CV / Werdegang
   ========================================================================== */
.cv{padding:clamp(90px,12vw,150px) clamp(20px,5vw,48px); max-width:1000px; margin:0 auto}
.cv__head{
  display:flex; justify-content:space-between; align-items:flex-end;
  gap:24px; flex-wrap:wrap; margin-bottom:clamp(48px,6vw,80px);
}
.cv__head h2{font-family:var(--serif); font-weight:500; font-size:clamp(30px,3.6vw,46px); color:var(--ink)}
.timeline{position:relative}
.timeline__rail{
  position:absolute; left:7px; top:8px; bottom:8px; width:1px;
  background:linear-gradient(180deg,rgba(240,166,74,0.5),rgba(240,166,74,0.05));
}
.timeline__item{position:relative; padding-left:36px; margin-bottom:clamp(36px,4vw,52px)}
.timeline__dot{
  position:absolute; left:0; top:6px; width:15px; height:15px;
  border-radius:50%; background:var(--bg-alt); border:2px solid var(--ember-hi);
}
.timeline__period{
  font-family:var(--mono); font-size:12px; color:var(--ember-deep);
  text-transform:uppercase; letter-spacing:0.06em; margin-bottom:10px;
}
.timeline__item h3{font-family:var(--serif); font-weight:500; font-size:21px; color:var(--ink); margin:0 0 6px}
.timeline__org{font-size:14px; color:var(--ink-muted); margin-bottom:14px}
.timeline__item p{font-size:15px; line-height:1.65; color:var(--ink-muted); max-width:60ch; margin:0 0 16px}
.tags{display:flex; gap:10px; flex-wrap:wrap}
.tags span{
  font-family:var(--mono); font-size:11px; color:var(--ink-muted);
  border:1px solid var(--border-strong); padding:5px 12px; border-radius:999px;
}

/* ==========================================================================
   Essays / Gedanken
   ========================================================================== */
.essays{padding:clamp(90px,12vw,150px) clamp(20px,5vw,48px); max-width:900px; margin:0 auto}
.essays__title{
  font-family:var(--serif); font-weight:500; font-style:italic;
  font-size:clamp(28px,3.6vw,42px); color:var(--ink);
  margin:0 0 clamp(48px,6vw,80px); line-height:1.3;
}
.essay{
  display:flex; gap:clamp(20px,3vw,40px); flex-wrap:wrap; justify-content:space-between;
  text-decoration:none; padding:clamp(26px,3vw,36px) 0; border-bottom:1px solid var(--border);
  transition:padding-left .3s ease;
}
.essay:hover{padding-left:10px}
.essay__body{flex:1 1 260px}
.essay__cat{font-family:var(--mono); font-size:11.5px; color:var(--ember-deep); text-transform:uppercase; letter-spacing:0.06em; margin-bottom:12px}
.essay__body h3{font-family:var(--serif); font-weight:500; font-size:22px; color:var(--ink); margin:0 0 10px}
.essay__body p{font-size:14.5px; line-height:1.6; color:var(--ink-muted); max-width:54ch}
.essay__date{
  font-family:var(--mono); font-size:11.5px; color:var(--ink-muted); white-space:nowrap;
  opacity:.7; border-bottom:1px dashed var(--ember-deep); height:fit-content;
}

/* ==========================================================================
   Collab / Zusammenarbeit
   ========================================================================== */
.collab{padding:clamp(90px,12vw,150px) clamp(20px,5vw,48px); background:var(--bg-alt)}
.collab__inner{max-width:1100px; margin:0 auto; display:flex; gap:clamp(40px,6vw,80px); flex-wrap:wrap}
.collab__intro{flex:1 1 320px}
.collab__intro h2{font-family:var(--serif); font-weight:500; font-size:clamp(28px,3.4vw,40px); color:var(--ink); margin:0 0 24px; line-height:1.2}
.collab__intro p{font-size:15.5px; line-height:1.7; color:var(--ink-muted); margin:0 0 32px; max-width:44ch}
.collab__formats{flex:1 1 320px; display:flex; flex-direction:column}
.format-item{padding:20px 0; border-bottom:1px solid var(--border)}
.format-item--last{border-bottom:none}
.format-item h3{font-family:var(--serif); font-weight:500; font-size:17.5px; color:var(--ink); margin:0 0 8px}
.format-item p{font-size:14px; line-height:1.6; color:var(--ink-muted)}

/* ==========================================================================
   Contact
   ========================================================================== */
.contact{padding:clamp(90px,12vw,150px) clamp(20px,5vw,48px); background:linear-gradient(180deg,var(--bg),var(--bg-panel) 60%,#1c150fd0)}
.contact__inner{max-width:1100px; margin:0 auto}
.contact__inner > h2{
  font-family:var(--serif); font-weight:500; font-size:clamp(32px,4.4vw,58px);
  color:var(--ink); margin:0 0 clamp(48px,6vw,72px); max-width:16ch;
}
.contact__grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:clamp(40px,6vw,80px)}
.contact__thanks{
  padding:32px; border:1px solid rgba(240,166,74,0.2); border-radius:8px;
  font-family:var(--serif); font-style:italic; font-size:20px; color:var(--ink); margin:0;
}
.contact__form{display:flex; flex-direction:column; gap:16px}
.contact__form input, .contact__form textarea{
  font-family:var(--sans); font-size:15px; color:var(--ink);
  background:var(--bg-alt); border:1px solid rgba(234,228,216,0.14);
  border-radius:6px; padding:15px 16px; width:100%;
}
.contact__form textarea{resize:vertical}
.contact__form input::placeholder, .contact__form textarea::placeholder{color:var(--ink-muted)}
.contact__form input:focus, .contact__form textarea:focus{
  outline:none; border-color:rgba(240,166,74,0.55);
}
.contact__submit{border:none; margin-top:6px; padding:16px; border-radius:6px; width:100%}
.contact__info{display:flex; flex-direction:column; gap:20px}
.contact__info-label{font-family:var(--mono); font-size:11px; color:var(--ink-muted); text-transform:uppercase; letter-spacing:0.08em; margin-bottom:8px}
.contact__info-link{
  font-size:16px; color:var(--ink); text-decoration:none;
  border-bottom:1px dashed var(--ember-deep);
}
.contact__info-link:hover{color:#FFD58A}

.footer-bar{
  margin-top:clamp(70px,8vw,110px); padding-top:32px; border-top:1px solid var(--border);
  display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap;
}
.footer-bar > span{font-family:var(--mono); font-size:11.5px; color:var(--ink-muted)}
.footer-bar__links{display:flex; gap:24px}
.footer-bar__links a{font-size:13px; color:var(--ink-muted); text-decoration:none}
.footer-bar__links a:hover{color:#FFD58A}

/* ==========================================================================
   Essay / article pages (essays/*.html)
   ========================================================================== */
.essay-page-wrap{max-width:1100px; margin:0 auto; padding:0 clamp(20px,5vw,48px)}
.essay-page{
  max-width:760px; margin:0 auto;
  padding:clamp(130px,15vw,170px) 0 clamp(90px,10vw,140px);
}
.essay-page__back{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--mono); font-size:12px; color:var(--ink-muted);
  text-decoration:none; margin-bottom:56px;
}
.essay-page__back:hover{color:var(--ember-hi)}
.essay-page__cat{
  font-family:var(--mono); font-size:12px; color:var(--ember-deep);
  text-transform:uppercase; letter-spacing:0.08em; margin-bottom:18px;
}
.essay-page__title{
  font-family:var(--serif); font-weight:500; font-size:clamp(32px,5vw,52px);
  line-height:1.15; color:var(--ink); margin:0 0 20px;
}
.essay-page__meta{
  font-family:var(--mono); font-size:12px; color:var(--ink-muted); margin-bottom:56px;
}
.essay-page__lead{
  font-family:var(--serif); font-style:italic; font-size:22px; color:var(--ink);
  line-height:1.5; margin:0 0 40px;
}
.essay-page__body{font-size:17px; line-height:1.85; color:var(--ink-muted)}
.essay-page__body p{margin:0 0 26px}
.essay-page__footer-nav{
  display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap;
  margin-top:80px; padding-top:32px; border-top:1px solid var(--border);
}

/* ==========================================================================
   Newsletter — "Der Funke" (reusable: .funke / [data-funke-form])
   ========================================================================== */
.funke{
  position:relative;
  padding:clamp(100px,13vw,170px) clamp(20px,5vw,48px);
  background:
    radial-gradient(680px circle at 78% 28%, rgba(240,166,74,0.07), transparent 65%),
    radial-gradient(520px circle at 12% 82%, rgba(230,106,44,0.05), transparent 70%),
    #0a0b0d;
  overflow:hidden;
}
.funke__inner{
  position:relative; z-index:1;
  max-width:1200px; margin:0 auto;
  display:flex; gap:clamp(48px,7vw,100px); flex-wrap:wrap; align-items:flex-start;
}

.funke__intro{flex:1 1 420px; min-width:0}
.funke__title{
  font-family:var(--serif); font-style:italic; font-weight:600;
  font-size:clamp(40px,5.6vw,66px); line-height:1.05; letter-spacing:0.01em;
  margin:0 0 22px;
  background:linear-gradient(120deg,#FFD58A,var(--ember-hi) 45%,var(--ember-lo));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.funke__subhead{
  font-family:var(--serif); font-style:italic; font-weight:400;
  font-size:clamp(19px,2.2vw,24px); line-height:1.5;
  color:var(--ink); margin:0 0 32px; max-width:38ch;
}
.funke__desc p{font-size:16px; line-height:1.75; color:var(--ink-muted); max-width:52ch; margin:0 0 20px}
.funke__benefits{list-style:none; margin:32px 0 0; padding:0; display:flex; flex-direction:column; gap:14px}
.funke__benefits li{position:relative; padding-left:26px; font-size:15px; line-height:1.6; color:var(--ink-muted)}
.funke__benefits li::before{
  content:''; position:absolute; left:0; top:7px;
  width:8px; height:8px; border-radius:50%;
  background:radial-gradient(circle, #FFD58A, var(--ember-lo) 70%);
  box-shadow:0 0 6px 1px rgba(240,166,74,0.4);
}
.funke__closing{
  font-family:var(--serif); font-style:italic; font-size:18.5px; line-height:1.6;
  color:var(--ink); margin:40px 0 0; max-width:42ch;
  padding-top:28px; border-top:1px solid var(--border);
}

.funke__panel{
  flex:1 1 380px; max-width:460px; position:relative;
  background:linear-gradient(165deg, rgba(240,166,74,0.05), rgba(255,255,255,0.015));
  border:1px solid rgba(234,228,216,0.08);
  border-radius:12px; overflow:hidden;
  padding:clamp(32px,4vw,48px);
}

.funke__visual{position:absolute; inset:0; pointer-events:none; z-index:0}
.funke__spark-core{
  position:absolute; top:16%; left:50%; transform:translate(-50%,-50%);
  width:10px; height:10px; border-radius:50%;
  background:radial-gradient(circle, #FFD58A, var(--ember-hi) 55%, transparent 75%);
  box-shadow:0 0 12px 4px rgba(240,166,74,0.22);
  opacity:.32;
  transition:opacity 1.6s ease, box-shadow 1.6s ease;
}
.funke.is-visible .funke__spark-core{opacity:.9; box-shadow:0 0 30px 10px rgba(240,166,74,0.35)}
.funke__visual.is-focused .funke__spark-core{opacity:1; box-shadow:0 0 40px 14px rgba(240,166,74,0.48)}

.funke__spark-ring{
  position:absolute; top:16%; left:50%; transform:translate(-50%,-50%);
  width:34px; height:34px; border-radius:50%;
  border:1px solid rgba(240,166,74,0.3);
  opacity:0; transition:opacity 1.8s ease .2s;
}
.funke.is-visible .funke__spark-ring{opacity:.5; animation:funkeBreathe 5s ease-in-out infinite}

.funke__particle{
  position:absolute; width:3px; height:3px; border-radius:50%;
  background:var(--ember-hi); opacity:0;
  transition:opacity 1.2s ease;
}
.funke.is-visible .funke__particle{opacity:.6}
.funke__particle--1{top:28%; left:38%; transition-delay:.3s}
.funke__particle--2{top:34%; left:64%; transition-delay:.5s}
.funke__particle--3{top:20%; left:58%; transition-delay:.7s}
.funke__particle--4{top:40%; left:46%; transition-delay:.9s}

.funke__ray{
  position:absolute; top:16%; left:50%; width:1px; height:60px;
  background:linear-gradient(180deg, rgba(240,166,74,0.35), transparent);
  transform-origin:top center; opacity:0;
  transition:opacity 1.6s ease .4s;
}
.funke.is-visible .funke__ray{opacity:1}
.funke__ray--1{transform:translateX(-50%) rotate(20deg)}
.funke__ray--2{transform:translateX(-50%) rotate(-25deg)}
.funke__ray--3{transform:translateX(-50%) rotate(90deg); height:40px}

@keyframes funkeBreathe{
  0%,100%{transform:translate(-50%,-50%) scale(1); opacity:.5}
  50%{transform:translate(-50%,-50%) scale(1.35); opacity:.15}
}
@keyframes funkePulse{
  0%{box-shadow:0 0 30px 10px rgba(240,166,74,0.35)}
  40%{box-shadow:0 0 60px 24px rgba(240,166,74,0.6)}
  100%{box-shadow:0 0 30px 10px rgba(240,166,74,0.35)}
}
.funke__visual.is-pulsing .funke__spark-core{animation:funkePulse 1.6s ease-out}

.funke__form-wrap{position:relative; z-index:1}
.funke__honeypot{position:absolute; left:-9999px; top:0; width:1px; height:1px; overflow:hidden}
.funke__label{
  display:block; font-family:var(--mono); font-size:11px; color:var(--ink-muted);
  text-transform:uppercase; letter-spacing:0.08em; margin-bottom:10px;
}
.funke__field{display:flex; flex-direction:column; gap:12px}
.funke__field input{
  font-family:var(--sans); font-size:15px; color:var(--ink);
  background:var(--bg-alt); border:1px solid rgba(234,228,216,0.14);
  border-radius:6px; padding:15px 16px; width:100%;
  transition:border-color .3s ease, box-shadow .3s ease;
}
.funke__field input::placeholder{color:var(--ink-muted)}
.funke__field input:focus{
  outline:none; border-color:rgba(240,166,74,0.55);
  box-shadow:0 0 0 3px rgba(240,166,74,0.15);
}
.funke__field input[aria-invalid="true"]{border-color:rgba(224,102,74,0.6)}
.funke__submit{border:none; width:100%; padding:16px; border-radius:6px; cursor:pointer}
.funke__submit[aria-busy="true"]{opacity:.75; cursor:progress}
.funke__status{margin:16px 0 0; font-size:13.5px; line-height:1.6; color:#E2764A}
.funke__fineprint{margin:20px 0 0; font-size:12.5px; line-height:1.6; color:var(--ink-muted)}
.funke__fineprint a{color:var(--ink-muted); text-decoration:underline; text-decoration-color:rgba(240,166,74,0.4)}
.funke__fineprint a:hover{color:#FFD58A}

.funke__success h3{font-family:var(--serif); font-weight:500; font-size:22px; color:var(--ink); margin:0 0 12px}
.funke__success p{font-size:15px; line-height:1.7; color:var(--ink-muted); margin:0}

@media (max-width:720px){
  .funke__panel{max-width:none}
}
