/* ---------- SUPPORTING SECTIONS (verbatim) ---------- */
.story-section{position:relative;background:var(--bg-void);padding:clamp(72px,11vh,132px) clamp(20px,5vw,72px);overflow:hidden;}
.story-inner{max-width:1280px;margin-inline:auto;position:relative;}
.story-eyebrow{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.09em;text-transform:uppercase;color:var(--accent-cyan);margin-bottom:1em;display:block;}
.story-heading{font-size:clamp(1.65rem, 1rem + 2vw, 2.5rem);font-weight:700;line-height:1.16;letter-spacing:-.01em;text-wrap:balance;max-width:18ch;}
.story-text{margin-top:1.1em;color:var(--ink-muted);font-size:clamp(1rem,.92rem + .3vw,1.08rem);line-height:1.7;max-width:46ch;}
.story-tags{display:flex;flex-wrap:wrap;gap:.6em;margin-top:1.6em;}
.story-tag{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;color:var(--ink-muted);border:1px solid var(--glass-border);background:var(--glass-fill);padding:.45em .85em;border-radius:100px;}
.story-offset{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,0.92fr);align-items:center;gap:clamp(40px,6vw,80px);}
.offset-frame-wrap{position:relative;}
.offset-frame-wrap::before{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid var(--glass-border);border-radius:26px;z-index:-1;}
.offset-frame{border-radius:26px;overflow:hidden;transform:rotate(-1.4deg);box-shadow:0 34px 70px -28px var(--shadow-deep);aspect-ratio:4/5;}
.offset-frame img{width:100%;height:100%;object-fit:cover;object-position:64% 28%;display:block;}
.story-scrim-wrap{position:relative;}
.story-scrim{position:relative;border-radius:28px;overflow:hidden;aspect-ratio:16/8;box-shadow:0 34px 70px -28px var(--shadow-deep);}
.story-scrim img{width:100%;height:100%;object-fit:cover;object-position:56% 20%;display:block;}
.story-scrim::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg, rgba(9,12,27,.94) 0%, rgba(9,12,27,.62) 34%, transparent 62%);}
.scrim-panel{position:absolute;top:50%;left:clamp(20px,4vw,48px);transform:translateY(-50%);max-width:26ch;z-index:2;}
.scrim-panel .story-heading{color:var(--ink);}
.scrim-panel .story-text{color:var(--ink-muted);}
.story-cinematic{border-radius:24px;overflow:hidden;aspect-ratio:16/7;box-shadow:0 30px 60px -26px var(--shadow-deep);margin-top:clamp(32px,5vh,56px);}
.story-cinematic img{width:100%;height:100%;object-fit:cover;object-position:45% 32%;display:block;}
@media (max-width:900px){
  .story-offset{grid-template-columns:1fr;}
  .offset-frame-wrap{order:-1;max-width:340px;margin-inline:auto;}
  .story-scrim{aspect-ratio:4/5;}
  .story-scrim::after{background:linear-gradient(to top, rgba(9,12,27,.95) 0%, rgba(9,12,27,.55) 38%, transparent 68%);}
  .scrim-panel{position:static;transform:none;max-width:none;margin-top:1.4rem;padding-inline:.2rem;}
  .story-cinematic{aspect-ratio:4/3;}
}

/* ==========================================================================
   NEW CONVERSION SECTIONS
   ========================================================================== */
section{position:relative;}
.section-pad{padding:clamp(64px,9vw,104px) clamp(20px,5vw,72px);}
.section-head{max-width:640px;margin-bottom:clamp(28px,4vw,44px);}
.section-head h2{font-size:clamp(1.7rem,3.2vw,2.4rem);margin-top:.4em;line-height:1.18;text-wrap:balance;}
.section-head p{color:var(--ink-muted);margin-top:.9em;font-size:1.02rem;line-height:1.6;}
.section-head.center{margin-inline:auto;text-align:center;}

