:root {
  --color-primary: #1a2e3d;
  --color-primary-light: #2b4a63;
  --color-primary-dark: #101d27;
  --color-accent: #c96f27;
  --color-accent-dark: #a85614;
  --color-accent2: #2f9fd0;
  --color-ink: #0b0e12;
}

/* ============================================================
   EMBER-NOIR — nocny granat + żar (ciepło kontra zimna noc)
   Split-hero, numerowane wiersze usług, Space Grotesk + Inter.
   Kolory TYLKO przez zmienne z configa (--color-*).
   ============================================================ */
:root {
  --night: var(--color-ink);              /* baza: głęboka petrolowa noc */
  --night-2: var(--color-primary);        /* powierzchnia sekcji */
  --night-3: var(--color-primary-light);  /* elevacja kart */
  --deep: var(--color-primary-dark);      /* najgłębsze (stopka) */
  --accent: var(--color-accent);          /* żar / ember */
  --accent-d: var(--color-accent-dark);
  --frost: var(--color-accent2);          /* szron — tylko detale */
  --on-accent: #180B07;                   /* ciemny tekst na akcencie (WCAG >=4.5) */
  --text: #E9EDF2;
  --text-2: rgba(233,237,242,.72);
  --muted: #93A1AF;
  --line: rgba(148,170,190,.14);
  --wrap: 1200px;
  --font-display: 'Space Grotesk', system-ui, sans-serif;
  --ease: cubic-bezier(.22,.68,.36,1);
  --settle: cubic-bezier(.22,1,.36,1);
  --glide: cubic-bezier(.16,1,.3,1);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; font-family:'Inter',system-ui,sans-serif; color:var(--text); background:var(--night); font-size:16.5px; line-height:1.65; -webkit-font-smoothing:antialiased; }
