/* ============================================================
   cross-rubikon – Production Stylesheet
   Coaching für Frauen in der Lebensmitte | Jutta Presser
   ============================================================ */

/* --- CUSTOM PROPERTIES --- */
:root {
  --sage-50:#F0F1EC;--sage-100:#E5EAE0;--sage-200:#D8DFD0;--sage-300:#C8D1BC;
  --sage-400:#B2BDA3;--sage-500:#8A9578;--sage-600:#6E7D5E;--sage-700:#5A6A4C;
  --sage-800:#445236;--sage-900:#2F3B25;
  --cream-50:#F5EDE0;--cream-100:#EFE5D4;--cream-200:#E8DCC6;--cream-300:#D6C4AE;
  --cream-400:#C9B49A;--cream-500:#B8A085;
  --sand-50:#F2EBE1;--sand-100:#EBE2D5;--sand-200:#E0D4C4;--sand-300:#D1C1AB;
  --sand-400:#B8A48A;--sand-500:#8F7D68;--sand-600:#7A654F;--sand-700:#6B5744;
  --sand-800:#4A3928;--sand-900:#3D2E22;
  --white:#fff;--section-alt:#FAF4E8;
  --radius-sm:0.5rem;--radius-md:1rem;--radius-lg:1.5rem;--radius-xl:2rem;
  --shadow-sm:0 1px 3px rgba(74,57,40,.06);
  --shadow-md:0 4px 16px -4px rgba(74,57,40,.08);
  --shadow-lg:0 4px 24px -4px rgba(74,57,40,.12);
  --shadow-xl:0 20px 50px -12px rgba(74,57,40,.15);
  --font-display:'DM Serif Display',Georgia,serif;
  --font-body:'Outfit',system-ui,-apple-system,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
}

/* --- RESET & BASE --- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:var(--font-body);background:var(--cream-50);color:var(--sand-800);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;line-height:1.6}
img,video,svg{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{cursor:pointer;border:none;background:none;font:inherit}
ul,ol{list-style:none}
::selection{background:var(--sage-200);color:var(--sage-900)}

/* --- ACCESSIBILITY --- */
.skip-link{position:absolute;top:-100%;left:1rem;z-index:9999;padding:.75rem 1.5rem;background:var(--sage-600);color:var(--white);border-radius:0 0 .5rem .5rem;font-size:.875rem;font-weight:500;transition:top .2s}
.skip-link:focus{top:0}
*:focus-visible{outline:2px solid var(--sage-500);outline-offset:2px;border-radius:4px}
@supports(padding:env(safe-area-inset-bottom)){body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}}

/* --- REDUCED MOTION --- */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1!important;transform:none!important}
  .thought-card{opacity:1!important;animation:none!important}
  .blob{animation:none!important}
  .cursor-blink{animation:none!important}
}

/* --- TYPOGRAPHY --- */
.font-display{font-family:var(--font-display)}
.text-xs{font-size:.75rem;line-height:1.5}
.text-sm{font-size:.875rem;line-height:1.5}
.text-base{font-size:1rem;line-height:1.6}
.text-lg{font-size:1.125rem;line-height:1.6}
.text-xl{font-size:1.25rem;line-height:1.4}
.text-2xl{font-size:1.5rem;line-height:1.35}
.text-3xl{font-size:1.875rem;line-height:1.25}
.text-4xl{font-size:2.25rem;line-height:1.2}

/* --- LAYOUT --- */
.container{width:100%;max-width:80rem;margin:0 auto;padding:0 1.5rem}
@media(min-width:1024px){.container{padding:0 2.5rem}}
.container-narrow{width:100%;max-width:72rem;margin:0 auto;padding:0 1.5rem}
@media(min-width:1024px){.container-narrow{padding:0 2.5rem}}
.section{padding:5rem 0}
@media(min-width:1024px){.section{padding:8rem 0}}
.section-alt{background:var(--section-alt)}