/* Reveal-on-scroll: content is fully visible by default (no-JS / reduced
   motion safe). JS (main.js) adds .reveal-armed only to elements it has
   registered with an IntersectionObserver, then adds .is-visible the
   moment each one is actually observed intersecting the viewport — which
   fires correctly whether the page arrived there by gradual scrolling,
   an anchor-link jump, browser back/forward, or keyboard navigation. */
.reveal{opacity:1;transform:none;}
.reveal-armed{transition:opacity .6s ease, transform .6s ease;}
.reveal-armed:not(.is-visible){opacity:0;transform:translateY(26px);}
@media (prefers-reduced-motion:reduce){
  .reveal-armed:not(.is-visible){opacity:1 !important;transform:none !important;}
}

/* ---- Trust / instructors ---- */
.trust{background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--accent-violet) 6%, transparent) 40%, transparent);}
.instructor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,4vw,28px);}
.instructor-card{background:var(--bg-card);border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:clamp(22px,3vw,30px);}
.instructor-head{display:flex;align-items:center;gap:16px;}
.instructor-photo{
  width:88px;height:88px;border-radius:50%;flex:none;
  object-fit:cover;object-position:center 18%;
  border:1px solid var(--border-soft);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-cyan) 16%, transparent);
}
.instructor-team-note{
  margin-top:clamp(24px,3vw,32px);color:var(--ink-muted);font-size:.94rem;line-height:1.65;
  max-width:74ch;padding:1.1em 1.3em;border-radius:var(--radius-md);
  background:var(--glass-fill);border:1px solid var(--glass-border);
}
.instructor-name{font-size:1.2rem;}
.instructor-role{font-family:var(--font-mono);font-size:.76rem;color:var(--accent-cyan);letter-spacing:.03em;margin-top:.3em;}
.instructor-bio{color:var(--ink-muted);margin-top:1.1em;line-height:1.6;font-size:.96rem;}
.instructor-meta{margin-top:1.2em;display:flex;flex-direction:column;gap:.55em;}
.instructor-meta li{display:flex;gap:.6em;align-items:flex-start;font-size:.88rem;color:var(--ink-muted);}
.instructor-meta svg{flex:none;width:16px;height:16px;margin-top:.2em;color:var(--accent-green);}
.data-flag{
  display:inline-flex;align-items:center;gap:.5em;margin-top:1em;
  font-family:var(--font-mono);font-size:.7rem;letter-spacing:.03em;
  background:color-mix(in srgb, var(--accent-gold) 14%, transparent);
  border:1px dashed color-mix(in srgb, var(--accent-gold) 55%, transparent);
  color:var(--accent-gold);padding:.55em .8em;border-radius:8px;
}
@media (max-width:760px){.instructor-grid{grid-template-columns:1fr;}}

/* ---- Outcomes ---- */
.outcomes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.outcome-card{background:var(--bg-card);border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:22px 20px;}
.outcome-icon{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb, var(--accent-cyan) 14%, transparent);color:var(--accent-cyan);margin-bottom:.9em;}
.outcome-card h3{font-size:1.02rem;font-family:var(--font-body);font-weight:700;}
.outcome-card p{color:var(--ink-muted);font-size:.9rem;margin-top:.6em;line-height:1.55;}
.outcomes-note{margin-top:28px;font-size:.86rem;color:var(--ink-faint);max-width:64ch;border-top:1px solid var(--border-faint);padding-top:18px;}
@media (max-width:900px){.outcomes-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.outcomes-grid{grid-template-columns:1fr;}}

/* ---- How it works ---- */
.steps-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;}
.step-card{position:relative;padding-top:8px;}
.step-num{font-family:var(--font-display);font-size:2.1rem;font-weight:800;background:linear-gradient(100deg, var(--accent-violet-soft), var(--accent-cyan));-webkit-background-clip:text;background-clip:text;color:transparent;}
.step-card h3{font-size:1.02rem;font-family:var(--font-body);font-weight:700;margin-top:.4em;}
.step-card p{color:var(--ink-muted);font-size:.9rem;margin-top:.5em;line-height:1.55;}
@media (max-width:900px){.steps-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.steps-grid{grid-template-columns:1fr;}}

