/* ============================================================
   ŚWIĄTECZNA CHOINKA — design system v2
   ============================================================ */
/* czcionki ładowane w <head> (preconnect + display=swap) */

:root{
  --cream:#F6F1E3;
  --cream-2:#FBF8EF;
  --forest:#213F2E;
  --forest-mid:#2E4F3A;
  --forest-deep:#122A1D;
  --sage:#E4EADA;
  --honey:#C6892F;
  --honey-light:#E0A64C;
  --honey-deep:#9C6B1E;
  --bark:#5B4630;
  --ink:#1C1810;
  --line:#DCD0AE;
  --line-soft:#EAE2C7;
  --shadow-lg: 0 30px 70px -30px rgba(18,32,22,0.35);
  --shadow-md: 0 14px 34px -18px rgba(18,32,22,0.28);
  --ease: cubic-bezier(.22,.68,.18,1);
  --maxw: 1220px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important;}
}

body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:'Karla',system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%; height:auto; display:block;}
h1,h2,h3{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-weight:500;
  line-height:1.06;
  text-wrap:balance;
  margin:0;
  color:var(--forest-deep);
}
h3{font-weight:600;}
p{line-height:1.65; margin:0;}
a{color:inherit;}
ul{margin:0; padding:0; list-style:none;}
button{font-family:inherit; cursor:pointer;}

.mono{font-family:'IBM Plex Mono',monospace; font-variant-numeric:tabular-nums;}
.eyebrow{
  font-family:'Karla',sans-serif;
  font-weight:800;
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--honey-deep);
}
.wrap{max-width:var(--maxw); margin:0 auto; padding-inline:24px;}

/* ---------- noise overlay ---------- */
.grain{
  position:fixed; inset:0; z-index:9000;
  pointer-events:none;
  opacity:.035;
  mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- reveal ---------- */
.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .9s var(--ease), transform .9s var(--ease);
}
.reveal.visible{opacity:1; transform:none;}
.reveal-stagger.visible > *{transition-delay:calc(var(--i,0) * 90ms);}

/* ---------- header ---------- */
header.site{
  position:fixed; top:0; left:0; right:0; z-index:500;
  padding-block:22px;
  transition:background .5s var(--ease), padding .5s var(--ease), box-shadow .5s var(--ease), border-color .5s var(--ease);
  border-bottom:1px solid transparent;
}
header.site.solid{
  background:rgba(246,241,227,.92);
  backdrop-filter:blur(10px);
  padding-block:14px;
  border-color:var(--line);
  box-shadow:0 10px 30px -22px rgba(18,32,22,.35);
}
.nav{display:flex; align-items:center; justify-content:space-between; gap:20px;}
.logo{
  font-family:'Cormorant Garamond',serif;
  font-size:1.5rem;
  font-style:italic;
  text-decoration:none;
  color:#fff;
  transition:color .5s var(--ease);
}
.logo b{font-style:normal; font-weight:600;}
header.site.solid .logo{color:var(--forest-deep);}
.no-hero .logo{color:var(--forest-deep);}

.navlinks{display:flex; gap:30px; font-size:.92rem; font-weight:600;}
.navlinks a{
  text-decoration:none; color:#EDEfE2; position:relative; padding-bottom:3px;
  transition:color .5s var(--ease);
}
.navlinks a::after{
  content:""; position:absolute; left:0; right:100%; bottom:0; height:1px; background:var(--honey);
  transition:right .35s var(--ease);
}
.navlinks a:hover::after{right:0;}
header.site.solid .navlinks a, .no-hero .navlinks a{color:var(--bark);}

