/* VorsorgePunkt – geteiltes Stylesheet */
:root{
  --navy:#16303F; --navy-2:#20404F; --terra:#D97F4E; --terra-dark:#B4602F;
  --sand:#F5F1EB; --sand-2:#EDE6DA; --cream:#FFFDF9;
  --text-primary:#1B2A32; --text-secondary:#5B6B72; --text-muted:#8A9499;
  --border:#E4DDD0; --page-bg:var(--sand); --card-bg:var(--cream); --field-bg:var(--cream);
  --font-sans:'Source Sans 3',-apple-system,sans-serif; --font-serif:'Fraunces',Georgia,serif;
  --r:16px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-mode="light"]){
    --page-bg:#12222A; --card-bg:#1A2E38; --text-primary:#F2EEE5; --text-secondary:#B9C4C6; --text-muted:#8A9BA0; --border:#2C4653; --sand-2:#1E3742; --field-bg:#243D48;
  }
}
[data-mode="dark"]{
  --page-bg:#12222A; --card-bg:#1A2E38; --text-primary:#F2EEE5; --text-secondary:#B9C4C6; --text-muted:#8A9BA0; --border:#2C4653; --sand-2:#1E3742; --field-bg:#243D48;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-sans); background:var(--page-bg); color:var(--text-primary); line-height:1.65; -webkit-font-smoothing:antialiased;}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1080px; margin:0 auto; padding:0 24px;}
h1,h2,h3{font-family:var(--font-serif); font-weight:500; letter-spacing:-0.01em;}

/* NAV */
header{position:sticky; top:0; z-index:50; background:color-mix(in srgb, var(--page-bg) 88%, transparent); backdrop-filter:blur(10px); border-bottom:0.5px solid var(--border); padding-top:env(safe-area-inset-top,0);}
nav{display:flex; align-items:center; justify-content:space-between; padding:14px 24px; max-width:1080px; margin:0 auto;}
.brand{display:flex; align-items:center; gap:10px; font-weight:600; font-size:17px;}
.brand svg{width:30px; height:30px;}
.navlinks{display:flex; gap:26px; font-size:14px; font-weight:500; color:var(--text-secondary);}
.navlinks a:hover{color:var(--terra-dark);}
.navlinks a.active{color:var(--terra-dark);}
.navcta{background:var(--terra); color:#fff; padding:9px 18px; border-radius:100px; font-size:13.5px; font-weight:600; white-space:nowrap;}
.navcta:hover{background:var(--terra-dark);}
@media(max-width:860px){.navlinks{display:none;}}

/* BREADCRUMB */
.breadcrumb{padding:18px 24px 0; font-size:13px; color:var(--text-muted); max-width:1080px; margin:0 auto;}
.breadcrumb a:hover{color:var(--terra-dark);}

/* HERO (module pages) */
.module-hero{padding:48px 24px 56px;}
.module-hero-inner{max-width:1080px; margin:0 auto; display:grid; grid-template-columns:1.1fr 0.9fr; gap:44px; align-items:center;}
.module-hero .kicker{font-size:13px; letter-spacing:0.08em; text-transform:uppercase; color:var(--terra-dark); font-weight:600; margin-bottom:16px;}
.module-hero h1{font-size:clamp(28px,4.5vw,44px); line-height:1.15; margin-bottom:18px;}
.module-hero p{font-size:16.5px; color:var(--text-secondary); margin-bottom:28px; max-width:480px;}
.module-illustration{background:var(--card-bg); border:0.5px solid var(--border); border-radius:24px; padding:20px; aspect-ratio:1/1; display:flex; align-items:center; justify-content:center;}
@media(max-width:800px){.module-hero-inner{grid-template-columns:1fr;} .module-illustration{max-width:340px; margin:0 auto;}}

.btn-primary{display:inline-block; background:var(--navy); color:#fff; padding:14px 28px; border-radius:100px; font-weight:600; font-size:15px; box-shadow:0 1px 2px rgba(0,0,0,0.08); transition:transform .18s ease, box-shadow .18s ease, background .18s ease;}
.btn-primary:hover{background:var(--navy-2); transform:translateY(-2px); box-shadow:0 12px 24px -10px rgba(22,48,63,0.45);}
.btn-secondary{display:inline-block; background:transparent; color:var(--text-primary); padding:14px 28px; border-radius:100px; font-weight:600; font-size:15px; border:1.5px solid var(--border); transition:transform .18s ease, border-color .18s ease;}
.btn-secondary:hover{border-color:var(--terra); transform:translateY(-2px);}
.navcta{transition:transform .18s ease, background .18s ease;}
.navcta:hover{transform:translateY(-1px);}

/* SECTIONS */
.section{padding:64px 24px;}
.section-head{max-width:640px; margin:0 0 40px;}
.section-head.center{margin:0 auto 40px; text-align:center;}
.section-head .kicker{font-size:13px; letter-spacing:0.08em; text-transform:uppercase; color:var(--terra-dark); font-weight:600; margin-bottom:12px;}
.section-head h2{font-size:clamp(24px,3.2vw,32px); margin-bottom:12px;}
.section-head p{color:var(--text-secondary); font-size:15.5px;}

/* GRID CARDS */
.grid2{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:18px;}
.grid3{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:18px;}
.grid5{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:18px;}
.card{background:var(--card-bg); border:0.5px solid var(--border); border-radius:var(--r); padding:26px 24px;}
.card .icon{width:44px; height:44px; border-radius:12px; background:var(--sand-2); display:flex; align-items:center; justify-content:center; margin-bottom:16px;}
.card .icon svg{width:22px; height:22px; stroke:var(--terra-dark);}
.card h3{font-family:var(--font-sans); font-size:16.5px; font-weight:600; margin-bottom:8px;}
.card p{font-size:14.5px; color:var(--text-secondary);}
.card ul{margin:0; padding-left:18px; font-size:14.5px; color:var(--text-secondary);}
.card li{margin-bottom:6px;}

/* STEPS */
.steps{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:28px;}
.step{text-align:left;}
.step .num{width:36px; height:36px; border-radius:50%; background:var(--navy); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:600; margin-bottom:14px; font-family:var(--font-serif); font-size:15px;}
.step h3{font-size:15.5px; font-weight:600; margin-bottom:6px;}
.step p{font-size:14px; color:var(--text-secondary);}

/* PRICING BOX */
.price-box{background:var(--navy); color:#fff; border-radius:20px; padding:32px; display:flex; flex-wrap:wrap; gap:24px; align-items:center; justify-content:space-between;}
.price-box .offer-copy{max-width:520px;}
.price-box .offer-copy h3{font-family:var(--font-serif); font-size:22px; font-weight:500; color:#F0B98C; margin-bottom:8px;}
.price-box .offer-copy p{font-size:14.5px; font-family:var(--font-sans); color:#C9D6DB; margin:0;}
.price-box .btn-primary{background:var(--terra); white-space:nowrap;}
.price-box .btn-primary:hover{background:var(--terra-dark);}

/* USE CASE */
.usecase{background:var(--sand-2); border-radius:24px; padding:44px 36px; border:0.5px solid var(--border);}
.usecase .tag{display:inline-block; background:var(--terra); color:#fff; font-size:12px; font-weight:600; padding:5px 14px; border-radius:100px; margin-bottom:18px; letter-spacing:0.02em;}
.usecase h2{font-size:22px; margin-bottom:16px;}
.usecase .quote{font-family:var(--font-serif); font-style:italic; font-size:18px; color:var(--text-primary); border-left:3px solid var(--terra); padding-left:20px; margin:20px 0;}
.usecase .meta{display:flex; gap:28px; flex-wrap:wrap; margin-top:24px; padding-top:24px; border-top:0.5px solid var(--border);}
.usecase .meta div{font-size:13px; color:var(--text-muted);}
.usecase .meta strong{display:block; font-size:20px; font-family:var(--font-serif); color:var(--terra-dark); font-weight:500;}

/* REFERENCES */
.references{font-size:13px; color:var(--text-muted); max-width:720px;}
.references h3{font-size:14px; color:var(--text-secondary); font-weight:600; margin-bottom:10px; font-family:var(--font-sans);}
.references ol{padding-left:18px;}
.references li{margin-bottom:6px;}
.references a{color:var(--terra-dark); text-decoration:underline; text-underline-offset:2px;}

/* FAQ */
.faq-item{border-bottom:0.5px solid var(--border); padding:18px 0;}
.faq-item summary{cursor:pointer; font-weight:600; font-size:15px; list-style:none; display:flex; justify-content:space-between; align-items:center;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+'; font-size:20px; color:var(--terra-dark); font-weight:400;}
.faq-item[open] summary::after{content:'–';}
.faq-item p{margin-top:10px; font-size:14.5px; color:var(--text-secondary);}

/* PERSONAL / TEAM */
.personal{background:var(--navy); color:#fff; border-radius:24px; padding:48px 32px;}
.personal-inner{max-width:1080px; margin:0 auto; display:grid; grid-template-columns:auto 1fr; gap:32px; align-items:center;}
.avatar{width:96px; height:96px; border-radius:50%; background:var(--terra); display:flex; align-items:center; justify-content:center; font-family:var(--font-serif); font-size:30px; color:#fff; flex-shrink:0;}
.personal h2{font-size:22px; color:#fff; margin-bottom:10px;}
.personal p{color:#C9D6DB; font-size:15px; max-width:560px;}
.personal .sig{margin-top:14px; font-family:var(--font-serif); font-style:italic; font-size:15px; color:#E8B98F;}
@media(max-width:640px){.personal-inner{grid-template-columns:1fr; text-align:center;} .avatar{margin:0 auto;}}

/* ABOUT PAGE SPECIFIC */
.about-hero{display:grid; grid-template-columns:0.85fr 1.15fr; gap:48px; align-items:center; max-width:1080px; margin:0 auto; padding:56px 24px;}
.about-photo{border-radius:20px; overflow:hidden; border:0.5px solid var(--border); box-shadow:0 12px 32px -12px rgba(22,48,63,0.25);}
.about-photo img{width:100%; height:auto; display:block;}
.about-text .kicker{font-size:13px; letter-spacing:0.08em; text-transform:uppercase; color:var(--terra-dark); font-weight:600; margin-bottom:14px;}
.about-text h1{font-size:clamp(28px,4vw,40px); margin-bottom:16px;}
.about-text p{font-size:16px; color:var(--text-secondary); margin-bottom:14px;}
.about-text .sig{font-family:var(--font-serif); font-style:italic; font-size:17px; margin-top:20px; color:var(--terra-dark);}
@media(max-width:760px){.about-hero{grid-template-columns:1fr;} .about-photo{max-width:320px; margin:0 auto;}}

.timeline{display:grid; gap:20px; max-width:640px;}
.timeline .t-item{display:grid; grid-template-columns:70px 1fr; gap:16px;}
.timeline .t-year{font-family:var(--font-serif); color:var(--terra-dark); font-weight:500; font-size:15px;}
.timeline .t-item p{font-size:14.5px; color:var(--text-secondary); margin:0;}
.timeline .t-item h4{font-size:15px; font-weight:600; margin-bottom:4px;}

.values{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:18px;}
.value{padding:8px 0;}
.value h3{font-size:15.5px; font-weight:600; margin-bottom:6px;}
.value p{font-size:14px; color:var(--text-secondary);}

/* CONTACT */
.contact{background:var(--sand-2); border-radius:24px; padding:48px 32px; text-align:center;}
.contact h2{font-size:26px; margin-bottom:12px;}
.contact p{color:var(--text-secondary); font-size:15.5px; max-width:460px; margin:0 auto 24px;}
.contact-form{max-width:420px; margin:0 auto; display:flex; flex-direction:column; gap:12px;}
.contact-form input,.contact-form select,.contact-form textarea{width:100%; border-radius:10px; border:1px solid var(--border); background:var(--field-bg); padding:0 14px; font-family:var(--font-sans); font-size:14.5px; color:var(--text-primary);}
.contact-form input,.contact-form select{height:46px;}
.contact-form textarea{padding-top:12px; min-height:90px; resize:vertical;}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:2px solid var(--terra); outline-offset:1px;}
.contact-form button{margin-top:6px; background:var(--terra); color:#fff; border:none; height:48px; border-radius:100px; font-weight:600; font-size:15px; cursor:pointer;}
.contact-form button:hover{background:var(--terra-dark);}
.contact-note{font-size:12.5px; color:var(--text-muted); margin-top:14px;}

/* FOOTER */
footer{padding:52px 24px 40px; text-align:center; color:var(--text-muted); font-size:13px; padding-bottom:calc(40px + env(safe-area-inset-bottom,0));}
footer .fbrand{font-family:var(--font-serif); font-size:16px; color:var(--text-primary); margin-bottom:10px;}
footer .flinks{display:flex; gap:20px; justify-content:center; margin:14px 0; flex-wrap:wrap;}
footer .flinks a:hover{color:var(--terra-dark);}

/* MODULE NAV STRIP (cross-links between the 5 modules) */
.module-strip{display:flex; gap:10px; flex-wrap:wrap; padding:20px 24px 0; max-width:1080px; margin:0 auto;}
.module-strip a{font-size:13px; padding:8px 16px; border-radius:100px; border:0.5px solid var(--border); color:var(--text-secondary);}
.module-strip a.active{background:var(--navy); color:#fff; border-color:var(--navy);}
.module-strip a:hover:not(.active){border-color:var(--terra);}

/* PHOTO HERO (full-bleed, image + gradient overlay) */
.photo-hero{position:relative; min-height:560px; display:flex; align-items:center; overflow:hidden; --mx:50%; --my:40%;}
.photo-hero img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;}
.photo-hero::before{content:''; position:absolute; inset:0; z-index:1; pointer-events:none; background:radial-gradient(560px circle at var(--mx) var(--my), rgba(240,185,140,0.28), transparent 62%); opacity:0; transition:opacity .4s ease;}
.photo-hero:hover::before{opacity:1;}
.photo-hero::after{content:''; position:absolute; inset:0; background:linear-gradient(105deg, rgba(16,28,35,0.88) 0%, rgba(16,28,35,0.72) 38%, rgba(16,28,35,0.32) 68%, rgba(16,28,35,0.1) 100%); z-index:1;}
.photo-hero-content{position:relative; z-index:2; max-width:1080px; margin:0 auto; padding:80px 24px; width:100%;}
.photo-hero-content .kicker{font-size:13px; letter-spacing:0.08em; text-transform:uppercase; color:#F0B98C; font-weight:600; margin-bottom:16px;}
.photo-hero-content h1{color:#fff; font-size:clamp(30px,4.8vw,48px); line-height:1.15; margin-bottom:18px; max-width:600px;}
.photo-hero-content p{color:#E4E9EB; font-size:16.5px; max-width:500px; margin-bottom:28px;}
.photo-hero-content .trust-row{display:flex; gap:20px; flex-wrap:wrap; margin-top:28px; padding-top:24px; border-top:1px solid rgba(255,255,255,0.18);}
.photo-hero-content .trust-row div{font-size:12.5px; color:#C9D6DB; display:flex; align-items:center; gap:6px;}
@media(max-width:700px){.photo-hero{min-height:480px;}}

/* MODULE SPLIT HERO (photo one side, text other, on module pages) */
.split-hero{padding:0;}
.split-hero-inner{display:grid; grid-template-columns:1fr 1fr; min-height:460px;}
.split-hero-photo{position:relative; overflow:hidden; min-height:320px;}
.split-hero-photo img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.split-hero-text{display:flex; flex-direction:column; justify-content:center; padding:56px 48px;}
.split-hero-text .kicker{font-size:13px; letter-spacing:0.08em; text-transform:uppercase; color:var(--terra-dark); font-weight:600; margin-bottom:16px;}
.split-hero-text h1{font-size:clamp(26px,4vw,38px); line-height:1.16; margin-bottom:16px;}
.split-hero-text p{font-size:15.5px; color:var(--text-secondary); margin-bottom:24px; max-width:440px;}
@media(max-width:800px){.split-hero-inner{grid-template-columns:1fr;} .split-hero-photo{min-height:260px; order:-1;} .split-hero-text{padding:40px 24px;}}

/* PROBLEM / AGITATION STAT BAND */
.stat-band{background:var(--navy); padding:44px 24px;}
.stat-band-inner{max-width:1080px; margin:0 auto; display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:28px;}
.stat-band .stat{text-align:center; color:#fff;}
.stat-band .stat .num{font-family:var(--font-serif); font-size:clamp(28px,4vw,38px); color:#F0B98C; margin-bottom:6px;}
.stat-band .stat p{font-size:13.5px; color:#C9D6DB; margin:0;}
.stat-band .source{grid-column:1/-1; text-align:center; font-size:11.5px; color:#8FA0A8; margin-top:4px;}

/* BEFORE / AFTER (loss aversion vs relief) */
.compare{display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:20px;}
.compare .col{border-radius:16px; padding:28px 26px;}
.compare .without{background:var(--sand-2); border:1px solid var(--border);}
.compare .with{background:var(--navy); color:#fff;}
.compare h3{font-size:15px; font-weight:600; margin-bottom:16px; text-transform:uppercase; letter-spacing:0.03em;}
.compare .without h3{color:var(--text-muted);}
.compare .with h3{color:#F0B98C;}
.compare ul{list-style:none; display:flex; flex-direction:column; gap:12px;}
.compare li{font-size:14.5px; padding-left:26px; position:relative;}
.compare .without li{color:var(--text-secondary);}
.compare .with li{color:#E4E9EB;}
.compare .without li::before{content:'✕'; position:absolute; left:0; color:#B4602F; font-weight:600;}
.compare .with li::before{content:'✓'; position:absolute; left:0; color:#F0B98C; font-weight:600;}

/* CAPACITY / HONEST SCARCITY NOTE */
.capacity-note{display:flex; align-items:center; gap:14px; background:var(--sand-2); border:1px solid var(--border); border-radius:14px; padding:16px 20px; font-size:14px; color:var(--text-secondary); max-width:520px;}
.capacity-note .dot{width:9px; height:9px; border-radius:50%; background:var(--terra); flex-shrink:0; box-shadow:0 0 0 4px rgba(217,127,78,0.18);}

/* MODULE CARD WITH PHOTO (homepage grid) */
.pcard{position:relative; border-radius:16px; overflow:hidden; min-height:200px; display:flex; align-items:flex-end; color:#fff;}
.pcard img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .3s ease;}
.pcard::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(12,22,28,0.15) 0%, rgba(12,22,28,0.35) 35%, rgba(10,18,23,0.94) 100%);}
.pcard:hover img{transform:scale(1.05);}
.pcard-content{position:relative; z-index:2; padding:20px;}
.pcard-content h3{font-family:var(--font-sans); font-size:16px; font-weight:600; margin-bottom:4px; color:#fff; text-shadow:0 1px 8px rgba(0,0,0,0.45);}
.pcard-content p{font-size:13px; color:#EDEFEF; margin:0; text-shadow:0 1px 6px rgba(0,0,0,0.4);}
.pcard-content .more{display:inline-block; margin-top:8px; font-size:12.5px; font-weight:600; color:#F5C79B; text-shadow:0 1px 6px rgba(0,0,0,0.4);}

/* SECONDARY PHOTO BAND (about page / trust) */
.photo-band{position:relative; border-radius:24px; overflow:hidden; min-height:280px; margin:0 24px;}
.photo-band img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.photo-band::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,18,23,0.15), rgba(8,15,19,0.78));}
.photo-band-content{position:relative; z-index:2; padding:40px; display:flex; align-items:flex-end; min-height:280px;}
.photo-band-content p{color:#fff; font-family:var(--font-serif); font-style:italic; font-size:19px; max-width:520px; text-shadow:0 2px 10px rgba(0,0,0,0.5);}

/* SCROLL PROGRESS BAR (subtle, app-like reading progress) */
.scroll-progress{position:fixed; top:0; left:0; height:3px; width:0%; background:linear-gradient(90deg, var(--terra), #F0B98C); z-index:200; transition:width .1s linear;}

/* SCROLL-TRIGGERED REVEAL (Instagram/feed-style content entrance) */
.reveal{opacity:0; transform:translateY(22px); transition:opacity .6s cubic-bezier(.22,.61,.36,1), transform .6s cubic-bezier(.22,.61,.36,1);}
.reveal.is-visible{opacity:1; transform:translateY(0);}
.grid3 .reveal:nth-child(2),.grid5 .reveal:nth-child(2),.compare .reveal:nth-child(2){transition-delay:.08s;}
.grid3 .reveal:nth-child(3),.grid5 .reveal:nth-child(3){transition-delay:.16s;}
.grid5 .reveal:nth-child(4){transition-delay:.24s;}
.grid5 .reveal:nth-child(5){transition-delay:.32s;}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1!important; transform:none!important; transition:none!important;}
}

/* INTERACTIVE STEP-BY-STEP CONTACT FORM */
.stepform{max-width:480px; margin:0 auto; text-align:left;}
.stepform-progress{height:6px; background:var(--border); border-radius:100px; overflow:hidden; margin-bottom:10px;}
.stepform-progress-bar{height:100%; width:25%; background:linear-gradient(90deg, var(--terra), #F0B98C); border-radius:100px; transition:width .35s ease;}
.stepform-steps-label{font-size:12.5px; color:var(--text-muted); margin-bottom:22px; font-weight:600; letter-spacing:.02em;}
.stepform-step{display:none;}
.stepform-step.is-active{display:block; animation:sfIn .35s ease;}
@keyframes sfIn{from{opacity:0; transform:translateX(14px);} to{opacity:1; transform:translateX(0);}}
.stepform-step h3{font-size:19px; margin-bottom:18px; font-family:var(--font-serif); font-weight:500;}
.stepform-options{display:grid; grid-template-columns:repeat(2,1fr); gap:10px;}
.stepform-option{display:flex; align-items:center; gap:10px; text-align:left; background:var(--field-bg); border:1.5px solid var(--border); border-radius:12px; padding:13px 14px; cursor:pointer; font-family:var(--font-sans); font-size:14px; font-weight:600; color:var(--text-primary); transition:border-color .2s ease, background .2s ease, transform .15s ease;}
.stepform-option .sf-icon{width:20px; height:20px; color:var(--terra-dark); flex-shrink:0;}
.stepform-option:hover{border-color:var(--terra); transform:translateY(-1px);}
.stepform-option.is-selected{border-color:var(--terra); background:var(--sand-2); box-shadow:0 0 0 3px rgba(217,127,78,0.16);}
@media(max-width:420px){.stepform-options{grid-template-columns:1fr;}}

.stepform-slider-wrap{padding:6px 4px 0;}
.stepform-slider{-webkit-appearance:none; appearance:none; width:100%; height:6px; border-radius:100px; background:var(--border); outline:none; margin:18px 0 8px;}
.stepform-slider::-webkit-slider-thumb{-webkit-appearance:none; appearance:none; width:24px; height:24px; border-radius:50%; background:var(--terra); border:3px solid var(--cream); box-shadow:0 2px 6px rgba(0,0,0,0.25); cursor:pointer;}
.stepform-slider::-moz-range-thumb{width:18px; height:18px; border-radius:50%; background:var(--terra); border:3px solid var(--cream); box-shadow:0 2px 6px rgba(0,0,0,0.25); cursor:pointer;}
.stepform-slider-labels{display:flex; justify-content:space-between; font-size:11.5px; color:var(--text-muted);}
.stepform-slider-current{text-align:center; font-family:var(--font-serif); font-size:16.5px; color:var(--terra-dark); margin-top:10px; min-height:22px;}

.stepform-step input[type="text"],.stepform-step input[type="email"],.stepform-step input[type="tel"]{width:100%; height:48px; border-radius:10px; border:1px solid var(--border); background:var(--field-bg); padding:0 14px; font-family:var(--font-sans); font-size:14.5px; color:var(--text-primary); margin-bottom:12px;}
.stepform-step input:focus{outline:2px solid var(--terra); outline-offset:1px;}

.stepform-summary{background:var(--sand-2); border:1px solid var(--border); border-radius:12px; padding:16px 18px; font-size:14px; color:var(--text-secondary); display:grid; gap:6px; margin-bottom:14px;}
.stepform-summary strong{color:var(--text-primary);}
.stepform-note{font-size:12.5px; color:var(--text-muted);}

.stepform-nav{display:flex; justify-content:space-between; align-items:center; margin-top:26px; gap:14px;}
.stepform-nav button{cursor:pointer; border:none; font-family:var(--font-sans);}
.stepform-back{visibility:hidden;}
.stepform-error{color:var(--terra-dark); font-size:12.5px; margin-top:10px; display:none;}
.stepform-error.is-visible{display:block;}
.stepform-done{text-align:center; padding:24px 0;}
.stepform-done .sf-check{width:56px; height:56px; border-radius:50%; background:var(--terra); color:#fff; display:flex; align-items:center; justify-content:center; margin:0 auto 16px; font-size:26px; font-family:var(--font-serif);}
.stepform-done h3{font-family:var(--font-serif); font-weight:500; font-size:20px; margin-bottom:8px;}

/* STICKY CTA (appears once the hero has been scrolled past) */
.sticky-cta{position:fixed; bottom:18px; left:50%; transform:translateX(-50%) translateY(140%); z-index:150; background:var(--navy); color:#fff; padding:13px 24px; border-radius:100px; box-shadow:0 10px 28px -6px rgba(16,28,35,0.4); font-size:14px; font-weight:600; display:inline-flex; align-items:center; gap:8px; transition:transform .35s cubic-bezier(.22,.61,.36,1), background .18s ease; white-space:nowrap;}
.sticky-cta.is-visible{transform:translateX(-50%) translateY(0);}
.sticky-cta:hover{background:var(--navy-2);}
.sticky-cta span{transition:transform .18s ease;}
.sticky-cta:hover span{transform:translateX(3px);}
@media(max-width:640px){
  .sticky-cta{left:16px; right:16px; bottom:calc(16px + env(safe-area-inset-bottom,0)); transform:translateY(140%); justify-content:center; width:auto;}
  .sticky-cta.is-visible{transform:translateY(0);}
}

/* MODUL-FINDER (interactive one-click quiz) */
.finder-box{background:var(--card-bg); border:1px solid var(--border); border-radius:24px; padding:36px 28px; text-align:center;}
.finder-box .kicker{font-size:13px; letter-spacing:0.08em; text-transform:uppercase; color:var(--terra-dark); font-weight:600; margin-bottom:10px;}
.finder-box h2{font-size:clamp(21px,3vw,27px); margin-bottom:8px;}
.finder-box > p{color:var(--text-secondary); font-size:15px; margin-bottom:24px;}
.finder-options{display:grid; grid-template-columns:repeat(3,1fr); gap:10px; max-width:760px; margin:0 auto;}
.finder-opt{display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center; background:var(--field-bg); border:1.5px solid var(--border); border-radius:14px; padding:18px 12px; cursor:pointer; font-family:var(--font-sans); font-size:13.5px; font-weight:600; color:var(--text-primary); transition:border-color .18s ease, transform .18s ease, background .18s ease;}
.finder-opt .sf-icon{width:22px; height:22px; color:var(--terra-dark);}
.finder-opt:hover{border-color:var(--terra); transform:translateY(-2px);}
.finder-opt.is-selected{border-color:var(--terra); background:var(--sand-2); box-shadow:0 0 0 3px rgba(217,127,78,0.16);}
@media(max-width:620px){.finder-options{grid-template-columns:repeat(2,1fr);}}
.finder-result{margin-top:24px; background:var(--sand-2); border:1px solid var(--border); border-radius:16px; padding:24px 26px; display:flex; flex-wrap:wrap; gap:18px; align-items:center; justify-content:space-between; text-align:left; animation:sfIn .4s ease;}
.finder-result-title{font-family:var(--font-serif); font-size:18px; margin-bottom:6px; color:var(--terra-dark);}
.finder-result p{font-size:14px; color:var(--text-secondary); max-width:420px; margin:0;}
.finder-result-actions{display:flex; gap:10px; flex-wrap:wrap;}
.finder-result-actions .btn-primary,.finder-result-actions .btn-secondary{padding:11px 20px; font-size:13.5px;}

/* 2-MINUTEN-CHECK (interactive toggle self-assessment) */
.check-card{display:grid; grid-template-columns:1.15fr 1fr; gap:0; background:var(--card-bg); border:1px solid var(--border); border-radius:24px; overflow:hidden; margin-top:36px; align-items:stretch;}
.check-list{padding:8px 4px; display:flex; flex-direction:column;}
.toggle-row{display:flex; align-items:center; gap:16px; padding:20px 28px; border-bottom:1px solid var(--border); cursor:pointer; transition:background .15s ease;}
.check-list .toggle-row:last-child{border-bottom:none;}
.toggle-row:hover{background:var(--sand-2);}
.toggle-row-text{flex:1; font-size:14.5px; line-height:1.5; color:var(--text-primary);}
.toggle-row-text strong{display:block; font-size:12.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--terra-dark); font-weight:700; margin-bottom:4px;}
.toggle-switch{position:relative; width:46px; height:26px; flex:none; border-radius:999px; background:var(--border); transition:background .2s ease; border:none; padding:0; cursor:pointer;}
.toggle-switch .toggle-slider{position:absolute; top:3px; left:3px; width:20px; height:20px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,0.25); transition:transform .22s cubic-bezier(.4,0,.2,1);}
.toggle-row.is-on .toggle-switch{background:var(--terra);}
.toggle-row.is-on .toggle-switch .toggle-slider{transform:translateX(20px);}
.toggle-row.is-on .toggle-row-text{color:var(--terra-dark);}

.check-result{background:var(--sand-2); padding:32px 30px; display:flex; flex-direction:column; justify-content:center; min-height:100%;}
.check-result-empty{display:flex; flex-direction:column; align-items:center; text-align:center; gap:14px; color:var(--text-secondary); font-size:14px; padding:20px 10px;}
.check-result-empty svg{width:36px; height:36px; color:var(--terra); opacity:.5;}
.check-result-content .kicker{font-size:12.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--terra-dark); font-weight:700; margin-bottom:6px;}
.check-result-content h3{font-family:var(--font-serif); font-size:21px; margin-bottom:16px;}
.check-matches{display:flex; flex-direction:column; gap:10px;}
.check-match{display:flex; align-items:center; gap:12px; background:var(--card-bg); border:1px solid var(--border); border-radius:12px; padding:12px 14px; text-decoration:none; color:var(--text-primary); font-size:14px; font-weight:600; transition:border-color .15s ease, transform .15s ease;}
.check-match:hover{border-color:var(--terra); transform:translateX(3px);}
.check-match .sf-icon{width:18px; height:18px; color:var(--terra-dark); flex:none;}
.check-match span{flex:1;}
.check-match .arrow{color:var(--terra); font-weight:700;}
@media(max-width:820px){
  .check-card{grid-template-columns:1fr;}
  .check-result{border-top:1px solid var(--border);}
  .toggle-row{padding:18px 20px;}
}

/* Multi-Select-Hinweis + Checkbox-Indikator im Kontaktformular */
.stepform-hint{font-size:12.5px; color:var(--text-secondary); margin:-6px 0 12px;}
.stepform-options[data-multi="true"] .stepform-option{position:relative; padding-right:38px;}
.stepform-options[data-multi="true"] .stepform-option::after{content:""; position:absolute; right:14px; top:50%; transform:translateY(-50%); width:18px; height:18px; border-radius:5px; border:1.5px solid var(--border); background:var(--card-bg); transition:background .15s ease, border-color .15s ease;}
.stepform-options[data-multi="true"] .stepform-option.is-selected::after{background:var(--terra); border-color:var(--terra); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:center; background-size:11px;}

/* CRM: Website-Lead-Banner + Pipeline */
.lead-banner{background:linear-gradient(135deg,#2E4A57,#243D48); color:#fff; border-radius:16px; padding:20px 22px; margin-bottom:22px; display:flex; flex-wrap:wrap; gap:16px; align-items:center; justify-content:space-between;}
.lead-banner-text{font-size:14px; line-height:1.5;}
.lead-banner-text strong{display:block; font-size:15px; margin-bottom:4px;}
.lead-banner .btn-primary{white-space:nowrap;}
.pipeline-board{display:grid; grid-template-columns:repeat(6,minmax(180px,1fr)); gap:14px; overflow-x:auto; padding-bottom:8px;}
.pipeline-col{background:var(--sand-2); border-radius:14px; padding:12px; min-height:120px;}
.pipeline-col h4{font-size:12.5px; text-transform:uppercase; letter-spacing:0.05em; margin:0 0 10px; color:var(--text-secondary); display:flex; justify-content:space-between;}
.pipeline-card{background:var(--card-bg); border:1px solid var(--border); border-radius:10px; padding:10px 12px; margin-bottom:8px; cursor:pointer; font-size:13.5px; transition:border-color .15s ease;}
.pipeline-card:hover{border-color:var(--terra);}
.pipeline-card .pc-name{font-weight:700; margin-bottom:2px;}
.pipeline-card .pc-meta{font-size:12px; color:var(--text-secondary);}
.stage-row{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px;}
.stage-pill{border:1.5px solid var(--border); background:var(--card-bg); border-radius:999px; padding:7px 14px; font-size:13px; font-weight:600; cursor:pointer; color:var(--text-secondary); transition:border-color .15s ease, background .15s ease, color .15s ease;}
.stage-pill.is-active{border-color:var(--terra); background:var(--terra); color:#fff;}
.stage-guidance{background:var(--sand-2); border-radius:12px; padding:14px 16px; font-size:13.5px; color:var(--text-secondary);}
.stage-guidance ul{margin:8px 0 0; padding-left:18px;}
.stage-guidance li{margin-bottom:4px;}
