/*
Theme Name: Anne Hornemann
Theme URI: https://www.annehornemann.de
Description: Beratung, Anteilearbeit & therapeutische Fotografie
Version: 3.0
Author: Anne Hornemann
Text Domain: anne-hornemann
*/

/* ═══ DESIGN TOKENS (exakt aus Lovable) ═══ */
:root {
  --bg: oklch(0.97 0.015 80);
  --fg: oklch(0.25 0.02 35);
  --card: oklch(0.99 0.01 80);
  --primary: oklch(0.55 0.13 35);
  --primary-fg: oklch(0.98 0.012 80);
  --secondary: oklch(0.93 0.022 75);
  --muted-fg: oklch(0.45 0.025 45);
  --accent: oklch(0.88 0.045 60);
  --border: oklch(0.25 0.02 35 / 12%);
  --serif: 'Cormorant Garamond', 'Playfair Display', ui-serif, Georgia, serif;
  --sans: 'Inter Tight', ui-sans-serif, system-ui, sans-serif;
}

/* ═══ RESET & BASE ═══ */
*{margin:0;padding:0;box-sizing:border-box;border-color:var(--border)}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:var(--sans);font-weight:300;color:var(--fg);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased;font-feature-settings:"ss01","cv11"}
a{color:inherit;text-decoration:none}
a:hover{color:var(--primary)}
img{max-width:100%;height:auto;display:block}
button{font-family:inherit;cursor:pointer}

/* ═══ TYPOGRAPHY ═══ */
h1,h2,h3,h4,h5,h6,.font-serif{font-family:var(--serif);font-weight:400;line-height:1.1;letter-spacing:-0.01em}
h1{font-size:clamp(2.5rem,6vw,4.5rem);line-height:1.05}
h2{font-size:clamp(2rem,4vw,3rem)}
h3{font-size:clamp(1.5rem,3vw,2rem)}
em.text-primary{font-style:normal;color:var(--primary)}
.eyebrow{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted-fg)}

/* ═══ LAYOUT ═══ */
.wrap{max-width:72rem;margin:0 auto;padding:0 1.5rem}
.bg-sand{background:var(--secondary)}
.bg-card{background:var(--card)}
.bg-dark{background:var(--fg);color:var(--bg)}
.border-t{border-top:1px solid var(--border)}
.border-y{border-top:1px solid var(--border);border-bottom:1px solid var(--border)}

/* ═══ BUTTONS ═══ */
.btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.75rem;border-radius:2rem;font-size:.9rem;background:var(--primary);color:var(--primary-fg);border:none;letter-spacing:.02em;transition:all .2s}
.btn-primary:hover{opacity:.9;color:var(--primary-fg)}
.btn-ghost{display:inline-flex;align-items:center;padding:.875rem 1.25rem;font-size:.9rem;color:var(--fg);opacity:.8;text-underline-offset:4px}
.btn-ghost:hover{text-decoration:underline;color:var(--fg)}

/* ═══ HEADER ═══ */
.site-header{position:fixed;inset-inline:0;top:0;z-index:100;background:oklch(0.97 0.015 80/.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);transition:background .3s}
.site-header .inner{display:flex;align-items:center;justify-content:space-between;padding:1rem 0}
.site-logo img{height:3.5rem;width:auto;border-radius:.25rem}
@media(min-width:769px){.site-logo img{height:4rem}}
.site-nav{display:flex;gap:2rem;font-size:.9rem;color:var(--muted-fg)}
.site-nav a{transition:color .2s;white-space:nowrap}
.site-nav a:hover{color:var(--fg)}
.site-nav a.current{color:var(--fg)}

/* Hamburger */
.hamburger{display:none;background:none;border:none;padding:.5rem;flex-direction:column;gap:5px;z-index:110}
.hamburger-line{display:block;width:22px;height:2px;background:var(--fg);border-radius:2px;transition:all .3s}
.hamburger.open .hamburger-line:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.hamburger.open .hamburger-line:nth-child(2){opacity:0}
.hamburger.open .hamburger-line:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

