/* ═══════════════════════════════════════════════════
   theyogathingy. — Stille Struktur · gemeinsames Stylesheet
   (index.html, impressum.html, datenschutz.html)
   ═══════════════════════════════════════════════════ */

/* ─── Schrift (lokal, offline) ─── */
@font-face{font-family:'Poiret One';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/poiret-one-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Poiret One';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/poiret-one-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

/* ─── Tokens ─── */
:root{
  --schwarz:#1A1A1A;
  --warmweiss:#F5F0EB;
  --salbei:#7E9B8A;
  --salbei-light:#A8C2B4;
  --salbei-dark:#5B7A6A;
  --salbei-bg:#F0F4F1;
  --steingrau:#9B9590;        /* dekorativ: Labels, Meta */
  --text:#6B665F;             /* Fliesstext (kontrastreicher, WCAG-naeher) */
  --logo-text:#707070;
  --logo-frame:#C0C0C0;
  --weiss:#FFFFFF;
  --bg:#FAFAF8;
  --border:#E8E4E0;
  /* Abstands-System */
  --sec-pad:140px;            /* vertikales Section-Padding (responsiv ueberschrieben) */
  --sec-pad-x:56px;
  --gap-sm:16px;
  --gap-md:32px;
  --gap-lg:72px;
}

/* ─── Base ─── */
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Poiret One',cursive;background:var(--bg);color:var(--schwarz);font-weight:400;font-size:18px;line-height:1.8;overflow-x:hidden;}
::selection{background:var(--salbei);color:var(--weiss);}
img{display:block;max-width:100%;}

/* Screenreader-only (z.B. echte H1) */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* Skip-Link */
.skip-link{position:absolute;left:-999px;top:0;z-index:2000;background:var(--schwarz);color:var(--weiss);padding:12px 20px;border-radius:0 0 6px 0;font-size:14px;letter-spacing:1px;}
.skip-link:focus{left:0;}

/* Tastatur-Fokus */
a:focus-visible,button:focus-visible,.nav-toggle:focus-visible{outline:2px solid var(--salbei-dark);outline-offset:3px;border-radius:2px;}

/* ─── Breathing Dot ─── */
.breath{position:fixed;bottom:32px;right:32px;width:10px;height:10px;border-radius:50%;background:var(--salbei);opacity:0.25;animation:breathe 4s ease-in-out infinite;z-index:100;pointer-events:none;}
@keyframes breathe{0%,100%{transform:scale(1);opacity:0.2;}50%{transform:scale(2);opacity:0.45;}}

/* ─── Custom Cursor ─── */
.cursor-dot{position:fixed;width:8px;height:8px;background:var(--salbei);border-radius:50%;pointer-events:none;z-index:9999;transition:transform 0.15s ease,opacity 0.15s;mix-blend-mode:difference;opacity:0;}
.cursor-dot.visible{opacity:1;}
.cursor-dot.hover{transform:scale(5);opacity:0.25;}

/* ─── Navigation ─── */
#mainNav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:20px 56px;display:flex;align-items:center;justify-content:space-between;background:var(--bg);border-bottom:1px solid var(--border);transition:all 0.4s cubic-bezier(.22,1,.36,1);}
#mainNav.scrolled{padding:14px 56px;box-shadow:0 2px 20px rgba(0,0,0,0.04);}
.nav-logo{display:flex;align-items:center;gap:16px;text-decoration:none;transition:opacity 0.3s;}
.nav-logo:hover{opacity:0.7;}
.nav-logo svg{overflow:visible;}
.nav-logo svg line{stroke:#2A2A2A;stroke-width:6;}
.nav-logo svg text{fill:#2A2A2A;}
.nav-links{display:flex;gap:36px;list-style:none;}
.nav-links a{font-size:13px;letter-spacing:2.5px;text-transform:uppercase;color:#2A2A2A;text-decoration:none;position:relative;transition:color 0.3s;}
.nav-links a:hover{color:var(--salbei-dark);}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--salbei);transition:width 0.4s cubic-bezier(.22,1,.36,1);}
.nav-links a:hover::after{width:100%;}
.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;z-index:1001;background:none;border:none;padding:4px;}
.nav-toggle span{width:24px;height:1.5px;background:var(--schwarz);transition:all 0.3s;display:block;}
.nav-toggle.open span:nth-child(1){transform:rotate(45deg) translate(4px,4px);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px);}