/* ---- Plans / comparison ---- */
.plans-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:36px;}
.plan-card{background:var(--bg-card);border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:clamp(24px,3vw,32px);display:flex;flex-direction:column;}
.plan-card.is-featured{border-color:color-mix(in srgb, var(--accent-gold) 45%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent-gold) 25%, transparent), var(--shadow-card);}
.plan-badge{align-self:flex-start;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:var(--accent-gold);background:color-mix(in srgb, var(--accent-gold) 14%, transparent);padding:.4em .8em;border-radius:999px;margin-bottom:.9em;}
.plan-name{font-size:1.15rem;}
.plan-price{display:flex;align-items:baseline;gap:.3em;margin-top:.5em;}
.plan-price .amount{font-family:var(--font-display);font-size:2.4rem;font-weight:800;}
.plan-price .period{color:var(--ink-faint);font-size:.9rem;}
.plan-sub{color:var(--ink-muted);font-size:.88rem;margin-top:.5em;}
.plan-list{margin-top:1.3em;display:flex;flex-direction:column;gap:.6em;}
.plan-list li{display:flex;gap:.6em;align-items:flex-start;font-size:.9rem;color:var(--ink-muted);}
.plan-list svg{flex:none;width:16px;height:16px;margin-top:.2em;color:var(--accent-green);}
.plan-card .btn{margin-top:1.5em;}
.plan-checkout-link{display:block;text-align:center;margin-top:.9em;font-size:.82rem;color:var(--ink-faint);text-decoration:underline;}
.plan-checkout-link:hover{color:var(--ink-muted);}
@media (max-width:700px){.plans-cards{grid-template-columns:1fr;}}
.compare-wrap{overflow-x:auto;border:1px solid var(--border-soft);border-radius:var(--radius-md);}
table.compare{width:100%;border-collapse:collapse;min-width:640px;font-size:.9rem;}
table.compare th,table.compare td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--border-faint);}
table.compare thead th{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);background:var(--bg-raised);}
table.compare tbody th{color:var(--ink-muted);font-weight:500;white-space:nowrap;}
table.compare tbody tr:last-child td,table.compare tbody tr:last-child th{border-bottom:none;}
table.compare td{color:var(--ink);}
.req-data{color:var(--accent-gold);font-family:var(--font-mono);font-size:.78rem;}

/* ---- Payment methods ---- */
.payment-grid{display:flex;flex-wrap:wrap;gap:.7em;}
.payment-badge{
  display:inline-flex;align-items:center;gap:.5em;
  font-size:.88rem;font-weight:600;color:var(--ink);
  background:var(--bg-card);border:1px solid var(--border-soft);border-radius:10px;
  padding:.7em 1.05em;
}
.payment-badge.is-conditional{color:var(--ink-muted);font-weight:500;}
.payment-badge.is-conditional em{font-style:normal;font-family:var(--font-mono);font-size:.7rem;color:var(--ink-faint);letter-spacing:.02em;}
.payment-note{margin-top:1em;color:var(--ink-faint);font-size:.82rem;line-height:1.6;max-width:70ch;}
.payment-zelle{
  margin-top:clamp(24px,3vw,32px);display:flex;gap:18px;align-items:flex-start;
  background:linear-gradient(160deg, var(--glass-fill-strong), var(--glass-fill));
  border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:clamp(20px,3vw,28px);
}
.payment-zelle-icon{
  flex:none;width:44px;height:44px;border-radius:12px;
  background:color-mix(in srgb, var(--accent-cyan) 16%, transparent);
  display:flex;align-items:center;justify-content:center;color:var(--accent-cyan);
}
.payment-zelle-icon svg{width:22px;height:22px;}
.payment-zelle h3{font-size:1.05rem;}
.payment-zelle p{margin-top:.5em;color:var(--ink-muted);font-size:.94rem;line-height:1.6;}
.payment-zelle a{color:var(--accent-cyan);text-decoration:underline;}

