:root {
  --ink: #132e29;
  --ink-2: #21443d;
  --green: #1f5a49;
  --green-light: #80a96d;
  --lime: #b9dc69;
  --lime-bright: #ccee77;
  --cream: #f5f1e8;
  --paper: #fffdf8;
  --sand: #e8e1d4;
  --muted: #6a7773;
  --line: rgba(19, 46, 41, .12);
  --white: #fff;
  --radius: 26px;
  --shadow: 0 24px 70px rgba(20, 53, 45, .13);
  --font-head: "Segoe UI", Arial, system-ui, sans-serif;
  --font-body: "Segoe UI", Arial, system-ui, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--font-body); line-height: 1.6; overflow-x: hidden; }
body.menu-open { overflow: hidden; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
img, svg { display: block; max-width: 100%; }
.icon-sprite { position:absolute; width:0; height:0; overflow:hidden; pointer-events:none; }
.ui-icon { width:1em; height:1em; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.ui-icon .icon-fill { fill:currentColor; stroke:none; }
.container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.skip-link { position: fixed; top: -100px; left: 20px; z-index: 9999; background: var(--ink); color: white; padding: 12px 18px; border-radius: 8px; }
.skip-link:focus { top: 15px; }

.site-header { position: fixed; z-index: 1000; inset: 0 0 auto; height: 100px; border-bottom: 1px solid transparent; transition: height .3s ease, background .3s ease, box-shadow .3s ease; }
.site-header.scrolled { height: 86px; background: rgba(255, 253, 248, .9); border-color: var(--line); box-shadow: 0 10px 42px rgba(15, 45, 37, .07); backdrop-filter: blur(18px); }
.nav-wrap { height: 100%; display: flex; align-items: center; gap: 38px; }
.brand { position: relative; isolation: isolate; display: inline-flex; align-items: center; gap: 14px; flex: 0 0 auto; font-family: var(--font-head); transition: transform .28s ease; }
.brand::before { content:""; position:absolute; z-index:-1; width:94px; height:94px; left:-16px; top:50%; border-radius:50%; background:radial-gradient(circle,rgba(238,166,34,.16),rgba(33,151,149,.07) 46%,transparent 72%); filter:blur(12px); transform:translateY(-50%); pointer-events:none; }
.brand-symbol { position:relative; width: 64px; height: 64px; display: grid; place-items: center; flex: 0 0 auto; padding:0; background:transparent; transition: transform .28s ease; }
.brand-symbol img { position:relative; z-index:1; width: 100%; height: 100%; object-fit: contain; transform:scale(.98); filter:drop-shadow(0 8px 10px rgba(14,65,63,.14)); transition:transform .28s ease,filter .28s ease; }
.brand-wordmark { position:relative; display: flex; flex-direction: column; align-items: flex-start; line-height: 1; }
.brand-wordmark::after { content:""; width:42px; height:1px; margin-top:7px; border-radius:2px; background:linear-gradient(90deg,#e8a226,rgba(17,125,128,.32),transparent); transition:width .3s ease; }
.brand-wordmark strong { color: #117d80; font-size: 23px; font-weight: 680; letter-spacing: 1.8px; }
.brand-wordmark small { margin-top: 6px; color: #dd9419; font-size: 8px; font-weight: 800; letter-spacing: 3.8px; text-transform: uppercase; }
.brand:hover { transform:translateY(-2px); }
.brand:hover .brand-symbol { transform:rotate(-2deg) scale(1.025); }
.brand:hover .brand-symbol img { transform:scale(1.025); filter:drop-shadow(0 12px 14px rgba(14,65,63,.2)); }
.brand:hover .brand-wordmark::after { width:64px; }
.main-nav { margin-left: auto; display: flex; align-items: center; gap: 31px; }
.main-nav a { position: relative; color: #315049; font-size: 14px; font-weight: 600; }
.main-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -5px; height: 2px; background: var(--green); transition: right .25s ease; }
.main-nav a:hover::after { right: 0; }
.menu-toggle { display: none; }

.button { min-height: 54px; display: inline-flex; align-items: center; justify-content: center; gap: 17px; padding: 0 25px; border: 0; border-radius: 100px; font-weight: 700; cursor: pointer; transition: transform .25s ease, box-shadow .25s ease, background .25s ease; }
.button:hover { transform: translateY(-2px); }
.button span { font-size: 20px; transition: transform .25s ease; }
.button-icon { width:22px; height:22px; display:grid; place-items:center; flex:0 0 auto; border-radius:50%; }
.button-icon .ui-icon { width:16px; height:16px; }
.button:hover span { transform: translate(3px, -2px); }
.button-primary { color: var(--ink); background: var(--lime-bright); box-shadow: 0 12px 28px rgba(137, 172, 71, .25); }
.button-primary:hover { background: #d8f58e; box-shadow: 0 16px 32px rgba(137, 172, 71, .35); }
.button-dark { color: white; background: var(--ink); }
.button-dark:hover { background: #204c43; box-shadow: 0 14px 30px rgba(19, 46, 41, .2); }
.button-light { color: var(--ink); background: var(--paper); }
.button-ghost { color: var(--ink); background: transparent; border: 1px solid var(--line); }
.button-small { min-height: 44px; padding: 0 20px; font-size: 13px; }

.hero { position: relative; padding: 160px 0 0; min-height: 900px; overflow: hidden; background: var(--cream); }
.hero::before { content: ""; position: absolute; inset: 0; opacity: .28; pointer-events: none; background-image: radial-gradient(rgba(19,46,41,.23) .7px, transparent .7px); background-size: 18px 18px; mask-image: linear-gradient(90deg,#000,transparent 48%); }
.hero-glow { position: absolute; width: 750px; height: 750px; right: -230px; top: -250px; border-radius: 50%; background: radial-gradient(circle, rgba(185,220,105,.32), transparent 68%); }
.hero-grid { position: relative; display: grid; grid-template-columns: .94fr 1.06fr; align-items: center; gap: 64px; min-height: 660px; }
.hero-grid > *, .hero-copy { min-width: 0; }
.eyebrow { width: fit-content; display: flex; align-items: center; gap: 9px; padding: 8px 12px; border: 1px solid rgba(19,46,41,.13); border-radius: 100px; text-transform: uppercase; letter-spacing: 1.3px; font-size: 10px; font-weight: 800; }
.eyebrow.clean { padding: 0; border: 0; border-radius: 0; color: #58756c; }
.eyebrow.light { padding: 0; border: 0; color: var(--lime); }
.pulse-dot { position: relative; width: 7px; height: 7px; border-radius: 50%; background: #6e9c36; }
.pulse-dot::after { content: ""; position: absolute; inset: -4px; border: 1px solid #6e9c36; border-radius: inherit; animation: pulse 1.8s infinite; }
@keyframes pulse { 0% { transform: scale(.5); opacity: 1; } 100% { transform: scale(1.5); opacity: 0; } }
h1, h2, h3 { margin: 0; font-family: var(--font-head); line-height: 1.08; letter-spacing: -2.2px; }
h1 { max-width: 610px; margin-top: 24px; font-size: clamp(54px, 5.2vw, 78px); }
h1 em, h2 em { color: var(--green-light); font-family: Georgia, serif; font-weight: 400; }
.hero-lead { max-width: 560px; margin: 25px 0 0; color: #536a64; font-size: 18px; line-height: 1.65; }
.hero-title-bridge { display:flex; align-items:center; gap:10px; margin-top:14px; color:#4d6e63; }
.hero-title-bridge > span { width:34px; height:2px; border-radius:2px; background:linear-gradient(90deg,#e3a72f,#6f9c3f); }
.hero-title-bridge strong { font:750 11px var(--font-head); text-transform:uppercase; letter-spacing:.8px; }
.hero-funding-card { position:relative; max-width:565px; display:grid; grid-template-columns:50px minmax(0,1fr) auto 30px; align-items:center; gap:13px; margin-top:24px; padding:15px 16px; overflow:hidden; border:1px solid rgba(255,255,255,.14); border-radius:18px; color:white; background:linear-gradient(135deg,#123e34 0%,#0f302a 60%,#194a3b 100%); box-shadow:0 18px 38px rgba(17,51,43,.16),inset 0 1px 0 rgba(255,255,255,.1); transition:transform .25s ease,box-shadow .25s ease; }
.hero-funding-card::before { content:""; position:absolute; width:180px; height:180px; right:-76px; top:-95px; border-radius:50%; background:radial-gradient(circle,rgba(202,239,111,.25),transparent 68%); pointer-events:none; }
.hero-funding-icon { position:relative; width:50px; height:50px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.4); border-radius:15px; color:#173b31; background:linear-gradient(145deg,#d6f47d,#b9e255); box-shadow:0 9px 20px rgba(5,31,24,.2),inset 0 1px 0 rgba(255,255,255,.7); }
.hero-funding-icon .ui-icon { width:23px; height:23px; stroke-width:2.2; }
.hero-funding-copy { position:relative; min-width:0; display:flex; flex-direction:column; }
.hero-funding-copy small { color:#a9c1b9; font-size:7.5px; font-weight:800; letter-spacing:.85px; }
.hero-funding-copy strong { margin-top:4px; color:white; font:760 16px/1.2 var(--font-head); letter-spacing:-.35px; }
.hero-funding-copy em { margin-top:4px; color:#bfd0ca; font-size:9.5px; font-style:normal; }
.hero-funding-rate { position:relative; min-width:72px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding-left:13px; border-left:1px solid rgba(255,255,255,.13); }
.hero-funding-rate b { color:#d2f371; font:800 14px var(--font-head); white-space:nowrap; }
.hero-funding-rate small { margin-top:3px; color:#9eb5ae; font-size:7.5px; font-weight:700; }
.hero-funding-arrow { position:relative; width:30px; height:30px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.12); border-radius:10px; color:#d6ee95; background:rgba(255,255,255,.06); transition:transform .25s ease,background .25s ease; }
.hero-funding-arrow .ui-icon { width:14px; height:14px; }
.hero-funding-card:hover { transform:translateY(-3px); box-shadow:0 23px 45px rgba(17,51,43,.22),inset 0 1px 0 rgba(255,255,255,.1); }
.hero-funding-card:hover .hero-funding-arrow { transform:translateX(3px); background:rgba(255,255,255,.12); }
.hero-actions { display: flex; align-items: center; gap: 27px; margin-top: 24px; }
.text-link { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 700; }
.play { width: 39px; height: 39px; display: grid; place-items: center; flex:0 0 auto; border: 1px solid rgba(19,46,41,.16); border-radius: 50%; color:var(--green); background:rgba(255,255,255,.55); box-shadow:0 8px 22px rgba(19,46,41,.08),inset 0 1px 0 white; transition:transform .25s ease,box-shadow .25s ease,background .25s ease; }
.play .ui-icon { width:16px; height:16px; }
.text-link:hover .play { transform:scale(1.07); background:white; box-shadow:0 12px 27px rgba(19,46,41,.13); }
.trust-row { display: flex; align-items: center; gap: 16px; margin-top: 35px; padding:14px 16px; border:1px solid rgba(255,255,255,.58); border-radius:18px; background:linear-gradient(135deg,rgba(255,255,255,.66),rgba(255,255,255,.38)); box-shadow:0 16px 36px rgba(18,46,39,.07), inset 0 1px 0 rgba(255,255,255,.82); backdrop-filter:blur(8px); }
.trust-seal { width: 44px; height: 44px; display: grid; place-items: center; flex: 0 0 auto; border:1px solid rgba(255,255,255,.7); border-radius: 50%; color: var(--ink); background: linear-gradient(145deg,#d9f38b,var(--lime)); box-shadow: 0 0 0 7px rgba(185,220,105,.14),0 10px 24px rgba(77,111,43,.15),inset 0 1px 0 rgba(255,255,255,.8); }
.trust-seal .ui-icon { width:19px; height:19px; stroke-width:2.3; }
.trust-row strong { display: block; font: 700 12.5px/1.2 var(--font-head); letter-spacing:-.2px; }
.avatars { display: flex; }
.avatars span { width: 34px; height: 34px; display: grid; place-items: center; margin-left: -8px; border: 2px solid var(--cream); border-radius: 50%; color: white; background: #658b78; font-size: 9px; font-weight: 700; }
.avatars span:first-child { margin-left: 0; background: #b8866f; }
.avatars span:nth-child(2) { background: #6f839b; }
.avatars span:nth-child(3) { background: #927a64; }
.avatars span:last-child { color: var(--ink); background: var(--lime); }
.stars { color: #e4aa2d; font-size: 12px; letter-spacing: 1px; }
.trust-row p { margin: 3px 0 0; color: #60736e; font-size: 11px; line-height:1.45; }
.hero-funding-disclaimer { max-width:530px; margin:12px 0 0; color:#87958f; font-size:8.5px; line-height:1.45; }

.hero-visual { position: relative; min-width: 0; }
.house-card { position: relative; max-width: 600px; margin-left: auto; }
.house-card::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.55); border-radius: 30px; pointer-events: none; }
.house-photo { width: 100%; height:auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: 52% center; border-radius: 30px; box-shadow: 0 28px 70px rgba(20,53,45,.19); }
.photo-badge { position: absolute; z-index: 2; left: 20px; bottom: 20px; display: flex; align-items: center; gap: 11px; padding: 11px 14px 11px 11px; border: 1px solid rgba(255,255,255,.7); border-radius: 15px; background: rgba(255,253,248,.9); box-shadow: 0 12px 32px rgba(18,56,47,.16); backdrop-filter: blur(12px); }
.photo-badge-icon { position:relative; width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; overflow:hidden; border:1px solid rgba(255,255,255,.7); border-radius: 12px; color: var(--ink); background: linear-gradient(145deg,#d8f28a,var(--lime)); box-shadow:0 8px 18px rgba(75,107,44,.16),inset 0 1px 0 white; }
.photo-badge-icon .ui-icon { width:17px; height:17px; transition:transform .3s ease; }
.photo-badge:hover .photo-badge-icon .ui-icon { transform:translate(2px,-2px); }
.photo-badge small { display: block; color: #73817c; font-size: 7px; letter-spacing: .7px; }
.photo-badge strong { display: block; margin-top: 2px; font: 700 13px var(--font-head); }
.photo-funding-badge { position:absolute; z-index:3; top:22px; right:-18px; display:flex; align-items:center; gap:10px; min-width:178px; padding:11px 13px 11px 10px; border:1px solid rgba(255,255,255,.78); border-radius:16px; color:white; background:linear-gradient(135deg,rgba(18,61,52,.94),rgba(20,76,61,.9)); box-shadow:0 16px 36px rgba(15,49,41,.22),inset 0 1px 0 rgba(255,255,255,.13); backdrop-filter:blur(13px); animation:funding-float 4.2s ease-in-out infinite; }
.photo-funding-badge > span { width:38px; height:38px; display:grid; place-items:center; flex:0 0 auto; border-radius:12px; color:#173b31; background:linear-gradient(145deg,#d7f681,#b7df55); }
.photo-funding-badge > span .ui-icon { width:18px; height:18px; stroke-width:2.2; }
.photo-funding-badge div { display:flex; flex-direction:column; }
.photo-funding-badge small { color:#a9c5bc; font-size:6.5px; font-weight:800; letter-spacing:.8px; }
.photo-funding-badge strong { margin-top:2px; color:#e0fa97; font:800 16px var(--font-head); letter-spacing:-.35px; }
.photo-funding-badge em { margin-top:1px; color:#d4e1dc; font-size:8px; font-style:normal; }
@keyframes funding-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-6px); } }

.logo-strip { position: relative; z-index:5; display: flex; align-items: center; justify-content: space-between; gap: 35px; margin-top: 50px; padding: 21px 0; border-top: 1px solid rgba(19,46,41,.12); }
.logo-strip > span { flex: 0 0 auto; color: #788782; font-size: 10px; text-transform: uppercase; letter-spacing: 1px; }
.logo-list { width: 68%; display: flex; align-items: center; justify-content: space-between; color: #61736e; }
.technology-list { position:relative; overflow:visible; }
.technology-item { position:relative; z-index:1; appearance:none; display:block; padding:11px 7px; border:0; outline:0; color:#687a74; background:transparent; font:700 14px var(--font-head); cursor:pointer; transition:color .22s ease,transform .22s ease; }
.technology-label { position:relative; display:block; white-space:nowrap; }
.technology-label::after { content:""; position:absolute; left:50%; bottom:-7px; width:5px; height:5px; border-radius:50%; background:#8ab34c; opacity:0; transform:translate(-50%,4px) scale(.4); transition:.22s ease; }
.technology-item:hover,.technology-item:focus-visible,.technology-item[aria-expanded="true"] { z-index:20; color:var(--ink); transform:translateY(-2px); }
.technology-item:hover .technology-label::after,.technology-item:focus-visible .technology-label::after,.technology-item[aria-expanded="true"] .technology-label::after { opacity:1; transform:translate(-50%,0) scale(1); }
.technology-preview { position:absolute; z-index:30; left:50%; bottom:calc(100% + 16px); width:262px; display:block; overflow:hidden; border:1px solid rgba(255,255,255,.72); border-radius:19px; color:white; background:#12372f; box-shadow:0 25px 55px rgba(18,49,41,.24),0 0 0 7px rgba(255,255,255,.24); opacity:0; visibility:hidden; pointer-events:none; transform:translate(-50%,14px) scale(.92); transform-origin:50% 100%; transition:opacity .26s ease,visibility .26s ease,transform .34s cubic-bezier(.2,.85,.2,1); text-align:left; }
.technology-preview::after { content:""; position:absolute; left:50%; bottom:-7px; width:14px; height:14px; border-right:1px solid rgba(255,255,255,.35); border-bottom:1px solid rgba(255,255,255,.35); background:#12372f; transform:translateX(-50%) rotate(45deg); }
.technology-item:last-child .technology-preview { left:auto; right:0; transform:translate(0,14px) scale(.92); transform-origin:100% 100%; }
.technology-item:hover .technology-preview,.technology-item:focus-visible .technology-preview,.technology-item[aria-expanded="true"] .technology-preview { opacity:1; visibility:visible; transform:translate(-50%,0) scale(1); }
.technology-item:last-child:hover .technology-preview,.technology-item:last-child:focus-visible .technology-preview,.technology-item:last-child[aria-expanded="true"] .technology-preview { transform:translate(0,0) scale(1); }
.technology-image { position:relative; display:block; height:154px; overflow:hidden; background:#dfe9e4; }
.technology-image::after { content:""; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,rgba(10,37,31,.38)); pointer-events:none; }
.technology-image img { width:100%; height:100%; object-fit:cover; transition:transform .55s cubic-bezier(.2,.75,.2,1),filter .4s ease; }
.technology-item:hover .technology-image img,.technology-item:focus-visible .technology-image img,.technology-item[aria-expanded="true"] .technology-image img { transform:scale(1.055); filter:saturate(1.04) contrast(1.02); }
.technology-copy { position:relative; display:flex; flex-direction:column; min-height:92px; padding:14px 16px 16px; background:linear-gradient(135deg,#123b32,#0f2f29); }
.technology-copy small { color:#b9d477; font-size:7px; font-weight:800; letter-spacing:1px; }
.technology-copy strong { margin-top:4px; color:white; font:750 17px/1.2 var(--font-head); letter-spacing:-.35px; }
.technology-copy em { margin-top:5px; color:#bed0ca; font-size:10px; font-style:normal; font-weight:500; line-height:1.45; }
.proof-band { color: white; background: var(--ink); }
.proof-grid { display: grid; grid-template-columns: repeat(4, 1fr); padding: 28px 0; }
.proof-grid > div { min-height: 56px; display: flex; flex-direction: column; justify-content: center; padding: 0 28px; border-right: 1px solid rgba(255,255,255,.13); }
.proof-grid > div:first-child { padding-left: 0; }
.proof-grid > div:last-child { border: 0; }
.proof-grid strong { display: flex; align-items: baseline; gap: 4px; font-family: var(--font-head); font-size: 22px; line-height: 1.15; letter-spacing: -.5px; white-space: nowrap; }
.proof-grid strong span { display: inline; color: inherit; font: inherit; line-height: inherit; }
.proof-grid span { color: #aebdb8; font-size: 11px; }

.section { padding: 125px 0; }
.section-heading { max-width: 690px; margin-bottom: 52px; }
.section-heading.centered { margin-inline: auto; text-align: center; }
.section-heading.centered .eyebrow { margin-inline: auto; }
h2 { margin-top: 17px; font-size: clamp(40px, 4.7vw, 61px); }
.section-heading p { max-width: 610px; margin: 21px auto 0; color: var(--muted); font-size: 17px; }

.benefits { background: var(--paper); }
.benefit-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.benefit-card { position: relative; min-height: 405px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: #fbf9f3; overflow: hidden; transition: transform .3s ease, box-shadow .3s ease; }
.benefit-card:hover { transform: translateY(-7px); box-shadow: var(--shadow); }
.benefit-card.featured { background: #e7efdc; border-color: rgba(71,105,57,.15); }
.card-number { position: absolute; top: 27px; right: 29px; color: #9ba7a2; font: 700 11px var(--font-head); }
.icon-box { position:relative; width: 50px; height: 50px; display: grid; place-items: center; overflow:hidden; border:1px solid rgba(255,255,255,.12); border-radius: 16px; color: #e9f5f0; background: linear-gradient(145deg,#1a463d,#0c2923); box-shadow:0 12px 25px rgba(19,46,41,.18),inset 0 1px 0 rgba(255,255,255,.12); transition:transform .3s ease,box-shadow .3s ease; }
.icon-box::before,.step-icon::before,.choice-icon::before,.promise-icon::before { content:""; position:absolute; width:28px; height:28px; right:-9px; top:-9px; border-radius:50%; background:rgba(204,238,119,.18); filter:blur(1px); pointer-events:none; }
.icon-box .ui-icon { position:relative; width:22px; height:22px; }
.benefit-card:hover .icon-box { transform:translateY(-3px) rotate(-2deg); box-shadow:0 16px 32px rgba(19,46,41,.23),inset 0 1px 0 rgba(255,255,255,.14); }
.benefit-card h3 { margin-top: 28px; font-size: 24px; letter-spacing: -1px; }
.benefit-card p { max-width: 300px; margin: 14px 0 0; color: var(--muted); font-size: 14px; }
.mini-chart { position: absolute; left: 28px; right: 28px; bottom: 27px; height: 90px; display: flex; align-items: end; gap: 11px; border-bottom: 1px solid #c8d2ce; }
.mini-chart i { flex: 1; border-radius: 8px 8px 0 0; background: linear-gradient(#98c86c, #d7e8b7); }
.independence-ring { position: absolute; right: 30px; bottom: 24px; width: 135px; height: 135px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 11px solid rgba(52,91,67,.15); border-top-color: var(--green); border-right-color: var(--green); border-radius: 50%; transform: rotate(20deg); }
.independence-ring > * { transform: rotate(-20deg); }
.independence-ring span, .independence-ring small { color: #668069; font-size: 9px; text-transform: uppercase; }
.independence-ring strong { font: 800 31px var(--font-head); line-height: 1; }
.value-line { position: absolute; left: 28px; right: 28px; bottom: 45px; display: flex; align-items: center; gap: 12px; color: #83918d; font-size: 10px; }
.value-line i { position: relative; flex: 1; height: 2px; background: linear-gradient(90deg, #a9b4b0, var(--green)); }
.value-line i::after { content: ""; position: absolute; right: 0; top: -3px; width: 8px; height: 8px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 5px rgba(185,220,105,.2); }
.value-line b { color: var(--green); }

.process { background: var(--cream); }
.process-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: 115px; align-items: center; }
.process-copy h2 { margin-bottom: 24px; }
.process-copy p { margin: 0 0 31px; color: var(--muted); font-size: 16px; }
.step-list { margin: 0; padding: 0; list-style: none; }
.step-list li { display: grid; grid-template-columns: 54px 1fr 44px; gap: 20px; align-items: center; min-height: 132px; padding: 22px 4px; border-bottom: 1px solid var(--line); }
.step-list li:first-child { border-top: 1px solid var(--line); }
.step-num { color: #719063; font: 700 11px var(--font-head); }
.step-list h3 { font-size: 20px; letter-spacing: -.8px; }
.step-list p { margin: 8px 0 0; color: var(--muted); font-size: 13px; }
.step-icon { position:relative; width: 46px; height: 46px; display: grid; place-items: center; overflow:hidden; border: 1px solid rgba(31,90,73,.13); border-radius: 15px; color: var(--green); background: linear-gradient(145deg,#fffefb,#edf3ea); box-shadow:0 9px 22px rgba(19,46,41,.08),inset 0 1px 0 white; transition:transform .3s ease,color .3s ease,background .3s ease,box-shadow .3s ease; }
.step-icon .ui-icon { position:relative; width:19px; height:19px; }
.step-list li:hover .step-icon { transform:translateX(3px) rotate(2deg); color:white; background:linear-gradient(145deg,#1f5a49,#123b32); box-shadow:0 13px 27px rgba(19,46,41,.17); }

.solutions { background: var(--paper); }
.solution-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.solution-card { position: relative; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: #faf8f2; isolation: isolate; transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease; }
.solution-card:hover { transform: translateY(-7px); box-shadow: var(--shadow); }
.solution-top { position: absolute; z-index: 3; left: 21px; right: 21px; top: 20px; display: flex; justify-content: space-between; align-items: center; }
.solution-tag { padding: 7px 11px; border: 1px solid rgba(255,255,255,.58); border-radius: 100px; color: white; background: rgba(17,52,44,.65); box-shadow: 0 6px 20px rgba(12,40,33,.13); backdrop-filter: blur(9px); text-transform: uppercase; font-size: 8px; font-weight: 800; letter-spacing: .8px; }
.solution-arrow { width: 38px; height: 38px; display: grid; place-items: center; border:1px solid rgba(255,255,255,.72); border-radius: 50%; color: var(--ink); background: rgba(255,255,255,.88); box-shadow: 0 9px 24px rgba(12,40,33,.14),inset 0 1px 0 white; backdrop-filter:blur(10px); transition: transform .35s ease, background .35s ease,box-shadow .35s ease; }
.solution-arrow .ui-icon { width:17px; height:17px; }
.solution-art { position: relative; width: 100%; height: auto; aspect-ratio: 4 / 3; overflow: hidden; background: #dce6df; }
.solution-media::after { content:""; position:absolute; z-index:1; inset:0; pointer-events:none; background:linear-gradient(180deg,rgba(11,39,32,.03) 48%,rgba(11,39,32,.22) 100%); transition:opacity .4s ease; }
.solution-media img { width:100%; height:100%; max-width:none; object-fit:cover; transform:scale(1.002); transition:transform .7s cubic-bezier(.2,.75,.2,1), filter .45s ease; }
.solution-card.heat .solution-media img { object-position:58% 52%; }
.solution-card.solar .solution-media img { object-position:50% 48%; }
.solution-card.combo .solution-media img { object-position:54% 52%; }
.solution-card:hover .solution-media img { transform:scale(1.055); filter:saturate(1.04) contrast(1.025); }
.solution-card:hover .solution-media::after { opacity:.76; }
.solution-card:hover .solution-arrow { transform:translate(3px,-3px) rotate(6deg); background:var(--lime-bright); box-shadow:0 13px 28px rgba(12,40,33,.2),0 0 0 5px rgba(204,238,119,.18); }
.solution-title-row { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.best-badge { flex:0 0 auto; padding:7px 11px; border-radius:100px; color:var(--ink); background:var(--lime); box-shadow:0 6px 18px rgba(57,89,40,.12); font-size:9px; font-weight:800; white-space:nowrap; }
.solution-body { padding:27px 27px 30px; }
.solution-body h3 { font-size:27px; letter-spacing:-1px; }
.solution-body p { min-height:66px; margin:13px 0 20px; color:var(--muted); font-size:13px; }
.solution-body ul { margin:0; padding:16px 0 0; border-top:1px solid var(--line); list-style:none; }
.solution-body li { position:relative; margin-top:8px; padding-left:20px; color:#4f6660; font-size:12px; }
.solution-body li::before,.result-reasons li::before { content:""; position:absolute; left:0; top:.22em; width:13px; height:13px; background:#68933f; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 8 3 3 7-7' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 8 3 3 7-7' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; }

.check-section { position: relative; padding: 124px 0; color: white; background: linear-gradient(135deg,#102f29 0%,#0d2b25 52%,#12372f 100%); overflow: clip; overflow-anchor:none; }
.check-section::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.16; background-image:radial-gradient(rgba(255,255,255,.22) .65px,transparent .65px); background-size:19px 19px; mask-image:linear-gradient(90deg,#000,transparent 55%); }
.check-decoration { position: absolute; width: 760px; height: 760px; left: -310px; bottom: -390px; border: 1px solid rgba(255,255,255,.07); border-radius: 50%; box-shadow: 0 0 0 92px rgba(255,255,255,.018), 0 0 0 184px rgba(255,255,255,.014); }
.check-layout { position: relative; display: grid; grid-template-columns: minmax(320px,.72fr) minmax(620px,1.28fr); gap: clamp(55px,6vw,94px); align-items: start; }
.check-intro { position: sticky; top: 128px; padding-top: 92px; }
.check-intro h2 { max-width:430px; color: white; font-size:clamp(52px,4.4vw,66px); }
.check-intro p { max-width:410px; margin: 25px 0 30px; color: #b8c9c3; font-size: 15px; line-height:1.75; }
.check-trust { display: flex; flex-direction: column; gap: 9px; color: #e2ebe7; font-size: 12px; }
.check-trust > span { display:flex; align-items:center; gap:10px; }
.check-trust i { width:24px; height:24px; display:grid; place-items:center; flex:0 0 auto; border:1px solid rgba(203,238,119,.28); border-radius:9px; color:var(--lime-bright); background:linear-gradient(145deg,rgba(203,238,119,.14),rgba(203,238,119,.05)); box-shadow:0 7px 16px rgba(0,0,0,.09),inset 0 1px 0 rgba(255,255,255,.08); font-style:normal; }
.check-trust i .ui-icon { width:13px; height:13px; stroke-width:2.4; }
.quiz-shell { position:relative; min-height: 565px; scroll-margin-top:110px; overflow-anchor:none; padding: 36px 38px 34px; border: 1px solid rgba(255,255,255,.5); border-radius: 30px; color: var(--ink); background: linear-gradient(145deg,#fffefb 0%,#fbfaf5 100%); box-shadow: 0 32px 90px rgba(0,0,0,.26), inset 0 1px 0 white; }
.quiz-shell.result-mode { padding:40px 42px 38px; }
.quiz-shell.result-mode .quiz-top strong { max-width:600px; font-size:27px; line-height:1.2; }
.quiz-shell.result-mode .progress-track { height:6px; margin:26px 0 30px; }
.quiz-shell::before { content:""; position:absolute; inset:10px; pointer-events:none; border:1px solid rgba(19,46,41,.035); border-radius:22px; }
.quiz-shell form { position:relative; }
.quiz-top { position:relative; display: flex; justify-content: space-between; align-items:flex-start; gap: 26px; }
.quiz-heading { min-width:0; padding-top:2px; }
.quiz-heading > span { display: block; color: #71847e; font-size: 9px; font-weight:800; text-transform: uppercase; letter-spacing: 1.25px; }
.quiz-top strong { display: block; max-width:520px; margin-top: 8px; font: 750 23px var(--font-head); line-height:1.24; letter-spacing: -.75px; }
.quiz-progress-state { display:flex; flex-direction:column; align-items:center; flex:0 0 auto; gap:5px; }
.quiz-progress-state small { color:#87958f; font-size:8px; font-weight:700; letter-spacing:.25px; }
.quiz-percent { --progress:0; width: 54px; height: 54px; position:relative; display: grid; place-items: center; isolation:isolate; border-radius: 50%; color: var(--green); background: conic-gradient(var(--lime) calc(var(--progress) * 1%),#e8eee4 0); font-size:11px; font-weight: 800; letter-spacing: -.1px; }
.quiz-percent::before { content:""; position:absolute; z-index:-1; inset:5px; border-radius:50%; background:#fffefb; box-shadow:inset 0 0 0 1px rgba(19,46,41,.04); }
.progress-track { position:relative; height: 5px; margin: 24px 0 28px; border-radius: 10px; background: #e2e8e2; box-shadow:inset 0 1px 2px rgba(19,46,41,.07); overflow: hidden; }
.progress-track > span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--green-light),var(--lime)); box-shadow:0 0 14px rgba(185,220,105,.4); transition: width .45s cubic-bezier(.22,.75,.22,1); }
.quiz-step { display: none; animation: step-in .35s ease; }
.quiz-step.active { display: block; }
@keyframes step-in { from { opacity:0; transform:translateX(14px); } to { opacity:1; transform:none; } }
.quiz-hint { margin: 0 0 16px; color: #71817c; font-size: 11px; }
.choice-grid { display: grid; gap: 13px; }
.choice-grid.three { grid-template-columns: repeat(3, 1fr); }
.choice-grid.two { grid-template-columns: repeat(2, 1fr); }
.choice-card { position: relative; min-height: 165px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 21px; border: 1px solid #d9e2dc; border-radius: 18px; background: rgba(255,255,255,.72); cursor: pointer; transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease, background .25s ease; text-align: center; }
.choice-card:has(input:checked) { border-color: #376e5e; background: #f0f6e9; box-shadow: inset 0 0 0 1px #376e5e, 0 11px 26px rgba(24,55,47,.08); }
.choice-card:focus-within { outline:3px solid rgba(185,220,105,.35); outline-offset:2px; }
.choice-card input, .choice-list input { position: absolute; width:1px; height:1px; opacity: 0; pointer-events: none; }
.choice-icon { position:relative; width: 52px; height: 52px; display: grid; place-items: center; margin-bottom: 13px; overflow:hidden; border:1px solid rgba(33,75,64,.08); border-radius: 16px; color:#214b40; background: linear-gradient(145deg,#eef5f1,#dce9e3); box-shadow:0 9px 20px rgba(27,66,56,.09),inset 0 1px 0 rgba(255,255,255,.9); transition:transform .25s ease,box-shadow .25s ease; }
.choice-icon .ui-icon { position:relative; width:23px; height:23px; }
.solar-choice { border-color:rgba(201,144,32,.11); background: linear-gradient(145deg,#fff8dc,#ffedb7); color: #ba7d13; }.combo-choice { background: linear-gradient(145deg,#f0f5e7,#dfe9cc); }
.choice-card strong { font: 750 14px var(--font-head); letter-spacing: -.25px; }
.choice-card small { margin-top: 4px; color: #788984; font-size: 10px; }
.choice-card > i { position: absolute; right: 13px; top: 13px; width: 25px; height: 25px; display: grid; place-items: center; border:1px solid rgba(255,255,255,.45); border-radius: 50%; color: white; background: linear-gradient(145deg,#347564,var(--green)); box-shadow:0 7px 15px rgba(31,90,73,.25),inset 0 1px 0 rgba(255,255,255,.25); font-style: normal; opacity:0; transform:scale(.65); transition:.22s ease; }
.choice-card > i .ui-icon { width:13px; height:13px; stroke-width:2.5; }
.choice-card:has(input:checked) > i { opacity:1; transform:scale(1); }
.choice-card:has(input:checked) .choice-icon { transform:scale(1.05); }
.choice-card.horizontal { min-height: 108px; flex-direction: row; justify-content: flex-start; gap: 16px; text-align: left; }
.choice-card.horizontal .choice-icon { margin: 0; flex: 0 0 auto; }
.choice-card.horizontal span:not(.choice-icon) { display: flex; flex-direction: column; }
.product-choices .choice-card.horizontal { min-height: 105px; }
.product-choices .choice-card.bonus-choice { min-height:118px; }
.product-choices .choice-card { overflow:hidden; }
.product-choices .choice-card::after { content:""; position:absolute; inset:auto -30% -70% 35%; height:100%; border-radius:50%; background:radial-gradient(circle,rgba(194,239,102,.19),transparent 68%); opacity:0; transition:opacity .28s ease,transform .4s ease; pointer-events:none; }
.product-choices .choice-card:hover::after,.product-choices .choice-card:has(input:checked)::after { opacity:1; transform:translate(-7%,-8%); }
.quiz-shell.is-advancing .quiz-step.active { animation:choice-step-out .2s ease forwards; }
.choice-bonus { align-self:flex-start; margin-top:7px; padding:4px 7px; border:1px solid rgba(153,190,73,.24); border-radius:100px; color:#496923; background:#eef7d7; font-size:8px; font-style:normal; font-weight:800; letter-spacing:.15px; line-height:1.2; }
.choice-card:has(input:checked) .choice-bonus { color:#31591d; background:#dff0b7; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.field { display: flex; flex-direction: column; gap: 7px; }
.field.full { grid-column: 1 / -1; }
.field-card { position:relative; padding:14px; border:1px solid rgba(31,90,73,.09); border-radius:18px; background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(251,250,245,.88)); box-shadow:0 10px 26px rgba(19,46,41,.05), inset 0 1px 0 rgba(255,255,255,.82); transition:border-color .25s ease, transform .25s ease, box-shadow .25s ease; }
.field-card:hover { border-color:rgba(145,171,126,.35); transform:translateY(-1px); box-shadow:0 14px 28px rgba(19,46,41,.07), inset 0 1px 0 rgba(255,255,255,.84); }
.field-card:focus-within { border-color:rgba(55,110,94,.26); transform:translateY(-1px); box-shadow:0 16px 30px rgba(19,46,41,.08), 0 0 0 4px rgba(31,90,73,.05); }
.field span { font-size: 11px; font-weight: 700; }
.field-label-row { display:flex; align-items:center; gap:10px; }
.field-symbol { width:34px; height:34px; display:grid; place-items:center; flex:0 0 auto; border:1px solid rgba(31,90,73,.08); border-radius:11px; color:var(--green); background:linear-gradient(145deg,#f4f8ef,#e6f0dc); box-shadow:0 8px 18px rgba(31,90,73,.08), inset 0 1px 0 rgba(255,255,255,.85); }
.field-symbol .ui-icon { width:16px; height:16px; }
.field-label-copy { display:flex; flex-direction:column; gap:2px; line-height:1.25; }
.field-help { margin-top:1px; color:#87958f; font-size:9.5px; font-weight:500; line-height:1.5; }
.field input, .field select { width: 100%; height: 56px; padding: 0 16px; border: 1px solid #d9e0da; border-radius: 14px; outline: 0; color: var(--ink); background: linear-gradient(180deg,#ffffff,#fcfdfb); transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; box-shadow: inset 0 1px 0 rgba(255,255,255,.88); }
.field input:focus, .field select:focus { border-color: var(--green); box-shadow: 0 0 0 4px rgba(31,90,73,.08), 0 12px 28px rgba(31,90,73,.08); }
.choice-list { display: grid; gap: 10px; }
.choice-list label { position: relative; min-height: 82px; display: grid; grid-template-columns:52px 1fr 32px; align-items: center; gap: 14px; padding: 14px 18px; border: 1px solid #dce2dc; border-radius: 16px; cursor: pointer; transition: .2s; background:linear-gradient(180deg,rgba(255,255,255,.84),rgba(250,248,241,.86)); box-shadow:0 9px 24px rgba(19,46,41,.04), inset 0 1px 0 rgba(255,255,255,.82); }
.choice-list label:hover, .choice-list label:has(input:checked) { border-color: var(--green); background: #eff4e9; }
.choice-list span { display: flex; flex-direction: column; }
.choice-list b { font: 700 13px var(--font-head); }.choice-list small { color:#7b8985; font-size:10px; }.choice-list i { width:32px; height:32px; display:grid; place-items:center; flex:0 0 auto; border-radius:10px; color:#66875d; background:#edf3e8; box-shadow:inset 0 0 0 1px rgba(31,90,73,.06); font-style:normal; transition:transform .25s ease,background .25s ease,color .25s ease; }.choice-list i .ui-icon { width:15px; height:15px; }.choice-list label:hover i,.choice-list label:has(input:checked) i { transform:translateX(3px); color:white; background:var(--green); }
.timeline-visual { width:52px; min-height:52px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; border:1px solid rgba(31,90,73,.08); border-radius:14px; color:var(--green); background:linear-gradient(145deg,#f6faef,#e9f2e0); box-shadow:0 10px 20px rgba(31,90,73,.07), inset 0 1px 0 rgba(255,255,255,.9); }
.timeline-visual .ui-icon { width:18px; height:18px; }
.timeline-visual small { color:#5f736c; font-size:8px; font-weight:700; letter-spacing:.5px; text-transform:uppercase; }
.choice-list label:hover .timeline-visual, .choice-list label:has(input:checked) .timeline-visual { color:white; background:linear-gradient(145deg,#2c6b59,#1b4f43); box-shadow:0 12px 24px rgba(25,74,62,.18), inset 0 1px 0 rgba(255,255,255,.14); }
.choice-list label:hover .timeline-visual small, .choice-list label:has(input:checked) .timeline-visual small { color:#eaf4dd; }
.adaptive-panel { padding: 18px; border: 1px solid rgba(31,90,73,.1); border-radius: 20px; background: linear-gradient(180deg,#fcfbf6,#f7f5ee); box-shadow:0 16px 34px rgba(19,46,41,.045), inset 0 1px 0 rgba(255,255,255,.92); }
.adaptive-panel + .adaptive-panel { margin-top: 12px; }
.quiz-visual-strip { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:0 0 18px; }
.quiz-visual-strip.compact { grid-template-columns:repeat(3,1fr); }
.visual-chip { display:flex; align-items:center; gap:12px; padding:12px 14px; border:1px solid rgba(31,90,73,.08); border-radius:16px; background:linear-gradient(145deg,rgba(255,255,255,.84),rgba(247,245,238,.92)); box-shadow:0 10px 22px rgba(19,46,41,.045), inset 0 1px 0 rgba(255,255,255,.9); }
.visual-chip > span { width:38px; height:38px; display:grid; place-items:center; flex:0 0 auto; border-radius:12px; color:var(--green); background:linear-gradient(145deg,#eff6e8,#dfebd2); box-shadow:0 8px 18px rgba(31,90,73,.08), inset 0 1px 0 rgba(255,255,255,.9); }
.visual-chip > span .ui-icon { width:17px; height:17px; }
.visual-chip strong { display:block; font:700 11px var(--font-head); letter-spacing:.35px; text-transform:uppercase; color:#1d3f36; }
.visual-chip small { display:block; margin-top:3px; color:#73827d; font-size:9.5px; line-height:1.4; }
.quiz-visual-strip.info-only { padding:6px 0 2px; border:0; border-radius:0; background:transparent; }
.quiz-visual-strip.info-only .visual-chip { border:0; border-radius:0; background:transparent; box-shadow:none; padding:6px 2px; }
.quiz-visual-strip.info-only .visual-chip > span { width:32px; height:32px; box-shadow:none; background:rgba(223,235,210,.82); }
.quiz-visual-strip.info-only .visual-chip strong { color:#566a64; }
.quiz-visual-strip.info-only .visual-chip small { color:#83918c; }
.step-guide { display:grid; gap:10px; margin:0 0 18px; }
.step-guide-label { color:#6d807a; font:800 10px var(--font-head); letter-spacing:1.3px; text-transform:uppercase; }
.step-guide-items { display:flex; flex-wrap:wrap; gap:10px 16px; }
.step-guide-items span { display:inline-flex; align-items:center; gap:8px; color:#4d625c; font-size:11px; font-weight:700; }
.step-guide-items .ui-icon { width:14px; height:14px; color:#7da95b; }
.adaptive-heading { display: flex; align-items: center; gap: 9px; margin-bottom: 13px; }
.adaptive-heading > span { width: 34px; height: 34px; display: grid; place-items: center; border:1px solid rgba(31,90,73,.08); border-radius: 11px; color: var(--green); background:linear-gradient(145deg,#eff5e9,#e0ebd6); box-shadow:0 7px 16px rgba(31,90,73,.08),inset 0 1px 0 white; }
.adaptive-heading > span .ui-icon { width:17px; height:17px; }
.adaptive-heading strong { font: 700 12px var(--font-head); }
.funding-input-panel { position:relative; margin-top:20px; padding:20px; border:1px solid rgba(197,145,32,.16); border-radius:18px; background:linear-gradient(135deg,#fffaf0 0%,#f8f3e7 56%,#f6efdf 100%); box-shadow:0 16px 34px rgba(110,89,34,.08), inset 0 1px 0 rgba(255,255,255,.95); overflow:hidden; }
.kfw-section-break { position:relative; display:grid; gap:6px; margin:20px 0 12px; padding-top:12px; }
.kfw-section-break::before { content:""; position:absolute; left:0; right:0; top:0; height:1px; background:linear-gradient(90deg,rgba(214,168,55,.7),rgba(214,168,55,.15) 45%,transparent 100%); }
.kfw-section-kicker { width:fit-content; padding:0 0 2px; color:#ad7c19; font:800 10px var(--font-head); letter-spacing:1.4px; text-transform:uppercase; }
.kfw-section-break strong { display:block; font:760 18px/1.2 var(--font-head); letter-spacing:-.4px; color:#45320c; }
.kfw-section-break small { display:block; max-width:620px; color:#7b6a4c; font-size:11px; line-height:1.55; }
.field-card-question { padding:17px; border-color:rgba(31,90,73,.08); border-radius:22px; background:linear-gradient(160deg,rgba(255,255,255,.96),rgba(248,247,241,.88)); box-shadow:0 16px 38px rgba(19,46,41,.055),inset 0 1px 0 #fff; }
.field-card-question .field-label-row { align-items:center; gap:11px; margin-bottom:15px; }
.field-card-question .field-symbol { width:35px; height:35px; border:0; border-radius:11px; background:rgba(228,240,218,.72); box-shadow:none; }
.field-card-question .field-symbol .ui-icon { width:16px; height:16px; }
.field-card-question .field-label-copy { display:flex; flex-direction:column; gap:3px; font:770 16px/1.2 var(--font-head); letter-spacing:-.4px; color:#18352d; }
.field-card-question .field-label-copy em { color:#7d8c87; font-style:normal; font-weight:700; }
.field-card-question .field-help { margin-top:12px; padding-left:52px; font-size:10px; line-height:1.6; }
.cardified-select { position:absolute; width:1px; height:1px; padding:0; margin:-1px; border:0; opacity:0; pointer-events:none; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); }
.option-card-grid { display:grid; grid-template-columns:repeat(var(--option-columns,3),minmax(0,1fr)); gap:10px; }
.option-card { position:relative; min-height:108px; display:grid; grid-template-columns:42px minmax(0,1fr); align-items:center; gap:11px; padding:14px 13px; border:1px solid rgba(31,90,73,.1); border-radius:17px; color:#14352e; background:linear-gradient(145deg,#fff,rgba(247,245,238,.95)); box-shadow:0 10px 24px rgba(19,46,41,.04),inset 0 1px 0 rgba(255,255,255,.96); cursor:pointer; text-align:left; overflow:hidden; transition:border-color .26s ease,transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease,background .3s ease; }
.option-card::before { content:""; position:absolute; inset:0; border-radius:inherit; background:radial-gradient(circle at top right,rgba(194,239,102,.12),transparent 36%); opacity:0; transition:opacity .24s ease; pointer-events:none; }
.option-card:hover { border-color:rgba(125,169,91,.48); transform:translateY(-3px); box-shadow:0 17px 32px rgba(19,46,41,.09),inset 0 1px 0 rgba(255,255,255,.98); }
.option-card:hover::before,.option-card.selected::before { opacity:1; }
.option-card:focus-visible { outline:3px solid rgba(185,220,105,.35); outline-offset:3px; }
.option-card.selected { border-color:#34715f; background:linear-gradient(145deg,#f3faec,#e9f3dc); box-shadow:inset 0 0 0 1px rgba(55,110,94,.38),0 15px 31px rgba(24,55,47,.1); transform:translateY(-1px); animation:option-confirm .32s cubic-bezier(.2,.8,.2,1); }
.option-card-visual { position:relative; z-index:1; width:42px; height:42px; display:grid; place-items:center; border:1px solid rgba(31,90,73,.07); border-radius:13px; color:var(--green); background:linear-gradient(145deg,#f2f8ea,#e2efd6); box-shadow:0 7px 16px rgba(31,90,73,.07),inset 0 1px 0 rgba(255,255,255,.94); transition:transform .28s ease,background .28s ease,color .28s ease; }
.option-card-visual .ui-icon { width:18px; height:18px; }
.option-card.selected .option-card-visual { color:white; background:linear-gradient(145deg,#347564,var(--green)); box-shadow:0 14px 25px rgba(31,90,73,.18), inset 0 1px 0 rgba(255,255,255,.18); transform:translateY(-1px); }
.option-card-copy { position:relative; z-index:1; display:flex; flex-direction:column; gap:4px; width:100%; min-width:0; }
.option-card-copy strong { display:block; font:760 14px/1.22 var(--font-head); letter-spacing:-.28px; color:#17362f; overflow-wrap:anywhere; }
.option-card-copy small { display:block; color:#71817c; font-size:9.5px; line-height:1.38; }
.option-card-mark { position:absolute; top:8px; right:8px; width:23px; height:23px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.42); border-radius:50%; color:white; background:linear-gradient(145deg,#347564,var(--green)); box-shadow:0 7px 14px rgba(31,90,73,.2),inset 0 1px 0 rgba(255,255,255,.25); opacity:0; transform:scale(.7); transition:opacity .22s ease,transform .22s ease; }
.option-card-mark .ui-icon { width:14px; height:14px; stroke-width:2.45; }
.option-card.selected .option-card-mark { opacity:1; transform:scale(1); }
.option-card-grid[data-option-name="heatConsumption"] .option-card-copy strong { font-size:15px; }
.option-card-grid[data-option-name="heatConsumption"] .option-card-copy small { width:fit-content; padding:3px 7px; border-radius:999px; color:#526a62; background:rgba(223,235,210,.7); font-size:9px; font-weight:700; }
@keyframes option-confirm { 0%{transform:scale(.985)} 60%{transform:scale(1.012)} 100%{transform:translateY(-1px) scale(1)} }
@keyframes choice-step-out { to { opacity:0; transform:translateX(-12px) scale(.992); } }
.guided-sequence-inactive,.guided-panel-inactive,.guided-block-inactive { display:none !important; }
.guided-question-nav { grid-column:1/-1; display:grid; grid-template-columns:auto 1fr; align-items:center; gap:8px 16px; margin:0 0 12px; padding:0 2px; }
.guided-question-nav[hidden] { display:none; }
.guided-question-back { display:inline-flex; align-items:center; gap:7px; width:fit-content; padding:0; border:0; color:#5f756e; background:transparent; font:720 10px var(--font-head); cursor:pointer; transition:color .2s ease,transform .2s ease; }
.guided-question-back[hidden] { visibility:hidden; display:inline-flex; }
.guided-question-back .ui-icon { width:14px; height:14px; }
.guided-question-back:hover { color:var(--green); transform:translateX(-2px); }
.guided-question-nav > small { justify-self:end; color:#73857f; font-size:9px; font-weight:750; letter-spacing:.55px; text-transform:uppercase; }
.guided-question-nav > i { grid-column:1/-1; height:3px; border-radius:999px; background:#e6ebe5; overflow:hidden; }
.guided-question-nav > i b { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#6da25c,var(--lime)); transition:width .38s cubic-bezier(.2,.8,.2,1); }
.guided-visible { animation:question-reveal .42s cubic-bezier(.2,.8,.2,1); }
.guided-leaving { pointer-events:none; animation:question-leave .18s ease forwards; }
@keyframes question-reveal { from { opacity:0; transform:translateX(18px) scale(.99); filter:blur(2px); } to { opacity:1; transform:none; filter:none; } }
@keyframes question-leave { to { opacity:0; transform:translateX(-14px) scale(.992); filter:blur(1px); } }
.funding-input-panel::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(255,255,255,.44),transparent 36%); pointer-events:none; }
.funding-input-panel::after { content:"€"; position:absolute; right:-9px; top:-34px; color:rgba(211,158,44,.065); font:800 132px/1 var(--font-head); pointer-events:none; }
.funding-input-heading { position:relative; z-index:1; display:grid; grid-template-columns:44px 1fr auto; align-items:center; gap:13px; margin-bottom:18px; }
.funding-mini-icon { width:44px; height:44px; display:grid; place-items:center; border:1px solid rgba(212,157,36,.2); border-radius:14px; color:#6c4a0c; background:linear-gradient(145deg,#ffdf85,#edb943); box-shadow:0 10px 22px rgba(171,117,18,.16),inset 0 1px 0 rgba(255,255,255,.6); }
.funding-mini-icon .ui-icon { width:19px; height:19px; stroke-width:2.1; }
.funding-input-heading strong { display:block; font:760 14px var(--font-head); letter-spacing:-.2px; }
.funding-input-heading small { display:block; margin-top:4px; color:#746d59; font-size:10.5px; line-height:1.45; }
.funding-badge { padding:7px 10px; border:1px solid rgba(31,90,73,.1); border-radius:100px; color:var(--green); background:rgba(255,255,255,.78); font-size:9px; font-weight:800; letter-spacing:.7px; box-shadow:0 8px 18px rgba(16,47,41,.05); }
.efficiency-hint { position:relative; z-index:1; display:grid; grid-template-columns:68px 1fr; align-items:center; gap:14px; margin:0 0 18px; padding:14px; border:1px solid rgba(31,90,73,.08); border-radius:15px; background:linear-gradient(135deg,#153d33,#245345 62%,#20473d 100%); box-shadow:0 14px 28px rgba(22,58,49,.12); }
.efficiency-hint > span { min-height:46px; display:grid; place-items:center; border-radius:13px; color:#183b31; background:linear-gradient(145deg,#d5f27d,#b7df58); font:800 18px var(--font-head); box-shadow:inset 0 1px 0 rgba(255,255,255,.6); }
.efficiency-hint p { margin:0; color:#c5d6d0; font-size:10.5px; line-height:1.5; }
.efficiency-hint strong { display:block; margin-bottom:3px; color:white; font:760 12px var(--font-head); letter-spacing:-.15px; }
.funding-fields { position:relative; z-index:1; gap:14px; }
.funding-fields .field span { font-size:11.5px; letter-spacing:-.1px; }
.funding-fields .field span em { color:#8c908b; font-size:9px; font-style:normal; font-weight:600; }
.currency-input { position:relative; }
.currency-input input { padding-right:46px; }
.currency-input b { position:absolute; right:16px; top:50%; transform:translateY(-50%); color:#62736d; font-size:13px; }
.field-error { display: none; margin: 11px 0 0; color: #b44949; font-size: 11px; }
.field-error.show { display: block; }
.quiz-actions { display: flex; justify-content: flex-end; align-items:center; gap: 12px; margin-top: 28px; padding-top:2px; }
.quiz-actions .button { min-width:126px; min-height: 50px; padding-inline:23px; font-size: 12px; }
.quiz-actions .button:disabled { color:#81908b; background:#e9ede7; box-shadow:none; cursor:not-allowed; transform:none; }
#prevStep { margin-right: auto; }
@media (hover:hover) {
  .choice-card:hover { border-color: #91ab7e; transform: translateY(-2px); box-shadow: 0 12px 25px rgba(24,55,47,.08); }
  .choice-card:hover .choice-icon { transform:translateY(-1px); }
}
.result-gate-note { display:grid; grid-template-columns:58px 1fr; gap:16px; margin-bottom:18px; padding:18px 19px; border:1px solid rgba(19,46,41,.08); border-radius:18px; background:linear-gradient(145deg,#fffefb,#f3f6ed); box-shadow:0 12px 28px rgba(19,46,41,.05),inset 0 1px 0 white; }
.result-gate-icon { width:58px; height:58px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.5); border-radius:18px; color:#15372f; background:linear-gradient(145deg,#d7f28a,var(--lime)); box-shadow:0 12px 24px rgba(137,172,71,.18),inset 0 1px 0 rgba(255,255,255,.75); }
.result-gate-icon .ui-icon { width:24px; height:24px; stroke-width:2.1; }
.result-gate-note small { display:block; color:#668078; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:1px; }
.result-gate-note strong { display:block; margin-top:4px; font:760 22px/1.2 var(--font-head); letter-spacing:-.65px; }
.result-gate-note p { margin:7px 0 0; color:#60736d; font-size:12px; line-height:1.6; }
.result-gate { margin-top:0; }
.result-success-inline { display:grid; grid-template-columns:72px minmax(0,1fr); align-items:center; gap:18px; margin:0 0 18px; padding:20px 21px; border:1px solid rgba(31,90,73,.11); border-radius:19px; background:linear-gradient(145deg,#eef6e6,#f8fbf4); box-shadow:0 12px 30px rgba(31,90,73,.08),inset 0 1px 0 rgba(255,255,255,.82); }
.result-success-inline .success-icon { margin:0; box-shadow:0 0 0 9px rgba(198,224,170,.45),0 18px 35px rgba(31,90,73,.16),inset 0 1px 0 rgba(255,255,255,.22); }
.result-success-inline h3 { margin:6px 0 6px; font-size:28px; letter-spacing:-1px; }
.result-success-inline p { margin:0; color:var(--muted); font-size:12px; line-height:1.6; }
.result-output { display:grid; gap:0; }
.priority-lead-card { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:18px; margin-top:18px; padding:22px; border:1px solid rgba(19,46,41,.08); border-radius:20px; background:linear-gradient(145deg,#fffefb,#f7f5ed); box-shadow:0 16px 36px rgba(19,46,41,.06),inset 0 1px 0 white; }
.priority-lead-copy small { display:block; color:#698078; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:1px; }
.priority-lead-copy h4 { margin:6px 0 8px; font:760 22px/1.25 var(--font-head); letter-spacing:-.6px; }
.priority-lead-copy p { max-width:680px; margin:0; color:#61736d; font-size:12px; line-height:1.65; }
.priority-button { min-width:250px; box-shadow:0 14px 32px rgba(137,172,71,.22); }
.priority-lead-success { display:grid; grid-column:1 / -1; grid-template-columns:42px minmax(0,1fr); align-items:flex-start; gap:12px; padding:14px 15px; border:1px solid rgba(31,90,73,.1); border-radius:15px; background:#edf5e7; }
.priority-lead-success strong { display:block; font:760 14px var(--font-head); letter-spacing:-.2px; }
.priority-lead-success p { margin:4px 0 0; color:#5f706a; font-size:11px; line-height:1.55; }
.success-chip { width:42px; height:42px; display:grid; place-items:center; border-radius:13px; color:white; background:linear-gradient(145deg,#2e725f,#1c5143); box-shadow:0 10px 20px rgba(31,90,73,.16); }
.success-chip .ui-icon { width:18px; height:18px; stroke-width:2.5; }
.result-actions-panel { display:flex; justify-content:flex-end; gap:12px; margin-top:16px; padding-top:4px; }
.result-actions-panel .button:first-child { margin-right:auto; }
.result-summary { display: flex; align-items: center; gap: 20px; padding: 22px; border:1px solid rgba(31,90,73,.1); border-radius: 19px; background: #ebf3e2; box-shadow:0 10px 28px rgba(31,90,73,.06),inset 0 1px 0 rgba(255,255,255,.72); transition:background .3s ease,border-color .3s ease; }
.result-summary[data-level="good"] { border-color:rgba(28,112,108,.12); background:#e8f3ef; }
.result-summary[data-level="review"] { border-color:rgba(195,137,28,.16); background:#fff5d9; }
.result-summary[data-level="individual"] { border-color:rgba(91,108,102,.14); background:#eef1ed; }
.result-check { width: 58px; height: 58px; display: grid; place-items:center; flex:0 0 auto; border:1px solid rgba(255,255,255,.4); border-radius:18px; color:white; background:linear-gradient(145deg,#347564,var(--green)); box-shadow:0 13px 28px rgba(31,90,73,.22),inset 0 1px 0 rgba(255,255,255,.25); }
.result-summary[data-level="review"] .result-check { color:#67480c; background:linear-gradient(145deg,#ffd976,#e9b33f); box-shadow:0 10px 22px rgba(173,117,18,.18),inset 0 1px 0 rgba(255,255,255,.45); }
.result-summary[data-level="individual"] .result-check { background:linear-gradient(145deg,#657b74,#40564f); box-shadow:0 10px 22px rgba(36,61,53,.18),inset 0 1px 0 rgba(255,255,255,.2); }
.result-check .ui-icon { width:27px; height:27px; stroke-width:2.2; }
.result-summary small { color:#637970; font-size:10px; font-weight:750; text-transform:uppercase; letter-spacing:1.15px; }.result-summary h3 { margin:4px 0 5px; font-size:26px; line-height:1.15; letter-spacing:-.85px; }.result-summary p { max-width:580px; margin:0; color:#566b64; font-size:12.5px; line-height:1.55; }
.result-metrics { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:14px 0; }
.result-metrics div { padding:17px 18px; border:1px solid rgba(19,46,41,.1); border-radius:15px; background:rgba(255,255,255,.58); box-shadow:inset 0 1px 0 white; }.result-metrics small { display:block; color:#71857e; font-size:10px; font-weight:650; }.result-metrics strong { display:block; margin-top:4px; font:750 17px var(--font-head); line-height:1.3; }
.funding-card { position:relative; margin:18px 0; padding:26px; border:1px solid rgba(210,236,192,.14); border-radius:22px; color:white; background:linear-gradient(138deg,#123d33 0%,#0e3029 48%,#183f34 100%); box-shadow:0 20px 45px rgba(13,48,41,.19),inset 0 1px 0 rgba(255,255,255,.08); overflow:hidden; isolation:isolate; animation:funding-reveal .65s cubic-bezier(.2,.8,.2,1) both; }
.funding-card::before { content:""; position:absolute; inset:0; z-index:-1; opacity:.15; background-image:radial-gradient(rgba(255,255,255,.5) .6px,transparent .7px); background-size:17px 17px; mask-image:linear-gradient(120deg,#000,transparent 65%); }
.funding-card-glow { position:absolute; z-index:-1; width:280px; height:280px; right:-110px; top:-130px; border-radius:50%; background:radial-gradient(circle,rgba(194,239,102,.27),rgba(194,239,102,0) 68%); }
.funding-card[data-type="solar"] { background:linear-gradient(138deg,#123b44 0%,#0e3037 52%,#17434a 100%); }
.funding-card[data-type="solar"] .funding-card-icon { color:#173d44; background:linear-gradient(145deg,#ffe292,#efb940); }
.funding-card[data-type="review"] { background:linear-gradient(138deg,#344d47 0%,#263e38 100%); }
.funding-card-head { display:grid; grid-template-columns:52px 1fr auto; align-items:center; gap:14px; }
.funding-card-icon { width:52px; height:52px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.25); border-radius:16px; color:#193d33; background:linear-gradient(145deg,#d8f48c,#aed955); box-shadow:0 12px 24px rgba(5,27,22,.18),inset 0 1px 0 rgba(255,255,255,.62); }
.funding-card-icon .ui-icon { width:24px; height:24px; stroke-width:2.2; }
.funding-card-head small { display:block; color:#bad0c9; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:1.15px; }
.funding-card-head h3 { margin:5px 0 0; color:white; font:750 21px/1.2 var(--font-head); letter-spacing:-.5px; }
.funding-rate { align-self:start; padding:8px 10px; border:1px solid rgba(208,240,128,.2); border-radius:100px; color:#d8f58d; background:rgba(215,246,137,.09); font-size:10px; font-weight:800; white-space:nowrap; }
.funding-hero { margin:25px 0 21px; padding:20px 0 21px; border-top:1px solid rgba(255,255,255,.11); border-bottom:1px solid rgba(255,255,255,.11); }
.funding-hero > span { display:block; margin-bottom:1px; color:#b8cbc5; font-size:11px; font-weight:700; }
.funding-hero strong { display:flex; align-items:flex-start; color:#d1f16e; font:800 clamp(48px,6vw,64px)/1 var(--font-head); letter-spacing:-3.2px; text-shadow:0 12px 35px rgba(189,231,94,.13); }
.funding-hero strong small { margin:8px 0 0 8px; color:#d1f16e; font:750 24px/1 var(--font-head); letter-spacing:-1px; }
.funding-hero p { margin:9px 0 0; color:#c1d0cb; font-size:11px; line-height:1.55; }
.funding-breakdown { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.funding-chip { min-height:54px; display:flex; align-items:center; gap:9px; padding:9px 11px; border:1px solid rgba(208,240,128,.14); border-radius:13px; background:rgba(221,248,157,.07); }
.funding-chip > i { width:27px; height:27px; display:grid; place-items:center; flex:0 0 auto; border-radius:9px; color:#183c31; background:#c8eb72; }
.funding-chip > i .ui-icon { width:14px; height:14px; stroke-width:2.4; }
.funding-chip > span { min-width:0; }
.funding-chip small,.funding-chip strong { display:block; }
.funding-chip small { overflow:hidden; color:#abc1ba; font-size:8px; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.funding-chip strong { margin-top:3px; color:#f7fbf9; font:750 11px var(--font-head); }
.funding-chip.pending { border-color:rgba(255,255,255,.1); background:rgba(255,255,255,.035); }
.funding-chip.pending > i { color:#d9e4df; background:rgba(255,255,255,.11); }
.funding-chip.pending strong { color:#d7e1dd; }
.funding-bottom { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-top:17px; }
.funding-bottom p { max-width:410px; margin:0; color:#a9bdb6; font-size:9.5px; line-height:1.55; }
.funding-bottom a { display:inline-flex; align-items:center; gap:6px; flex:0 0 auto; color:#d8ef99; font-size:9.5px; font-weight:750; }
.funding-bottom a .ui-icon { width:13px; height:13px; }
@keyframes funding-reveal { from { opacity:0; transform:translateY(14px) scale(.985); } to { opacity:1; transform:none; } }
.result-reasons { padding: 19px 20px; border:1px solid rgba(19,46,41,.04); border-radius: 15px; background: #f5f3eb; }
.result-reasons > small { color: #61756e; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .85px; }
.result-reasons ul { display: grid; gap: 9px; margin: 12px 0 0; padding: 0; list-style: none; }
.result-reasons li { position: relative; padding-left: 22px; color: #405a52; font-size: 12px; line-height:1.5; }
.result-reasons li::before { top:.28em; width:15px; height:15px; }
.result-step[data-level="review"] .result-reasons li::before { background:#b77e12; }
.result-step[data-level="individual"] .result-reasons li::before { background:#536b63; }
.result-method { margin-top:12px; padding:15px 17px; border:1px solid rgba(19,46,41,.08); border-radius:13px; background:#fffefa; }
.result-method strong { display:block; color:#4f675f; font:750 10px var(--font-head); text-transform:uppercase; letter-spacing:.8px; }
.result-method p { margin:6px 0 0; color:#72837d; font-size:10px; line-height:1.65; }
.lead-panel { margin-top:18px; padding:21px; border:1px solid rgba(19,46,41,.09); border-radius:18px; background:linear-gradient(145deg,#fffefb,#f8f6ef); box-shadow:0 14px 34px rgba(19,46,41,.065),inset 0 1px 0 white; }
.lead-intro > span { color:#688079; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:1px; }
.lead-intro h4 { margin:5px 0 6px; font:750 20px var(--font-head); line-height:1.25; letter-spacing:-.45px; }
.lead-intro p { max-width:650px; margin:0; color:#647670; font-size:11.5px; line-height:1.6; }
.lead-benefits { display:flex; flex-wrap:wrap; gap:8px; margin:13px 0 18px; }
.lead-benefits small { display:inline-flex; align-items:center; gap:6px; padding:6px 9px; border:1px solid rgba(31,90,73,.09); border-radius:100px; color:#49645b; background:#edf4e8; font-size:9.5px; font-weight:700; }
.lead-benefits .ui-icon { width:12px; height:12px; color:#54873e; stroke-width:2.4; }
.lead-grid { gap:13px; }.lead-grid .field { gap:6px; }.lead-grid .field input { height:54px; border-radius:13px; font-size:14px; }.lead-grid .field span { font-size:10.5px; }
.consent { position:relative; display:flex; align-items:flex-start; gap:10px; margin-top:15px; color:#5f726b; font-size:10.5px; line-height:1.55; cursor:pointer; }.consent input { width:17px; height:17px; flex:0 0 auto; margin-top:0; accent-color:var(--green); }.consent a { text-decoration:underline; text-underline-offset:2px; }
.quiz-shell.result-mode .quiz-actions { margin-top:20px; }
.quiz-shell.result-mode .quiz-actions .button { min-height:54px; font-size:13px; }
.quiz-shell.result-mode .submit-button { min-width:235px; box-shadow:0 14px 30px rgba(137,172,71,.27); }
.hp-field { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; opacity:0 !important; pointer-events:none !important; }
.success-icon { width:72px; height:72px; display:grid; place-items:center; margin-bottom:20px; border:1px solid rgba(255,255,255,.5); border-radius:22px; color:white; background:linear-gradient(145deg,#347564,var(--green)); box-shadow:0 0 0 10px #e6efdf,0 18px 35px rgba(31,90,73,.22),inset 0 1px 0 rgba(255,255,255,.22); }.success-icon .ui-icon { width:31px; height:31px; stroke-width:2.2; }

.testimonials { background: var(--cream); }
.testimonial-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
blockquote { margin:0; padding:28px; border:1px solid var(--line); border-radius:var(--radius); background:var(--paper); }
.quote-stars { color:#dfad37; font-size:12px; letter-spacing:2px; }
blockquote > p { min-height:120px; margin:20px 0 25px; color:#365149; font-size:15px; line-height:1.75; }
blockquote footer { display:flex; align-items:center; gap:12px; padding-top:18px; border-top:1px solid var(--line); }
blockquote footer > span { width:38px; height:38px; display:grid; place-items:center; border-radius:50%; color:white; background:#769184; font-size:10px; font-weight:700; }
blockquote footer div { display:flex; flex-direction:column; }.testimonial-grid footer strong { font-size:11px; }.testimonial-grid footer small { color:#87938f; font-size:9px; }
.promise-card { position: relative; min-height: 280px; padding: 29px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.promise-card h3 { margin-top: 24px; font-size: 21px; letter-spacing: -.8px; }
.promise-card p { margin: 14px 0 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
.promise-number { position: absolute; top: 28px; right: 28px; color: #9ca8a4; font: 700 10px var(--font-head); }
.promise-icon { position:relative; width: 52px; height: 52px; display: grid; place-items: center; overflow:hidden; border:1px solid rgba(255,255,255,.12); border-radius: 17px; color: #edf7f3; background: linear-gradient(145deg,#1a463d,#0c2923); box-shadow:0 12px 25px rgba(19,46,41,.18),inset 0 1px 0 rgba(255,255,255,.12); transition:transform .3s ease,box-shadow .3s ease; }
.promise-icon .ui-icon { position:relative; width:23px; height:23px; }
.promise-card:hover .promise-icon { transform:translateY(-3px) rotate(-2deg); box-shadow:0 16px 32px rgba(19,46,41,.23); }

.legal-page { min-height: 100vh; padding: 125px 0 80px; background: var(--cream); }
.legal-shell { max-width: 850px; padding: 45px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); box-shadow: var(--shadow); }
.legal-shell h1 { margin: 0 0 28px; font-size: clamp(38px, 5vw, 58px); }
.legal-shell h2 { margin: 36px 0 12px; font-size: 24px; letter-spacing: -.8px; }
.legal-shell p, .legal-shell li { color: var(--muted); font-size: 14px; }
.legal-shell a { color: var(--green); text-decoration: underline; }
.legal-warning { margin-bottom: 28px; padding: 16px 18px; border: 1px solid #d5b86b; border-radius: 14px; color: #6a5520 !important; background: #fff5d9; }
.legal-back { margin-bottom: 22px; display: inline-flex; align-items: center; gap: 8px; font-weight: 700; text-decoration: none !important; }

.faq { background: var(--paper); }
.faq-grid { display:grid; grid-template-columns:.7fr 1.3fr; gap:100px; }
.faq-intro { position:sticky; top:120px; height:fit-content; }.faq-intro p { color:var(--muted); margin:22px 0; }
.contact-link { width:fit-content; display:flex; align-items:center; gap:12px; padding:11px 16px 11px 11px; border:1px solid var(--line); border-radius:16px; background:#fffefa; box-shadow:0 10px 26px rgba(19,46,41,.06); transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }.contact-link > span { width:42px; height:42px; display:grid; place-items:center; border:1px solid rgba(31,90,73,.08); border-radius:13px; color:var(--green); background:linear-gradient(145deg,#eff5e9,#dfead7); box-shadow:0 7px 16px rgba(31,90,73,.09),inset 0 1px 0 white; }.contact-link > span .ui-icon { width:19px; height:19px; }.contact-link:hover { transform:translateY(-2px); border-color:rgba(31,90,73,.18); box-shadow:0 15px 32px rgba(19,46,41,.1); }.contact-link div { display:flex; flex-direction:column; }.contact-link small { color:var(--muted); font-size:9px; }.contact-link strong { font-size:13px; }
.accordion details { border-bottom:1px solid var(--line); }
.accordion details:first-child { border-top:1px solid var(--line); }
.accordion summary { min-height:83px; display:flex; align-items:center; justify-content:space-between; gap:20px; cursor:pointer; list-style:none; font:700 16px var(--font-head); letter-spacing:-.4px; }
.accordion summary::-webkit-details-marker { display:none; }.accordion summary span { width:36px; height:36px; display:grid; place-items:center; flex:0 0 auto; border:1px solid rgba(19,46,41,.07); border-radius:12px; color:var(--green); background:linear-gradient(145deg,#fffefb,var(--cream)); box-shadow:0 7px 16px rgba(19,46,41,.06),inset 0 1px 0 white; transition:transform .3s ease,background .3s ease,box-shadow .3s ease; }.accordion summary span .ui-icon { width:16px; height:16px; }.accordion details[open] summary span { transform:rotate(45deg); color:var(--ink); background:linear-gradient(145deg,#d7f188,var(--lime)); box-shadow:0 9px 20px rgba(94,128,53,.16); }.accordion details p { max-width:650px; margin:-3px 50px 25px 0; color:var(--muted); font-size:13px; }

.final-cta { padding:30px 0 100px; background:var(--paper); }
.final-card { position:relative; padding:80px 30px; border-radius:36px; color:white; background:var(--ink); overflow:hidden; text-align:center; }
.final-card > *:not(.cta-orb) { position:relative; z-index:1; }.final-card .eyebrow { margin-inline:auto; }.final-card h2 { max-width:830px; margin-inline:auto; }.final-card p { color:#b8c7c2; }.final-card .button { margin-top:18px; }
.cta-orb { position:absolute; width:650px; height:650px; left:50%; top:40%; transform:translate(-50%,-50%); border:1px solid rgba(255,255,255,.06); border-radius:50%; box-shadow:0 0 0 100px rgba(255,255,255,.015),0 0 0 200px rgba(255,255,255,.01); }

.site-footer { padding:70px 0 25px; color:#c4ceca; background:#0b231e; }
.footer-grid { display:grid; grid-template-columns:2fr repeat(3,1fr); gap:60px; }.footer-grid > div { display:flex; flex-direction:column; align-items:flex-start; gap:10px; }.footer-logo-link { width: 158px; display: block; padding: 12px 16px; border: 1px solid rgba(255,255,255,.1); border-radius: 22px; background: #fffdf8; box-shadow: 0 18px 40px rgba(0,0,0,.16); transition: transform .25s ease, box-shadow .25s ease; }.footer-logo-link:hover { transform: translateY(-3px); box-shadow: 0 23px 48px rgba(0,0,0,.22); }.footer-logo { width:100%; height:auto; }.footer-identity p { max-width:210px; margin-top:8px; }.footer-grid p { color:#879b94; font-size:12px; }.footer-grid strong { margin-bottom:8px; color:white; font:700 11px var(--font-head); text-transform:uppercase; letter-spacing:1px; }.footer-grid > div > a:not(.brand):not(.footer-logo-link) { color:#97aaa3; font-size:12px; }.footer-grid > div > a:hover { color:var(--lime); }.footer-bottom { display:flex; justify-content:space-between; gap:30px; margin-top:55px; padding-top:22px; border-top:1px solid rgba(255,255,255,.1); color:#71867f; font-size:9px; }
.to-top { position:fixed; right:24px; bottom:24px; z-index:90; width:48px; height:48px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.12); border-radius:16px; color:white; background:linear-gradient(145deg,#1b4a40,var(--ink)); box-shadow:0 12px 28px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.12); cursor:pointer; opacity:0; pointer-events:none; transform:translateY(10px); transition:.3s; }.to-top .ui-icon { width:19px; height:19px; }.to-top.show { opacity:1; pointer-events:auto; transform:none; }.to-top:hover { transform:translateY(-3px); box-shadow:0 16px 32px rgba(0,0,0,.27); }
.demo-notice { position:fixed; z-index:2000; left:50%; bottom:20px; max-width:calc(100% - 30px); display:flex; align-items:center; gap:7px; padding:13px 15px; border-radius:13px; color:white; background:#2d3e39; box-shadow:0 15px 40px rgba(0,0,0,.25); font-size:11px; transform:translate(-50%,140%); transition:.4s; }.demo-notice.show { transform:translate(-50%,0); }.demo-notice button { width:30px; height:30px; display:grid; place-items:center; margin-left:12px; border:1px solid rgba(255,255,255,.12); border-radius:9px; color:white; background:rgba(255,255,255,.07); cursor:pointer; transform:rotate(45deg); }.demo-notice button .ui-icon { width:15px; height:15px; }

.section-cinematic { opacity:.18; transform:translateY(34px) scale(.992); transition:opacity .82s cubic-bezier(.2,.72,.2,1), transform .96s cubic-bezier(.2,.72,.2,1); transition-delay:var(--section-delay,0s); will-change:transform,opacity; }
.section-cinematic.visible { opacity:1; transform:none; }
.reveal { opacity:0; transform:translateY(18px) scale(.996); transition:opacity .62s cubic-bezier(.22,.8,.22,1), transform .72s cubic-bezier(.22,.8,.22,1); will-change:transform,opacity; }
.reveal.visible { opacity:1; transform:none; }
.delay-1 { transition-delay:.1s; }.delay-2 { transition-delay:.2s; }.delay-3 { transition-delay:.3s; }.delay-4 { transition-delay:.4s; }
.hero .reveal { opacity:1; transform:none; }

@media (max-width: 1050px) {
  .hero-grid { grid-template-columns:1fr 1fr; gap:35px; }.process-grid,.faq-grid { gap:55px; }.check-layout { grid-template-columns:minmax(260px,.6fr) minmax(560px,1.4fr); gap:45px; }.main-nav { gap:19px; }
}
@media (max-width: 850px) {
  .site-header,.site-header.scrolled { height:82px; }.brand { gap:10px; }.brand-symbol { width:54px; height:54px; }.brand-wordmark strong { font-size:20px; letter-spacing:1.4px; }.brand-wordmark small { margin-top:5px; font-size:7px; letter-spacing:3.2px; }.brand-wordmark::after { margin-top:6px; }.menu-toggle { position:relative; z-index:3; width:44px; height:44px; display:block; margin-left:auto; border:0; border-radius:50%; background:var(--ink); }.menu-toggle span { position:absolute; left:13px; width:18px; height:1px; background:white; transition:.25s; }.menu-toggle span:first-child { top:18px; }.menu-toggle span:last-child { top:25px; }.menu-toggle[aria-expanded="true"] span:first-child { top:22px; transform:rotate(45deg); }.menu-toggle[aria-expanded="true"] span:last-child { top:22px; transform:rotate(-45deg); }
  .main-nav { position:fixed; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:28px; background:rgba(245,241,232,.98); opacity:0; pointer-events:none; transform:translateY(-15px); transition:.3s; }.main-nav.open { opacity:1; pointer-events:auto; transform:none; }.main-nav a { font:700 25px var(--font-head); }.nav-cta { display:none; }
  .hero { padding-top:115px; }.hero-grid { grid-template-columns:1fr; gap:55px; }.hero-copy { text-align:center; }.hero-copy .eyebrow { margin-inline:auto; }.hero-title-bridge,.hero-actions,.trust-row { justify-content:center; }.hero-lead,.hero-funding-card,.hero-funding-disclaimer { margin-inline:auto; }.hero-visual { width:min(620px,90%); margin-inline:auto; }.logo-strip { margin-top:80px; }.proof-grid { grid-template-columns:repeat(2,1fr); row-gap:25px; }.proof-grid > div:nth-child(2) { border:0; }.proof-grid > div:nth-child(3) { padding-left:0; }
  .benefit-grid,.solution-grid,.testimonial-grid { grid-template-columns:1fr; }.benefit-card { min-height:350px; }.solution-card { display:grid; grid-template-columns:.9fr 1.1fr; }.solution-art { height:100%; min-height:330px; aspect-ratio:auto; }.solution-card.heat .solution-media img { object-position:62% 52%; }.solution-card.solar .solution-media img { object-position:52% 50%; }.solution-card.combo .solution-media img { object-position:58% 52%; }
  .process-grid,.faq-grid { grid-template-columns:1fr; }.process-copy { max-width:600px; }.faq-intro { position:static; }
  .check-section { padding:95px 0; }.check-layout { grid-template-columns:1fr; }.check-intro { position:static; max-width:680px; padding-top:0; }.check-intro h2 { max-width:680px; }.check-intro h2 br { display:none; }.check-trust { flex-direction:row; flex-wrap:wrap; gap:10px 20px; }.quiz-shell { min-height:0; }
  .footer-grid { grid-template-columns:2fr 1fr 1fr; }.footer-grid > div:last-child { grid-column:2; }
}
@media (max-width: 900px) {
  .option-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
  .container { width:min(100% - 28px,1180px); }.section { padding:85px 0; } h1 { max-width:100%; font-size:43px; letter-spacing:-1.8px; } h2 { font-size:39px; letter-spacing:-1.7px; }
  .brand { gap:8px; }.brand::before { width:68px; height:68px; left:-10px; }.brand-symbol { width:50px; height:50px; }.brand-wordmark strong { font-size:18px; letter-spacing:1.2px; }.brand-wordmark small { margin-top:4px; font-size:6px; letter-spacing:2.9px; }.brand-wordmark::after { width:34px; margin-top:5px; }
  .hero { min-height:0; padding-top:105px; }.hero-copy,.hero-lead,.hero-actions { width:100%; max-width:100%; }.hero-title-bridge strong { font-size:9px; letter-spacing:.55px; }.hero-lead { font-size:16px; }.hero-funding-card { grid-template-columns:44px minmax(0,1fr) 26px; gap:11px; padding:14px; text-align:left; }.hero-funding-icon { width:44px; height:44px; border-radius:13px; }.hero-funding-icon .ui-icon { width:20px; height:20px; }.hero-funding-copy strong { padding-right:2px; font-size:14px; }.hero-funding-copy small { font-size:6.8px; }.hero-funding-copy em { font-size:8.5px; }.hero-funding-rate { grid-column:2; grid-row:2; min-width:0; flex-direction:row; justify-content:flex-start; gap:7px; padding:4px 0 0; border:0; }.hero-funding-rate b { font-size:12px; }.hero-funding-rate small { margin:0; font-size:7px; }.hero-funding-arrow { grid-column:3; grid-row:1 / 3; width:26px; height:32px; }.hero-actions { flex-direction:column; }.hero-actions .button { width:100%; }.trust-row { margin-top:27px; padding:13px 14px; }.hero-funding-disclaimer { font-size:8px; }.house-card { width:100%; }.house-photo { border-radius:24px; }.house-card::after { border-radius:24px; }.photo-badge { left:12px; bottom:12px; padding:9px 11px 9px 9px; }.photo-badge-icon { width:31px; height:31px; }.photo-badge strong { font-size:11px; }.photo-funding-badge { top:12px; right:10px; min-width:155px; padding:9px 10px 9px 8px; }.photo-funding-badge > span { width:32px; height:32px; }.photo-funding-badge strong { font-size:13px; }
  .logo-strip { display:block; margin-top:58px; text-align:center; }.logo-list { width:100%; margin-top:15px; }.technology-list { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.technology-item { width:100%; padding:11px 8px; border:1px solid rgba(19,46,41,.08); border-radius:11px; background:rgba(255,255,255,.46); font-size:11px; text-align:center; }.technology-item:hover,.technology-item:focus-visible,.technology-item[aria-expanded="true"] { transform:none; }.technology-item:last-child { grid-column:1/-1; }.technology-label::after { bottom:-5px; }.technology-preview,.technology-item:last-child .technology-preview { position:fixed; z-index:2200; left:14px; right:14px; bottom:16px; width:auto; max-width:420px; margin-inline:auto; transform:translateY(24px) scale(.96); transform-origin:50% 100%; }.technology-item:hover .technology-preview,.technology-item:focus-visible .technology-preview,.technology-item[aria-expanded="true"] .technology-preview,.technology-item:last-child:hover .technology-preview,.technology-item:last-child:focus-visible .technology-preview,.technology-item:last-child[aria-expanded="true"] .technology-preview { transform:translateY(0) scale(1); }.technology-preview::after { display:none; }.technology-image { height:180px; }.technology-copy { min-height:88px; }.technology-copy strong { font-size:18px; }.technology-copy em { font-size:10.5px; }
  .proof-grid { grid-template-columns:1fr 1fr; }.proof-grid > div { padding:0 15px; }.proof-grid strong { font-size:18px; }.proof-grid span { font-size:9px; }
  .section-heading { margin-bottom:35px; }.benefit-card { min-height:340px; padding:23px; }
  .solution-card { display:block; }.solution-art { height:auto; min-height:0; aspect-ratio:4 / 3; }.solution-card.heat .solution-media img { object-position:58% 52%; }.solution-card.solar .solution-media img { object-position:50% 48%; }.solution-card.combo .solution-media img { object-position:54% 52%; }.solution-body p { min-height:0; }
  .step-list li { grid-template-columns:37px 1fr; }.step-icon { display:none; }
  .check-section { padding:82px 0; }.check-intro h2 { font-size:42px; }.check-intro p { margin:20px 0 23px; }.check-trust { flex-direction:column; }.quiz-shell { min-height:0; padding:24px 18px 20px; border-radius:24px; }.quiz-shell.result-mode { padding:25px 18px 22px; }.quiz-shell::before { inset:7px; border-radius:18px; }.quiz-top { gap:13px; }.quiz-top strong,.quiz-shell.result-mode .quiz-top strong { margin-top:5px; font-size:19px; }.quiz-progress-state { gap:3px; }.quiz-percent { width:48px; height:48px; font-size:10px; }.quiz-progress-state small { font-size:7px; }.progress-track,.quiz-shell.result-mode .progress-track { margin:19px 0 22px; }.choice-grid.three,.choice-grid.two { grid-template-columns:1fr; }.choice-card { min-height:92px; flex-direction:row; justify-content:flex-start; gap:13px; padding:16px; text-align:left; }.choice-card .choice-icon { width:45px; height:45px; margin:0; flex:0 0 auto; }.choice-card > small { margin-left:auto; }.choice-card.horizontal,.product-choices .choice-card.horizontal { min-height:92px; }.form-grid { grid-template-columns:1fr; }.field.full { grid-column:auto; }.field-card { padding:13px; border-radius:16px; }.field-symbol { width:32px; height:32px; }.quiz-visual-strip,.quiz-visual-strip.compact { grid-template-columns:1fr; }.quiz-visual-strip.info-only { padding:4px 0 0; }.visual-chip { padding:11px 12px; }.step-guide-items { gap:8px 12px; }.step-guide-items span { font-size:10px; }.choice-list label { grid-template-columns:46px 1fr 30px; gap:10px; padding:13px 14px; }.timeline-visual { width:46px; min-height:46px; border-radius:12px; }.timeline-visual small { font-size:7px; }.kfw-section-break { margin:18px 0 10px; padding-top:10px; }.kfw-section-break strong { font-size:16px; }.kfw-section-break small { font-size:10px; }.funding-input-panel { padding:16px; border-radius:16px; }.funding-input-heading { grid-template-columns:38px 1fr; gap:11px; }.funding-badge { display:none; }.efficiency-hint { grid-template-columns:56px 1fr; gap:12px; padding:12px; }.efficiency-hint > span { min-height:42px; font-size:16px; }.efficiency-hint p { font-size:9.5px; }.quiz-actions { flex-wrap:wrap; margin-top:22px; }.quiz-actions .button { min-width:112px; padding:0 17px; }.result-gate-note { grid-template-columns:48px 1fr; gap:13px; padding:16px; }.result-gate-icon { width:48px; height:48px; border-radius:15px; }.result-gate-note strong { font-size:19px; }.result-gate-note p { font-size:11px; }.result-success-inline { grid-template-columns:1fr; gap:14px; padding:17px; }.result-success-inline .success-icon { margin-bottom:0; }.result-success-inline h3 { font-size:22px; }.result-success-inline p { font-size:11px; }.priority-lead-card { grid-template-columns:1fr; gap:14px; padding:17px; }.priority-lead-copy h4 { font-size:18px; }.priority-lead-copy p { font-size:11px; }.priority-button { width:100%; min-width:0; }.result-actions-panel { flex-direction:column; }.result-actions-panel .button:first-child { margin-right:0; }.result-actions-panel .button { width:100%; }.result-summary { align-items:flex-start; gap:14px; padding:17px; }.result-check { width:48px; height:48px; border-radius:15px; }.result-check .ui-icon { width:22px; height:22px; }.result-summary h3 { font-size:22px; }.result-summary p { font-size:11.5px; }.result-metrics { grid-template-columns:1fr; }.funding-card { padding:20px 17px; border-radius:18px; }.funding-card-head { grid-template-columns:46px 1fr; }.funding-card-icon { width:46px; height:46px; border-radius:14px; }.funding-rate { grid-column:1/-1; justify-self:start; margin-top:2px; }.funding-card-head h3 { font-size:19px; }.funding-hero { margin:19px 0 17px; padding:17px 0; }.funding-hero strong { font-size:45px; letter-spacing:-2.4px; }.funding-hero strong small { margin-top:5px; font-size:21px; }.funding-breakdown { grid-template-columns:1fr; }.funding-chip small { font-size:8.5px; }.funding-chip strong { font-size:11.5px; }.funding-bottom { display:block; }.funding-bottom p { font-size:10px; }.funding-bottom a { margin-top:12px; font-size:10px; }.result-reasons { padding:17px; }.result-reasons li { font-size:11.5px; }.lead-panel { padding:17px; }.lead-intro h4 { font-size:18px; }.lead-intro p { font-size:11px; }.lead-grid .field input { height:52px; }.quiz-shell.result-mode .submit-button { min-width:190px; }
  blockquote > p { min-height:0; }.accordion summary { font-size:14px; }
  .final-card { padding:60px 20px; border-radius:26px; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:35px; }.footer-grid > div:first-child { grid-column:1/-1; }.footer-grid > div:last-child { grid-column:auto; }.footer-bottom { flex-direction:column; }
  .legal-page { padding: 95px 0 55px; }.legal-shell { padding: 28px 20px; }
  .demo-notice { width:calc(100% - 28px); }
  .product-choices .choice-card.bonus-choice { min-height:112px; }
  .choice-bonus { margin-top:6px; font-size:7.5px; }
  .efficiency-hint { grid-template-columns:54px 1fr; padding:11px; }
  .efficiency-hint > span { min-height:40px; font-size:15px; }
  .efficiency-hint p { font-size:9px; }
}
@media (max-width: 600px) {
  .field-card-question { padding:15px 14px 14px; }
  .field-card-question .field-label-row { gap:10px; margin-bottom:12px; }
  .field-card-question .field-symbol { width:36px; height:36px; border-radius:12px; }
  .field-card-question .field-label-copy { font-size:15px; }
  .field-card-question .field-help { padding-left:0; margin-top:10px; }
  .option-card-grid { grid-template-columns:1fr; gap:10px; }
  .option-card { min-height:82px; grid-template-columns:42px minmax(0,1fr); gap:11px; padding:12px; border-radius:15px; }
  .option-card-visual { width:42px; height:42px; border-radius:13px; }
  .option-card-copy strong { font-size:15px; }
  .option-card-copy small { font-size:10px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }.reveal { opacity:1; transform:none; }
}

/* ===== AVYRA Themen-Menü ===== */
.topic-menu { position:relative; flex:0 0 auto; }
.topic-menu-toggle { min-height:42px; display:flex; align-items:center; gap:9px; padding:0 14px; border:1px solid rgba(19,46,41,.13); border-radius:999px; color:var(--ink); background:rgba(255,253,248,.68); box-shadow:0 8px 24px rgba(19,46,41,.04); font-size:12px; font-weight:750; cursor:pointer; transition:border-color .25s ease,background .25s ease,transform .25s ease,box-shadow .25s ease; }
.topic-menu-toggle:hover,.topic-menu-toggle[aria-expanded="true"] { transform:translateY(-1px); border-color:rgba(31,90,73,.28); background:var(--paper); box-shadow:0 12px 28px rgba(19,46,41,.09); }
.topic-menu-lines { width:17px; display:grid; gap:3px; }
.topic-menu-lines i { display:block; height:1.5px; border-radius:2px; background:currentColor; transition:width .25s ease; }
.topic-menu-lines i:nth-child(2) { width:12px; }
.topic-menu-lines i:nth-child(3) { width:8px; }
.topic-menu-toggle:hover .topic-menu-lines i { width:17px; }
.topic-menu-chevron { margin-left:1px; font-size:16px; line-height:1; transform:translateY(-2px); transition:transform .25s ease; }
.topic-menu-toggle[aria-expanded="true"] .topic-menu-chevron { transform:translateY(2px) rotate(180deg); }
.topic-panel { position:absolute; z-index:20; top:calc(100% + 18px); left:0; width:min(690px,calc(100vw - 40px)); padding:22px; border:1px solid rgba(19,46,41,.1); border-radius:24px; background:rgba(255,253,248,.97); box-shadow:0 30px 80px rgba(13,42,35,.18); backdrop-filter:blur(22px); transform-origin:top left; animation:topicOpen .25s cubic-bezier(.2,.8,.2,1); }
.topic-panel::before { content:""; position:absolute; width:16px; height:16px; top:-9px; left:32px; border-left:1px solid rgba(19,46,41,.1); border-top:1px solid rgba(19,46,41,.1); background:var(--paper); transform:rotate(45deg); }
.topic-panel-head { display:grid; grid-template-columns:1fr auto; align-items:end; gap:2px 22px; padding:2px 5px 18px; border-bottom:1px solid var(--line); }
.topic-panel-head span { color:#678078; font-size:9px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; }
.topic-panel-head strong { grid-column:1; font-size:20px; letter-spacing:-.4px; }
.topic-panel-head p { grid-column:2; grid-row:1 / span 2; max-width:230px; margin:0; color:var(--muted); font-size:11px; line-height:1.55; }
.topic-panel-grid { display:grid; grid-template-columns:1fr 1fr; gap:7px; padding:14px 0; }
.topic-panel-grid a { display:grid; grid-template-columns:32px 1fr 20px; align-items:center; gap:11px; min-height:68px; padding:10px 12px; border:1px solid transparent; border-radius:15px; transition:background .22s ease,border-color .22s ease,transform .22s ease; }
.topic-panel-grid a:hover,.topic-panel-grid a[aria-current="page"] { transform:translateX(3px); border-color:rgba(31,90,73,.1); background:#f0f5e9; }
.topic-panel-grid a > span { width:31px; height:31px; display:grid; place-items:center; border-radius:10px; color:#236a59; background:#e6f1df; font-size:9px; font-weight:800; }
.topic-panel-grid a div { display:grid; }
.topic-panel-grid strong { font-size:13px; line-height:1.25; }
.topic-panel-grid small { margin-top:3px; color:var(--muted); font-size:10px; line-height:1.35; }
.topic-panel-grid b { color:#6a8c60; font-size:15px; font-weight:500; transition:transform .22s ease; }
.topic-panel-grid a:hover b { transform:translate(2px,-2px); }
.topic-panel-grid a:last-child { grid-column:1 / -1; }
.topic-panel-cta { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:13px 15px; border-radius:14px; color:white; background:var(--ink); font-size:11px; font-weight:650; }
.topic-panel-cta span { color:var(--lime); font-weight:800; }
@keyframes topicOpen { from { opacity:0; transform:translateY(-8px) scale(.98); } to { opacity:1; transform:none; } }

@media (max-width:1050px) {
  .nav-wrap { gap:20px; }
  .main-nav { gap:16px; }
  .topic-menu-toggle { padding-inline:12px; }
}
@media (max-width:850px) {
  .topic-menu { margin-left:auto; }
  .topic-menu-toggle { min-height:40px; padding:0 12px; }
  .menu-toggle { margin-left:0; }
  .topic-panel { position:fixed; top:78px; left:20px; right:20px; width:auto; max-height:calc(100vh - 98px); overflow:auto; }
  .topic-panel::before { left:calc(50% - 8px); }
  .topic-panel-head { grid-template-columns:1fr; }
  .topic-panel-head p { grid-column:1; grid-row:auto; max-width:none; margin-top:4px; }
  .topic-panel-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:600px) {
  .brand-wordmark { display:none; }
  .topic-menu-toggle > span:nth-child(2),.topic-menu-chevron { display:none; }
  .topic-menu-toggle { width:42px; padding:0; justify-content:center; }
  .topic-panel { left:12px; right:12px; padding:16px; border-radius:20px; }
  .topic-panel-grid { grid-template-columns:1fr; }
  .topic-panel-grid a:last-child { grid-column:auto; }
  .topic-panel-cta { align-items:flex-start; flex-direction:column; gap:4px; }
}

/* ===== Themen-Navigation: Icon-System & Tiefenwirkung ===== */
.topic-panel { isolation:isolate; }
.topic-panel::after { z-index:-1; background:radial-gradient(circle,rgba(185,220,105,.12),transparent 67%); }
.topic-panel-head { border-bottom-color:rgba(255,255,255,.105); }
.topic-panel-head::before { content:""; grid-column:1 / -1; width:46px; height:3px; margin-bottom:10px; border-radius:3px; background:linear-gradient(90deg,var(--lime),#e7a42a); box-shadow:0 0 18px rgba(185,220,105,.28); }
.topic-panel-grid a { position:relative; grid-template-columns:42px minmax(0,1fr) 31px; gap:13px; min-height:80px; }
.topic-panel-grid a::after { content:"↗"; width:29px; height:29px; display:grid; place-items:center; align-self:center; border:1px solid rgba(255,255,255,.1); border-radius:10px; color:#a9c0b7; background:rgba(255,255,255,.035); font-size:12px; transition:color .22s ease,background .22s ease,transform .22s ease; }
.topic-panel-grid a:hover::after,.topic-panel-grid a[aria-current="page"]::after { color:#173a31; background:var(--lime); transform:translate(2px,-2px); }
.topic-panel-grid a > span { width:42px; height:42px; font-size:0; }
.topic-panel-grid a > span::before { content:""; width:21px; height:21px; display:block; background:#d6ee97; -webkit-mask-position:center; -webkit-mask-repeat:no-repeat; -webkit-mask-size:contain; mask-position:center; mask-repeat:no-repeat; mask-size:contain; }
.topic-panel-grid a:nth-child(1) > span::before { -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M7 4c3 3-2 4 1 7s-1 4 0 8M13 3c4 4-2 5 1 8s-1 4 0 8M19 6c2 2-1 3 1 5s-1 3 0 5'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M7 4c3 3-2 4 1 7s-1 4 0 8M13 3c4 4-2 5 1 8s-1 4 0 8M19 6c2 2-1 3 1 5s-1 3 0 5'/%3E%3C/svg%3E"); }
.topic-panel-grid a:nth-child(2) > span::before { -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v3m0 14v3M2 12h3m14 0h3M5 5l2 2m10 10 2 2M19 5l-2 2M7 17l-2 2'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v3m0 14v3M2 12h3m14 0h3M5 5l2 2m10 10 2 2M19 5l-2 2M7 17l-2 2'/%3E%3C/svg%3E"); }
.topic-panel-grid a:nth-child(3) > span::before { -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Crect x='3' y='6' width='17' height='12' rx='2'/%3E%3Cpath d='M20 10h2v4h-2M7 12h9'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Crect x='3' y='6' width='17' height='12' rx='2'/%3E%3Cpath d='M20 10h2v4h-2M7 12h9'/%3E%3C/svg%3E"); }
.topic-panel-grid a:nth-child(4) > span::before { -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M8 3v6m8-6v6M6 9h12v3a6 6 0 0 1-6 6v3M9 5h6'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M8 3v6m8-6v6M6 9h12v3a6 6 0 0 1-6 6v3M9 5h6'/%3E%3C/svg%3E"); }
.topic-panel-grid a:nth-child(5) > span::before { -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Ccircle cx='5' cy='12' r='2'/%3E%3Ccircle cx='19' cy='6' r='2'/%3E%3Ccircle cx='19' cy='18' r='2'/%3E%3Cpath d='M7 12h5m0 0 5-5m-5 5 5 5'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Ccircle cx='5' cy='12' r='2'/%3E%3Ccircle cx='19' cy='6' r='2'/%3E%3Ccircle cx='19' cy='18' r='2'/%3E%3Cpath d='M7 12h5m0 0 5-5m-5 5 5 5'/%3E%3C/svg%3E"); }
.topic-panel-grid a[aria-current="page"] > span { border-color:rgba(204,238,119,.38); background:rgba(204,238,119,.17); box-shadow:0 8px 20px rgba(0,0,0,.12); }
.topic-panel-cta::before { content:""; width:25px; height:25px; flex:0 0 auto; border-radius:8px; background:rgba(19,46,41,.1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23132e29' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M5 12h14m-5-5 5 5-5 5'/%3E%3C/svg%3E") center/14px no-repeat; }
.topic-panel-cta span { margin-left:auto; }

@media (max-width:600px) {
  .topic-panel-grid a { min-height:72px; grid-template-columns:40px minmax(0,1fr) 29px; }
  .topic-panel-grid a > span { width:40px; height:40px; }
  .topic-panel-cta { display:grid; grid-template-columns:25px 1fr; gap:4px 10px; }
  .topic-panel-cta span { grid-column:2; margin-left:0; }
}

/* ===== Themen-Navigation: Premium-Finishing ===== */
.nav-wrap { gap:24px; }
.topic-menu { order:-1; margin:0; }
.topic-menu-chevron { display:none !important; }
.topic-menu-toggle { min-height:44px; padding:0 16px; gap:10px; border-color:rgba(19,46,41,.1); background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(240,242,235,.82)); box-shadow:0 8px 22px rgba(19,46,41,.06),inset 0 1px 0 white; letter-spacing:.15px; }
.topic-menu-toggle:hover,.topic-menu-toggle[aria-expanded="true"] { transform:translateY(-1px); border-color:rgba(31,90,73,.25); background:white; box-shadow:0 14px 30px rgba(19,46,41,.11),inset 0 1px 0 white; }
.topic-menu-lines { width:18px; gap:4px; }
.topic-menu-lines i { height:1.5px; background:#245a4d; }
.topic-panel { top:calc(100% + 16px); width:min(650px,calc(100vw - 40px)); padding:0; overflow:hidden; border:1px solid rgba(255,255,255,.1); border-radius:25px; color:white; background:linear-gradient(145deg,#153d34 0%,#0b2923 78%); box-shadow:0 32px 85px rgba(8,34,28,.28); backdrop-filter:blur(24px); }
.topic-panel::before { left:25px; border-color:rgba(255,255,255,.1); background:#153d34; }
.topic-panel::after { content:""; position:absolute; width:320px; height:320px; right:-180px; top:-185px; border:1px solid rgba(255,255,255,.06); border-radius:50%; box-shadow:0 0 0 55px rgba(255,255,255,.018),0 0 0 110px rgba(255,255,255,.012); pointer-events:none; }
.topic-panel-head { position:relative; z-index:1; display:grid; grid-template-columns:1fr 220px; align-items:end; gap:5px 28px; padding:25px 26px 21px; border-color:rgba(255,255,255,.1); }
.topic-panel-head span { color:#b9dc69; font-size:8.5px; letter-spacing:1.7px; }
.topic-panel-head strong { color:white; font-size:21px; line-height:1.2; letter-spacing:-.45px; }
.topic-panel-head p { color:#9fb6ae; font-size:10.5px; line-height:1.55; }
.topic-panel-grid { position:relative; z-index:1; gap:8px; padding:16px; }
.topic-panel-grid a { grid-template-columns:36px 1fr; min-height:72px; padding:11px 13px; border-color:rgba(255,255,255,.07); border-radius:16px; background:rgba(255,255,255,.035); }
.topic-panel-grid a:hover,.topic-panel-grid a[aria-current="page"] { transform:translateY(-2px); border-color:rgba(204,238,119,.28); background:rgba(204,238,119,.095); box-shadow:0 11px 24px rgba(0,0,0,.12); }
.topic-panel-grid a > span { width:36px; height:36px; border:1px solid rgba(204,238,119,.14); border-radius:12px; color:#d9f195; background:rgba(204,238,119,.09); font-size:8.5px; }
.topic-panel-grid strong { color:#f7fbf8; font-size:13.5px; line-height:1.25; letter-spacing:-.12px; }
.topic-panel-grid small { margin-top:4px; color:#9fb3ac; font-size:9.5px; }
.topic-panel-grid b { display:none; }
.topic-panel-cta { position:relative; z-index:1; margin:0 16px 16px; padding:14px 16px; border:1px solid rgba(204,238,119,.35); border-radius:15px; color:var(--ink); background:linear-gradient(135deg,#d8f38e,#b9dc69); box-shadow:0 12px 28px rgba(0,0,0,.15); font-size:11px; }
.topic-panel-cta span { color:#1b4f40; }

@media (max-width:850px) {
  .nav-wrap { gap:10px; }
  .topic-menu { order:-1; margin-left:0; }
  .menu-toggle { margin-left:auto; }
  .topic-panel { top:76px; }
  .topic-panel::before { left:22px; }
}
@media (max-width:600px) {
  .topic-menu-toggle { width:44px; min-height:44px; padding:0; }
  .topic-panel { left:10px; right:10px; padding:0; }
  .topic-panel-head { grid-template-columns:1fr; padding:22px 20px 18px; }
  .topic-panel-head p { grid-column:1; margin-top:4px; }
  .topic-panel-grid { grid-template-columns:1fr; padding:12px; }
  .topic-panel-cta { margin:0 12px 12px; }
}