.btn{
  display:inline-flex; align-items:center; gap:8px;
  border-radius:3px; padding:13px 24px;
  font-weight:700; font-size:.86rem;
  text-decoration:none; border:1px solid transparent;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), background .35s var(--ease), border-color .35s var(--ease);
  white-space:nowrap;
}
.btn-honey{background:var(--honey); color:#fff;}
.btn-honey:hover{transform:translateY(-2px); box-shadow:0 16px 30px -14px rgba(156,107,30,.55);}
.btn-outline-dark{border-color:rgba(255,255,255,.55); color:#fff;}
.btn-outline-dark:hover{border-color:#fff; transform:translateY(-2px);}
.no-hero .btn-outline-dark, header.site.solid .btn-outline-dark{border-color:var(--forest-deep); color:var(--forest-deep);}

.nav-toggle{
  display:none; width:42px; height:42px; border:none; background:none;
  position:relative; z-index:600;
}
.nav-toggle span{
  position:absolute; left:9px; right:9px; height:2px; background:#fff;
  transition:transform .35s var(--ease), opacity .35s var(--ease), background .35s var(--ease);
}
header.site.solid .nav-toggle span, .no-hero .nav-toggle span{background:var(--forest-deep);}
.nav-toggle span:nth-child(1){top:15px;}
.nav-toggle span:nth-child(2){top:23px;}
.nav-toggle span:nth-child(3){top:31px;}
.menu-open .nav-toggle span{background:#fff !important;}
.menu-open .nav-toggle span:nth-child(1){transform:translateY(8px) rotate(45deg);}
.menu-open .nav-toggle span:nth-child(2){opacity:0;}
.menu-open .nav-toggle span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}

.mobile-menu{
  position:fixed; inset:0; z-index:550;
  background:var(--forest-deep);
  display:flex; flex-direction:column; align-items:flex-start; justify-content:center;
  gap:26px; padding-inline:32px;
  opacity:0; visibility:hidden; transform:translateY(-12px);
  transition:opacity .4s var(--ease), transform .4s var(--ease), visibility 0s linear .4s;
}
.menu-open .mobile-menu{opacity:1; visibility:visible; transform:none; transition:opacity .4s var(--ease), transform .4s var(--ease);}
.mobile-menu a{
  font-family:'Cormorant Garamond',serif; font-style:italic; font-size:2rem;
  color:var(--cream); text-decoration:none;
  opacity:0; transform:translateX(-14px);
  transition:opacity .5s var(--ease), transform .5s var(--ease);
}
.menu-open .mobile-menu a{opacity:1; transform:none;}
.menu-open .mobile-menu a:nth-child(1){transition-delay:.08s;}
.menu-open .mobile-menu a:nth-child(2){transition-delay:.14s;}
.menu-open .mobile-menu a:nth-child(3){transition-delay:.2s;}
.menu-open .mobile-menu a:nth-child(4){transition-delay:.26s;}
.menu-open .mobile-menu a:nth-child(5){transition-delay:.32s;}
.menu-open .mobile-menu a:nth-child(6){transition-delay:.38s;}
.menu-open .mobile-menu a:nth-child(7){transition-delay:.44s;}

/* ---------- hero ---------- */
.hero{
  position:relative; overflow:hidden;
  background:linear-gradient(180deg,#3a5c46 0%, var(--forest) 55%, var(--forest-deep) 100%);
  color:var(--cream-2);
  padding-top:150px;
}
.hero-inner{
  position:relative; z-index:3;
  padding-block:0 80px;
  display:grid; grid-template-columns:1.05fr .95fr; gap:40px; align-items:center;
}
.hero h1{color:#fff; font-size:clamp(2.6rem,5vw,4.5rem);}
.hero h1 em{font-style:italic; color:var(--honey-light);}
.hero p.lead{margin-top:20px; max-width:46ch; font-size:1.1rem; color:#E7E9DE;}
.hero-cta{margin-top:34px; display:flex; gap:14px; flex-wrap:wrap;}
.hero-stats{margin-top:44px; display:flex; gap:34px; flex-wrap:wrap;}
.hero-stat{font-size:.82rem; color:#CFD8C6;}
.hero-stat b{display:block; font-family:'IBM Plex Mono',monospace; font-size:1.5rem; color:#fff; font-weight:600;}

.hero-art{position:relative; z-index:2; aspect-ratio:4/5; border-radius:6px; overflow:hidden; box-shadow:var(--shadow-lg);}
.hero-art svg{display:block; width:100%; height:100%;}
.hero-art .layer{transition:transform .1s linear;}
.hero-snow{position:absolute; inset:0; z-index:2; pointer-events:none;}

/* ---------- hero photo slideshow (Ken Burns) ---------- */
.hero-photos{position:absolute; inset:0;}
.hero-photo{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:0; transform:scale(1.1);
  transition:opacity 1.6s var(--ease);
}
.hero-photo.active{opacity:1; animation:heroKenBurns 8s var(--ease) forwards;}
@keyframes heroKenBurns{
  from{transform:scale(1.1);}
  to{transform:scale(1);}
}
.hero-art::after{
  content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(18,32,22,0) 45%, rgba(12,24,17,.55) 100%);
  pointer-events:none;
}
.hero-photo-tag{
  position:absolute; left:18px; bottom:18px; z-index:2;
  font-family:'IBM Plex Mono',monospace; font-size:.72rem; font-weight:600; letter-spacing:.04em;
  color:#fff; background:rgba(18,32,22,.5); backdrop-filter:blur(3px);
  padding:8px 14px; border-radius:30px;
  opacity:0; transform:translateY(6px);
  transition:opacity .6s var(--ease), transform .6s var(--ease);
}
.hero-photo-tag.active{opacity:1; transform:none;}

.hero::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(circle at 12% 15%, rgba(255,255,255,.06), transparent 40%),
    radial-gradient(circle at 88% 85%, rgba(255,255,255,.05), transparent 45%);
}
.hero-edge{
  position:absolute; left:0; right:0; bottom:-1px; height:70px; z-index:2;
  background:var(--cream);
  clip-path:polygon(0 100%, 100% 100%, 100% 40%, 0 100%);
}

/* ---------- ticker ---------- */
.ticker-wrap{
  background:var(--forest-deep); color:var(--sage);
  padding-block:16px; overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.ticker{display:flex; gap:56px; width:max-content; animation:ticker 32s linear infinite;}
.ticker span{
  font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.15rem;
  white-space:nowrap; display:flex; align-items:center; gap:56px;
}
.ticker span::after{content:"✦"; color:var(--honey); font-style:normal; margin-left:56px;}
@keyframes ticker{from{transform:translateX(0);} to{transform:translateX(-50%);}}

/* ---------- generic sections ---------- */
section{position:relative;}
.section-pad{padding-block:100px;}
.section-head{max-width:640px; margin-bottom:52px;}
.section-head h2{font-size:clamp(1.9rem,3vw,2.7rem); margin-top:12px;}
.section-head p{margin-top:16px; color:var(--bark); font-size:1.02rem;}

/* ---------- two paths ---------- */
.path-grid{display:grid; grid-template-columns:1fr 1fr; gap:28px;}
.path-card{
  background:var(--cream-2); border:1px solid var(--line); border-radius:6px;
  overflow:hidden; display:flex; flex-direction:column;
  transition:transform .5s var(--ease), box-shadow .5s var(--ease), border-color .5s var(--ease);
}
.path-card:hover{transform:translateY(-6px); box-shadow:var(--shadow-md); border-color:var(--honey);}
.path-art{aspect-ratio:16/10; overflow:hidden; position:relative;}
.path-art svg{display:block; width:100%; height:100%; transition:transform .6s var(--ease);}
.path-art img{display:block; width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease);}
.path-art::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(18,32,22,0) 55%, rgba(12,24,17,.4) 100%);
  pointer-events:none;
}
.path-card:hover .path-art svg, .path-card:hover .path-art img{transform:scale(1.07);}

/* ---------- cursor spotlight ---------- */
.spotlight{position:relative;}
.spotlight::before{
  content:""; position:absolute; inset:0; z-index:1; border-radius:inherit;
  background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%), rgba(230,166,76,.16), transparent 62%);
  opacity:0; transition:opacity .45s var(--ease); pointer-events:none;
}
.spotlight:hover::before{opacity:1;}
.path-body{padding:32px 34px 36px;}
.path-body h3{font-size:1.75rem; margin-bottom:12px;}
.path-body p{color:var(--bark); margin-bottom:18px;}
.path-link{font-weight:700; font-size:.9rem; color:var(--forest-deep); text-decoration:none; display:inline-flex; gap:6px; align-items:center;}
.path-link span{transition:transform .35s var(--ease);}
.path-link:hover span{transform:translateX(4px);}

/* ---------- band / quote ---------- */
.band{background:var(--forest-deep); color:var(--sage); padding-block:96px; position:relative; overflow:hidden;}
.band .wrap{max-width:840px; text-align:center; position:relative; z-index:2;}
.band .quote-mark{
  font-family:'Cormorant Garamond',serif; font-size:7rem; line-height:1; color:var(--honey);
  opacity:.35; margin-bottom:-30px;
}
.band blockquote{
  font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:500;
  font-size:clamp(1.5rem,3vw,2.4rem); color:#fff; margin:0 0 22px;
}
.band cite{font-style:normal; font-size:.82rem; color:var(--honey); font-weight:700; letter-spacing:.08em;}

/* ---------- product strip ---------- */
.product-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:6px; overflow:hidden;}
.product{display:block; text-decoration:none; color:inherit; background:var(--cream-2); padding:28px 24px; transition:background .4s var(--ease);}
.product:hover{background:#fff;}
.product .eyebrow{color:var(--bark); opacity:.7;}
.product h3{font-family:'Cormorant Garamond',serif; font-size:1.35rem; font-weight:600; margin:10px 0 16px; color:var(--forest-deep);}
.product-thumb{width:100%; aspect-ratio:1/1; border-radius:5px; overflow:hidden; margin-bottom:16px;}
.product-thumb img{width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease);}
.product:hover .product-thumb img{transform:scale(1.04);}
.spec-row{display:flex; justify-content:space-between; font-size:.82rem; padding-block:7px; border-top:1px dashed var(--line);}
.spec-row:first-of-type{border-top:none;}
.spec-row span:last-child{color:var(--honey-deep); font-weight:600;}

/* ---------- counters ---------- */
.stats-band{background:var(--sage); padding-block:70px;}
.stats-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center;}
.stat b{
  display:block; font-family:'IBM Plex Mono',monospace; font-size:2.6rem; font-weight:600; color:var(--forest-deep);
}
.stat span{font-size:.82rem; color:var(--bark); letter-spacing:.02em;}