/* ─── Hero ─── */
.hero{position:relative;height:100vh;min-height:640px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--schwarz);}
.hero-bg{position:absolute;inset:0;background:linear-gradient(160deg,rgba(26,26,26,0.35),rgba(26,26,26,0.62)),url('bilder/kara-carmichael-o52K7BV_5-g-unsplash.jpg') center/cover;filter:grayscale(100%) contrast(1.1);transform:scale(1.15);transition:transform 10s ease-out;}
.hero.loaded .hero-bg{transform:scale(1);}
.hero-content{position:relative;z-index:2;text-align:center;padding:0 24px;}
.hero-greeting{font-size:clamp(42px,8vw,84px);color:var(--weiss);line-height:1.15;opacity:0;transform:translateY(50px);animation:fadeUp 1.4s cubic-bezier(.22,1,.36,1) 0.4s forwards;}
.hero-dot{color:var(--salbei-light);}
.hero-tagline{font-style:italic;font-size:clamp(16px,2.5vw,22px);color:rgba(255,255,255,0.95);text-shadow:0 1px 14px rgba(0,0,0,0.6);margin-top:36px;letter-spacing:0.5px;opacity:0;animation:fadeUp 1s ease 1.3s forwards;}
@keyframes fadeUp{to{opacity:1;transform:translateY(0);}}

/* ─── Reveal ─── */
.reveal{opacity:0;transform:translateY(32px);transition:opacity 0.9s cubic-bezier(.22,1,.36,1),transform 0.9s cubic-bezier(.22,1,.36,1);}
.reveal.visible{opacity:1;transform:translateY(0);}
.rd1{transition-delay:0.1s;}.rd2{transition-delay:0.2s;}.rd3{transition-delay:0.3s;}.rd4{transition-delay:0.4s;}.rd5{transition-delay:0.5s;}

/* ─── Section-Helfer ─── */
.sec{padding:var(--sec-pad) var(--sec-pad-x);max-width:1240px;margin:0 auto;}
.sec-label{font-size:13px;letter-spacing:4px;text-transform:uppercase;color:var(--salbei-dark);margin-bottom:14px;}
.sec-title{font-size:clamp(32px,5vw,56px);color:var(--schwarz);line-height:1.15;margin-bottom:24px;}
.sec-text{font-size:18px;line-height:1.9;color:var(--text);max-width:640px;}

/* ─── Tagline-Banner ─── */
.tagline{padding:100px 56px;text-align:center;background:var(--salbei-bg);}
.tagline p{font-style:italic;font-size:clamp(20px,3.5vw,32px);color:var(--salbei-dark);letter-spacing:0.5px;max-width:800px;margin:0 auto;line-height:1.5;}

/* ─── Über mich ─── */
.ueber{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-lg);align-items:start;max-width:1240px;padding:var(--sec-pad) var(--sec-pad-x);margin:0 auto;}
.ueber-img{position:relative;overflow:hidden;border-radius:10px;aspect-ratio:3/4;position:sticky;top:120px;}
.ueber-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%) contrast(1.05);transition:all 0.9s cubic-bezier(.22,1,.36,1);}
.ueber-img:hover img{filter:grayscale(40%) contrast(1);transform:scale(1.03);}
.ueber-img::after{content:'';position:absolute;bottom:0;left:0;right:0;height:55%;background:linear-gradient(to top,rgba(26,26,26,0.45),transparent);pointer-events:none;}
.ueber-overlay{position:absolute;bottom:36px;left:36px;font-size:clamp(32px,4vw,48px);color:var(--weiss);z-index:2;line-height:1.1;}
.ueber-txt h2{font-size:14px;letter-spacing:4px;text-transform:uppercase;color:var(--salbei-dark);margin-bottom:24px;}
.ueber-txt p{font-size:18px;line-height:1.95;color:var(--text);margin-bottom:22px;}
.ueber-txt p strong{color:var(--schwarz);font-weight:400;}
.ueber-txt .quote{font-style:italic;font-size:22px;color:var(--salbei-dark);border-left:2px solid var(--salbei-light);padding-left:24px;margin:32px 0;line-height:1.5;}