/* ---- Testimonials ---- */
.testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.testimonial-card{background:var(--bg-card);border:1px dashed var(--border-soft);border-radius:var(--radius-md);padding:22px 20px;display:flex;flex-direction:column;min-height:190px;}
.testimonial-card .req-data{margin-bottom:auto;}
.testimonial-meta{margin-top:1.2em;font-size:.82rem;color:var(--ink-faint);border-top:1px solid var(--border-faint);padding-top:.9em;}
@media (max-width:900px){.testimonial-grid{grid-template-columns:1fr;}}

/* ---- FAQ ---- */
.faq-list{max-width:820px;}
.faq-item{border-bottom:1px solid var(--border-faint);}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;background:none;border:none;color:var(--ink);text-align:left;padding:20px 4px;font-size:1.02rem;font-weight:600;}
.faq-q .plus{flex:none;width:22px;height:22px;position:relative;}
.faq-q .plus::before,.faq-q .plus::after{content:"";position:absolute;background:var(--accent-cyan);border-radius:2px;transition:transform .25s ease, opacity .25s ease;}
.faq-q .plus::before{left:0;top:50%;width:100%;height:2px;transform:translateY(-50%);}
.faq-q .plus::after{top:0;left:50%;width:2px;height:100%;transform:translateX(-50%);}
.faq-item[data-open="true"] .plus::after{transform:translateX(-50%) rotate(90deg);opacity:0;}
.faq-a{padding:0 4px 20px;color:var(--ink-muted);line-height:1.65;font-size:.95rem;max-width:66ch;}
/* Collapsed accordion state only applies once JS actually initializes it
   (.js-enabled, set in main.js). Without JS every answer stays visible —
   required so FAQ content is never hidden from no-JS users or crawlers
   that don't execute JavaScript. */
.js-enabled .faq-item:not([data-open="true"]) .faq-a{display:none;}

/* ---- CTA band ---- */
.cta-band{
  text-align:center;padding:clamp(48px,7vw,72px) clamp(20px,5vw,72px);
  background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--accent-violet) 8%, transparent));
  border-top:1px solid var(--border-faint);border-bottom:1px solid var(--border-faint);
}
.cta-band h2{font-size:clamp(1.4rem,2.6vw,2rem);}
.cta-band p{color:var(--ink-muted);margin-top:.7em;max-width:52ch;margin-inline:auto;}
.cta-band .btn{margin-top:1.6em;}