@media(max-width:768px){
  .hamburger{display:flex}
  .site-nav{
    position:absolute;
    top:100%;
    left:0;right:0;
    background:var(--fg);
    flex-direction:column;
    gap:0;
    font-size:.875rem;
    max-height:0;
    overflow:hidden;
    transition:max-height .35s ease,opacity .25s;
    opacity:0;
    z-index:105;
    box-shadow:0 8px 24px rgba(0,0,0,.15);
  }
  .site-nav.open{max-height:25rem;opacity:1}
  .site-nav a{
    display:block;
    padding:.9rem 1.5rem;
    color:oklch(0.92 0.015 75);
    font-size:.9rem;
    font-weight:400;
    letter-spacing:.04em;
    border-bottom:1px solid oklch(1 0 0/.08);
    transition:background .15s;
  }
  .site-nav a:last-child{border-bottom:none}
  .site-nav a:hover,
  .site-nav a:active{background:oklch(0.3 0.03 35);color:var(--primary)}
  .site-nav a.current{color:var(--primary)}
}

/* ═══ FOOTER ═══ */
.site-footer{border-top:1px solid var(--border);padding:2.5rem 0}
.footer-inner{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:1rem;font-size:.9rem;color:var(--muted-fg)}
@media(min-width:768px){.footer-inner{flex-direction:row}}
.footer-links{display:flex;gap:1.5rem}
.footer-links a{color:var(--muted-fg);transition:color .2s}
.footer-links a:hover{color:var(--fg)}

/* ═══ HERO ═══ */
.hero{position:relative;overflow:hidden;padding:10rem 0 6rem}
.hero-grid{display:grid;grid-template-columns:7fr 5fr;gap:3rem;align-items:center}
.hero h1{margin-top:1.5rem}
.hero-lead{margin-top:2rem;font-size:1.125rem;color:var(--muted-fg);max-width:28rem}
.hero-cta{margin-top:2.5rem;display:flex;gap:1rem;flex-wrap:wrap}
.hero-img{position:relative}
.hero-img img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:1.75rem;background:var(--card);box-shadow:0 30px 80px -30px oklch(0.4 0.05 35/.35)}
.hero-quote{margin-top:1.5rem;background:var(--card);padding:1.25rem 1.5rem;border-radius:1rem;box-shadow:0 10px 30px -10px oklch(0.4 0.05 35/.15)}
.hero-quote blockquote{font-family:var(--serif);font-size:1rem;font-style:italic;line-height:1.5;color:var(--fg);opacity:.9}
.hero-quote figcaption{margin-top:.5rem;font-size:.75rem;color:var(--muted-fg)}
@media(max-width:768px){
  .hero-grid{grid-template-columns:1fr}
  .hero{padding-top:6rem;padding-bottom:4rem}
}

/* ═══ ABOUT ═══ */
.about{padding:6rem 0}
.about-grid{display:grid;grid-template-columns:4fr 7fr;gap:3rem}
.about-grid .col-right{grid-column:2;grid-column-start:2}
@media(min-width:768px){.about-grid .col-right{grid-column-start:6;grid-column-end:13}}
.about-portrait{aspect-ratio:3/4;width:100%;overflow:hidden;border-radius:1rem;box-shadow:0 20px 60px -25px oklch(0.4 0.05 35/.4)}
.about-portrait img{width:100%;height:100%;object-fit:cover}
.about-text{display:flex;flex-direction:column;gap:1.5rem}
.about-text>p{font-size:1.125rem;line-height:1.7;color:var(--fg);opacity:.85}
.about-text>p.muted{color:var(--muted-fg)}
.about-link{display:flex;justify-content:space-between;align-items:center;padding-top:1.5rem;margin-top:2.5rem;border-top:1px solid var(--border);gap:1rem;transition:border-color .2s}
.about-link:hover{border-color:var(--primary)}
.about-link .link-btn{flex-shrink:0;border:1px solid oklch(0.55 0.13 35/.4);border-radius:2rem;padding:.5rem 1rem;font-size:.875rem;color:var(--primary);transition:all .2s}
.about-link:hover .link-btn{background:var(--primary);color:var(--primary-fg)}
@media(max-width:768px){.about-grid{grid-template-columns:1fr}.about-grid .col-right{grid-column:auto}}

