/* Source: self-hosted-original-google-fonts-latin-and-latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/home-63/cormorant-garamond-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/home-63/cormorant-garamond-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/home-63/cormorant-garamond-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/home-63/cormorant-garamond-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/home-63/cormorant-garamond-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/home-63/cormorant-garamond-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/home-63/cormorant-garamond-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/home-63/cormorant-garamond-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/home-63/source-sans-3-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/home-63/source-sans-3-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/home-63/source-sans-3-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/home-63/source-sans-3-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/home-63/source-sans-3-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/home-63/source-sans-3-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/home-63/source-sans-3-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/home-63/source-sans-3-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Source: assets/css/style.css */
/* =========================================================
   TERRA LEVIS — Design System 2026
   Mobile-first · WCAG 2.2 AA · senior-friendly (duże fonty)
   Paleta marki: ciemna zieleń + złoto + kremowa biel
   ========================================================= */

:root{
  --green-deep:#1e3a2c;
  --green:#2f5640;
  --green-soft:#406e51;
  --cream:#f7f4eb;
  --cream-2:#efe9da;
  --gold:#b08d57;
  --gold-soft:#cdb088;
  --gold-dark:#9c7a48; --gold-text:#82643a;
  --ink:#23282a;
  --ink-soft:#4a565a;
  --white:#ffffff;
  --line:#e3dccb;
  --ok:#3f7d57;
  --shadow:0 10px 40px rgba(30,57,67,.12);
  --shadow-lg:0 24px 70px rgba(30,57,67,.20);
  --radius:18px;
  --radius-sm:12px;
  --fs-base:18px;
  --wrap:1180px;
  /* spacing scale */
  --sp-xs:.25rem; --sp-sm:.5rem; --sp-md:1rem; --sp-lg:1.5rem; --sp-xl:2rem; --sp-2xl:3rem; --sp-3xl:4.5rem;
}
@media(min-width:760px){ :root{ --fs-base:19px; } }

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:'Source Sans 3',-apple-system,'Segoe UI',system-ui,sans-serif;
  font-size:var(--fs-base);line-height:1.7;color:var(--ink);
  background:var(--cream);-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
h1,h2,h3,h4{font-family:'Cormorant Garamond','Times New Roman',serif;font-weight:600;line-height:1.18;color:var(--green-deep)}
h1{font-size:clamp(2rem,5vw,3.3rem)}
h2{font-size:clamp(1.7rem,4vw,2.5rem)}
h3{font-size:clamp(1.3rem,2.5vw,1.7rem)}
a{color:var(--green-soft);text-decoration:none;transition:color .2s}
a:hover{color:var(--gold-dark)}
img{max-width:100%;height:auto;display:block}
ul,ol{padding-left:1.2em}
.container{max-width:var(--wrap);margin:0 auto;padding:0 22px}
.accent{color:var(--gold)}
.muted{color:var(--ink-soft)}
.center{text-align:center}
:focus-visible{outline:3px solid var(--green-soft);outline-offset:2px;border-radius:4px}

