/* PPOŻ Opole — v40new. Warstwa prezentacji; formularze i generatory zachowują własną logikę. */
:root{--primary:#990000;--primary-hover:#7a0000;--primary-light:#fef2f2;--text-main:#1e293b;--text-muted:#475569;--bg-main:#fff;--bg-section:#f8fafc;--border:#e2e8f0;--red:#990000;--red-hover:#7a0000;--ink:#1e293b;--muted:#475569;--paper:#f8fafc;--line:#e2e8f0;--hw-accent:#990000;--hw-soft:#fef2f2;--hw-bg:#f8fafc;--hw-ink:#1e293b;--hw-muted:#475569;--hw-line:#e2e8f0;--radius:10px;--font-sans:Inter,system-ui,-apple-system,'Segoe UI',Arial,sans-serif}
@media screen{
html{scroll-padding-top:110px}body.v40{font-family:var(--font-sans);color:var(--text-main);background:var(--bg-main);line-height:1.65}body.v40 *{box-sizing:border-box}body.v40 img{max-width:100%}body.v40 :is(h1,h2,h3){text-wrap:balance}body.v40 :is(p,li){text-wrap:pretty}body.v40 :is(button,input,select,textarea){font-family:inherit}body.v40 a{ text-underline-offset:4px}body.v40 :is(a,button,summary,input,select,textarea):focus-visible{outline:3px solid #990000;outline-offset:4px}
body.v40 :is(.button,.btn.primary,.btn-primary){background:#990000;color:#fff;border-color:#990000;border-radius:7px;box-shadow:none}body.v40 :is(.button,.btn.primary,.btn-primary):hover{background:#7a0000;color:#fff;transform:none}body.v40 :is(.button.outline,.button.secondary,.btn.secondary,.btn-outline){background:#fff;color:#1e293b;border:1px solid #cbd5e1}body.v40 .eyebrow{color:#990000}body.v40 .eyebrow.light{color:#fecaca}
body.v40 .site-header,body.v40>header,body.v40>.app-shell>.topbar{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);color:#1e293b;border-bottom:1px solid #e2e8f0}body.v40>header{width:100%;max-width:none}body.v40>header>.nav{max-width:1140px;margin:auto}body.v40 .header-inner{min-height:78px;gap:24px}body.v40 .site-header nav{gap:20px}body.v40 .site-header nav>a:not(.button){font-size:12px}body.v40 .brand-mark{background:transparent}body.v40 .brand-dot{color:#990000}body.v40 .topline{background:#f8fafc;color:#475569;border-bottom:1px solid #e2e8f0}body.v40 .topline a{color:#334155}
body.v40 .section{padding:76px 0}body.v40 :is(.services-grid,.services-grid-v17,.technical-grid,.v31-building-grid,.apps-grid,.help-grid){grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:22px}body.v40 :is(.service-card,.technical-card,.v31-building-card,.app-card,.help-card){background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 2px 8px #0f172a05;padding:27px;transition:border-color .18s,box-shadow .18s}body.v40 :is(.service-card,.technical-card,.v31-building-card,.app-card,.help-card):hover{border-color:#bd9c9c;box-shadow:0 8px 28px #0f172a0a;transform:none}body.v40 :is(.service-card,.technical-card,.v31-building-card,.app-card,.help-card) h3{font-size:21px;line-height:1.3}body.v40 :is(.service-card,.technical-card,.v31-building-card,.app-card,.help-card) p{font-size:14px;line-height:1.75;color:#475569}body.v40 :is(.icon-tile,.service-icon){color:#990000;background:#fef2f2}body.v40 .v31-person-chip{min-height:40px;border-color:#e2e8f0;background:#f8fafc;color:#334155}body.v40 .v31-building{background:#f8fafc}body.v40 .section-heading{gap:48px}body.v40 .section-heading h2{font-size:clamp(28px,3.1vw,42px)}
.v40-hero{background:linear-gradient(180deg,#f8fafc,#fff);border-bottom:1px solid #e2e8f0;padding:64px 0 36px}.v40-hero-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:52px;align-items:center}.v40-hero .eyebrow{font-size:11px;letter-spacing:.14em;margin:0 0 20px}.v40-hero h1{font-size:clamp(34px,3.5vw,51px);font-weight:700;line-height:1.12;letter-spacing:-.04em;color:#1e293b;margin:0 0 24px}.v40-hero h1 span{color:#990000}.v40-hero .v40-lead{font-size:17px;line-height:1.8;color:#475569;margin:0;max-width:620px}.v40-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:28px 0}.v40-actions .button{font-size:13px;padding:14px 20px;min-height:48px}.v40-image{margin:0;min-width:0}.v40-image picture{display:block;border-radius:12px;overflow:hidden;border:1px solid #dbe3ec;background:#eef2f6}.v40-image img{display:block;width:100%;height:auto;aspect-ratio:1.45;object-fit:cover}.v40-image figcaption{font-size:10px;line-height:1.6;color:#64748b;margin-top:12px}.v40-contact-line{display:flex;flex-wrap:wrap;gap:14px 24px;border-top:1px solid #e2e8f0;padding-top:20px;margin-top:28px;font-size:12px;color:#475569}.v40-contact-line strong{display:block;color:#1e293b;font-size:13px}.v40-contact-line a{display:inline-block;color:#990000;font-weight:600;margin-top:4px}.v40-scope-link{color:#990000;font-size:13px;font-weight:600;text-decoration:underline}.v40-hero-bottom{display:flex;gap:28px;flex-wrap:wrap;margin-top:36px;padding-top:23px;border-top:1px solid #e2e8f0;color:#475569;font-size:10px;letter-spacing:.1em;font-weight:600}
.v40-hubert{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;padding:20px 23px;margin:22px 0;background:#f8fafc;border:1px solid #e2e8f0;border-left:3px solid #990000;border-radius:8px;color:#1e293b;font-size:13px;line-height:1.65}.v40-hubert strong{display:block;font-size:15px;color:#1e293b}.v40-hubert .v40-hubert-label{color:#475569;font-size:11px}.v40-hubert .v40-contact-actions{display:flex;gap:10px 18px;flex-wrap:wrap}.v40-hubert a{color:#990000;text-decoration:underline;font-weight:600;overflow-wrap:anywhere}.v40-hubert.compact{display:block;padding:15px;margin:18px 0 0}.v40-hubert.compact .v40-contact-actions{margin-top:7px;font-size:12px}.v40-hubert .v40-credentials{max-width:700px;font-size:12px;color:#475569}.v40-team-hubert{margin-top:36px}.v40-team-hubert h3{margin-bottom:12px}
.v40-faq{background:#f8fafc;border-block:1px solid #e2e8f0;padding:60px 0;margin-top:0}.v40-wrap{max-width:1140px;width:calc(100% - 48px);margin-inline:auto}.v40-faq h2{font-size:clamp(26px,3vw,36px);line-height:1.2;margin:0 0 28px;color:#1e293b}.v40-faq details{padding:20px 23px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin:12px 0}.v40-faq details[open]{border-color:#990000}.v40-faq summary{font-size:15px;font-weight:600;line-height:1.5;display:flex;gap:20px;justify-content:space-between;cursor:pointer;list-style:none;color:#1e293b}.v40-faq summary::-webkit-details-marker{display:none}.v40-faq summary::after{content:'+';color:#990000;flex:none;font-size:22px;font-weight:400}.v40-faq details[open] summary::after{content:'−'}.v40-faq details p{font-size:14px;line-height:1.85;margin:12px 0 0;color:#475569;padding:12px 0 0;border-top:1px solid #eef2f6}.v40-faq details p a{color:#990000;text-decoration:underline}.v40-tool-support{border-top:1px solid #e2e8f0;padding:34px 0;background:#fff;color:#1e293b;clear:both}.v40-tool-support h2{font-size:22px;margin:0 0 12px}.v40-tool-support p{font-size:14px;color:#475569;line-height:1.75;margin:8px 0}.v40-tool-support a{color:#990000;text-decoration:underline}.v40-tool-byline{font-size:12px!important}.v40-site-nav{max-width:1140px;margin:0 auto;padding:14px 24px;display:flex;gap:22px;flex-wrap:wrap;align-items:center;border-bottom:1px solid #e2e8f0;background:#fff}.v40-site-nav a{font-size:12px;font-weight:600;color:#334155;text-decoration:none}.v40-site-nav a:hover{color:#990000}
body.v40 :is(input[type=text],input[type=email],input[type=tel],input[type=number],input[type=date],input[type=search],input[type=url],select,textarea){border-radius:7px;border:1px solid #cbd5e1;padding:11px 13px;min-height:44px;font-size:15px;background:#fff;color:#1e293b;line-height:1.5;max-width:100%}body.v40 input[type=checkbox],body.v40 input[type=radio]{accent-color:#990000}body.v40 input::placeholder,body.v40 textarea::placeholder{color:#64748b}body.v40 input:focus,body.v40 select:focus,body.v40 textarea:focus{border-color:#990000;box-shadow:0 0 0 3px #99000016}body.v40 .contact-form-card{background:#fff;border-color:#e2e8f0;color:#1e293b;padding:28px}body.v40 .contact-form-card :is(h3,label,.form-note,.recipient-note,.contact-consent span){color:#334155}body.v40 .contact-form-card p{color:#475569}body.v40 .contact-consent{align-items:flex-start;line-height:1.7}body.v40 .contact-consent input{flex:0 0 18px;width:18px;height:18px;min-height:18px;padding:0;margin-top:3px}body.v40 .contact-form-card .contact-consent a{color:#990000}.v40 .contact-form-card input[type=checkbox]{width:18px;display:inline-block}
body.v40 .v31-global-brand{padding:22px!important;color:#475569!important}body.v40.v40-placeholder{display:block;min-height:100svh;background:#f8fafc;color:#1e293b}body.v40.v40-placeholder>.wrap{margin:60px auto}.v40-placeholder .brand,.v40-placeholder .title{color:#1e293b}.v40-placeholder .code{color:#990000}.v40-placeholder .text,.v40-placeholder .foot{color:#475569}.v40-placeholder .mobile{background:#fff;color:#1e293b}
@media(max-width:1100px){body.v40 .container{width:calc(100% - 48px)}body.v40 .site-header nav{gap:13px}body.v40 .site-header .brand{font-size:22px}.v40-hero-grid{gap:30px}.v40-hero h1{font-size:40px}}
@media(max-width:900px){.v40-hero-grid{grid-template-columns:1fr}.v40-hero{padding:40px 0 28px}.v40-image{max-width:650px}.v40-hero h1{font-size:clamp(32px,5.5vw,48px)}.v40-hero .v40-lead{max-width:750px}body.v40 .section{padding:54px 0}body.v40 .section-heading{gap:25px}.v40-faq{padding:45px 0}}
@media(max-width:720px){body.v40 .container{width:calc(100% - 32px)}body.v40 .header-inner{min-height:72px;gap:10px}body.v40 .topline .container{display:block}.v40-hero h1{font-size:34px}.v40-hero .v40-lead{font-size:16px}.v40-actions{align-items:stretch}.v40-actions .button{width:100%}.v40-contact-line{display:grid;grid-template-columns:1fr 1fr;gap:14px}.v40-image img{aspect-ratio:1.6}.v40-wrap{width:calc(100% - 32px)}.v40-faq details{padding:17px}.v40-hubert{padding:18px}.v40-hubert .v40-contact-actions{width:100%}.v40-hero-bottom{gap:12px 20px;margin-top:24px}body.v40 .section-heading{grid-template-columns:1fr}body.v40 .contact-form-card{padding:20px}body.v40 .top-contact{display:none}.v40-site-nav{gap:13px;padding:12px 16px}.v40-site-nav a{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}body.v40 *,body.v40 *::before,body.v40 *::after{animation:none!important;transition:none!important}}
}
@media print{.v40-hubert,.v40-faq,.v40-tool-support,.v40-site-nav{display:none!important}}

/* v40new r3 — kontakt firmowy KSW w sekcjach BHP. */
@media screen{body.v40 .v40-company-line{margin-top:12px;color:#334155}body.v40 .v40-company-line a{color:#990000;font-weight:600;text-decoration:underline;white-space:nowrap}}

/* Zespół budowlany: dwa równorzędne profile. */
.v40-team-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:18px}
.v40-team-people>article{min-width:0}
@media(max-width:760px){.v40-team-people{grid-template-columns:1fr;gap:24px}}