/* Qualifikationen */
details{margin-top:2.5rem;border-top:1px solid var(--border);padding-top:1.5rem}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem}
summary::-webkit-details-marker{display:none}
summary::marker{display:none}
.link-btn{flex-shrink:0;border:1px solid oklch(0.55 0.13 35/.4);border-radius:2rem;padding:.5rem 1rem;font-size:.875rem;color:var(--primary);transition:all .2s;white-space:nowrap}
details[open] .link-btn{background:var(--primary);color:var(--primary-fg)}
.open-text{display:inline}
.close-text{display:none}
details[open]>.summary-row .open-text,
details[open]>summary .open-text{display:none}
details[open]>.summary-row .close-text,
details[open]>summary .close-text{display:inline}
.qual-list{margin-top:2.5rem;display:flex;flex-direction:column;gap:2.5rem;list-style:none;padding:0}
.qual-item{border-left:2px solid oklch(0.55 0.13 35/.4);padding-left:1.5rem}
.qual-item h3{margin-top:.5rem;font-size:1.25rem;line-height:1.3}
.qual-item .place{margin-top:.25rem;font-size:.9rem;color:var(--muted-fg)}
.qual-inner-detail{margin-top:1rem;display:flex;flex-direction:column;gap:.75rem;line-height:1.7;color:var(--fg);opacity:.8}

/* ═══ SERVICES ═══ */
.services{padding:6rem 0}
.services-header{margin-bottom:4rem}
.services-header h2{margin-top:1.5rem;max-width:36rem}
.services-header .sub{margin-top:2rem;font-size:1.25rem;color:var(--muted-fg);max-width:36rem}
.services-calendly{display:inline-flex;align-items:center;gap:.5rem;border-radius:2rem;background:var(--primary);padding:.625rem 1.25rem;font-size:.9rem;color:var(--primary-fg);transition:opacity .2s;margin-top:1.25rem}
.services-calendly:hover{opacity:.9;color:var(--primary-fg)}
.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border-radius:1rem;overflow:hidden;border:1px solid var(--border)}
.service-card{background:var(--bg);padding:2rem 2.5rem;transition:background .2s}
.service-card:hover{background:var(--card)}
.service-num{font-family:var(--serif);font-size:.875rem;color:var(--primary)}
.service-card h3{font-size:1.5rem;margin-top:1rem}
.service-card p{margin-top:1rem;color:var(--muted-fg);max-width:28rem}
@media(max-width:768px){.services-grid{grid-template-columns:1fr}}

