/*
Theme Name: RAD-AR VISUAL CLEAN 7.3
Theme URI: https://radarspawanie.pl/
Author: RAD-AR
Author URI: https://radarspawanie.pl/
Description: RAD-AR — finalna wersja strony z galerią, SEO, GA4, RODO i zdjęciami HQ.
Version: 7.3.5
Text Domain: rad-ar
*/

:root{
  --bg:#f5f6f7;
  --surface:#fff;
  --ink:#111820;
  --muted:#606a73;
  --dark:#10171d;
  --dark2:#182127;
  --accent:#ff681d;
  --accent2:#ff7c32;
  --line:#dde2e6;
  --max:1180px;
  --radius:2px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.55}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit}
.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}

.site-header{position:fixed;top:0;left:0;right:0;z-index:30;background:rgba(13,20,26,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}
.nav-wrap{height:72px;display:flex;align-items:center;gap:28px}
.brand{display:inline-flex;align-items:center;gap:12px;color:#fff;min-width:max-content}
.brand>span:last-child{display:flex;flex-direction:column;line-height:1}
.brand strong{font-size:20px;letter-spacing:.14em}
.brand small{font-size:10px;margin-top:5px;letter-spacing:.04em;color:#c8cfd4}
.brand-mark{position:relative;width:35px;height:35px;transform:skew(-17deg)}
.brand-mark:before,.brand-mark i,.brand-mark b{content:"";position:absolute;display:block;transform:skew(17deg)}
.brand-mark:before{inset:6px 13px 6px 2px;border:3px solid #fff;border-right:0}
.brand-mark i{inset:3px 7px 3px 16px;border-left:4px solid var(--accent)}
.brand-mark b{right:0;top:9px;width:12px;height:4px;background:var(--accent)}
.main-nav{margin-left:auto;display:flex;align-items:center;gap:28px;color:#dce1e5;font-size:14px}
.main-nav a{position:relative;padding:26px 0}
.main-nav a:after{content:"";position:absolute;height:2px;left:0;right:100%;bottom:17px;background:var(--accent);transition:.25s}
.main-nav a:hover:after{right:0}
.nav-cta{margin-left:4px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:0 22px;border:1px solid transparent;font-weight:700;font-size:14px;transition:.2s;cursor:pointer}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent2);transform:translateY(-1px)}
.btn-ghost{border-color:rgba(255,255,255,.55);color:#fff;background:rgba(16,23,29,.28)}
.btn-ghost:hover{background:#fff;color:var(--dark)}
.btn-outline-light{border-color:rgba(255,255,255,.55);color:#fff}
.btn-outline-light:hover{background:#fff;color:var(--ink)}
.menu-toggle{display:none;margin-left:auto;background:none;border:0;padding:8px}
.menu-toggle span{display:block;width:24px;height:2px;background:#fff;margin:5px}

.hero{height:min(720px,90vh);min-height:610px;position:relative;display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 56%}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,11,15,.94) 0%,rgba(6,11,15,.78) 39%,rgba(6,11,15,.18) 70%,rgba(6,11,15,.03) 100%)}
.hero-content{position:relative;padding:145px 0 54px}
.eyebrow,.section-label{font-size:12px;text-transform:uppercase;letter-spacing:.09em;font-weight:700}
.eyebrow{display:flex;align-items:center;gap:14px;color:#e7ebee}
.eyebrow span,.section-label:before{content:"";display:inline-block;width:27px;height:3px;background:var(--accent);vertical-align:middle;margin-right:11px}
.hero h1{max-width:700px;margin:17px 0 14px;font-size:clamp(46px,5.2vw,74px);line-height:.98;letter-spacing:-.045em}
.hero-lead{max-width:610px;font-size:18px;line-height:1.5;color:#f1f3f4;margin-bottom:28px}
.hero-actions{display:flex;gap:12px}
.hero-points{display:flex;gap:48px;margin-top:46px;padding-top:26px;border-top:1px solid rgba(255,255,255,.22);width:max-content}
.hero-points>div{display:flex;align-items:center;gap:13px;font-size:12px;line-height:1.25}
.point-icon{font-size:30px;color:#fff}

.section{padding:84px 0}
.section-label{margin:0 0 10px;color:#69737b}
.section-label.light{color:#bac2c7}
.section h2{font-size:clamp(32px,3.3vw,48px);line-height:1.04;letter-spacing:-.035em;margin:0 0 22px}
.section-subtitle{margin-top:-10px;color:var(--muted)}
.split{display:grid;grid-template-columns:.95fr 1.2fr;gap:70px;align-items:center}
.copy p{color:#525c64;max-width:540px}
.text-link{display:inline-flex;gap:9px;align-items:center;margin-top:12px;font-weight:800;border-bottom:1px solid var(--ink);padding-bottom:4px}
.text-link span,.service-card a span{color:var(--accent)}
.about-photo{position:relative;min-height:480px}
.about-photo>img{width:100%;height:480px;object-fit:cover}
.value-card{position:absolute;right:0;top:0;bottom:0;width:190px;background:rgba(13,21,27,.92);color:#fff;padding:52px 30px;display:flex;flex-direction:column;gap:6px}
.value-card strong{font-size:23px;line-height:1.1}
.value-card>span{width:28px;height:3px;background:var(--accent);margin:18px 0 7px}
.value-card p{font-size:12px;color:#d6dade;line-height:1.35}

.offer{background:#edf0f2}
.offer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:34px}
.service-card{background:#fff;min-width:0;box-shadow:0 10px 30px rgba(24,33,39,.04)}
.service-card img{height:225px;width:100%;object-fit:cover}
.service-card>div{padding:20px}
.service-card h3{margin:0 0 9px;font-size:19px;line-height:1.15}
.service-card p{font-size:13px;color:#5d666e;min-height:82px;margin:0 0 16px}
.service-card a{font-size:13px;font-weight:800;color:var(--accent)}

.projects{background:linear-gradient(135deg,#10171d,#1b252b);color:#fff}
.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end}
.section-head h2{margin-bottom:0}
.projects-intro{max-width:380px;color:#bfc7cc;margin:0}
.gallery{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:190px;gap:10px;margin-top:34px}
.gallery-item{border:0;padding:0;overflow:hidden;background:#222;cursor:zoom-in}
.gallery-item.wide{grid-column:span 2}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.35s}
.gallery-item:hover img{transform:scale(1.04);filter:brightness(.88)}

.process{background:#fff}
.steps{list-style:none;padding:0;margin:45px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.steps li{position:relative;display:flex;gap:18px}
.steps li:not(:last-child):after{content:"";position:absolute;top:24px;right:-16px;width:34px;height:1px;background:#cfd5d9}
.steps>li>span{flex:0 0 50px;height:50px;border:2px solid var(--accent);border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:18px}
.steps h3{font-size:16px;margin:3px 0 7px}
.steps p{font-size:13px;color:#68727a;margin:0}

.contact-strip{position:relative;color:#fff;padding:45px 0;overflow:hidden;background:#121a20}
.contact-strip-bg{position:absolute;inset:0;background:
linear-gradient(90deg,rgba(11,18,23,.98),rgba(11,18,23,.76)),
url("assets/images/gallery-5.webp") center 50%/cover no-repeat}
.contact-strip-content{position:relative;display:flex;align-items:center;justify-content:space-between;gap:50px}
.contact-strip h2{font-size:34px;margin:0 0 7px;letter-spacing:-.025em}
.contact-strip p{max-width:650px;margin:0;color:#d5dadd}
.contact-actions{display:flex;gap:10px;min-width:max-content}

.contact-data{background:#f2f4f5}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.contact-grid h2 span{font-size:.55em;letter-spacing:0}
.contact-copy{max-width:560px;color:#616b73}
.contact-card{background:#fff;padding:14px 34px;border-left:5px solid var(--accent);box-shadow:0 16px 45px rgba(22,31,37,.06)}
.contact-row{padding:18px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:3px}
.contact-row:last-child{border-bottom:0}
.contact-row small{text-transform:uppercase;letter-spacing:.08em;color:#7a848c;font-weight:700}
.contact-row a,.contact-row span{font-size:18px;font-weight:700}
.contact-placeholder span{font-size:15px;font-weight:500;color:#68727a}

footer{background:#fff;border-top:1px solid var(--line)}
.footer-main{min-height:118px;display:flex;align-items:center;gap:50px}
.footer-brand{color:var(--ink)}
.footer-brand small{color:#6c757d}
.footer-main nav{margin-left:auto;display:flex;gap:24px;font-size:13px}
.footer-main nav a:hover{color:var(--accent)}
.footer-social{display:flex;gap:10px}
.footer-social a{font-size:12px;font-weight:700;color:var(--accent)}
.footer-bottom{border-top:1px solid var(--line);padding:20px 0 28px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#899198}

.lightbox{padding:0;border:0;background:transparent;max-width:min(94vw,1200px);max-height:94vh}
.lightbox::backdrop{background:rgba(0,0,0,.9)}
.lightbox img{max-height:90vh;max-width:94vw;object-fit:contain}
.lightbox-close{position:fixed;right:24px;top:18px;border:0;background:none;color:#fff;font-size:44px;cursor:pointer}

@media(max-width:1000px){
  .nav-cta{display:none}
  .main-nav{gap:19px}
  .split{grid-template-columns:1fr;gap:36px}
  .about-photo{max-width:760px}
  .offer-grid{grid-template-columns:repeat(2,1fr)}
  .gallery{grid-template-columns:repeat(4,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .steps li:nth-child(2):after{display:none}
}
@media(max-width:760px){
  .container{width:min(calc(100% - 28px),var(--max))}
  .site-header{background:rgba(13,20,26,.97)}
  .nav-wrap{height:64px}
  .menu-toggle{display:block}
  .main-nav{position:absolute;top:64px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;background:#10171d;padding:8px 20px 18px}
  .main-nav.open{display:flex}
  .main-nav a{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.07)}
  .main-nav a:after{display:none}
  .hero{min-height:680px;height:92vh;align-items:flex-end}
  .hero-bg{object-position:61% center}
  .hero-overlay{background:linear-gradient(90deg,rgba(6,11,15,.94),rgba(6,11,15,.74))}
  .hero-content{padding:120px 0 34px}
  .hero h1{font-size:44px}
  .hero-lead{font-size:16px}
  .hero-actions{flex-direction:column;align-items:flex-start}
  .hero-points{gap:20px;width:100%;justify-content:space-between}
  .hero-points>div{gap:7px}
  .point-icon{display:none}
  .section{padding:64px 0}
  .section h2{font-size:34px}
  .about-photo,.about-photo>img{min-height:0;height:420px}
  .value-card{width:150px;padding:36px 20px}
  .value-card strong{font-size:18px}
  .offer-grid{grid-template-columns:1fr}
  .service-card{display:grid;grid-template-columns:42% 1fr}
  .service-card img{height:100%;min-height:220px}
  .service-card p{min-height:0}
  .section-head{display:block}
  .projects-intro{margin-top:12px}
  .gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:170px}
  .gallery-item.wide{grid-column:span 2}
  .steps{grid-template-columns:1fr}
  .steps li:after{display:none!important}
  .contact-strip-content{display:block}
  .contact-actions{margin-top:25px;flex-wrap:wrap}
  .contact-grid{grid-template-columns:1fr;gap:30px}
  .footer-main{align-items:flex-start;flex-direction:column;padding:35px 0;gap:22px}
  .footer-main nav{margin:0;flex-wrap:wrap}
  .footer-bottom{flex-direction:column}
}
@media(max-width:470px){
  .brand strong{font-size:17px}
  .brand-mark{width:31px;height:31px}
  .hero h1{font-size:39px}
  .hero-points{font-size:10px}
  .service-card{display:block}
  .service-card img{height:230px}
  .gallery{grid-auto-rows:150px}
  .contact-actions{display:grid;grid-template-columns:1fr;width:100%}
  .contact-actions .btn{width:100%}
}


/* --- Strony prawne / RODO --- */
.legal-header{position:fixed}
.legal-main{padding-top:72px;background:#f5f6f7;min-height:75vh}
.legal-hero{background:linear-gradient(135deg,#10171d,#1c272d);color:#fff;padding:76px 0 62px}
.legal-hero .section-label{color:#c4ccd1}
.legal-hero h1{font-size:clamp(38px,5vw,62px);line-height:1.02;letter-spacing:-.045em;margin:10px 0 14px;max-width:900px}
.legal-lead{max-width:720px;color:#d5dbdf;font-size:18px;margin:0}
.legal-content{padding:70px 0 90px}
.legal-layout{display:grid;grid-template-columns:230px minmax(0,780px);gap:70px;align-items:start}
.legal-toc{position:sticky;top:102px;background:#fff;padding:24px;border-left:4px solid var(--accent);display:flex;flex-direction:column;gap:10px;font-size:13px}
.legal-toc strong{text-transform:uppercase;font-size:11px;letter-spacing:.08em;margin-bottom:5px;color:#6b757d}
.legal-toc a{color:#3f4a52}.legal-toc a:hover{color:var(--accent)}
.legal-article{background:#fff;padding:48px 54px;box-shadow:0 14px 50px rgba(20,30,36,.05)}
.legal-article section{scroll-margin-top:100px;padding:0 0 32px;margin:0 0 32px;border-bottom:1px solid var(--line)}
.legal-article section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.legal-article h2{font-size:24px;letter-spacing:-.02em;margin:0 0 14px}
.legal-article p,.legal-article li{color:#525e66}.legal-article ul{padding-left:21px}.legal-article li{margin:8px 0}
.legal-article a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.legal-update{margin-top:24px;padding:16px 18px;background:#f4f6f7;border-left:3px solid var(--accent)}
.generic-copy{max-width:900px;margin:auto}.footer-bottom a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.legal-layout{grid-template-columns:1fr;gap:24px}.legal-toc{display:none}}
@media(max-width:600px){.legal-main{padding-top:64px}.legal-hero{padding:54px 0 42px}.legal-content{padding:36px 0 60px}.legal-article{padding:28px 22px}.legal-article h2{font-size:21px}}


/* --- Google Analytics / banner zgody --- */
.consent-banner{position:fixed;inset:0;z-index:9999;background:rgba(7,12,16,.56);display:flex;align-items:flex-end;justify-content:center;padding:22px;backdrop-filter:blur(3px)}
.consent-card{width:min(100%,980px);background:#fff;color:var(--ink);box-shadow:0 22px 80px rgba(0,0,0,.28);border-top:4px solid var(--accent);padding:26px 28px;display:grid;grid-template-columns:1fr auto;gap:34px;align-items:end}
.consent-kicker{margin:0 0 5px;text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:800;color:var(--accent)}
.consent-copy h2{font-size:25px;line-height:1.12;margin:0 0 9px;letter-spacing:-.025em}
.consent-copy p{margin:0 0 8px;max-width:650px;color:#59646c;font-size:14px}
.consent-copy a{font-size:13px;text-decoration:underline;text-underline-offset:3px}
.consent-actions{display:flex;gap:9px;min-width:max-content}
.consent-reject{background:#fff;border-color:#aab2b8;color:var(--ink)}
.consent-reject:hover{background:#eef1f3}
.cookie-settings-link{background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.consent-banner{padding:12px}.consent-card{grid-template-columns:1fr;padding:22px 19px;gap:18px}.consent-actions{display:grid;grid-template-columns:1fr;min-width:0}.consent-actions .btn{width:100%}}


/* ================================================================
   RAD-AR — strona główna edytowalna w Elementorze
   ================================================================ */
.radar-elementor-main{padding-top:72px;overflow:hidden}
.radar-el-wrap{width:min(calc(100% - 40px),1180px);margin-inline:auto}
.radar-el-section{padding:84px 0}
.radar-el-white{background:#fff}
.radar-el-light{background:#edf0f2}
.radar-el-dark{background:linear-gradient(135deg,#10171d,#1b252b);color:#fff}
.radar-el-dark .elementor-heading-title{color:#fff}
.radar-el-dark .elementor-widget-text-editor{color:#c5cdd2}

/* HERO */
.radar-el-hero{min-height:648px;color:#fff;position:relative}
.radar-el-hero:before{
  content:"";position:absolute;inset:0;z-index:0;
  background:linear-gradient(90deg,rgba(6,11,15,.94) 0%,rgba(6,11,15,.78) 42%,rgba(6,11,15,.18) 75%,rgba(6,11,15,.04) 100%)
}
.radar-el-hero > .e-con-inner,.radar-el-hero > .elementor-element{position:relative;z-index:1}
.radar-el-hero .radar-el-main-title .elementor-heading-title{
  color:#fff;font-size:clamp(46px,5.2vw,74px);line-height:.98;letter-spacing:-.045em
}
.radar-el-hero .radar-el-lead{max-width:630px;color:#f1f3f4;font-size:18px;line-height:1.5}
.radar-el-eyebrow .elementor-heading-title{
  color:#e7ebee!important;font-size:12px!important;text-transform:uppercase;letter-spacing:.09em!important
}
.radar-el-eyebrow .elementor-heading-title:before{
  content:"";display:inline-block;width:27px;height:3px;background:var(--accent);
  margin-right:12px;vertical-align:middle
}
.radar-el-buttons{display:flex!important;flex-direction:row!important;gap:12px!important;flex-wrap:wrap}
.radar-el-buttons .elementor-button{border-radius:0;min-height:46px;padding:14px 22px;font-weight:700}
.radar-secondary .elementor-button{background:transparent!important;border:1px solid rgba(255,255,255,.6)!important;color:#fff!important}
.radar-secondary .elementor-button:hover{background:#fff!important;color:var(--ink)!important}
.radar-hero-points{border-top:1px solid rgba(255,255,255,.22);padding-top:24px;margin-top:30px;max-width:620px}
.radar-point{min-width:150px}
.radar-point .elementor-heading-title{color:#fff!important;font-size:14px!important;line-height:1.25}
.radar-point-icon .elementor-heading-title{font-size:27px!important;color:#fff!important}

/* OGÓLNE NAGŁÓWKI */
.radar-el-label .elementor-heading-title{
  font-size:12px!important;line-height:1.2;text-transform:uppercase;letter-spacing:.09em;color:#69737b!important
}
.radar-el-label .elementor-heading-title:before{
  content:"";display:inline-block;width:27px;height:3px;background:var(--accent);
  vertical-align:middle;margin-right:11px
}
.radar-el-dark .radar-el-label .elementor-heading-title{color:#bac2c7!important}
.radar-el-section-title .elementor-heading-title{
  font-size:clamp(32px,3.3vw,48px);line-height:1.04;letter-spacing:-.035em
}

/* O NAS */
.radar-about-img img{height:480px;width:100%;object-fit:cover}
.radar-value-card{
  background:#111a20;color:#fff;padding:34px 28px;border-left:3px solid var(--accent)
}
.radar-value-card .elementor-heading-title{color:#fff!important;font-size:22px!important;line-height:1.06}
.radar-value-card .elementor-widget-text-editor{color:#d6dade;font-size:12px}

/* OFERTA */
.radar-service-card{
  background:#fff;height:100%;overflow:hidden;box-shadow:0 10px 30px rgba(24,33,39,.05)
}
.radar-service-card .elementor-widget-image img{width:100%;height:225px;object-fit:cover}
.radar-card-copy{padding:5px 20px 22px}
.radar-service-card .radar-card-title .elementor-heading-title{font-size:19px;line-height:1.15}
.radar-service-card .elementor-widget-text-editor{font-size:13px;color:#5d666e}
.radar-card-link .elementor-button{padding:0;background:transparent!important;color:var(--accent)!important;font-weight:800}

/* GALERIA */
.radar-gallery-image{overflow:hidden}
.radar-gallery-image img{width:100%;height:230px;object-fit:cover;transition:.3s}
.radar-gallery-image img:hover{transform:scale(1.035);filter:brightness(.88)}
.radar-gallery-wide img{height:310px}

/* KROKI */
.radar-step{height:100%;padding:20px;border-top:3px solid var(--accent);background:#fff}
.radar-step-number .elementor-heading-title{font-size:31px!important;color:var(--accent)!important}
.radar-step-title .elementor-heading-title{font-size:16px!important}
.radar-step .elementor-widget-text-editor{font-size:13px;color:#68727a}

/* CTA + KONTAKT */
.radar-contact-band{position:relative}
.radar-contact-band:before{content:"";position:absolute;inset:0;background:rgba(13,20,26,.78);z-index:0}
.radar-contact-band > .e-con-inner,.radar-contact-band > .elementor-element{position:relative;z-index:1}
.radar-el-contact-card{
  background:#fff;padding:25px 32px;border-left:5px solid var(--accent);
  box-shadow:0 16px 45px rgba(22,31,37,.06)
}
.radar-el-contact-card strong{
  display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#7a848c;margin-top:16px
}
.radar-el-contact-card strong:first-child{margin-top:0}
.radar-el-contact-card p{font-size:18px;font-weight:700;margin:2px 0 10px}
.radar-el-contact-card a{color:var(--ink)}

@media(max-width:760px){
  .radar-elementor-main{padding-top:64px}
  .radar-el-wrap{width:min(calc(100% - 28px),1180px)}
  .radar-el-section{padding:64px 0}
  .radar-el-hero{min-height:650px}
  .radar-el-hero .radar-el-main-title .elementor-heading-title{font-size:42px}
  .radar-about-img img{height:400px}
  .radar-gallery-image img,.radar-gallery-wide img{height:210px}
}


/* =====================================================================
   RAD-AR FIX — układ bliższy mockupowi z Elementora
   ===================================================================== */
:root{
  --radar-max:1180px;
  --radar-bg:#f3f4f6;
  --radar-card:#ffffff;
  --radar-text:#111820;
  --radar-muted:#56616a;
  --radar-dark:#10171d;
  --radar-dark-2:#192228;
  --radar-accent:#ff6d20;
  --radar-line:#d9dfe4;
}

.radar-elementor-main{padding-top:72px;overflow:hidden;background:var(--radar-bg)}
.radar-standard-page{padding-top:72px}
.radar-el-wrap{width:min(calc(100% - 40px), var(--radar-max)); margin-inline:auto}
.radar-el-section{padding:0}
.radar-el-s-pad{padding:82px 0}
.radar-el-white{background:#fff}
.radar-el-light{background:#f3f4f6}
.radar-el-dark{background:linear-gradient(135deg,var(--radar-dark),var(--radar-dark-2)); color:#fff}
.radar-el-dark .elementor-heading-title{color:#fff}
.radar-el-dark .elementor-widget-text-editor{color:#c5cdd2}
.radar-el-dark .radar-el-label .elementor-heading-title{color:#b7bfc6 !important}

.radar-el-label .elementor-heading-title{
  font-size:12px !important;
  line-height:1.2 !important;
  text-transform:uppercase;
  letter-spacing:.09em !important;
  color:#6b747c !important;
}
.radar-el-label .elementor-heading-title:before{
  content:"";
  display:inline-block;
  width:28px;
  height:3px;
  background:var(--radar-accent);
  vertical-align:middle;
  margin-right:11px;
}
.radar-el-section-title .elementor-heading-title{
  font-size:clamp(32px,3.3vw,52px);
  line-height:1.03;
  letter-spacing:-.04em;
  color:var(--radar-text);
}
.radar-el-dark .radar-el-section-title .elementor-heading-title{color:#fff}
.radar-el-copy{color:var(--radar-muted); font-size:18px; line-height:1.55}
.radar-el-copy-small{color:var(--radar-muted); font-size:15px; line-height:1.55}

.radar-el-buttons{
  display:flex !important;
  flex-direction:row !important;
  gap:12px !important;
  flex-wrap:wrap;
}
.radar-el-buttons .elementor-button{
  min-height:48px;
  border-radius:0;
  padding:0 24px;
  font-weight:700;
  font-size:15px;
}
.radar-btn-outline .elementor-button{
  background:transparent !important;
  border:1px solid rgba(255,255,255,.55) !important;
  color:#fff !important;
}
.radar-btn-outline .elementor-button:hover{
  background:#fff !important;
  color:var(--radar-text) !important;
}

/* HERO */
.radar-hero{
  min-height:700px;
  color:#fff;
  position:relative;
}
.radar-hero:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(90deg, rgba(7,12,16,.92) 0%, rgba(7,12,16,.78) 42%, rgba(7,12,16,.20) 74%, rgba(7,12,16,.06) 100%);
}
.radar-hero > .e-con-inner,
.radar-hero > .elementor-element{position:relative; z-index:1}
.radar-hero .radar-el-wrap{padding-top:110px; padding-bottom:58px}
.radar-hero-kicker .elementor-heading-title{
  color:#e7ebee !important;
  font-size:13px !important;
  letter-spacing:.11em !important;
  text-transform:uppercase;
}
.radar-hero-kicker .elementor-heading-title:before{
  content:"";
  display:inline-block;
  width:28px;
  height:3px;
  background:var(--radar-accent);
  margin-right:12px;
  vertical-align:middle;
}
.radar-hero-title .elementor-heading-title{
  color:#fff;
  font-size:clamp(52px,5.6vw,84px);
  line-height:.94;
  letter-spacing:-.05em;
}
.radar-hero-text .elementor-widget-text-editor,
.radar-hero-text .elementor-widget-container,
.radar-hero-text{
  color:#eef1f3;
  font-size:18px;
  line-height:1.45;
  max-width:640px;
}
.radar-hero-points{
  display:flex;
  flex-wrap:wrap;
  gap:34px;
  border-top:1px solid rgba(255,255,255,.22);
  margin-top:34px;
  padding-top:26px;
}
.radar-hero-point{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:170px;
}
.radar-hero-icon .elementor-heading-title{
  color:#fff !important;
  font-size:26px !important;
}
.radar-hero-point-title .elementor-heading-title{
  color:#fff !important;
  font-size:15px !important;
  line-height:1.2 !important;
}

/* ABOUT */
.radar-about-section .radar-el-wrap{padding-top:82px; padding-bottom:82px}
.radar-about-image img{width:100%; height:430px; object-fit:cover}
.radar-about-visual{position:relative}
.radar-about-value{
  position:absolute;
  right:0;
  top:0;
  bottom:0;
  width:220px;
  background:rgba(15,22,28,.94);
  color:#fff;
  padding:40px 30px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.radar-about-value .elementor-heading-title{
  color:#fff !important;
  font-size:18px !important;
  line-height:1.15 !important;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.radar-about-value .elementor-heading-title + .elementor-heading-title{margin-top:4px}
.radar-about-value .elementor-widget-text-editor{margin-top:18px; color:#d7dce0; font-size:12px; line-height:1.4}
.radar-about-value:before{
  content:"";
  display:block;
  width:28px;
  height:3px;
  background:var(--radar-accent);
  margin-bottom:18px;
  order:0;
}

/* SERVICE CARDS */
.radar-offer-section .radar-el-wrap{padding-top:68px; padding-bottom:72px}
.radar-offer-grid{display:flex !important; flex-direction:row !important; flex-wrap:wrap; gap:14px !important}
.radar-service-card{
  background:var(--radar-card);
  box-shadow:0 10px 28px rgba(23,31,37,.04);
  overflow:hidden;
  height:100%;
}
.radar-service-card .elementor-widget-image img{
  width:100%;
  height:170px;
  object-fit:cover;
}
.radar-service-card .radar-card-copy{padding:14px 16px 16px}
.radar-service-card .radar-card-title .elementor-heading-title{
  font-size:19px !important;
  line-height:1.15 !important;
  color:var(--radar-text);
}
.radar-service-card .elementor-widget-text-editor{
  color:var(--radar-muted);
  font-size:13px;
  line-height:1.45;
}
.radar-card-link .elementor-button{
  padding:0;
  background:transparent !important;
  color:var(--radar-accent) !important;
  font-weight:800;
}
.radar-card-link .elementor-button:after{
  content:" →";
}

/* GALLERY */
.radar-gallery-section .radar-el-wrap{padding-top:24px; padding-bottom:18px}
.radar-gallery-top{
  display:flex !important;
  flex-direction:row !important;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px;
}
.radar-gallery-more .elementor-button{
  padding:0;
  background:transparent !important;
  color:#fff !important;
  font-weight:700;
  border:0 !important;
}
.radar-gallery-more .elementor-button:after{content:" →"}
.radar-gallery-row{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  gap:10px !important;
  overflow:hidden;
  margin-top:12px;
}
.radar-gallery-tile{
  flex:1 1 0;
  min-width:0;
}
.radar-gallery-tile img{
  width:100%;
  height:170px;
  object-fit:cover;
  display:block;
}

/* PROCESS */
.radar-process-section .radar-el-wrap{padding-top:26px; padding-bottom:26px}
.radar-process-grid{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap !important;
  gap:10px !important;
}
.radar-step-card{
  background:#fff;
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:12px 10px;
  position:relative;
}
.radar-step-number-circle .elementor-heading-title{
  width:42px;
  height:42px;
  border:2px solid var(--radar-accent);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--radar-text) !important;
  font-size:20px !important;
  font-weight:800;
}
.radar-step-title .elementor-heading-title{
  font-size:16px !important;
  color:var(--radar-text) !important;
}
.radar-step-text .elementor-widget-text-editor{
  font-size:13px;
  color:#6d7780;
  line-height:1.35;
}

/* CTA band */
.radar-cta-band{
  position:relative;
  color:#fff;
}
.radar-cta-band:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(14,22,28,.92), rgba(14,22,28,.77));
  z-index:0;
}
.radar-cta-band > .e-con-inner,
.radar-cta-band > .elementor-element{position:relative; z-index:1}
.radar-cta-band .radar-el-wrap{padding-top:24px; padding-bottom:24px}
.radar-cta-title .elementor-heading-title{
  color:#fff !important;
  font-size:28px !important;
  line-height:1.06 !important;
  letter-spacing:-.025em;
}
.radar-cta-text .elementor-widget-text-editor{
  color:#d7dde0; font-size:16px; line-height:1.45;
}
.radar-cta-contact{
  display:flex !important;
  flex-direction:row !important;
  align-items:center;
  justify-content:flex-end;
  gap:14px !important;
}
.radar-cta-contact .elementor-button{min-width:220px}
.radar-cta-phone .elementor-heading-title{
  color:#fff !important;
  font-size:24px !important;
  font-weight:700;
}
.radar-cta-phone small{display:block; font-size:12px; color:#c7cfd4; font-weight:500; margin-top:6px}

/* CONTACT section */
.radar-contact-section .radar-el-wrap{padding-top:70px; padding-bottom:70px}
.radar-contact-card{
  background:#fff;
  border-left:5px solid var(--radar-accent);
  box-shadow:0 16px 42px rgba(22,31,37,.06);
  padding:22px 28px;
}
.radar-contact-card strong{
  display:block;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#7a848c;
  margin-top:16px;
}
.radar-contact-card strong:first-child{margin-top:0}
.radar-contact-card p{
  margin:4px 0 9px;
  color:var(--radar-text);
  font-size:18px;
  font-weight:700;
}
.radar-contact-card a{color:var(--radar-text)}

@media(max-width:1024px){
  .radar-gallery-row{flex-wrap:wrap !important}
  .radar-gallery-tile{width:calc(33.333% - 7px); flex:0 0 calc(33.333% - 7px)}
}

@media(max-width:760px){
  .radar-elementor-main,.radar-standard-page{padding-top:64px}
  .radar-el-wrap{width:min(calc(100% - 28px), var(--radar-max))}
  .radar-hero{min-height:660px}
  .radar-hero .radar-el-wrap{padding-top:82px; padding-bottom:36px}
  .radar-hero-title .elementor-heading-title{font-size:44px}
  .radar-hero-points{gap:18px}
  .radar-hero-point{min-width:140px}
  .radar-about-section .radar-el-wrap,
  .radar-offer-section .radar-el-wrap,
  .radar-contact-section .radar-el-wrap{padding-top:56px; padding-bottom:56px}
  .radar-about-image img{height:320px}
  .radar-about-value{position:static; width:100%; padding:24px 24px}
  .radar-gallery-top{display:block !important}
  .radar-gallery-row{flex-wrap:wrap !important}
  .radar-gallery-tile{width:calc(50% - 5px); flex:0 0 calc(50% - 5px)}
  .radar-gallery-tile img{height:160px}
  .radar-cta-contact{justify-content:flex-start; flex-wrap:wrap}
}

@media(max-width:480px){
  .radar-gallery-tile{width:100%; flex:0 0 100%}
  .radar-gallery-tile img{height:200px}
}


/* --- RAD-AR HQ PHOTO UPDATE --- */
.radar-hero,.hero{background-position:center center !important;}
.radar-hero img,.hero-bg{image-rendering:auto;}
.radar-about-image img,.about-photo > img{object-position:center center;}
.radar-service-card .elementor-widget-image img,.service-card img{object-position:center center;}
.radar-gallery-tile img,.gallery-item img{object-position:center center;}


/* === RAD-AR WIZUALIZACJA EXACT === */
.site-header{background:linear-gradient(180deg,rgba(14,20,26,.82),rgba(14,20,26,.35));backdrop-filter:blur(6px)}
.main-nav a:first-child{position:relative}
.main-nav a:first-child:after,.main-nav a[aria-current="page"]:after{
  content:"";position:absolute;left:0;right:0;bottom:-12px;height:3px;background:var(--accent);
}
.section-link{font-size:14px;font-weight:700;color:#fff;white-space:nowrap}
.section-link:hover{color:#fff;opacity:.9}
.projects .section-head{margin-bottom:18px}
.projects .section-head h2{color:#fff}
.projects .section-head .section-label{color:#b7c1c7}
.projects .section-head .section-label:before{background:var(--accent)}
.projects .section-head .section-link{align-self:flex-start;margin-top:24px}
.gallery{margin-top:0;grid-template-columns:repeat(6,1fr);grid-auto-rows:150px}
.gallery-item.wide{grid-column:span 1}
.contact-strip{padding:26px 0;background:#10171d}
.contact-strip-content{gap:34px}
.contact-strip h2{font-size:30px;margin-bottom:10px}
.contact-strip p{max-width:720px;font-size:17px;line-height:1.45}
.contact-actions{align-items:center}
.cta-phone-card{display:flex;align-items:center;gap:14px;padding:14px 18px;border-left:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.05)}
.cta-phone-icon{font-size:22px;line-height:1}
.cta-phone-meta strong{display:block;color:#fff;font-size:28px;line-height:1}
.cta-phone-meta span{display:block;color:#d5dadd;font-size:13px;margin-top:6px}
.footer-main{justify-content:space-between;gap:30px}
.footer-main nav{margin-left:0}
.footer-contact{display:flex;gap:30px;font-size:13px;color:#5f6870;align-items:center}
.footer-contact a{color:#202830}
.footer-bottom{font-size:12px}
.footer-bottom-right{display:flex;gap:20px;align-items:center}
@media(max-width:1000px){
  .gallery{grid-template-columns:repeat(3,1fr)}
  .contact-actions{flex-wrap:wrap}
  .cta-phone-card{border-left:0;padding-left:0;background:none}
  .footer-main{flex-wrap:wrap}
  .footer-contact{width:100%;justify-content:flex-start;flex-wrap:wrap}
}
@media(max-width:680px){
  .gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:140px}
  .contact-strip-content{flex-direction:column;align-items:flex-start}
  .contact-strip h2{font-size:26px}
  .footer-bottom{flex-direction:column;align-items:flex-start}
}


/* ================================================================
   RAD-AR 5.0
   ================================================================ */
.gallery-toggle{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  font:inherit;
  cursor:pointer;
}
.gallery-extra{display:none}
.gallery.gallery-expanded .gallery-extra{display:block}
.gallery-toggle:hover{opacity:.85}

.footer-company-line{
  width:100%;
  margin-top:4px;
  font-size:11px;
  color:#8a9298;
  line-height:1.5;
}
.footer-bottom-right{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
}
.footer-bottom-right a,
.footer-bottom-right .cookie-settings-link{
  color:#747e85;
}
.footer-bottom-right a:hover,
.footer-bottom-right .cookie-settings-link:hover{
  color:var(--accent);
}

@media(max-width:680px){
  .footer-company-line{font-size:10px}
}


/* ================================================================
   RAD-AR 5.1 — większa wysokość wybranych sekcji na desktopie
   ================================================================ */
@media (min-width: 1100px){

  /* O nas — więcej oddechu i większe zdjęcie */
  .about{
    padding-top:110px;
    padding-bottom:110px;
  }
  .about-photo,
  .about-photo > img{
    min-height:520px;
    height:520px;
  }

  /* Oferta — większe kafle i większe odstępy góra/dół */
  .offer{
    padding-top:100px;
    padding-bottom:110px;
  }
  .offer-grid{
    margin-top:42px;
  }
  .service-card img{
    height:250px;
  }
  .service-card > div{
    padding:24px 22px 26px;
  }

  /* Realizacje — ciemna sekcja ma być pełniejsza, nie jak cienki pasek */
  .projects{
    padding-top:78px;
    padding-bottom:88px;
  }
  .gallery{
    grid-auto-rows:190px;
    margin-top:24px;
  }

  /* Proces — zwiększona wysokość i odstępy */
  .process{
    padding-top:82px;
    padding-bottom:96px;
  }
  .steps{
    margin-top:52px;
  }

  /* Dolne CTA — trochę większe, żeby zamknąć stronę mocniejszym akcentem */
  .contact-strip{
    padding-top:42px;
    padding-bottom:42px;
  }
}


/* ================================================================
   RAD-AR 5.2 — HERO pełny ekran na tabletach i komputerach
   ================================================================ */
.hero-picture{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
}
.hero-picture .hero-bg{
  width:100%;
  height:100%;
  object-fit:cover;
}

@media (min-width:768px){
  .hero{
    height:100svh;
    min-height:720px;
    max-height:none;
    align-items:flex-end;
  }

  .hero-picture .hero-bg{
    object-position:center 52%;
  }

  .hero-overlay{
    background:
      linear-gradient(
        90deg,
        rgba(6,11,15,.96) 0%,
        rgba(6,11,15,.86) 31%,
        rgba(6,11,15,.58) 47%,
        rgba(6,11,15,.18) 68%,
        rgba(6,11,15,.04) 100%
      );
  }

  .hero-content{
    padding-top:150px;
    padding-bottom:58px;
  }

  .hero h1{
    max-width:760px;
  }

  .hero-lead{
    max-width:660px;
  }
}

/* Tablet — cały ekran, ale trochę ciaśniejsza typografia */
@media (min-width:768px) and (max-width:1099px){
  .hero{
    min-height:680px;
  }

  .hero-content{
    padding-top:125px;
    padding-bottom:42px;
  }

  .hero h1{
    font-size:clamp(44px,6.4vw,62px);
    max-width:650px;
  }

  .hero-lead{
    font-size:16px;
    max-width:570px;
  }

  .hero-points{
    margin-top:30px;
  }
}

/* Telefon zostaje krótszy i korzysta z dotychczasowego zdjęcia */
@media (max-width:767px){
  .hero{
    height:92svh;
    min-height:650px;
  }
}


/* ================================================================
   RAD-AR 6.0 — HERO wg zaakceptowanej wizualizacji ChatGPT
   Referencja: pełnoekranowa brama przy nowoczesnym domu.
   ================================================================ */

/* Header */
.visual-header{
  height:96px;
  background:linear-gradient(180deg,rgba(8,15,20,.78),rgba(8,15,20,.25));
  backdrop-filter:blur(5px);
  border-bottom:0;
}
.visual-header .nav-wrap{height:96px}
.visual-header .brand{gap:14px}
.visual-header .brand strong{font-size:27px;letter-spacing:.11em}
.visual-header .brand small{font-size:12px;margin-top:6px}
.visual-header .brand-mark{width:46px;height:46px}
.visual-header .main-nav{
  gap:36px;
  font-size:16px;
}
.visual-header .main-nav a{
  padding:37px 0 31px;
}
.visual-header .main-nav a:after{display:none}
.visual-header .main-nav a.active:after{
  display:block;
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:19px;
  height:3px;
  background:var(--accent);
}
.visual-header .nav-cta{
  min-height:52px;
  padding:0 25px;
  font-size:16px;
}

/* Hero — tablet i desktop */
@media (min-width:768px){
  .hero-reference{
    height:100svh;
    min-height:760px;
    max-height:none;
    position:relative;
    display:block;
    overflow:hidden;
    color:#fff;
  }

  .hero-reference .hero-picture{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    z-index:0;
  }

  .hero-reference .hero-picture .hero-bg{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
  }

  /*
   * Sama scena pochodzi z dokładnie tej wizualizacji, którą zaakceptowaliśmy.
   * Maski zasłaniają tekst/menu wypalone w obrazku referencyjnym.
   */
  .hero-reference .hero-ui-mask{
    position:absolute;
    pointer-events:none;
    z-index:1;
  }

  .hero-reference .hero-ui-mask-left{
    left:0;
    top:0;
    bottom:0;
    width:55%;
    background:
      linear-gradient(
        90deg,
        rgba(4,9,13,.985) 0%,
        rgba(4,9,13,.97) 43%,
        rgba(4,9,13,.93) 67%,
        rgba(4,9,13,.70) 82%,
        rgba(4,9,13,0) 100%
      );
  }

  .hero-reference .hero-ui-mask-top{
    left:0;
    right:0;
    top:0;
    height:112px;
    background:rgba(7,13,18,.58);
  }

  .hero-reference .hero-overlay{
    z-index:2;
    background:
      linear-gradient(
        90deg,
        rgba(3,8,12,.42) 0%,
        rgba(3,8,12,.17) 46%,
        rgba(3,8,12,0) 70%
      );
  }

  .hero-reference .hero-content{
    position:relative;
    z-index:4;
    height:100%;
    padding:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    transform:translateY(-1.5vh);
  }

  .hero-reference .eyebrow{
    display:flex;
    align-items:center;
    gap:0;
    margin:0 0 14px;
    font-size:14px;
    line-height:1;
    letter-spacing:.045em;
    color:#f2f4f5;
  }

  .hero-reference .eyebrow span{
    width:42px;
    height:4px;
    margin-right:17px;
    background:var(--accent);
  }

  .hero-reference .eyebrow b{
    font-weight:400;
    color:#d9dee1;
    margin:0 9px;
  }

  .hero-reference h1{
    width:790px;
    max-width:58vw;
    margin:10px 0 22px;
    font-size:clamp(62px,5.15vw,86px);
    line-height:.94;
    letter-spacing:-.052em;
    color:#fff;
  }

  .hero-reference .hero-lead{
    width:670px;
    max-width:50vw;
    margin:0 0 29px;
    color:#f0f2f3;
    font-size:18px;
    line-height:1.47;
  }

  .hero-reference .hero-actions{
    display:flex;
    gap:18px;
    margin:0;
  }

  .hero-reference .hero-actions .btn{
    min-width:272px;
    min-height:64px;
    padding:0 30px;
    font-size:17px;
    font-weight:700;
  }

  .hero-reference .hero-actions .btn-ghost{
    background:rgba(6,12,16,.48);
    border:1px solid rgba(255,255,255,.82);
  }

  .hero-reference .hero-points{
    display:flex;
    width:auto;
    gap:48px;
    margin:50px 0 0;
    padding:0;
    border:0;
  }

  .hero-reference .hero-points>div{
    display:flex;
    align-items:center;
    min-width:165px;
    gap:15px;
    font-size:14px;
    line-height:1.25;
  }

  .hero-reference .point-icon{
    font-size:38px;
    color:#fff;
  }

  .scroll-cue{
    position:absolute;
    z-index:5;
    left:50%;
    bottom:25px;
    transform:translateX(-50%);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:6px;
    color:#fff;
    opacity:.90;
  }

  .scroll-mouse{
    position:relative;
    width:24px;
    height:39px;
    border:2px solid #fff;
    border-radius:14px;
  }

  .scroll-mouse:after{
    content:"";
    position:absolute;
    left:50%;
    top:7px;
    width:3px;
    height:8px;
    border-radius:3px;
    background:#fff;
    transform:translateX(-50%);
  }

  .scroll-cue small{
    font-size:10px;
    line-height:1;
    letter-spacing:.08em;
  }

  .scroll-cue i{
    display:block;
    width:1px;
    height:33px;
    background:rgba(255,255,255,.58);
    margin-top:3px;
  }
}

/* Duży desktop: kontener tak jak w wizualizacji */
@media (min-width:1200px){
  .hero-reference .container,
  .visual-header .container{
    width:min(calc(100% - 120px),1480px);
  }
}

/* Tablet — te same proporcje, tylko skalowane */
@media (min-width:768px) and (max-width:1099px){
  .visual-header{height:80px}
  .visual-header .nav-wrap{height:80px}
  .visual-header .main-nav{gap:18px;font-size:13px}
  .visual-header .main-nav a{padding:30px 0 26px}
  .visual-header .brand strong{font-size:21px}
  .visual-header .brand small{font-size:10px}
  .visual-header .brand-mark{width:38px;height:38px}
  .visual-header .nav-cta{display:none}

  .hero-reference{
    min-height:680px;
  }

  .hero-reference .hero-ui-mask-left{
    width:65%;
  }

  .hero-reference h1{
    width:620px;
    max-width:72vw;
    font-size:clamp(46px,6.2vw,65px);
  }

  .hero-reference .hero-lead{
    width:560px;
    max-width:66vw;
    font-size:16px;
  }

  .hero-reference .hero-actions .btn{
    min-width:210px;
    min-height:54px;
    font-size:15px;
  }

  .hero-reference .hero-points{
    gap:25px;
    margin-top:36px;
  }

  .hero-reference .hero-points>div{
    min-width:135px;
    font-size:12px;
  }

  .hero-reference .point-icon{font-size:31px}
}

/* Telefon nie korzysta z makiety desktopowej */
@media (max-width:767px){
  .visual-header{height:64px}
  .visual-header .nav-wrap{height:64px}
  .hero-reference .hero-ui-mask{display:none}
  .hero-reference .scroll-cue{display:none}
}


/* ================================================================
   RAD-AR 6.1 — czyste hero z wizualizacji
   Usuwa widoczne napisy wypalone w obrazie referencyjnym.
   ================================================================ */
@media (min-width:768px){
  .hero-reference .hero-ui-mask-left{
    width:60%;
    background:
      linear-gradient(
        90deg,
        rgba(4,9,13,1) 0%,
        rgba(4,9,13,.995) 48%,
        rgba(4,9,13,.965) 70%,
        rgba(4,9,13,.82) 86%,
        rgba(4,9,13,0) 100%
      );
  }

  .hero-reference .hero-ui-mask-top{
    height:132px;
    background:
      linear-gradient(
        180deg,
        rgba(7,13,18,.82) 0%,
        rgba(7,13,18,.68) 78%,
        rgba(7,13,18,0) 100%
      );
  }

  .hero-reference .hero-ui-mask-copy{
    left:0;
    top:26%;
    bottom:0;
    width:56%;
    z-index:3;
    background:
      linear-gradient(
        90deg,
        rgba(4,9,13,.995) 0%,
        rgba(4,9,13,.985) 58%,
        rgba(4,9,13,.93) 79%,
        rgba(4,9,13,.56) 91%,
        rgba(4,9,13,0) 100%
      );
  }

  .hero-reference .hero-overlay{
    z-index:2;
    background:
      linear-gradient(
        90deg,
        rgba(3,8,12,.22) 0%,
        rgba(3,8,12,.08) 48%,
        rgba(3,8,12,0) 72%
      );
  }
}

@media (min-width:768px) and (max-width:1099px){
  .hero-reference .hero-ui-mask-left{
    width:68%;
  }

  .hero-reference .hero-ui-mask-copy{
    width:66%;
    top:24%;
  }

  .hero-reference .hero-ui-mask-top{
    height:112px;
  }
}


/* ================================================================
   RAD-AR 6.2 — czyste zdjęcie hero, bez masek
   ================================================================ */

/* Bezwarunkowo wyłączamy stare maski i overlaye z poprzednich wersji. */
.hero-reference .hero-ui-mask,
.hero-reference .hero-overlay{
  display:none !important;
}

/* Zdjęcie */
.hero-reference .hero-picture{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:0;
}
.hero-reference .hero-picture .hero-bg{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}

/* Desktop + tablet: pełny ekran i pozycje jak na wizualizacji */
@media (min-width:768px){
  .hero-reference{
    position:relative;
    display:block;
    width:100%;
    height:100svh;
    min-height:720px;
    overflow:hidden;
    color:#fff;
  }

  /* Nie korzystamy z szerokości standardowego .container —
     treść ma stać w tym samym miejscu co na wizualizacji. */
  .hero-reference .hero-content{
    position:absolute !important;
    z-index:4;
    left:5.4vw;
    top:50%;
    transform:translateY(-43%);
    width:min(790px,52vw) !important;
    max-width:none !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    display:block !important;
  }

  .hero-reference .eyebrow{
    margin:0 0 18px;
    font-size:14px;
    line-height:1;
    letter-spacing:.045em;
    color:#fff;
    text-shadow:0 2px 12px rgba(0,0,0,.55);
  }
  .hero-reference .eyebrow span{
    width:42px;
    height:4px;
    margin-right:17px;
  }
  .hero-reference .eyebrow b{
    margin:0 9px;
    font-weight:400;
  }

  .hero-reference h1{
    width:auto !important;
    max-width:none !important;
    margin:0 0 23px !important;
    color:#fff;
    font-size:clamp(60px,5.15vw,86px) !important;
    line-height:.94 !important;
    letter-spacing:-.052em !important;
    text-shadow:0 3px 18px rgba(0,0,0,.46);
  }

  .hero-reference .hero-lead{
    width:665px !important;
    max-width:100% !important;
    margin:0 0 30px !important;
    color:#fff;
    font-size:18px !important;
    line-height:1.47 !important;
    text-shadow:0 2px 12px rgba(0,0,0,.62);
  }

  .hero-reference .hero-actions{
    display:flex !important;
    flex-direction:row !important;
    gap:18px !important;
    margin:0 !important;
  }

  .hero-reference .hero-actions .btn{
    min-width:270px;
    min-height:62px;
    padding:0 30px;
    font-size:17px;
  }

  .hero-reference .hero-actions .btn-ghost{
    background:rgba(4,10,14,.34) !important;
    border:1px solid rgba(255,255,255,.88) !important;
    backdrop-filter:blur(2px);
  }

  .hero-reference .hero-points{
    display:flex !important;
    width:auto !important;
    gap:48px !important;
    margin:49px 0 0 !important;
    padding:0 !important;
    border:0 !important;
  }

  .hero-reference .hero-points>div{
    min-width:165px;
    gap:15px;
    font-size:14px;
    text-shadow:0 2px 10px rgba(0,0,0,.68);
  }

  .hero-reference .point-icon{
    font-size:38px;
  }

  .scroll-cue{
    position:absolute;
    z-index:5;
    left:50%;
    bottom:24px;
    transform:translateX(-50%);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:6px;
    color:#fff;
    text-shadow:0 2px 8px rgba(0,0,0,.75);
  }

  .scroll-mouse{
    position:relative;
    width:24px;
    height:39px;
    border:2px solid #fff;
    border-radius:14px;
  }
  .scroll-mouse:after{
    content:"";
    position:absolute;
    left:50%;
    top:7px;
    width:3px;
    height:8px;
    border-radius:3px;
    background:#fff;
    transform:translateX(-50%);
  }
  .scroll-cue small{
    font-size:10px;
    line-height:1;
    letter-spacing:.08em;
  }
  .scroll-cue i{
    display:block;
    width:1px;
    height:33px;
    background:rgba(255,255,255,.70);
  }
}

/* Duży desktop */
@media (min-width:1200px){
  .visual-header .container{
    width:90% !important;
    max-width:none !important;
  }
}

/* Tablet */
@media (min-width:768px) and (max-width:1099px){
  .hero-reference{
    min-height:680px;
  }

  .hero-reference .hero-content{
    left:5vw;
    width:62vw !important;
    transform:translateY(-41%);
  }

  .hero-reference h1{
    font-size:clamp(44px,6.1vw,63px) !important;
  }

  .hero-reference .hero-lead{
    width:560px !important;
    font-size:16px !important;
  }

  .hero-reference .hero-actions .btn{
    min-width:210px;
    min-height:54px;
    font-size:15px;
  }

  .hero-reference .hero-points{
    gap:25px !important;
    margin-top:36px !important;
  }

  .hero-reference .hero-points>div{
    min-width:135px;
    font-size:12px;
  }

  .hero-reference .point-icon{
    font-size:31px;
  }
}

/* Telefon — zachowujemy prostszy responsywny wariant */
@media (max-width:767px){
  .hero-reference{
    height:92svh;
    min-height:650px;
  }

  .hero-reference .hero-picture .hero-bg{
    object-position:62% center;
  }

  .hero-reference .scroll-cue{
    display:none;
  }
}


/* ================================================================
   RAD-AR 6.3 — delikatna maska tylko pod tekstem hero
   ================================================================ */
@media (min-width:768px){
  .hero-reference:after{
    content:"";
    position:absolute;
    z-index:1;
    left:0;
    top:0;
    bottom:0;
    width:58%;
    pointer-events:none;
    background:
      linear-gradient(
        90deg,
        rgba(5,10,14,.48) 0%,
        rgba(5,10,14,.38) 34%,
        rgba(5,10,14,.24) 58%,
        rgba(5,10,14,.10) 78%,
        rgba(5,10,14,0) 100%
      );
  }

  .hero-reference .hero-content{
    z-index:4;
  }

  .hero-reference .scroll-cue{
    z-index:4;
  }
}

/* Na tabletach minimalnie szersza, żeby tekst nie wpadał w jaśniejsze partie zdjęcia. */
@media (min-width:768px) and (max-width:1099px){
  .hero-reference:after{
    width:66%;
    background:
      linear-gradient(
        90deg,
        rgba(5,10,14,.52) 0%,
        rgba(5,10,14,.40) 38%,
        rgba(5,10,14,.24) 62%,
        rgba(5,10,14,.08) 84%,
        rgba(5,10,14,0) 100%
      );
  }
}

/* Telefon zostaje bez maski — tam układ i kadr są inne. */
@media (max-width:767px){
  .hero-reference:after{
    display:none;
  }
}


/* ================================================================
   RAD-AR 6.4 — profesjonalna czytelność hero na telefonie
   ================================================================ */
@media (max-width:767px){
  .hero-reference:after{
    content:"";
    position:absolute;
    z-index:1;
    inset:0;
    pointer-events:none;
    background:
      linear-gradient(
        180deg,
        rgba(6,11,15,.20) 0%,
        rgba(6,11,15,.34) 28%,
        rgba(6,11,15,.48) 58%,
        rgba(6,11,15,.58) 100%
      ),
      linear-gradient(
        90deg,
        rgba(6,11,15,.34) 0%,
        rgba(6,11,15,.16) 52%,
        rgba(6,11,15,0) 100%
      );
  }

  .hero-reference .hero-content{
    position:relative;
    z-index:4;
  }

  .hero-reference .eyebrow,
  .hero-reference h1,
  .hero-reference .hero-lead,
  .hero-reference .hero-points > div,
  .hero-reference .scroll-cue{
    text-shadow:0 2px 10px rgba(0,0,0,.55);
  }

  .hero-reference .hero-actions .btn-ghost{
    background:rgba(6,11,15,.28);
    border-color:rgba(255,255,255,.82);
    backdrop-filter:blur(2px);
  }
}

/* Czytelniejszy układ treści sekcji prawnej */
.legal-article h2{
  scroll-margin-top:110px;
}
.legal-article h3{
  margin:28px 0 10px;
  font-size:19px;
  line-height:1.2;
}
.legal-article ul li+li{
  margin-top:8px;
}
.legal-article .legal-note{
  padding:16px 18px;
  background:#f5f7f8;
  border-left:4px solid var(--accent);
  color:#4e5962;
  margin:18px 0 0;
}


/* ================================================================
   RAD-AR 6.5 — nowe zdjęcie hero + mocniejsza maska pod tekst
   ================================================================ */

/* Nadpisanie wcześniejszych masek */
.hero-reference:after{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:60%;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(
      90deg,
      rgba(5,10,14,.72) 0%,
      rgba(5,10,14,.60) 30%,
      rgba(5,10,14,.42) 56%,
      rgba(5,10,14,.22) 76%,
      rgba(5,10,14,0) 100%
    );
}

.hero-reference .hero-content{
  position:relative;
  z-index:4;
}

.hero-reference .scroll-cue{
  z-index:4;
}

/* Desktop */
@media (min-width:1100px){
  .hero-reference:after{
    width:58%;
    background:
      linear-gradient(
        90deg,
        rgba(5,10,14,.74) 0%,
        rgba(5,10,14,.62) 31%,
        rgba(5,10,14,.44) 57%,
        rgba(5,10,14,.22) 78%,
        rgba(5,10,14,0) 100%
      );
  }

  .hero-reference .hero-picture .hero-bg{
    object-position:center center;
  }
}

/* Tablet */
@media (min-width:768px) and (max-width:1099px){
  .hero-reference:after{
    width:68%;
    background:
      linear-gradient(
        90deg,
        rgba(5,10,14,.76) 0%,
        rgba(5,10,14,.64) 34%,
        rgba(5,10,14,.46) 60%,
        rgba(5,10,14,.22) 82%,
        rgba(5,10,14,0) 100%
      );
  }

  .hero-reference .hero-picture .hero-bg{
    object-position:60% center;
  }
}

/* Telefon */
@media (max-width:767px){
  .hero-reference:after{
    content:"";
    position:absolute;
    inset:0;
    width:100%;
    z-index:1;
    pointer-events:none;
    background:
      linear-gradient(
        180deg,
        rgba(6,11,15,.26) 0%,
        rgba(6,11,15,.42) 26%,
        rgba(6,11,15,.58) 58%,
        rgba(6,11,15,.70) 100%
      ),
      linear-gradient(
        90deg,
        rgba(6,11,15,.48) 0%,
        rgba(6,11,15,.28) 52%,
        rgba(6,11,15,0) 100%
      );
  }

  .hero-reference .hero-picture .hero-bg{
    object-position:62% center;
  }
}


/* ================================================================
   RAD-AR 6.6 — mocniejsza maska hero jak w pierwszej wizualizacji
   ================================================================ */

/* Desktop: mocny kontrast pod tekstem, ale łagodne przejście do zdjęcia */
@media (min-width:1100px){
  .hero-reference:after{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:64%;
    z-index:1;
    pointer-events:none;
    background:
      linear-gradient(
        90deg,
        rgba(4,9,13,.90) 0%,
        rgba(4,9,13,.84) 24%,
        rgba(4,9,13,.70) 43%,
        rgba(4,9,13,.48) 61%,
        rgba(4,9,13,.24) 78%,
        rgba(4,9,13,.08) 90%,
        rgba(4,9,13,0) 100%
      );
  }
}

/* Tablet: trochę szersza maska, bo tekst zajmuje większą część kadru */
@media (min-width:768px) and (max-width:1099px){
  .hero-reference:after{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:74%;
    z-index:1;
    pointer-events:none;
    background:
      linear-gradient(
        90deg,
        rgba(4,9,13,.92) 0%,
        rgba(4,9,13,.86) 27%,
        rgba(4,9,13,.72) 47%,
        rgba(4,9,13,.50) 65%,
        rgba(4,9,13,.24) 82%,
        rgba(4,9,13,0) 100%
      );
  }
}

/* Telefon: wyraźna, ale nadal naturalna maska pod tekstem */
@media (max-width:767px){
  .hero-reference:after{
    content:"";
    position:absolute;
    inset:0;
    width:100%;
    z-index:1;
    pointer-events:none;
    background:
      linear-gradient(
        180deg,
        rgba(5,10,14,.30) 0%,
        rgba(5,10,14,.42) 25%,
        rgba(5,10,14,.58) 55%,
        rgba(5,10,14,.76) 100%
      ),
      linear-gradient(
        90deg,
        rgba(4,9,13,.72) 0%,
        rgba(4,9,13,.58) 38%,
        rgba(4,9,13,.30) 68%,
        rgba(4,9,13,0) 100%
      );
  }
}

.hero-reference .hero-content,
.hero-reference .scroll-cue{
  z-index:4;
}


/* ================================================================
   RAD-AR 6.7 — nowe zdjęcie hero + mocna maska
   ================================================================ */

/* Desktop */
@media (min-width:1100px){
  .hero-reference:after{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:66%;
    z-index:1;
    pointer-events:none;
    background:
      linear-gradient(
        90deg,
        rgba(4,9,13,.93) 0%,
        rgba(4,9,13,.88) 23%,
        rgba(4,9,13,.74) 42%,
        rgba(4,9,13,.54) 60%,
        rgba(4,9,13,.28) 78%,
        rgba(4,9,13,.10) 90%,
        rgba(4,9,13,0) 100%
      );
  }

  .hero-reference .hero-picture .hero-bg{
    object-position:center center;
  }
}

/* Tablet */
@media (min-width:768px) and (max-width:1099px){
  .hero-reference:after{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:76%;
    z-index:1;
    pointer-events:none;
    background:
      linear-gradient(
        90deg,
        rgba(4,9,13,.94) 0%,
        rgba(4,9,13,.89) 26%,
        rgba(4,9,13,.76) 46%,
        rgba(4,9,13,.56) 65%,
        rgba(4,9,13,.28) 84%,
        rgba(4,9,13,0) 100%
      );
  }

  .hero-reference .hero-picture .hero-bg{
    object-position:58% center;
  }
}

/* Telefon */
@media (max-width:767px){
  .hero-reference:after{
    content:"";
    position:absolute;
    inset:0;
    width:100%;
    z-index:1;
    pointer-events:none;
    background:
      linear-gradient(
        180deg,
        rgba(5,10,14,.34) 0%,
        rgba(5,10,14,.48) 24%,
        rgba(5,10,14,.66) 55%,
        rgba(5,10,14,.82) 100%
      ),
      linear-gradient(
        90deg,
        rgba(4,9,13,.76) 0%,
        rgba(4,9,13,.62) 36%,
        rgba(4,9,13,.34) 68%,
        rgba(4,9,13,0) 100%
      );
  }

  .hero-reference .hero-picture .hero-bg{
    object-position:62% center;
  }
}

.hero-reference .hero-content,
.hero-reference .scroll-cue{
  z-index:4;
}


/* ================================================================
   RAD-AR 6.8 — dopracowanie pozostałych sekcji
   Cel: sekcje szersze, wyższe i bardziej „premium”
   ================================================================ */

/* Szerszy układ na dużych ekranach */
@media (min-width:1200px){
  :root{
    --max:1320px;
  }
  .container{
    width:min(calc(100% - 72px), var(--max));
  }
}

/* Globalnie większy oddech sekcji */
.section{
  padding:108px 0;
}
.section h2{
  margin:0 0 24px;
}
.section-subtitle{
  margin-top:-8px;
  font-size:19px;
}

/* O NAS */
.about .split{
  align-items:stretch;
  gap:86px;
}
.about .copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.about .copy p{
  max-width:620px;
  font-size:17px;
  line-height:1.72;
}
.about-photo{
  min-height:560px;
}
.about-photo > img{
  height:560px;
  border-radius:4px;
}
.value-card{
  width:220px;
  padding:58px 32px;
}
.value-card strong{
  font-size:26px;
}
.value-card p{
  font-size:13px;
  line-height:1.45;
}

/* OFERTA */
.offer{
  background:#eef2f4;
}
.offer-grid{
  gap:22px;
  margin-top:40px;
}
.service-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
  border-radius:4px;
  overflow:hidden;
  box-shadow:0 18px 46px rgba(24,33,39,.07);
  transition:transform .22s ease, box-shadow .22s ease;
}
.service-card:hover{
  transform:translateY(-6px);
  box-shadow:0 28px 60px rgba(24,33,39,.11);
}
.service-card img{
  height:260px;
}
.service-card > div{
  padding:24px 24px 26px;
  display:flex;
  flex-direction:column;
  flex:1;
}
.service-card h3{
  font-size:22px;
  margin:0 0 12px;
}
.service-card p{
  font-size:15px;
  line-height:1.65;
  min-height:118px;
  margin:0 0 18px;
}
.service-card a{
  margin-top:auto;
  font-size:14px;
  letter-spacing:.01em;
}

/* REALIZACJE */
.projects{
  padding:110px 0 116px;
}
.projects .section-head{
  align-items:flex-end;
}
.gallery{
  margin-top:42px;
  grid-auto-rows:230px;
  gap:14px;
}
.gallery-item{
  border-radius:4px;
  overflow:hidden;
  box-shadow:0 12px 34px rgba(0,0,0,.18);
}
.gallery-item img{
  filter:saturate(1.02);
}

/* PROCES */
.process{
  background:#fff;
}
.process .section-subtitle{
  margin-bottom:0;
}
.steps{
  margin:52px 0 0;
  gap:24px;
}
.steps li{
  gap:18px;
  padding:28px 24px 24px;
  background:#fff;
  border:1px solid #e6eaed;
  box-shadow:0 14px 38px rgba(24,33,39,.05);
  min-height:180px;
}
.steps li:not(:last-child):after{
  right:-13px;
  top:30px;
}
.steps > li > span{
  flex:0 0 54px;
  height:54px;
  font-size:19px;
}
.steps h3{
  font-size:19px;
  margin:2px 0 10px;
}
.steps p{
  font-size:14px;
  line-height:1.6;
  color:#606a73;
}

/* CTA / KONTAKT */
.contact-strip{
  padding:66px 0;
}
.contact-strip-content{
  gap:64px;
}
.contact-strip h2{
  font-size:42px;
  margin:0 0 10px;
  line-height:1.02;
}
.contact-strip p{
  font-size:17px;
  line-height:1.7;
  max-width:760px;
}
.contact-actions{
  gap:14px;
}
.cta-phone-card{
  min-height:62px;
  padding:14px 18px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(4px);
}
.cta-phone-meta strong{
  font-size:21px;
}
.cta-phone-meta span{
  font-size:13px;
}

/* DANE KONTAKTOWE */
.contact-data{
  padding:108px 0;
}
.contact-grid{
  gap:92px;
  align-items:start;
}
.contact-copy{
  max-width:640px;
  font-size:17px;
  line-height:1.72;
}
.contact-card{
  padding:18px 38px;
  box-shadow:0 20px 52px rgba(22,31,37,.08);
}
.contact-row{
  padding:22px 0;
}
.contact-row a,
.contact-row span{
  font-size:20px;
}

/* STOPKA */
.footer-main{
  min-height:136px;
}
.footer-main nav{
  gap:28px;
  font-size:14px;
}
.footer-bottom{
  padding:24px 0 30px;
  font-size:12px;
}

/* Tablet */
@media (min-width:768px) and (max-width:1199px){
  .section{
    padding:92px 0;
  }

  .about .split{
    gap:44px;
  }

  .about-photo{
    min-height:500px;
  }
  .about-photo > img{
    height:500px;
  }

  .offer-grid{
    gap:18px;
  }
  .service-card img{
    height:230px;
  }
  .service-card h3{
    font-size:20px;
  }
  .service-card p{
    min-height:104px;
    font-size:14px;
  }

  .gallery{
    grid-auto-rows:210px;
    gap:12px;
  }

  .steps{
    gap:18px;
  }
  .steps li{
    min-height:168px;
    padding:24px 20px 22px;
  }

  .contact-strip{
    padding:58px 0;
  }
  .contact-strip h2{
    font-size:36px;
  }
  .contact-grid{
    gap:54px;
  }
}

/* Telefon — też nieco większy oddech, ale bez przesady */
@media (max-width:767px){
  .section{
    padding:72px 0;
  }

  .about .copy p,
  .contact-copy{
    font-size:15px;
    line-height:1.68;
  }

  .about-photo{
    min-height:auto;
  }
  .about-photo > img{
    height:360px;
  }
  .value-card{
    width:170px;
    padding:28px 20px;
  }
  .value-card strong{
    font-size:18px;
  }

  .offer-grid{
    gap:16px;
  }
  .service-card img{
    height:220px;
  }
  .service-card > div{
    padding:20px;
  }
  .service-card h3{
    font-size:20px;
  }
  .service-card p{
    min-height:0;
    font-size:14px;
  }

  .gallery{
    gap:10px;
    grid-auto-rows:170px;
  }

  .steps{
    gap:14px;
    margin-top:36px;
  }
  .steps li{
    min-height:auto;
    padding:20px 18px;
  }
  .steps li:not(:last-child):after{
    display:none;
  }

  .contact-strip{
    padding:48px 0;
  }
  .contact-strip h2{
    font-size:30px;
  }
  .contact-strip p{
    font-size:15px;
    line-height:1.65;
  }

  .contact-card{
    padding:10px 22px;
  }
  .contact-row a,
  .contact-row span{
    font-size:18px;
  }

  .footer-main{
    min-height:auto;
    padding:28px 0;
  }
}


/* ================================================================
   RAD-AR 6.9 — mocniejsze dolne sekcje + nowe zdjęcie O nas
   ================================================================ */

/* O nas — chwytliwszy kadr */
.about-photo > img{
  object-position:center 42%;
}

/* Proces — bardziej pełna sekcja */
.process{
  padding-top:120px;
  padding-bottom:128px;
}
.process .container{
  min-height:470px;
}
.steps{
  margin-top:62px;
}
.steps li{
  min-height:205px;
  padding:32px 28px 28px;
}
.steps > li > span{
  flex-basis:58px;
  height:58px;
  font-size:20px;
}
.steps h3{
  font-size:20px;
}
.steps p{
  font-size:15px;
  line-height:1.65;
}

/* Główne CTA — wyższe i bardziej efektowne */
.contact-strip{
  padding-top:88px;
  padding-bottom:88px;
  min-height:300px;
  display:flex;
  align-items:center;
}
.contact-strip-content{
  min-height:150px;
}
.contact-strip h2{
  font-size:48px;
  line-height:1.02;
  margin-bottom:14px;
}
.contact-strip p{
  font-size:18px;
  line-height:1.72;
  max-width:780px;
}
.contact-actions .btn{
  min-height:64px;
  padding-left:28px;
  padding-right:28px;
  font-size:16px;
}
.cta-phone-card{
  min-height:72px;
  padding:17px 22px;
}
.cta-phone-meta strong{
  font-size:24px;
}
.cta-phone-meta span{
  margin-top:4px;
}

/* Sekcja danych kontaktowych — pełnowymiarowa */
.contact-data{
  padding-top:126px;
  padding-bottom:132px;
}
.contact-grid{
  min-height:420px;
  align-items:center;
}
.contact-data .section-label{
  margin-bottom:14px;
}
.contact-data h2{
  font-size:clamp(38px,4vw,58px);
  margin-bottom:28px;
}
.contact-copy{
  font-size:18px;
  line-height:1.78;
  max-width:680px;
}
.contact-card{
  padding:28px 44px;
  border-left-width:6px;
  box-shadow:0 28px 70px rgba(22,31,37,.10);
}
.contact-row{
  padding:27px 0;
}
.contact-row small{
  font-size:12px;
}
.contact-row a,
.contact-row span{
  font-size:22px;
}

/* Stopka — trochę więcej oddechu */
.footer-main{
  min-height:158px;
}
.footer-bottom{
  padding-top:28px;
  padding-bottom:34px;
}

/* Tablet */
@media (min-width:768px) and (max-width:1199px){
  .process{
    padding-top:104px;
    padding-bottom:112px;
  }
  .process .container{
    min-height:420px;
  }

  .contact-strip{
    padding-top:74px;
    padding-bottom:74px;
    min-height:260px;
  }
  .contact-strip h2{
    font-size:40px;
  }
  .contact-strip p{
    font-size:17px;
  }

  .contact-data{
    padding-top:108px;
    padding-bottom:112px;
  }
  .contact-grid{
    min-height:360px;
  }
  .contact-card{
    padding:24px 34px;
  }
}

/* Telefon */
@media (max-width:767px){
  .about-photo > img{
    object-position:center center;
  }

  .process{
    padding-top:82px;
    padding-bottom:88px;
  }
  .process .container{
    min-height:auto;
  }
  .steps{
    margin-top:42px;
  }
  .steps li{
    min-height:auto;
    padding:24px 20px;
  }

  .contact-strip{
    padding-top:62px;
    padding-bottom:62px;
    min-height:auto;
  }
  .contact-strip h2{
    font-size:32px;
  }
  .contact-strip p{
    font-size:16px;
  }

  .contact-data{
    padding-top:86px;
    padding-bottom:92px;
  }
  .contact-grid{
    min-height:auto;
  }
  .contact-card{
    padding:18px 24px;
  }
  .contact-row{
    padding:22px 0;
  }
}


/* ================================================================
   RAD-AR 7.0 — większa sekcja kontaktowa + większe realizacje
   + podmiana zdjęcia w karcie schodów
   ================================================================ */

/* Karta "Schody i konstrukcje stalowe" — kadr bardziej efektowny */
.service-card:nth-child(2) img{
  object-position:center 58%;
}

/* Realizacje — zdjęcia większe i bardziej wyeksponowane */
.projects{
  padding-top:118px;
  padding-bottom:126px;
}
.gallery{
  margin-top:48px;
  grid-auto-rows:290px;
  gap:16px;
}
.gallery-item{
  min-height:290px;
}
.gallery-item img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.gallery-item:nth-child(1),
.gallery-item:nth-child(2){
  grid-row:span 2;
}
.gallery-item:nth-child(1){
  grid-column:span 2;
}
.gallery-item:nth-child(5),
.gallery-item:nth-child(6){
  grid-column:span 2;
}

/* Kontakt / CTA — wyraźnie większy i bardziej reprezentacyjny */
.contact-strip{
  padding-top:110px;
  padding-bottom:110px;
  min-height:380px;
}
.contact-strip-bg{
  opacity:.55;
}
.contact-strip-content{
  gap:78px;
  min-height:180px;
  align-items:center;
}
.contact-strip-content > div:first-child{
  max-width:760px;
}
.contact-strip h2{
  font-size:56px;
  line-height:1.02;
  margin:0 0 18px;
}
.contact-strip p{
  font-size:19px;
  line-height:1.78;
  max-width:820px;
}
.contact-actions{
  gap:18px;
}
.contact-actions .btn{
  min-height:70px;
  padding:0 32px;
  font-size:17px;
}
.cta-phone-card{
  min-height:84px;
  padding:18px 24px;
  border-radius:4px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 16px 38px rgba(0,0,0,.18);
}
.cta-phone-meta strong{
  font-size:26px;
}
.cta-phone-meta span{
  font-size:13px;
  letter-spacing:.01em;
}

/* Sekcja kontaktowych danych pod spodem też większa */
.contact-data{
  padding-top:132px;
  padding-bottom:138px;
}
.contact-grid{
  min-height:440px;
}

/* Tablet */
@media (min-width:768px) and (max-width:1199px){
  .gallery{
    grid-auto-rows:230px;
    gap:14px;
  }
  .gallery-item{
    min-height:230px;
  }
  .gallery-item:nth-child(1),
  .gallery-item:nth-child(2){
    grid-row:span 1;
  }
  .gallery-item:nth-child(1),
  .gallery-item:nth-child(5),
  .gallery-item:nth-child(6){
    grid-column:span 1;
  }

  .contact-strip{
    padding-top:88px;
    padding-bottom:88px;
    min-height:320px;
  }
  .contact-strip-content{
    gap:44px;
  }
  .contact-strip h2{
    font-size:44px;
  }
  .contact-strip p{
    font-size:17px;
  }
  .contact-actions .btn{
    min-height:66px;
    font-size:16px;
  }
  .cta-phone-card{
    min-height:76px;
  }
  .cta-phone-meta strong{
    font-size:23px;
  }

  .contact-data{
    padding-top:112px;
    padding-bottom:118px;
  }
}

/* Telefon */
@media (max-width:767px){
  .gallery{
    grid-auto-rows:190px;
    gap:12px;
  }
  .gallery-item{
    min-height:190px;
  }
  .gallery-item:nth-child(1),
  .gallery-item:nth-child(2),
  .gallery-item:nth-child(5),
  .gallery-item:nth-child(6){
    grid-row:auto;
    grid-column:auto;
  }

  .contact-strip{
    padding-top:74px;
    padding-bottom:74px;
    min-height:auto;
  }
  .contact-strip-content{
    gap:28px;
    min-height:auto;
  }
  .contact-strip h2{
    font-size:36px;
    margin-bottom:14px;
  }
  .contact-strip p{
    font-size:16px;
    line-height:1.72;
  }
  .contact-actions .btn{
    min-height:60px;
    font-size:15px;
  }
  .cta-phone-card{
    min-height:70px;
    padding:16px 18px;
  }
  .cta-phone-meta strong{
    font-size:22px;
  }

  .contact-data{
    padding-top:94px;
    padding-bottom:98px;
  }
}


/* ================================================================
   RAD-AR 7.1 — poprawka galerii
   Stabilna siatka bez rozjeżdżania kafli
   ================================================================ */

/* Reset eksperymentalnych spanów z 7.0 */
.gallery-item,
.gallery-item:nth-child(1),
.gallery-item:nth-child(2),
.gallery-item:nth-child(5),
.gallery-item:nth-child(6){
  grid-column:auto !important;
  grid-row:auto !important;
}

/* Desktop: 4 równe kolumny, duże zdjęcia */
@media (min-width:1200px){
  .gallery{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    grid-auto-rows:auto;
    gap:16px;
    margin-top:48px;
  }

  .gallery-item{
    min-height:0 !important;
    aspect-ratio:4 / 3;
    width:100%;
  }

  .gallery-item img{
    width:100%;
    height:100%;
    object-fit:cover;
  }
}

/* Tablet: 2 kolumny */
@media (min-width:768px) and (max-width:1199px){
  .gallery{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    grid-auto-rows:auto;
    gap:14px;
    margin-top:40px;
  }

  .gallery-item{
    min-height:0 !important;
    aspect-ratio:4 / 3;
    width:100%;
  }

  .gallery-item img{
    width:100%;
    height:100%;
    object-fit:cover;
  }
}

/* Telefon: 1 kolumna, pełna szerokość */
@media (max-width:767px){
  .gallery{
    display:grid;
    grid-template-columns:1fr;
    grid-auto-rows:auto;
    gap:12px;
    margin-top:30px;
  }

  .gallery-item{
    min-height:0 !important;
    aspect-ratio:4 / 3;
    width:100%;
  }

  .gallery-item img{
    width:100%;
    height:100%;
    object-fit:cover;
  }
}

/* Dodatkowe zdjęcia nadal rozwijają się przyciskiem */
.gallery-extra{
  display:none;
}
.gallery.gallery-expanded .gallery-extra{
  display:block;
}


/* ================================================================
   RAD-AR 7.2 — duży kontakt, stabilna stopka, 10 realizacji
   ================================================================ */

/* GALERIA */
.gallery-extra{
  display:none !important;
}
.gallery.gallery-expanded .gallery-extra{
  display:block !important;
}

@media (min-width:1200px){
  .gallery.gallery-expanded .gallery-extra-wide{
    grid-column:span 2 !important;
    aspect-ratio:16 / 7;
  }
}

@media (max-width:1199px){
  .gallery.gallery-expanded .gallery-extra-wide{
    grid-column:auto !important;
    aspect-ratio:4 / 3;
  }
}

/* KONTAKT / CTA — znacznie większy */
.contact-strip{
  position:relative;
  min-height:520px;
  padding:138px 0;
  display:flex;
  align-items:center;
}
.contact-strip-bg{
  opacity:.50;
}
.contact-strip-content{
  width:100%;
  min-height:235px;
  gap:96px;
  align-items:center;
}
.contact-strip-content > div:first-child{
  max-width:820px;
}
.contact-strip h2{
  font-size:clamp(48px,4.1vw,66px);
  line-height:.98;
  letter-spacing:-.04em;
  margin:0 0 24px;
}
.contact-strip p{
  max-width:820px;
  font-size:20px;
  line-height:1.78;
}
.contact-actions{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:16px;
  min-width:330px;
}
.contact-actions .btn{
  min-height:76px;
  padding:0 34px;
  font-size:17px;
}
.cta-phone-card{
  width:100%;
  min-height:98px;
  padding:20px 24px;
  background:rgba(255,255,255,.11);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 18px 46px rgba(0,0,0,.20);
}
.cta-phone-icon{
  font-size:24px;
}
.cta-phone-meta strong{
  font-size:28px;
  line-height:1.05;
}
.cta-phone-meta span{
  font-size:13px;
  margin-top:6px;
}

/* STOPKA — stabilny układ 3-kolumnowy */
.site-footer{
  background:#fff;
  border-top:0;
}
.footer-top{
  display:grid;
  grid-template-columns:1.35fr .75fr 1fr;
  gap:72px;
  align-items:start;
  padding-top:72px;
  padding-bottom:58px;
}
.footer-brand-block p{
  margin:18px 0 0;
  max-width:310px;
  color:#6b747b;
  font-size:14px;
  line-height:1.65;
}
.footer-nav,
.footer-contact-block{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:11px;
  font-size:14px;
}
.footer-nav strong,
.footer-contact-block strong{
  margin-bottom:8px;
  color:#1a2228;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.10em;
}
.footer-nav a,
.footer-contact-block a{
  color:#39434a;
}
.footer-nav a:hover,
.footer-contact-block a:hover{
  color:var(--accent);
}
.footer-contact-block span{
  color:#707980;
}
.footer-divider{
  height:1px;
  background:#e2e6e9;
}
.footer-bottom{
  display:block;
  padding-top:28px;
  padding-bottom:34px;
  color:#7d868d;
  font-size:12px;
}
.footer-bottom-main{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}
.footer-bottom-right{
  display:flex;
  align-items:center;
  gap:22px;
  flex-wrap:wrap;
}
.footer-bottom-right a,
.footer-bottom-right .cookie-settings-link{
  color:#68727a;
}
.footer-company-line{
  width:100%;
  margin-top:18px;
  color:#9aa1a6;
  font-size:11px;
  line-height:1.55;
}

/* Tablet */
@media (min-width:768px) and (max-width:1199px){
  .contact-strip{
    min-height:420px;
    padding:104px 0;
  }
  .contact-strip-content{
    gap:54px;
  }
  .contact-strip h2{
    font-size:46px;
  }
  .contact-strip p{
    font-size:18px;
  }
  .contact-actions{
    min-width:285px;
  }

  .footer-top{
    grid-template-columns:1.15fr .75fr 1fr;
    gap:38px;
    padding-top:58px;
    padding-bottom:48px;
  }
}

/* Telefon */
@media (max-width:767px){
  .contact-strip{
    min-height:auto;
    padding:84px 0;
  }
  .contact-strip-content{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:38px;
    min-height:auto;
  }
  .contact-strip h2{
    font-size:38px;
    line-height:1.02;
  }
  .contact-strip p{
    font-size:16px;
    line-height:1.72;
  }
  .contact-actions{
    width:100%;
    min-width:0;
  }
  .contact-actions .btn{
    width:100%;
    min-height:64px;
  }
  .cta-phone-card{
    min-height:82px;
  }
  .cta-phone-meta strong{
    font-size:23px;
  }

  .footer-top{
    display:grid;
    grid-template-columns:1fr;
    gap:36px;
    padding-top:48px;
    padding-bottom:42px;
  }
  .footer-brand-block p{
    max-width:none;
  }
  .footer-bottom-main{
    flex-direction:column;
    align-items:flex-start;
    gap:16px;
  }
  .footer-bottom-right{
    gap:16px;
  }
}


/* ================================================================
   RAD-AR 7.3 — naprawa rozjechanego kontaktu i stopki
   ================================================================ */

/* Kluczowa poprawka: .contact-strip-content jest jednocześnie .container.
   Nie może mieć width:100%, bo wtedy wychodzi poza szerokość projektu. */
.contact-strip .contact-strip-content{
  width:min(calc(100% - 72px), var(--max)) !important;
  max-width:var(--max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box;
}

/* Kontakt nadal duży, ale treść pozostaje w kontrolowanej szerokości */
@media (min-width:1200px){
  .contact-strip{
    min-height:500px;
    padding:122px 0;
  }

  .contact-strip .contact-strip-content{
    display:grid;
    grid-template-columns:minmax(0, 1.55fr) minmax(320px, .75fr);
    gap:72px;
    align-items:center;
  }

  .contact-strip-content > div:first-child{
    max-width:760px;
  }

  .contact-strip h2{
    font-size:clamp(46px,3.7vw,60px);
    max-width:720px;
  }

  .contact-strip p{
    max-width:760px;
  }

  .contact-actions{
    width:100%;
    min-width:0 !important;
  }

  .contact-actions .btn,
  .cta-phone-card{
    width:100%;
  }
}

/* Tablet */
@media (min-width:768px) and (max-width:1199px){
  .contact-strip .contact-strip-content{
    width:min(calc(100% - 44px), var(--max)) !important;
    display:grid;
    grid-template-columns:minmax(0, 1.35fr) minmax(260px, .75fr);
    gap:40px;
  }

  .contact-actions{
    min-width:0 !important;
    width:100%;
  }

  .contact-actions .btn,
  .cta-phone-card{
    width:100%;
  }
}

/* Telefon */
@media (max-width:767px){
  .contact-strip .contact-strip-content{
    width:min(calc(100% - 28px), var(--max)) !important;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:34px;
  }

  .contact-actions{
    width:100%;
    min-width:0 !important;
  }
}

/* STOPKA — dodatkowe zabezpieczenie szerokości i łamania treści */
.site-footer .container{
  width:min(calc(100% - 72px), var(--max));
  margin-inline:auto;
}

.footer-top{
  width:100%;
  min-width:0;
}

.footer-brand-block,
.footer-nav,
.footer-contact-block{
  min-width:0;
}

.footer-brand-block p,
.footer-contact-block a,
.footer-contact-block span,
.footer-company-line{
  overflow-wrap:anywhere;
}

.footer-bottom-main{
  width:100%;
}

@media (min-width:1200px){
  .footer-top{
    grid-template-columns:minmax(300px,1.25fr) minmax(150px,.55fr) minmax(260px,.9fr);
    gap:64px;
  }
}

@media (min-width:768px) and (max-width:1199px){
  .site-footer .container{
    width:min(calc(100% - 44px), var(--max));
  }

  .footer-top{
    grid-template-columns:1fr 1fr;
    gap:38px 54px;
  }

  .footer-brand-block{
    grid-column:1 / -1;
  }
}

@media (max-width:767px){
  .site-footer .container{
    width:min(calc(100% - 28px), var(--max));
  }

  .footer-top{
    grid-template-columns:1fr;
  }
}

/* RAD-AR: uporządkowana stopka, 2026-09-09 */
.site-footer .footer-top{display:grid;align-items:start}
.site-footer .footer-nav,.site-footer .footer-contact-block{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:0}
.site-footer .footer-bottom{display:block;min-width:0}
.site-footer .footer-bottom-main{display:flex;justify-content:space-between;align-items:flex-start;gap:16px 32px;flex-wrap:wrap;width:100%}
.site-footer .footer-bottom-right{display:flex;gap:12px 24px;flex-wrap:wrap;align-items:center}
.site-footer .footer-company-line{display:block;width:100%;margin-top:18px;line-height:1.65}
.site-footer .footer-brand-block{min-width:0}
@media(max-width:767px){.site-footer .footer-top{gap:28px}.site-footer .footer-bottom-main,.site-footer .footer-bottom-right{flex-direction:column;align-items:flex-start}.site-footer .footer-brand{min-width:0}}

/* RAD-AR: native Elementor compatibility, 2026-09-13 */
.radar-elementor-main{padding-top:72px;overflow:hidden}
.radar-elementor-main .elementor{--e-global-color-primary:#111820;--e-global-color-secondary:#56616a;--e-global-color-text:#56616a;--e-global-color-accent:#ff6d20}
.radar-elementor-main .elementor-heading-title{font-family:Arial,sans-serif;color:#111820;font-weight:700}
.radar-elementor-main .elementor-widget-text-editor{font-family:Arial,sans-serif;color:#56616a;line-height:1.55}
.radar-elementor-main .elementor-button{background:#ff6d20;color:#fff;border-radius:0;font-weight:700;font-family:Arial,sans-serif}
.radar-elementor-main .radar-el-wrap{width:min(100%,1180px);margin-inline:auto;padding:0 24px;min-height:0;--padding-top:0px;--padding-bottom:0px;--padding-left:24px;--padding-right:24px}
.radar-elementor-main .radar-el-wrap>.e-con-inner{max-width:100%;padding:0;gap:18px}
.radar-elementor-main .radar-el-section{padding:54px 0;--padding-top:54px;--padding-bottom:54px}
.radar-elementor-main .radar-el-section-title .elementor-heading-title{font-size:32px;line-height:1.08;letter-spacing:-1px}
.radar-elementor-main .radar-hero{min-height:620px;isolation:isolate;padding:0;background-size:cover;background-position:center center}
.radar-elementor-main .radar-hero::before,.radar-elementor-main .radar-cta-band::before{content:""!important;position:absolute;inset:0;opacity:1!important;background:linear-gradient(90deg,rgba(8,15,19,.93),rgba(8,15,19,.72) 43%,rgba(8,15,19,.05) 80%)!important;pointer-events:none;z-index:0}
.radar-elementor-main .radar-hero>.radar-el-wrap{padding:85px 24px 55px;min-height:620px;justify-content:center}
.radar-elementor-main .radar-hero-title .elementor-heading-title{color:#fff;font-size:clamp(40px,4.6vw,64px);line-height:1.03;letter-spacing:-2px}
.radar-elementor-main .radar-hero-text{max-width:610px}
.radar-elementor-main .radar-hero-text,.radar-elementor-main .radar-hero-text p{color:#f1f4f5;font-size:17px}
.radar-elementor-main .radar-el-buttons>.e-con-inner{display:flex;flex-direction:row;gap:14px;flex-wrap:wrap;padding:0}
.radar-elementor-main .radar-el-buttons .elementor-widget-button{width:auto}
.radar-elementor-main .radar-el-buttons .elementor-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px}
.radar-elementor-main .radar-hero-points{padding:22px 0 0;margin-top:14px;max-width:620px}
.radar-elementor-main .radar-hero-points>.e-con-inner{display:flex;flex-direction:row;gap:22px;padding:0}
.radar-elementor-main .radar-hero-point{width:auto;flex:1;min-width:0;padding:0}
.radar-elementor-main .radar-hero-point>.e-con-inner{display:flex;flex-direction:row;align-items:center;gap:12px;padding:0}
.radar-elementor-main .radar-hero-point .elementor-heading-title{color:#fff}
.radar-elementor-main .radar-about-visual{position:relative;padding:0}
.radar-elementor-main .radar-about-visual>.e-con-inner{padding:0;position:relative;gap:0}
.radar-elementor-main .radar-about-image img{display:block;width:100%;height:350px;object-fit:cover;object-position:center 55%}
.radar-elementor-main .radar-about-value{position:absolute;right:0;top:0;height:100%;width:32%;min-width:0;padding:25px 18px;background:rgba(16,23,29,.9);justify-content:center}
.radar-elementor-main .radar-about-value .elementor-heading-title{color:#fff;font-size:19px;line-height:1.25}
.radar-elementor-main .radar-about-value .elementor-widget-text-editor{color:#d7dce0;font-size:12px}
.radar-elementor-main .radar-offer-grid>.e-con-inner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:0}
.radar-elementor-main .radar-service-card{width:100%;max-width:100%;padding:0;min-width:0;flex:none}
.radar-elementor-main .radar-service-card>.e-con-inner{padding:0;gap:0}
.radar-elementor-main .radar-service-card img{height:190px;width:100%;object-fit:cover;display:block}
.radar-elementor-main .radar-card-copy{padding:18px 16px;width:100%}
.radar-elementor-main .radar-card-copy>.e-con-inner{padding:0;gap:10px}
.radar-elementor-main .radar-service-card h3{font-size:19px;line-height:1.2}
.radar-elementor-main .radar-service-card .elementor-widget-text-editor{font-size:14px}
.radar-elementor-main .radar-gallery-section{padding:30px 0}
.radar-elementor-main .radar-gallery-top>.e-con-inner{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:0}
.radar-elementor-main .radar-el-dark .elementor-heading-title{color:#fff}
.radar-elementor-main .radar-gallery-row>.e-con-inner{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;padding:0}
.radar-elementor-main .radar-gallery-tile{width:100%;max-width:100%;flex:none;padding:0}
.radar-elementor-main .radar-gallery-tile>.e-con-inner{padding:0}
.radar-elementor-main .radar-gallery-tile img{height:160px;width:100%;object-fit:cover;display:block}
.radar-elementor-main .radar-process-grid>.e-con-inner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:0}
.radar-elementor-main .radar-step-card{width:100%;padding:0;min-width:0}
.radar-elementor-main .radar-step-card>.e-con-inner{display:flex;flex-direction:row;align-items:flex-start;gap:14px;padding:0}
.radar-elementor-main .radar-step-card .e-con-inner>.e-con{padding:0;min-width:0}
.radar-elementor-main .radar-step-card .elementor-widget-text-editor{font-size:13px}
.radar-elementor-main .radar-cta-band{isolation:isolate;position:relative;padding:32px 0}
.radar-elementor-main .radar-cta-band .elementor-widget-text-editor,.radar-elementor-main .radar-cta-band .elementor-heading-title{color:#fff}
.radar-elementor-main .radar-cta-band .radar-el-wrap>.e-con-inner{display:flex;flex-direction:row;align-items:center}
.radar-elementor-main .radar-cta-contact>.e-con-inner{display:flex;flex-direction:row;align-items:center;gap:24px;padding:0}
.radar-elementor-main p:last-child{margin-bottom:0}
@media(max-width:1024px){.radar-elementor-main .radar-offer-grid>.e-con-inner,.radar-elementor-main .radar-process-grid>.e-con-inner{grid-template-columns:repeat(2,minmax(0,1fr))}.radar-elementor-main .radar-gallery-row>.e-con-inner{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){.radar-elementor-main .radar-el-section{padding:36px 0}.radar-elementor-main .radar-el-wrap{padding:0 20px}.radar-elementor-main .radar-el-wrap>.e-con-inner{flex-direction:column}.radar-elementor-main .radar-el-wrap>.e-con-inner>.e-con{width:100%}.radar-elementor-main .radar-hero>.radar-el-wrap{padding:60px 20px 35px;min-height:630px}.radar-elementor-main .radar-hero{background-position:65% center!important}.radar-elementor-main .radar-hero-title .elementor-heading-title{font-size:38px;letter-spacing:-1px}.radar-elementor-main .radar-hero-text p{font-size:16px}.radar-elementor-main .radar-hero-points>.e-con-inner{gap:10px}.radar-elementor-main .radar-hero-point>.e-con-inner{flex-direction:column;align-items:flex-start;gap:5px}.radar-elementor-main .radar-hero-point-title .elementor-heading-title{font-size:12px!important}.radar-elementor-main .radar-about-image img{height:310px}.radar-elementor-main .radar-about-value{width:38%;padding:16px}.radar-elementor-main .radar-about-value .elementor-heading-title{font-size:16px}.radar-elementor-main .radar-offer-grid>.e-con-inner,.radar-elementor-main .radar-process-grid>.e-con-inner{grid-template-columns:1fr}.radar-elementor-main .radar-gallery-row>.e-con-inner{grid-template-columns:repeat(2,minmax(0,1fr))}.radar-elementor-main .radar-gallery-tile img{height:165px}.radar-elementor-main .radar-cta-band .radar-el-wrap>.e-con-inner,.radar-elementor-main .radar-cta-contact>.e-con-inner{flex-direction:column;align-items:flex-start}.radar-elementor-main .radar-el-section-title .elementor-heading-title{font-size:28px}}

/* RAD-AR native gallery viewer */
.radar-native-viewer{border:0;padding:48px 64px 24px;background:#10171d;color:#fff;width:min(1200px,96vw);max-width:96vw;max-height:96vh;overflow:auto;box-sizing:border-box}.radar-native-viewer::backdrop{background:rgba(0,0,0,.88)}.radar-native-viewer figure{margin:0;text-align:center}.radar-native-viewer img{display:block;margin:auto;max-width:100%;width:auto;height:auto;max-height:76vh;object-fit:contain}.radar-native-viewer figcaption{padding:14px 0 0;font-size:14px}.radar-native-viewer button{position:absolute;border:1px solid #788189;background:#182127;color:#fff;cursor:pointer;font-size:32px;width:44px;height:44px;padding:0;line-height:1}.radar-viewer-close{top:4px;right:8px}.radar-viewer-prev{left:8px;top:48%}.radar-viewer-next{right:8px;top:48%}.radar-native-viewer button:focus-visible{outline:3px solid #ff6d20;outline-offset:2px}.radar-elementor-main .radar-hero-text{width:610px!important;max-width:100%!important}.radar-elementor-main .radar-gallery-tile{padding:0!important}.radar-elementor-main .radar-gallery-tile .elementor-widget-image,.radar-elementor-main .radar-gallery-tile .elementor-widget-container,.radar-elementor-main .radar-gallery-tile a{width:100%!important;display:block}.radar-elementor-main .radar-gallery-tile img{width:100%!important}.radar-elementor-main .radar-gallery-section h2{color:#fff!important}
@media(max-width:767px){.radar-native-viewer{padding:48px 44px 16px}.radar-native-viewer img{max-height:70vh}.radar-native-viewer button{width:36px;height:40px}.radar-viewer-prev{left:3px}.radar-viewer-next{right:3px}}

/* RAD-AR: mobile contrast and theme gallery controls, 2026-09-14 */
#lightbox{padding:52px 54px 40px;box-sizing:border-box;background:#10171d;width:min(1200px,96vw);max-width:96vw;max-height:96vh;overflow:auto}#lightbox img{display:block;margin:auto;width:auto;max-width:100%;height:auto;max-height:76vh;object-fit:contain}#lightbox .lightbox-prev,#lightbox .lightbox-next{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:52px;border:1px solid #81909b;background:#182127;color:#fff;font-size:40px;line-height:1;cursor:pointer;z-index:3;border-radius:4px;padding:0}#lightbox .lightbox-prev{left:5px}#lightbox .lightbox-next{right:5px}#lightbox .lightbox-close{position:absolute;right:8px;top:2px;width:44px;height:44px;z-index:4;background:#182127;font-size:36px;line-height:1;padding:0}#lightbox .lightbox-counter{display:block;text-align:center;color:#fff;font-size:14px;margin-top:12px}#lightbox button:focus-visible{outline:3px solid #ff6d20;outline-offset:2px}
@media(max-width:767px){
body .hero.hero-reference{isolation:isolate;position:relative}
body .hero.hero-reference .hero-picture{z-index:0!important}
body .hero.hero-reference::after{content:""!important;display:block!important;position:absolute!important;inset:0!important;z-index:1!important;pointer-events:none;background:linear-gradient(180deg,rgba(6,11,15,.78) 0%,rgba(6,11,15,.76) 65%,rgba(6,11,15,.62) 100%)!important;opacity:1!important}
body .hero.hero-reference .hero-content,body .hero.hero-reference .scroll-cue{position:relative;z-index:2!important}
body .hero.hero-reference h1,body .hero.hero-reference .hero-lead,body .hero.hero-reference .eyebrow,body .hero.hero-reference .hero-points{color:#fff!important}
#lightbox{padding:48px 44px 30px}#lightbox .lightbox-prev,#lightbox .lightbox-next{width:38px;height:48px}#lightbox .lightbox-prev{left:2px}#lightbox .lightbox-next{right:2px}
}

/* RAD-AR: compact mobile navigation, 2026-09-14 */
@media (max-width:767px){
  .site-header.visual-header .main-nav{
    position:absolute!important;
    top:64px!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-height:calc(100svh - 64px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    display:none!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    padding:8px 20px 14px!important;
    background:#10171d!important;
    box-shadow:0 16px 30px rgba(0,0,0,.28);
  }
  .site-header.visual-header .main-nav.open{display:flex!important}
  .site-header.visual-header .main-nav a{
    display:block!important;
    flex:none!important;
    min-height:0!important;
    padding:12px 0!important;
    line-height:1.35!important;
    border-bottom:1px solid rgba(255,255,255,.09)!important;
  }
  .site-header.visual-header .main-nav a:last-child{border-bottom:0!important}
  .site-header.visual-header .main-nav a:after{display:none!important}
}


/* RAD-AR WhatsApp CTA */
.btn.btn-whatsapp{
  background:#25d366;
  border-color:#25d366;
  color:#07150c;
  font-weight:800;
}
.btn.btn-whatsapp:hover,
.btn.btn-whatsapp:focus-visible{
  background:#20bd5a;
  border-color:#20bd5a;
  color:#06130b;
  transform:translateY(-1px);
}


/* RAD-AR: tabela cookies w polityce prywatności, 2026-09-16 */
.legal-table-wrap{overflow-x:auto;margin:20px 0 24px}
.legal-cookie-table{width:100%;min-width:680px;border-collapse:collapse;background:#fff}
.legal-cookie-table th,.legal-cookie-table td{padding:14px 16px;border:1px solid #dce2e6;text-align:left;vertical-align:top}
.legal-cookie-table th{background:#182127;color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.legal-cookie-table td{color:#525e66;font-size:14px;line-height:1.55}
.legal-cookie-table code{color:#d94f0b;white-space:nowrap}
@media(max-width:600px){.legal-table-wrap{margin-left:-6px;margin-right:-6px}.legal-cookie-table th,.legal-cookie-table td{padding:12px 13px}}