/* Skip link */
.skip{position:absolute;left:-999px;top:0;background:var(--green-deep);color:#fff;padding:12px 18px;z-index:2000;border-radius:0 0 8px 0}
.skip:focus{left:0;color:#fff}

/* ===== TOP BAR ===== */
.topbar{background:var(--green-deep);color:var(--cream);font-size:1rem}
.topbar .container{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:9px 22px;flex-wrap:wrap}
.topbar .left{display:flex;align-items:center;gap:10px;opacity:.92}
.topbar .phones{display:flex;gap:18px;flex-wrap:wrap;align-items:center}
.topbar .phones a{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:1.05rem;color:#fff}
.topbar .phones a:hover{color:var(--gold-soft)}

/* ===== HEADER / NAV ===== */
header.site{position:sticky;top:0;z-index:1000;background:var(--cream);border-bottom:1px solid var(--line);box-shadow:0 2px 14px rgba(30,57,67,.06)}
header.site .container{display:flex;align-items:center;justify-content:space-between;padding:12px 22px;gap:18px}
.logo{display:flex;align-items:center;gap:12px}
.logo img{height:50px;width:auto}
.logo .name{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.45rem;color:var(--green-deep);letter-spacing:.3px;line-height:1.05}
.logo .name small{display:block;font-family:'Source Sans 3',sans-serif;font-size:.66rem;letter-spacing:2px;text-transform:uppercase;color:var(--gold);font-weight:700}
nav.main{display:flex;align-items:center;gap:2px}
nav.main a{padding:10px 13px;border-radius:10px;font-weight:600;font-size:1rem;color:var(--ink-soft)}
nav.main a:hover,nav.main a.active{background:var(--cream-2);color:var(--green-deep)}
nav.main a.cta{background:var(--gold);color:#fff;margin-left:6px;box-shadow:0 6px 18px rgba(176,141,87,.4)}
nav.main a.cta:hover{background:var(--gold-dark);color:#fff}
.burger{display:none;background:none;border:none;font-size:1.7rem;color:var(--green-deep);cursor:pointer;padding:6px;line-height:1}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;gap:11px;padding:16px 28px;border-radius:14px;font-weight:700;font-size:1.1rem;cursor:pointer;border:none;transition:.22s;text-align:center;line-height:1.2}
.btn-gold{background:var(--gold);color:#fff;box-shadow:0 10px 28px rgba(176,141,87,.42)}
.btn-gold:hover{background:var(--gold-dark);color:#fff;transform:translateY(-2px)}
.btn-ghost{background:rgba(247,244,235,.12);color:#fff;border:1.5px solid rgba(247,244,235,.4)}
.btn-ghost:hover{background:rgba(247,244,235,.22);color:#fff}
.btn-green{background:var(--green-deep);color:#fff}
.btn-green:hover{background:var(--green);color:#fff;transform:translateY(-2px)}
.btn-white{background:#fff;color:var(--green-deep)}
.btn-white:hover{background:var(--cream);transform:translateY(-2px)}
.btn-outline{background:transparent;border:2px solid var(--green-soft);color:var(--green-deep)}
.btn-outline:hover{background:var(--green-deep);color:#fff}
.btn-line{background:transparent;border:2px solid rgba(255,255,255,.7);color:#fff}
.btn-line:hover{background:rgba(255,255,255,.15);color:#fff}

/* ===== BREADCRUMB ===== */
.crumbs{background:var(--cream-2);font-size:.95rem}
.crumbs .container{padding:12px 22px}
.crumbs ol{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--ink-soft)}
.crumbs li{display:flex;align-items:center;gap:8px}
.crumbs li:not(:last-child)::after{content:"›";color:var(--gold);font-weight:700}
.crumbs a{color:var(--ink-soft)}
.crumbs a:hover{color:var(--green-deep)}
.crumbs [aria-current]{color:var(--green-deep);font-weight:600}

/* ===== HERO ===== */
.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--green-deep) 0%,var(--green) 55%,var(--green-soft) 100%);color:var(--cream)}
.hero::before{content:"";position:absolute;inset:0;background-size:cover;background-position:center;opacity:.18;mix-blend-mode:luminosity}
.hero.bg1::before{background-image:url(../images/hero-karawan.jpg)}
.hero.bg2::before{background-image:url(../images/hero-2.jpg)}
.hero.bg3::before{background-image:url(../images/hero-3.jpg)}
.hero .container{position:relative;z-index:2;padding-top:56px;padding-bottom:56px}
.hero .eyebrow{display:inline-flex;align-items:center;gap:9px;background:rgba(247,244,235,.14);border:1px solid rgba(247,244,235,.28);padding:8px 16px;border-radius:50px;font-weight:600;font-size:.92rem;letter-spacing:.5px;text-transform:uppercase;margin-bottom:20px}
.hero h1{color:#fff;max-width:900px;margin-bottom:18px}
.hero h1 .accent{color:var(--gold-soft)}
.hero p.lead{font-size:clamp(1.1rem,2.2vw,1.32rem);max-width:680px;opacity:.96;margin-bottom:30px}
.hero .actions{display:flex;gap:14px;flex-wrap:wrap}
.hero .trust{display:flex;gap:28px;flex-wrap:wrap;margin-top:40px;padding-top:26px;border-top:1px solid rgba(247,244,235,.2)}
.hero .trust .item{display:flex;align-items:center;gap:12px}
.hero .trust .item .ic{font-size:1.6rem;color:var(--gold-soft);line-height:1}
.hero .trust .item b{display:block;font-size:1.1rem;color:#fff;font-family:'Cormorant Garamond',serif}
.hero .trust .item span{font-size:.9rem;opacity:.85}
/* compact hero for subpages */
.hero.sub .container{padding-top:46px;padding-bottom:46px}
.hero.sub h1{font-size:clamp(1.8rem,4.5vw,2.8rem)}

/* ===== QUICK ANSWER (AEO) ===== */
.quick{background:var(--white);border-left:5px solid var(--gold);border-radius:0 var(--radius-sm) var(--radius-sm) 0;box-shadow:var(--shadow);padding:26px 30px;margin:-36px auto 0;max-width:var(--wrap);position:relative;z-index:5}
.quick .tag{display:inline-block;font-size:.8rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold-text);font-weight:700;margin-bottom:6px}
.quick p{font-size:1.12rem;color:var(--ink);margin:0}
.quick strong{color:var(--green-deep)}

/* ===== SECTIONS ===== */
section.block{padding:64px 0}
section.block.tight{padding:44px 0}
.bg-cream{background:var(--cream)}
.bg-cream2{background:linear-gradient(180deg,var(--cream-2),var(--cream))}
.bg-white{background:var(--white)}
.section-head{max-width:780px;margin:0 auto 44px;text-align:center}
.section-head.left{margin-left:0;text-align:left}
.section-head .kicker{color:var(--gold-text);font-weight:700;letter-spacing:2px;text-transform:uppercase;font-size:.92rem;margin-bottom:12px;display:block}
.section-head h2{margin-bottom:14px}
.section-head p{font-size:1.13rem;color:var(--ink-soft)}

/* prose */
.prose{max-width:820px;margin:0 auto}
.prose.wide{max-width:980px}
.prose p{margin-bottom:1.1rem;font-size:1.08rem}
.prose h2{margin:2.2rem 0 1rem}
.prose h3{margin:1.8rem 0 .8rem}
.prose ul,.prose ol{margin:0 0 1.2rem;padding-left:1.4em}
.prose li{margin-bottom:.5rem}
.prose strong{color:var(--green-deep)}
.prose .lead-p{font-size:1.18rem;color:var(--ink-soft)}

/* ===== GRIDS / CARDS ===== */
.grid{display:grid;gap:24px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:46px;align-items:center}
.split.rev .media{order:2}
.split .media img{border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;object-fit:cover}

.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:30px 26px;transition:.25s}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.card .ic{width:58px;height:58px;border-radius:15px;background:var(--cream-2);display:grid;place-items:center;margin-bottom:16px;font-size:1.6rem;color:var(--green-soft)}
.card h3{font-size:1.32rem;margin-bottom:9px}
.card p{color:var(--ink-soft);font-size:1.02rem;margin-bottom:14px}
.card .more{font-weight:700;color:var(--gold-dark);display:inline-flex;align-items:center;gap:7px}
.card .more::after{content:"→";transition:transform .2s}
.card:hover .more::after{transform:translateX(4px)}

/* service tiles (link cards) */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tile{display:block;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-sm);padding:22px 20px;box-shadow:var(--shadow);transition:.22s}
.tile:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--gold-soft)}
.tile .ic{font-size:1.7rem;margin-bottom:10px;display:block}
.tile b{display:block;font-family:'Cormorant Garamond',serif;font-size:1.16rem;color:var(--green-deep);margin-bottom:4px}
.tile span{font-size:.97rem;color:var(--ink-soft)}

/* ===== STEPS ===== */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.step{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:28px 22px;text-align:center;box-shadow:var(--shadow);position:relative}
.step .n{width:50px;height:50px;border-radius:50%;background:var(--green-deep);color:var(--cream);display:grid;place-items:center;font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:700;margin:0 auto 14px;border:3px solid var(--gold-soft)}
.step h3{font-size:1.16rem;margin-bottom:7px}
.step p{font-size:.98rem;color:var(--ink-soft)}
.steps.rows{grid-template-columns:1fr;gap:14px}
.steps.rows .step{display:flex;gap:18px;text-align:left;align-items:flex-start}
.steps.rows .step .n{margin:0;flex-shrink:0}

/* ===== WHY / dark strip ===== */
.dark{background:var(--green-deep);color:var(--cream)}
.dark h2,.dark h3{color:#fff}
.dark .section-head .kicker{color:var(--gold-soft)}
.dark .section-head p{color:rgba(247,244,235,.85)}
.why-card{background:rgba(247,244,235,.06);border:1px solid rgba(247,244,235,.16);border-radius:var(--radius);padding:28px 24px;transition:.22s}
.why-card:hover{background:rgba(247,244,235,.11);transform:translateY(-4px)}
.why-card .ic{font-size:1.9rem;color:var(--gold-soft);margin-bottom:14px;display:block}
.why-card h3{color:#fff;font-size:1.26rem;margin-bottom:9px}
.why-card p{color:rgba(247,244,235,.85);font-size:1.01rem}

/* ===== FEATURE LIST (checks) ===== */
.checks{list-style:none;padding:0;display:grid;gap:13px}
.checks li{display:flex;gap:13px;align-items:flex-start;font-size:1.05rem}
.checks li::before{content:"✓";flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--cream-2);color:var(--gold-dark);font-weight:800;display:grid;place-items:center;font-size:.85rem;margin-top:3px}
.dark .checks li::before{background:rgba(247,244,235,.12);color:var(--gold-soft)}

/* ===== PRICE CARDS / TABLES ===== */
.price-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pc{background:var(--white);border-radius:var(--radius);padding:32px 28px;box-shadow:var(--shadow);border:1px solid var(--line);position:relative;overflow:hidden}
.pc::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:var(--gold)}
.pc:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.pc .ic{width:60px;height:60px;border-radius:16px;background:var(--cream-2);display:grid;place-items:center;margin-bottom:18px;font-size:1.7rem;color:var(--green-soft)}
.pc h3{font-size:1.4rem;margin-bottom:8px}
.pc>p{color:var(--ink-soft);font-size:1rem;margin-bottom:20px}
.pc ul{list-style:none;display:flex;flex-direction:column;gap:12px;padding:0}
.pc ul li{display:flex;justify-content:space-between;gap:10px;align-items:baseline;padding-bottom:11px;border-bottom:1px solid var(--line);font-size:1.02rem}
.pc ul li:last-child{border-bottom:none}
.pc ul li span{color:var(--ink-soft)}
.pc ul li b{font-weight:700;color:var(--green-deep);white-space:nowrap}

.ctable-wrap{overflow-x:auto;border-radius:var(--radius);box-shadow:var(--shadow);background:#fff}
table.ctable{width:100%;border-collapse:collapse;min-width:540px}
table.ctable caption{padding:22px 22px 0;text-align:left;font-family:'Cormorant Garamond',serif;font-size:1.3rem;color:var(--green-deep);font-weight:600}
table.ctable th,table.ctable td{padding:15px 20px;text-align:left;font-size:1.03rem}
table.ctable thead th{background:var(--green-deep);color:var(--cream);font-weight:600}
table.ctable tbody tr:nth-child(even){background:var(--cream)}
table.ctable tbody tr:hover{background:var(--cream-2)}
table.ctable td b{color:var(--green-deep);font-weight:700;white-space:nowrap}
table.ctable td:first-child{font-weight:600;color:var(--ink)}
.table-note{font-size:.95rem;color:var(--ink-soft);margin-top:14px;text-align:center}

/* ===== GALLERY ===== */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.gallery figure{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--shadow);transition:.22s}
.gallery figure:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.gallery img{width:100%;aspect-ratio:1/1;object-fit:cover}
.gallery figcaption{padding:12px 14px;font-size:.95rem;color:var(--ink-soft);display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.gallery figcaption b{color:var(--green-deep)}

/* ===== FAQ ===== */
.faq{max-width:860px;margin:0 auto}
.faq-item{background:var(--white);border-radius:var(--radius-sm);margin-bottom:14px;box-shadow:var(--shadow);border:1px solid var(--line);overflow:hidden}
.faq-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:22px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:'Cormorant Garamond',serif;font-size:1.18rem;font-weight:600;color:var(--green-deep)}
.faq-q:hover{background:var(--cream)}
.faq-q .pm{transition:.3s;color:var(--gold);flex-shrink:0;font-size:1.4rem;line-height:1}
.faq-item.open .faq-q .pm{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-a .inner{padding:0 24px 24px;font-size:1.06rem;color:var(--ink-soft)}
.faq-a .inner p{margin-bottom:.8rem}

/* ===== CONTACT BAR (na każdej podstronie) ===== */
.contactbar{background:linear-gradient(135deg,var(--green-deep),var(--green));color:#fff}
.contactbar .container{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 22px;flex-wrap:wrap}
.contactbar .txt h3{color:#fff;font-size:1.5rem;margin-bottom:4px}
.contactbar .txt p{color:rgba(247,244,235,.85);font-size:1.05rem}
.contactbar .acts{display:flex;gap:12px;flex-wrap:wrap}

/* ===== FINAL CTA ===== */
.final-cta{background:linear-gradient(135deg,var(--gold) 0%,var(--gold-dark) 100%);color:#fff;text-align:center}
.final-cta h2{color:#fff;margin-bottom:14px}
.final-cta p{font-size:1.18rem;max-width:640px;margin:0 auto 30px;opacity:.96}
.final-cta .actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ===== FORM ===== */
.formcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:34px 32px}
.formrow{margin-bottom:18px}
.formrow label{display:block;font-weight:600;color:var(--green-deep);margin-bottom:7px;font-size:1.02rem}
.formrow input,.formrow select,.formrow textarea{width:100%;font:inherit;font-size:16px;padding:13px 15px;border:2px solid var(--line);border-radius:12px;background:var(--cream);color:var(--ink);min-height:48px;transition:.18s}
.formrow textarea{min-height:120px;resize:vertical}
.formrow input:focus,.formrow select:focus,.formrow textarea:focus{border-color:var(--gold);background:#fff;outline:none}
.form-note{font-size:.9rem;color:var(--ink-soft);margin-top:10px}
.form2{display:grid;grid-template-columns:1fr 1fr;gap:18px}

/* ===== MAP ===== */
.mapwrap{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);aspect-ratio:16/10}
.mapwrap iframe{width:100%;height:100%;border:0;display:block}

/* ===== FOOTER ===== */
footer.site{background:#1a2226;color:#cbd3d6;padding:54px 0 26px}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:38px;margin-bottom:36px}
footer.site h4{color:#fff;font-size:1.15rem;margin-bottom:15px}
footer.site p,footer.site a,footer.site li{font-size:.98rem;color:#aeb8bc;line-height:1.85}
footer.site a:hover{color:var(--gold-soft)}
.foot-links{display:flex;flex-direction:column;list-style:none;padding:0}
.foot-brand img{height:62px;width:auto;margin-bottom:14px}
.foot-brand .badges{display:flex;gap:10px;margin-top:16px}
.foot-brand .badges img{height:54px;width:auto;background:#fff;border-radius:8px;padding:4px}
.fphone a{font-size:1.1rem;font-weight:700;color:#fff;display:inline-flex;gap:8px;align-items:center;margin-top:4px}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:22px;text-align:center;font-size:.9rem;color:#8a9499}
.foot-bottom a{color:#aeb8bc}

/* ===== STICKY MOBILE CALL ===== */
.sticky-call{display:none;position:fixed;bottom:0;left:0;right:0;z-index:1200;background:var(--green-deep);padding:9px 12px;box-shadow:0 -6px 24px rgba(0,0,0,.3);gap:10px}
.sticky-call a{flex:1;display:flex;align-items:center;justify-content:center;gap:9px;padding:14px;border-radius:12px;font-weight:700;font-size:1.05rem}
.sticky-call .c1{background:var(--gold);color:#fff}
.sticky-call .c2{background:rgba(247,244,235,.14);color:#fff;border:1px solid rgba(247,244,235,.3)}

/* ===== CALCULATOR (cennik) ===== */
.calc{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:hidden;display:grid;grid-template-columns:1.4fr 1fr}
.calc .form{padding:40px 38px}
.calc .summary{background:linear-gradient(160deg,var(--green-deep),var(--green));color:var(--cream);padding:40px 36px;display:flex;flex-direction:column}
.calc h3{color:var(--green-deep);font-size:1.45rem;margin-bottom:6px}
.calc .sub{color:var(--ink-soft);margin-bottom:28px;font-size:1.03rem}
.field{margin-bottom:28px}
.field>.q{display:block;font-weight:700;font-size:1.13rem;color:var(--green-deep);margin-bottom:13px;font-family:'Cormorant Garamond',serif}
.field>.q .num{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--gold);color:#fff;font-size:.9rem;font-family:'Source Sans 3',sans-serif;margin-right:10px;vertical-align:middle}
.opts{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}
.opts.three{grid-template-columns:repeat(3,1fr)}
.opt{position:relative;cursor:pointer;display:block}
.opt input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.opt .ocard{border:2px solid var(--line);border-radius:15px;padding:20px 14px;text-align:center;transition:.18s;background:var(--cream);height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;min-height:118px}
.opt .ocard .emo{font-size:1.9rem;line-height:1;margin-bottom:6px}
.opt .ocard b{font-size:1.08rem;color:var(--ink);font-weight:700;font-family:'Cormorant Garamond',serif}
.opt .ocard small{color:var(--ink-soft);font-size:.92rem}
.opt .ocard .tick{position:absolute;top:9px;right:9px;width:24px;height:24px;border-radius:50%;background:var(--gold);color:#fff;display:none;place-items:center;font-size:.8rem}
.opt:hover .ocard{border-color:var(--gold-soft)}
.opt input:checked + .ocard{border-color:var(--gold);background:#fff;box-shadow:0 8px 22px rgba(176,141,87,.25)}
.opt input:checked + .ocard .tick{display:grid}
.range-field{background:var(--cream);border:2px solid var(--line);border-radius:15px;padding:18px 18px 14px}
.range-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px;gap:10px}
.range-top .rv{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:1.4rem;color:var(--green-deep);white-space:nowrap}
.range-top .rv small{font-size:.88rem;color:var(--ink-soft);font-weight:500;font-family:'Source Sans 3',sans-serif}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:8px;background:var(--cream-2);outline:none;cursor:pointer;margin:6px 0}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:30px;height:30px;border-radius:50%;background:var(--gold);border:4px solid #fff;box-shadow:0 3px 10px rgba(176,141,87,.5);cursor:pointer}
input[type=range]::-moz-range-thumb{width:26px;height:26px;border-radius:50%;background:var(--gold);border:4px solid #fff;box-shadow:0 3px 10px rgba(176,141,87,.5);cursor:pointer}
.range-scale{display:flex;justify-content:space-between;font-size:.84rem;color:var(--ink-soft);margin-top:6px}
.check-list{display:flex;flex-direction:column;gap:11px}
.chk{display:flex;align-items:center;gap:14px;border:2px solid var(--line);border-radius:12px;padding:13px 15px;cursor:pointer;background:var(--cream);transition:.18s}
.chk:hover{border-color:var(--gold-soft)}
.chk input{width:24px;height:24px;accent-color:var(--gold);cursor:pointer;flex-shrink:0}
.chk .ctxt{flex:1}
.chk .ctxt b{font-weight:600;font-size:1.03rem;color:var(--ink)}
.chk .price{font-weight:700;color:var(--green-soft);white-space:nowrap}
.chk.on{border-color:var(--gold);background:#fff}
.summary .stag{text-transform:uppercase;letter-spacing:2px;font-size:.84rem;color:var(--gold-soft);font-weight:700;margin-bottom:18px}
.sum-rows{flex:1;display:flex;flex-direction:column;gap:10px;margin-bottom:20px}
.sum-row{display:flex;justify-content:space-between;gap:10px;font-size:1rem;padding-bottom:10px;border-bottom:1px dashed rgba(247,244,235,.25)}
.sum-row span{opacity:.85}.sum-row b{font-weight:700;white-space:nowrap}
.sum-empty{opacity:.7;font-style:italic}
.total{background:rgba(247,244,235,.1);border-radius:14px;padding:20px;margin-bottom:16px;border:1px solid rgba(247,244,235,.2)}
.total .label{font-size:1rem;opacity:.85;margin-bottom:4px}
.total .amount{font-family:'Cormorant Garamond',serif;font-size:2.5rem;font-weight:700;color:#fff;line-height:1}
.total .note{font-size:.86rem;opacity:.7;margin-top:8px;line-height:1.4}
.summary .btn{width:100%;justify-content:center}
.summary .disclaimer{font-size:.82rem;opacity:.65;margin-top:13px;line-height:1.45;text-align:center}

/* ===== TESTIMONIALS ===== */
.quote{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px;box-shadow:var(--shadow);position:relative}
.quote .stars{color:var(--gold);font-size:1.1rem;letter-spacing:2px;margin-bottom:10px}
.quote p{font-size:1.05rem;color:var(--ink);font-style:italic;margin-bottom:14px}
.quote .who{font-weight:700;color:var(--green-deep);font-size:.98rem}
.quote .who span{display:block;font-weight:400;color:var(--ink-soft);font-size:.9rem;font-style:normal}

/* ===== TODO note (do uzupełnienia) ===== */
.todo{background:#fff7e6;border:1px dashed var(--gold);border-radius:var(--radius-sm);padding:16px 20px;color:#7a5e2e;font-size:.98rem}
.todo b{color:var(--gold-dark)}

/* ===== PILL / badges ===== */
.pillrow{display:flex;flex-wrap:wrap;gap:10px}
.pill{background:var(--cream-2);color:var(--green-deep);border-radius:50px;padding:7px 16px;font-size:.95rem;font-weight:600}
.dark .pill{background:rgba(247,244,235,.1);color:var(--cream)}

/* ===== ICONS (inline SVG, skalują się z tekstem) ===== */
svg.ico{width:1.05em;height:1.05em;vertical-align:-0.18em;flex-shrink:0}
.btn svg.ico,.cta svg.ico{width:1.15em;height:1.15em}
.card .ic svg.ico,.pc .ic svg.ico,.tile .ic svg.ico,.why-card .ic svg.ico{width:1em;height:1em}
.opt .emo svg.ico{width:1.9rem;height:1.9rem;color:var(--green-soft)}
.summary .stag svg.ico,.chk .ctxt b svg.ico{vertical-align:-0.16em}
.hero .trust .item .ic svg.ico{width:1.6rem;height:1.6rem}

/* ===== REVEAL ===== */
.reveal{opacity:0;transform:translateY(24px);transition:.6s cubic-bezier(.2,.7,.3,1)}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

/* ===== RESPONSIVE ===== */
@media(max-width:980px){
  .g3,.g4,.price-cards,.tiles{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr}
  .gallery{grid-template-columns:1fr 1fr 1fr}
  .split{grid-template-columns:1fr;gap:30px}
  .split.rev .media{order:0}
  .calc{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  nav.main{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--cream);padding:14px;gap:4px;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
  nav.main.open{display:flex}
  nav.main a{padding:14px;font-size:1.1rem;border-radius:10px}
  nav.main a.cta{margin-left:0;justify-content:center}
  .burger{display:block}
  .g2,.g3,.g4,.price-cards,.tiles,.steps{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr 1fr}
  .form2{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .opts,.opts.three{grid-template-columns:1fr 1fr}
  .calc .form,.calc .summary{padding:28px 20px}
  .hero .container{padding-top:42px;padding-bottom:42px}
  .quick{margin-top:0;border-radius:var(--radius-sm)}
  .contactbar .container{flex-direction:column;text-align:center}
  .sticky-call{display:flex}
  body{padding-bottom:72px}
  section.block{padding:46px 0}
  .topbar .left{display:none}
  .topbar .container{justify-content:center}
}
@media(max-width:380px){ .opts,.opts.three{grid-template-columns:1fr} }

/* ===== A11y: widoczny focus na polach formularzy (DawidWeb 22.06) ===== */
.formrow input:focus-visible,.formrow select:focus-visible,.formrow textarea:focus-visible,.leadform input:focus-visible,.leadform textarea:focus-visible,.sideform input:focus-visible,.sideform textarea:focus-visible,.cb-form input:focus-visible{outline:3px solid var(--green-soft);outline-offset:2px}

/* Source: assets/css/theme-light.css */
/* =========================================================
   TERRA LEVIS — MOTYW JASNY (white / modern / 50+)
   Ładowany PO style.css — nadpisuje na biały, czytelny motyw.
   Białe tła wszędzie, wysoki kontrast, duże odstępy.
   ========================================================= */

:root{
  --cream:#ffffff;          /* główne tło = białe */
  --cream-2:#f4f6f3;        /* delikatny jasny akcent sekcji */
  --line:#e6e9e3;
  --shadow:0 8px 30px rgba(30,57,67,.07);
  --shadow-lg:0 22px 55px rgba(30,57,67,.12);
  --fs-base:19px;           /* duży tekst dla czytelności 50+ */
}
@media(min-width:760px){ :root{ --fs-base:20px; } }

body{ background:#ffffff; }

/* sekcje: biel + bardzo jasny szaro-zielony przeplot */
.bg-cream{ background:#ffffff; }
.bg-cream2{ background:linear-gradient(180deg,#f5f7f4,#ffffff); }
.bg-white{ background:#ffffff; }
section.block + section.block.bg-white{ border-top:1px solid #f0f2ee; }

/* HEADER — biały, wyraźny */
header.site{ background:#ffffff; border-bottom:1px solid var(--line); }
.topbar{ background:var(--green-deep); }   /* cienki pasek 24h zostaje dla widoczności telefonu */

/* ===== HERO — jasny, zdjęcie subtelnie w tle, ciemny tekst ===== */
.hero{ background:linear-gradient(160deg,#fbfdfb 0%,#eef3ef 100%); color:var(--ink); }
.hero.bg1{ --himg:url(../images/klient/hero-glowna-2.jpg); }
.hero.bg2{ --himg:url(../images/klient/sala-pozegnan-klient.jpg); }
.hero.bg3{ --himg:url(../images/klient/ceremonia-kosciol.jpg); }
.hero::before{
  opacity:1; mix-blend-mode:normal;
  background:
    linear-gradient(105deg,#ffffff 0%,#ffffff 50%,rgba(255,255,255,.78) 70%,rgba(255,255,255,.45) 100%),
    var(--himg, none);
  background-size:cover; background-position:right center; background-repeat:no-repeat;
}
.hero h1{ color:var(--green-deep); }
.hero h1 .accent{ color:var(--gold-dark); }
.hero p.lead{ color:var(--ink-soft); opacity:1; }
.hero .eyebrow{ background:#ffffff; border:1px solid var(--line); color:var(--green-deep); box-shadow:var(--shadow); }
.hero .trust{ border-top:1px solid var(--line); }
.hero .trust .item .ic{ color:var(--gold-dark); }
.hero .trust .item b{ color:var(--green-deep); }
.hero .trust .item span{ color:var(--ink-soft); }
.hero .btn-ghost{ background:#ffffff; border:1.5px solid var(--green-soft); color:var(--green-deep); box-shadow:var(--shadow); }
.hero .btn-ghost:hover{ background:var(--cream-2); color:var(--green-deep); }
@media(max-width:760px){
  .hero::before{ background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.94)),var(--himg,none); background-size:cover; background-position:center; }
}

/* QUICK answer — czytelna karta na bieli */
.quick{ background:#ffffff; border:1px solid var(--line); border-left:5px solid var(--gold); }

/* ===== SEKCJE „dark" -> JASNE ===== */
.dark{ background:linear-gradient(180deg,#f5f7f4,#eef2ee); color:var(--ink); }
.dark h2,.dark h3{ color:var(--green-deep); }
.dark .section-head .kicker{ color:var(--gold-dark); }
.dark .section-head p{ color:var(--ink-soft); }
.why-card{ background:#ffffff; border:1px solid var(--line); box-shadow:var(--shadow); }
.why-card:hover{ background:#ffffff; box-shadow:var(--shadow-lg); }
.why-card h3{ color:var(--green-deep); }
.why-card p{ color:var(--ink-soft); }
.why-card .ic{ color:var(--gold-dark); }
.dark .checks li{ color:var(--ink); }
.dark .checks li::before{ background:var(--cream-2); color:var(--gold-dark); }
.dark .pill{ background:var(--cream-2); color:var(--green-deep); }

/* ===== CONTACT BAR -> jasny, ciepły akcent ===== */
.contactbar{ background:linear-gradient(135deg,#eef3ef,#f6f8f5); color:var(--ink); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.contactbar .txt h3{ color:var(--green-deep); }
.contactbar .txt p{ color:var(--ink-soft); }
.contactbar .btn-white{ background:var(--green-deep); color:#fff; }
.contactbar .btn-white:hover{ background:var(--green); color:#fff; }
.contactbar .btn-line{ background:#fff; border:2px solid var(--green-soft); color:var(--green-deep); }
.contactbar .btn-line:hover{ background:var(--cream-2); color:var(--green-deep); }

/* ===== KALKULATOR — jasny panel wyceny ===== */
.calc .summary{ background:linear-gradient(165deg,#f3f6f3,#eef2ee); color:var(--ink); border-left:5px solid var(--gold); }
.summary .stag{ color:var(--gold-dark); }
.sum-row{ border-bottom:1px dashed var(--line); }
.sum-row span{ color:var(--ink-soft); opacity:1; }
.sum-row b{ color:var(--green-deep); }
.sum-empty{ color:var(--ink-soft); }
.total{ background:#ffffff; border:1px solid var(--line); }
.total .label{ color:var(--ink-soft); opacity:1; }
.total .amount{ color:var(--green-deep); }
.total .note{ color:var(--ink-soft); opacity:1; }
.summary .disclaimer{ color:var(--ink-soft); opacity:1; }
/* pola kalkulatora — lekki odcień dla widoczności na bieli */
.opt .ocard,.range-field,.chk{ background:#f6f8f5; }
.opt input:checked + .ocard,.chk.on{ background:#ffffff; }
input[type=range]{ background:#e9ece7; }

/* FORMULARZE — czytelne pola na bieli */
.formrow input,.formrow select,.formrow textarea{ background:#f6f8f5; }
.formrow input:focus,.formrow select:focus,.formrow textarea:focus{ background:#fff; }

/* ===== FOOTER -> jasny ===== */
footer.site{ background:#f3f5f1; color:var(--ink-soft); border-top:1px solid var(--line); }
footer.site h4{ color:var(--green-deep); }
footer.site p,footer.site a,footer.site li{ color:var(--ink-soft); }
footer.site a:hover{ color:var(--gold-dark); }
.foot-brand .badges img{ background:#fff; box-shadow:var(--shadow); }
.fphone a{ color:var(--green-deep); }
.foot-bottom{ border-top:1px solid var(--line); color:#7c878b; }
.foot-bottom a{ color:var(--ink-soft); }

/* STICKY mobile call — zostaje wyraźny (zielony) dla telefonu 24h */

/* drobne: mocniejsze obramowania kart na bieli */
.card,.pc,.step,.faq-item,.quote,.tile,.ctable-wrap,.formcard,.mapwrap{ border:1px solid var(--line); }
.tile:hover,.card:hover{ border-color:var(--gold-soft); }

/* nagłówki sekcji nieco ciemniejsze dla kontrastu */
.section-head p{ color:var(--ink-soft); }

/* hero homepage = karawan (DawidWeb) */
.hero.bg1{--himg:url(../images/klient/glowna-karawan.jpg)}
.hero.bg1::before{background:linear-gradient(100deg,rgba(251,253,251,.94) 0%,rgba(251,253,251,.80) 40%,rgba(251,253,251,.42) 100%),var(--himg);background-size:cover;background-position:center right}
@media(max-width:760px){.hero.bg1::before{background:linear-gradient(180deg,rgba(251,253,251,.90),rgba(251,253,251,.88)),var(--himg)}}

/* === DawidWeb hero banners v2 (homepage + subpages) === */
.hero::before{opacity:1 !important;mix-blend-mode:normal !important}
.hero.bg1::before{background:linear-gradient(100deg,rgba(251,253,251,.93) 0%,rgba(251,253,251,.72) 42%,rgba(251,253,251,.38) 100%),var(--himg);background-size:cover;background-position:center right}
.hero.sub .container{padding-top:108px;padding-bottom:94px}
.hero.sub h1{font-size:clamp(2rem,4.8vw,3rem);max-width:720px}
.hero.sub .lead{max-width:600px}
.hero.sub::before{background:linear-gradient(100deg,rgba(251,253,251,.82) 0%,rgba(251,253,251,.48) 48%,rgba(248,250,247,.12) 100%),var(--himg,none);background-size:cover;background-position:center}
@media(max-width:760px){
 .hero.bg1::before{background:linear-gradient(180deg,rgba(251,253,251,.90),rgba(251,253,251,.88)),var(--himg)}
 .hero.sub .container{padding-top:76px;padding-bottom:62px}
 .hero.sub::before{background:linear-gradient(100deg,rgba(251,253,251,.82) 0%,rgba(251,253,251,.48) 48%,rgba(248,250,247,.12) 100%),var(--himg,none)}
}

/* === DawidWeb gallery + lightbox === */
.tl-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin-top:8px}
.tl-gallery a{display:block;aspect-ratio:4/5;overflow:hidden;border-radius:12px;box-shadow:0 4px 14px rgba(0,0,0,.08);cursor:zoom-in;background:#e9ece9}
.tl-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.tl-gallery a:hover img{transform:scale(1.06)}
.tl-lb{position:fixed;inset:0;background:rgba(18,26,23,.93);display:none;align-items:center;justify-content:center;z-index:99999;padding:18px}
.tl-lb.open{display:flex}
.tl-lb img{max-width:94vw;max-height:90vh;border-radius:8px;box-shadow:0 12px 48px rgba(0,0,0,.55)}
.tl-lb .x{position:absolute;top:14px;right:24px;color:#fff;font-size:2.6rem;line-height:1;cursor:pointer;font-family:Arial,sans-serif}
@media(max-width:560px){.tl-gallery{grid-template-columns:repeat(2,1fr)}}

/* === DawidWeb services dropdown === */
.nav-svc{position:relative;display:flex;align-items:center}
.nav-svc>a::after{content:"▾";font-size:.7em;margin-left:5px;opacity:.65}
.nav-svc .submenu{position:absolute;top:100%;left:0;display:none;grid-template-columns:1fr 1fr;gap:2px 22px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 46px rgba(30,57,67,.18);padding:16px 18px;min-width:540px;z-index:1300}
.nav-svc:hover .submenu,.nav-svc:focus-within .submenu{display:grid}
.nav-svc .submenu a{display:block;padding:8px 12px;font-size:.96rem;font-weight:600;color:var(--ink-soft);border-radius:9px;white-space:nowrap;background:none}
.nav-svc .submenu a:hover{background:var(--cream-2);color:var(--green-deep)}
.nav-svc .submenu .col-h{display:block;font-family:'Cormorant Garamond',serif;color:var(--gold-dark);font-size:.8rem;letter-spacing:1.5px;text-transform:uppercase;padding:10px 12px 3px;font-weight:700}
@media(max-width:760px){.nav-svc{position:static;display:block}.nav-svc>a::after{content:""}.nav-svc .submenu{position:static;display:grid !important;grid-template-columns:1fr;min-width:0;border:none;box-shadow:none;background:transparent;padding:0 0 6px 10px;gap:0}.nav-svc .submenu a{padding:11px 12px;font-size:1rem}.nav-svc .submenu .col-h{padding:10px 12px 2px}}

/* hero-sub-halo: czytelny tekst na wyraźniejszym zdjęciu (22.06) */
.hero.sub h1,.hero.sub .lead,.hero.sub .eyebrow{text-shadow:0 1px 10px rgba(255,255,255,.92),0 0 2px rgba(255,255,255,.8)}

/* logo-fullname + dropdown bez luki (24.06) */
.logo .name small{text-transform:none!important;letter-spacing:.3px!important;font-size:.62rem!important;white-space:normal!important;line-height:1.18!important;max-width:300px}
.nav-svc .submenu{margin-top:0}

/* === Ciemne banery podstron (proso klienta 30.06) === */
.hero.sub::before{background:linear-gradient(105deg,rgba(16,28,22,.86) 0%,rgba(16,28,22,.62) 45%,rgba(16,28,22,.30) 100%),var(--himg,none)!important;background-size:cover!important;background-position:center!important}
.hero.sub h1,.hero.sub .lead{color:#fff!important;text-shadow:0 2px 14px rgba(0,0,0,.5)!important}
.hero.sub h1 .accent{color:var(--gold-soft)!important}
.hero.sub .eyebrow{background:rgba(255,255,255,.16)!important;border-color:rgba(255,255,255,.4)!important;color:#fff!important;text-shadow:none!important}
.hero.sub .trust{border-top-color:rgba(255,255,255,.25)!important}
.hero.sub .trust .item b{color:#fff!important}
.hero.sub .trust .item span{color:rgba(255,255,255,.85)!important}
.hero.sub .trust .item .ic{color:var(--gold-soft)!important}
.hero.sub .btn-ghost{background:transparent!important;border-color:rgba(255,255,255,.6)!important;color:#fff!important}
.hero.sub .btn-ghost:hover{background:rgba(255,255,255,.12)!important}
/* === Nowy logotyp klienta w nagowku === */
.logo img{height:44px!important;width:auto!important}
.logo .name{line-height:1.1}
@media(max-width:620px){.logo .name small{display:none!important}}

/* Source: assets/css/calc-fix.css */
/* =========================================================
   UI FIXES — kalkulator, karuzela opinii, hero, kontrast, menu.
   ========================================================= */
html,body{ overflow-x:clip; }
:root{ --shadow:0 4px 16px rgba(30,57,67,.05); --shadow-lg:0 12px 34px rgba(30,57,67,.08); }

/* ---------- KALKULATOR: cena na górze + PEŁNA lista „co za co” ---------- */
.calc{ overflow:visible; background:transparent; box-shadow:none; border-radius:0;
  display:grid; grid-template-columns:1.4fr 1fr; gap:24px; align-items:start; }
.calc .form{ background:#fff; border-radius:var(--radius); box-shadow:var(--shadow-lg); }
.calc .summary{ display:flex; flex-direction:column; border-radius:var(--radius); box-shadow:var(--shadow-lg); }
.summary .stag{ order:1; margin-bottom:14px; }
.summary .total{ order:2; }
.summary > .btn,.summary a.btn{ order:3; }
.summary .disclaimer{ order:4; }
.summary .sum-rows{ order:5; margin-top:16px; padding-top:14px; border-top:1px dashed var(--line); overflow:visible; max-height:none; }
.summary .sum-rows::before{ content:"Szczegóły wyceny — co składa się na koszt"; display:block; margin-bottom:10px; font-size:.78rem; letter-spacing:1.2px; text-transform:uppercase; font-weight:700; color:var(--gold-dark); }
.summary .sum-row{ font-size:1rem; }
@media(min-width:981px){ .calc .summary{ position:sticky; top:96px; } }   /* sticky, ale BEZ obcinania listy */
@media(max-width:980px){ .calc{ grid-template-columns:1fr; } .calc .summary{ position:static; order:-1; } }

/* ---------- KARUZELA OPINII: nie wychodzi poza kontener ---------- */
.revgrid{ min-width:0; }
.revgrid > *{ min-width:0; }            /* KLUCZ: pozwala kolumnie się zwęzić, karuzela scrolluje w środku */
.grev{ min-width:0; max-width:100%; overflow:hidden; }
.grev-track{ max-width:100%; }

/* ---------- HERO: zdjęcie widoczne (prawa), tekst czytelny (lewa) ---------- */
.hero{ background:#eef3ef !important; }
.hero::before{
  background: linear-gradient(100deg, rgba(247,250,247,.94) 0%, rgba(247,250,247,.85) 44%, rgba(247,250,247,.58) 72%, rgba(247,250,247,.40) 100%), var(--himg) center/cover no-repeat !important;
  opacity:1 !important; mix-blend-mode:normal !important;
}
@media(max-width:820px){ .hero::before{ background: linear-gradient(180deg, rgba(247,250,247,.82), rgba(247,250,247,.90)), var(--himg) center/cover no-repeat !important; } }
.hero h1{ color:var(--green-deep) !important; }
.hero h1 .accent{ color:var(--gold-dark) !important; }
.hero p.lead{ color:var(--ink) !important; opacity:1 !important; }
.hero .eyebrow{ background:#fff !important; color:var(--green-deep) !important; border-color:var(--line) !important; }
.hero .trust .item b{ color:var(--green-deep) !important; }
.hero .trust .item span{ color:var(--ink-soft) !important; }

/* ---------- KONTRAST: ciemniejsze, grubsze menu + nagłówki ---------- */
nav.main a{ color:var(--green-deep); font-weight:700; }
nav.main a:hover,nav.main a.active{ background:var(--cream-2); color:var(--green-deep); }
.topbar{ background:var(--green-deep) !important; }
.section-head .kicker,.kicker{ color:var(--gold-dark) !important; }
.btn-outline{ border-width:2px; border-color:var(--green-deep); color:var(--green-deep); font-weight:700; }
.btn-outline:hover{ background:var(--green-deep); color:#fff; }
.crumbs a{ color:var(--green-soft); font-weight:600; }
.card .more{ color:var(--gold-dark); font-weight:700; }

/* ---------- RESPONSYWNOŚĆ: menu hamburger zanim się ściśnie ---------- */
@media(max-width:1040px){
  nav.main{ display:none; position:absolute; top:100%; left:0; right:0; flex-direction:column;
    background:#fff; padding:14px; gap:4px; border-bottom:1px solid var(--line); box-shadow:var(--shadow); }
  nav.main.open{ display:flex; }
  nav.main a{ padding:14px; font-size:1.08rem; border-radius:10px; }
  nav.main a.cta{ margin-left:0; justify-content:center; color:#fff; }
  .burger{ display:block; }
  header.site .container{ gap:12px; }
}
@media(max-width:430px){ .logo .name{ font-size:1.18rem; } .logo .name small{ font-size:.6rem; letter-spacing:1.5px; } .logo img{ height:42px; } }

/* ---------- INFOGRAFIKI: pasek statystyk + porównanie ---------- */
.statband{ background:linear-gradient(180deg,#f2f6f2,#e8efe9); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.statband .container{ display:grid; grid-template-columns:repeat(6,1fr); gap:18px; padding:34px 22px; align-items:start; }
.stat{ text-align:center; }
.stat .si{ color:var(--gold-dark); margin-bottom:8px; line-height:1; }
.stat .si svg{ width:30px; height:30px; }
.stat .snum{ font-family:'Fraunces',serif; font-size:1.95rem; font-weight:700; color:var(--green-deep); line-height:1; }
.stat .slabel{ font-size:.92rem; color:var(--ink-soft); margin-top:5px; }
.statband .scta{ grid-column:1/-1; text-align:center; margin-top:10px; }
.statband .scta a{ font-weight:700; color:var(--gold-dark); }
@media(max-width:760px){ .statband .container{ grid-template-columns:repeat(2,1fr); gap:24px; } }

.compare{ display:grid; grid-template-columns:1fr 1fr; gap:22px; max-width:920px; margin:0 auto; }
.compare .col{ background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow); overflow:hidden; }
.compare .col h3{ color:#fff; padding:16px 20px; font-size:1.22rem; text-align:center; margin:0; }
.compare .col.trad h3{ background:var(--green-deep); }
.compare .col.krem h3{ background:var(--gold-dark); }
.compare ul{ list-style:none; padding:18px 22px; margin:0; display:flex; flex-direction:column; gap:12px; }
.compare li{ display:flex; gap:10px; align-items:flex-start; font-size:1.01rem; color:var(--ink); }
.compare li b{ color:var(--green-deep); }
.compare li::before{ content:"✓"; color:var(--gold-dark); font-weight:800; flex-shrink:0; }
@media(max-width:640px){ .compare{ grid-template-columns:1fr; } }

/* ---------- FORMULARZ-LEAD (otwarty) + obietnica oddzwonienia ---------- */
.leadband{ background:linear-gradient(135deg,#edf2ee,#f6f8f5); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.leadband .container{ display:grid; grid-template-columns:1fr 1fr; gap:34px; align-items:center; padding:44px 22px; }
.leadband .lcopy h2{ color:var(--green-deep); font-size:clamp(1.6rem,3vw,2.2rem); margin-bottom:10px; }
.leadband .lcopy p{ color:var(--ink-soft); font-size:1.1rem; margin-bottom:16px; }
.leadband .lpromise{ display:inline-flex; align-items:center; gap:10px; background:#fff; border:1px solid var(--line); border-radius:50px; padding:10px 18px; font-weight:700; color:var(--green-deep); box-shadow:var(--shadow); }
.leadband .lpromise .dot{ width:12px; height:12px; border-radius:50%; background:var(--ok); box-shadow:0 0 0 0 rgba(63,125,87,.6); animation:tlpulse 2s infinite; }
.leadband .lphone{ margin-top:14px; }
.leadband .lphone a{ font-size:1.5rem; font-weight:700; color:var(--green-deep); display:inline-flex; gap:8px; align-items:center; }
.leadform{ background:#fff; border-radius:18px; box-shadow:0 22px 55px rgba(30,57,67,.16); padding:26px 24px; }
.leadform h3{ color:var(--green-deep); margin-bottom:3px; font-size:1.3rem; }
.leadform .lsub{ color:var(--ink-soft); font-size:.95rem; margin-bottom:16px; }
.leadform .lrow{ margin-bottom:12px; }
.leadform input,.leadform textarea{ width:100%; font:inherit; font-size:16px; padding:13px 15px; border:2px solid var(--line); border-radius:12px; background:#f6f8f5; min-height:50px; }
.leadform input:focus,.leadform textarea:focus{ border-color:var(--gold); background:#fff; outline:none; }
.leadform textarea{ min-height:82px; resize:vertical; }
.leadform .lbtn{ width:100%; justify-content:center; }
.leadform .lnote{ font-size:.84rem; color:var(--ink-soft); margin-top:10px; text-align:center; }
.leadform .form-ok{ display:none; margin-top:14px; }
@media(max-width:820px){ .leadband .container{ grid-template-columns:1fr; gap:24px; } }

/* ---------- PULSUJĄCE CTA (psychologia kontaktu) ---------- */
@keyframes tlpulse{ 0%{box-shadow:0 0 0 0 rgba(176,141,87,.5)} 70%{box-shadow:0 0 0 14px rgba(176,141,87,0)} 100%{box-shadow:0 0 0 0 rgba(176,141,87,0)} }
.pulse{ animation:tlpulse 2.2s infinite; }
.fab{ position:fixed; right:20px; bottom:24px; z-index:1150; background:var(--gold); color:#fff; border-radius:50px; padding:15px 22px; font-weight:700; font-size:1.05rem; box-shadow:0 14px 34px rgba(176,141,87,.5); display:inline-flex; align-items:center; gap:10px; }
.fab:hover{ background:var(--gold-dark); color:#fff; }
@media(max-width:760px){ .fab{ display:none; } }   /* na mobile jest sticky-call */
@media(prefers-reduced-motion:reduce){ .pulse,.leadband .lpromise .dot{ animation:none; } }

/* ---------- GRUPY USŁUG (logiczny podział) ---------- */
.svc-groups{ display:flex; flex-direction:column; gap:30px; }
.svc-group h3{ display:flex; align-items:center; gap:10px; font-size:1.3rem; color:var(--green-deep); margin:0 0 16px; padding-bottom:10px; border-bottom:2px solid var(--cream-2); }
.svc-group h3 .gi{ color:var(--gold-dark); display:inline-flex; }
.svc-group h3 .gi svg{ width:26px; height:26px; }

/* ---------- ODZNAKI / WYRÓŻNIENIA ---------- */
.awards{ display:flex; align-items:center; justify-content:center; gap:34px; flex-wrap:wrap; }
.awards .aw{ display:flex; align-items:center; gap:14px; }
.awards img{ height:78px; width:auto; background:#fff; border-radius:14px; padding:8px; box-shadow:var(--shadow); }
.awards .at b{ display:block; color:var(--green-deep); font-family:'Fraunces',serif; font-size:1.1rem; }
.awards .at span{ color:var(--ink-soft); font-size:.95rem; }

/* ---------- STOPKA: wyraźniejsze logo ---------- */
.foot-brand img{ height:60px !important; }
.foot-brand .badges img{ height:62px !important; }

/* ---------- STOPKA CIEMNA (logo + odznaki wyraźne) ---------- */
footer.site{ background:#1b262a !important; color:#c3ccce !important; border-top:none !important; }
footer.site h4{ color:#ffffff !important; }
footer.site p,footer.site a,footer.site li{ color:#aab4b7 !important; }
footer.site a:hover{ color:var(--gold-soft) !important; }
.foot-brand img{ height:66px !important; filter:brightness(0) invert(1); opacity:.96; }
.fphone a{ color:#ffffff !important; }
.foot-bottom{ border-top:1px solid rgba(255,255,255,.12) !important; color:#93a0a3 !important; }
.foot-bottom a{ color:#aab4b7 !important; }
.foot-brand .badges img{ background:#fff !important; height:62px !important; filter:none !important; }
.tlcc-settings-link{ color:#aab4b7 !important; }

/* ---------- KARTY ODDZIAŁÓW (kontakt): zdjęcie | dane | mapa ---------- */
.loccard{ display:grid; grid-template-columns:280px 1fr 1.05fr; background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); margin-bottom:22px; }
.loccard .lc-photo{ background-size:cover; background-position:center; min-height:230px; }
.loccard .lc-info{ padding:24px 26px; }
.loccard .lc-info h3{ font-size:1.22rem; color:var(--green-deep); margin-bottom:8px; }
.loccard .lc-info .lc-addr{ color:var(--ink-soft); margin-bottom:12px; line-height:1.55; }
.loccard .lc-info .lc-tel{ display:flex; flex-direction:column; gap:4px; }
.loccard .lc-info .lc-tel a{ color:var(--green-deep); font-weight:700; display:inline-flex; gap:7px; align-items:center; }
.loccard .lc-info .lc-tel span{ color:var(--ink-soft); font-weight:400; font-size:.95rem; }
.loccard .lc-map{ min-height:230px; }
.loccard .lc-map iframe{ width:100%; height:100%; border:0; display:block; }
@media(max-width:980px){ .loccard{ grid-template-columns:1fr 1fr; } .loccard .lc-photo{ display:none; } }
@media(max-width:760px){ .loccard{ grid-template-columns:1fr; } .loccard .lc-map{ min-height:200px; } }
.firmcard{ background:#fff; border:1px solid var(--line); border-left:5px solid var(--gold); border-radius:var(--radius); box-shadow:var(--shadow); padding:24px 28px; max-width:760px; margin:0 auto; }
.firmcard h3{ color:var(--green-deep); margin-bottom:10px; }
.firmcard p{ color:var(--ink-soft); margin-bottom:6px; line-height:1.6; }
.firmcard b{ color:var(--green-deep); }

/* ---------- TOOLTIP „?” (cennik: standardy) ---------- */
.tip{ display:inline-grid; place-items:center; width:19px; height:19px; border-radius:50%; background:var(--cream-2); color:var(--gold-dark); font-size:.72rem; font-weight:800; cursor:help; position:relative; vertical-align:middle; margin-left:6px; border:1px solid var(--gold-soft); }
.tip:hover::after,.tip:focus::after{ content:attr(data-tip); position:absolute; bottom:150%; left:50%; transform:translateX(-50%); background:var(--green-deep); color:#fff; padding:10px 13px; border-radius:10px; width:230px; font-size:.85rem; font-weight:400; line-height:1.45; box-shadow:var(--shadow-lg); z-index:60; text-align:left; }
.tip:hover::before,.tip:focus::before{ content:""; position:absolute; bottom:140%; left:50%; transform:translateX(-50%); border:6px solid transparent; border-top-color:var(--green-deep); z-index:60; }
@media(max-width:760px){ .tip:hover::after,.tip:focus::after{ width:170px; left:auto; right:-4px; transform:none; } .tip:hover::before,.tip:focus::before{ left:auto; right:4px; transform:none; } }

/* Source: assets/css/reviews.css */
/* =========================================================
   OPINIE GOOGLE — karuzela + badge oceny (jasny, czytelny)
   ========================================================= */
.revgrid{ display:grid; grid-template-columns:330px 1fr; gap:34px; align-items:center; }
@media(max-width:900px){ .revgrid{ grid-template-columns:1fr; gap:26px; } }

/* --- Badge oceny Google --- */
.gbadge{
  background:#ffffff; border:1px solid var(--line); border-radius:var(--radius);
  box-shadow:var(--shadow-lg); padding:30px 26px; text-align:center;
}
.gbadge .glogo{ width:46px; height:46px; margin:0 auto 12px; display:block; }
.gbadge .gword{ font-weight:700; color:var(--ink-soft); font-size:1.02rem; margin-bottom:6px; }
.gbadge .grate{ font-family:'Fraunces',serif; font-size:3.6rem; font-weight:700; color:var(--green-deep); line-height:1; }
.gbadge .gstars{ color:#fbbc04; font-size:1.5rem; letter-spacing:3px; margin:8px 0 4px; }
.gbadge .gcount{ color:var(--ink-soft); font-size:1rem; margin-bottom:18px; }
.gbadge .btn{ width:100%; justify-content:center; }
.gbadge .gsmall{ display:block; margin-top:10px; font-size:.92rem; color:var(--green-soft); font-weight:600; }

/* --- Karuzela --- */
.grev{ position:relative; }
.grev-track{
  display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory;
  padding:6px 2px 16px; scrollbar-width:thin; scroll-behavior:smooth;
}
.grev-track::-webkit-scrollbar{ height:7px; }
.grev-track::-webkit-scrollbar-thumb{ background:var(--gold-soft); border-radius:6px; }
.grev-card{
  flex:0 0 clamp(268px,84%,348px); scroll-snap-align:start;
  background:#ffffff; border:1px solid var(--line); border-radius:16px;
  box-shadow:var(--shadow); padding:24px 24px 22px; display:flex; flex-direction:column;
}
.grev-card .top{ display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.grev-card .av{
  width:46px; height:46px; border-radius:50%; flex-shrink:0;
  background:radial-gradient(circle at 35% 30%,var(--green-soft),var(--green-deep));
  color:#fff; display:grid; place-items:center; font-weight:700; font-family:'Fraunces',serif; font-size:1.2rem;
  background-size:cover; background-position:center;
}
.grev-card .who{ flex:1; min-width:0; }
.grev-card .nm{ font-weight:700; color:var(--green-deep); font-size:1.05rem; line-height:1.2; }
.grev-card .gtag{ font-size:.82rem; color:var(--ink-soft); display:flex; align-items:center; gap:5px; margin-top:2px; }
.grev-card .gtag svg{ width:14px; height:14px; }
.grev-card .gstars{ color:#fbbc04; letter-spacing:2px; font-size:1.05rem; margin-bottom:9px; }
.grev-card p{ color:var(--ink); font-size:1.02rem; line-height:1.6; margin:0; }
.grev-card .when{ margin-top:12px; font-size:.85rem; color:var(--ink-soft); }

.grev-nav{ display:flex; gap:10px; justify-content:center; align-items:center; margin-top:6px; }
.grev-nav button{
  width:48px; height:48px; border-radius:50%; border:1px solid var(--line);
  background:#fff; cursor:pointer; font-size:1.5rem; line-height:1; color:var(--green-deep);
  box-shadow:var(--shadow); transition:.18s; display:grid; place-items:center;
}
.grev-nav button:hover{ background:var(--cream-2); border-color:var(--gold-soft); }
.grev-hint{ text-align:center; font-size:.9rem; color:var(--ink-soft); margin-top:6px; }

/* Source: assets/css/blog.css */
/* =========================================================
   BLOG / PORADNIK — układ artykułu z sidebarem, karty hubu,
   blok „doradcy" (obecność człowieka), typografia treści.
   ========================================================= */

/* ---------- HUB: karty wg kategorii ---------- */
.blogcat{ margin-bottom:8px; }
.blogcat .cat-head{ display:flex; align-items:center; gap:12px; margin:0 0 18px; }
.blogcat .cat-head .ci{ width:46px; height:46px; display:grid; place-items:center; border-radius:12px; background:var(--cream-2); color:var(--gold-dark); flex-shrink:0; }
.blogcat .cat-head .ci svg{ width:24px; height:24px; }
.blogcat .cat-head h2{ font-size:1.5rem; color:var(--green-deep); margin:0; }
.blogcat .cat-head p{ margin:2px 0 0; color:var(--ink-soft); font-size:.98rem; }
.bcards{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-bottom:46px; }
.bcard{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden; box-shadow:var(--shadow); transition:.18s; min-width:0; }
.bcard:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lg); }
.bcard .bimg{ aspect-ratio:16/10; background-size:cover; background-position:center; }
.bcard .bbody{ padding:18px 20px 20px; display:flex; flex-direction:column; flex:1; }
.bcard .bchip{ font-size:.72rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--gold-dark); margin-bottom:8px; }
.bcard h3{ font-size:1.12rem; line-height:1.3; color:var(--green-deep); margin:0 0 8px; }
.bcard p{ font-size:.95rem; color:var(--ink-soft); margin:0 0 14px; flex:1; }
.bcard .more{ color:var(--gold-dark); font-weight:700; font-size:.95rem; }
@media(max-width:900px){ .bcards{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:600px){ .bcards{ grid-template-columns:1fr; } }

/* ---------- ARTYKUŁ: główna kolumna + sidebar ---------- */
.artwrap{ display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:40px; align-items:start; }
.artmain{ min-width:0; }
.artmain > .featured{ margin:0 0 26px; border-radius:16px; overflow:hidden; box-shadow:var(--shadow); }
.artmain > .featured img{ width:100%; height:auto; display:block; aspect-ratio:16/8; object-fit:cover; }
.artmeta{ display:flex; flex-wrap:wrap; gap:10px 16px; align-items:center; margin-bottom:18px; color:var(--ink-soft); font-size:.9rem; }
.artmeta .chip{ background:var(--cream-2); color:var(--gold-dark); font-weight:700; font-size:.74rem; letter-spacing:.8px; text-transform:uppercase; padding:5px 11px; border-radius:50px; }
.artmain h2{ font-size:1.55rem; color:var(--green-deep); margin:34px 0 12px; line-height:1.25; }
.artmain h3{ font-size:1.2rem; color:var(--green-deep); margin:24px 0 10px; }
.artmain p{ font-size:1.08rem; line-height:1.75; color:var(--ink); margin:0 0 16px; }
.artmain ul,.artmain ol{ margin:0 0 18px; padding-left:0; list-style:none; display:flex; flex-direction:column; gap:11px; }
.artmain ul li{ position:relative; padding-left:32px; font-size:1.06rem; line-height:1.65; color:var(--ink); }
.artmain ul li::before{ content:""; position:absolute; left:4px; top:9px; width:8px; height:8px; border-radius:50%; background:var(--gold); }
.artmain ol{ counter-reset:s; }
.artmain ol li{ position:relative; padding-left:46px; font-size:1.06rem; line-height:1.65; color:var(--ink); counter-increment:s; }
.artmain ol li::before{ content:counter(s); position:absolute; left:0; top:0; width:30px; height:30px; border-radius:50%; background:var(--green-deep); color:#fff; font-weight:700; font-size:.95rem; display:grid; place-items:center; }
.artmain ol li b,.artmain ul li b{ color:var(--green-deep); }
.artmain a{ color:var(--gold-dark); font-weight:700; text-decoration:underline; text-underline-offset:2px; }

/* wyróżnione „w skrócie" na górze artykułu */
.ans{ background:linear-gradient(135deg,#eef3ef,#f6f8f5); border:1px solid var(--line); border-left:5px solid var(--gold); border-radius:14px; padding:20px 22px; margin:0 0 26px; }
.ans .lab{ display:inline-flex; align-items:center; gap:8px; font-size:.76rem; letter-spacing:1.2px; text-transform:uppercase; font-weight:800; color:var(--gold-dark); margin-bottom:8px; }
.ans p{ font-size:1.12rem; line-height:1.7; color:var(--ink); margin:0; }

/* spis treści */
.toc{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:18px 22px; margin:0 0 28px; }
.toc b{ display:block; color:var(--green-deep); margin-bottom:8px; font-size:1rem; }
.toc ol{ display:flex; flex-direction:column; gap:6px; }
.toc ol li{ padding-left:0; }
.toc ol li::before{ display:none; }
.toc a{ text-decoration:none; font-weight:600; font-size:1rem; }

/* mid-article CTA */
.midcta{ background:var(--green-deep); color:#fff; border-radius:16px; padding:24px 26px; margin:30px 0; display:flex; flex-wrap:wrap; align-items:center; gap:16px 22px; justify-content:space-between; }
.midcta .mt{ font-size:1.18rem; font-weight:600; max-width:520px; }
.midcta .mt b{ color:var(--gold-soft); }
.midcta .btn{ flex-shrink:0; }

/* key takeaway / cytat */
.callout{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:18px 20px; margin:0 0 18px; display:flex; gap:14px; align-items:flex-start; }
.callout .ci{ color:var(--gold-dark); flex-shrink:0; margin-top:2px; }
.callout p{ margin:0; font-size:1.04rem; }

/* powiązane */
.artrel{ margin-top:40px; padding-top:26px; border-top:1px solid var(--line); }
.artrel b{ display:block; color:var(--green-deep); font-size:1.15rem; margin-bottom:14px; }
.artrel .rl{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.artrel .rl a{ display:flex; gap:10px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:12px; padding:13px 15px; text-decoration:none; color:var(--green-deep); font-weight:600; font-size:.97rem; box-shadow:var(--shadow); }
.artrel .rl a:hover{ border-color:var(--gold); }
.artrel .rl a .ci{ color:var(--gold-dark); flex-shrink:0; }
@media(max-width:700px){ .artrel .rl{ grid-template-columns:1fr; } }

/* ---------- SIDEBAR: doradca + mini formularz ---------- */
.artside{ position:sticky; top:96px; display:flex; flex-direction:column; gap:18px; }
.sidecard{ background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow-lg); padding:22px 22px 24px; }
.advisor{ text-align:center; }
.advisor .ava{ width:104px; height:104px; margin:0 auto 12px; border-radius:50%; overflow:hidden; box-shadow:0 8px 22px rgba(30,57,67,.18); border:3px solid #fff; }
.advisor .ava svg, .advisor .ava img{ width:100%; height:100%; display:block; object-fit:cover; }
.advisor h3{ color:var(--green-deep); font-size:1.18rem; margin:0 0 2px; }
.advisor .role{ color:var(--ink-soft); font-size:.92rem; margin:0 0 12px; }
.advisor .promise{ display:inline-flex; align-items:center; gap:8px; font-size:.86rem; font-weight:700; color:var(--green-deep); background:var(--cream-2); border-radius:50px; padding:7px 14px; margin-bottom:14px; }
.advisor .promise .dot{ width:9px; height:9px; border-radius:50%; background:var(--ok); box-shadow:0 0 0 0 rgba(63,125,87,.6); animation:tlpulse 2s infinite; }
.advisor .bigphone{ display:flex; align-items:center; justify-content:center; gap:9px; font-size:1.5rem; font-weight:800; color:var(--green-deep); text-decoration:none; margin-bottom:4px; }
.advisor .sub{ color:var(--ink-soft); font-size:.86rem; margin:0 0 14px; }
.sideform .lrow{ margin-bottom:10px; }
.sideform input,.sideform textarea{ width:100%; font:inherit; font-size:16px; padding:12px 14px; border:2px solid var(--line); border-radius:11px; background:#f6f8f5; }
.sideform input:focus,.sideform textarea:focus{ border-color:var(--gold); background:#fff; outline:none; }
.sideform .btn{ width:100%; justify-content:center; }
.sideform .form-ok{ display:none; margin-top:10px; font-size:.92rem; }
.sidecard.note{ background:var(--cream); }
.sidecard.note b{ color:var(--green-deep); }
.sidecard.note ul{ list-style:none; padding:0; margin:10px 0 0; display:flex; flex-direction:column; gap:9px; }
.sidecard.note ul li{ position:relative; padding-left:26px; font-size:.97rem; color:var(--ink); }
.sidecard.note ul li .ci{ position:absolute; left:0; top:1px; color:var(--gold-dark); }

@media(max-width:980px){
  .artwrap{ grid-template-columns:1fr; }
  .artside{ position:static; }
  .artside .sidecard.note{ display:none; }
}

/* ---------- O NAS: zespół, wartości, wnętrza ---------- */
.values{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.value{ background:#fff; border:1px solid var(--line); border-radius:16px; padding:24px 22px; box-shadow:var(--shadow); }
.value .vi{ width:50px; height:50px; display:grid; place-items:center; border-radius:12px; background:var(--cream-2); color:var(--gold-dark); margin-bottom:14px; }
.value h3{ color:var(--green-deep); font-size:1.18rem; margin:0 0 8px; }
.value p{ color:var(--ink-soft); margin:0; font-size:1rem; line-height:1.6; }
@media(max-width:860px){ .values{ grid-template-columns:1fr; } }
.team{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.tcard{ background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden; box-shadow:var(--shadow); text-align:center; }
.tcard .tphoto{ aspect-ratio:1/1; background-size:cover; background-position:center; background-color:#e7ece8; }
.tcard .tbody{ padding:18px 16px 20px; }
.tcard h3{ color:var(--green-deep); font-size:1.12rem; margin:0 0 3px; }
.tcard .role{ color:var(--gold-dark); font-weight:700; font-size:.9rem; margin:0 0 8px; }
.tcard p{ color:var(--ink-soft); font-size:.93rem; margin:0; }
@media(max-width:860px){ .team{ grid-template-columns:1fr 1fr; } }
@media(max-width:520px){ .team{ grid-template-columns:1fr; } }
.gallery{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.gallery .g{ aspect-ratio:4/3; border-radius:14px; background-size:cover; background-position:center; box-shadow:var(--shadow); }
@media(max-width:760px){ .gallery{ grid-template-columns:1fr 1fr; } }
.ph-note{ font-size:.82rem; color:var(--ink-soft); text-align:center; margin-top:10px; font-style:italic; }

/* ---------- DORADCA przy formularzu (obecność człowieka) ---------- */
.tcard .tphoto svg{ width:100%; height:100%; display:block; }
.leadband .ladv{ display:flex; gap:14px; align-items:center; margin-bottom:16px; }
.leadband .ladv .ava{ width:68px; height:68px; border-radius:50%; overflow:hidden; border:3px solid #fff; box-shadow:var(--shadow); flex-shrink:0; }
.leadband .ladv .ava svg{ width:100%; height:100%; display:block; }
.leadband .ladv b{ color:var(--green-deep); display:block; font-size:1.06rem; }
.leadband .ladv span{ color:var(--ink-soft); font-size:.9rem; }
.contact-advisor{ display:flex; gap:14px; align-items:center; justify-content:center; margin:0 auto 18px; max-width:560px; background:#fff; border:1px solid var(--line); border-radius:14px; padding:14px 18px; box-shadow:var(--shadow); }
.contact-advisor .ava{ width:62px; height:62px; border-radius:50%; overflow:hidden; border:3px solid #fff; box-shadow:var(--shadow); flex-shrink:0; }
.contact-advisor .ava svg{ width:100%; height:100%; display:block; }
.contact-advisor b{ color:var(--green-deep); display:block; }
.contact-advisor span{ color:var(--ink-soft); font-size:.92rem; }
.onas-photo{ border-radius:18px; overflow:hidden; box-shadow:var(--shadow-lg); }
.onas-photo img{ width:100%; height:auto; display:block; }
.how-steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; counter-reset:hs; }
.how-step{ background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px 20px; box-shadow:var(--shadow); position:relative; }
.how-step .n{ width:38px; height:38px; border-radius:50%; background:var(--green-deep); color:#fff; font-weight:700; display:grid; place-items:center; margin-bottom:12px; }
.how-step h3{ color:var(--green-deep); font-size:1.08rem; margin:0 0 6px; }
.how-step p{ color:var(--ink-soft); font-size:.96rem; margin:0; line-height:1.55; }
@media(max-width:860px){ .how-steps{ grid-template-columns:1fr 1fr; } }
@media(max-width:520px){ .how-steps{ grid-template-columns:1fr; } }

/* ---------- OPEN contact bar (formularz otwarty na dole KAŻDEJ strony) ---------- */
.contactbar.open{ background:linear-gradient(135deg,#eef3ef,#f6f8f5); color:var(--ink); border-top:1px solid var(--line); }
.contactbar.open .container{ display:grid; grid-template-columns:1.05fr .95fr; gap:30px; align-items:center; padding:34px 22px; }
.contactbar.open .cb-l{ display:flex; gap:16px; align-items:center; }
.contactbar.open .cb-adv .ava{ width:76px; height:76px; border-radius:50%; overflow:hidden; border:3px solid #fff; box-shadow:var(--shadow); flex-shrink:0; }
.contactbar.open .cb-adv .ava svg{ width:100%; height:100%; display:block; }
.contactbar.open .txt h3{ color:var(--green-deep); font-size:1.4rem; margin:0 0 4px; }
.contactbar.open .txt p{ color:var(--ink-soft); margin:0 0 8px; max-width:46ch; }
.contactbar.open .cb-phone{ font-size:1.32rem; font-weight:800; color:var(--green-deep); text-decoration:none; display:inline-flex; gap:8px; align-items:center; }
.contactbar.open .cb-form{ background:#fff; border-radius:16px; box-shadow:var(--shadow-lg); padding:20px; }
.contactbar.open .cb-form .lrow{ margin-bottom:10px; }
.contactbar.open .cb-form input{ width:100%; font:inherit; font-size:16px; padding:12px 14px; border:2px solid var(--line); border-radius:11px; background:#f6f8f5; }
.contactbar.open .cb-form input:focus{ border-color:var(--gold); background:#fff; outline:none; }
.contactbar.open .cb-form .btn{ width:100%; justify-content:center; }
.contactbar.open .cb-form .form-ok{ display:none; margin-top:10px; font-size:.92rem; }
@media(max-width:820px){ .contactbar.open .container{ grid-template-columns:1fr; gap:20px; } }

/* czytelniejsze meta + „Czytaj" jako widoczna pigułka (dla starszych — bez hover) */
.artmeta span{ color:var(--green-soft); font-weight:600; }
.bcard .more{ display:inline-block; margin-top:auto; background:var(--cream-2); color:var(--gold-dark) !important; font-weight:700; padding:9px 16px; border-radius:50px; align-self:flex-start; }
.bcard:hover .more{ background:var(--gold); color:#fff !important; }
.mapwrap.big{ max-width:1000px; margin:0 auto; }
.mapwrap.big iframe{ width:100%; height:460px; border:0; border-radius:16px; display:block; box-shadow:var(--shadow); }
.cat-more{ margin:6px 0 46px; text-align:center; }
.cat-more a{ display:inline-flex; gap:8px; align-items:center; background:var(--green-deep); color:#fff; font-weight:700; padding:12px 26px; border-radius:50px; text-decoration:none; box-shadow:var(--shadow); font-size:1.02rem; }
.cat-more a:hover{ background:var(--gold-dark); }

/* ---------- KAFLE USŁUG ZE ZDJĘCIEM (czytelność wizualna sekcji) ---------- */
.stiles{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.stile{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden; box-shadow:var(--shadow); transition:.18s; text-decoration:none; min-width:0; }
.stile:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lg); border-color:var(--gold-soft); }
.stile .simg{ aspect-ratio:16/10; background-size:cover; background-position:center; background-color:#e7ece8; }
.stile .sbody{ padding:16px 20px 20px; display:flex; flex-direction:column; flex:1; }
.stile .shead{ display:flex; align-items:center; gap:11px; margin-bottom:8px; }
.stile .shead .sic{ width:42px; height:42px; border-radius:11px; background:var(--cream-2); color:var(--gold-dark); display:grid; place-items:center; flex-shrink:0; }
.stile .shead .sic svg{ width:22px; height:22px; }
.stile .shead b{ color:var(--green-deep); font-size:1.14rem; line-height:1.2; }
.stile .sdesc{ color:var(--ink-soft); font-size:.96rem; line-height:1.5; flex:1; margin-bottom:12px; }
.stile .smore{ color:var(--gold-dark); font-weight:700; font-size:.93rem; }
@media(max-width:900px){ .stiles{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ .stiles{ grid-template-columns:1fr; } }
.svc-group .stiles{ margin-top:4px; }

/* Source: assets/css/site-pl.css */
/* =========================================================
   ZGODA COOKIES (RODO/ePrivacy) — modal blokujący do wyboru.
   Czytelny, responsywny; na mobile NIE zajmuje całego ekranu.
   ========================================================= */
.tlcc-overlay{
  position:fixed; inset:0; z-index:5000; display:none;
  background:rgba(20,30,34,.55); backdrop-filter:saturate(.9) blur(2px);
  align-items:center; justify-content:center; padding:18px;
}
.tlcc-overlay.show{ display:flex; }
.tlcc{
  background:#fff; border-radius:18px; box-shadow:0 30px 80px rgba(0,0,0,.35);
  max-width:560px; width:100%; max-height:88vh; overflow:auto; padding:28px 28px 24px;
  font-family:'Source Sans 3',sans-serif;
}
.tlcc h2{ font-family:'Fraunces',serif; color:#1e3943; font-size:1.45rem; margin:0 0 8px; }
.tlcc p{ color:#4a565a; font-size:1rem; line-height:1.6; margin:0 0 14px; }
.tlcc a{ color:#806039; font-weight:700; text-decoration:underline; }
.tlcc-prefs{ display:flex; flex-direction:column; gap:10px; margin:6px 0 16px; }
.tlcc-cat{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  border:1px solid #e6e9e3; border-radius:12px; padding:13px 15px; background:#f6f8f5;
}
.tlcc-cat b{ color:#1e3943; display:block; font-size:1.02rem; }
.tlcc-cat small{ color:#4a565a; display:block; font-size:.9rem; }
.tlcc-sw{ position:relative; width:48px; height:28px; flex-shrink:0; }
.tlcc-sw input{ position:absolute; opacity:0; width:0; height:0; }
.tlcc-sw .track{ position:absolute; inset:0; background:#cdd3cd; border-radius:30px; transition:.2s; cursor:pointer; }
.tlcc-sw .track::before{ content:""; position:absolute; width:22px; height:22px; left:3px; top:3px; background:#fff; border-radius:50%; transition:.2s; box-shadow:0 1px 3px rgba(0,0,0,.3); }
.tlcc-sw input:checked + .track{ background:#42707b; }
.tlcc-sw input:checked + .track::before{ transform:translateX(20px); }
.tlcc-sw input:disabled + .track{ background:#b08d57; opacity:.7; cursor:not-allowed; }
.tlcc-actions{ display:flex; flex-wrap:wrap; gap:10px; }
.tlcc-actions .tlcc-btn{
  flex:1 1 auto; min-width:140px; text-align:center; justify-content:center;
  display:inline-flex; align-items:center; gap:8px; padding:14px 18px; border-radius:12px;
  font-weight:700; font-size:1.02rem; cursor:pointer; border:2px solid transparent; transition:.18s;
}
.tlcc-btn.gold{ background:#b08d57; color:#fff; }
.tlcc-btn.gold:hover{ background:#9c7a48; }
.tlcc-btn.ghost{ background:#fff; border-color:#1e3943; color:#1e3943; }
.tlcc-btn.ghost:hover{ background:#eef3ef; }
.tlcc-btn.green{ background:#1e3943; color:#fff; }
.tlcc-foot{ margin-top:14px; font-size:.85rem; color:#7c878b; }
.tlcc-settings-link{ cursor:pointer; }

@media(max-width:560px){
  .tlcc-overlay{ align-items:flex-end; padding:0; }
  .tlcc{ max-width:100%; border-radius:18px 18px 0 0; max-height:86vh; padding:22px 18px 18px; }
  .tlcc-actions .tlcc-btn{ flex:1 1 100%; }
}
@media(prefers-reduced-motion:reduce){ .tlcc-overlay{ backdrop-filter:none; } }

/* poprawka: atrybut hidden ma działać mimo display:flex */
.tlcc [hidden]{ display:none !important; }

/* Native dialog supplies focus containment, Escape and background inertness. */
dialog.tlcc-overlay { margin:0; border:0; width:100%; height:100%; max-width:none; max-height:none; box-sizing:border-box; color:inherit; }
dialog.tlcc-overlay[open] { display:flex; }
dialog.tlcc-overlay::backdrop { background:transparent; }
.tlcc-cat input[type="checkbox"] { width:24px; height:24px; flex-shrink:0; accent-color:#1e3943; }
.tlcc-settings-link { display:inline-block; border:0; padding:4px 0; font:inherit; color:inherit; background:none; text-decoration:underline; }
.tlcc button:focus-visible, .tlcc input:focus-visible, .tlcc-settings-link:focus-visible { outline:3px solid #42707b; outline-offset:3px; }
.tlcc-storage { margin-top:14px; }
@media(max-width:760px) {
  body .tl-callbar a { padding:8px 12px; min-height:60px; box-sizing:border-box; }
  .tl-callbar svg { flex:none; }
  .tl-callbar-copy { display:flex; flex-direction:column; text-align:center; line-height:1.15; }
  .tl-callbar-copy small { font-size:.78rem; }
  .tl-callbar-copy strong { white-space:nowrap; font-size:1.12rem; }
}

/* Terra Levis gallery intro contrast 2026-09-08 */
.hero.sub > .gal-note {
  position:relative; z-index:1; box-sizing:border-box;
  width:calc(100% - 44px); max-width:1120px;
  margin-left:auto; margin-right:auto; padding:20px 24px;
  background:#fff; border-radius:14px; color:#1b3b2f;
  box-shadow:0 4px 20px rgba(0,0,0,.08);
}
.hero.sub > .gal-note p { margin:0; color:#1b3b2f; }
.hero.sub > .gal-note a { color:#1b3b2f; text-decoration:underline; text-underline-offset:3px; }
.hero.sub > .gal-note a:focus-visible { outline:3px solid #1b3b2f; outline-offset:3px; }
@media(max-width:560px) { .hero.sub > .gal-note { padding:18px; text-align:left; } }

/* Phone alternatives must be distinguishable without color alone. */
.form-availability a { text-decoration:underline; text-underline-offset:3px; }
.form-availability a:focus-visible { outline:3px solid #1e3943; outline-offset:3px; }

/* Footer logo: keep the client's original black artwork on its white field.
   The legacy footer rule in calc-fix.css inverts every image, which made the
   direct brand logo white on white while the award badges happened to reset
   that filter separately. Scope the reset to the direct PL brand image only. */
html:lang(pl) footer.site .foot-brand > img[src*="terra-logo-klient"] {
  filter:none !important;
  opacity:1;
}

/* Source: assets/css/header-dark.css */
/* ============================================================
   TERRA LEVIS - NAGŁÓWEK Z ORYGINALNYM CZARNYM LOGO
   Wersja publikacyjna zgodna z ostatnią instrukcją klienta:
   użyć oryginalnego czarnego znaku, nie złotej przeróbki.
   Ładowany PO theme-light.css.
   ============================================================ */

header.site{
  background:#fbf8f0;
  border-bottom:1px solid rgba(176,141,87,.42);
  box-shadow:0 2px 18px rgba(30,57,67,.12);
}

/* Oryginalny czarny znak w układzie poziomym. */
header.site .logo img{ height:auto !important; width:min(62vw,340px) !important; }
header.site .container{ padding-top:8px; padding-bottom:8px; }
@media(max-width:1100px){ header.site .logo img{ width:min(48vw,290px) !important; } }
/* poniżej 560 px wchodzi oryginalna wersja skrócona */

/* menu na jasnym tle */
header.site nav.main{ background:transparent; }
header.site nav.main a{ color:var(--ink-soft); }
header.site nav.main a:hover,
header.site nav.main a:focus-visible,
header.site nav.main a.active{ background:var(--cream-2); color:var(--green-deep); }
header.site nav.main a.cta{ background:var(--gold); color:#fff; }
header.site nav.main a.cta:hover{ background:var(--gold-soft); color:#1a2b21; }
header.site .nav-svc>a::after{ opacity:.8; }

/* rozwijane usługi zostaje jasne - czytelność listy.
   UWAGA: pozycje muszą mieć własny, ciemny kolor - inaczej dziedziczą kremowy
   z ciemnego nagłówka i są niewidoczne na białym tle. */
header.site .nav-svc .submenu{ background:#fff; border-color:rgba(176,141,87,.35); }
header.site .nav-svc .submenu a{ color:var(--ink) !important; font-weight:600; }
header.site .nav-svc .submenu a:hover,
header.site .nav-svc .submenu a:focus-visible{ background:var(--cream-2) !important; color:var(--green-deep) !important; }
header.site .nav-svc .submenu .col-h{ color:var(--gold-dark); }

/* Rozwijane „Usługi" na desktopie.
   Było: dwie kolumny (9 i 13 pozycji), panel wysoki na 584 px, a nagłówek
   „Trumny, urny, kwiaty i więcej" łamał się na dwie linie. Teraz trzy kolumny
   po 6-9 pozycji i krótki nagłówek „Asortyment".
   Panel kotwiczymy prawą krawędzią: „Usługi" leży w prawej części nagłówka,
   więc otwieranie w prawo wychodziło poza ekran na węższych monitorach. */
/* Strzałka przy „Usługi" była podwójna: jedna jako <span class="nav-caret"> w kodzie,
   druga z reguły .nav-svc>a::after w theme-light.css. Zostaje ta z kodu, bo obraca
   się przy otwartym akordeonie na telefonie. */
header.site .nav-svc > a::after{ content:none !important; }

@media(min-width:1025px){
  /* Panel wyjeżdża na CAŁĄ SZEROKOŚĆ ekranu, pod nagłówkiem.
     Punktem odniesienia jest header.site (ma position:sticky), dlatego
     .nav-svc musi tu mieć position:static - inaczej panel liczyłby się
     względem samej pozycji „Usługi" i zostałby wąskim dymkiem.
     Kolumny wyrównują się do kontenera strony przez padding liczony z 100vw. */
  header.site .nav-svc{ position:static; }
  header.site .nav-svc .submenu{
    position:absolute; left:0; right:0; top:100%;
    width:auto; min-width:0; max-width:none;
    border:0; border-top:1px solid rgba(176,141,87,.30);
    border-radius:0; background:#fff;
    box-shadow:0 24px 48px rgba(16,28,22,.20);
    padding:32px max(24px,calc((100vw - 1180px)/2)) 36px;
    grid-template-columns:repeat(3,minmax(0,1fr)) minmax(240px,300px);
    gap:2px 44px; align-items:start;
    /* Panel ma 491 px wysokości. Na niższym oknie wychodził poza ekran i przy
       próbie zjechania do dolnych pozycji kursor opuszczał menu, więc panel
       się zamykał. Teraz nigdy nie przekracza widocznego obszaru i przewija
       się w środku, a przewijanie nie „przecieka" na stronę pod spodem. */
    max-height:calc(100vh - 128px);
    overflow-y:auto; overscroll-behavior:contain;
  }
  /* MOSTEK NAJECHANIA.
     Między dolną krawędzią pozycji „Usługi" (111 px) a górną krawędzią panelu
     (125 px) było 14 px tła nagłówka. Kursor wędrujący w dół wpadał tam
     w .container, tracił najechanie i panel się zamykał, zanim dało się w niego
     wejść. Najbardziej dawało się we znaki w Safari. Niewidoczny pasek pod
     linkiem domyka tę lukę. Siedzi na <a>, nie na panelu, bo panel ma własne
     przewijanie i przyciąłby go. */
  header.site .nav-svc > a{ position:relative; }
  header.site .nav-svc > a::before{
    content:""; position:absolute; left:-14px; right:-14px; top:100%; height:22px;
  }
  /* otwarcie z klawiatury i po ustawieniu ogniska (Safari) */
  header.site .nav-svc:focus-within .submenu{ display:grid; }
  header.site .nav-svc .submenu .col-h{ white-space:nowrap; padding-top:14px; }
  header.site .nav-svc .submenu > div > .col-h:first-child{ padding-top:0; }
  header.site .nav-svc .submenu a{ padding:9px 10px; margin-left:-10px; font-size:1rem; }

  /* karta polecająca katalog - wypełnia czwartą kolumnę treścią, nie pustką */
  .svc-promo{
    display:block; padding:0 !important; border-radius:14px; overflow:hidden;
    background:var(--cream-2); border:1px solid var(--line);
    text-decoration:none; transition:.2s; margin-left:0 !important;
  }
  .svc-promo:hover{ box-shadow:0 14px 30px rgba(16,28,22,.16); transform:translateY(-2px); }
  .svc-promo img{ display:block; width:100%; height:132px; object-fit:cover; }
  .svc-promo .sp-tyt{
    display:block; padding:13px 15px 0; font-family:'Cormorant Garamond',serif;
    font-size:1.2rem; font-weight:600; color:var(--green-deep) !important;
  }
  .svc-promo .sp-txt{
    display:block; padding:5px 15px 0; font-size:.88rem; line-height:1.45;
    color:var(--ink-soft) !important; font-weight:400;
  }
  .svc-promo .sp-cta{
    display:block; padding:9px 15px 14px; font-size:.9rem; font-weight:700;
    color:var(--gold-dark) !important;
  }
}
@media(min-width:1025px) and (max-width:1150px){
  /* na ciasnym monitorze karta ustępuje miejsca listom */
  header.site .nav-svc .submenu{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .svc-promo{ display:none; }
}
@media(max-width:1024px){
  .svc-promo{ display:none; }   /* w akordeonie na telefonie karta byłaby balastem */
}

/* hamburger - wyraźna ikona SVG zamiast znaku ☰ (uwaga: był nieczytelny) */
header.site .burger{
  color:var(--green-deep); background:#fff; border:1px solid rgba(30,57,67,.22);
  border-radius:12px; width:52px; height:46px; display:none;
  align-items:center; justify-content:center; padding:0; cursor:pointer;
}
header.site .burger svg{ display:block; width:28px; height:28px; }
header.site .burger:hover,
header.site .burger[aria-expanded="true"]{ background:var(--gold); border-color:var(--gold); color:#fff; }
@media(max-width:1024px){ header.site .burger{ display:flex; } }

/* logo na małych ekranach: wersja bez dwuwierszowej nazwy (była nieczytelna).
   Wymiarowanie WYSOKOŚCIĄ - inaczej szeroki plik przycina się w wąskim nagłówku. */
@media(max-width:560px){
  header.site .logo{ min-width:0; flex:0 1 auto; }
  header.site .logo picture{ display:block; }
  header.site .logo img{ height:44px !important; width:auto !important; max-width:64vw; }
}

/* W stopce czarny oryginał otrzymuje jasne pole ochronne. */
footer.site .foot-brand > img[src*="terra-logo-klient"]{
  box-sizing:border-box;
  width:min(100%,300px) !important;
  height:auto !important;
  padding:12px 16px;
  background:#fff;
  border-radius:12px;
}

/* przycisk "Więcej o nas" i inne outline - widoczne na jasnym tle */
.btn-outline{
  background:#fff; color:var(--green-deep);
  border:2px solid var(--gold); box-shadow:0 6px 18px rgba(176,141,87,.18);
}
.btn-outline:hover{ background:var(--gold); color:#fff; }

/* ---- KARTY ZAUFANIA: ikona OBOK tytułu, nie nad nim ----
   Uwaga klienta: "za dużo miejsca zajmują te ikonki zegarka itd".
   Ikona stała w osobnym wierszu nad nagłówkiem, przez co każda karta rosła
   o wysokość ikony plus odstęp. Teraz ikona i tytuł dzielą pierwszy wiersz,
   opis idzie pod spodem na pełną szerokość. Ten sam układ na każdym ekranie. */
.why-card{
  display:grid; grid-template-columns:auto 1fr; column-gap:13px;
  align-items:center; padding:22px 22px;
}
.why-card .ic{
  grid-column:1; grid-row:1; margin:0 !important;
  display:flex; align-items:center; justify-content:center; font-size:1.5rem;
}
.why-card h3{ grid-column:2; grid-row:1; margin:0; }
.why-card p{ grid-column:1/-1; grid-row:2; margin:10px 0 0; }

@media(max-width:760px){
  .grid.g3{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
  .why-card{ padding:15px 14px; column-gap:10px; }
  .why-card .ic{ font-size:1.25rem; }
  .why-card .ic .ico{ width:20px; height:20px; }
  .why-card h3{ font-size:1.04rem; line-height:1.25; }
  .why-card p{ font-size:.92rem; line-height:1.45; margin-top:8px; }
}
@media(max-width:420px){ .grid.g3{ grid-template-columns:1fr; } }

/* Ten sam układ na kartach .card (Zaufanie, O nas, oddziały).
   Warunek :has() ogranicza regułę do kart zbudowanych z ikony, tytułu i opisu,
   więc kafelki ze zdjęciem zostają nietknięte. */
.card:has(> .ic + h3){
  display:grid; grid-template-columns:auto 1fr; column-gap:13px; align-items:center;
}
.card:has(> .ic + h3) > .ic{
  grid-column:1; grid-row:1; margin:0 !important;
  display:flex; align-items:center; justify-content:center;
}
.card:has(> .ic + h3) > h3{ grid-column:2; grid-row:1; margin:0; }
.card:has(> .ic + h3) > p{ grid-column:1/-1; grid-row:2; margin:10px 0 0; }

/* ---- MOBILE: ocena Google jako jeden zwarty pasek (moduł był bardzo wysoki) ---- */
@media(max-width:760px){
  .gbadge{
    padding:14px !important; display:grid;
    grid-template-columns:auto auto 1fr; gap:2px 10px;
    align-items:center; text-align:left !important;
  }
  .gbadge .glogo{ grid-row:span 2; width:36px; height:36px; }
  .gbadge .gword{ display:none; }                 /* logo Google mówi to samo */
  .gbadge .grate{ font-size:1.9rem !important; line-height:1; margin:0 !important; }
  .gbadge .gstars{ font-size:1.05rem; letter-spacing:1px; justify-self:start; }
  .gbadge .gcount{ grid-column:2/-1; font-size:.85rem; line-height:1.3; margin:0 !important; }
  .gbadge .btn{ grid-column:1/-1; margin-top:12px; padding:12px 16px; font-size:1rem; }
  .gbadge .gsmall{ grid-column:1/-1; margin-top:6px; font-size:.9rem; }
  .grev-card{ flex:0 0 86% !important; padding:16px 16px 14px !important; }
  .grev-card p{ font-size:.95rem; line-height:1.5; }
}

/* ============================================================
   MOBILE MENU - przebudowa (panel miał 1388 px przy oknie 812 px,
   a podmenu usług było zawsze rozwinięte). Teraz: panel z własnym
   przewijaniem + "Usługi" jako akordeon z dwiema kolumnami.
   ============================================================ */
@media(max-width:1024px){
  header.site nav.main{
    background:#16261d; border-bottom:1px solid rgba(176,141,87,.35);
    max-height:calc(100vh - 66px); overflow-y:auto; -webkit-overflow-scrolling:touch;
    padding:10px 12px 20px; gap:2px; box-shadow:0 18px 40px rgba(0,0,0,.4);
  }
  header.site nav.main a{ color:#f2eee2; }
  header.site nav.main > a{ padding:14px; font-size:1.05rem; border-radius:12px; }
  header.site nav.main > a + a{ border-top:1px solid rgba(242,238,226,.09); }

  /* "Usługi" - akordeon */
  header.site .nav-svc{ display:block; width:100%; }
  header.site .nav-svc > a{
    display:flex; align-items:center; justify-content:space-between;
    padding:14px; font-size:1.05rem; border-radius:12px;
  }
  header.site .nav-svc > a::after{ content:none; }        /* stara strzałka - zastąpiona .nav-caret */
  header.site .nav-caret{ transition:transform .18s ease; opacity:.75; font-size:.9em; }
  header.site .nav-svc.is-open .nav-caret{ transform:rotate(180deg); }

  /* podmenu: domyślnie schowane, hover/focus nie rozwija (to nie desktop).
     !important konieczne - theme-light.css ma w bloku mobilnym `display:grid !important`. */
  header.site .nav-svc .submenu,
  header.site .nav-svc:hover .submenu,
  header.site .nav-svc:focus-within .submenu{ display:none !important; }
  header.site .nav-svc.is-open .submenu{
    display:grid !important; grid-template-columns:1fr 1fr; gap:2px 8px;
    position:static; min-width:0; width:100%;
    background:rgba(255,255,255,.06); border:1px solid rgba(242,238,226,.10);
    box-shadow:none; border-radius:12px; padding:6px; margin:2px 0 8px;
  }
  header.site .nav-svc .submenu > div{ display:contents; }  /* kolumny z desktopu - rozpłaszczone */
  header.site .nav-svc .submenu a{
    color:#e9e4d6 !important; background:none !important;
    font-size:.97rem; font-weight:600; padding:11px 8px; white-space:normal; line-height:1.25;
  }
  header.site .nav-svc .submenu a:active{ background:rgba(255,255,255,.12) !important; }
  header.site .nav-svc .submenu .col-h{
    grid-column:1 / -1; padding:11px 8px 3px; margin:0;
    color:var(--gold-soft); font-size:.8rem; letter-spacing:1.4px;
  }
}
@media(max-width:380px){
  header.site .nav-svc.is-open .submenu{ grid-template-columns:1fr; }
}

/* Wyrazniejszy podzial kategorii uslug na stronie glownej (rozmowa 28.07).
   Tytuly grup byly ledwie wieksze od nazw uslug w kafelkach, przez co nie
   pelnily roli drogowskazu - stad wyrazny skok wielkosci. */
.svc-group{ margin-top:3.2rem; padding-top:2.2rem; border-top:1px solid var(--line); }
.svc-group:first-of-type{ margin-top:1rem; padding-top:0; border-top:0; }
.svc-group h3{
  font-size:2.05rem; line-height:1.15; margin-bottom:1.4rem;
  color:var(--green-deep); letter-spacing:.2px;
}
.svc-group h3 .ico,.svc-group h3 svg{ width:1.05em; height:1.05em; }
@media(max-width:760px){ .svc-group h3{ font-size:1.68rem; } .svc-group{ margin-top:2.4rem; padding-top:1.7rem; } }

/* oznaczenie modelu w katalogu (z nazw plików klienta) */
.gallery figcaption .model{
  display:inline-block; margin-left:6px; padding:1px 8px;
  background:var(--cream-2); border:1px solid var(--line); border-radius:999px;
  font-size:.82em; font-weight:700; color:var(--gold-text); letter-spacing:.2px;
}

/* Sekcja "Kto odbierze Państwa telefon" - zespół per punkt (prośba klienta 28.07) */
.people{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.person{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); }
.person .pimg img{ width:100%; height:auto; display:block; aspect-ratio:1/1; object-fit:cover; }
.person .pbody{ padding:14px 16px 16px; }
.person .pbody b{ display:block; font-family:'Cormorant Garamond',serif; font-size:1.35rem; color:var(--green-deep); }
.person .pwhere{ display:block; font-size:.86rem; color:var(--gold-text); font-weight:700; margin:2px 0 6px; }
.person .pbody p{ font-size:.94rem; line-height:1.45; margin:0 0 10px; color:var(--ink-soft); }
.person .pphone{ display:inline-flex; align-items:center; gap:8px; font-weight:800; color:var(--green-deep); }
@media(max-width:900px){ .people{ grid-template-columns:1fr 1fr; gap:12px; } .person .pbody{ padding:12px; } }
@media(max-width:430px){ .person .pbody b{ font-size:1.2rem; } .person .pbody p{ font-size:.9rem; } }

/* Lista zakresu opieki w dwóch kolumnach - w jednej zajmowała pół ekranu. */
.checks.dwie{ grid-template-columns:1fr 1fr; column-gap:34px; }
@media(max-width:760px){ .checks.dwie{ grid-template-columns:1fr; } }

/* Karty ze zdjęciem zamiast pustych ramek z samym tekstem
   (uwaga Dawida: "te ramki są martwe"). */
.ic-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:2.4rem; }
.ic-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  overflow:hidden; box-shadow:var(--shadow); display:flex; flex-direction:column;
  transition:box-shadow .22s, transform .22s;
}
.ic-card:hover{ box-shadow:var(--shadow-lg); transform:translateY(-4px); }
.ic-img{ position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--cream-2); }
.ic-img img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease; }
.ic-card:hover .ic-img img{ transform:scale(1.05); }
.ic-img::after{
  content:""; position:absolute; inset:auto 0 0 0; height:46%;
  background:linear-gradient(to top,rgba(16,28,22,.28),transparent);
}
.ic-body{ padding:20px 22px 22px; display:flex; flex-direction:column; flex:1; }
.ic-body h3{ font-size:1.28rem; color:var(--green-deep); margin:0 0 9px; line-height:1.25; }
.ic-body p{ color:var(--ink-soft); font-size:1rem; line-height:1.6; margin:0 0 16px; }
.ic-link{
  margin-top:auto; align-self:flex-start; display:inline-flex; align-items:center; gap:8px;
  font-weight:700; color:var(--gold-dark); border-bottom:1px solid transparent;
}
.ic-link span{ transition:transform .2s; }
.ic-link:hover{ color:var(--green-deep); border-bottom-color:var(--gold); }
.ic-link:hover span{ transform:translateX(4px); }
@media(max-width:980px){ .ic-grid{ grid-template-columns:1fr 1fr; } }
@media(max-width:640px){ .ic-grid{ grid-template-columns:1fr; gap:16px; } .ic-body{ padding:16px 18px 18px; } }

/* Source: assets/css/jezyki.css */
/* ============================================================
   TERRA LEVIS - przełącznik języka + drobiazgi wersji obcojęzycznych
   ============================================================ */

/* PRZEŁĄCZNIK JĘZYKA
   Pierwsza wersja to były trzy kody obok siebie na ciemnym pasku. Czytały się
   jak jedno słowo „PLUAEN" i nikt nie rozpoznawał w tym elementu klikalnego.
   Teraz: ikona globusa, obwódka wokół całości i wyraźnie oddzielone pola,
   a język bieżący ma złote tło. Od razu widać, że to przełącznik i który
   język jest włączony. */
.topbar .langs{
  display:inline-flex; align-items:center; gap:3px;
  margin-left:auto; padding:3px 8px 3px 9px; flex:0 0 auto;
  border:1px solid rgba(255,255,255,.30); border-radius:999px;
  background:rgba(0,0,0,.22);
}
.topbar .langs .lang-ico{
  width:15px; height:15px; margin-right:3px; opacity:.7; flex:0 0 auto;
}
.topbar .langs a{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:34px; height:24px; padding:0 8px; border-radius:999px;
  font-size:.76rem; font-weight:800; letter-spacing:.8px; line-height:1;
  color:rgba(255,255,255,.86); text-decoration:none; transition:.16s;
}
.topbar .langs a:hover,
.topbar .langs a:focus-visible{ background:rgba(255,255,255,.18); color:#fff; }
.topbar .langs a.is-on{
  background:var(--gold); color:#fff;
  box-shadow:0 2px 8px rgba(176,141,87,.45);
}
.topbar .langs a.is-on:hover{ background:var(--gold); }

@media(max-width:900px){
  .topbar .container{ flex-wrap:wrap; row-gap:5px; }
  .topbar .left{ order:3; flex:1 0 100%; font-size:.78rem; }
  .topbar .phones{ flex:0 1 auto; }
}
@media(max-width:560px){
  /* na wąskim ekranie w pierwszym rzędzie liczy się telefon i język */
  .topbar .left{ display:none; }
  .topbar .phones a + a{ display:none; }        /* zostaje numer całodobowy */
  .topbar .langs{ padding:3px 6px; gap:2px; }
  .topbar .langs .lang-ico{ display:none; }
  .topbar .langs a{ min-width:44px; min-height:44px; padding:0 6px; font-size:.73rem; }
}

/* Menu wersji obcojęzycznej jest płaskie, bez rozwijanego panelu usług, ale ma
   siedem pozycji zamiast pięciu. Logo zostaje takie samo jak w wersji polskiej
   (340 px), a miejsce odzyskujemy węższymi odstępami pozycji na wąskich
   monitorach. Numeru telefonu w menu nie ma, tak jak po polsku, bo jest
   w pasku górnym i w nagłówku strony. */
html[lang="uk"] header.site nav.main,
html[lang="en"] header.site nav.main{ gap:2px; }
@media(min-width:1025px) and (max-width:1330px){
  html[lang="uk"] header.site nav.main > a,
  html[lang="en"] header.site nav.main > a{ padding:9px 10px; font-size:.95rem; }
}
@media(max-width:1024px){
  html[lang="uk"] header.site nav.main > a,
  html[lang="en"] header.site nav.main > a{ padding:13px 14px; font-size:1.02rem; }
}

/* Siatka galerii w wersjach obcojęzycznych (ten sam wygląd co po polsku) */
.gal-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
@media(max-width:900px){ .gal-grid{ grid-template-columns:1fr 1fr; gap:14px; } }
@media(max-width:520px){ .gal-grid{ grid-template-columns:1fr; } }

/* Dopóki trwa korekta, informacja w stopce - dyskretna, ale widoczna. */
.copy .robocza{
  display:block; margin-top:6px; font-size:.82em; opacity:.62; font-style:italic;
}

/* Lista wypunktowana w dwóch kolumnach na stronach obcojęzycznych */
.sek .checks.dwie{ grid-template-columns:1fr 1fr; column-gap:34px; }
@media(max-width:760px){ .sek .checks.dwie{ grid-template-columns:1fr; } }

/* Blok „split" na stronach obcojęzycznych ma to samo tempo co reszta sekcji */
.sek .split{ display:grid; grid-template-columns:1.05fr 1fr; gap:56px; align-items:center; }
.sek .split .media img{ width:100%; height:auto; border-radius:14px; display:block;
  box-shadow:0 24px 60px rgba(30,57,67,.22); }
@media(max-width:1024px){ .sek .split{ grid-template-columns:1fr; gap:34px; } }

/* Source: assets/css/sekcje-projekt.css */
/* ============================================================
   TERRA LEVIS - sekcje wg projektu "O firmie i Zakres opieki v2"
   (Claude Design). Wartości kolorów i odstępów wzięte z makiety:
   granat #1e3943, złoto #b08d57, złoto jasne #cbb289.
   Ładowany PO header-dark.css.
   ============================================================ */

.sek{ padding:96px 24px 108px; position:relative; overflow:hidden; }
.sek .container{ max-width:1160px; margin:0 auto; padding:0; }

/* nagłówek nadsekcji: złota kreska + kapitaliki */
.kick-line{
  display:flex; align-items:center; gap:14px; margin:0 0 18px;
  font-size:13px; font-weight:700; letter-spacing:3px;
  text-transform:uppercase; color:#b08d57;
}
.kick-line span{ display:block; width:44px; height:1px; background:currentColor; flex:0 0 auto; }
.sek h2{
  font-family:'Cormorant Garamond',serif; font-weight:600; font-size:44px;
  line-height:1.12; color:#1e3943; margin:0 0 14px; text-wrap:pretty;
}
.sek h2 em{ font-style:italic; color:#b08d57; }
.sek-lead{ font-size:18px; line-height:1.55; color:#4b5f66; margin:0 0 14px; }

/* ---------- O FIRMIE ---------- */
.sek-firma{ background:#fff; }
.firma-split{ display:grid; grid-template-columns:1.05fr 1fr; gap:72px; align-items:center; }
.firma-txt{ min-width:0; }

.stat-grid{
  display:grid; grid-template-columns:1fr 1fr;
  border-top:1px solid rgba(30,57,67,.14); border-bottom:1px solid rgba(30,57,67,.14);
  margin:28px 0 26px;
}
.stat{ padding:20px 18px 20px 0; }
.stat:nth-child(2n){ padding:20px 0 20px 22px; border-left:1px solid rgba(30,57,67,.14); }
.stat:nth-child(-n+2){ border-bottom:1px solid rgba(30,57,67,.14); }
.stat b{
  display:flex; align-items:baseline; gap:9px; flex-wrap:wrap;
  font-family:'Cormorant Garamond',serif; font-size:34px;
  font-weight:600; color:#1e3943; line-height:1;
}
/* Ocena Google czytała się jak zbłąkana liczba obok trzech innych.
   Pięć gwiazdek od razu mówi, czym ta liczba jest. */
.stat .gwiazdki{
  font-family:'Source Sans 3',sans-serif; font-size:15px; letter-spacing:2px;
  color:#b08d57; line-height:1; position:relative; top:-2px;
}
.stat span{ display:block; font-size:14px; color:#6b7b81; margin-top:6px; line-height:1.35; }

.dash-list{ list-style:none; padding:0; margin:0 0 30px; display:grid; gap:10px; }
.dash-list li{ position:relative; padding-left:24px; font-size:16px; color:#3d5158; line-height:1.5; }
.dash-list li::before{ content:"—"; position:absolute; left:0; color:#b08d57; font-weight:700; }

.firma-cta{ display:flex; gap:14px; align-items:center; flex-wrap:wrap; }
.btn-pill-dark{
  display:inline-flex; align-items:center; gap:10px; background:#1e3943; color:#fff;
  font-weight:600; font-size:16px; padding:14px 28px; border-radius:44px; transition:.2s;
}
.btn-pill-dark:hover{ background:#162b33; color:#fff; }
.btn-pill-dark span{ font-size:18px; line-height:1; transition:transform .2s; }
.btn-pill-dark:hover span{ transform:translateX(4px); }
.tel-inline{
  display:inline-flex; align-items:center; gap:8px; color:#1e3943;
  font-weight:700; font-size:16px; padding:14px 6px;
}
.tel-inline:hover{ color:#b08d57; }
.tel-inline .ico{ color:#b08d57; }
.tel-inline span{ font-weight:500; color:#6b7b81; font-size:14px; }

/* kolaż: duże zdjęcie w przesuniętej ramce, małe od dołu, karta z cytatem */
.firma-kolaz{ position:relative; min-height:560px; }
.kolaz-ramka{
  position:absolute; top:24px; right:-14px; width:78%; height:88%;
  border:1px solid #cbb289; border-radius:14px;
}
.kolaz-duze{ position:absolute; top:0; right:24px; width:74%; height:78%; }
.kolaz-duze img{
  width:100%; height:100%; object-fit:cover; border-radius:14px; display:block;
  box-shadow:0 24px 60px rgba(30,57,67,.22);
}
.kolaz-male{ position:absolute; left:0; bottom:0; width:52%; height:38%; }
.kolaz-male img{
  width:100%; height:100%; object-fit:cover; border-radius:12px; display:block;
  border:6px solid #fff; box-shadow:0 18px 44px rgba(30,57,67,.28);
}
.kolaz-cytat{
  position:absolute; right:0; bottom:54px; width:250px; margin:0;
  background:#1e3943; color:#fff; border-radius:12px; padding:20px 22px;
  box-shadow:0 18px 40px rgba(30,57,67,.35);
}
.kolaz-cytat .cudzyslow{
  display:block; font-family:'Cormorant Garamond',serif; font-size:40px;
  line-height:.6; color:#cbb289; margin-bottom:10px;
}
.kolaz-cytat blockquote{
  margin:0; font-family:'Cormorant Garamond',serif; font-style:italic;
  font-size:19px; line-height:1.35;
}
.kolaz-cytat figcaption{
  font-size:12.5px; letter-spacing:2px; text-transform:uppercase;
  color:#cbb289; margin-top:12px;
}

/* ---------- ZAKRES OPIEKI (ciemna) ---------- */
.sek-zakres{ background:#1e3943; padding-bottom:104px; }
.sek-zakres .poswiata{
  position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(1100px 480px at 85% -10%, rgba(176,141,87,.14), transparent 65%);
}
.sek-zakres .container{ position:relative; }
.zakres-head{ max-width:640px; margin-bottom:54px; }
.zakres-head .kick-line{ color:#cbb289; }
.sek-zakres h2{ color:#fff; font-size:42px; line-height:1.14; }
.sek-zakres .sek-lead{ color:rgba(255,255,255,.72); font-size:17.5px; margin:0; }

.etapy{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.etap{
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12);
  border-radius:16px; overflow:hidden; display:flex; flex-direction:column; transition:.22s;
}
.etap:hover{ border-color:rgba(203,178,137,.55); }
.etap-foto{ position:relative; height:190px; }
.etap-foto img{ width:100%; height:100%; object-fit:cover; display:block; filter:saturate(.85); }
.etap-foto::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(30,57,67,.05) 40%,rgba(30,57,67,.85) 100%);
}
.etap-nr{
  position:absolute; left:20px; bottom:14px; z-index:1;
  font-family:'Cormorant Garamond',serif; font-size:15px; letter-spacing:3px;
  text-transform:uppercase; color:#cbb289;
}
.etap-body{ padding:26px 26px 30px; display:flex; flex-direction:column; gap:14px; flex:1; }
.etap-body h3{
  font-family:'Cormorant Garamond',serif; font-weight:600; font-size:27px;
  color:#fff; margin:0; line-height:1.2;
}
.etap-body ul{ list-style:none; padding:0; margin:0; display:grid; gap:11px; }
.etap-body li{
  position:relative; padding-left:20px; font-size:15.5px; line-height:1.45;
  color:rgba(255,255,255,.78);
}
.etap-body li::before{ content:"✓"; position:absolute; left:0; color:#cbb289; }

.zakres-stopka{
  margin-top:46px; display:flex; align-items:center; justify-content:space-between;
  gap:24px; border-top:1px solid rgba(255,255,255,.14); padding-top:30px; flex-wrap:wrap;
}
.zakres-stopka p{ margin:0; font-size:16.5px; color:rgba(255,255,255,.72); max-width:560px; line-height:1.5; }

.btn-pill-gold{
  display:inline-flex; align-items:center; gap:10px; background:#b08d57; color:#fff;
  font-weight:700; font-size:16.5px; padding:15px 30px; border-radius:46px;
  box-shadow:0 14px 32px rgba(176,141,87,.4); transition:.2s; white-space:nowrap;
}
.btn-pill-gold:hover{ background:#8a6c3f; color:#fff; }

/* ---------- NASI OPIEKUNOWIE ---------- */
.sek-zespol{ background:#fff; padding:92px 24px 100px; }
/* Portrety w jednym rzędzie, nie w siatce 2x2. Przy dwóch kolumnach zdjęcia
   robiły się bardzo duże i sekcja wyglądała ciężko (uwaga Dawida: "może
   mniejsze zdjęcia"). Cztery węższe kadry czytają się jak zespół, a nie
   jak galeria portretów. */
.zespol-split{ display:grid; grid-template-columns:.8fr 2fr; gap:56px; align-items:start; }
.zespol-txt{ position:sticky; top:96px; }
.sek-zespol h2{ font-size:38px; line-height:1.14; }
.sek-zespol .sek-lead{ font-size:16.5px; margin:0 0 26px; }
.zespol-siatka{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.opiekun{ margin:0; display:flex; flex-direction:column; }
.op-foto{
  border-radius:12px; overflow:hidden; aspect-ratio:3/3.5;
  box-shadow:0 12px 30px rgba(30,57,67,.14);
}
.op-foto img{ width:100%; height:100%; object-fit:cover; object-position:top; display:block; }
.opiekun figcaption{ padding:13px 2px 0; }
.opiekun b{
  display:block; font-family:'Cormorant Garamond',serif;
  font-weight:600; font-size:20px; color:#1e3943; line-height:1.2;
}
.opiekun span{ display:block; font-size:13px; color:#6b7b81; margin-top:3px; line-height:1.35; }

/* ---------- mniejsze ekrany ---------- */
@media(max-width:1024px){
  .sek{ padding:72px 20px 78px; }
  .sek h2{ font-size:36px; }
  .firma-split{ grid-template-columns:1fr; gap:44px; }
  .firma-kolaz{ min-height:0; display:grid; grid-template-columns:1fr 1fr; gap:16px; }
  .kolaz-ramka{ display:none; }
  .kolaz-duze,.kolaz-male,.kolaz-cytat{ position:static; width:auto; height:auto; }
  .kolaz-duze{ grid-column:1/-1; }
  .kolaz-duze img{ height:360px; }
  .kolaz-male img{ height:200px; border-width:0; }
  .kolaz-cytat{ align-self:center; }
  .etapy{ grid-template-columns:1fr 1fr; }
  .zespol-split{ grid-template-columns:1fr; gap:36px; }
  .zespol-txt{ position:static; }
  .zespol-siatka{ grid-template-columns:repeat(4,1fr); gap:14px; }
}
@media(max-width:720px){
  .sek{ padding:56px 18px 62px; }
  .sek h2{ font-size:29px; }
  .sek-lead{ font-size:16.5px; }
  .stat b{ font-size:27px; }
  .stat span{ font-size:13px; }
  .firma-kolaz{ grid-template-columns:1fr; }
  .kolaz-duze img{ height:280px; }
  .etapy{ grid-template-columns:1fr; }
  .etap-foto{ height:170px; }
  .zespol-siatka{ grid-template-columns:1fr 1fr; gap:14px 16px; }
  .zakres-stopka{ flex-direction:column; align-items:flex-start; }
  .btn-pill-gold{ font-size:15.5px; padding:14px 22px; white-space:normal; }
  .firma-cta{ gap:6px; }
}
/* Na telefonie cztery liczby w dwóch kolumnach robiły się ciasne i sprawiały
   wrażenie rozrzuconych. Jedna kolumna czyta się jak spokojna tabelka. */
@media(max-width:560px){
  .stat-grid{ grid-template-columns:1fr; margin:22px 0 22px; }
  .stat,.stat:nth-child(2n){ padding:15px 0; border-left:0; }
  .stat:nth-child(-n+2){ border-bottom:1px solid rgba(30,57,67,.14); }
  .stat:nth-child(3){ border-bottom:1px solid rgba(30,57,67,.14); }
  .stat:last-child{ border-bottom:0; }
  .stat b{ font-size:26px; }
  .stat span{ font-size:13.5px; margin-top:4px; }
}
@media(max-width:430px){
  .zespol-siatka{ grid-template-columns:1fr 1fr; }
  .opiekun b{ font-size:18px; }
  .opiekun span{ font-size:12.5px; }
}

/* Source: homepage-inline-layout */
.hero.bg1{position:relative;overflow:hidden}.hero.bg1::before{display:none!important}.hero-slideshow{position:absolute;inset:0;z-index:0;overflow:hidden}.hero-slideshow .hslide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.4s ease}.hero-slideshow .hslide.is-on{opacity:1}.hero-slideshow::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,rgba(16,28,22,.82) 0%,rgba(16,28,22,.56) 46%,rgba(16,28,22,.26) 100%)}.hero.bg1 .container{position:relative;z-index:2}.hero.bg1 .container h1,.hero.bg1 .container .lead{color:#fff!important;text-shadow:0 2px 16px rgba(0,0,0,.55)}.hero.bg1 .container h1 .accent{color:var(--gold-soft)!important}.hero.bg1 .container .eyebrow{background:rgba(255,255,255,.16)!important;border-color:rgba(255,255,255,.4)!important;color:#fff!important}.hero.bg1 .trust .item b,.hero.bg1 .trust .item span{color:#fff!important}.hero.bg1 .trust .item .ic{color:var(--gold-soft)!important}.hero.bg1 .btn-ghost{color:#fff!important;border-color:rgba(255,255,255,.6)!important;background:transparent!important}.hero.bg1 .btn-ghost:hover{background:rgba(255,255,255,.12)!important}@media(max-width:760px){.hero-slideshow::after{background:linear-gradient(180deg,rgba(16,28,22,.5) 0%,rgba(16,28,22,.74) 100%)}}@media(prefers-reduced-motion:reduce){.hero-slideshow .hslide{transition:none}}

/* Source: assets/css/anchor-offset.css */
/* Keep native fragment targets clear of the sticky header and reveal movement.
   PL rollout only; no scroll interception or history changes. */
html:lang(pl) {
  scroll-padding-top: 7rem;
}
