
:root{
  --bg:#fff;
  --surface:#f4f7f8;
  --surface-2:#eef3f5;
  --text:#172128;
  --muted:#66737a;
  --brand:#102a3a;
  --brand-2:#173f59;
  --accent:#d6a03d;
  --accent-soft:#f6ead0;
  --border:#dce4e7;
  --radius:18px;
  --radius-lg:28px;
  --shadow:0 18px 48px rgba(16,42,58,.11);
  --container:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
  -webkit-font-smoothing:antialiased
}
a{color:inherit}
.container{width:min(calc(100% - 32px),var(--container));margin-inline:auto}
.skip-link{position:absolute;left:-9999px;top:8px}
.skip-link:focus{left:8px;z-index:1000;background:#fff;padding:8px 12px}

.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(255,255,255,.94);
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(14px)
}
.header-inner{min-height:76px;display:flex;align-items:center;gap:28px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:850;letter-spacing:-.035em}
.brand-mark{
  display:grid;place-items:center;
  width:40px;height:40px;border-radius:12px;
  background:var(--brand);color:#fff;
  font-size:.8rem;letter-spacing:.02em
}
.brand-text{font-size:1.25rem}
.brand-text span{color:var(--accent)}
.main-nav{display:flex;gap:24px;margin-left:auto}
.main-nav a{text-decoration:none;font-weight:650;font-size:.95rem}
.main-nav a:hover{color:var(--brand-2)}
.menu-toggle{display:none}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:50px;padding:0 22px;border:1px solid var(--brand);
  border-radius:999px;background:var(--brand);color:#fff;
  text-decoration:none;font-weight:750;cursor:pointer;transition:.2s ease
}
.btn:hover{transform:translateY(-1px);background:var(--brand-2)}
.btn-secondary{background:transparent;color:var(--brand)}
.btn-secondary:hover{color:#fff}
.btn-small{min-height:42px;padding-inline:18px}

.hero{
  position:relative;overflow:hidden;
  padding:64px 0 72px;
  background:
    radial-gradient(circle at 88% 12%,rgba(214,160,61,.2),transparent 31%),
    radial-gradient(circle at 8% 100%,rgba(16,42,58,.08),transparent 34%),
    linear-gradient(180deg,#f9fbfc,#fff)
}
.hero:after{
  content:"";position:absolute;right:-120px;top:80px;
  width:360px;height:360px;border-radius:50%;
  border:1px solid rgba(16,42,58,.08)
}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:66px;align-items:center}
.eyebrow{
  margin:0 0 12px;text-transform:uppercase;letter-spacing:.13em;
  font-size:.76rem;font-weight:850;color:var(--accent)
}
h1,h2,h3{line-height:1.08;letter-spacing:-.04em}
h1{font-size:clamp(2.7rem,5.5vw,5.35rem);margin:0 0 24px;max-width:900px}
h2{font-size:clamp(2.05rem,3.7vw,3.45rem);margin:0 0 24px}
h3{margin:0 0 12px;font-size:1.3rem}
.hero-lead{max-width:760px;font-size:1.18rem;color:var(--muted)}
.hero-actions{display:flex;gap:12px;margin:30px 0 28px;flex-wrap:wrap}
.trust-row{display:flex;gap:22px;flex-wrap:wrap;color:#40515b;font-weight:650;font-size:.94rem}

.hero-visual{position:relative}
.hero-panel{
  position:relative;padding:34px;border-radius:var(--radius-lg);
  background:var(--brand);color:#fff;box-shadow:var(--shadow);overflow:hidden
}
.hero-panel:after{
  content:"";position:absolute;right:-35px;bottom:-55px;
  width:180px;height:180px;border-radius:50%;
  background:rgba(214,160,61,.16)
}
.panel-kicker{display:block;color:#f2d99d;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.hero-panel strong{display:block;font-size:1.8rem;line-height:1.15;margin:12px 0}
.hero-panel p{margin-bottom:0;color:#d9e4e9}
.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.mini-card{
  padding:20px;border:1px solid var(--border);border-radius:16px;background:#fff
}
.mini-card strong,.mini-card small{display:block}
.mini-card small{color:var(--muted);margin-top:4px}
.icon{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--accent-soft);color:#91660f;font-weight:850;margin-bottom:12px}

.local-strip{border-block:1px solid var(--border);background:#fff}
.local-strip-inner{min-height:64px;display:flex;align-items:center;gap:30px;flex-wrap:wrap;color:#5d6b73;font-size:.92rem}
.local-strip strong{color:var(--brand)}

.section{padding:92px 0}
.section-alt{background:var(--surface)}
.section-heading{display:grid;grid-template-columns:1fr .8fr;gap:50px;align-items:end;margin-bottom:36px}
.section-intro{color:var(--muted);font-size:1.05rem;max-width:560px;justify-self:end}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{
  padding:28px;border:1px solid var(--border);border-radius:var(--radius);
  background:#fff;transition:.2s ease
}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.card p{color:var(--muted)}
.card a{font-weight:750;text-decoration:none;color:var(--brand)}
.card-featured{background:var(--brand);color:#fff;border-color:var(--brand)}
.card-featured p{color:#d7e3e8}
.card-featured a{color:#f0cf82}
.service-icon{
  display:grid;place-items:center;width:44px;height:44px;border-radius:13px;
  background:var(--surface-2);color:var(--brand);font-weight:850;margin-bottom:24px
}
.card-featured .service-icon{background:rgba(255,255,255,.12);color:#fff}

.section-dark{background:var(--brand);color:#fff}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:58px;align-items:center}
.eyebrow-light{color:#e6c273}
.lead-light{color:#d4e0e6;max-width:700px}
.area-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.area-tags span{
  padding:8px 12px;border:1px solid rgba(255,255,255,.18);
  border-radius:999px;color:#dce7ec;background:rgba(255,255,255,.05)
}
.area-card{
  padding:30px;border-radius:var(--radius-lg);background:#fff;color:var(--text);
  box-shadow:0 22px 50px rgba(0,0,0,.18)
}
.area-card p{color:var(--muted)}
.text-link{font-weight:800;text-decoration:none;color:var(--brand)}

.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.steps li{padding:24px;border:1px solid var(--border);border-radius:var(--radius);background:#fff}
.steps span{
  display:grid;place-items:center;width:40px;height:40px;border-radius:50%;
  background:var(--brand);color:#fff;font-weight:850;margin-bottom:16px
}
.steps p{margin-bottom:0;color:var(--muted)}

.section-benefits{background:#fff}
.benefits-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px}
.benefit-list{display:grid;gap:16px}
.benefit-list article{padding:22px 0;border-bottom:1px solid var(--border)}
.benefit-list p{margin-bottom:0;color:var(--muted)}

.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}
.faq details{border-bottom:1px solid var(--border);padding:20px 0}
.faq summary{cursor:pointer;font-weight:800;font-size:1.05rem}
.faq p{color:var(--muted)}

.contact-section{background:#fff}
.contact-lead{max-width:580px;color:var(--muted)}
.contact-details{display:grid;gap:14px;margin-top:28px}
.contact-details div{padding:16px 0;border-bottom:1px solid var(--border)}
.contact-details small,.contact-details strong{display:block}
.contact-details small{color:var(--muted)}
.contact-form{
  display:grid;gap:16px;padding:30px;border-radius:var(--radius-lg);
  border:1px solid var(--border);box-shadow:var(--shadow)
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-form label{display:grid;gap:7px;font-weight:700}
.contact-form input,.contact-form textarea{
  width:100%;padding:13px 14px;border:1px solid #ccd7dc;border-radius:11px;
  background:#fff;font:inherit
}
.contact-form input:focus,.contact-form textarea:focus{
  outline:3px solid rgba(16,42,58,.1);border-color:var(--brand)
}
.consent{grid-template-columns:auto 1fr!important;align-items:start;font-weight:400!important}
.consent input{width:auto;margin-top:5px}
.hp{position:absolute!important;left:-9999px!important}

.site-footer{padding:52px 0;background:#0b1820;color:#d2dde2}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:34px}
.site-footer a{color:#fff}
.brand-footer{color:#fff;margin-bottom:12px}

@media(max-width:980px){
  .hero-grid,.split,.benefits-grid,.faq-layout,.section-heading{grid-template-columns:1fr}
  .section-intro{justify-self:start}
  .cards{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .main-nav{
    display:none;position:absolute;top:76px;left:0;right:0;padding:18px 16px;
    background:#fff;border-bottom:1px solid var(--border);flex-direction:column
  }
  .main-nav.open{display:flex}
  .menu-toggle{
    display:inline-flex;margin-left:auto;background:transparent;border:1px solid var(--border);
    border-radius:10px;padding:9px 12px
  }
  .header-cta{display:none}
}
@media(max-width:640px){
  .hero{padding:42px 0 50px}
  .section{padding:68px 0}
  .cards,.steps,.footer-grid,.mini-grid,.form-row{grid-template-columns:1fr}
  h1{font-size:clamp(2.45rem,12vw,3.8rem)}
  .local-strip-inner{gap:14px;padding-block:12px}
  .trust-row{display:grid;gap:8px}
}


/* Landing: Złota rączka Wrocław */
.service-hero{
  padding:58px 0 78px;
  background:
    radial-gradient(circle at 90% 10%,rgba(214,160,61,.18),transparent 30%),
    linear-gradient(180deg,#f8fafb,#fff);
  border-bottom:1px solid var(--border)
}
.breadcrumbs{
  display:flex;gap:8px;align-items:center;flex-wrap:wrap;
  margin-bottom:42px;color:var(--muted);font-size:.9rem
}
.breadcrumbs a{text-decoration:none}
.service-hero-grid{
  display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center
}
.service-summary{
  padding:30px;border-radius:var(--radius-lg);
  background:var(--brand);color:#fff;box-shadow:var(--shadow)
}
.service-summary strong{display:block;font-size:1.65rem;line-height:1.15;margin:10px 0 18px}
.service-summary ul{padding-left:20px;margin-bottom:0;color:#d8e4e8}
.content-grid{
  display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:58px;align-items:start
}
.content-main>p{color:var(--muted);font-size:1.04rem}
.content-main h2{margin-top:48px}
.check-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:30px 0
}
.check-grid div{
  padding:20px;border:1px solid var(--border);border-radius:16px;background:var(--surface)
}
.check-grid strong,.check-grid span{display:block}
.check-grid span{color:var(--muted);margin-top:5px}
.info-box{
  padding:24px;border-left:4px solid var(--accent);border-radius:0 14px 14px 0;
  background:var(--accent-soft);margin:30px 0
}
.info-box p{margin-bottom:0}
.sticky-card{
  position:sticky;top:110px;padding:26px;border:1px solid var(--border);
  border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow)
}
.sticky-card p{color:var(--muted)}
@media(max-width:980px){
  .service-hero-grid,.content-grid{grid-template-columns:1fr}
  .content-side{display:none}
}
@media(max-width:640px){
  .service-hero{padding:36px 0 56px}
  .breadcrumbs{margin-bottom:28px}
  .check-grid{grid-template-columns:1fr}
}

.legal{max-width:860px}
.legal h2{font-size:1.65rem;margin-top:42px}
.legal p{color:var(--muted)}
.narrow{max-width:760px}
.center-text{text-align:center}
.center-actions{justify-content:center}

.brand-logo{display:block;width:250px;height:auto;max-height:50px}
@media(max-width:640px){.brand-logo{width:190px}}
img{max-width:100%;height:auto}

.hero-illustration-wrap{margin-bottom:16px;padding:10px;border:1px solid var(--border);border-radius:var(--radius-lg);background:rgba(255,255,255,.72);box-shadow:0 18px 48px rgba(16,42,58,.08)}
.hero-illustration{display:block;width:100%;height:auto;border-radius:20px}
.contact-details a{color:inherit;text-decoration:none}
.contact-details a:hover{text-decoration:underline;text-underline-offset:3px}


/* Cookie consent */
.cookie-banner[hidden],
.cookie-settings[hidden]{display:none!important}

.cookie-banner{
  position:fixed;
  left:18px;
  right:18px;
  bottom:18px;
  z-index:10000;
}
.cookie-banner-inner{
  max-width:1120px;
  margin:0 auto;
  padding:20px 22px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:22px;
  align-items:center;
  background:#fff;
  border:1px solid var(--border);
  border-radius:18px;
  box-shadow:0 24px 70px rgba(16,42,58,.22);
}
.cookie-banner h2{
  margin:0 0 7px;
  font-size:1.05rem;
}
.cookie-banner p{
  margin:0;
  color:var(--muted);
  font-size:.93rem;
  line-height:1.55;
}
.cookie-banner p a{font-weight:700}
.cookie-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:9px;
}
.cookie-actions .btn{
  min-height:42px;
  padding:10px 15px;
  white-space:nowrap;
}
.cookie-btn-plain{
  border:1px solid var(--border);
  background:#fff;
  color:var(--brand);
}

.cookie-settings{
  position:fixed;
  inset:0;
  z-index:10001;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(7,24,34,.56);
}
.cookie-settings-card{
  width:min(620px,100%);
  max-height:calc(100vh - 40px);
  overflow:auto;
  padding:28px;
  background:#fff;
  border-radius:22px;
  box-shadow:0 25px 80px rgba(0,0,0,.28);
}
.cookie-settings-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
}
.cookie-settings-head h2{margin-top:0}
.cookie-close{
  width:40px;height:40px;flex:0 0 40px;
  border:1px solid var(--border);
  border-radius:50%;
  background:#fff;
  font-size:1.35rem;
  cursor:pointer;
}
.cookie-option{
  display:flex;
  gap:16px;
  justify-content:space-between;
  align-items:flex-start;
  padding:18px 0;
  border-top:1px solid var(--border);
}
.cookie-option:first-of-type{margin-top:16px}
.cookie-option strong,.cookie-option span{display:block}
.cookie-option span{margin-top:5px;color:var(--muted);font-size:.92rem}
.cookie-toggle{
  width:22px;height:22px;flex:0 0 auto;
}
.cookie-required{
  color:var(--brand);
  font-size:.82rem;
  font-weight:700;
  white-space:nowrap;
}
.cookie-settings-foot{
  display:flex;
  gap:10px;
  justify-content:flex-end;
  margin-top:18px;
}
.footer-credit{
  margin-top:10px;
  font-size:.9rem;
  color:var(--muted);
}
.footer-credit a{font-weight:700}

@media(max-width:760px){
  .cookie-banner{left:10px;right:10px;bottom:10px}
  .cookie-banner-inner{grid-template-columns:1fr;padding:17px}
  .cookie-actions{justify-content:stretch}
  .cookie-actions .btn{flex:1 1 140px}
  .cookie-settings-card{padding:22px}
}

/* Final accessibility polish */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible{
  outline:3px solid #d6a03d;
  outline-offset:3px;
}
.cookie-modal-open{overflow:hidden}

/* Final logo consistency */
.brand-logo{display:block;width:250px;height:auto;max-height:50px}
.brand-logo-footer{width:250px;max-height:none}
.site-footer .brand-footer{display:inline-flex;align-items:center}
.site-footer .brand-logo-footer{filter:none;opacity:1}
.site-footer .footer-credit,
.site-footer .footer-credit a{color:#f1f5f7}
.site-footer .footer-credit a{text-decoration:underline;text-underline-offset:3px}
.site-footer strong{color:#ffffff}
.site-footer p{color:#dbe5e9}
@media(max-width:640px){
  .brand-logo,.brand-logo-footer{width:205px}
}


/* Related trade / glazier services */
.related-trade{
  padding:64px 0;
  background:#f6f8f9;
}
.related-trade-inner{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);
  gap:42px;
  align-items:center;
  padding:36px 40px;
  border:1px solid #dfe6e9;
  border-radius:24px;
  background:#ffffff;
  box-shadow:0 12px 30px rgba(16,42,58,.06);
}
.related-trade-copy h2{
  margin-top:6px;
}
.related-trade-copy p{
  max-width:760px;
}
.related-trade-visual{
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:220px;
}
.tile-pattern{
  width:220px;
  aspect-ratio:1;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  transform:rotate(3deg);
}
.tile-pattern span{
  display:block;
  border-radius:12px;
  background:linear-gradient(145deg,#eef2f4,#dbe3e7);
  border:1px solid #cfd9de;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
}
.tile-pattern span:nth-child(2),
.tile-pattern span:nth-child(6),
.tile-pattern span:nth-child(8){
  background:linear-gradient(145deg,#f2c76d,#d8a33e);
  border-color:#d0a24a;
}
@media(max-width:800px){
  .related-trade{padding:48px 0}
  .related-trade-inner{
    grid-template-columns:1fr;
    gap:24px;
    padding:28px 24px;
  }
  .related-trade-visual{
    min-height:auto;
  }
  .tile-pattern{
    width:180px;
  }
}


/* Turnstile */
.form-turnstile{
  margin:4px 0 18px;
  max-width:100%;
}
.form-turnstile .cf-turnstile{
  max-width:100%;
}
.form-help{
  display:block;
  margin-top:6px;
  color:#66757d;
  font-size:.84rem;
}

/* Homepage contact CTA */
.contact-cta-section{
  padding:64px 0;
}
.contact-cta{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);
  gap:40px;
  align-items:center;
}
.contact-cta-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
}
.contact-email-link{
  width:100%;
  margin-top:4px;
  font-weight:700;
}
@media(max-width:800px){
  .contact-cta-section{padding:48px 0}
  .contact-cta{grid-template-columns:1fr;gap:24px}
}

/* Final footer service navigation */
.site-footer .footer-grid{
  grid-template-columns:minmax(220px,1.25fr) minmax(190px,.9fr) minmax(210px,1fr) minmax(190px,.9fr);
  align-items:start;
}
.site-footer .footer-services a{
  line-height:1.9;
}
@media(max-width:1000px){
  .site-footer .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:640px){
  .site-footer .footer-grid{
    grid-template-columns:1fr;
  }
}

/* Form redirect CTA */
.form-redirect-cta{
  padding:24px;
  border:1px solid rgba(15,35,57,.14);
  border-radius:16px;
  background:rgba(255,255,255,.72);
}
.form-redirect-cta p{margin:0 0 10px}
.form-redirect-cta .btn{margin-top:6px}

/* Legal pages normalization */
.legal-page{
  padding:56px 0 72px;
}
.legal-page > .container,
.legal-page .container{
  width:min(100% - 32px, 920px);
  margin-inline:auto;
}
.legal-page h1{
  max-width:18ch;
  margin-bottom:24px;
}
.legal-page h2{
  margin-top:34px;
  margin-bottom:14px;
}
.legal-page h3{
  margin-top:26px;
  margin-bottom:10px;
}
.legal-page p,
.legal-page li{
  line-height:1.72;
}
.legal-page ul,
.legal-page ol{
  padding-left:1.25rem;
}
.legal-page a{
  overflow-wrap:anywhere;
}
@media(max-width:700px){
  .legal-page{
    padding:40px 0 56px;
  }
  .legal-page > .container,
  .legal-page .container{
    width:min(100% - 24px, 920px);
  }
}

/* =========================================================
   V3.0 — complete service-page alignment to the supplied mockup
   ========================================================= */
.service-layout{
  background:linear-gradient(112deg,#f7f9fb 0%,#fff 58%,#fff6e7 100%) !important;
}
.service-layout .service-hero{
  padding-top:24px !important;
  padding-bottom:54px !important;
  background:transparent !important;
}
.service-layout .service-breadcrumbs{
  margin-bottom:24px !important;
}
.service-layout .service-hero-grid{
  grid-template-columns:minmax(0,1.45fr) minmax(330px,.65fr) !important;
  gap:76px !important;
  align-items:center !important;
}
body .service-layout .service-hero h1{
  max-width:820px !important;
  margin:10px 0 16px !important;
  font-size:clamp(2.75rem,3.9vw,4.05rem) !important;
  line-height:1.04 !important;
}
.service-layout .service-intro{
  max-width:720px;
  margin:0 0 22px !important;
}
.service-layout .service-intro p{
  color:#344d5e !important;
  line-height:1.55;
}
.service-layout .service-benefits{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px !important;
  margin:24px 0 22px !important;
}
.service-layout .benefit-pill{
  min-height:64px;
  padding:12px 16px !important;
  background:rgba(255,255,255,.72) !important;
  border:1px solid rgba(16,32,45,.08) !important;
  box-shadow:0 8px 24px rgba(16,32,45,.035);
}
.service-layout .benefit-icon{
  flex:0 0 30px;
  width:30px;
  height:30px;
  background:#f4b223 !important;
  color:#071d2d !important;
}
.service-layout .service-actions{
  gap:16px !important;
}
.service-layout .service-actions .btn{
  min-width:200px;
  min-height:52px;
  border-radius:9px !important;
}
.service-layout .service-actions .btn-primary{
  box-shadow:0 8px 20px rgba(207,141,0,.18);
}
.service-layout .prep-card{
  padding:38px 40px !important;
  border-radius:22px !important;
  background:linear-gradient(145deg,#061b2d,#062b45) !important;
  box-shadow:0 18px 42px rgba(4,20,31,.16) !important;
}
.service-layout .prep-card h2{
  font-size:clamp(1.7rem,2.15vw,2.1rem) !important;
  margin-bottom:18px !important;
}
.service-layout .prep-card li{
  padding-top:8px !important;
  padding-bottom:8px !important;
  color:#f5f8fa !important;
}

/* One coherent white panel below the hero, like the mockup. */
.service-layout .service-summary{
  padding:0 0 62px !important;
  background:transparent !important;
}
.service-layout .service-summary-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:34px !important;
  padding:30px 34px !important;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(16,32,45,.08);
  border-radius:18px;
  box-shadow:0 16px 38px rgba(16,32,45,.06);
}
.service-layout .service-summary-grid.has-photo{
  grid-template-columns:1.05fr 1.05fr .95fr;
}
.service-layout .summary-card{
  padding:4px 8px !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.service-layout .summary-card h2{
  position:relative;
  padding-bottom:14px;
  margin-bottom:16px !important;
  font-size:1.7rem !important;
}
.service-layout .summary-card h2::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:48px;
  height:2px;
  background:#e7a30d;
}
.service-layout .summary-card .check-list{
  columns:2;
  column-gap:24px;
  margin-top:20px;
}
.service-layout .summary-card .check-list li{
  position:relative;
  padding-left:24px;
  margin-bottom:10px;
  break-inside:avoid;
}
.service-layout .summary-card .check-list li::marker{content:""}
.service-layout .summary-card .check-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  color:#d89000;
  font-weight:900;
}
.service-layout .why-list{
  gap:12px !important;
}
.service-layout .why-list > div{
  grid-template-columns:44px 1fr !important;
  gap:12px !important;
}
.service-layout .why-list span{
  width:40px;
  height:40px;
  border-radius:10px;
  background:#eef1f3 !important;
  color:#071d2d !important;
}
.service-layout .service-photo{
  min-width:0;
  margin:0;
  align-self:stretch;
  border-radius:15px;
  overflow:hidden;
  background:#eef1f3;
}
.service-layout .service-photo img{
  display:block;
  width:100%;
  height:100%;
  min-height:250px;
  object-fit:cover;
}

/* Match the compact dark footer from the reference. */
.site-footer{
  padding-top:38px !important;
  background:linear-gradient(135deg,#061a2a,#062b45) !important;
}
.site-footer .footer-grid{
  gap:44px !important;
}
.site-footer strong{
  color:#f3b21f !important;
}
.site-footer p,
.site-footer a{
  line-height:1.48;
}

@media(max-width:1060px){
  .service-layout .service-hero-grid{
    grid-template-columns:1fr !important;
    gap:32px !important;
  }
  .service-layout .service-summary-grid.has-photo{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .service-layout .service-photo{
    grid-column:1/-1;
    max-height:360px;
  }
}
@media(max-width:760px){
  body .service-layout .service-hero h1{
    font-size:clamp(2.35rem,10vw,3.2rem) !important;
  }
  .service-layout .service-benefits,
  .service-layout .service-summary-grid,
  .service-layout .service-summary-grid.has-photo{
    grid-template-columns:1fr !important;
  }
  .service-layout .service-summary-grid{
    padding:24px !important;
  }
  .service-layout .summary-card{
    padding:0 !important;
  }
  .service-layout .service-photo{
    grid-column:auto;
  }
}


/* Legal pages v1.9.3 — authoritative layout override */
body .legal-page{
  padding:48px 0 72px;
}
body .legal-page .legal-container{
  width:calc(100% - 48px);
  max-width:1120px;
  margin-left:auto;
  margin-right:auto;
  padding-left:0;
  padding-right:0;
}
body .legal-page .legal-container > *{
  max-width:100%;
}
body .legal-page h1{
  font-size:clamp(2.5rem,6vw,5rem);
  line-height:1.02;
  max-width:none;
  margin:28px 0 24px;
}
body .legal-page h2{
  font-size:clamp(1.55rem,3vw,2.35rem);
  line-height:1.15;
  margin:38px 0 14px;
}
body .legal-page p,
body .legal-page li{
  font-size:1rem;
  line-height:1.72;
}
body .legal-page p{
  margin:0 0 16px;
}
body .legal-page ul,
body .legal-page ol{
  margin:0 0 20px;
  padding-left:1.4rem;
}
@media(max-width:700px){
  body .legal-page{
    padding:32px 0 52px;
  }
  body .legal-page .legal-container{
    width:calc(100% - 32px);
  }
  body .legal-page h1{
    font-size:clamp(2.25rem,12vw,3.5rem);
    overflow-wrap:anywhere;
  }
}


/* Legal pages v1.9.4 — full-width background, constrained content */
body .legal-page{
  padding:0;
  margin:0;
  width:100%;
}
body .legal-page .legal-bg{
  width:100%;
  background:
    linear-gradient(110deg, rgba(248,250,252,.98) 0%, rgba(248,250,252,.98) 56%, rgba(248,241,225,.90) 100%);
  padding:48px 0 72px;
}
body .legal-page .legal-container{
  width:calc(100% - 48px);
  max-width:1120px;
  margin:0 auto;
  padding:0;
}
body .legal-page h1{
  margin:28px 0 24px;
}
body .legal-page h2{
  margin:36px 0 14px;
}
body .legal-page .legal-container > h2:first-of-type{
  margin-top:34px;
}
body .legal-page p,
body .legal-page li{
  line-height:1.72;
}
@media(max-width:700px){
  body .legal-page .legal-bg{
    padding:32px 0 52px;
  }
  body .legal-page .legal-container{
    width:calc(100% - 32px);
  }
}


/* =========================================================
   V2.0 — MOCKUP STYLE SYSTEM
   Direction: dark navy header/footer, cream content surface,
   gold accents, compact professional layout.
   ========================================================= */

:root{
  --dn-navy:#0b1d2a;
  --dn-navy-2:#102b3b;
  --dn-ink:#14212b;
  --dn-muted:#617180;
  --dn-gold:#e5a623;
  --dn-gold-dark:#c98d12;
  --dn-cream:#f6f0e4;
  --dn-paper:#fbfaf7;
  --dn-line:rgba(20,33,43,.12);
  --dn-shadow:0 16px 44px rgba(12,29,42,.08);
}

/* Global surface */
html,body{
  background:var(--dn-paper);
}
body{
  color:var(--dn-ink);
}
main{
  background:
    linear-gradient(110deg,
      rgba(250,252,253,.98) 0%,
      rgba(250,252,253,.98) 58%,
      rgba(246,240,228,.92) 100%);
}
.container{
  width:min(100% - 40px, 1260px);
  margin-inline:auto;
}

/* Header */
.site-header{
  background:var(--dn-navy) !important;
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:none;
}
.site-header .container,
.site-header .header-inner{
  min-height:74px;
}
.site-header a,
.site-header nav a{
  color:#fff;
}
.site-header nav a:hover,
.site-header nav a:focus-visible{
  color:var(--dn-gold);
}
.site-header .btn,
.site-header .header-phone,
.site-header a[href^="tel:"]{
  color:#fff;
}
.site-header .header-phone,
.site-header a[href^="tel:"]{
  font-weight:800;
}
.site-header .header-phone::before{
  color:var(--dn-gold);
}
.site-header .menu-toggle{
  color:#fff;
  border-color:rgba(255,255,255,.28);
}

/* Typography */
.eyebrow{
  color:var(--dn-gold-dark);
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
h1,h2,h3{
  color:var(--dn-ink);
  letter-spacing:-.035em;
}
h1{
  font-size:clamp(3rem,6vw,5.7rem);
  line-height:.98;
}
h2{
  font-size:clamp(2rem,3.8vw,3.55rem);
  line-height:1.05;
}
h3{
  font-size:clamp(1.25rem,2vw,1.65rem);
}
p,li{
  color:var(--dn-ink);
}
.lead,
.hero p,
.page-hero p,
.contact-lead{
  color:var(--dn-muted);
}

/* Buttons */
.btn{
  border-radius:8px;
  font-weight:800;
  min-height:48px;
  padding:12px 20px;
}
.btn-primary{
  background:var(--dn-gold);
  color:var(--dn-navy) !important;
  border-color:var(--dn-gold);
}
.btn-primary:hover,
.btn-primary:focus-visible{
  background:var(--dn-gold-dark);
  border-color:var(--dn-gold-dark);
}
.btn-secondary{
  background:transparent;
  color:var(--dn-navy);
  border:1px solid rgba(11,29,42,.24);
}
.site-header .btn-secondary{
  color:#fff;
  border-color:rgba(255,255,255,.3);
}

/* Main hero / page intro */
.hero,
.page-hero,
.legal-bg{
  background:
    linear-gradient(110deg,
      rgba(250,252,253,.99) 0%,
      rgba(250,252,253,.99) 58%,
      rgba(246,240,228,.95) 100%) !important;
}
.hero{
  padding-top:76px !important;
  padding-bottom:72px;
}
.page-hero{
  padding:54px 0 40px;
}
.hero .container,
.page-hero .container{
  position:relative;
}
.breadcrumbs{
  color:var(--dn-muted);
  margin-bottom:28px;
}
.breadcrumbs a{
  color:var(--dn-muted);
}
.breadcrumbs a:hover{
  color:var(--dn-gold-dark);
}

/* Sections */
.section{
  padding:72px 0;
}
.section:nth-of-type(even){
  background:rgba(255,255,255,.50);
}
.section-title{
  max-width:780px;
  margin-bottom:34px;
}

/* Cards */
.card,
.service-card,
.feature-card,
.contact-card,
.faq-item,
.related-service-card{
  background:rgba(255,255,255,.88);
  border:1px solid var(--dn-line);
  border-radius:14px;
  box-shadow:var(--dn-shadow);
}
.card,
.service-card,
.feature-card,
.contact-card{
  padding:26px;
}
.service-card:hover,
.card:hover{
  transform:translateY(-2px);
  border-color:rgba(229,166,35,.45);
}
.service-card a,
.card a{
  color:var(--dn-navy);
}
.service-card a:hover,
.card a:hover{
  color:var(--dn-gold-dark);
}

/* Contact */
.contact-section{
  background:
    linear-gradient(110deg,
      rgba(249,251,252,.98),
      rgba(246,240,228,.92)) !important;
}
.contact-cta{
  align-items:center;
}
.form-group input,
.form-group textarea,
.form-group select,
input,textarea,select{
  border:1px solid rgba(20,33,43,.18);
  border-radius:9px;
  background:#fff;
}
input:focus,textarea:focus,select:focus{
  border-color:var(--dn-gold);
  box-shadow:0 0 0 3px rgba(229,166,35,.14);
}

/* FAQ */
.faq-item{
  overflow:hidden;
}
.faq-item summary{
  font-weight:800;
  color:var(--dn-ink);
}
.faq-item[open]{
  border-color:rgba(229,166,35,.35);
}

/* Legal pages */
body .legal-page{
  background:
    linear-gradient(110deg,
      rgba(250,252,253,.99) 0%,
      rgba(250,252,253,.99) 58%,
      rgba(246,240,228,.95) 100%) !important;
}
body .legal-page .legal-bg{
  background:transparent !important;
  padding:48px 0 72px;
}
body .legal-page .legal-container{
  width:min(100% - 40px, 1260px);
  max-width:1260px;
}
body .legal-page h1{
  font-size:clamp(3.4rem,6vw,5.9rem);
  max-width:none;
}
body .legal-page h2{
  font-size:clamp(1.45rem,2.2vw,2.15rem);
  letter-spacing:-.02em;
}
body .legal-page p,
body .legal-page li{
  max-width:920px;
}

/* Footer */
.site-footer{
  background:var(--dn-navy) !important;
  color:#fff;
  border-top:none;
  padding-top:52px;
}
.site-footer,
.site-footer p,
.site-footer li{
  color:#fff;
}
.site-footer strong,
.site-footer h2,
.site-footer h3{
  color:#fff;
}
.site-footer a{
  color:#fff;
  text-decoration-color:rgba(255,255,255,.35);
}
.site-footer a:hover,
.site-footer a:focus-visible{
  color:var(--dn-gold);
}
.site-footer .footer-grid{
  grid-template-columns:1.15fr .9fr 1fr .9fr;
  gap:48px;
}
.site-footer .footer-services strong,
.site-footer .footer-grid > div > strong{
  color:var(--dn-gold);
}
.site-footer .footer-bottom{
  border-top:1px solid rgba(255,255,255,.1);
  margin-top:42px;
  padding:20px 0;
}

/* Accent links */
a{
  text-underline-offset:3px;
}
main a:not(.btn){
  color:var(--dn-navy);
}
main a:not(.btn):hover{
  color:var(--dn-gold-dark);
}

/* Related services block */
.related-services,
.related-service-section{
  background:var(--dn-paper);
}
.related-service-card{
  border-left:4px solid var(--dn-gold);
}

/* Improve visual density */
.grid,
.services-grid,
.features-grid{
  gap:22px;
}
ul.check-list li::marker,
.prose ul li::marker{
  color:var(--dn-gold);
}

/* Mobile */
@media(max-width:900px){
  .site-header nav{
    background:var(--dn-navy);
  }
  .site-footer .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:34px;
  }
  h1{
    font-size:clamp(2.7rem,10vw,4.3rem);
  }
  .hero{
    padding-top:54px !important;
  }
}

/* =========================================================
   V2.7 — spacing and contrast corrections
   ========================================================= */

/* Small gold labels on light surfaces need a darker tone. */
main .eyebrow,
.cookie-settings-card .eyebrow{
  color:#865900 !important;
}
.site-footer .eyebrow,
.prep-card .eyebrow,
.hero-panel .eyebrow,
.section-dark .eyebrow{
  color:#f3bd43 !important;
}

/* Give the first viewport and service intros comfortable breathing room. */
.hero{
  padding-top:84px !important;
  padding-bottom:88px !important;
}
.hero-grid{
  gap:72px !important;
}
.hero-copy{
  padding-block:12px;
}
.service-hero{
  padding-top:34px !important;
  padding-bottom:72px !important;
}
.service-breadcrumbs,
.contact-page .breadcrumbs{
  margin-bottom:34px !important;
}
.service-hero-grid{
  gap:64px !important;
}

/* Cards: more internal space and explicit surface-aware colours. */
.card,
.summary-card,
.contact-form,
.area-card{
  padding:34px !important;
}
.card h2,
.card h3,
.card strong,
.summary-card h2,
.summary-card h3,
.summary-card strong,
.area-card h2,
.area-card h3,
.area-card strong{
  color:#10202d !important;
}
.card p,
.summary-card p,
.summary-card li,
.area-card p{
  color:#425968 !important;
}
.card-featured,
.card.card-featured{
  background:linear-gradient(145deg,#071d2d,#0b3048) !important;
  border-color:#0b3048 !important;
  color:#fff !important;
}
.card-featured h2,
.card-featured h3,
.card-featured strong{
  color:#fff !important;
}
.card-featured p{
  color:#e2edf2 !important;
}
.card-featured a{
  color:#ffd16b !important;
}
.card-featured .service-icon{
  background:rgba(255,255,255,.14) !important;
  color:#fff !important;
}

/* Local section is deliberately light: dark copy, clear chips and card. */
#obszar.area-section{
  padding-top:84px !important;
  padding-bottom:84px !important;
}
#obszar .split{
  gap:72px !important;
}
#obszar h2,
#obszar h3{
  color:#10202d !important;
}
#obszar .lead-light{
  color:#425968 !important;
}
#obszar .area-tags{
  gap:12px !important;
  margin-top:30px !important;
}
#obszar .area-tags span{
  padding:10px 15px !important;
  background:#fff !important;
  border:1px solid #cbd7dd !important;
  color:#17384d !important;
  font-weight:700;
}
#obszar .area-card .text-link{
  color:#0b405f !important;
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:4px;
}

/* Contact page: dark preparation card, readable form and labels. */
.contact-page .contact-prep-card{
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:340px !important;
  padding:42px !important;
  color:#fff !important;
}
.contact-page .contact-prep-card .panel-kicker{
  color:#ffd16b !important;
}
.contact-page .contact-prep-card strong{
  display:block;
  margin:12px 0 22px;
  color:#fff !important;
  font-size:clamp(1.75rem,2.5vw,2.35rem);
  line-height:1.15;
}
.contact-page .contact-prep-card li{
  color:#f4f8fa !important;
}
.contact-section{
  padding-top:84px !important;
  padding-bottom:84px !important;
}
.contact-section .split{
  gap:72px !important;
  align-items:start;
}
.contact-form{
  gap:20px !important;
  background:#fff !important;
  color:#10202d !important;
}
.contact-form label,
.contact-form .consent,
.contact-form .form-help{
  color:#263c4b !important;
}
.contact-form input,
.contact-form textarea{
  color:#10202d !important;
  background:#fff !important;
  border-color:#aebfc8 !important;
}
.contact-details small{
  color:#526777 !important;
}

@media(max-width:980px){
  .hero-grid,
  .service-hero-grid,
  #obszar .split,
  .contact-section .split{
    gap:36px !important;
  }
  .contact-page .contact-prep-card{
    min-height:0 !important;
  }
}
@media(max-width:700px){
  .hero{
    padding-top:54px !important;
    padding-bottom:60px !important;
  }
  .service-hero{
    padding-top:26px !important;
    padding-bottom:52px !important;
  }
  .card,
  .summary-card,
  .contact-form,
  .area-card,
  .contact-page .contact-prep-card{
    padding:26px !important;
  }
  #obszar.area-section,
  .contact-section{
    padding-top:58px !important;
    padding-bottom:58px !important;
  }
}
@media(max-width:640px){
  .container{
    width:min(100% - 28px,1260px);
  }
  .section{
    padding:54px 0;
  }
  .site-footer .footer-grid{
    grid-template-columns:1fr;
  }
  body .legal-page .legal-container{
    width:calc(100% - 28px);
  }
  body .legal-page h1{
    font-size:clamp(2.7rem,13vw,4.25rem);
  }
}


/* V2.1 — actual mockup implementation, authoritative */
.site-header{
  background:#081d2b !important;
  position:sticky;
  top:0;
  z-index:1000;
}
.site-header .header-inner,
.site-header > .container{
  min-height:72px !important;
}
.site-header nav a{color:#fff !important}
.site-header nav a:hover{color:#e4a21a !important}
.site-header a[href^="tel:"]{
  background:#e4a21a !important;
  color:#081d2b !important;
  border-radius:8px !important;
  padding:13px 20px !important;
}

main{
  background:linear-gradient(105deg,#fbfcfd 0%,#fbfcfd 58%,#f7f0e2 100%) !important;
}
.breadcrumbs{
  padding-top:18px;
  font-size:.92rem;
}
.legal-page .legal-bg{padding:30px 0 56px !important}
.legal-page .legal-container{max-width:1260px !important}
.legal-page h1{
  font-size:clamp(3rem,5vw,4.8rem) !important;
  margin:12px 0 18px !important;
}
.legal-page .legal-intro{
  color:#60717f;
  font-size:1.08rem;
  margin-bottom:30px;
}
.legal-sections{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  column-gap:54px;
  align-items:start;
}
.legal-column{
  min-width:0;
}
.legal-section{
  padding:14px 0 16px;
  border-bottom:1px solid rgba(20,33,43,.10);
}
.legal-section:last-child{border-bottom:0}
.legal-page .legal-section h2{
  font-size:1.35rem !important;
  line-height:1.18 !important;
  margin:0 0 9px !important;
  letter-spacing:-.02em !important;
}
.legal-page .legal-section p,
.legal-page .legal-section li{
  max-width:none !important;
  font-size:.98rem;
  line-height:1.58;
}
.legal-page .legal-section p:last-child{margin-bottom:0}
.legal-updated{
  margin-top:28px;
  color:#60717f;
  font-size:.92rem;
}

.site-footer{
  background:#081d2b !important;
  padding-top:42px !important;
}
.site-footer .footer-grid{
  grid-template-columns:1.1fr .85fr 1fr .9fr !important;
  gap:44px !important;
}
.site-footer .footer-grid strong{color:#e4a21a !important}
.site-footer p,.site-footer a{font-size:.95rem}

@media(max-width:850px){
  .legal-sections{grid-template-columns:1fr}
  .legal-column + .legal-column{margin-top:0}
  .site-footer .footer-grid{grid-template-columns:repeat(2,1fr) !important}
}
@media(max-width:620px){
  .legal-page h1{font-size:clamp(2.5rem,12vw,3.6rem) !important}
  .site-footer .footer-grid{grid-template-columns:1fr !important}
}


/* V2.2 — logo/header contrast + dark section contrast fixes */

/* Header logo: stronger contrast on navy */
.site-header .logo,
.site-header .brand,
.site-header .site-branding,
.site-header .logo-link{
  color:#ffffff !important;
}
.site-header .logo img,
.site-header .site-logo,
.site-header img[alt*="Drobne"],
.site-header img[alt*="Drobne-Naprawy"]{
  filter:none !important;
}
.site-header .brand-name,
.site-header .logo-text,
.site-header .site-title,
.site-header .wordmark{
  color:#ffffff !important;
  font-weight:800 !important;
}
.site-header .brand-name .accent,
.site-header .logo-text .accent,
.site-header .site-title .accent,
.site-header .wordmark .accent{
  color:#f2b52a !important;
}
.site-header .site-header-inner a{
  text-decoration:none;
}

/* Explicit white/gold fallback for inline SVG/text logo combinations */
.site-header svg text,
.site-header svg .brand-text{
  fill:#ffffff !important;
}
.site-header svg .brand-accent,
.site-header svg .accent,
.site-header svg [fill="#c98d12"],
.site-header svg [fill="#e5a623"]{
  fill:#f2b52a !important;
}

/* Dark backgrounds must always get light text */
.site-footer,
.site-footer *,
.dark-section,
.dark-section *,
.section-dark,
.section-dark *,
.bg-dark,
.bg-dark *,
.hero-dark,
.hero-dark *,
.cta-dark,
.cta-dark *,
.navy-section,
.navy-section *{
  color:#ffffff;
}
.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer strong,
.dark-section h1,
.dark-section h2,
.dark-section h3,
.dark-section h4,
.section-dark h1,
.section-dark h2,
.section-dark h3,
.section-dark h4,
.bg-dark h1,
.bg-dark h2,
.bg-dark h3,
.bg-dark h4,
.cta-dark h1,
.cta-dark h2,
.cta-dark h3,
.cta-dark h4,
.navy-section h1,
.navy-section h2,
.navy-section h3,
.navy-section h4{
  color:#ffffff !important;
}
.site-footer a,
.dark-section a,
.section-dark a,
.bg-dark a,
.cta-dark a,
.navy-section a{
  color:#ffffff !important;
}
.site-footer a:hover,
.dark-section a:hover,
.section-dark a:hover,
.bg-dark a:hover,
.cta-dark a:hover,
.navy-section a:hover{
  color:#f2b52a !important;
}

/* Gold accent labels stay legible on dark backgrounds */
.site-footer .eyebrow,
.dark-section .eyebrow,
.section-dark .eyebrow,
.bg-dark .eyebrow,
.cta-dark .eyebrow,
.navy-section .eyebrow{
  color:#f2b52a !important;
}

/* Header nav active/hover contrast */
.site-header nav a{
  color:#ffffff !important;
  font-weight:700;
}
.site-header nav a:hover,
.site-header nav a:focus-visible,
.site-header nav a[aria-current="page"]{
  color:#f2b52a !important;
}

/* Mobile menu contrast */
@media(max-width:900px){
  .site-header nav,
  .site-header .nav-menu,
  .site-header .mobile-menu{
    background:#081d2b !important;
  }
  .site-header nav a,
  .site-header .nav-menu a,
  .site-header .mobile-menu a{
    color:#ffffff !important;
  }
}


/* =======================================================
   V2.3 — real implementation of approved mockup
   ======================================================= */

:root{
  --navy:#071d2d;
  --navy-soft:#0c2d42;
  --gold:#f0ad1d;
  --gold-dark:#d3920a;
  --ink:#10202d;
  --muted:#607181;
  --surface:#fbfcfd;
  --warm:#f7f1e6;
  --line:rgba(16,32,45,.10);
}

/* Header */
.site-header{
  background:var(--navy) !important;
  min-height:70px;
}
.site-header .container,
.site-header .header-inner{
  min-height:70px !important;
}
.site-header nav{
  gap:30px;
}
.site-header nav a{
  color:#fff !important;
  font-size:.97rem;
  font-weight:700;
}
.site-header nav a:hover,
.site-header nav a:focus-visible,
.site-header nav a[aria-current="page"]{
  color:var(--gold) !important;
}
.site-header a[href^="tel:"]{
  background:var(--gold) !important;
  color:var(--navy) !important;
  border:none !important;
  box-shadow:none !important;
}

/* Stronger logo contrast */
.site-header .logo img,
.site-header img[src*="logo"]{
  filter:none !important;
}
.site-header .logo,
.site-header .logo-link,
.site-header .brand,
.site-header .site-branding{
  opacity:1 !important;
}
.site-header svg text,
.site-header svg .brand-text{
  fill:#fff !important;
}
.site-header svg .brand-accent,
.site-header svg .accent{
  fill:var(--gold) !important;
}

/* Override oversized global h1 from earlier versions */
body .service-layout h1,
body .page-hero h1,
body .hero h1{
  font-size:clamp(2.8rem,4.3vw,4.55rem) !important;
  line-height:1.02 !important;
  letter-spacing:-.045em !important;
  max-width:780px !important;
  margin:10px 0 18px !important;
}

/* Mockup service hero */
.service-layout{
  background:linear-gradient(105deg,var(--surface) 0%,var(--surface) 58%,var(--warm) 100%) !important;
}
.service-hero{
  padding:18px 0 58px;
}
.service-breadcrumbs{
  margin-bottom:28px;
}
.service-breadcrumbs .breadcrumbs{
  margin:0;
  padding:0;
  font-size:.9rem;
}
.service-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);
  gap:64px;
  align-items:center;
}
.service-hero-copy .eyebrow{
  margin-bottom:12px;
}
.service-intro{
  max-width:720px;
  margin-bottom:24px;
}
.service-intro p{
  color:var(--muted);
  font-size:1.08rem;
  line-height:1.65;
  margin:0 0 6px;
}
.service-benefits{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin:26px 0 26px;
}
.benefit-pill{
  display:flex;
  align-items:center;
  gap:10px;
  background:rgba(255,255,255,.8);
  border:1px solid var(--line);
  border-radius:12px;
  padding:12px 16px;
  min-height:54px;
}
.benefit-icon{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:50%;
  background:var(--gold);
  color:var(--navy);
  font-weight:900;
}
.service-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}
.service-actions .btn{
  min-width:190px;
  justify-content:center;
}
.service-phone{
  font-size:1.05rem;
}

/* Dark prep card: force readable content */
.prep-card{
  background:linear-gradient(145deg,#082033,#0a3048) !important;
  border-radius:24px;
  padding:36px 38px;
  box-shadow:0 18px 44px rgba(4,20,31,.16);
}
.prep-card .eyebrow{
  color:var(--gold) !important;
  margin-bottom:16px;
}
.prep-card h2{
  color:#fff !important;
  font-size:clamp(1.7rem,2.5vw,2.3rem) !important;
  line-height:1.14;
  margin:0 0 20px;
}
.prep-card ul{
  list-style:none;
  padding:0;
  margin:0;
}
.prep-card li{
  position:relative;
  color:#fff !important;
  padding:8px 0 8px 34px;
  line-height:1.4;
}
.prep-card li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:7px;
  width:22px;
  height:22px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--gold);
  color:var(--navy);
  font-size:.78rem;
  font-weight:900;
}

/* Summary section */
.service-summary{
  padding:0 0 56px;
}
.service-summary-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.summary-card{
  background:rgba(255,255,255,.88);
  border:1px solid var(--line);
  border-radius:18px;
  padding:30px;
  box-shadow:0 12px 34px rgba(16,32,45,.06);
}
.summary-card h2{
  font-size:1.75rem !important;
  margin:0 0 18px !important;
}
.summary-card p,
.summary-card li{
  font-size:1rem;
  line-height:1.6;
}
.summary-card .check-list{
  columns:2;
  column-gap:26px;
}
.summary-card .check-list li{
  break-inside:avoid;
}
.why-list{
  display:grid;
  gap:16px;
}
.why-list > div{
  display:grid;
  grid-template-columns:38px 1fr;
  gap:12px;
  align-items:start;
}
.why-list span{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#f1f3f4;
  color:var(--navy);
  font-weight:900;
}
.why-list p{margin:0}

/* Preserved lower content normalized */
.service-original-content{
  background:#fff;
}
.service-original-content .section,
.service-original-content section{
  padding-top:56px;
  padding-bottom:56px;
}
.service-original-content h2{
  font-size:clamp(1.9rem,3vw,2.8rem) !important;
  line-height:1.08 !important;
}
.service-original-content h3{
  font-size:1.3rem !important;
}

/* Footer */
.site-footer{
  background:var(--navy) !important;
}
.site-footer,
.site-footer p,
.site-footer li,
.site-footer a{
  color:#fff !important;
}
.site-footer strong,
.site-footer .footer-grid > div > strong{
  color:var(--gold) !important;
}
.site-footer a:hover{color:var(--gold) !important}

/* General fix: never dark text on dark cards */
[style*="background:#0"],
[style*="background: #0"],
[style*="background-color:#0"],
[style*="background-color: #0"]{
  color:#fff;
}
[style*="background:#0"] h1,
[style*="background:#0"] h2,
[style*="background:#0"] h3,
[style*="background: #0"] h1,
[style*="background: #0"] h2,
[style*="background: #0"] h3{
  color:#fff !important;
}

@media(max-width:980px){
  .service-hero-grid{
    grid-template-columns:1fr;
    gap:30px;
  }
  .prep-card{
    max-width:none;
  }
  .service-summary-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:700px){
  body .service-layout h1{
    font-size:clamp(2.45rem,11vw,3.6rem) !important;
  }
  .service-hero{
    padding-bottom:40px;
  }
  .prep-card{
    padding:28px 24px;
    border-radius:18px;
  }
  .service-benefits{
    display:grid;
    grid-template-columns:1fr;
  }
  .benefit-pill{
    width:100%;
  }
  .service-actions{
    display:grid;
  }
  .service-actions .btn{
    width:100%;
  }
  .summary-card .check-list{
    columns:1;
  }
}


/* =========================================================
   V2.4 — visual audit: contrast, spacing, logo readability
   ========================================================= */

:root{
  --dn-navy:#071d2d;
  --dn-navy-2:#0b2d43;
  --dn-gold:#f3b21f;
  --dn-gold-deep:#cf8d00;
  --dn-white:#ffffff;
  --dn-ink:#10202d;
  --dn-muted:#526777;
  --dn-soft:#eef2f4;
  --dn-border:rgba(16,32,45,.12);
}

/* ---------- HEADER / LOGO ---------- */
.site-header{
  background:var(--dn-navy) !important;
}
.site-header .logo,
.site-header .logo-link,
.site-header .site-branding,
.site-header .brand{
  opacity:1 !important;
  filter:none !important;
}
.site-header .logo img,
.site-header img[src*="logo.svg"]{
  opacity:1 !important;
  filter:none !important;
}
.site-header .logo-text,
.site-header .brand-name,
.site-header .site-title,
.site-header .wordmark{
  color:#fff !important;
  text-shadow:none !important;
  opacity:1 !important;
}
.site-header .logo-text .accent,
.site-header .brand-name .accent,
.site-header .site-title .accent,
.site-header .wordmark .accent{
  color:var(--dn-gold) !important;
}
.site-header svg text,
.site-header svg .brand-text{
  fill:#fff !important;
}
.site-header svg .brand-accent,
.site-header svg .accent{
  fill:var(--dn-gold) !important;
}

/* ---------- DARK SURFACES ---------- */
.site-header,
.site-footer,
.prep-card,
.dark-section,
.section-dark,
.bg-dark,
.cta-dark,
.navy-section,
[class*="dark-card"],
[class*="navy-card"]{
  color:#fff !important;
}

.site-header *,
.site-footer *,
.prep-card *,
.dark-section *,
.section-dark *,
.bg-dark *,
.cta-dark *,
.navy-section *,
[class*="dark-card"] *,
[class*="navy-card"] *{
  --local-text:#fff;
}

/* headings & regular copy */
.site-footer h1,.site-footer h2,.site-footer h3,.site-footer h4,
.prep-card h1,.prep-card h2,.prep-card h3,.prep-card h4,
.dark-section h1,.dark-section h2,.dark-section h3,.dark-section h4,
.section-dark h1,.section-dark h2,.section-dark h3,.section-dark h4,
.bg-dark h1,.bg-dark h2,.bg-dark h3,.bg-dark h4,
.cta-dark h1,.cta-dark h2,.cta-dark h3,.cta-dark h4,
.navy-section h1,.navy-section h2,.navy-section h3,.navy-section h4{
  color:#fff !important;
}

.site-footer p,.site-footer li,.site-footer span,
.prep-card p,.prep-card li,.prep-card span,
.dark-section p,.dark-section li,.dark-section span,
.section-dark p,.section-dark li,.section-dark span,
.bg-dark p,.bg-dark li,.bg-dark span,
.cta-dark p,.cta-dark li,.cta-dark span,
.navy-section p,.navy-section li,.navy-section span{
  color:rgba(255,255,255,.94) !important;
}

.site-footer a,
.prep-card a,
.dark-section a,
.section-dark a,
.bg-dark a,
.cta-dark a,
.navy-section a{
  color:#fff !important;
}
.site-footer a:hover,
.prep-card a:hover,
.dark-section a:hover,
.section-dark a:hover,
.bg-dark a:hover,
.cta-dark a:hover,
.navy-section a:hover{
  color:var(--dn-gold) !important;
}

.site-footer .eyebrow,
.prep-card .eyebrow,
.dark-section .eyebrow,
.section-dark .eyebrow,
.bg-dark .eyebrow,
.cta-dark .eyebrow,
.navy-section .eyebrow{
  color:var(--dn-gold) !important;
}

/* ---------- LIGHT SURFACES ---------- */
main,
.section,
.service-hero,
.service-summary,
.summary-card,
.card,
.service-card,
.feature-card,
.contact-card,
.faq-item,
.related-service-card{
  color:var(--dn-ink);
}
main p,
.section p,
.service-hero p,
.service-summary p,
.summary-card p,
.card p,
.service-card p,
.feature-card p,
.contact-card p,
.faq-item p,
.related-service-card p{
  color:var(--dn-ink);
}
.lead,
.service-intro p,
.page-hero p,
.hero p,
.contact-lead,
.muted,
.text-muted{
  color:var(--dn-muted) !important;
}

/* make pale text impossible on white cards */
.summary-card *,
.card *,
.service-card *,
.feature-card *,
.contact-card *,
.faq-item *,
.related-service-card *{
  text-shadow:none !important;
}
.summary-card h2,.summary-card h3,
.card h2,.card h3,
.service-card h2,.service-card h3,
.feature-card h2,.feature-card h3,
.contact-card h2,.contact-card h3,
.faq-item h2,.faq-item h3,
.related-service-card h2,.related-service-card h3{
  color:var(--dn-ink) !important;
}

/* ---------- SPACING ---------- */
.section{
  padding-top:64px !important;
  padding-bottom:64px !important;
}
.service-hero{
  padding-top:22px !important;
  padding-bottom:56px !important;
}
.service-hero-grid{
  gap:52px !important;
}
.service-hero-copy > * + *{
  margin-top:0;
}
.service-intro{
  margin-top:14px !important;
  margin-bottom:24px !important;
}
.service-benefits{
  margin-top:24px !important;
  margin-bottom:24px !important;
  gap:12px !important;
}
.benefit-pill{
  padding:12px 15px !important;
}
.service-actions{
  margin-top:4px;
  gap:12px !important;
}
.prep-card{
  padding:32px 34px !important;
}
.prep-card h2{
  margin-bottom:18px !important;
}
.prep-card li{
  padding-top:7px !important;
  padding-bottom:7px !important;
}
.service-summary{
  padding-bottom:54px !important;
}
.service-summary-grid{
  gap:20px !important;
}
.summary-card{
  padding:28px !important;
}
.summary-card h2{
  margin-bottom:16px !important;
}
.summary-card p{
  margin-bottom:14px;
}
.why-list{
  gap:14px !important;
}
.site-footer{
  padding-top:44px !important;
}
.site-footer .footer-grid{
  gap:38px !important;
}
.site-footer p{
  line-height:1.55;
}

/* ---------- BUTTON CONTRAST ---------- */
.btn-primary,
.service-phone,
.site-header a[href^="tel:"]{
  background:var(--dn-gold) !important;
  color:var(--dn-navy) !important;
  border-color:var(--dn-gold) !important;
}
.btn-primary:hover,
.service-phone:hover,
.site-header a[href^="tel:"]:hover{
  background:#ffc13d !important;
  color:var(--dn-navy) !important;
}
.btn-secondary{
  background:#fff !important;
  color:var(--dn-navy) !important;
  border:1px solid rgba(7,29,45,.22) !important;
}

/* ---------- ACCESSIBILITY ---------- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible{
  outline:3px solid var(--dn-gold) !important;
  outline-offset:3px;
}

/* ---------- MOBILE ---------- */
@media(max-width:980px){
  .service-hero-grid{
    gap:28px !important;
  }
  .prep-card{
    padding:28px !important;
  }
}
@media(max-width:700px){
  .section{
    padding-top:48px !important;
    padding-bottom:48px !important;
  }
  .summary-card{
    padding:22px !important;
  }
  .site-footer .footer-grid{
    gap:28px !important;
  }
}


/* =========================================================
   V2.5 — targeted fixes from live screenshots
   ========================================================= */

/* 1. Contact / prep card: force readable text on navy */
.contact-page .prep-card,
.contact-section .prep-card,
.prep-card{
  background:linear-gradient(145deg,#082033 0%,#0b3048 100%) !important;
  color:#fff !important;
}
.contact-page .prep-card h1,
.contact-page .prep-card h2,
.contact-page .prep-card h3,
.contact-page .prep-card p,
.contact-page .prep-card li,
.contact-page .prep-card span,
.contact-section .prep-card h1,
.contact-section .prep-card h2,
.contact-section .prep-card h3,
.contact-section .prep-card p,
.contact-section .prep-card li,
.contact-section .prep-card span,
.prep-card h1,
.prep-card h2,
.prep-card h3,
.prep-card p,
.prep-card li,
.prep-card span{
  color:#fff !important;
}
.contact-page .prep-card .eyebrow,
.contact-section .prep-card .eyebrow,
.prep-card .eyebrow{
  color:#f3b21f !important;
}

/* 2. Area section: light background must use dark readable copy */
.area-section,
.service-area,
#obszar{
  background:
    linear-gradient(105deg,#fbfcfd 0%,#fbfcfd 62%,#f7f1e6 100%) !important;
  color:#10202d !important;
}
.area-section h1,
.area-section h2,
.area-section h3,
.area-section p,
.area-section li,
.area-section span,
.service-area h1,
.service-area h2,
.service-area h3,
.service-area p,
.service-area li,
.service-area span,
#obszar h1,
#obszar h2,
#obszar h3,
#obszar p,
#obszar li,
#obszar span{
  color:#10202d !important;
}
.area-section .eyebrow,
.service-area .eyebrow,
#obszar .eyebrow{
  color:#cf8d00 !important;
}
.area-section .muted,
.service-area .muted,
#obszar .muted{
  color:#526777 !important;
}

/* 3. Area side card: visible copy and clear card surface */
.area-section .card,
.area-section .area-card,
.service-area .card,
.service-area .area-card,
#obszar .card,
#obszar .area-card{
  background:#fff !important;
  color:#10202d !important;
  border:1px solid rgba(16,32,45,.10) !important;
  box-shadow:0 14px 36px rgba(16,32,45,.08) !important;
}
.area-section .card *,
.area-section .area-card *,
.service-area .card *,
.service-area .area-card *,
#obszar .card *,
#obszar .area-card *{
  color:#10202d !important;
}
.area-section .card .eyebrow,
.area-section .area-card .eyebrow,
.service-area .card .eyebrow,
.service-area .area-card .eyebrow,
#obszar .card .eyebrow,
#obszar .area-card .eyebrow{
  color:#cf8d00 !important;
}

/* 4. Service summary: use light section instead of navy background */
.service-summary{
  background:
    linear-gradient(105deg,#f7f9fa 0%,#f7f9fa 65%,#f5efe4 100%) !important;
  padding-top:34px !important;
  padding-bottom:56px !important;
}
.service-summary-grid{
  gap:22px !important;
}
.summary-card{
  background:#fff !important;
  color:#10202d !important;
  border:1px solid rgba(16,32,45,.10) !important;
  box-shadow:0 12px 30px rgba(16,32,45,.07) !important;
  border-radius:18px !important;
  min-height:auto !important;
}
.summary-card h2,
.summary-card h3,
.summary-card p,
.summary-card li,
.summary-card strong,
.summary-card span{
  color:#10202d !important;
}
.summary-card .check-list li::marker{
  color:#f0ad1d !important;
}

/* Keep the "why" list compact and aligned */
.why-list > div{
  grid-template-columns:40px 1fr !important;
  gap:14px !important;
  align-items:start !important;
}
.why-list > div + div{
  margin-top:4px;
}
.why-list span{
  background:#f1f3f5 !important;
  color:#071d2d !important;
}

/* 5. Prevent earlier generic dark-section rules from leaking into light sections */
.service-summary *,
.area-section *,
.service-area *,
#obszar *{
  text-shadow:none !important;
}

/* 6. Contact page main hero/right card spacing */
.contact-page .service-hero-grid,
.contact-page .contact-hero-grid{
  align-items:center !important;
}
.contact-page .prep-card,
.contact-section .prep-card{
  min-height:0 !important;
}

/* mobile */
@media(max-width:900px){
  .service-summary{
    padding-top:26px !important;
  }
  .summary-card{
    padding:24px !important;
  }
}

/* V2.7 final cascade lock — keep surface-specific contrast and spacing. */
main .eyebrow{color:#865900 !important}
.site-footer .eyebrow,.prep-card .eyebrow,.hero-panel .eyebrow,.section-dark .eyebrow{color:#f3bd43 !important}
.hero{padding-top:84px !important;padding-bottom:88px !important}
.hero-grid{gap:72px !important}
.service-hero{padding-top:34px !important;padding-bottom:72px !important}
.service-hero-grid{gap:64px !important}
.card,.summary-card,.contact-form,.area-card{padding:34px !important}
.card-featured,.card.card-featured{background:linear-gradient(145deg,#071d2d,#0b3048) !important;color:#fff !important}
.card-featured h2,.card-featured h3,.card-featured strong{color:#fff !important}
.card-featured p{color:#e2edf2 !important}
.card-featured a{color:#ffd16b !important}
#obszar.area-section{padding-top:84px !important;padding-bottom:84px !important}
#obszar .split,.contact-section .split{gap:72px !important}
#obszar h2,#obszar h3{color:#10202d !important}
#obszar .lead-light{color:#425968 !important}
#obszar .area-tags span{background:#fff !important;border-color:#cbd7dd !important;color:#17384d !important;font-weight:700}
#obszar .area-card .text-link{color:#0b405f !important}
.contact-page .contact-prep-card{min-height:340px !important;padding:42px !important;color:#fff !important}
.contact-page .contact-prep-card .panel-kicker{color:#ffd16b !important}
.contact-page .contact-prep-card strong{color:#fff !important}
.contact-page .contact-prep-card li{color:#f4f8fa !important}
.contact-section{padding-top:84px !important;padding-bottom:84px !important}
.contact-form label,.contact-form .consent,.contact-form .form-help{color:#263c4b !important}
.contact-form input,.contact-form textarea{color:#10202d !important;background:#fff !important;border-color:#aebfc8 !important}
@media(max-width:980px){
  .hero-grid,.service-hero-grid,#obszar .split,.contact-section .split{gap:36px !important}
  .contact-page .contact-prep-card{min-height:0 !important}
}
@media(max-width:700px){
  .hero{padding-top:54px !important;padding-bottom:60px !important}
  .service-hero{padding-top:26px !important;padding-bottom:52px !important}
  .card,.summary-card,.contact-form,.area-card,.contact-page .contact-prep-card{padding:26px !important}
  #obszar.area-section,.contact-section{padding-top:58px !important;padding-bottom:58px !important}
}

/* V2.8 — corrections for the services overview screenshots. */
.services-page .service-hero h1{
  max-width:820px !important;
  margin:12px 0 22px !important;
  font-size:clamp(2.7rem,4.15vw,4.15rem) !important;
  line-height:1.04 !important;
  letter-spacing:-.045em !important;
}
.services-page .service-hero .service-summary{
  align-self:center;
  padding:40px !important;
  border-radius:26px;
  background:linear-gradient(145deg,#071d2d,#0b3048) !important;
  color:#fff !important;
  box-shadow:0 18px 44px rgba(4,20,31,.16) !important;
}
.services-page .service-hero .service-summary .panel-kicker{
  color:#ffd16b !important;
}
.services-page .service-hero .service-summary strong{
  display:block;
  margin:12px 0 18px;
  color:#fff !important;
  font-size:2rem;
  line-height:1.15;
}
.services-page .service-hero .service-summary li{
  color:#eef5f8 !important;
}
.services-page .section-dark .area-card,
.services-page .section-dark .area-card *{
  color:#10202d !important;
}
.services-page .section-dark .area-card p{
  color:#425968 !important;
}
.services-page .section-dark .area-card .eyebrow{
  color:#865900 !important;
}
.services-page .section-dark .area-card .text-link{
  color:#0b405f !important;
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:4px;
}
@media(max-width:700px){
  .services-page .service-hero h1{
    font-size:clamp(2.35rem,10.5vw,3.25rem) !important;
  }
  .services-page .service-hero .service-summary{
    padding:28px !important;
  }
}

/* V3.0 final cascade lock. */
.service-layout .service-hero{padding:24px 0 54px !important;background:transparent !important}
.service-layout .service-hero-grid{grid-template-columns:minmax(0,1.45fr) minmax(330px,.65fr) !important;gap:76px !important;align-items:center !important}
body .service-layout .service-hero h1{max-width:820px !important;margin:10px 0 16px !important;font-size:clamp(2.75rem,3.9vw,4.05rem) !important;line-height:1.04 !important}
.service-layout .service-benefits{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:16px !important;margin:24px 0 22px !important}
.service-layout .benefit-pill{min-height:64px;padding:12px 16px !important;background:rgba(255,255,255,.72) !important;border-color:rgba(16,32,45,.08) !important}
.service-layout .service-actions{gap:16px !important}
.service-layout .service-actions .btn{min-width:200px;min-height:52px;border-radius:9px !important}
.service-layout .prep-card{padding:38px 40px !important;border-radius:22px !important;background:linear-gradient(145deg,#061b2d,#062b45) !important}
.service-layout .service-summary{padding:0 0 62px !important;background:transparent !important}
.service-layout .service-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px !important;padding:30px 34px !important;background:rgba(255,255,255,.94);border:1px solid rgba(16,32,45,.08);border-radius:18px;box-shadow:0 16px 38px rgba(16,32,45,.06)}
.service-layout .service-summary-grid.has-photo{grid-template-columns:1.05fr 1.05fr .95fr}
.service-layout .summary-card{padding:4px 8px !important;background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important}
.service-layout .summary-card h2{padding-bottom:14px;margin-bottom:16px !important;font-size:1.7rem !important}
.service-layout .summary-card .check-list{columns:2;column-gap:24px;margin-top:20px}
.service-layout .service-photo{min-width:0;margin:0;align-self:stretch;border-radius:15px;overflow:hidden;background:#eef1f3}
.service-layout .service-photo img{display:block;width:100%;height:100%;min-height:250px;object-fit:cover}
@media(max-width:1060px){
  .service-layout .service-hero-grid{grid-template-columns:1fr !important;gap:32px !important}
  .service-layout .service-summary-grid.has-photo{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-layout .service-photo{grid-column:1/-1;max-height:360px}
}
@media(max-width:760px){
  body .service-layout .service-hero h1{font-size:clamp(2.35rem,10vw,3.2rem) !important}
  .service-layout .service-benefits,.service-layout .service-summary-grid,.service-layout .service-summary-grid.has-photo{grid-template-columns:1fr !important}
  .service-layout .service-summary-grid{padding:24px !important}
  .service-layout .service-photo{grid-column:auto}
}

/* =========================================================
   V4.0 — complete modern site system based on the approved mockup
   ========================================================= */
:root{
  --modern-navy:#061c2e;
  --modern-navy-2:#082b45;
  --modern-gold:#f3ad16;
  --modern-gold-dark:#9a6500;
  --modern-ink:#10202d;
  --modern-muted:#4c6271;
  --modern-ivory:#fbfaf7;
  --modern-line:#dce3e7;
  --modern-radius:18px;
}
body{background:var(--modern-ivory);color:var(--modern-ink)}
.container{width:min(calc(100% - 40px),1220px)}

/* Header */
.site-header{background:rgba(6,28,46,.98) !important;border-bottom:1px solid rgba(255,255,255,.1) !important;backdrop-filter:blur(12px)}
.header-inner{min-height:68px !important;gap:26px}
.site-header .brand-logo{width:220px;height:auto;max-height:48px}
.site-header .main-nav{gap:24px}
.site-header .main-nav a{color:#fff !important;font-size:.92rem;font-weight:750}
.site-header .main-nav a:hover,.site-header .main-nav a[aria-current="page"]{color:#ffc042 !important}
.site-header .header-cta{min-height:42px !important;padding-inline:19px !important;border-radius:9px !important;background:var(--modern-gold) !important;color:var(--modern-navy) !important}

/* Homepage hero */
body:not(.legal-page) > main > .hero{padding:52px 0 46px !important;background:linear-gradient(112deg,#fff 0%,#fff 54%,#fff5e3 100%) !important}
body:not(.legal-page) > main > .hero .hero-grid{grid-template-columns:minmax(0,.92fr) minmax(480px,1.08fr);gap:56px !important;align-items:center}
body:not(.legal-page) > main > .hero h1{max-width:650px !important;margin:10px 0 18px !important;font-size:clamp(2.8rem,4.45vw,4.65rem) !important;line-height:1.01 !important;letter-spacing:-.05em !important}
.hero-lead{max-width:650px !important;color:var(--modern-muted) !important;font-size:1.08rem !important;line-height:1.58}
.hero-actions{margin:26px 0 24px !important;gap:14px !important}
.hero-actions .btn{min-height:50px;border-radius:9px !important;padding-inline:24px}
.hero-actions .btn:not(.btn-secondary){background:var(--modern-gold) !important;color:var(--modern-navy) !important;border-color:var(--modern-gold) !important}
.hero-actions .btn-secondary{background:#fff !important;color:var(--modern-navy) !important;border-color:#9fb0bb !important}
.trust-row{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px !important;color:#263d4d !important;font-size:.86rem !important}
.trust-row span{padding:10px 0;font-weight:750}
.hero-visual{min-width:0}
.hero-illustration-wrap{margin:0 !important;padding:0 !important;border:0 !important;border-radius:18px !important;overflow:hidden;box-shadow:0 22px 52px rgba(6,28,46,.13) !important}
.hero-illustration{width:100%;height:430px !important;object-fit:cover;object-position:center}
.hero-panel-main{position:absolute;right:-16px;bottom:22px;width:min(330px,72%);padding:24px !important;border-radius:15px !important;background:linear-gradient(145deg,#061c2e,#083451) !important;box-shadow:0 18px 38px rgba(4,20,31,.25) !important}
.hero-panel-main strong{font-size:1.3rem !important;margin:8px 0 !important}
.hero-panel-main p{font-size:.9rem;color:#e8f0f4 !important}
.hero-visual .mini-grid{display:none !important}
.local-strip{display:none}

/* Shared sections and cards */
.section{padding:68px 0 !important}
.section-heading{margin-bottom:30px !important;gap:44px}
.section-heading h2{font-size:clamp(2rem,3.1vw,3rem) !important}
main .eyebrow{color:var(--modern-gold-dark) !important;letter-spacing:.12em}
.cards{gap:16px !important}
.card{padding:26px !important;border-radius:15px !important;border-color:#d8e0e4 !important;box-shadow:0 8px 24px rgba(16,32,45,.035)}
.card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(16,32,45,.09)}
.card h3{font-size:1.18rem !important;letter-spacing:-.025em}
.service-icon{margin-bottom:18px !important;background:#eef2f4 !important;color:var(--modern-navy) !important;border-radius:11px !important}
.card-featured{background:linear-gradient(145deg,var(--modern-navy),var(--modern-navy-2)) !important}
.card-featured .service-icon{background:rgba(255,255,255,.12) !important;color:#fff !important}

/* Local coverage */
#obszar.area-section{padding:66px 0 !important;background:linear-gradient(110deg,#fff8ec,#f8fafb) !important}
#obszar .split{grid-template-columns:1.15fr .85fr;gap:54px !important}
#obszar .area-tags span{border-radius:8px !important;padding:9px 13px !important}
#obszar .area-card{padding:30px !important;border-radius:15px !important}

/* Process, benefits and FAQ */
.steps{gap:14px !important}
.steps li{padding:22px !important;border-radius:14px !important}
.steps span{background:var(--modern-gold) !important;color:var(--modern-navy) !important}
.section-benefits,.faq-layout{background:#fff}
.benefit-list article{padding:18px 0 !important}
.faq details{padding:18px 0 !important}

/* Contact conversion blocks */
.contact-cta-section{padding:48px 0 !important;background:#fff !important}
.contact-cta{padding:30px 34px !important;border-radius:16px;background:linear-gradient(120deg,var(--modern-navy),var(--modern-navy-2)) !important;color:#fff !important}
.contact-cta h2,.contact-cta p,.contact-cta a{color:#fff !important}
.contact-cta .eyebrow{color:#ffc042 !important}
.contact-cta .btn-primary{color:var(--modern-navy) !important}
.contact-cta .contact-email-link{color:#fff !important}

/* Contact form */
.contact-page .service-hero{background:linear-gradient(110deg,#fff,#fff5e3) !important}
.contact-form{border-radius:16px !important;box-shadow:0 14px 36px rgba(16,32,45,.07) !important}
.contact-form input,.contact-form textarea{min-height:48px;border-radius:9px !important}
.contact-form textarea{min-height:150px}
.form-turnstile{overflow:hidden}

/* Footer */
.site-footer{padding:38px 0 0 !important;background:linear-gradient(135deg,#061a2a,#062b45) !important}
.site-footer .footer-grid{grid-template-columns:1.35fr 1fr 1.35fr 1fr !important;gap:38px !important}
.site-footer strong{color:#ffc042 !important}
.site-footer p,.site-footer a{font-size:.9rem;line-height:1.48}
.footer-credit{margin-top:28px;padding:18px 0;border-top:1px solid rgba(255,255,255,.12)}

@media(max-width:1040px){
  body:not(.legal-page) > main > .hero .hero-grid{grid-template-columns:1fr;gap:36px !important}
  .hero-illustration{height:420px !important}
  .site-footer .footer-grid{grid-template-columns:repeat(2,1fr) !important}
}
@media(max-width:760px){
  .container{width:min(calc(100% - 28px),1220px)}
  .site-header .main-nav{background:var(--modern-navy) !important}
  .site-header .menu-toggle{color:#fff;border-color:rgba(255,255,255,.35)}
  body:not(.legal-page) > main > .hero{padding:38px 0 42px !important}
  body:not(.legal-page) > main > .hero h1{font-size:clamp(2.45rem,11.5vw,3.45rem) !important}
  .trust-row{grid-template-columns:1fr !important;gap:2px !important}
  .hero-illustration{height:340px !important}
  .hero-panel-main{position:relative;right:auto;bottom:auto;width:100%;margin-top:12px}
  .section{padding:52px 0 !important}
  #obszar .split{grid-template-columns:1fr !important;gap:30px !important}
  .contact-cta{padding:26px !important}
  .site-footer .footer-grid{grid-template-columns:1fr !important}
}