/* ═══ SIGNATURE ═══ */
.signature{position:relative;overflow:hidden;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--fg);color:var(--bg);padding:6rem 0}
.sig-bg{position:absolute;inset:0;z-index:0;opacity:.18;background-size:cover;background-position:center}
.sig-overlay{position:absolute;inset:0;z-index:0;background:linear-gradient(to bottom right,var(--fg),oklch(0.25 0.02 35/.95),oklch(0.25 0.02 35/.7))}
.sig-inner{position:relative;z-index:1}
.sig-grid{display:grid;grid-template-columns:7fr 5fr;gap:3rem;align-items:center}
.sig-text .eyebrow{color:var(--primary-fg);opacity:.7}
.sig-text h2{margin-top:1rem;font-size:clamp(2rem,5vw,3.75rem);line-height:1.05;color:var(--bg)}
.sig-text>p{margin-top:2rem;font-size:1.125rem;line-height:1.7;color:var(--bg);opacity:.85}
.sig-text .sub{margin-top:1rem;color:var(--bg);opacity:.65}
.sig-features{margin-top:2.5rem;display:grid;grid-template-columns:1fr 1fr;gap:.75rem;list-style:none;padding:0}
.sig-features li{display:flex;gap:.5rem;font-size:.9rem;color:var(--bg);opacity:.85}
.sig-features li::before{content:'·';color:var(--primary)}
.sig-img img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:1.75rem;box-shadow:0 30px 80px -20px rgba(0,0,0,.6)}
.price-card{margin-top:-6rem;position:relative;z-index:2;margin-left:auto;width:64%;background:var(--bg);color:var(--fg);padding:1.25rem;border-radius:1rem;box-shadow:0 10px 30px -10px rgba(0,0,0,.2)}
.price-card-top{display:flex;justify-content:space-between;align-items:flex-end;gap:.75rem}
.price-amount{font-family:var(--serif);font-size:2rem;color:var(--primary);margin-top:.25rem}
.price-badge{font-size:.56rem;text-transform:uppercase;letter-spacing:.15em;border:1px solid var(--border);border-radius:2rem;padding:.25rem .625rem;color:var(--muted-fg)}
.price-card .btn-primary{width:100%;justify-content:center;margin-top:1rem;font-size:.75rem;letter-spacing:.05em;padding:.625rem 1.25rem}
@media(max-width:768px){.sig-grid{grid-template-columns:1fr}.sig-features{grid-template-columns:1fr}.price-card{width:100%;margin-top:0;position:static}}

/* ═══ RAUM ═══ */
.raum{padding:6rem 0}
.raum-grid{display:grid;grid-template-columns:5fr 6fr;gap:3rem;align-items:center}
.raum-grid>div:first-child{display:flex;flex-direction:column;gap:1rem}
.raum-grid>div:first-child p{color:var(--muted-fg)}
.raum-grid h2{margin-top:1rem}
.raum-img{border-radius:1rem;overflow:hidden;box-shadow:0 20px 60px -25px oklch(0.4 0.05 35/.4)}
.raum-img img{width:100%;height:100%;object-fit:cover}
@media(max-width:768px){.raum-grid{grid-template-columns:1fr}}

/* ═══ KONTAKT ═══ */
.contact{padding:6rem 0}
.contact-grid{display:grid;grid-template-columns:5fr 6fr;gap:3rem}
.contact h2{margin-top:1rem}
.contact-desc{margin-top:1.5rem;color:var(--muted-fg)}
.contact-info{margin-top:2rem;display:flex;flex-direction:column;gap:.5rem;font-size:.9rem}
.contact-info .muted{color:var(--muted-fg)}
.calendly-box{margin-top:2rem;padding:1.75rem;border:2px solid oklch(0.55 0.13 35/.4);border-radius:1rem;background:oklch(0.55 0.13 35/.05);box-shadow:0 20px 50px -25px oklch(0.55 0.13 35/.5)}
.calendly-box .eyebrow{color:var(--primary)}
.calendly-box h3{margin-top:.5rem;font-size:1.5rem}
.calendly-box p{margin-top:.5rem;font-size:.9rem;color:var(--muted-fg)}
.calendly-box .btn-primary{margin-top:1.25rem;padding:1rem 1.75rem;font-size:1rem;font-weight:500;box-shadow:0 10px 30px -10px oklch(0.55 0.13 35/.5)}
.contact-locs{margin-top:2rem;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.contact-locs p{font-size:.9rem;line-height:1.7}
.contact-form{border:1px solid var(--border);background:var(--card);padding:2.5rem 3rem;border-radius:1.5rem;box-shadow:0 20px 60px -25px oklch(0.4 0.05 35/.15)}
.form-field{margin-bottom:1.75rem}
.form-field label{display:block}
.form-field .eyebrow{display:block;margin-bottom:.75rem}
.form-field input,.form-field textarea{width:100%;background:transparent;border:none;border-bottom:1px solid var(--border);padding:.75rem 0;font-family:inherit;font-size:1rem;outline:none;transition:border-color .3s;color:var(--fg)}
.form-field input:focus,.form-field textarea:focus{border-color:var(--primary);border-bottom-width:2px}
.form-field input::placeholder,.form-field textarea::placeholder{color:var(--muted-fg);opacity:.6}
.form-submit{margin-top:.5rem}
.form-submit button{width:100%;background:var(--primary);color:var(--primary-fg);border:none;padding:1rem;border-radius:2rem;font-size:1rem;font-weight:400;letter-spacing:.02em;transition:all .2s;box-shadow:0 4px 15px -5px oklch(0.55 0.13 35/.4)}
.form-submit button:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 8px 25px -5px oklch(0.55 0.13 35/.5)}
.form-note{margin-top:1rem;font-size:.8rem;color:var(--muted-fg);text-align:center}
@media(max-width:768px){.contact-grid{grid-template-columns:1fr}.contact-locs{grid-template-columns:1fr}}

