/* Solar-Orakel Partnerportal R4 · kein Hintergrundbild gesetzt.
   Später kann ausschließlich --so-partner-hero-image ergänzt werden. */
:root{--so-bg:#07111a;--so-bg2:#0b1722;--so-card:#101d29;--so-card2:#132332;--so-line:rgba(209,226,238,.13);--so-text:#f4f8fa;--so-muted:#95a8b7;--so-gold:#d7b96c;--so-gold2:#f0d993;--so-teal:#69b7b0;--so-white:#fff;--so-shadow:0 30px 90px rgba(0,0,0,.30);--so-partner-hero-image:none}
*{box-sizing:border-box}.so-partner-page{margin:0;background:var(--so-bg);color:var(--so-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.45}.so-partner-page a{color:inherit}.so-partner-container{width:min(1240px,calc(100% - 48px));margin:0 auto}
.so-partner-topbar{height:76px;display:flex;align-items:center;gap:28px;padding:0 max(24px,calc((100vw - 1240px)/2));position:sticky;top:0;z-index:100;background:rgba(5,13,21,.82);backdrop-filter:blur(22px);border-bottom:1px solid rgba(255,255,255,.07)}.so-partner-brand{display:flex;align-items:center;gap:11px;text-decoration:none;margin-right:auto}.so-partner-brandmark{width:34px;height:34px;border:1px solid rgba(215,185,108,.42);border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 18px rgba(215,185,108,.08),0 0 22px rgba(215,185,108,.07)}.so-partner-brandmark i{width:8px;height:8px;background:var(--so-gold);border-radius:50%;box-shadow:0 0 16px var(--so-gold)}.so-partner-brand>span:last-child{display:grid;line-height:1}.so-partner-brand b{font-size:14px;letter-spacing:.17em}.so-partner-brand small{color:#8094a4;font-size:9px;letter-spacing:.18em;margin-top:5px}.so-partner-nav{display:flex;gap:25px}.so-partner-nav a{text-decoration:none;color:#9aabb9;font-size:13px;font-weight:650}.so-partner-nav a:hover{color:#fff}.so-partner-top-cta{display:inline-flex;align-items:center;gap:12px;text-decoration:none;border:1px solid rgba(215,185,108,.32);border-radius:999px;padding:10px 14px 10px 17px;color:#ead9a6;font-size:12px;font-weight:750;background:rgba(215,185,108,.06)}.so-partner-top-cta span{font-size:17px}
.so-partner-hero{position:relative;overflow:hidden;min-height:690px;display:flex;align-items:center;background-image:linear-gradient(105deg,rgba(5,13,21,.98),rgba(7,18,28,.91) 54%,rgba(9,24,35,.80)),var(--so-partner-hero-image);background-size:cover;background-position:center}.so-partner-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.021) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.021) 1px,transparent 1px);background-size:58px 58px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 88%)}.so-partner-hero-glow{position:absolute;width:720px;height:720px;border-radius:50%;right:-160px;top:-210px;background:radial-gradient(circle,rgba(55,139,147,.16),rgba(215,185,108,.07) 34%,transparent 70%);filter:blur(10px)}.so-partner-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(350px,.75fr);gap:86px;align-items:center;padding:80px 0 92px}.so-partner-eyebrow{display:flex;align-items:center;gap:10px;color:var(--so-gold);font-size:10px;font-weight:900;letter-spacing:.18em}.so-partner-eyebrow span{width:28px;height:1px;background:var(--so-gold)}.so-partner-hero h1{font-size:clamp(48px,6vw,82px);line-height:.98;letter-spacing:-.052em;margin:18px 0 24px;max-width:820px;font-weight:820}.so-partner-lead{font-size:clamp(17px,1.7vw,21px);line-height:1.62;color:#adbdc9;max-width:760px;margin:0}.so-partner-benefits{display:flex;flex-wrap:wrap;gap:8px 18px;margin:27px 0 0}.so-partner-benefits span{font-size:12px;color:#b6c5cf;display:flex;align-items:center;gap:7px}.so-partner-benefits i{font-style:normal;color:var(--so-gold)}.so-partner-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:31px}.so-partner-button{appearance:none;border:1px solid transparent;border-radius:11px;padding:13px 18px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;font:inherit;font-size:13px;font-weight:800;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.so-partner-button:hover{transform:translateY(-1px)}.so-partner-button.primary{color:#151a1c;background:linear-gradient(135deg,#e2c574,#caa858);box-shadow:0 12px 34px rgba(202,168,88,.14)}.so-partner-button.ghost{color:#dce5eb;border-color:rgba(255,255,255,.15);background:rgba(255,255,255,.035)}.so-partner-button.ghost.dark{color:#344957;border-color:#d8e0e6;background:#fff}.so-partner-network{border:1px solid rgba(215,185,108,.20);border-radius:25px;padding:25px;background:linear-gradient(150deg,rgba(18,34,46,.82),rgba(8,20,31,.72));box-shadow:var(--so-shadow);backdrop-filter:blur(16px);min-height:472px}.so-partner-network-head{display:flex;align-items:baseline;gap:8px}.so-partner-network-head span{font-weight:900;letter-spacing:.12em}.so-partner-network-head small{color:#718796;font-size:9px;letter-spacing:.16em}.so-partner-orbit{height:280px;position:relative;display:grid;place-items:center;margin:8px 0}.orbit{position:absolute;border:1px solid rgba(215,185,108,.18);border-radius:50%}.orbit-a{width:220px;height:220px}.orbit-b{width:286px;height:176px;transform:rotate(-22deg);border-color:rgba(105,183,176,.13)}.network-core{width:100px;height:100px;border-radius:50%;display:grid;place-items:center;align-content:center;background:radial-gradient(circle at 35% 30%,#263d49,#0d1c26 66%);border:1px solid rgba(215,185,108,.42);box-shadow:0 0 55px rgba(215,185,108,.10),inset 0 0 24px rgba(215,185,108,.07)}.network-core b{font-size:29px;color:#e4c979;letter-spacing:-.06em}.network-core span{font-size:8px;color:#7e919f;letter-spacing:.12em}.node{position:absolute;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#d7c48d;font-size:10px;font-weight:900;background:#0d202c;border:1px solid rgba(215,185,108,.27);box-shadow:0 10px 30px rgba(0,0,0,.25)}.n1{left:47px;top:74px}.n2{right:32px;top:118px}.n3{left:91px;bottom:25px}.so-partner-network-rows{border-top:1px solid var(--so-line)}.so-partner-network-rows>div{display:flex;justify-content:space-between;gap:16px;padding:12px 2px;border-bottom:1px solid rgba(255,255,255,.065)}.so-partner-network-rows span{font-size:11px;color:#758b9b}.so-partner-network-rows b{font-size:12px;color:#c6d2da}
.so-partner-process{padding:88px 0;background:linear-gradient(180deg,#09151f,#0a1722)}.so-partner-section-head{max-width:760px;margin-bottom:35px}.so-partner-section-head h2,.so-partner-dd-copy h2,.so-partner-apply-head h2{font-size:clamp(32px,4vw,48px);line-height:1.05;letter-spacing:-.035em;margin:13px 0}.so-partner-section-head p,.so-partner-dd-copy>p,.so-partner-apply-head>p{color:#8fa2b1;line-height:1.6;margin:0}.so-partner-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.so-partner-process-grid article{min-height:230px;border:1px solid rgba(255,255,255,.085);border-radius:18px;padding:22px;background:linear-gradient(145deg,rgba(18,34,47,.88),rgba(9,22,32,.72));display:flex;flex-direction:column;justify-content:space-between}.so-partner-process-grid article>b{font-size:12px;letter-spacing:.12em;color:var(--so-gold)}.so-partner-process-grid h3{font-size:19px;margin:0 0 8px}.so-partner-process-grid p{font-size:13px;line-height:1.55;color:#8296a6;margin:0}
.so-partner-dd{padding:94px 0;background:#07111a}.so-partner-dd-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:80px;align-items:start}.so-partner-dd-copy{position:sticky;top:120px}.so-partner-dd-copy h2{max-width:520px}.so-partner-dd-note{margin-top:22px!important;padding-left:15px;border-left:2px solid rgba(215,185,108,.42);font-size:12px!important}.so-partner-dd-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.so-partner-dd-cards article{display:grid;grid-template-columns:50px 1fr;gap:14px;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:20px;background:#0d1b27}.so-partner-dd-cards article>span{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:rgba(215,185,108,.09);border:1px solid rgba(215,185,108,.17);font-size:10px;font-weight:900;color:var(--so-gold)}.so-partner-dd-cards h3{margin:2px 0 6px;font-size:16px}.so-partner-dd-cards p{margin:0;color:#8295a5;font-size:12px;line-height:1.5}
.so-partner-apply{padding:88px 0 110px;background:linear-gradient(180deg,#0a1722,#e9eef1 18%,#edf1f3 100%);color:#21313b}.so-partner-apply-head{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:28px;padding-top:65px}.so-partner-apply-head h2{color:#14242e;max-width:650px}.so-partner-apply-head>p{max-width:390px;color:#60717d;font-size:12px;text-align:right}.so-partner-apply .so-partner-eyebrow{color:#8b6c25}.so-partner-apply .so-partner-eyebrow span{background:#a38337}.so-partner-workspace{display:grid;grid-template-columns:260px 1fr;border:1px solid #d6dee3;border-radius:22px;background:#fff;box-shadow:0 30px 80px rgba(31,50,62,.12);overflow:hidden;min-height:720px}.so-partner-steps{padding:30px 24px;background:linear-gradient(180deg,#0d1c27,#112431);color:#dce7ed;position:relative}.so-partner-step{display:grid;grid-template-columns:32px 1fr 18px;gap:9px;align-items:center;padding:13px 0;opacity:.48;transition:.2s}.so-partner-step b{font-size:10px;color:#d3b868}.so-partner-step span{font-size:12px;font-weight:800}.so-partner-step small{display:block;font-size:9px;font-weight:500;color:#7f94a3;margin-top:3px}.so-partner-step i{font-style:normal;font-size:10px;color:#67bc9a;opacity:0}.so-partner-step.active{opacity:1}.so-partner-step.done{opacity:.76}.so-partner-step.done i{opacity:1}.so-partner-progress{height:3px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden;margin:18px 0}.so-partner-progress span{display:block;width:20%;height:100%;background:linear-gradient(90deg,#c8a754,#ead486);transition:width .25s}.so-partner-steps>p{font-size:10px;line-height:1.5;color:#708595;margin-top:18px}.so-partner-form{display:flex;flex-direction:column;min-width:0}.so-partner-panel{display:none;padding:38px 42px 22px;flex:1}.so-partner-panel.active{display:block}.so-partner-panel>header{padding-bottom:24px;border-bottom:1px solid #e7ecef;margin-bottom:25px}.so-partner-panel>header>span{font-size:9px;font-weight:900;letter-spacing:.14em;color:#9a7b32}.so-partner-panel>header h3{font-size:29px;letter-spacing:-.025em;margin:6px 0;color:#142630}.so-partner-panel>header p{margin:0;color:#71808b;font-size:12px}.so-form-grid{display:grid;gap:14px}.so-form-grid.two{grid-template-columns:1fr 1fr}.so-form-grid .wide{grid-column:1/-1}.so-partner-form label>span,.so-field-label{display:block;font-size:11px;font-weight:800;color:#51636f;margin-bottom:6px}.so-partner-form input:not([type=checkbox]):not([type=radio]):not([type=file]),.so-partner-form textarea{width:100%;border:1px solid #d6dfe4;border-radius:10px;background:#fbfcfd;padding:12px 13px;color:#1d303b;font:inherit;font-size:13px;outline:none;transition:.16s}.so-partner-form input:focus,.so-partner-form textarea:focus{border-color:#ad914b;box-shadow:0 0 0 3px rgba(173,145,75,.10);background:#fff}.so-partner-form textarea{resize:vertical}.so-partner-form label small{display:block;color:#86949e;font-size:10px;margin-top:5px}.so-form-block{margin:24px 0}.so-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.so-choice-grid label{position:relative;border:1px solid #dce3e7;border-radius:12px;padding:14px;background:#fbfcfd;cursor:pointer;display:grid;gap:3px;transition:.15s}.so-choice-grid input{position:absolute;opacity:0}.so-choice-grid label.selected{border-color:#b59a56;background:#fffaf0;box-shadow:0 0 0 2px rgba(181,154,86,.08)}.so-choice-grid b{font-size:12px}.so-choice-grid small{font-size:9px!important;margin:0!important}.so-radio-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.so-radio-cards label{position:relative;border:1px solid #dce3e7;border-radius:12px;padding:15px;background:#fbfcfd;cursor:pointer;display:grid;gap:4px}.so-radio-cards input{position:absolute;opacity:0}.so-radio-cards label.selected{border-color:#94aa9f;background:#f5fbf8;box-shadow:0 0 0 2px rgba(62,126,97,.07)}.so-radio-cards b{font-size:12px}.so-radio-cards small{font-size:9px!important;margin:0!important}.so-check-pills{display:flex;flex-wrap:wrap;gap:7px}.so-check-pills label{cursor:pointer}.so-check-pills input{position:absolute;opacity:0}.so-check-pills span{display:inline-flex!important;margin:0!important;padding:8px 11px;border:1px solid #dae2e6;border-radius:999px;background:#fbfcfd;font-size:10px!important}.so-check-pills input:checked+span{background:#122b36;color:#fff;border-color:#122b36}.so-upload-list{display:grid;gap:10px}.so-upload-card{display:grid;grid-template-columns:44px minmax(0,1fr) minmax(100px,200px);gap:13px;align-items:center;border:1px solid #dce3e7;border-radius:13px;padding:13px 14px;background:#fbfcfd;cursor:pointer;transition:.15s}.so-upload-card:hover{border-color:#b7c4cc;background:#fff}.so-upload-card.has-file{border-color:#8eb9a2;background:#f7fcf9}.so-upload-card.uploaded{border-color:#6faa8a;background:#f2faf5}.so-upload-card.error{border-color:#d99393;background:#fff7f7}.so-upload-card input{position:absolute;width:1px;height:1px;opacity:0}.upload-icon{width:38px;height:38px;border-radius:10px;background:#122834;color:#d9bf76;display:grid;place-items:center;font-size:9px;font-weight:900}.so-upload-card div{display:grid;gap:2px}.so-upload-card b{font-size:12px;color:#253944}.so-upload-card div small{margin:0!important;font-size:9px!important}.so-upload-card em{font-style:normal;color:#8a6d28;font-size:9px;font-weight:800;margin-top:3px}.so-upload-card .file-name{font-size:9px;color:#758792;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.so-upload-card.required b:after{content:""}.so-security-note{display:grid;grid-template-columns:40px 1fr;gap:12px;margin-top:18px;padding:15px;border:1px solid #dfe6e9;border-radius:12px;background:#f6f9fa}.so-security-note>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e5eeeb;color:#386e58}.so-security-note b{font-size:11px}.so-security-note p{font-size:10px;color:#75858f;margin:3px 0 0}.so-reference-grid{display:grid;gap:12px}.so-reference-card{border:1px solid #dfe6ea;border-radius:15px;padding:18px;background:#fbfcfd}.ref-no{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:10px;font-weight:900;letter-spacing:.08em;color:#405661}.ref-no span{font-size:9px;letter-spacing:0;color:#92772f;background:#fff8e7;padding:5px 8px;border-radius:999px}.optional-ref .ref-no span{color:#70818c;background:#eef3f5}.so-declarations{display:grid;gap:10px;margin-top:22px;padding-top:20px;border-top:1px solid #e6ebee}.so-declarations label{display:grid;grid-template-columns:18px 1fr;gap:10px;align-items:start;font-size:10px;color:#64747e;line-height:1.5}.so-declarations input{margin-top:3px;accent-color:#9b7c30}.so-declarations a{color:#775c1b}.so-submit-status{display:none;margin-top:16px;border-radius:11px;padding:12px 14px;font-size:11px}.so-submit-status.active{display:block;background:#f0f5f7;color:#4b6270}.so-submit-status.error{background:#fff0f0;color:#9e4848}.so-submit-status.ok{background:#eef9f3;color:#286b4c}.so-partner-form-actions{border-top:1px solid #e6ebee;padding:17px 42px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}.so-partner-form-actions button:last-child{justify-self:end}.step-caption{font-size:9px;color:#8a98a1}.so-partner-success{max-width:740px;margin:70px auto;background:#fff;border:1px solid #d7e0e5;border-radius:22px;padding:48px;text-align:center;box-shadow:0 30px 80px rgba(31,50,62,.12)}.success-mark{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#edf8f2;color:#3b8d66;font-size:25px;margin:0 auto 18px}.so-partner-success>span{font-size:9px;font-weight:900;letter-spacing:.16em;color:#987a31}.so-partner-success h3{font-size:31px;margin:7px 0 10px}.so-partner-success p{color:#6d7d87}.success-id{margin:20px auto;padding:10px 14px;border-radius:10px;background:#f3f6f7;color:#6a7a84;font-size:10px;width:max-content}.success-id b{color:#253944}.so-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.so-partner-footer{padding:30px 0;background:#050c12;border-top:1px solid rgba(255,255,255,.06)}.so-partner-footer>.so-partner-container{display:flex;justify-content:space-between;align-items:center;gap:20px}.so-partner-footer div>div:first-child{display:grid;gap:4px}.so-partner-footer b{font-size:11px;letter-spacing:.1em}.so-partner-footer span,.so-partner-footer a{font-size:10px;color:#718491}.so-partner-footer div>div:last-child{display:flex;gap:18px}.so-partner-footer a{text-decoration:none}
@media(max-width:1050px){.so-partner-hero-grid,.so-partner-dd-grid{grid-template-columns:1fr;gap:45px}.so-partner-network{max-width:620px}.so-partner-process-grid{grid-template-columns:1fr 1fr}.so-partner-dd-copy{position:static}.so-partner-workspace{grid-template-columns:210px 1fr}.so-choice-grid,.so-radio-cards{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.so-partner-container{width:min(100% - 28px,1240px)}.so-partner-topbar{height:66px;padding:0 14px}.so-partner-nav,.so-partner-top-cta{display:none}.so-partner-hero{min-height:auto}.so-partner-hero-grid{padding:62px 0}.so-partner-hero h1{font-size:47px}.so-partner-process,.so-partner-dd{padding:64px 0}.so-partner-process-grid,.so-partner-dd-cards{grid-template-columns:1fr}.so-partner-apply{padding-top:55px}.so-partner-apply-head{display:block;padding-top:40px}.so-partner-apply-head>p{text-align:left;margin-top:10px}.so-partner-workspace{grid-template-columns:1fr}.so-partner-steps{display:flex;gap:5px;padding:13px;overflow:auto}.so-partner-step{min-width:42px;display:block;padding:8px;text-align:center;border:1px solid rgba(255,255,255,.08);border-radius:9px}.so-partner-step span,.so-partner-step i,.so-partner-steps>p,.so-partner-progress{display:none}.so-partner-step b{font-size:10px}.so-partner-panel{padding:26px 18px}.so-form-grid.two,.so-choice-grid,.so-radio-cards{grid-template-columns:1fr}.so-upload-card{grid-template-columns:40px 1fr}.so-upload-card .file-name{grid-column:2;text-align:left}.so-partner-form-actions{padding:14px 18px;grid-template-columns:1fr auto}.step-caption{display:none}.so-partner-form-actions button:last-child{justify-self:end}.so-partner-footer>.so-partner-container{display:grid}.so-partner-footer div>div:last-child{justify-content:flex-start}}


/* =========================================================
   R4.3.3 LIGHT THEME OVERRIDES
   Wichtig: Diese Regeln verwenden exakt die so-partner-* Klassen
   des aktuellen HTML. Keine alten partner-* Selektoren.
   ========================================================= */
:root{
  color-scheme:light;
  --so-bg:#f4f6f8;
  --so-bg2:#ffffff;
  --so-card:#ffffff;
  --so-card2:#f8fafb;
  --so-line:rgba(30,48,61,.11);
  --so-text:#172633;
  --so-muted:#667784;
  --so-gold:#b88a31;
  --so-gold2:#d2ad5b;
  --so-teal:#4e8f8a;
  --so-white:#ffffff;
  --so-shadow:0 26px 70px rgba(35,55,70,.10);
  --so-partner-hero-image:none;
}

html{background:#f4f6f8}
.so-partner-page{
  background:#f4f6f8;
  color:#172633;
}

/* Topbar */
.so-partner-topbar{
  background:rgba(255,255,255,.94);
  border-bottom:1px solid rgba(30,48,61,.09);
  box-shadow:0 8px 28px rgba(35,55,70,.05);
}
.so-partner-brand b{color:#172633}
.so-partner-brand small{color:#788793}
.so-partner-brandmark{
  border-color:rgba(184,138,49,.34);
  background:#fff;
  box-shadow:inset 0 0 18px rgba(184,138,49,.05),0 8px 24px rgba(35,55,70,.05);
}
.so-partner-nav a{color:#667784}
.so-partner-nav a:hover{color:#9a7024}
.so-partner-top-cta{
  color:#8a651f;
  border-color:rgba(184,138,49,.28);
  background:rgba(184,138,49,.07);
}

/* Hero */
.so-partner-hero{
  background-image:
    linear-gradient(100deg,rgba(255,255,255,.98),rgba(255,255,255,.94) 54%,rgba(255,255,255,.72)),
    var(--so-partner-hero-image);
  border-bottom:1px solid rgba(30,48,61,.08);
}
.so-partner-hero:before{
  background-image:
    linear-gradient(rgba(30,48,61,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(30,48,61,.025) 1px,transparent 1px);
}
.so-partner-hero-glow{
  background:radial-gradient(circle,rgba(85,151,157,.12),rgba(205,166,77,.11) 34%,transparent 70%);
}
.so-partner-eyebrow{color:#a17625}
.so-partner-eyebrow span{background:#b88a31}
.so-partner-hero h1{color:#152531}
.so-partner-lead{color:#596b79}
.so-partner-benefits span{color:#5f707d}
.so-partner-benefits i{color:#a47723}

.so-partner-button.primary{
  color:#fff;
  background:linear-gradient(135deg,#c79a41,#ad7c27);
  box-shadow:0 12px 30px rgba(173,124,39,.20);
}
.so-partner-button.ghost{
  color:#314654;
  border-color:#d8e0e5;
  background:rgba(255,255,255,.78);
}
.so-partner-button.ghost:hover{
  border-color:rgba(184,138,49,.35);
  background:#fff;
}

/* Partner network card */
.so-partner-network{
  border-color:rgba(184,138,49,.20);
  background:rgba(255,255,255,.88);
  box-shadow:0 28px 72px rgba(35,55,70,.11);
}
.so-partner-network-head span{color:#1b2c38}
.so-partner-network-head small{color:#7b8994}
.orbit{border-color:rgba(184,138,49,.20)}
.orbit-b{border-color:rgba(78,143,138,.18)}
.network-core{
  background:radial-gradient(circle at 35% 30%,#ffffff,#edf2f4 68%);
  border-color:rgba(184,138,49,.36);
  box-shadow:0 0 50px rgba(184,138,49,.09),inset 0 0 22px rgba(184,138,49,.05);
}
.network-core b{color:#a87922}
.network-core span{color:#768693}
.node{
  color:#916a22;
  background:#fff;
  border-color:rgba(184,138,49,.26);
  box-shadow:0 10px 28px rgba(35,55,70,.09);
}
.so-partner-network-rows{border-top-color:rgba(30,48,61,.09)}
.so-partner-network-rows>div{border-bottom-color:rgba(30,48,61,.07)}
.so-partner-network-rows span{color:#778792}
.so-partner-network-rows b{color:#314653}

/* Process */
.so-partner-process{
  background:linear-gradient(180deg,#f4f6f8,#ffffff);
}
.so-partner-section-head h2,
.so-partner-dd-copy h2,
.so-partner-apply-head h2{
  color:#172633;
}
.so-partner-section-head p,
.so-partner-dd-copy>p,
.so-partner-apply-head>p{
  color:#647481;
}
.so-partner-process-grid article{
  border-color:rgba(30,48,61,.09);
  background:#fff;
  box-shadow:0 16px 42px rgba(35,55,70,.06);
}
.so-partner-process-grid article>b{color:#a67927}
.so-partner-process-grid h3{color:#20323f}
.so-partner-process-grid p{color:#697985}

/* DD / trust section */
.so-partner-dd{
  background:#f7f9fa;
  border-top:1px solid rgba(30,48,61,.06);
  border-bottom:1px solid rgba(30,48,61,.06);
}
.so-partner-dd-note{
  border-left-color:rgba(184,138,49,.45);
}
.so-partner-dd-cards article{
  border-color:rgba(30,48,61,.09);
  background:#fff;
  box-shadow:0 14px 36px rgba(35,55,70,.05);
}
.so-partner-dd-cards article>span{
  background:rgba(184,138,49,.09);
  border-color:rgba(184,138,49,.18);
  color:#a17625;
}
.so-partner-dd-cards h3{color:#233744}
.so-partner-dd-cards p{color:#697985}

/* Application area */
.so-partner-apply{
  background:
    radial-gradient(800px 420px at 10% 0%,rgba(91,151,177,.08),transparent 68%),
    linear-gradient(180deg,#ffffff,#f3f6f8);
  color:#21313b;
}
.so-partner-apply-head{padding-top:18px}
.so-partner-apply .so-partner-eyebrow{color:#9a7328}
.so-partner-apply .so-partner-eyebrow span{background:#b68a34}

.so-partner-workspace{
  border-color:#d9e1e6;
  background:#fff;
  box-shadow:0 28px 72px rgba(35,55,70,.10);
}

/* Left step rail also light */
.so-partner-steps{
  background:linear-gradient(180deg,#f7f9fa,#eef3f5);
  color:#263b48;
  border-right:1px solid #e0e6ea;
}
.so-partner-step{opacity:.55}
.so-partner-step b{color:#9e7628}
.so-partner-step span{color:#304653}
.so-partner-step small{color:#7e8d98}
.so-partner-step.active{
  opacity:1;
  background:#fff;
  border-radius:12px;
  padding-left:10px;
  padding-right:10px;
  box-shadow:0 8px 22px rgba(35,55,70,.06);
}
.so-partner-step.done{opacity:.78}
.so-partner-step i{color:#3b8b66}
.so-partner-progress{background:#dce4e8}
.so-partner-progress span{background:linear-gradient(90deg,#c39a43,#ae7f29)}
.so-partner-steps>p{color:#7a8994}

/* Form */
.so-partner-panel>header{border-bottom-color:#e6ecef}
.so-partner-panel>header>span{color:#9b7428}
.so-partner-panel>header h3{color:#172a36}
.so-partner-panel>header p{color:#71808b}
.so-partner-form label>span,.so-field-label{color:#536570}
.so-partner-form input:not([type=checkbox]):not([type=radio]):not([type=file]),
.so-partner-form textarea,
.so-partner-form select{
  border-color:#d6dfe4;
  background:#fbfcfd;
  color:#1d303b;
}
.so-partner-form input:focus,
.so-partner-form textarea:focus,
.so-partner-form select:focus{
  border-color:#ad914b;
  box-shadow:0 0 0 3px rgba(173,145,75,.10);
  background:#fff;
}

/* Choice cards */
.so-choice-grid label,
.so-radio-cards label{
  border-color:#dce3e7;
  background:#fbfcfd;
  color:#243845;
}
.so-choice-grid label.selected{
  border-color:#b59a56;
  background:#fffaf0;
  box-shadow:0 0 0 2px rgba(181,154,86,.08);
}
.so-radio-cards label.selected{
  border-color:#94aa9f;
  background:#f5fbf8;
  box-shadow:0 0 0 2px rgba(62,126,97,.07);
}
.so-check-pills span{
  border-color:#dae2e6;
  background:#fbfcfd;
  color:#40535f;
}
.so-check-pills input:checked+span{
  background:#27414d;
  color:#fff;
  border-color:#27414d;
}

/* Uploads */
.so-upload-card{
  border-color:#dce3e7;
  background:#fbfcfd;
}
.so-upload-card:hover{
  border-color:#b7c4cc;
  background:#fff;
}
.so-upload-card.has-file{
  border-color:#8eb9a2;
  background:#f7fcf9;
}
.so-upload-card.uploaded{
  border-color:#6faa8a;
  background:#f2faf5;
}
.so-upload-card.error{
  border-color:#d99393;
  background:#fff7f7;
}
.upload-icon{
  background:#eef3f5;
  color:#9b7428;
  border:1px solid #dce4e8;
}
.so-upload-card b{color:#253944}
.so-upload-card em{color:#8a6d28}
.so-upload-card .file-name{color:#758792}

.so-security-note{
  border-color:#dfe6e9;
  background:#f6f9fa;
}
.so-security-note>span{
  background:#e5eeeb;
  color:#386e58;
}
.so-security-note p{color:#75858f}

/* References / declarations */
.so-reference-card{
  border-color:#dfe6ea;
  background:#fbfcfd;
}
.ref-no{color:#405661}
.ref-no span{
  color:#92772f;
  background:#fff8e7;
}
.optional-ref .ref-no span{
  color:#70818c;
  background:#eef3f5;
}
.so-declarations{border-top-color:#e6ebee}
.so-declarations label{color:#64747e}
.so-declarations a{color:#775c1b}

.so-submit-status.active{background:#f0f5f7;color:#4b6270}
.so-submit-status.error{background:#fff0f0;color:#9e4848}
.so-submit-status.ok{background:#eef9f3;color:#286b4c}
.so-partner-form-actions{border-top-color:#e6ebee}
.step-caption{color:#8a98a1}

/* Success */
.so-partner-success{
  background:#fff;
  border-color:#d7e0e5;
  box-shadow:0 30px 80px rgba(31,50,62,.12);
}
.success-mark{background:#edf8f2;color:#3b8d66}
.so-partner-success>span{color:#987a31}
.so-partner-success h3{color:#1d303b}
.so-partner-success p{color:#6d7d87}
.success-id{background:#f3f6f7;color:#6a7a84}
.success-id b{color:#253944}

/* Footer */
.so-partner-footer{
  background:#edf2f4;
  border-top:1px solid rgba(30,48,61,.08);
}
.so-partner-footer b{color:#263946}
.so-partner-footer span,
.so-partner-footer a{color:#667783}

/* Mobile light rail */
@media(max-width:760px){
  .so-partner-step{
    border-color:#dce4e8;
    background:rgba(255,255,255,.62);
  }
  .so-partner-step.active{background:#fff}
}

/* =========================================================
   R4.3.5 SOLAR-ORAKEL MAIN-PAGE SLIDE CONTRACT
   Gleicher Grundsatz wie Hauptseite:
   - jede Hauptsektion = mindestens 100vh
   - Scroll-Snap pro Vollbild-Slide
   - Hintergrund immer exakt viewportbezogen
   - background-size: cover
   - ein gemeinsames Bildformat: 1920 × 1080 px
   ========================================================= */

:root{
  --so-partner-slide-height:100vh;
  --so-partner-bg-hero:url('/partner_01.webp?v=20260819-r438');
  --so-partner-bg-process:url('/partner_02.webp?v=20260819-r438');
  --so-partner-bg-dd:url('/partner_03.webp?v=20260819-r438');
  --so-partner-bg-apply:url('/partner_04.webp?v=20260819-r438');
}

html{scroll-behavior:smooth}

body.so-partner-page{
  scroll-snap-type:y mandatory;
}

.so-partner-hero,
.so-partner-process,
.so-partner-dd,
.so-partner-apply{
  position:relative;
  min-height:100vh;
  height:100vh;
  scroll-snap-align:start;
  scroll-snap-stop:always;
  display:grid;
  align-content:center;
  overflow:hidden;
  isolation:isolate;
  box-sizing:border-box;
  background:#f4f6f8;
}

.so-partner-hero::after,
.so-partner-process::before,
.so-partner-dd::before,
.so-partner-apply::before{
  content:"";
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:-2;
  pointer-events:none;
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center center;
}

.so-partner-hero::after{
  background-image:
    linear-gradient(100deg,rgba(255,255,255,.96),rgba(255,255,255,.89) 52%,rgba(255,255,255,.62)),
    var(--so-partner-bg-hero);
}
.so-partner-process::before{
  background-image:
    linear-gradient(180deg,rgba(248,250,251,.92),rgba(255,255,255,.84)),
    var(--so-partner-bg-process);
}
.so-partner-dd::before{
  background-image:
    linear-gradient(105deg,rgba(247,249,250,.95),rgba(255,255,255,.82)),
    var(--so-partner-bg-dd);
}
.so-partner-apply::before{
  background-image:
    linear-gradient(180deg,rgba(255,255,255,.95),rgba(244,247,249,.86)),
    var(--so-partner-bg-apply);
}

.so-partner-hero{
  background:#f4f6f8!important;
}

.so-partner-hero>.so-partner-container,
.so-partner-process>.so-partner-container,
.so-partner-dd>.so-partner-container,
.so-partner-apply>.so-partner-container{
  position:relative;
  z-index:1;
  width:min(100% - 48px,1240px);
  margin-inline:auto;
}

.so-partner-hero-grid{
  min-height:auto!important;
  height:auto!important;
  padding-top:0!important;
  padding-bottom:0!important;
}

.so-partner-process,
.so-partner-dd{
  padding-top:0!important;
  padding-bottom:0!important;
}

/* Bewerbungs-Slide bleibt ebenfalls exakt 100vh.
   Bei zu viel Inhalt scrollt nur der Workspace, nicht der Hintergrund. */
.so-partner-apply{
  padding:0!important;
}

.so-partner-apply>.so-partner-container{
  height:calc(100vh - 92px);
  max-height:calc(100vh - 92px);
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  align-content:center;
  gap:18px;
}

.so-partner-apply-head{
  padding-top:0!important;
  margin-bottom:0!important;
}

.so-partner-workspace{
  min-height:0;
  max-height:100%;
  overflow:hidden;
}

.so-partner-panel{
  min-height:0;
  max-height:100%;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}

.so-partner-steps{
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
}

@media(max-width:1050px){
  .so-partner-hero,
  .so-partner-process,
  .so-partner-dd,
  .so-partner-apply{
    min-height:100vh;
    height:100vh;
  }

  .so-partner-hero>.so-partner-container,
  .so-partner-process>.so-partner-container,
  .so-partner-dd>.so-partner-container,
  .so-partner-apply>.so-partner-container{
    width:min(100% - 32px,1240px);
  }

  .so-partner-apply>.so-partner-container{
    height:calc(100vh - 78px);
    max-height:calc(100vh - 78px);
  }
}

@media(max-width:760px){
  body.so-partner-page{
    scroll-snap-type:y proximity;
  }

  .so-partner-hero,
  .so-partner-process,
  .so-partner-dd,
  .so-partner-apply{
    min-height:100svh;
    height:100svh;
    scroll-snap-align:start;
  }

  .so-partner-hero>.so-partner-container,
  .so-partner-process>.so-partner-container,
  .so-partner-dd>.so-partner-container,
  .so-partner-apply>.so-partner-container{
    width:min(100% - 24px,1240px);
  }

  .so-partner-apply>.so-partner-container{
    height:calc(100svh - 64px);
    max-height:calc(100svh - 64px);
    gap:10px;
  }
}

/* Bildproduktionsvertrag:
   Vier Motive, jeweils 1920 × 1080 px (16:9), ohne Text im Bild.
   Darstellung: center / cover.
*/


/* =========================================================
   R4.3.6 FUNCTIONAL SLIDE REPAIR
   - NEXA Partner Network graphic removed
   - right hero area intentionally free for later background art
   - form workspace fully contained in one viewport slide
   - panel scroll only; navigation/footer always visible
   ========================================================= */

/* Hero: text on the left, deliberate visual breathing room on the right. */
.so-partner-hero-grid{
  grid-template-columns:minmax(0,760px) minmax(240px,1fr)!important;
  gap:48px!important;
}
.so-partner-hero-copy{
  grid-column:1;
  max-width:760px;
}

/* Keep the application slide inside the visible viewport below the 76px topbar. */
.so-partner-apply{
  min-height:calc(100dvh - 76px)!important;
  height:calc(100dvh - 76px)!important;
}

.so-partner-apply>.so-partner-container{
  height:100%!important;
  max-height:100%!important;
  min-height:0!important;
  padding:22px 0 26px;
  box-sizing:border-box;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr);
  gap:14px!important;
  align-content:stretch!important;
}

.so-partner-apply-head{
  padding:0!important;
  margin:0!important;
  min-height:0;
  align-items:center;
}
.so-partner-apply-head h2{
  margin:5px 0 0;
  font-size:clamp(25px,2.2vw,34px);
}
.so-partner-apply-head>p{
  margin:0;
  line-height:1.45;
}

/* Workspace is the remaining viewport area, never a fixed 720px block. */
.so-partner-workspace{
  min-height:0!important;
  height:100%!important;
  max-height:100%!important;
  overflow:hidden!important;
  grid-template-columns:230px minmax(0,1fr)!important;
}

/* Sidebar remains fully usable, scrolling internally only if necessary. */
.so-partner-steps{
  min-height:0!important;
  height:100%;
  overflow-y:auto!important;
  padding:22px 18px!important;
  box-sizing:border-box;
}

/* Form is a two-row grid:
   active step scrolls; action bar always remains visible. */
.so-partner-form{
  min-height:0!important;
  height:100%!important;
  max-height:100%!important;
  display:grid!important;
  grid-template-rows:minmax(0,1fr) auto!important;
  overflow:hidden!important;
}

.so-partner-panel{
  min-height:0!important;
  max-height:none!important;
  overflow:hidden;
  padding:26px 32px 18px!important;
}
.so-partner-panel.active{
  display:block!important;
  min-height:0!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}

.so-partner-panel>header{
  padding-bottom:16px!important;
  margin-bottom:18px!important;
}
.so-partner-panel>header h3{
  font-size:clamp(22px,2vw,27px)!important;
}

/* Footer is always visible at the bottom of the workspace. */
.so-partner-form-actions{
  position:relative;
  z-index:3;
  padding:12px 30px!important;
  min-height:62px;
  box-sizing:border-box;
  background:#fff;
  border-top:1px solid #e2e8ec!important;
  box-shadow:0 -7px 22px rgba(31,50,62,.045);
}

/* Compact dense controls just enough to fit naturally; no tiny typography. */
.so-form-grid{gap:11px!important}
.so-form-block{margin:17px 0!important}
.so-choice-grid{gap:7px!important}
.so-choice-grid label{padding:11px!important}
.so-radio-cards{gap:8px!important}
.so-radio-cards label{padding:12px!important}
.so-reference-grid{gap:13px!important}
.so-reference-card{padding:16px!important}
.so-upload-list{gap:9px!important}
.so-upload-card{padding:12px!important}

/* Low-height desktop/notebook screens: preserve the entire workspace. */
@media (min-width:761px) and (max-height:820px){
  .so-partner-apply>.so-partner-container{
    padding-top:12px;
    padding-bottom:14px;
    gap:9px!important;
  }
  .so-partner-apply-head h2{font-size:24px}
  .so-partner-apply-head>p{font-size:11px}
  .so-partner-workspace{
    grid-template-columns:205px minmax(0,1fr)!important;
  }
  .so-partner-steps{padding:14px 14px!important}
  .so-partner-step{padding:9px 0!important}
  .so-partner-panel{padding:18px 24px 12px!important}
  .so-partner-panel>header{
    padding-bottom:10px!important;
    margin-bottom:12px!important;
  }
  .so-partner-panel>header h3{font-size:22px!important}
  .so-partner-form-actions{
    min-height:54px;
    padding:8px 24px!important;
  }
}

/* Tablet/mobile: full viewport slide, compact top step navigation,
   scroll only inside the active form panel. */
@media(max-width:760px){
  .so-partner-hero-grid{
    grid-template-columns:1fr!important;
  }

  .so-partner-apply{
    min-height:calc(100svh - 66px)!important;
    height:calc(100svh - 66px)!important;
  }

  .so-partner-apply>.so-partner-container{
    width:min(100% - 20px,1240px)!important;
    padding:10px 0 12px!important;
    gap:8px!important;
  }

  .so-partner-apply-head>p{
    display:none;
  }

  .so-partner-apply-head h2{
    font-size:21px!important;
  }

  .so-partner-workspace{
    grid-template-columns:1fr!important;
    grid-template-rows:auto minmax(0,1fr);
  }

  .so-partner-steps{
    height:auto;
    min-height:auto!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:8px!important;
  }

  .so-partner-form{
    min-height:0!important;
  }

  .so-partner-panel{
    padding:16px 14px 10px!important;
  }

  .so-partner-form-actions{
    padding:9px 14px!important;
    min-height:56px;
  }
}


/* =========================================================
   R4.3.7 FINAL PARTNER BACKGROUNDS
   Original motifs supplied by project owner.
   Bright-left composition is preserved; overlays are deliberately light.
   ========================================================= */

.so-partner-hero::after{
  background-image:
    linear-gradient(90deg,rgba(255,255,255,.30) 0%,rgba(255,255,255,.15) 46%,rgba(255,255,255,.03) 72%),
    var(--so-partner-bg-hero)!important;
}

.so-partner-process::before{
  background-image:
    linear-gradient(90deg,rgba(255,255,255,.25) 0%,rgba(255,255,255,.12) 48%,rgba(255,255,255,.02) 74%),
    var(--so-partner-bg-process)!important;
}

.so-partner-dd::before{
  background-image:
    linear-gradient(90deg,rgba(255,255,255,.25) 0%,rgba(255,255,255,.12) 48%,rgba(255,255,255,.02) 74%),
    var(--so-partner-bg-dd)!important;
}

.so-partner-apply::before{
  background-image:
    linear-gradient(90deg,rgba(255,255,255,.28) 0%,rgba(255,255,255,.14) 50%,rgba(255,255,255,.03) 76%),
    var(--so-partner-bg-apply)!important;
}

/* Text and cards sit on the naturally bright left half of each supplied image. */
.so-partner-hero-copy,
.so-partner-section-head,
.so-partner-dd-copy,
.so-partner-apply-head{
  text-shadow:0 1px 0 rgba(255,255,255,.70);
}

/* Form workspace remains readable without hiding the motif. */
.so-partner-workspace{
  background:rgba(255,255,255,.93)!important;
  backdrop-filter:blur(8px);
}


/* =========================================================
   R4.3.9 DD CARDS UNDER LEFT COPY
   Cards sit directly below the explanatory text. The right
   side remains visually free for the supplied background art.
   ========================================================= */

.so-partner-dd-grid{
  grid-template-columns:minmax(0,760px) minmax(260px,1fr)!important;
  gap:54px!important;
  align-items:center!important;
}

.so-partner-dd-copy{
  grid-column:1;
  position:static!important;
  max-width:760px;
}

.so-partner-dd-copy h2{
  max-width:680px;
}

.so-partner-dd-cards{
  margin-top:24px;
  width:100%;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}

.so-partner-dd-cards article{
  min-height:112px;
  padding:15px 16px!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  gap:11px!important;
  align-items:start;
  background:rgba(255,255,255,.91)!important;
  backdrop-filter:blur(7px);
}

.so-partner-dd-cards article>span{
  width:34px!important;
  height:34px!important;
  border-radius:9px!important;
}

.so-partner-dd-cards h3{
  margin:0 0 5px!important;
  font-size:15px!important;
}

.so-partner-dd-cards p{
  font-size:11.5px!important;
  line-height:1.45!important;
}

@media(max-width:1050px){
  .so-partner-dd-grid{
    grid-template-columns:minmax(0,700px) 1fr!important;
    gap:24px!important;
  }
}

@media(max-width:760px){
  .so-partner-dd-grid{
    grid-template-columns:1fr!important;
  }

  .so-partner-dd-cards{
    grid-template-columns:1fr!important;
    margin-top:18px;
  }

  .so-partner-dd-cards article{
    min-height:auto;
  }
}
