/* ============================================================
   SERAPIS Energyhealing — Global Design System
   Shared across all pages. Page-local CSS lives inline in each page.
   See DESIGN.md §8 for the global vs page-local split.
   ============================================================ */

:root{
  /* === Warmes Farbsystem — Koralle · Orange · Kupfer · Gold · Gelbtöne === */
  --cream:#F5EDE0;
  --cream-2:#EFE4D2;
  --ivory:#FAF5EC;
  --terracotta:#BE6E47;
  --terracotta-dark:#9A4F2E;
  --rose:#E0A07E;
  --rose-soft:#F0CBA8;
  --sage:#B79A5E;
  --gold:#C9A24F;
  --gold-soft:#E6C887;
  --coral:#E0805E;
  --coral-soft:#F2B79B;
  --copper:#B5683E;
  --amber:#E3A53F;
  --ink:#3D2E2A;
  --ink-soft:#6B554D;
  --read:#4A3A34;
  --line:#D9C6A9;
  --shadow:0 30px 80px -30px rgba(61,46,42,0.25);
  --shadow-soft:0 10px 40px -15px rgba(61,46,42,0.18);
  --shadow-warm:0 30px 80px -30px rgba(154,79,46,0.35);
}

/* === BASE === */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Outfit',sans-serif;
  font-weight:300;
  background:var(--cream);
  color:var(--ink);
  line-height:1.6;
  overflow-x:hidden;
}
.serif{font-family:'Cormorant Garamond',serif;font-weight:400}
.italic{font-style:italic}

/* Subtle film grain texture overlay */
body::before{
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:1000;
  opacity:0.04;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  mix-blend-mode:multiply;
}

/* === NAV === */
nav{
  position:fixed;
  top:0;left:0;right:0;
  z-index:100;
  padding:1.4rem 3rem;
  display:flex;
  justify-content:space-between;
  align-items:center;
  backdrop-filter:blur(12px);
  background:rgba(245,237,224,0.78);
  border-bottom:1px solid rgba(190,110,71,0.12);
  transition:padding 0.4s ease, background 0.4s ease, box-shadow 0.4s ease;
}
nav.scrolled{padding:0.9rem 3rem;background:rgba(245,237,224,0.94);box-shadow:0 10px 40px -25px rgba(61,46,42,0.4)}
.nav-logo{
  font-family:'Cormorant Garamond',serif;
  font-size:1.6rem;
  letter-spacing:0.35em;
  font-weight:500;
  color:var(--ink);
  text-decoration:none;
}
.nav-logo span{color:var(--terracotta);font-style:italic;letter-spacing:0}
.nav-links{display:flex;gap:2.5rem;align-items:center;list-style:none}
.nav-links a{
  color:var(--ink);
  text-decoration:none;
  font-size:0.82rem;
  letter-spacing:0.15em;
  text-transform:uppercase;
  font-weight:400;
  transition:color 0.3s;
  position:relative;
}
.nav-links a:hover{color:var(--terracotta)}
.nav-links a.current{color:var(--terracotta)}
.nav-links a:not(.nav-cta)::after{
  content:'';position:absolute;bottom:-6px;left:0;width:0;height:1px;
  background:var(--terracotta);transition:width 0.3s;
}
.nav-links a:not(.nav-cta):hover::after{width:100%}
.nav-links a.current:not(.nav-cta)::after{width:100%}
.nav-cta{
  background:var(--ink);color:var(--cream)!important;
  padding:0.7rem 1.6rem;border-radius:100px;letter-spacing:0.18em;
}
.nav-cta:hover{background:var(--terracotta);color:var(--cream)!important}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;font-size:1.5rem;color:var(--ink)}

/* === BUTTONS === */
.btn{
  display:inline-flex;align-items:center;gap:0.7rem;padding:1.1rem 2.2rem;border-radius:100px;
  font-size:0.82rem;letter-spacing:0.2em;text-transform:uppercase;text-decoration:none;
  cursor:pointer;border:none;font-family:inherit;font-weight:400;transition:all 0.3s ease;
}
.btn-primary{background:var(--ink);color:var(--cream)}
.btn-primary:hover{background:var(--terracotta);transform:translateY(-2px);box-shadow:0 15px 30px -10px rgba(190,110,71,0.55)}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--cream)}
.btn-cream{background:var(--cream);color:var(--ink)}
.btn-cream:hover{transform:translateY(-2px);box-shadow:0 15px 30px -10px rgba(0,0,0,0.3);background:var(--ivory)}
.btn-ghost-light{background:transparent;color:var(--cream);border:1px solid rgba(245,237,224,0.55)}
.btn-ghost-light:hover{background:var(--cream);color:var(--ink)}
.btn-arrow{transition:transform 0.3s;display:inline-block}
.btn:hover .btn-arrow{transform:translateX(4px)}