/* ═══ HALTUNG-SEITE ═══ */
.haltung-hero{padding:12rem 0 4rem}
.haltung-hero h1{margin-top:1.5rem;max-width:56rem}
.haltung-hero .subtitle{margin-top:2rem;font-family:var(--serif);font-size:clamp(1.5rem,3vw,1.875rem);line-height:1.4;color:var(--fg);opacity:.85;max-width:42rem}
.haltung-hero-img{margin-top:3rem;aspect-ratio:3/2;width:100%;overflow:hidden;border-radius:1rem;box-shadow:0 30px 80px -30px oklch(0.4 0.05 35/.45)}
.haltung-hero-img img{width:100%;height:100%;object-fit:cover}
.stance{padding:5rem 0}
.stance-grid{display:grid;grid-template-columns:4fr 7fr;gap:3rem}
.stance-grid .col-right{display:flex;flex-direction:column;gap:1.5rem;font-size:1.125rem;line-height:1.7}
.stance-grid .col-right>p{color:var(--fg);opacity:.85}
.stance-grid .col-right .highlight{font-family:var(--serif);font-size:1.5rem;color:var(--primary)}
.stance-grid .col-right .muted{color:var(--muted-fg)}
@media(min-width:768px){.stance-grid .col-right{grid-column-start:6;grid-column-end:13}}
@media(max-width:768px){.stance-grid{grid-template-columns:1fr}}

/* Anteile */
.anteile{padding:6rem 0}
.anteile h2{margin-top:1rem;max-width:48rem}
.anteile .desc{margin-top:2rem;font-size:1.125rem;color:var(--muted-fg);max-width:42rem}
.voices-grid{margin-top:3.5rem;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border-radius:1rem;overflow:hidden;border:1px solid var(--border)}
.voice-card{background:var(--bg);padding:2rem}
.voice-card h3{font-family:var(--serif);font-size:1.5rem;color:var(--primary)}
.voice-card p{margin-top:.5rem;color:var(--muted-fg)}
.anteile-text{margin-top:4rem;max-width:42rem;display:flex;flex-direction:column;gap:1.5rem;font-size:1.125rem;line-height:1.7}
.anteile-text>p{color:var(--fg);opacity:.85}
.anteile-text .muted{color:var(--muted-fg)}
@media(max-width:640px){.voices-grid{grid-template-columns:1fr}}