/* ---- Conversion form ---- */
.eval-form{background:var(--bg-raised);}
.form-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(28px,5vw,56px);align-items:start;}
.form-side h2{font-size:clamp(1.5rem,2.8vw,2.1rem);margin-top:.4em;}
.form-side p{color:var(--ink-muted);margin-top:.9em;line-height:1.6;max-width:44ch;}
.form-points{margin-top:1.6em;display:flex;flex-direction:column;gap:.7em;}
.form-points li{display:flex;gap:.6em;font-size:.92rem;color:var(--ink-muted);}
.form-points svg{flex:none;width:17px;height:17px;color:var(--accent-cyan);margin-top:.15em;}
.eval-card{background:var(--bg-card);border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:clamp(22px,3vw,32px);box-shadow:var(--shadow-card);}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.form-field{display:flex;flex-direction:column;gap:.4em;margin-top:14px;}
.form-grid .form-field{margin-top:0;}
.form-field label{font-size:.84rem;font-weight:600;color:var(--ink-muted);}
.form-field input,.form-field select,.form-field textarea{
  background:var(--bg-raised);border:1px solid var(--border-soft);border-radius:10px;
  padding:.85em 1em;color:var(--ink);font-family:var(--font-body);font-size:.95rem;width:100%;
}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--accent-cyan);}
.form-help{margin-top:-.15em;font-size:.78rem;color:var(--ink-faint);}
.form-consent{display:flex;gap:.7em;align-items:flex-start;margin-top:18px;font-size:.84rem;color:var(--ink-muted);}
.form-consent input{margin-top:.25em;width:16px;height:16px;flex:none;accent-color:var(--accent-cyan);}
.form-actions{margin-top:20px;}
.form-status{margin-top:14px;font-size:.86rem;color:var(--accent-cyan);}
.form-status[hidden]{display:none;}
.form-status.is-error{color:#ff8a8a;}
/* Honeypot — hidden from sighted users and keyboard tab order, but still
   present in the DOM (not display:none) so unsophisticated bots fill it. */
.hp-field{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}
@media (max-width:900px){.form-wrap{grid-template-columns:1fr;}}
@media (max-width:520px){.form-grid{grid-template-columns:1fr;}}

/* ---- Footer ---- */
footer.site-footer{padding:48px clamp(20px,5vw,72px) clamp(96px,14vw,56px);border-top:1px solid var(--border-faint);}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:32px;max-width:1280px;margin-inline:auto;}
@media (max-width:980px){.footer-grid{grid-template-columns:1.3fr 1fr 1fr;}.footer-grid .footer-col:last-child{grid-column:2 / span 2;}}
.footer-brand{display:flex;align-items:center;gap:10px;}
.footer-desc{color:var(--ink-faint);font-size:.88rem;margin-top:1em;max-width:38ch;line-height:1.6;}
.footer-col h3{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);}
.footer-col ul{margin-top:1em;display:flex;flex-direction:column;gap:.65em;}
.footer-col a{color:var(--ink-muted);font-size:.9rem;}
.footer-col a:hover{color:var(--ink);}
.footer-bottom{max-width:1280px;margin:36px auto 0;padding-top:20px;border-top:1px solid var(--border-faint);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:.8rem;color:var(--ink-faint);}
@media (max-width:760px){.footer-grid{grid-template-columns:1fr;}.footer-grid .footer-col:last-child{grid-column:auto;}}

/* ---- Sticky mobile CTA ---- */
.sticky-cta{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:90;
  padding:12px clamp(16px,4vw,20px) calc(12px + env(safe-area-inset-bottom));
  background:rgba(9,12,27,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-top:1px solid var(--border-faint);gap:10px;
}
@media (max-width:640px){
  .sticky-cta{display:flex;}
  footer.site-footer{padding-bottom:clamp(96px,20vw,120px);}
}
.sticky-cta .btn{flex:1;}

/* ---- Legal pages (privacy / terms) ---- */
.legal-page{padding:calc(var(--nav-h) + clamp(32px,6vw,56px)) clamp(20px,5vw,72px) clamp(64px,10vw,96px);}
.legal-inner{max-width:760px;margin-inline:auto;}
.legal-inner h1{font-size:clamp(1.9rem,3.4vw,2.5rem);line-height:1.15;}
.legal-updated{margin-top:.8em;color:var(--ink-faint);font-family:var(--font-mono);font-size:.8rem;}
.legal-intro{margin-top:1.4em;color:var(--ink-muted);font-size:1rem;line-height:1.7;}
.legal-inner section{margin-top:clamp(32px,4vw,44px);}
.legal-inner h2{font-size:1.25rem;margin-bottom:.7em;color:var(--ink);}
.legal-inner p{color:var(--ink-muted);font-size:.96rem;line-height:1.75;margin-top:.8em;}
.legal-inner h2 + p{margin-top:0;}
.legal-inner ul{margin-top:.8em;display:flex;flex-direction:column;gap:.5em;}
.legal-inner li{color:var(--ink-muted);font-size:.96rem;line-height:1.65;padding-left:1.3em;position:relative;}
.legal-inner li::before{content:"";position:absolute;left:0;top:.6em;width:5px;height:5px;border-radius:50%;background:var(--accent-cyan);}
.legal-inner a{color:var(--accent-cyan);text-decoration:underline;}
.legal-back{display:inline-flex;margin-top:2.5em;}