/* ─── Sankalpa ─── */
.sank{position:relative;padding:var(--sec-pad) 0;overflow:hidden;}
.sank-bg{position:absolute;inset:0;background:linear-gradient(rgba(20,20,20,0.86),rgba(20,20,20,0.93)),url('bilder/james-wainscoat-cGAoqehyU5k-unsplash.jpg') center/cover;filter:grayscale(100%);}
.sank-inner{position:relative;z-index:2;max-width:1240px;margin:0 auto;padding:0 var(--sec-pad-x);}
.sank-head{text-align:center;margin-bottom:88px;}
.sank-head .sec-title{color:var(--weiss);}
.sank-head p{font-style:italic;color:rgba(255,255,255,0.7);font-size:22px;margin-top:14px;}
.sank-intro{max-width:780px;margin:0 auto 80px;text-align:center;}
.sank-intro p{color:rgba(255,255,255,0.82);font-size:18px;line-height:1.95;margin-bottom:20px;}
.sank-intro em,.sank-outro em{color:var(--salbei-light);font-style:italic;}
.sank-outro{max-width:780px;margin:72px auto 0;text-align:center;}
.sank-outro p{color:rgba(255,255,255,0.82);font-size:18px;line-height:1.95;margin-bottom:18px;}
.sank-outro .accent{color:var(--salbei-light);font-style:italic;line-height:1.9;}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;}
.pillar{background:rgba(255,255,255,0.025);border:1px solid rgba(255,255,255,0.06);padding:56px 32px;text-align:center;transition:all 0.5s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden;}
.pillar::before{content:'';position:absolute;bottom:0;left:0;right:0;height:0;background:rgba(126,155,138,0.12);transition:height 0.5s cubic-bezier(.22,1,.36,1);}
.pillar:hover::before{height:100%;}
.pillar:hover{border-color:rgba(126,155,138,0.35);transform:translateY(-5px);}
.pl-num{font-size:12px;letter-spacing:4px;color:var(--salbei-light);margin-bottom:24px;position:relative;}
.pl-title{font-size:26px;color:var(--weiss);margin-bottom:10px;position:relative;}
.pl-sans{font-style:italic;font-size:16px;color:var(--salbei-light);margin-bottom:24px;opacity:0.92;position:relative;}
.pl-text{font-size:16.5px;line-height:1.8;color:rgba(255,255,255,0.85);position:relative;transition:color 0.3s;}
.pillar:hover .pl-text{color:rgba(255,255,255,0.97);}

/* ─── Kurse & 1:1 ─── */
.kurse{max-width:1080px;margin:0 auto;padding:var(--sec-pad) var(--sec-pad-x);}
.kurse-head{text-align:center;margin-bottom:60px;}
.kurse-head h2{font-size:clamp(32px,5vw,56px);color:var(--schwarz);line-height:1.15;margin:14px 0 18px;}
.kurse-head p{font-size:16px;color:var(--text);line-height:1.9;max-width:620px;margin:0 auto;}
.kurse-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-md);}
.kcard{background:var(--weiss);border:1px solid var(--border);border-radius:14px;padding:44px 40px;display:flex;flex-direction:column;transition:all 0.5s cubic-bezier(.22,1,.36,1);}
.kcard:hover{transform:translateY(-6px);box-shadow:0 24px 48px rgba(26,26,26,0.08);border-color:var(--salbei);}
.kcard-label{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--salbei-dark);margin-bottom:16px;}
.kcard h3{font-size:26px;margin-bottom:14px;}
.kcard-meta{font-size:14px;color:var(--steingrau);line-height:1.7;margin-bottom:20px;}
.kcard>p{font-size:16px;color:var(--text);line-height:1.85;flex:1;margin-bottom:28px;}
.kcard-cta{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:13px 28px;background:var(--schwarz);color:var(--weiss);border-radius:6px;font-family:'Poiret One',cursive;font-size:13px;letter-spacing:2px;text-transform:uppercase;text-decoration:none;transition:all 0.4s cubic-bezier(.22,1,.36,1);}
.kcard-cta:hover{background:var(--salbei-dark);}