/* Lehrer */
.influences{padding:6rem 0}
.influences h2{margin-top:1rem;max-width:36rem}
.teacher-stack{margin-top:4rem;display:flex;flex-direction:column;gap:1px;background:var(--border);border-radius:1rem;overflow:hidden;border:1px solid var(--border)}
.teacher-card{background:var(--bg)}
.teacher-summary{display:grid;gap:1rem;padding:2rem 2.5rem;cursor:pointer;list-style:none;align-items:center}
@media(min-width:768px){.teacher-summary{grid-template-columns:9fr 3fr}}
.teacher-summary::-webkit-details-marker{display:none}
.teacher-head{display:flex;align-items:center;gap:1.25rem}
.teacher-num{font-family:var(--serif);font-size:clamp(2rem,4vw,3rem);color:var(--primary)}
.teacher-name{font-size:1.5rem}
.teacher-role{margin-top:.25rem;font-size:.875rem;color:var(--muted-fg)}
.teacher-toggle{display:flex;align-items:center;gap:.75rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:var(--muted-fg);justify-content:flex-start}
@media(min-width:768px){.teacher-toggle{justify-content:flex-end}}
.teacher-toggle .icon{color:var(--primary);transition:transform .2s}
details[open] .teacher-toggle .icon{transform:rotate(45deg)}
.teacher-toggle .open-text{display:inline}
.teacher-toggle .close-text{display:none}
details[open] .teacher-toggle .open-text{display:none}
details[open] .teacher-toggle .close-text{display:inline}
.teacher-body{border-top:1px solid var(--border);padding:1.5rem 2.5rem 2.5rem;font-size:1.125rem;line-height:1.7;color:var(--fg);opacity:.85}

/* Synthese */
.synthese{padding:6rem 0}
.synthese-grid{display:grid;grid-template-columns:4fr 7fr;gap:3rem}
.synthese-grid .col-right{display:flex;flex-direction:column;gap:1.5rem;font-size:1.125rem;line-height:1.7}
.synthese-grid .col-right>p{color:var(--fg);opacity:.85}
.synthese-grid .col-right .muted{color:var(--muted-fg)}
.synthese-grid .col-right .highlight{font-family:var(--serif);font-size:1.5rem;line-height:1.4;color:var(--primary)}
@media(min-width:768px){.synthese-grid .col-right{grid-column-start:6;grid-column-end:13}}
@media(max-width:768px){.synthese-grid{grid-template-columns:1fr}}

/* CTA */
.cta-section{padding:6rem 0;text-align:center}
.cta-section h2{max-width:42rem;margin:0 auto}
.cta-buttons{margin-top:2.5rem;display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}

/* ═══ FOTO-SEITE ═══ */
.foto-hero{position:relative;height:80vh;min-height:560px;width:100%;overflow:hidden}
.foto-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.foto-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,var(--bg),oklch(0.97 0.015 80/.4),oklch(0.97 0.015 80/.1))}
.foto-hero-content{position:relative;display:flex;height:100%;align-items:flex-end;padding-bottom:4rem}
.foto-hero-content .eyebrow{color:var(--fg);opacity:.7}
.foto-hero-content h1{margin-top:1.5rem}
.foto-hero-content .lead{margin-top:1.5rem;font-size:1.125rem;color:var(--fg);opacity:.8;max-width:36rem}

/* Foto Intro */
.foto-intro{padding:6rem 0}
.foto-intro-grid{display:grid;grid-template-columns:4fr 7fr;gap:3rem}
@media(min-width:768px){.foto-intro-grid .col-right{grid-column-start:6;grid-column-end:13}}
.foto-intro-grid .col-right{display:flex;flex-direction:column;gap:1.5rem;font-size:1.125rem;line-height:1.7}
@media(max-width:768px){.foto-intro-grid{grid-template-columns:1fr}}