/* ---------- cards / grids reused across pages ---------- */
.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:28px;}
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.card{
  background:var(--cream-2); border:1px solid var(--line); border-radius:6px; padding:30px;
  transition:transform .5s var(--ease), box-shadow .5s var(--ease);
}
.card:hover{transform:translateY(-4px); box-shadow:var(--shadow-md);}
.card h3{font-size:1.4rem; margin-bottom:10px;}
.card p{color:var(--bark); font-size:.96rem;}

.art{
  position:relative; border-radius:6px; overflow:hidden; aspect-ratio:4/3;
}
.art svg{width:100%; height:100%; display:block;}
.art img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .7s var(--ease);}
.art.spotlight:hover img{transform:scale(1.06);}
.art.wide{aspect-ratio:21/9;}
.art.square{aspect-ratio:1/1;}
.art-row{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
@media (max-width:900px){.art-row{grid-template-columns:1fr;}}

.table-wrap{overflow-x:auto; border:1px solid var(--line); border-radius:6px; background:var(--cream-2);}
table{width:100%; border-collapse:collapse; font-size:.94rem;}
th,td{padding:14px 18px; text-align:left; border-bottom:1px solid var(--line);}
th{font-family:'Karla',sans-serif; font-weight:800; font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; color:var(--bark); background:var(--sage);}
td.num{font-family:'IBM Plex Mono',monospace; color:var(--honey-deep); font-weight:600;}
tr:last-child td{border-bottom:none;}

.callout{
  background:linear-gradient(135deg, var(--forest) 0%, var(--forest-deep) 100%);
  color:var(--sage); border-radius:8px; padding:36px 38px;
}
.callout .eyebrow{color:var(--honey-light);}
.callout p{color:#E3E7D9; margin-top:12px;}
.callout h3{color:#fff;}

/* ---------- forms ---------- */
.form-card{background:var(--cream-2); border:1px solid var(--line); border-radius:8px; padding:36px;}
.field{display:flex; flex-direction:column; gap:6px; margin-bottom:18px;}
.field label{font-size:.8rem; font-weight:700; color:var(--bark);}
.field input, .field select, .field textarea{
  font-family:'Karla',sans-serif; font-size:.96rem; padding:12px 14px;
  border:1px solid var(--line); border-radius:4px; background:#fff; color:var(--ink);
  transition:border-color .3s var(--ease), box-shadow .3s var(--ease);
}
.field input:focus, .field select:focus, .field textarea:focus{
  outline:none; border-color:var(--honey); box-shadow:0 0 0 3px rgba(198,137,47,.18);
}
.field-row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.hp-field{position:absolute; left:-9999px; opacity:0;}
.form-status{margin-top:14px; font-size:.9rem; font-weight:600;}
.form-status.ok{color:var(--forest);}
.form-status.err{color:#a13a2c;}
.submit-row{margin-top:6px;}

/* ---------- locations ---------- */
.loc-card{
  background:var(--cream-2); border-radius:8px; padding:30px; border:1px solid var(--line);
  transition:transform .5s var(--ease), box-shadow .5s var(--ease);
}
.loc-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-md);}
.loc-card h4{font-size:1.5rem; margin-bottom:10px;}
.loc-card p{color:var(--bark); font-size:.94rem;}

/* ---------- footer ---------- */
footer.site{background:var(--forest-deep); color:#B9C2AE; padding-block:64px 32px; font-size:.9rem;}
.footer-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:40px; margin-bottom:40px;}
.footer-grid h5{font-family:'Karla',sans-serif; color:#fff; font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; margin-bottom:16px;}
.footer-grid a{color:#E7E9DE; text-decoration:none;}
.footer-grid a:hover{color:var(--honey-light);}
.footer-grid p{color:#B9C2AE;}
footer.site .logo{color:#fff; font-size:1.4rem;}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.12); padding-top:24px;
  display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:.82rem; color:#8FA08A;
}

/* ---------- photo gallery ---------- */
.gallery-grid{
  display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:150px; gap:10px;
}
.gallery-item{
  position:relative; overflow:hidden; border-radius:6px; cursor:zoom-in;
  background:var(--forest-deep);
}
.gallery-item.tall{grid-row:span 2;}
.gallery-item.wide{grid-column:span 2;}
.gallery-item img{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .7s var(--ease);
}
.gallery-item:hover img{transform:scale(1.1);}
.gallery-item .gtag{
  position:absolute; left:12px; bottom:12px; z-index:1;
  font-size:.72rem; font-weight:700; letter-spacing:.03em;
  color:#fff; background:rgba(18,32,22,.6); backdrop-filter:blur(2px);
  padding:6px 12px; border-radius:20px;
  opacity:0; transform:translateY(8px);
  transition:opacity .4s var(--ease), transform .4s var(--ease);
}
.gallery-item:hover .gtag{opacity:1; transform:none;}

/* ---------- lightbox ---------- */
.lightbox{
  position:fixed; inset:0; z-index:3000;
  background:rgba(10,20,14,.94);
  display:flex; align-items:center; justify-content:center; padding:32px;
  opacity:0; visibility:hidden;
  transition:opacity .4s var(--ease), visibility 0s linear .4s;
}
.lightbox.open{opacity:1; visibility:visible; transition:opacity .4s var(--ease);}
.lightbox img{
  max-width:min(92vw,1150px); max-height:86vh; border-radius:6px;
  box-shadow:var(--shadow-lg);
  transform:scale(.94); transition:transform .4s var(--ease);
}
.lightbox.open img{transform:scale(1);}
.lightbox-close{
  position:absolute; top:22px; right:26px; width:46px; height:46px; border-radius:50%;
  background:rgba(255,255,255,.12); color:#fff; border:none; font-size:1.4rem;
  display:flex; align-items:center; justify-content:center;
  transition:background .3s var(--ease), transform .3s var(--ease);
}
.lightbox-close:hover{background:rgba(255,255,255,.24); transform:rotate(90deg);}

/* ---------- page header (non-home pages, no dark hero) ---------- */
.page-hero{
  padding-block:170px 70px;
  background:var(--sage);
  position:relative;
}
.page-hero .eyebrow{margin-bottom:14px;}
.page-hero h1{font-size:clamp(2.3rem,4vw,3.4rem);}
.page-hero p.lead{margin-top:18px; max-width:56ch; color:var(--bark); font-size:1.05rem;}
.badge-row{margin-top:26px; display:flex; gap:12px; flex-wrap:wrap;}
.badge{
  background:var(--cream-2); border:1px solid var(--line); border-radius:30px;
  padding:8px 16px; font-size:.8rem; font-weight:700; color:var(--forest-deep);
}

@media (max-width:900px){
  .navlinks, .nav > nav{display:none;}
  .nav > .btn{display:none;}
  .nav-toggle{display:block; margin-left:auto;}
  .hero-inner{grid-template-columns:1fr;}
  .hero-art{order:-1; aspect-ratio:16/10;}
  .path-grid, .grid-2, .grid-3{grid-template-columns:1fr;}
  .product-grid{grid-template-columns:1fr 1fr;}
  .stats-grid{grid-template-columns:1fr 1fr; gap:32px;}
  .footer-grid{grid-template-columns:1fr;}
  .field-row{grid-template-columns:1fr;}
  .hero{padding-top:110px;}
  .page-hero{padding-block:130px 60px;}
  .gallery-grid{grid-template-columns:repeat(2,1fr); grid-auto-rows:130px;}
  .gallery-item.wide{grid-column:span 2;}
}


/* ============================================================
   v3 — SEO: podstrony, breadcrumbs, FAQ, poradnik, CTA telefoniczne
   ============================================================ */
main{display:block;}
.skip-link{position:absolute; left:-9999px; top:8px; z-index:10000; background:var(--forest-deep); color:#fff; padding:10px 16px; border-radius:4px; font-weight:700;}
.skip-link:focus{left:12px;}
a:focus-visible, button:focus-visible, summary:focus-visible{outline:2px solid var(--honey); outline-offset:3px; border-radius:3px;}

.breadcrumbs{position:absolute; top:100px; left:0; right:0; font-size:.8rem; color:var(--bark);}
.breadcrumbs a{color:var(--bark); text-decoration:none; border-bottom:1px solid transparent;}
.breadcrumbs a:hover{border-color:var(--honey);}
.breadcrumbs i{font-style:normal; opacity:.5; margin-inline:6px;}
.breadcrumbs [aria-current]{font-weight:700; color:var(--forest-deep);}

.inline-tel{color:var(--forest-deep); font-weight:800; text-decoration:none; border-bottom:2px solid var(--honey);}
.inline-tel:hover{color:var(--honey-deep);}
.callout .inline-tel{color:var(--honey-light);}
.btn-ghost{border-color:var(--forest-deep); color:var(--forest-deep); background:transparent;}
.btn-ghost:hover{background:var(--forest-deep); color:#fff; transform:translateY(-2px);}
.nav-cta{font-family:'Karla',sans-serif;}

.prose h2{font-size:clamp(1.7rem,2.4vw,2.3rem); margin-bottom:18px;}
.prose p{color:var(--bark); font-size:1.02rem; margin-top:14px;}
.prose p:first-of-type{margin-top:0;}
.prose a, .prose-wide a, .faq-a a, .card p a, .section-head p a{color:var(--forest-deep); font-weight:700; text-decoration:underline; text-decoration-color:var(--honey); text-underline-offset:3px;}
.prose .eyebrow{margin-bottom:0;}
.cta-line{margin-top:26px !important; display:flex; gap:12px; flex-wrap:wrap;}
.prose-wide{max-width:860px; margin-inline:auto;}
.prose-wide h2{font-size:clamp(1.7rem,2.6vw,2.4rem);}
.prose-wide p{color:var(--bark); margin-top:14px; font-size:1.05rem;}
.small-note{font-size:.84rem; color:var(--bark); opacity:.85; margin-top:14px;}

.tick-list li{position:relative; padding:9px 0 9px 30px; color:var(--bark); border-bottom:1px dashed var(--line);}
.tick-list li:last-child{border-bottom:none;}
.tick-list li::before{content:"✦"; position:absolute; left:2px; top:9px; color:var(--honey); font-size:.85rem;}

.chip-row{display:flex; flex-wrap:wrap; gap:12px;}
.chip{
  display:inline-flex; align-items:center; gap:10px; padding:12px 20px; border-radius:40px;
  background:var(--cream-2); border:1px solid var(--line); color:var(--forest-deep);
  font-weight:700; font-size:.9rem; text-decoration:none;
  transition:transform .35s var(--ease), border-color .35s var(--ease), background .35s var(--ease);
}
.chip span{color:var(--honey-deep); transition:transform .35s var(--ease);}
.chip:hover{transform:translateY(-2px); border-color:var(--honey); background:#fff;}
.chip:hover span{transform:translateX(4px);}

.product-more{display:inline-block; margin-top:16px; font-size:.82rem; font-weight:800; color:var(--honey-deep); letter-spacing:.02em;}
.product:hover .product-more{color:var(--forest-deep);}
td a{color:var(--forest-deep); font-weight:700; text-decoration:underline; text-decoration-color:var(--honey); text-underline-offset:3px;}

.loc-h{font-family:'Karla',sans-serif !important; font-weight:800; font-size:1.3rem; line-height:1.25; margin-bottom:10px; color:var(--forest-deep);}
.big-tel{display:block; font-family:'IBM Plex Mono',monospace; font-size:clamp(1.8rem,3.6vw,2.6rem); font-weight:600; color:var(--forest-deep); text-decoration:none; letter-spacing:.01em;}
.big-tel:hover{color:var(--honey-deep);}
.call-card{background:linear-gradient(135deg,var(--sage),var(--cream-2));}

.step{position:relative;}
.step-n{display:block; font-size:1.5rem; color:var(--honey); margin-bottom:12px;}

/* FAQ */
.faq-wrap{max-width:860px;}
.faq-list{display:flex; flex-direction:column; gap:12px;}
.faq-item{background:var(--cream-2); border:1px solid var(--line); border-radius:6px; transition:border-color .3s var(--ease), box-shadow .3s var(--ease);}
.faq-item[open]{border-color:var(--honey); box-shadow:var(--shadow-md);}
.faq-item summary{cursor:pointer; list-style:none; padding:20px 56px 20px 24px; font-weight:800; color:var(--forest-deep); position:relative; font-size:1rem; line-height:1.4;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+"; position:absolute; right:22px; top:50%; transform:translateY(-50%); font-size:1.5rem; color:var(--honey); transition:transform .3s var(--ease);}
.faq-item[open] summary::after{content:"–";}
.faq-a{padding:0 24px 22px;}
.faq-a p{color:var(--bark); font-size:.98rem;}

/* pływający przycisk "Zadzwoń" (telefon) */
.call-fab{
  display:none; position:fixed; right:14px; bottom:14px; z-index:800;
  background:var(--honey); color:#fff; text-decoration:none; font-weight:700; font-size:.88rem;
  padding:13px 20px; border-radius:40px; box-shadow:0 14px 30px -10px rgba(18,32,22,.55);
}
.call-fab b{font-family:'IBM Plex Mono',monospace; font-weight:600; margin-left:4px;}

@media (max-width:900px){
  .call-fab{display:inline-flex; align-items:center;}
  footer.site{padding-bottom:96px;}
  .breadcrumbs{top:84px;}
  .page-hero{padding-block:150px 60px;}
}
.menu-open .call-fab{display:none !important;}
