.portfolio-form-section{--pf-ink:#203632;--pf-soft:#e7eee9;--pf-accent:#d7e7d7;background:#f4f7f3;color:var(--pf-ink);padding:clamp(64px,8vw,118px) 24px;scroll-margin-top:72px}
.portfolio-form-section[data-group="ventilation"]{--pf-ink:#183c48;--pf-soft:#e4eff1;--pf-accent:#cee5e9;background:#f4f8f9}
.portfolio-form-section[data-group="heat"]{--pf-ink:#3a3229;--pf-soft:#f1e8dd;--pf-accent:#e8d5bc;background:#faf7f3}
.portfolio-form-section[data-group="winter"]{--pf-ink:#1e3346;--pf-soft:#e5eef5;--pf-accent:#d5e3f0;background:#f4f8fb}
.portfolio-form-wrap{max-width:1120px;margin:auto;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:clamp(32px,6vw,88px)}
.portfolio-form-intro{max-width:410px;padding-top:18px}
.portfolio-form-kicker{font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:750;margin:0 0 20px;color:var(--pf-ink)}
.portfolio-form-intro h2{font-size:clamp(36px,4vw,56px);line-height:1.08;letter-spacing:-.045em;margin:0 0 22px;color:var(--pf-ink)}
.portfolio-form-intro p:not(.portfolio-form-kicker){font-size:17px;line-height:1.65;margin:0;color:var(--pf-ink);opacity:.85}
.portfolio-form-points{display:flex;flex-wrap:wrap;gap:9px;margin:28px 0 0;padding:0;list-style:none}
.portfolio-form-points li{border:1px solid #bed0c8;border-radius:100px;padding:7px 12px;font-size:13px;font-weight:650}
.portfolio-form{background:#fff;border:1px solid #dbe5df;border-radius:6px;padding:clamp(22px,3vw,36px);box-shadow:0 18px 50px rgba(19,48,43,.06)}
.portfolio-form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.portfolio-form label{display:grid;gap:8px;min-width:0;font-size:14px;font-weight:700;color:var(--pf-ink)}
.portfolio-form label span{font-size:12px;font-weight:500;opacity:.7}
.portfolio-form label.wide{grid-column:1/-1}
.portfolio-form input,.portfolio-form textarea{width:100%;min-width:0;min-height:50px;border:1px solid #bdcbc5;border-radius:4px;background:#fff;color:#172d29;padding:12px 13px;font:inherit;font-size:16px;line-height:1.35}
.portfolio-form textarea{min-height:112px;resize:vertical}
.portfolio-form input:focus-visible,.portfolio-form textarea:focus-visible,.portfolio-form button:focus-visible,.portfolio-form a:focus-visible{outline:3px solid #4b866f;outline-offset:3px}
.portfolio-form input::placeholder,.portfolio-form textarea::placeholder{color:#657a71;opacity:1}
.portfolio-form .portfolio-honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.portfolio-form-submit{display:inline-flex;justify-content:center;align-items:center;gap:20px;min-height:54px;border:0;border-radius:4px;background:var(--pf-ink);color:#fff;padding:14px 22px;font:inherit;font-size:15px;font-weight:750;cursor:pointer;margin-top:24px;transition:transform .18s,background .18s}
.portfolio-form-submit:hover{transform:translateY(-2px);background:#35594f}
.portfolio-form-submit:disabled{opacity:.65;cursor:wait;transform:none}
.portfolio-form-status{min-height:0;margin:16px 0 0;font-size:15px;line-height:1.5;color:#8d2b2b}
.portfolio-form-status:empty{display:none}
.portfolio-form-status[data-success="true"]{color:#1f5d42}
.portfolio-form-privacy{font-size:13px;line-height:1.55;margin:14px 0 0;color:#566e62}
.portfolio-form-privacy a{text-decoration:underline;text-underline-offset:3px}
.portfolio-form-success{display:none;padding:22px;background:var(--pf-soft);border-radius:4px;margin-top:18px;color:var(--pf-ink)}
.portfolio-form-success[data-visible="true"]{display:block}
.portfolio-form-success strong{display:block;font-size:20px;margin-bottom:8px}
.portfolio-form-success p{margin:0 0 10px;line-height:1.5}
.portfolio-form-success small{font-size:12px;overflow-wrap:anywhere}
@media(max-width:800px){.portfolio-form-wrap{grid-template-columns:1fr;gap:30px}.portfolio-form-intro{max-width:650px;padding:0}}
@media(max-width:520px){.portfolio-form-section{padding:62px 20px}.portfolio-form-intro h2{font-size:clamp(34px,10vw,44px)}.portfolio-form{padding:22px 18px}.portfolio-form-fields{grid-template-columns:1fr;gap:16px}.portfolio-form label.wide{grid-column:auto}.portfolio-form-submit{width:100%}}