/* Für wen */
.forwhom{padding:5rem 0}
.forwhom h2{margin-top:1rem;max-width:48rem}
.forwhom-list{margin-top:3.5rem;list-style:none;padding:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.forwhom-item{display:grid;gap:1.5rem;padding:2rem 0;border-bottom:1px solid var(--border)}
.forwhom-item:last-child{border-bottom:none}
@media(min-width:768px){.forwhom-item{grid-template-columns:2fr 10fr;gap:2.5rem;padding:2.5rem 0}}
.forwhom-num{font-family:var(--serif);font-size:clamp(2.5rem,5vw,3.75rem);line-height:1;color:var(--primary)}
.forwhom-content h3{font-family:var(--serif);font-size:clamp(1.25rem,3vw,1.875rem);line-height:1.3}
.forwhom-content p{margin-top:.75rem;color:var(--muted-fg);font-size:1.0625rem;line-height:1.7}

/* Angebote */
.foto-offers{padding:6rem 0}
.foto-offers h2{margin-top:1rem}
.foto-offers .lead{margin-top:1.5rem;color:var(--muted-fg);max-width:42rem}
.offers-stack{margin-top:4rem;display:flex;flex-direction:column;gap:1px;background:var(--border);border-radius:1rem;overflow:hidden;border:1px solid var(--border)}
.offer-card{display:grid;gap:1.5rem;background:var(--bg);padding:2rem 2.5rem}
@media(min-width:768px){.offer-card{grid-template-columns:3fr 9fr;padding:3rem}}
.offer-card .tagline{margin-top:1rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:var(--muted-fg)}
.offer-card h3{font-size:clamp(1.25rem,3vw,1.875rem)}
.offer-card .intro{margin-top:1rem;color:var(--fg);opacity:.85}
.offer-card .details{margin-top:1.5rem;display:flex;flex-direction:column;gap:.5rem;list-style:none;padding:0;color:var(--muted-fg)}
.offer-card .details li{display:flex;gap:.75rem}
.offer-card .details li::before{content:'';display:block;width:4px;height:4px;border-radius:50%;background:var(--primary);margin-top:.6rem;flex-shrink:0}
.offer-card .offer-img{aspect-ratio:3/4;width:100%;object-fit:cover;border-radius:.5rem}

/* Stimme */
.voice{padding:6rem 0;background:oklch(0.32 0.04 50);color:oklch(0.94 0.02 70);text-align:center}
.voice .eyebrow{color:oklch(0.78 0.08 60)}
.voice-figure{max-width:42rem;margin:2.5rem auto 0}
.voice-figure blockquote{font-family:var(--serif);font-size:clamp(1.125rem,3vw,1.5rem);line-height:1.7;color:oklch(0.94 0.02 70)}
.voice-mark{color:oklch(0.78 0.10 55)}
.voice-caption{margin-top:2.5rem;display:flex;align-items:center;justify-content:center;gap:1rem;font-size:.875rem;text-transform:uppercase;letter-spacing:.25em;color:oklch(0.78 0.04 65)}
.voice-line{height:1px;width:2.5rem;background:oklch(0.55 0.05 55)}
.voice-context{margin-top:1.5rem;font-size:.875rem;color:oklch(0.78 0.04 65)}

/* Wie ich arbeite */
.howiwork{padding:6rem 0}
.howiwork-grid{display:grid;grid-template-columns:5fr 7fr;gap:3rem}
.howiwork-grid .col-right{display:flex;flex-direction:column;gap:1.5rem;font-size:1.125rem;line-height:1.7}
.principle-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);overflow:hidden;border-top:1px solid var(--border)}
.principle-card{background:var(--bg);padding:1.5rem}
.principle-card .label{font-family:var(--serif);color:var(--primary)}
.principle-card p{margin-top:.5rem;color:var(--fg);opacity:.85}
.details-box{border:1px solid var(--border);border-radius:1rem;background:oklch(0.97 0.015 80/.4);overflow:hidden}
.details-box summary{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:var(--muted-fg);cursor:pointer;list-style:none}
.details-box summary::-webkit-details-marker{display:none}
.details-box summary:hover{color:var(--fg)}
.details-box .icon{color:var(--primary);transition:transform .2s;font-size:1.25rem}
details[open]>.details-box .icon,details.open .icon{transform:rotate(45deg)}
@media(max-width:768px){.howiwork-grid{grid-template-columns:1fr}.principle-grid{grid-template-columns:1fr}}