/* ─── Kontakt ─── */
.kontakt{background:var(--salbei-bg);padding:var(--sec-pad) var(--sec-pad-x);text-align:center;}
.kontakt-inner{max-width:640px;margin:0 auto;}
.kontakt h2{font-size:clamp(28px,4vw,44px);margin-bottom:14px;}
.kontakt .kontakt-sans{font-style:italic;color:var(--salbei-dark);font-size:16px;margin-top:-4px;margin-bottom:36px;}
.kontakt-invite{color:var(--text);margin-bottom:56px;font-size:18px;}
.channels{display:flex;justify-content:center;gap:56px;}
.channel{display:flex;flex-direction:column;align-items:center;gap:14px;text-decoration:none;color:var(--text);transition:all 0.3s;}
.channel:hover{color:var(--salbei-dark);}
.ch-icon{width:68px;height:68px;border-radius:50%;border:1px solid var(--steingrau);display:flex;align-items:center;justify-content:center;transition:all 0.4s cubic-bezier(.22,1,.36,1);}
.channel:hover .ch-icon{border-color:var(--salbei);background:var(--salbei);transform:translateY(-5px);box-shadow:0 12px 24px rgba(126,155,138,0.2);}
.channel:hover .ch-icon svg{stroke:var(--weiss);}
.ch-label{font-size:13px;letter-spacing:2.5px;text-transform:uppercase;}

/* ─── Rechtsseiten (Impressum / Datenschutz) ─── */
.legal-page{max-width:680px;margin:0 auto;padding:calc(var(--sec-pad) + 28px) var(--sec-pad-x) var(--sec-pad);}
.legal-page .sec-label{margin-bottom:14px;}
.legal-page h1{font-size:clamp(32px,5vw,52px);color:var(--schwarz);line-height:1.15;margin-bottom:40px;}
.legal-page h2{font-size:15px;letter-spacing:2px;text-transform:uppercase;color:var(--salbei-dark);margin:44px 0 14px;}
.legal-page p{font-size:16px;color:var(--text);line-height:1.85;margin-bottom:12px;}
.legal-page p strong{color:var(--schwarz);font-weight:400;}
.legal-page a{color:var(--salbei-dark);text-decoration:underline;text-underline-offset:4px;}
.legal-page a:hover{color:var(--salbei);}
.legal-back{display:inline-block;margin-top:48px;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--salbei-dark);text-decoration:none;}
.legal-back:hover{color:var(--salbei);}

/* ─── Footer ─── */
footer{background:var(--schwarz);padding:72px 56px 48px;text-align:center;margin-top:80px;}
.foot-logo{margin-bottom:20px;}
.foot-brand{font-size:32px;color:#9a9a9a;letter-spacing:3px;}
.foot-copy{font-size:14px;color:rgba(255,255,255,0.35);margin-top:16px;}
.foot-links{display:flex;justify-content:center;gap:32px;margin-top:20px;flex-wrap:wrap;}
.foot-links a{font-size:14px;color:rgba(255,255,255,0.5);text-decoration:none;transition:color 0.3s;}
.foot-links a:hover{color:var(--salbei-light);}

/* ─── Responsive ─── */
@media(max-width:1024px){
  :root{--sec-pad:120px;--sec-pad-x:40px;--gap-lg:56px;}
}
@media(max-width:900px){
  :root{--sec-pad:100px;--sec-pad-x:24px;}
  #mainNav{padding:14px 24px;}#mainNav.scrolled{padding:10px 24px;}
  .nav-links{display:none;}
  .nav-links.open{display:flex;flex-direction:column;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(250,250,248,0.97);backdrop-filter:blur(24px);align-items:center;justify-content:center;gap:36px;z-index:1000;}
  .nav-links.open a{color:var(--schwarz);font-size:20px;}
  .nav-toggle{display:flex;}
  .ueber{grid-template-columns:1fr;gap:40px;}
  .ueber-img{position:relative;top:0;}
  .pillars{grid-template-columns:1fr 1fr;}
  .kurse-grid{grid-template-columns:1fr;}
  .channels{flex-direction:column;gap:28px;align-items:center;}
  .tagline{padding:60px 24px;}
  .cursor-dot,.breath{display:none;}
}
@media(max-width:600px){
  :root{--sec-pad:80px;}
  .pillars{grid-template-columns:1fr;}
  .hero-greeting{font-size:36px;}
  body{font-size:16px;}
}

/* ─── Reduzierte Bewegung ─── */
@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;scroll-behavior:auto !important;}
  .breath,.cursor-dot{display:none !important;}
  .reveal{opacity:1 !important;transform:none !important;}
  .hero-greeting,.hero-tagline{opacity:1 !important;transform:none !important;}
}