h1,h2,h3 { margin:0; font-family:var(--font-display); font-weight:600; letter-spacing:-.02em; line-height:1.06; }
p { margin:0; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
.wrap { width:100%; max-width:var(--wrap); margin:0 auto; padding:0 32px; }
.wrap--narrow { max-width:820px; }
::selection { background:color-mix(in srgb,var(--accent) 30%, transparent); }

/* --- przyciski --- */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; font-weight:700; font-size:.86rem; letter-spacing:.07em; text-transform:uppercase; padding:16px 26px; border-radius:10px; border:1px solid transparent; cursor:pointer; transition:transform .3s var(--ease), background .25s, box-shadow .3s var(--ease), color .25s, border-color .25s; }
.btn--lg { padding:18px 32px; font-size:.92rem; }
.btn--block { width:100%; }
.btn--solid { background:var(--accent); color:var(--on-accent); box-shadow:inset 0 1px 0 rgba(255,255,255,.25), 0 12px 34px -14px color-mix(in srgb,var(--accent) 70%, transparent); }
.btn--solid:hover { background:color-mix(in srgb,var(--accent) 86%, #fff); transform:translateY(-2px); box-shadow:inset 0 1px 0 rgba(255,255,255,.2), 0 18px 40px -12px color-mix(in srgb,var(--accent) 65%,transparent); }
.btn--ghost { background:transparent; border-color:rgba(233,237,242,.28); color:var(--text); }
.btn--ghost:hover { border-color:rgba(233,237,242,.6); background:rgba(233,237,242,.06); }
.btn--night { background:var(--deep); color:#fff; box-shadow:0 10px 30px -14px rgba(0,0,0,.55); }
.btn--night:hover { transform:translateY(-2px); background:color-mix(in srgb,var(--deep) 80%, #000); }

/* --- sticky call (mobile) --- */
.sticky-call { position:fixed; bottom:16px; left:16px; right:16px; z-index:90; display:none; align-items:center; justify-content:center; gap:8px; background:var(--accent); color:var(--on-accent); font-weight:700; padding:15px; border-radius:12px; box-shadow:0 14px 34px -10px rgba(0,0,0,.55); }

/* ============ NAV: sticky szyba ============ */
.nav { position:sticky; top:0; z-index:80; background:color-mix(in srgb, var(--night) 84%, transparent); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-bottom:1px solid var(--line); }
.nav__inner { display:flex; align-items:center; justify-content:space-between; gap:24px; height:72px; }
.brand { font-family:var(--font-display); font-weight:700; font-size:1.32rem; letter-spacing:-.02em; color:var(--text); display:inline-flex; align-items:center; gap:10px; }
.brand::before { content:""; width:10px; height:10px; border-radius:3px; background:var(--accent); box-shadow:0 0 14px color-mix(in srgb,var(--accent) 70%, transparent); }
.brand__logo { height:44px; width:auto; display:block; }
.nav__links { display:flex; gap:30px; }
.nav__links a { font-weight:500; font-size:.95rem; color:var(--text-2); transition:color .2s; }
.nav__links a:hover { color:var(--text); }
.nav__phone { display:inline-flex; align-items:center; gap:9px; font-family:var(--font-display); font-weight:700; font-size:1rem; font-variant-numeric:tabular-nums; color:var(--text); padding:11px 20px; border:1px solid color-mix(in srgb,var(--accent) 55%, transparent); border-radius:10px; transition:.25s; }
.nav__phone svg { color:var(--accent); transition:color .25s; }
.nav__phone:hover { background:var(--accent); border-color:var(--accent); color:var(--on-accent); }
.nav__phone:hover svg { color:var(--on-accent); }

/* nav mobile */
.nav-toggle { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:8px; }
.nav-toggle span { width:26px; height:2px; background:var(--text); border-radius:2px; transition:.3s var(--ease); }
.nav-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
.mnav { display:none; flex-direction:column; gap:2px; padding:8px 32px 20px; border-top:1px solid var(--line); background:color-mix(in srgb, var(--night) 96%, transparent); }
.mnav a:not(.btn){ padding:13px 4px; color:var(--text); font-weight:500; border-bottom:1px solid var(--line); }
.mnav .btn { margin-top:14px; }
.mnav.open { display:flex; }

/* ============ HERO: split — komunikat | foto ============ */
.hero { position:relative; overflow:hidden; background:var(--night); }
/* głębia: żar od dołu-lewej (ciepło), szron od góry-prawej (zimna noc) */
.hero__glow { position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(860px 620px at 8% 110%, color-mix(in srgb,var(--accent) 16%, transparent), transparent 62%),
    radial-gradient(720px 520px at 96% -12%, color-mix(in srgb,var(--frost) 10%, transparent), transparent 60%); }
.hero__grid { position:relative; display:grid; grid-template-columns:1.06fr .94fr; gap:clamp(40px,5vw,72px); align-items:center; padding-top:clamp(48px,6.5vh,84px); padding-bottom:clamp(48px,6.5vh,84px); }
.hero__status { display:inline-flex; align-items:center; gap:10px; font-weight:600; font-size:.86rem; letter-spacing:.05em; color:var(--text-2); border:1px solid var(--line); background:color-mix(in srgb,var(--night-3) 55%, transparent); padding:9px 16px; border-radius:999px; margin:0 0 26px; }
.hero__dot { width:9px; height:9px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 55%, transparent); animation:pulse 2.2s var(--ease) infinite; }
@keyframes pulse { 0%{ box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 50%, transparent);} 70%{ box-shadow:0 0 0 9px transparent;} 100%{ box-shadow:0 0 0 0 transparent;} }
.hero__title { font-size:clamp(2.5rem, 5.2vw, 4.5rem); font-weight:700; letter-spacing:-.03em; line-height:1.02; }
.hero__city { color:var(--accent); }
.hero__sub { font-size:1.06rem; color:var(--text-2); line-height:1.7; max-width:52ch; margin-top:24px; }
.hero__cta { display:flex; gap:12px; flex-wrap:wrap; margin-top:32px; }
.hero__rating { display:flex; align-items:center; gap:10px; margin-top:26px; font-weight:600; font-size:.95rem; color:var(--text-2); }
.hero__star { color:var(--accent); font-size:1.05rem; }
/* foto: zaokrąglona rama + ciepła poświata + podpis */
.hero__media { position:relative; }
.hero__media img { width:100%; aspect-ratio:1/1.04; object-fit:cover; object-position:62% 50%; border-radius:20px;
  box-shadow:0 40px 90px -40px rgba(0,0,0,.8), 0 0 0 1px var(--line); animation:heroKen 16s var(--glide) forwards; }
@keyframes heroKen { from{ transform:scale(1.045);} to{ transform:scale(1);} }
.hero__media::before { content:""; position:absolute; inset:-26px; z-index:-1; border-radius:28px;
  background:radial-gradient(60% 60% at 70% 75%, color-mix(in srgb,var(--accent) 22%, transparent), transparent 72%); filter:blur(22px); }
.hero__caption { position:absolute; left:18px; bottom:18px; display:inline-flex; align-items:center; gap:10px;
  font-family:var(--font-display); font-weight:600; font-size:.95rem; letter-spacing:.01em; color:var(--text);
  background:color-mix(in srgb, var(--night) 72%, transparent); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  border:1px solid var(--line); padding:10px 16px; border-radius:12px; }
.hero__caption::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--accent); }

/* hero wjazd */
.js-anim .hero__copy > *, .js-anim .hero__media { opacity:0; transform:translateY(26px); filter:blur(10px); animation:heroIn 1s var(--settle) forwards; }
.js-anim .hero__copy > *:nth-child(1){ animation-delay:.08s; }
.js-anim .hero__copy > *:nth-child(2){ animation-delay:.18s; }
.js-anim .hero__copy > *:nth-child(3){ animation-delay:.3s; }
.js-anim .hero__copy > *:nth-child(4){ animation-delay:.42s; }
.js-anim .hero__copy > *:nth-child(5){ animation-delay:.54s; }
.js-anim .hero__media { animation-delay:.24s; }
@keyframes heroIn { to{ opacity:1; transform:none; filter:blur(0); } }

/* ============ FAKTY: pasek zaufania ============ */
.facts { background:var(--night-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.facts__inner { display:flex; flex-wrap:wrap; gap:12px 44px; padding:18px 32px; justify-content:center; }
.facts__inner > span { position:relative; font-weight:600; font-size:.92rem; color:var(--text-2); padding-left:20px; }
.facts__inner > span::before { content:""; position:absolute; left:0; top:.5em; width:8px; height:8px; border-radius:50%; background:var(--accent); }

/* ============ PAS AWARYJNY ============ */
.emergency { background:linear-gradient(105deg, var(--accent) 0%, var(--accent-d) 100%); color:var(--on-accent); padding:clamp(40px,5.5vw,64px) 0; }
.emergency__inner { display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:wrap; }
.emergency__tag { display:inline-block; font-weight:700; font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; border:1px solid color-mix(in srgb,var(--on-accent) 55%, transparent); padding:6px 14px; border-radius:7px; margin-bottom:14px; }
.emergency__text { font-family:var(--font-display); font-size:clamp(1.25rem,2.4vw,1.7rem); font-weight:600; letter-spacing:-.01em; line-height:1.35; max-width:52ch; }

/* ============ BLOKI ============ */
body { counter-reset: sec; }
.block { position:relative; padding:clamp(64px,7vw,110px) 0; background:var(--night); }
.block--raise { background:var(--night-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
/* subtelna poświata w narożniku sekcji — głębia bez tapety */
.block::before { content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(760px 480px at 92% -6%, color-mix(in srgb,var(--accent) 7%, transparent), transparent 62%); }
.block--raise::before { background:radial-gradient(760px 480px at 4% -6%, color-mix(in srgb,var(--frost) 6%, transparent), transparent 62%); }
.block > .wrap, .block > .gal-marquee, .block > .quotes-marquee { position:relative; }
.head { max-width:760px; margin-bottom:clamp(36px,4.5vw,56px); }
.eyebrow { display:inline-flex; align-items:center; gap:14px; font-size:.76rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--accent); margin-bottom:18px; }
.eyebrow::before { counter-increment:sec; content:counter(sec, decimal-leading-zero); font-family:var(--font-display); font-weight:600; font-size:.92rem; letter-spacing:.06em; color:var(--muted); }
.eyebrow::after { content:""; width:52px; height:1px; background:color-mix(in srgb,var(--accent) 55%, transparent); }
.h2 { font-size:clamp(1.9rem,4vw,3rem); font-weight:700; letter-spacing:-.025em; color:var(--text); }
.lead { font-size:1.08rem; color:var(--text-2); margin-top:18px; line-height:1.75; max-width:58ch; }
.ticks { list-style:none; padding:0; margin:26px 0 30px; display:grid; gap:14px; }
.ticks li { position:relative; padding-left:30px; font-weight:500; color:var(--text-2); }
.ticks li::before { content:""; position:absolute; left:2px; top:7px; width:10px; height:10px; transform:rotate(45deg); box-shadow:inset 0 0 0 1.5px var(--accent); }
.about-points { margin-top:clamp(40px,5vw,60px); padding-top:clamp(30px,4vw,42px); border-top:1px solid var(--line); }
.ticks--row { margin:0; display:flex; flex-wrap:wrap; gap:18px 36px; }
.ticks--row li { flex:1 1 0; min-width:200px; }
@media (max-width:900px){ .ticks--row li { flex-basis:calc(50% - 18px); } }
@media (max-width:560px){ .ticks--row li { flex-basis:100%; } }

/* ============ USŁUGI: numerowane wiersze ============ */
.srow-list { border-top:1px solid var(--line); }
.srow { position:relative; display:grid; grid-template-columns:72px 58px 1fr auto; gap:26px; align-items:center;
  padding:28px 22px; border-bottom:1px solid var(--line); transition:background .3s var(--ease), transform .3s var(--ease); }
.srow::before { content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--accent); transform:scaleY(0); transform-origin:top; transition:transform .35s var(--ease); }
.srow:hover { background:color-mix(in srgb,var(--night-3) 62%, transparent); transform:translateX(6px); }
.srow:hover::before { transform:scaleY(1); }
.srow__no { font-family:var(--font-display); font-weight:700; font-size:1.9rem; letter-spacing:-.02em; color:color-mix(in srgb,var(--text) 26%, transparent); transition:color .3s; }
.srow:hover .srow__no { color:var(--accent); }
.srow__icon { display:inline-flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:50%;
  border:1px solid color-mix(in srgb,var(--accent) 45%, transparent); color:var(--accent); transition:.3s var(--ease); }
.srow__icon svg { width:25px; height:25px; }
.srow:hover .srow__icon { background:var(--accent); color:var(--on-accent); border-color:var(--accent); }
.srow__title { font-size:1.3rem; font-weight:600; letter-spacing:-.015em; color:var(--text); margin-bottom:6px; }
.srow__desc { color:var(--muted); font-size:.95rem; line-height:1.55; max-width:64ch; }
.srow__go { display:inline-flex; align-items:center; gap:8px; font-weight:700; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; color:var(--text-2); white-space:nowrap; transition:color .25s; }
.srow__go::after { content:"\2192"; display:inline-block; transition:transform .3s var(--ease); }
.srow:hover .srow__go { color:var(--accent); }
.srow:hover .srow__go::after { transform:translateX(6px); }

/* ============ PROCES: pozioma oś ============ */
.steps { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:clamp(28px,4vw,48px); }
.step { position:relative; padding-top:24px; }
.step::before { content:""; position:absolute; top:0; left:2px; right:0; height:1px; background:var(--line); }
.step::after { content:""; position:absolute; top:-4px; left:2px; width:34px; height:9px; border-radius:6px; background:var(--accent); box-shadow:0 0 16px color-mix(in srgb,var(--accent) 45%, transparent); }
.step__no { display:block; font-family:var(--font-display); font-size:2.6rem; font-weight:700; letter-spacing:-.03em; line-height:1; color:var(--accent); margin-bottom:14px; }
.step__title { font-size:1.28rem; font-weight:600; letter-spacing:-.015em; color:var(--text); margin-bottom:10px; }
.step__desc { color:var(--muted); line-height:1.7; font-size:.97rem; }

/* ============ O NAS ============ */
.split { display:grid; grid-template-columns:.95fr 1.05fr; gap:clamp(44px,6.5vw,88px); align-items:center; }
.split > *, .contact > * { min-width:0; }
.split__media { position:relative; }
.split__media img { width:100%; min-height:420px; object-fit:cover; border-radius:18px; position:relative; z-index:1;
  box-shadow:0 36px 80px -36px rgba(0,0,0,.75), 0 0 0 1px var(--line); }
.split__media::before { content:""; position:absolute; inset:20px -20px -20px 20px; border:1px solid color-mix(in srgb,var(--accent) 40%, transparent); border-radius:18px; z-index:0; }
.split__media::after { content:""; position:absolute; inset:-24px; z-index:-1; border-radius:26px;
  background:radial-gradient(55% 55% at 30% 80%, color-mix(in srgb,var(--accent) 16%, transparent), transparent 72%); filter:blur(20px); }
.split__copy .btn { margin-top:28px; }

/* ============ GALERIA (marquee) ============ */
.block--wide { overflow:hidden; }
.gal-marquee { position:relative; overflow:hidden; width:100%; margin-top:8px;
  -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
  mask-image:linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%); }
.gal-track { display:flex; gap:16px; width:max-content; animation:gal-scroll 55s linear infinite; will-change:transform; }
.gal-marquee:hover .gal-track { animation-play-state:paused; }
@keyframes gal-scroll { from { transform:translateX(0); } to { transform:translateX(-50%); } }
.gal-slide { position:relative; flex:0 0 auto; width:clamp(300px, 24vw, 380px); margin:0; border-radius:14px; overflow:hidden; box-shadow:0 14px 34px -18px rgba(0,0,0,.6); background:var(--night-3); }
.gal-slide img { width:100%; height:clamp(300px, 26vw, 380px); object-fit:cover; display:block; }
.gal-slide figcaption { position:absolute; left:0; right:0; bottom:0; padding:28px 16px 12px; font-size:.9rem; font-weight:600; color:#fff; background:linear-gradient(to top, rgba(5,9,14,.88), transparent); }

/* ============ OPINIE: marquee ============ */
.quotes-marquee { position:relative; overflow:hidden; width:100%;
  -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
  mask-image:linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%); }
.quotes-track { display:flex; gap:20px; width:max-content; animation:quotes-scroll 52s linear infinite; will-change:transform; }
.quotes-marquee:hover .quotes-track { animation-play-state:paused; }
@keyframes quotes-scroll { from { transform:translateX(0); } to { transform:translateX(-50%); } }
.quotes-track .quote { flex:0 0 auto; width:min(430px, 82vw); }
.quote { position:relative; margin:0; min-width:0; background:var(--night-3); border:1px solid var(--line); border-radius:16px; padding:30px 32px 32px; box-shadow:0 18px 44px -28px rgba(0,0,0,.6); }
.quote::before { content:"\201E"; display:block; font-family:var(--font-display); font-size:3.4rem; font-weight:700; line-height:.4; margin-bottom:1.05rem; color:var(--accent); }
.quote p { font-size:1.04rem; font-weight:450; line-height:1.65; color:var(--text-2); }
.quote cite { display:flex; align-items:center; gap:12px; margin-top:20px; color:var(--muted); font-style:normal; font-weight:600; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; }
.quote cite::before { content:""; width:26px; height:1px; background:var(--accent); }

/* ============ FAQ ============ */
.faq { display:grid; gap:10px; }
.faq__item { border:1px solid var(--line); border-radius:12px; overflow:hidden; background:var(--night-2); transition:border-color .25s, background .25s; }
.faq__item[open] { background:var(--night-3); border-color:color-mix(in srgb,var(--accent) 40%, var(--line)); }
.faq__item summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px 26px; cursor:pointer; font-family:var(--font-display); font-weight:600; font-size:1.1rem; letter-spacing:-.01em; color:var(--text); list-style:none; }
.faq__item summary::-webkit-details-marker { display:none; }
.faq__i { position:relative; width:16px; height:16px; flex-shrink:0; }
.faq__i::before,.faq__i::after { content:""; position:absolute; background:var(--accent); border-radius:2px; transition:.3s var(--ease); }
.faq__i::before { top:7px; left:0; width:16px; height:2px; }
.faq__i::after { top:0; left:7px; width:2px; height:16px; }
.faq__item[open] .faq__i::after { transform:rotate(90deg); opacity:0; }
.faq__a { padding:0 26px 24px; }
.faq__a p { color:var(--muted); line-height:1.75; max-width:62ch; }

/* ============ KONTAKT ============ */
.block--contact::before { background:radial-gradient(820px 520px at 10% 110%, color-mix(in srgb,var(--accent) 10%, transparent), transparent 62%); }
.contact { display:grid; grid-template-columns:1fr 1fr; gap:clamp(44px,6.5vw,88px); align-items:center; }
.contact__phone { display:block; font-family:var(--font-display); font-size:clamp(2rem,4.2vw,3.1rem); font-weight:700; color:var(--text); letter-spacing:-.02em; margin:18px 0 6px; font-variant-numeric:tabular-nums; transition:color .25s; }
.contact__phone:hover { color:var(--accent); }
.contact__mail { display:block; color:var(--text-2); font-weight:500; margin-bottom:16px; }
.contact__addr { color:var(--muted); font-size:.9rem; letter-spacing:.02em; }
.contact__form { display:grid; gap:12px; background:color-mix(in srgb,var(--night-3) 70%, transparent); border:1px solid var(--line); border-radius:16px; padding:32px; backdrop-filter:blur(6px); }
.contact__form input,.contact__form textarea { padding:15px 18px; border:1px solid rgba(233,237,242,.18); border-radius:10px; font:inherit; background:rgba(233,237,242,.06); color:var(--text); }
.contact__form input::placeholder,.contact__form textarea::placeholder { color:rgba(233,237,242,.5); }
.contact__form input:focus,.contact__form textarea:focus { outline:none; border-color:var(--accent); background:rgba(233,237,242,.1); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 24%, transparent); }

