/* Editorial refinements, October 2026. */
/* A clean company introduction with one dominant project photograph. */
.company-opening { padding:2.6rem 0; background:#fff; border-bottom:1px solid #d5e3ed; }
.company-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:3.5rem; align-items:center; }
.company-copy .breadcrumbs { margin-bottom:1.8rem; }
.company-copy h1 { font-size:clamp(2.6rem,4vw,3.8rem); line-height:1.1; font-weight:600; color:#082c4a; margin-bottom:1.2rem; }
.company-statement { font-size:clamp(1.15rem,1.6vw,1.45rem); line-height:1.45; color:#102d46; font-weight:500; margin:0 0 1rem; }
.company-lead { font-size:.94rem; line-height:1.75; color:#405d73; max-width:49ch; margin:0 0 1.4rem; }
.company-actions { display:flex; align-items:center; flex-wrap:wrap; gap:1.3rem; }
.company-phone { display:flex; align-items:center; gap:1rem; font-size:1.05rem; font-weight:600; color:#102d46; padding:.6rem 0; border-bottom:1px solid #9eb6c8; }
.company-footnote { display:flex; flex-wrap:wrap; gap:.6rem 1.2rem; padding-top:1.2rem; margin-top:1.6rem; border-top:1px solid #d1e1eb; font-size:.72rem; color:#405d73; }
.company-footnote span::before { content:""; display:inline-block; width:5px; height:5px; margin-right:.5rem; background:#c65b00; vertical-align:middle; }
.company-project { position:relative; margin:0; height:420px; overflow:hidden; border-radius:14px; background:#dce7ef; }
.company-project>img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 40%; }
.company-project figcaption { position:absolute; inset:auto 0 0; padding:2rem 1.5rem 1.3rem; background:linear-gradient(transparent,#082c4af5); color:white; border-bottom:4px solid #ff9228; }
.company-project figcaption span { display:block; font-size:.65rem; margin-bottom:.4rem; color:#dceafa; }
.company-project figcaption strong { font-size:1.18rem; line-height:1.35; font-weight:500; }
.editor-photo { position:relative; margin:0; overflow:hidden; background:#e5edf3; border-radius:22px 7px 7px 7px; }
.editor-photo>img { display:block; width:100%; height:100%; object-fit:cover; }
.editor-photo figcaption { position:absolute; inset:auto 0 0; background:linear-gradient(transparent,#082c4ae8); padding:2rem 1rem .85rem; font-size:.75rem; line-height:1.5; color:#fff; }
/* Fixed service rows and an overlapping dissolve prevent reflow while hovering. */
.design-2026.page-home #uslugi .svc-menu-list { display:grid; grid-template-rows:repeat(6,minmax(0,1fr)); height:460px; }
.design-2026.page-home #uslugi .svc-menu-item,.design-2026.page-home #uslugi .svc-menu-item:is(:hover,:focus-visible,.is-previewed) { flex:none; min-height:0; padding:.55rem 1rem; }
.design-2026.page-home #uslugi .svc-menu-item h3 { font-size:1rem; }
.design-2026.page-home #uslugi .svc-menu-item p { font-size:.74rem; line-height:1.35; margin-top:.25rem; }
.design-2026.page-home #uslugi .rd-service-preview>.rd-preview-previous { position:absolute; top:16px; left:16px; width:calc(100% - 32px); height:calc(100% - 78px); pointer-events:none; }
/* Home questions: practical preparation advice with native, exclusive disclosure. */
.design-2026 .home-questions { background:#f4f8fb!important; border-block:1px solid #d5e3ed; }
.question-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr); gap:4rem; align-items:start; }
.question-intro>p:not(.section-label) { color:#405d73; font-size:.95rem; line-height:1.7; max-width:37ch; margin:1rem 0 1.5rem; }
.question-intro>a { display:flex; justify-content:space-between; max-width:230px; padding:.8rem 0; border-bottom:1px solid #8ca8bb; font-weight:600; font-size:.85rem; }
.question-list { counter-reset:questions; border-top:1px solid #bccfdd; }
.question-list details { counter-increment:questions; border-bottom:1px solid #bccfdd; }
.question-list summary { display:grid; grid-template-columns:24px 1fr 22px; align-items:center; gap:1rem; cursor:pointer; padding:1.1rem .8rem; list-style:none; font-size:1rem; font-weight:600; color:#102d46; line-height:1.5; }
.question-list summary::-webkit-details-marker { display:none; }
.question-list summary::before { content:"0" counter(questions); font-size:.66rem; font-weight:400; color:#526f84; }
.question-list summary::after { content:"+"; font-size:1.4rem; font-weight:400; color:#075f8b; }
.question-list details[open] { background:#fff; box-shadow:inset 3px 0 #ff9228; }
.question-list details[open] summary::after { content:"−"; }
.question-list details>div { padding:0 3.2rem 1.1rem; }
.question-list p { margin:0; color:#405d73; line-height:1.75; font-size:.92rem; }
/* /uslugi: approved photo-led, light B2B direction. */
.design-2026.design-2026 .rd-hero.rd-catalog { background:#fff!important; color:#102d46; }
.design-2026.design-2026 .rd-hero.rd-catalog .btn-outline { color:#102d46!important; }
.design-2026.design-2026 .rd-gallery-page { background:#eef4f8!important; color:#102d46; }
.design-2026.page-home #uslugi .rd-service-preview figcaption { background:#082c4a; }
.design-2026.page-home #uslugi .rd-preview-label { background:#082c4a; }
.design-2026 .rd-about-detail .reach-ask { background:#fff3e5; }
.design-2026.page-home #uslugi .svc-menu-item.is-previewed { background:#082c4a!important; }
.design-2026.page-home #uslugi .svc-menu-item.is-previewed>div { background:#082c4a; }
.design-2026.design-2026 .rd-gallery-page :is(h1,.breadcrumbs,.breadcrumbs a,.page-hero-lead) { color:#102d46!important; }
.design-2026 .rd-about-detail .reach-ask a { color:#102d46!important; }
.design-2026 .rd-about .rd-about-detail .reach-ask a { color:#102d46!important; }
.design-2026.page-home #uslugi .svc-menu-item.is-previewed h3 { color:#fff!important; transition:none!important; }
.design-2026 .rd-catalog { background:#fff!important; padding:2.2rem 0 1rem; color:#102d46; }
.design-2026 .rd-catalog .catalog-opening { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:2rem 3rem; }
.design-2026 .rd-catalog .catalog-photo { height:380px; box-shadow:7px 7px 0 #ff9228; border-radius:38px 7px 7px 7px; }
.design-2026 .rd-catalog .rd-copy { display:block; padding:0; }
.design-2026 .rd-catalog .rd-copy :is(h1,.rd-lead,.breadcrumbs,.breadcrumbs a) { color:#102d46!important; }
.design-2026 .rd-catalog .rd-copy .rd-eyebrow { color:#00678e!important; }
.design-2026 .rd-catalog h1 { font-size:clamp(2.3rem,3.4vw,3.4rem); margin:0 0 1rem; }
.design-2026 .rd-catalog .rd-lead { color:#405d73!important; }
.design-2026 .rd-catalog .rd-service-cards { grid-column:1/-1; border-top:1px solid #c7dae7; padding:0; }
.design-2026 .rd-catalog .rd-service-cards>a { color:#102d46; border-bottom-color:#c7dae7; min-height:68px; }
.design-2026 .rd-catalog .rd-card-top svg { color:#00678e; }
.design-2026 .rd-catalog .rd-card-arrow { color:#9b4600; }
.design-2026 .rd-catalog .rd-service-cards>a:hover { background:#eff6fb; }
/* About: a smaller, softer opening, without a stack of rectangular blocks. */
.design-2026 .rd-about { padding-top:2rem; }
.design-2026 .rd-about-top { padding-bottom:1.8rem; gap:2rem; }
.design-2026 .rd-about h1 { font-size:clamp(2.8rem,4vw,3.7rem); margin-bottom:1rem; }
.design-2026 .rd-about .rd-lead { font-size:.98rem; line-height:1.65; }
.design-2026 .rd-about-mark { width:164px; height:164px; border-radius:50%; box-shadow:0 0 0 9px #ffffff20; padding:1.5rem; }
.design-2026 .rd-about-mark img { width:55px; height:55px; }
.design-2026 .rd-about-mark span { font-size:.65rem; }
.design-2026 .rd-about-bottom { min-height:0; border-radius:22px 22px 0 0; overflow:hidden; }
.design-2026 .rd-about-bottom .rd-photo { height:175px; }
.design-2026 .rd-about-detail { padding:1.1rem 1.4rem; }
.design-2026 .rd-about-detail .about-meta p { font-size:.88rem; margin-bottom:.4rem; }
.design-2026 .rd-about-detail .reach-ask { font-size:.73rem; background:#ffffffb8; border:0; border-radius:5px; padding:.6rem; }
.design-2026 .rd-about-detail .reach-ask a { color:#00557b!important; }
/* Portfolio: a restrained editorial rhythm, rather than a wall of snapshots. */
.design-2026 .rd-gallery-page { background:#eef4f8!important; color:#102d46; padding-bottom:2.5rem; }
.design-2026 .rd-gallery-page::before { display:none; }
.design-2026 .rd-gallery-page :is(h1,.breadcrumbs,.breadcrumbs a,.page-hero-lead) { color:#102d46!important; }
.design-2026 .rd-gallery-page .section-label { color:#00678e!important; }
.design-2026 .rd-gallery-page .hx-reel-intro { gap:2rem; margin-bottom:1.2rem; }
.portfolio-note { display:grid; grid-template-columns:1fr 1.2fr; gap:3rem; padding-block:1.3rem; margin-bottom:1.6rem; border-block:1px solid #c1d5e3; }
.portfolio-note>span { font-size:1.1rem; font-weight:600; color:#102d46; }
.portfolio-note p { font-size:.9rem; line-height:1.7; margin:0; color:#405d73; max-width:60ch; }
.design-2026 .rd-gallery-page .bento-grid { display:grid; columns:auto; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.3rem; align-items:start; }
.design-2026 .rd-gallery-page .bento-grid figure { margin:0; border-radius:7px; background:#fff; border:1px solid #d2e0ea; }
.design-2026 .rd-gallery-page .bento-grid figure:nth-child(5n+1) { grid-column:span 2; }
.design-2026 .rd-gallery-page .bento-grid img { height:300px; aspect-ratio:auto; object-fit:cover; }
.design-2026 .rd-gallery-page img[data-photo="work-kotly-scienne"] { object-fit:contain; background:#e0e8ed; }
.design-2026 .rd-gallery-page .bento-grid figcaption { position:static; background:#fff; color:#102d46; font-size:.81rem; padding:1rem; text-shadow:none; }
/* FAQ topics stay in their place in the document. */
.fq-sidebar { position:static; top:auto; }
/* Contact: actual installation photography anchors the direct contact panel. */
.design-2026 .rd-contact::before { inset-inline-start:85%!important; }
.design-2026 .rd-contact { border-bottom:0; }
.design-2026 .rd-contact::after { content:""; position:absolute; z-index:-1; inset:0 45% 0 0; background:linear-gradient(90deg,#082c4ae6,#082c4ab0),url('assets/work-pompy-przemysl-full.webp') center/cover; filter:blur(5px); opacity:.6; pointer-events:none; }
.boiler-scope { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.6rem; padding-top:1rem; border-top:1px solid #ffffff30; }
.boiler-scope span { padding:.5rem .7rem; border:1px solid #ffffff35; border-radius:4px; color:#dceafa; background:#ffffff08; font-size:.75rem; }
.design-2026 .contact-photo-brand { position:relative; isolation:isolate; overflow:hidden; min-height:235px; justify-content:end; }
.contact-project { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; }
.design-2026 .contact-photo-brand::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(transparent,#082c4af5); }
.design-2026 .contact-photo-brand :is(strong,span,p) { position:relative; color:#fff!important; }
.contact-preparation { padding:1.2rem 1.4rem; background:#fff2e4; border-bottom:1px solid #f4d8ba; }
.contact-preparation>span { color:#102d46; font-size:.83rem; font-weight:600; }
.contact-preparation p { color:#405d73; font-size:.82rem; line-height:1.65; margin:.5rem 0 0; }
/* Heating: two connected project details, framed by a warm technical field. */
.heat-composition { position:relative; padding:0 2.5rem 2.6rem 0; }
.heat-composition>.rd-photo { height:365px; border-radius:36px 8px 8px 8px; border:5px solid #ffffffd9; }
.heat-inset { position:absolute; width:54%; height:145px; bottom:0; right:0; border:5px solid #fff; box-shadow:0 9px 24px #082c4a35; border-radius:8px; }
.heat-tag { position:absolute; top:1rem; left:1rem; padding:.5rem .65rem; max-width:24ch; font-size:.65rem; line-height:1.5; color:#fff; background:#082c4adc; border-radius:4px; }
.design-2026 .rd-heating-grid { grid-template-columns:1fr 1.25fr; gap:3rem; }
.design-2026 .rd-heating-key span { border:1px solid #ffffff35; padding:.55rem .8rem; border-radius:4px; background:#ffffff08; }
/* Heat pumps: genuine building-side work instead of a stock diagram. */
.pump-composition { position:relative; padding-bottom:3rem; }
.pump-composition>.editor-photo:first-child { height:340px; border:5px solid #fff; border-radius:36px 7px 7px 7px; }
.pump-inset { position:absolute; bottom:2rem; right:-.4rem; width:35%; height:180px; border:5px solid #fff; box-shadow:0 8px 25px #082c4a35; }
.scope-caption { position:relative; margin:-1rem 25% 0 1rem; padding:.9rem 1rem; background:#fff; border-left:3px solid #ff9228; border-radius:4px; color:#102d46; }
.scope-caption span { display:block; font-size:.65rem; color:#405d73; margin-bottom:.35rem; }
.scope-caption strong { font-size:.95rem; font-weight:600; }
/* Boiler: a portrait fitted to the subject, with an informative caption below. */
.design-2026 .rd-boiler::before { inset-inline-start:88%!important; }
.design-2026 .rd-boiler-grid { grid-template-columns:.8fr 1.2fr; gap:4rem; }
.design-2026 .rd-boiler-visual { justify-self:center; width:min(100%,310px); padding:0; border:0; border-radius:20px; box-shadow:none; background:transparent; }
.design-2026 .rd-boiler-visual .rd-photo { height:350px; border-radius:20px 20px 0 0; }
.design-2026 .rd-boiler-visual .rd-photo img { object-fit:cover; }
.design-2026 .rd-boiler-visual figcaption { display:none; }
.boiler-note { padding:1rem; background:#fff; color:#102d46; border-radius:0 0 12px 12px; border-bottom:4px solid #ff9228; }
.boiler-note span { display:block; font-size:.65rem; color:#405d73; margin-bottom:.4rem; }
.boiler-note strong { font-size:.94rem; font-weight:600; }
/* Repair: photo and diagnostic scope form one coherent service desk. */
.design-2026 .rd-repair::before { inset-inline-start:88%!important; }
.design-2026 .rd-repair { padding-bottom:2.5rem; }
.repair-desk { border-radius:20px 7px 7px 7px; overflow:hidden; background:#fff; box-shadow:0 12px 30px #001b3425; }
.repair-desk .editor-photo { height:170px; border-radius:0; }
.repair-desk .editor-photo img { object-position:center 35%; }
.repair-desk .editor-photo figcaption { display:none; }
.repair-brief { padding:1.3rem; color:#102d46; border-top:3px solid #ff9228; }
.repair-brief>span { font-size:1.15rem; font-weight:600; }
.repair-brief ul { margin:.8rem 0; list-style:none; display:grid; gap:.5rem; font-size:.85rem; color:#405d73; }
.repair-brief li::before { content:""; display:inline-block; width:5px; height:5px; background:#b85800; margin-right:.6rem; vertical-align:middle; }
.repair-brief>a { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.5rem; border-top:1px solid #cbdde9; padding-top:.9rem; font-size:.8rem; color:#102d46; }
.repair-brief strong { font-size:1.2rem; font-weight:600; }
@media(max-width:900px) {
 .company-layout { gap:2rem; }
 .company-project { height:400px; }
 .question-layout { gap:2rem; }
 .design-2026 .rd-catalog .catalog-opening { gap:1.5rem; }
 .design-2026 .rd-catalog .catalog-photo { height:340px; }
 .design-2026 .rd-gallery-page .bento-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .design-2026 .rd-gallery-page .bento-grid figure:nth-child(5n+1) { grid-column:auto; }
 .design-2026 .rd-gallery-page .bento-grid img { height:260px; }
 .design-2026 .rd-boiler-grid { gap:2rem; }
 .heat-composition { padding-right:1rem; }
 .heat-composition>.rd-photo { height:330px; }
}
@media(max-width:640px) {
 .company-opening { padding:1.6rem 0 2rem; }
 .company-layout { grid-template-columns:1fr; gap:1.5rem; }
 .company-copy .breadcrumbs { margin-bottom:1.2rem; }
 .company-project { height:280px; }
 .design-2026.page-home #uslugi .svc-menu-list { height:auto; grid-template-rows:repeat(6,minmax(88px,auto)); }
 .design-2026.page-home #uslugi .svc-menu-item p { display:block; color:#405d73!important; }
 .design-2026.page-home #uslugi .svc-menu-item.is-previewed p { color:#dceafa!important; }
 .design-2026.page-home #uslugi .rd-service-preview>.rd-preview-previous { top:12px; left:12px; width:calc(100% - 24px); height:calc(100% - 65px); }
 .question-layout { grid-template-columns:1fr; gap:1.5rem; }
 .question-list summary { gap:.65rem; padding:1rem .65rem; font-size:.92rem; }
 .question-list details>div { padding:0 1rem 1rem 2.8rem; }
 .design-2026 .rd-catalog .catalog-opening { grid-template-columns:1fr; }
 .design-2026 .rd-catalog .rd-copy { grid-row:1; }
 .design-2026 .rd-catalog .catalog-photo { height:235px; box-shadow:4px 4px 0 #ff9228; }
 .design-2026 .rd-about-bottom { display:block; }
 .design-2026 .rd-about-bottom .rd-photo { height:170px; }
 .portfolio-note { grid-template-columns:1fr; gap:.7rem; }
 .design-2026 .rd-gallery-page .bento-grid { gap:.7rem; }
 .design-2026 .rd-gallery-page .bento-grid img { height:190px; }
 .design-2026 .rd-gallery-page .bento-grid figcaption { font-size:.72rem; padding:.7rem; }
 .design-2026 .rd-heating-grid { grid-template-columns:1fr; gap:1.5rem; }
 .heat-composition { padding:0 1.5rem 2rem 0; }
 .heat-composition>.rd-photo { height:260px; }
 .heat-inset { height:120px; }
 .pump-composition>.editor-photo:first-child { height:260px; }
 .pump-inset { height:145px; }
 .scope-caption { margin-right:20%; margin-left:0; }
 .design-2026 .rd-boiler-grid { grid-template-columns:1fr; }
 .design-2026 .rd-boiler-visual { width:min(100%,290px); }
 .design-2026 .rd-boiler-visual .rd-photo { height:330px; }
 .design-2026 .rd-repair { padding-bottom:1.5rem; }
}
/* Portfolio cards have intrinsic row heights; no legacy bento spans or fixed tracks. */
.design-2026 .rd-gallery-page .bento-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:auto; grid-auto-flow:row; gap:1.5rem; align-items:stretch; }
.design-2026 .rd-gallery-page .bento-grid figure,
.design-2026 .rd-gallery-page .bento-grid figure:nth-child(5n+1) { display:flex; flex-direction:column; grid-column:auto; grid-row:auto; width:auto; height:auto; min-width:0; margin:0; border:1px solid #cddce7; border-radius:8px; overflow:hidden; box-shadow:none; transform:none; }
.design-2026 .rd-gallery-page .bento-grid figure[hidden] { display:none; }
.design-2026 .rd-gallery-page .bento-grid picture { display:block; height:240px; width:100%; flex-shrink:0; }
.design-2026 .rd-gallery-page .bento-grid img { display:block; height:240px; width:100%; aspect-ratio:auto; object-fit:cover; transform:none!important; }
.design-2026 .rd-gallery-page .bento-grid figcaption { position:static; flex:1; min-height:64px; display:flex; align-items:center; padding:.9rem 1rem; background:#fff; color:#102d46; font-size:.82rem; line-height:1.5; border-top:1px solid #dce7ee; }
.design-2026 .contact-side .reach-ask { background:#123f60!important; background-image:none!important; color:#fff!important; border:1px solid #51748d; border-left:3px solid #ff9228; border-radius:4px; padding:.9rem 1rem; max-width:none; font-size:.86rem; line-height:1.65; }
.design-2026 .contact-side .reach-ask a { color:#fff!important; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:1000px) {
 .design-2026 .rd-gallery-page .bento-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:640px) {
 .design-2026 .rd-gallery-page .bento-grid { grid-template-columns:1fr; gap:1.15rem; }
 .design-2026 .rd-gallery-page .bento-grid picture,.design-2026 .rd-gallery-page .bento-grid img { height:260px; }
 .design-2026 .rd-gallery-page .bento-grid figcaption { min-height:0; }
}