/* ═══ PREISE-SEITE ═══ */
.preise-hero{padding:12rem 0 4rem}
.preise-hero h1{margin-top:1.5rem;max-width:48rem}
.preise-hero .lead{margin-top:2rem;font-size:1.125rem;color:var(--muted-fg);max-width:42rem}
.approach{padding:5rem 0}
.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border-radius:1rem;overflow:hidden;border:1px solid var(--border)}
.approach-card{background:var(--bg);padding:2rem 2.5rem}
.approach-card .num{font-family:var(--serif);color:var(--primary)}
.approach-card h2{font-size:1.5rem;margin-top:1rem}
.approach-card p{margin-top:1rem;color:var(--muted-fg)}
@media(max-width:768px){.approach-grid{grid-template-columns:1fr}}
.price-list{padding:6rem 0}
.price-list h2{margin-top:1rem;max-width:36rem}
.price-rows{margin-top:3rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.price-row{display:flex;flex-direction:column;gap:.75rem;padding:1.5rem 0;border-bottom:1px solid var(--border)}
.price-row:last-child{border-bottom:none}
@media(min-width:768px){.price-row{flex-direction:row;align-items:baseline;justify-content:space-between;gap:2rem}}
.price-row h3{font-family:var(--serif);font-size:clamp(1.25rem,3vw,1.875rem)}
.price-row .dur{font-size:.875rem;color:var(--muted-fg)}
.price-row .note{font-size:.75rem;font-style:italic;color:var(--muted-fg)}
.price-row .amount{font-family:var(--serif);font-size:clamp(1.5rem,3vw,2rem);color:var(--primary)}
.price-row .link{font-size:.875rem;color:var(--primary);text-underline-offset:4px}
.price-row .link:hover{text-decoration:underline}
.notice{padding:4rem 0;text-align:center}
.notice p.quote{font-family:var(--serif);font-size:clamp(1.25rem,3vw,1.875rem);line-height:1.7;color:var(--fg);opacity:.85;max-width:42rem;margin:1rem auto 0}

/* ═══ COOKIE-BAR ═══ */
.cookie-bar{position:fixed;inset-inline:0;bottom:0;z-index:50;padding:0 1rem 1rem}
@media(min-width:768px){.cookie-bar{padding-bottom:1.5rem}}
.cookie-bar-box{max-width:42rem;margin:0 auto;border:1px solid var(--border);background:oklch(0.97 0.015 80/.95);padding:1.25rem;border-radius:.75rem;box-shadow:0 10px 30px -10px oklch(0.4 0.05 35/.2);backdrop-filter:blur(12px)}
.cookie-bar-box .eyebrow{margin-bottom:.5rem}
.cookie-bar-box>p{font-size:.875rem;line-height:1.7;color:var(--fg);opacity:.85}
.cookie-details{margin-top:1rem;border:1px solid var(--border);border-radius:.5rem;background:oklch(0.93 0.022 75/.3);padding:1rem;font-size:.875rem}
.cookie-details p{color:var(--fg);opacity:.85}
.cookie-details .muted{color:var(--muted-fg)}
.cookie-details .label{font-weight:500;color:var(--fg)}
.cookie-actions{margin-top:1.25rem;display:flex;flex-direction:column-reverse;gap:.5rem}
@media(min-width:640px){.cookie-actions{flex-direction:row;align-items:center;justify-content:space-between}}
.cookie-manage{font-size:.875rem;color:var(--muted-fg);background:none;border:none;text-underline-offset:4px;padding:0}
.cookie-manage:hover{color:var(--fg);text-decoration:underline}
.cookie-accept{display:inline-flex;align-items:center;justify-content:center;border-radius:.5rem;background:var(--primary);padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;color:var(--primary-fg);border:none;transition:opacity .2s}
.cookie-accept:hover{opacity:.9}