/* ============ STOPKA ============ */
.foot { background:var(--deep); color:var(--muted); padding:60px 0; border-top:1px solid var(--line); }
.foot__inner { display:flex; justify-content:space-between; gap:28px; flex-wrap:wrap; align-items:flex-start; }
.foot__inner > div:first-child p { max-width:52ch; font-size:.92rem; line-height:1.7; color:var(--muted); }
.brand--foot { color:var(--text); margin-bottom:10px; font-size:1.4rem; }
.foot__legal { margin-top:12px !important; font-size:.8rem !important; color:color-mix(in srgb,var(--muted) 70%, transparent) !important; letter-spacing:.02em; }
.foot__meta { display:flex; flex-direction:column; gap:8px; text-align:right; }
.foot__meta a { color:var(--text-2); font-weight:600; transition:color .2s; }
.foot__meta a:hover { color:var(--accent); }
.foot__meta span { font-size:.82rem; letter-spacing:.06em; color:color-mix(in srgb,var(--muted) 70%, transparent); margin-top:6px; }

/* ============ PODSTRONA USŁUGI ============ */
.svc-hero { position:relative; overflow:hidden; padding:clamp(48px,7vw,84px) 0 clamp(40px,5vw,60px); background:var(--night-2); border-bottom:1px solid var(--line); }
.svc-hero::before { content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(760px 480px at 90% -10%, color-mix(in srgb,var(--accent) 10%, transparent), transparent 62%); }
.svc-hero > .wrap { position:relative; }
.svc-back { display:inline-flex; align-items:center; gap:8px; font-weight:700; font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; color:var(--text-2); padding:10px 16px; border:1px solid var(--line); border-radius:10px; background:color-mix(in srgb,var(--night-3) 60%, transparent); margin-bottom:22px; transition:.2s var(--ease); }
.svc-back svg { transition:transform .25s var(--ease); }
.svc-back:hover { border-color:var(--accent); color:var(--accent); }
.svc-back:hover svg { transform:translateX(-3px); }
.crumbs { font-size:.85rem; color:var(--muted); margin-bottom:22px; }
.crumbs a:hover { color:var(--accent); }
.svc-hero__title { font-size:clamp(2rem,4.6vw,3.2rem); font-weight:700; letter-spacing:-.025em; margin-bottom:18px; max-width:20ch; }
.svc-hero__lead { font-size:1.1rem; color:var(--text-2); max-width:60ch; margin-bottom:28px; line-height:1.7; }
.svc-hero__cta { display:flex; gap:12px; flex-wrap:wrap; }
.svc-grid2 { display:grid; grid-template-columns:1.5fr 1fr; gap:clamp(40px,5vw,64px); align-items:start; }
.svc-card { background:var(--night-3); border:1px solid var(--line); border-radius:16px; padding:32px; position:sticky; top:96px; }
.svc-card h3 { font-size:1.3rem; margin-bottom:8px; color:var(--text); }
.svc-card > p { color:var(--muted); margin-bottom:18px; }
.svc-card__phone { display:block; font-family:var(--font-display); font-variant-numeric:tabular-nums; font-size:1.7rem; font-weight:700; color:var(--text); letter-spacing:-.02em; }
.svc-card__phone:hover { color:var(--accent); }
.svc-card__mail { display:block; color:var(--muted); font-size:.92rem; margin:4px 0 18px; }
@media (max-width:820px){
  .svc-grid2 { grid-template-columns:1fr; }
  .svc-card { position:static; }
  /* neutralny (nie akcentowy) — jedynym dominującym akcentem na widoku ma być CTA telefonu */
  .svc-back { display:flex; justify-content:center; width:100%; padding:14px; font-size:.85rem; background:var(--night-3); color:var(--text); border-color:var(--line); }
  .svc-back:hover { color:var(--text); border-color:var(--line); }
  .crumbs { display:none; }
}