/* === AURA ORB (signature element — do not remove) === */
.aura-orb{
  width:100%;aspect-ratio:1;border-radius:50%;
  background:
    radial-gradient(circle at 35% 30%, rgba(255,246,228,0.92) 0%, transparent 40%),
    radial-gradient(circle at 70% 60%, rgba(224,128,94,0.82) 0%, transparent 50%),
    radial-gradient(circle at 50% 80%, rgba(201,162,79,0.62) 0%, transparent 55%),
    radial-gradient(circle at 30% 70%, rgba(227,165,63,0.5) 0%, transparent 50%),
    linear-gradient(135deg, #F2C4A4 0%, #E0805E 42%, #C9A24F 100%);
  box-shadow:
    inset 30px 30px 80px rgba(255,250,240,0.42),
    inset -30px -30px 80px rgba(154,79,46,0.22),
    0 40px 100px -20px rgba(190,110,71,0.42);
  animation:float 8s ease-in-out infinite, slowSpin 30s linear infinite;
  position:relative;
}
.aura-orb::before{
  content:'';position:absolute;inset:-30px;border-radius:50%;
  border:1px solid var(--terracotta);opacity:0.2;animation:pulse 4s ease-in-out infinite;
}
.aura-orb::after{
  content:'';position:absolute;inset:-60px;border-radius:50%;
  border:1px dashed var(--terracotta);opacity:0.15;animation:slowSpin 60s linear infinite reverse;
}

/* Orb-glow — lighter radial variant for centred heroes (Impulse, Angebote, Kontakt) */
.hero-glow{
  position:absolute;top:-180px;left:50%;transform:translateX(-50%);
  width:560px;height:560px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle, rgba(224,128,94,0.16) 0%, rgba(227,165,63,0.08) 45%, transparent 70%);
  animation:float 11s ease-in-out infinite;
}

/* Floating particles */
.particle{
  position:absolute;width:6px;height:6px;background:var(--amber);
  border-radius:50%;opacity:0.45;animation:floatParticle 8s ease-in-out infinite;
}

/* === KEYFRAMES === */
@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-20px)}}
@keyframes slowSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes pulse{0%,100%{transform:scale(1);opacity:0.2}50%{transform:scale(1.05);opacity:0.4}}
@keyframes floatParticle{0%,100%{transform:translate(0,0)}50%{transform:translate(20px,-30px)}}
@keyframes popIn{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}

/* === REVEAL ON SCROLL === */
.reveal{opacity:0;transform:translateY(32px);transition:opacity 0.9s ease, transform 0.9s ease}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:0.1s}
.reveal.d2{transition-delay:0.2s}
.reveal.d3{transition-delay:0.3s}
.reveal.d4{transition-delay:0.4s}

/* === SECTION SYSTEM === */
section{padding:7rem 3rem;position:relative}
.container{max-width:1400px;margin:0 auto}
.section-eyebrow{
  font-size:0.78rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--terracotta);
  margin-bottom:1.2rem;display:flex;align-items:center;gap:0.8rem;justify-content:center;
}
.section-eyebrow::before,.section-eyebrow::after{content:'';width:30px;height:1px;background:var(--terracotta)}
.section-title{
  font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem,4.5vw,3.8rem);font-weight:300;
  line-height:1.05;letter-spacing:-0.01em;text-align:center;margin-bottom:1.5rem;
}
.section-title em{font-style:italic;color:var(--terracotta)}
.section-intro{text-align:center;max-width:680px;margin:0 auto 4rem;color:var(--ink-soft);font-size:1.05rem;font-weight:300}

/* === FORM FIELDS (base) === */
.form-field{position:relative}
.form-field label{display:block;font-size:0.75rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:0.5rem}
.form-field input,.form-field textarea,.form-field select{
  width:100%;padding:0.9rem 1.2rem;border:1px solid var(--line);border-radius:12px;background:var(--cream);
  font-family:inherit;font-size:0.95rem;color:var(--ink);transition:border 0.3s;
}
.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:none;border-color:var(--terracotta)}
.form-field textarea{resize:vertical}

/* === FOOTER === */
footer{background:var(--ink);color:var(--cream);padding:5rem 3rem 2rem;text-align:center}
.footer-logo{font-family:'Cormorant Garamond',serif;font-size:2.5rem;letter-spacing:0.3em;margin-bottom:1rem}
.footer-logo span{color:var(--terracotta);font-style:italic;letter-spacing:0}
.footer-tagline{font-style:italic;color:rgba(245,237,224,0.6);margin-bottom:2.5rem;font-family:'Cormorant Garamond',serif;font-size:1.2rem}
.footer-social{display:flex;gap:1rem;justify-content:center;margin-bottom:3rem}
.footer-social a{width:42px;height:42px;border-radius:50%;background:rgba(245,237,224,0.06);display:flex;align-items:center;justify-content:center;color:var(--cream);text-decoration:none;transition:all 0.3s;font-size:1rem}
.footer-social a:hover{background:var(--terracotta);transform:translateY(-3px)}
.footer-meta{padding-top:2rem;border-top:1px solid rgba(245,237,224,0.1);font-size:0.8rem;color:rgba(245,237,224,0.5);letter-spacing:0.1em}
.footer-meta a{color:rgba(245,237,224,0.7);text-decoration:none;margin:0 0.8rem}
.footer-meta a:hover{color:var(--cream)}
.disclaimer{max-width:640px;margin:0 auto 2rem;font-size:0.75rem;color:rgba(245,237,224,0.4);font-style:italic;line-height:1.6}

/* === RESPONSIVE (global primitives) === */
@media (max-width:900px){
  nav{padding:1rem 1.5rem}
  nav.scrolled{padding:0.8rem 1.5rem}
  .nav-links{
    position:fixed;top:62px;left:0;right:0;flex-direction:column;background:var(--ivory);padding:2rem;gap:1.5rem;
    transform:translateX(100%);transition:transform 0.4s;height:calc(100vh - 62px);overflow-y:auto;
  }
  .nav-links.open{transform:translateX(0)}
  .menu-toggle{display:block}
  section{padding:5rem 1.5rem}
}

/* === ACCESSIBILITY: reduced motion === */
@media (prefers-reduced-motion: reduce){
  .aura-orb,.aura-orb::before,.aura-orb::after,.hero-glow,.particle{animation:none!important}
  .reveal{transition:none!important;opacity:1!important;transform:none!important}
  *{scroll-behavior:auto!important}
}