/* --- GRID --- */
.grid{display:grid;gap:2rem}
@media(min-width:640px){.grid-2{grid-template-columns:repeat(2,1fr)}}
@media(min-width:768px){.grid-2-md{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.grid-2-lg{grid-template-columns:repeat(2,1fr)}}
@media(min-width:768px){.grid-3-md{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.grid-5-lg{grid-template-columns:repeat(5,1fr)}}
@media(min-width:1024px){.grid-12{grid-template-columns:repeat(12,1fr)}}
@media(min-width:1024px){
  .col-span-2{grid-column:span 2}
  .col-span-3{grid-column:span 3}
  .col-span-4{grid-column:span 4}
  .col-span-5{grid-column:span 5}
  .col-span-7{grid-column:span 7}
  .col-span-8{grid-column:span 8}
}
/* Anfahrt: 5-column grid */
@media(min-width:1024px){.grid-5-anfahrt{grid-template-columns:2fr 3fr}}
/* Coaching kann: 5-column grid */
@media(min-width:1024px){.grid-coaching{grid-template-columns:3fr 2fr}}

/* --- HEADER --- */
.site-header{position:fixed;top:0;left:0;right:0;background:rgba(245,237,224,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:50;border-bottom:1px solid rgba(209,193,171,.5);box-shadow:0 1px 8px -2px rgba(74,57,40,.08);transition:box-shadow .3s,background .3s}
.site-header.scrolled{box-shadow:0 2px 24px rgba(74,57,40,.1)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo img{height:2.25rem;width:auto;opacity:.9;transition:opacity .3s}
.logo:hover img,.logo:focus img{opacity:1}
@media(min-width:1024px){.logo img{height:2.75rem}}

/* --- NAV --- */
.nav{display:none;align-items:center;gap:2.5rem}
@media(min-width:1024px){.nav{display:flex}}
.nav-link{position:relative;font-size:.8125rem;font-weight:500;color:var(--sand-600);letter-spacing:.05em;transition:color .3s}
.nav-link::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:1.5px;background:var(--sage-500);transition:width .3s var(--ease)}
.nav-link:hover{color:var(--sage-700)}
.nav-link:hover::after{width:100%}
.header-actions{display:flex;align-items:center;gap:1rem;z-index:20}
.menu-toggle{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:var(--sand-600);padding:.5rem}
.menu-toggle:hover{color:var(--sage-700)}
@media(min-width:1024px){.menu-toggle{display:none}}

/* --- MOBILE MENU --- */
.mobile-menu{position:fixed;inset:0;background:rgba(245,237,224,.98);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;transform:translateX(100%);transition:transform .4s var(--ease)}
.mobile-menu.open{transform:translateX(0)}
.mobile-menu-close{position:absolute;top:1.5rem;right:1.5rem;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;color:var(--sand-600)}
.mobile-menu a{font-family:var(--font-display);font-size:1.5rem;color:var(--sand-900);transition:color .3s}
.mobile-menu a:hover{color:var(--sage-600)}

/* --- BUTTONS --- */
.btn{display:inline-flex;align-items:center;justify-content:center;font-weight:500;border-radius:9999px;transition:all .3s;white-space:nowrap}
.btn:active{transform:scale(.97)}
.btn-primary{background:var(--sage-600);color:var(--white);box-shadow:0 4px 16px -4px rgba(110,125,94,.2)}
.btn-primary:hover{background:var(--sage-700)}
.btn-md{padding:.625rem 1.5rem;font-size:.875rem}
.btn-lg{padding:1rem 2rem;font-size:1rem}
.btn-xl{padding:1rem 2.5rem;font-size:1rem}
.btn-outline{border:1px solid var(--sand-300);color:var(--sand-700);font-size:.875rem;font-weight:500}
.btn-outline:hover{background:var(--sage-50);border-color:var(--sage-200)}
.btn-cta-hidden{display:none}
@media(min-width:768px){.btn-cta-hidden{display:inline-flex}}

/* --- CARDS --- */
.card{background:var(--white);border:1px solid rgba(209,193,171,.5);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:box-shadow .3s,border-color .3s}
.card:hover{box-shadow:var(--shadow-md);border-color:rgba(200,209,188,.6)}
.card-padding{padding:2rem}
@media(min-width:1024px){.card-padding-lg{padding:2.5rem 3rem}}

/* --- ICON CIRCLES --- */
.icon-circle,.icon-circle-sm,.icon-circle-lg{border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.icon-circle{width:2.75rem;height:2.75rem}
.icon-circle-sm{width:2rem;height:2rem}
.icon-circle-lg{width:3.5rem;height:3.5rem}
.icon-circle-sage{background:var(--sage-50);border:1px solid var(--sage-100)}
.icon-circle-cream{background:var(--cream-200)}

/* --- REVEAL ANIMATIONS --- */
.reveal{opacity:0;transform:translateY(2rem);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:.12s}
.reveal-delay-2{transition-delay:.24s}
.reveal-delay-3{transition-delay:.36s}
.reveal-delay-4{transition-delay:.48s}

/* --- BLOB DECO (deactivated for calm aesthetic) --- */
.circle-deco{display:none}
.blob{display:none}

/* --- HERO --- */
.hero{position:relative;min-height:auto;display:flex;align-items:center;padding-top:8rem;padding-bottom:5rem;overflow:hidden;background:var(--cream-50)}
@media(min-width:1024px){.hero{padding-top:10rem;padding-bottom:8rem}}
.hero-grid{align-items:center}
.hero-subtitle{font-size:.78rem;font-weight:500;color:var(--sage-600);letter-spacing:.18em;text-transform:uppercase;margin-bottom:1.5rem}
.hero h1{font-family:var(--font-display);font-size:clamp(2.6rem,5vw,4.5rem);color:var(--sand-900);line-height:1.12;margin-bottom:1.8rem;letter-spacing:-.015em;font-weight:400}
.hero h1 em{color:var(--sage-600);font-style:italic}
.hero-desc{font-size:1.05rem;color:var(--sand-500);margin-bottom:2.5rem;line-height:1.7;max-width:32rem;font-weight:300}
@media(min-width:1024px){.hero-desc{font-size:1.125rem}}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.8rem}
.hero-phone{font-size:.9rem;color:var(--sand-500);line-height:1.7;margin-top:.5rem}
.hero-phone a{color:var(--sage-600);font-weight:500;border-bottom:1px solid transparent;transition:border-color .3s}
.hero-phone a:hover{border-bottom-color:var(--sage-500)}
.hero-phone span{font-size:.8rem;letter-spacing:.05em;color:var(--sand-400)}
.hero-logo-wrap{display:none;align-items:center;justify-content:center}
@media(min-width:1024px){.hero-logo-wrap{display:flex}}
.hero-logo-frame{width:100%;max-width:380px;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;padding:2rem;position:relative}
.hero-logo-frame::before{content:'';position:absolute;inset:0;background:radial-gradient(circle,rgba(255,255,255,.6) 0%,rgba(255,255,255,0) 70%);border-radius:50%;z-index:0}
.hero-logo-img{position:relative;z-index:1;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;opacity:.95;filter:drop-shadow(0 8px 24px rgba(74,57,40,.08))}

/* --- HERO SCROLL INDICATOR (unused, kept for compat) --- */
.scroll-indicator{display:none}

/* --- BLINK ANIMATION (für Oscar Wilde Quote Cursor) --- */
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}
.cursor-blink{animation:blink 1s step-end infinite}

/* --- INTRO SECTION --- */
.intro-divider{position:absolute;top:0;left:0;width:100%;height:1px;background:linear-gradient(to right,transparent,rgba(200,209,188,.4),transparent)}
.question-card{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem;border-radius:var(--radius-md);background:var(--white);border:1px solid rgba(209,193,171,.6);box-shadow:var(--shadow-sm);transition:border-color .3s}
.question-card:hover{border-color:var(--sage-400)}
.brand-box{padding:2rem;border-radius:var(--radius-xl);background:var(--white);border:1px solid rgba(200,209,188,.5);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}
.brand-box-bg{position:absolute;right:-10px;top:50%;transform:translateY(-50%);width:55%;opacity:.12;pointer-events:none}

/* --- COACHING CAN/CANNOT --- */
.support-box{padding:2rem 2.5rem;border-radius:var(--radius-xl);background:var(--white);border:1px solid rgba(200,209,188,.4);box-shadow:var(--shadow-md);height:100%}
.support-box-alt{background:rgba(255,255,255,.8);border-color:rgba(209,193,171,.4);box-shadow:0 2px 16px -4px rgba(74,57,40,.06)}
.support-grid{display:grid;gap:1.5rem}
@media(min-width:640px){.support-grid-2{grid-template-columns:repeat(2,1fr);gap:2rem 2rem}}
.support-item{display:flex;align-items:flex-start;gap:.75rem}
.support-item-icon{width:1.75rem;height:1.75rem;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;transition:background .3s}
.support-item:hover .support-item-icon{background:var(--sage-200)}

/* --- HALTUNG (Dropdown) --- */
.haltung-wrap{max-width:48rem;margin:0 auto}
.haltung-toggle{display:inline-flex;align-items:center;gap:.8rem;padding:.85rem 2rem;background:transparent;border:1.5px solid var(--sage-300);color:var(--sage-700);font-family:var(--font-body);font-size:.85rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;border-radius:9999px;cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.haltung-toggle:hover{background:var(--sage-600);color:var(--white);border-color:var(--sage-600)}
.haltung-toggle:hover .haltung-arrow{stroke:var(--white)}
.haltung-arrow{transition:transform .4s var(--ease);stroke:var(--sage-700)}
.haltung-toggle.open .haltung-arrow{transform:rotate(180deg)}
.haltung-panel{max-height:0;overflow:hidden;opacity:0;transition:max-height .6s var(--ease),opacity .4s ease,margin-top .4s ease;margin-top:0}
.haltung-panel.open{max-height:1200px;opacity:1;margin-top:3rem}
.haltung-grid-simple{display:grid;gap:2.5rem;grid-template-columns:1fr;text-align:left}
@media(min-width:768px){.haltung-grid-simple{grid-template-columns:repeat(2,1fr);gap:3rem}}
.haltung-col p{color:var(--sand-600);line-height:1.8;font-size:1rem;margin-bottom:1rem}
.haltung-col p:last-child{margin-bottom:0}
.haltung-conviction{margin-top:3rem;padding:2rem 2.5rem;background:linear-gradient(135deg,var(--sage-600),var(--sage-700));color:var(--white);border-radius:var(--radius-xl);text-align:center;box-shadow:0 12px 32px -8px rgba(110,125,94,.15)}
.haltung-conviction p{font-family:var(--font-display);font-size:1.25rem;line-height:1.5;font-style:italic;margin:0}
@media(min-width:1024px){.haltung-conviction p{font-size:1.4rem}}

/* --- ÜBER MICH --- */
.about-image{aspect-ratio:4/5;border-radius:var(--radius-xl);overflow:hidden;border:1px solid rgba(229,234,224,.4);box-shadow:var(--shadow-lg)}
.about-image img{width:100%;height:100%;object-fit:cover;object-position:top}
.about-meta{margin-top:2.5rem;display:flex;align-items:center;gap:2rem;padding-top:2rem;border-top:1px solid rgba(229,234,224,.4)}
.about-meta-divider{width:1px;height:2.5rem;background:var(--sage-100)}

/* --- ANGEBOT --- */
.offer-card{background:var(--white);padding:2.5rem;border-radius:var(--radius-xl);border:1px solid rgba(224,212,196,.5);box-shadow:var(--shadow-sm);transition:all .3s}
.offer-card:hover{box-shadow:var(--shadow-md)}
@media(min-width:1024px){.offer-card{padding:3rem}}
.timeline{position:relative;display:flex;flex-direction:column;gap:2rem}
.timeline::before{content:'';position:absolute;left:18px;top:1.25rem;bottom:1.25rem;width:2px;background:linear-gradient(to bottom,var(--sage-200),var(--sage-100),transparent)}
.timeline-step{position:relative;display:flex;align-items:flex-start;gap:1.25rem}
.timeline-num{width:2.25rem;height:2.25rem;border-radius:50%;background:var(--sage-50);border:3px solid var(--cream-50);color:var(--sage-600);font-weight:600;font-size:.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:1;transition:background .3s}
.timeline-step:hover .timeline-num{background:var(--sage-100)}
.praxis-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
@media(min-width:1024px){.praxis-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem}}
.praxis-img{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow-sm);transition:box-shadow .3s}
.praxis-img:hover{box-shadow:var(--shadow-md)}
.praxis-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.praxis-img:hover img{transform:scale(1.05)}
.praxis-img-desktop{display:none}
@media(min-width:1024px){.praxis-img-desktop{display:block}}

/* --- KOSTEN / PRICING --- */
.pricing-card{padding:2rem 2.5rem;border-radius:var(--radius-xl);display:flex;flex-direction:column;transition:all .3s}
.pricing-card-side{background:rgba(255,255,255,.7);border:1px solid rgba(209,193,171,.4);box-shadow:var(--shadow-sm)}
.pricing-card-side:hover{border-color:rgba(200,209,188,.5)}
.pricing-popular{background:var(--white);box-shadow:0 0 0 2px var(--sage-500),0 20px 50px -12px rgba(138,149,120,.15);position:relative}
.pricing-popular:hover{box-shadow:0 0 0 2px var(--sage-500),0 24px 56px -12px rgba(138,149,120,.2)}
.pricing-badge{position:absolute;top:-.875rem;left:50%;transform:translateX(-50%);display:inline-flex;align-items:center;gap:.375rem;padding:.375rem 1rem;border-radius:9999px;background:var(--sage-600);color:var(--white);font-size:.75rem;font-weight:600;box-shadow:0 4px 16px -4px rgba(110,125,94,.2);white-space:nowrap}
.pricing-amount{font-family:var(--font-display);font-size:2.25rem;color:var(--sand-900)}
.pricing-currency{font-size:1.125rem;color:var(--sand-400)}
.pricing-save{font-size:.75rem;font-weight:500;color:var(--sage-600)}
.pricing-feature{display:flex;align-items:flex-start;gap:.625rem;font-size:.875rem;color:var(--sand-500)}
.pricing-free{display:inline-flex;align-items:center;gap:.75rem;padding:.75rem 1.5rem;border-radius:9999px;background:rgba(229,234,224,.8);border:1px solid var(--sage-200)}

/* --- COACHING PROCESS --- */
.process-section{background:linear-gradient(135deg,var(--sage-700),#4E5E42,var(--sage-800));color:var(--white);position:relative;overflow:hidden}
.process-glass{padding:1.5rem 2rem;border-radius:var(--radius-xl);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.coaching-tag{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:9999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1);font-size:.875rem;color:var(--sage-100);opacity:0;transform:translateY(.5rem);transition:all .5s var(--ease)}
.process-scroll{display:flex;gap:2rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:1.5rem;margin:0 -1.5rem;padding-left:1.5rem;padding-right:1.5rem}
.process-scroll>*{scroll-snap-align:start;min-width:200px;flex-shrink:0}
@media(min-width:1024px){.process-scroll{display:grid;grid-template-columns:repeat(5,1fr);overflow:visible;margin:0;padding-left:0;padding-right:0}.process-scroll>*{min-width:0}}
.process-step{display:flex;flex-direction:column;align-items:center;text-align:center}
.process-num{width:5rem;height:5rem;border-radius:50%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;position:relative;font-size:1.125rem;font-weight:600}

/* --- ANFAHRT --- */
.transport-badge{display:inline-flex;align-items:center;justify-content:center;height:18px;border-radius:3px;color:var(--white);font-size:10px;font-weight:700;padding:0 .375rem}
.map-frame{border-radius:var(--radius-xl);overflow:hidden;border:1px solid rgba(224,212,196,.5);box-shadow:var(--shadow-sm);background:var(--white);min-height:400px}
.map-frame iframe{width:100%;height:100%;min-height:400px;border:0;display:block}

/* --- CTA SECTION --- */
.cta-section{background:linear-gradient(135deg,var(--sage-50),var(--cream-100),var(--sage-50));position:relative;overflow:hidden}
.cta-image{width:100%;max-width:360px;margin:0 auto;border-radius:var(--radius-xl);box-shadow:0 12px 32px -8px rgba(47,59,37,.08);overflow:hidden}
@media(min-width:1024px){.cta-image{margin:0}}
.cta-image img{width:100%;height:auto}
.quote-typed{font-family:var(--font-display);font-size:1.125rem;color:var(--sand-800);font-style:italic;line-height:1.4}

/* --- FOOTER --- */
.site-footer{background:#EFE5D4;border-top:1px solid rgba(209,193,171,.5);box-shadow:0 -1px 8px -2px rgba(74,57,40,.08);padding:3rem 0}
.footer-inner{display:flex;flex-direction:column;align-items:center;gap:2rem;margin-bottom:2.5rem;text-align:center}
@media(min-width:768px){.footer-inner{flex-direction:row;align-items:flex-start;justify-content:space-between;text-align:left}}
.footer-links{display:flex;flex-direction:column;gap:1rem}
@media(min-width:768px){.footer-links{flex-direction:row;gap:2.5rem}}
.footer-link{font-size:.875rem;color:var(--sand-500);display:flex;align-items:center;gap:.5rem;transition:color .3s}
.footer-link:hover{color:var(--sage-700)}
.footer-bottom{border-top:1px solid rgba(209,193,171,.5);padding-top:1.5rem;display:flex;flex-direction:column;align-items:center;gap:1rem}
@media(min-width:768px){.footer-bottom{flex-direction:row;justify-content:space-between}}
.footer-legal{display:flex;gap:1.5rem}
.footer-legal a{font-size:.75rem;color:var(--sand-400);transition:color .3s}
.footer-legal a:hover{color:var(--sage-700)}

/* --- UTILITIES --- */
.relative{position:relative}
.overflow-hidden{overflow:hidden}
.z-10{z-index:10}
.text-center{text-align:center}
.mx-auto{margin-left:auto;margin-right:auto}
.max-w-2xl{max-width:42rem}
.max-w-3xl{max-width:48rem}
.max-w-5xl{max-width:64rem}
.max-w-md{max-width:28rem}
.mt-auto{margin-top:auto}
.space-y-3>*+*{margin-top:.75rem}
.space-y-4>*+*{margin-top:1rem}
.space-y-5>*+*{margin-top:1.25rem}
.space-y-6>*+*{margin-top:1.5rem}
.space-y-8>*+*{margin-top:2rem}
.gap-sm{gap:1rem}
.gap-md{gap:1.5rem}
.gap-lg{gap:2rem}
.gap-xl{gap:2.5rem}
@media(min-width:1024px){.gap-xl-lg{gap:2.5rem}}
@media(min-width:1024px){.lg\:sticky{position:sticky;top:8rem}}
@media(min-width:1024px){.lg\:text-left{text-align:left}}
.order-1{order:1}.order-2{order:2}
@media(min-width:1024px){.lg\:order-1{order:1}.lg\:order-2{order:2}}
.hidden-mobile{display:none}
@media(min-width:768px){.hidden-mobile{display:block}}
.hidden-desktop{display:block}
@media(min-width:1024px){.hidden-desktop{display:none}}

/* --- STRUCTURED DATA HIDDEN --- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}

/* ============================================================
   ZUSÄTZLICHE STILE — Kundenversion-Texte
   ============================================================ */

/* --- SECTION EYEBROW (kleine Headline darüber) --- */
.section-eyebrow{font-size:.75rem;font-weight:500;color:var(--sage-600);letter-spacing:.18em;text-transform:uppercase;margin-bottom:1rem}

/* --- STATEMENT BLOCK (italic Quote zwischen Hero und Recognition) --- */
.statement-block{background:var(--cream-50);padding:2.5rem 1.5rem;border-top:1px solid rgba(122,158,126,0.18);border-bottom:1px solid rgba(122,158,126,0.18)}
.statement-inner{display:flex;align-items:center;justify-content:center;gap:2.5rem;max-width:60rem;margin:0 auto}
.statement-line{flex:1;height:1px;background:var(--sage-500);opacity:.4}
.statement-text{font-family:var(--font-display);font-size:clamp(1.4rem,2.5vw,2.2rem);font-style:italic;font-weight:300;color:var(--sage-700);line-height:1.4;text-align:center;flex-shrink:0}
@media(max-width:768px){.statement-inner{flex-direction:column;gap:1.2rem}.statement-line{width:60px;flex:none}}

/* --- ERKENNEN SIE SICH --- */
.signal-list{margin-top:1.5rem;display:flex;flex-direction:column;gap:.4rem}
.signal{color:var(--sand-600);font-size:.97rem;padding:.7rem 0;border-bottom:1px solid rgba(122,158,126,0.15);line-height:1.5}
.signal::before{content:'·';color:var(--sage-500);margin-right:.6rem;font-weight:700}
.recognition-questions{display:flex;flex-direction:column;gap:0;margin-bottom:2rem}
.recognition-q{font-family:var(--font-display);font-size:clamp(1.15rem,1.8vw,1.5rem);font-style:italic;font-weight:300;color:var(--sand-900);line-height:1.4;padding:.85rem 0;border-bottom:1px solid rgba(122,158,126,0.15)}
.recognition-cta{margin-top:2rem;color:var(--sand-500);font-size:.97rem;line-height:1.7}
.recognition-cta p{margin:0}

/* --- INTRO STRIP (cross-rubikon Erklärung, grüner Streifen) --- */
.intro-strip{background:linear-gradient(135deg,var(--sage-600),var(--sage-700));color:#fff;padding:5rem 2rem;text-align:center}
.intro-strip-inner{max-width:50rem;margin:0 auto}
.intro-strip-quote{font-family:var(--font-display);font-size:clamp(1.5rem,2.6vw,2.2rem);font-style:italic;font-weight:300;color:#fff;margin-bottom:1.5rem;line-height:1.4}
.intro-strip-text{color:rgba(255,255,255,.92);font-size:1.05rem;line-height:1.85;font-weight:300;margin-bottom:1.8rem}
.intro-strip-name{font-size:.78rem;letter-spacing:.22em;text-transform:lowercase;color:rgba(255,255,255,.7);font-weight:400}

/* --- SIGNATURE (Über mich) --- */
.signature{font-family:var(--font-display);font-size:2rem;font-style:italic;color:var(--sage-600);margin:2rem 0 .4rem;line-height:1}

/* --- THEMEN GRID --- */
.topics-grid{display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:3rem}
@media(min-width:768px){.topics-grid{grid-template-columns:repeat(2,1fr);gap:2rem}}
.topic-card{background:var(--white);padding:2.2rem 2rem;border-radius:var(--radius-xl);border:1px solid rgba(209,193,171,.4);box-shadow:var(--shadow-sm);transition:box-shadow .3s,border-color .3s,transform .3s;position:relative;overflow:hidden}
.topic-card:hover{box-shadow:var(--shadow-md);border-color:var(--sage-300);transform:translateY(-2px)}
.topic-card::before{content:'';position:absolute;top:0;left:0;width:3px;height:0;background:var(--sage-500);transition:height .4s ease}
.topic-card:hover::before{height:100%}
.topic-title{font-size:1.4rem;font-weight:400;color:var(--sand-900);margin-bottom:.8rem;letter-spacing:-.01em}
.topic-body{color:var(--sand-500);font-size:.95rem;line-height:1.7}
.topics-open{margin-top:2rem;background:var(--sage-700);color:#fff;padding:3rem;border-radius:var(--radius-xl);text-align:center}
.topics-open-title{font-family:var(--font-display);font-size:1.5rem;font-weight:400;font-style:italic;color:#fff;margin-bottom:1rem}
.topics-open-text{color:rgba(255,255,255,.78);font-size:.97rem;line-height:1.75;max-width:42rem;margin:0 auto}
.topics-open .btn-outline{border-color:rgba(255,255,255,.4);color:#fff;background:transparent}
.topics-open .btn-outline:hover{background:rgba(255,255,255,.1);border-color:#fff}

/* --- ABLAUF / STEPS LIST (auf dunklem Hintergrund) --- */
.steps-list{max-width:42rem;margin:0 auto;display:flex;flex-direction:column}
.step-row{display:grid;grid-template-columns:80px 1fr;gap:2rem;align-items:start;padding:2rem 0;border-bottom:1px solid rgba(245,240,232,.12)}
.step-row:last-child{border-bottom:none}
.step-num-big{font-family:var(--font-display);font-size:2.8rem;font-weight:300;color:var(--sage-300);line-height:1}
.step-content h3{font-family:var(--font-display);font-size:1.4rem;font-weight:400;color:#fff;margin-bottom:.4rem;letter-spacing:-.01em}
.step-content p{color:rgba(245,240,232,.7);font-size:.97rem;line-height:1.7}

/* --- TESTIMONIAL --- */
.testimonial-section{background:var(--cream-50);text-align:center}
.testimonial-quote{font-family:var(--font-display);font-size:clamp(1.4rem,2.5vw,2rem);font-style:italic;font-weight:300;color:var(--sand-900);max-width:48rem;margin:0 auto 2rem;line-height:1.5}
.testimonial-cite{font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sand-500);font-style:normal}

/* --- CTA CONTACT ROW --- */
.cta-contact-row{display:flex;align-items:center;justify-content:flex-start;gap:.8rem;flex-wrap:wrap;margin-top:2rem}
@media(max-width:1023px){.cta-contact-row{justify-content:center}}
.cta-contact-link{color:var(--sand-600);font-size:.9rem;text-decoration:none;transition:color .3s}
.cta-contact-link:hover{color:var(--sage-700)}
.cta-contact-sep{color:var(--sand-300)}

/* --- PRICING BADGE (Empfehlung) --- */
.pricing-popular .pricing-badge{display:inline-block;background:var(--sage-600);color:#fff;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;padding:.3rem .9rem;border-radius:9999px;font-weight:600;position:absolute;top:-.85rem;left:50%;transform:translateX(-50%)}

/* --- ÜBER MICH ACTIONS (Button + Haltung-Toggle nebeneinander) --- */
.ueber-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:0}

/* --- LOCATION HINT (Wilmersdorf + Online Streifen) --- */
.location-hint{background:var(--white);padding:2rem 1.5rem;border-top:1px solid rgba(209,193,171,.4);border-bottom:1px solid rgba(209,193,171,.4)}
.location-hint-inner{display:flex;align-items:center;justify-content:center;gap:1.5rem;flex-wrap:wrap;font-size:.95rem;color:var(--sand-600)}
.location-hint-item{display:inline-flex;align-items:center;gap:.7rem;line-height:1.4}
.location-hint-item strong{color:var(--sand-900);font-weight:600}
.location-icon{color:var(--sage-500);flex-shrink:0}
.location-hint-sep{color:var(--sand-300);font-weight:300}
@media(max-width:640px){.location-hint-inner{flex-direction:column;gap:1rem}.location-hint-sep{display:none}}