/* ============ REVEAL ============ */
.js-anim .reveal { opacity:0; transform:translateY(30px); filter:blur(10px); transition:opacity .85s var(--settle), transform .85s var(--settle), filter .85s var(--settle); }
.js-anim .reveal.in { opacity:1; transform:none; filter:blur(0); }
.js-anim .srow-list .reveal.in { transition-delay:calc(var(--i, 0) * 70ms); }
.stat-num { font-variant-numeric:tabular-nums; }
html.has-smooth { scroll-behavior:auto; }
.btn--solid.btn--lg { transition:transform .25s var(--settle), background .25s, box-shadow .3s var(--settle); }
.btn--mag { transform:translate(var(--mx,0), var(--my,0)); }

/* ============ RESPONSIVE ============ */
@media (max-width:980px){
  .hero__grid { grid-template-columns:1fr; gap:36px; }
  .hero__media img { aspect-ratio:16/10; object-position:60% 50%; }
  .split { grid-template-columns:1fr; }
  .split__media { order:-1; }
  .split__media img { min-height:320px; }
  .contact { grid-template-columns:1fr; }
  .srow { grid-template-columns:52px 52px 1fr; gap:18px; }
  .srow__no { font-size:1.4rem; }
  .srow__go { grid-column:3; justify-self:start; margin-top:2px; }
}
@media (max-width:720px){
  .nav__links,.nav__phone { display:none; }
  .nav-toggle { display:flex; }
  .brand__logo { height:36px; }
  .hero__cta-call { display:none; }
  .sticky-call { display:flex; }
  body { padding-bottom:78px; }
  .hero__title { font-size:clamp(2.3rem, 10.5vw, 3rem); }
  .facts__inner { flex-direction:column; gap:10px; align-items:flex-start; padding:16px 32px; }
  .srow { grid-template-columns:44px 1fr; padding:22px 14px; align-items:start; }
  .srow__no { display:none; }
  .srow__icon { width:44px; height:44px; margin-top:2px; }
  .srow__icon svg { width:21px; height:21px; }
  .srow__body { grid-column:2; }
  .srow__go { grid-column:2; }
  .srow:hover { transform:none; }
  .foot__meta { text-align:left; }
}
@media (max-width:380px){
  .wrap { padding:0 20px; }
  .facts__inner { padding:16px 20px; }
  .quote { padding:24px 20px 28px; }
  .contact__form { padding:24px 18px; }
  .contact__phone { font-size:clamp(1.5rem,9vw,2.2rem); }
  .contact__copy { overflow-wrap:break-word; }
}
@media (prefers-reduced-motion:reduce){
  *{ transition:none!important; animation:none!important; scroll-behavior:auto; }
  .js-anim .reveal{ opacity:1; transform:none; filter:none; }
  .js-anim .hero__copy > *, .js-anim .hero__media{ opacity:1; transform:none; filter:none; }
  .quotes-track, .gal-track { animation:none; flex-wrap:nowrap; overflow-x:auto; }
  .quotes-marquee, .gal-marquee { -webkit-mask-image:none; mask-image:none; }
}
