:root{
  --accent:#c0463a; /* red communication */
  --accent-dark:#a53a31;
  --bg-hero:#f9f3ed;
  --bg-soft:#f6efe8;
  --text:#1b1b1b;
  --muted:#5b5b5b;
  --line:#d9d9d9;
  --dark:#2f3f4d;
  --radius:18px;
  --max:1120px;
}

*{box-sizing:border-box}
html,body{
  margin:0;
  padding:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;
  color:var(--text);
  background:#fff
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{max-width:var(--max);margin:0 auto;padding:0 18px}

/* ================= HEADER ================= */

header.topbar{
  position:fixed;left:0;right:0;top:0;z-index:100;
  background:transparent;
  transition:background .25s ease, border-color .25s ease, box-shadow .25s ease;
  border-bottom:1px solid transparent;
}
header.topbar.scrolled{
  background:#fff;
  border-bottom:1px solid var(--line);
}
.topbar-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 0;
  gap:16px
}
.brand{
  font-weight:800;
  letter-spacing:.4px;
  font-size:22px;
}
.brand .pl{color:var(--accent)}

.nav{display:flex;gap:18px;align-items:center}
.nav a{
  font-weight:700;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#111;
  padding:6px 6px
}
.nav a:hover{color:var(--accent)}


/* ================= MOBILE NAV (Hamburger) ================= */
.nav-toggle{
  display:none;
  border:0;
  background:transparent;
  padding:10px;
  margin-left:auto;
  cursor:pointer;
  line-height:0;
}
.nav-toggle-box{display:inline-flex;flex-direction:column;gap:5px}
.nav-toggle-bar{
  width:22px;height:2px;
  background:#111;
  display:block;
  border-radius:2px;
}

.mnav{
  position:fixed;inset:0;
  z-index:999;
  pointer-events:none;
}
.mnav-backdrop{
  position:absolute;inset:0;
  background:rgba(0,0,0,.35);
  opacity:0;
  transition:opacity .25s ease;
}
.mnav-panel{
  position:absolute;top:0;right:0;height:100%;
  width:min(84vw,360px);
  background:#fff;
  transform:translateX(100%);
  transition:transform .25s ease;
  box-shadow:-12px 0 30px rgba(0,0,0,.12);
  display:flex;
  flex-direction:column;
  padding:18px 18px 22px;
}
.mnav-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-bottom:12px;
  border-bottom:1px solid var(--line);
}
.mnav-brand{font-weight:800;letter-spacing:.4px;font-size:18px}
.mnav-close{
  border:0;background:transparent;
  font-size:28px;line-height:1;
  padding:6px 8px;cursor:pointer;
}
.mnav-links{
  display:flex;
  flex-direction:column;
  gap:2px;
  padding-top:14px;
}
.mnav-links a{
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:12px;
  padding:12px 10px;
  border-radius:10px;
  color:#111;
}
.mnav-links a:hover{background:rgba(0,0,0,.04);color:var(--accent)}
body.mnav-open{overflow:hidden}
body.mnav-open .mnav{pointer-events:auto}
body.mnav-open .mnav-backdrop{opacity:1}
body.mnav-open .mnav-panel{transform:translateX(0)}


/* ================= HERO ================= */

.hero{
  min-height:420px;
  display:flex;
  align-items:center;
  position:relative;
  padding-top:78px;
  overflow:hidden;
}

/* TŁO */
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:url("../images/index-banner.jpg") center/cover no-repeat;
  filter:grayscale(1);
  z-index:1;
}

/* OVERLAY */
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(255,255,255,.45);
  z-index:2;
}

/* TEKST NAD WSZYSTKIM */
.hero-content{
  position:relative;
  z-index:3;              /* KLUCZOWE */
  width:100%;
  text-align:center;
  padding:48px 0 54px;
}

/* ===== MOCNY CZARNY TEKST ===== */

.hero-kicker{
  font-weight:800;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin:0 0 14px;
  color:#000;
}

.hero-kicker span{
  color:var(--accent);
}

.hero-subtitle{
  font-weight:800;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin:0 0 10px;
  color:#000;
}

.hero-title{
  font-weight:900;
  font-size:46px;
  letter-spacing:.02em;
  margin:0 0 14px;
  color:#000;
  text-shadow:none;
}

.hero-lead{
  max-width:640px;
  margin:0 auto 22px;
  color:#000;
  font-size:14px;
  line-height:1.6;
}

/* PRZYCISKI */

.btns{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:34px;
  padding:0 16px;
  border-radius:999px;
  font-weight:800;
  font-size:12px;
  letter-spacing:.04em;
  text-transform:uppercase;
  border:1px solid rgba(0,0,0,.18);
  background:#fff;
  cursor:pointer;
}

.btn.primary{
  background:var(--accent);
  border-color:transparent;
  color:#fff;
}

.btn.primary:hover{
  background:var(--accent-dark);
}

.btn.ghost{
  background:transparent;
}

/* ================= SECTIONS ================= */

.section{padding:48px 0}
.section-title{
  font-size:14px;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:900;
  text-align:center;
  margin:0 0 8px
}
.section-lead{
  color:var(--muted);
  text-align:center;
  max-width:560px;
  margin:0 auto 24px;
  font-size:12px;
  line-height:1.6
}

.guarantee-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  align-items:start;
  margin-top:12px;
}

.guarantee-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px
}

.icon-cog{width:22px;height:22px}

.guarantee-label{
  font-weight:900;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-align:center;
}

.soft{background:var(--bg-soft)}

.about-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:22px;
  align-items:center;
}

.card{
  background:#fff;
  border:1px solid #eadfd4;
  border-radius:22px;
  padding:22px;
}

.about-img{
  border-radius:22px;
  overflow:hidden;
  background:#fff;
  border:1px solid #eadfd4;
}

.about-img img{
  width:100%;
  height:260px;
  object-fit:cover
}

.small-label{font-size:11px;color:var(--muted);font-weight:700;margin:0 0 6px}
.h3{margin:0 0 10px;font-size:18px;font-weight:900;letter-spacing:.02em}
.p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}
.card-actions{margin-top:16px}
.btn.small{height:30px;padding:0 14px;font-size:11px}

.team-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:22px;
  align-items:start;
}

.people{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.person{
  border:1px solid #eadfd4;
  border-radius:10px;
  padding:10px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  background:#fff;
}

.avatar{
  width:34px;height:34px;border-radius:50%;
  background:#e9e9e9;
  display:flex;align-items:center;justify-content:center;
  font-weight:900;color:#777;font-size:12px;
}

.person-name{font-weight:900;font-size:11px}
.person-role{font-size:10px;color:var(--muted);font-weight:700}

/* ================= FOOTER ================= */

.footer{
  background:var(--dark);
  color:#fff;
  padding:26px 0;
}

.footer-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr 1.2fr;
  gap:18px;
  align-items:start;
}

.footer a{color:#fff}
.footer .muted{
  color:rgba(255,255,255,.75);
  font-size:11px;
  line-height:1.6
}

.footer .title{
  font-weight:900;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin:0 0 10px
}

.footer-links a{
  display:block;
  font-size:11px;
  margin:6px 0;
  color:rgba(255,255,255,.9)
}

.footer-bottom{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin-top:12px;
  font-size:11px;
  color:rgba(255,255,255,.85)
}

.footer-bottom a{color:rgba(255,255,255,.9)}

/* ================= RESPONSIVE ================= */

@media (max-width: 920px){
  /* MOBILE NAV responsive */
  .nav{display:none}
  .nav-toggle{display:inline-flex}

  .hero-title{font-size:38px}
  .about-grid, .team-grid{grid-template-columns:1fr}
  .guarantee-row{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  header.topbar{position:sticky}
  .hero{padding-top:0}
}


/* ===============================
   B2B READABILITY (40+)
   Subtle typography boost for better on-screen legibility
   =============================== */
body{
  font-size:16px;
  line-height:1.6;
}

p{
  font-size:1rem;
  line-height:1.6;
}

li{
  font-size:0.98rem; /* slightly smaller than paragraphs */
  line-height:1.55;
}

.small, .fineprint{
  font-size:0.92rem;
  line-height:1.5;
}


/* ===============================
   LEBENSMITTELINDUSTRIE – TYPO BOOST
   Requested: labels +30%, paragraphs +50%
   =============================== */
/* removed scoped */
body.lp-lebensmittel .small-label{
  font-size:14px; /* ~11px -> +27% */
  line-height:1.35;
}

/* removed scoped */
body.lp-lebensmittel .p{
  font-size:18px; /* 12px -> +50% */
  line-height:1.75;
  color:#333;
}


/* ===============================
   GLOBAL TYPOGRAPHY BOOST (B2B 40+)
   Applies to index.html & listing.html
   =============================== */

.small-label{
  font-size:14px !important; /* ~+30% */
  line-height:1.35;
}

.p{
  font-size:18px !important; /* ~+50% from 12px */
  line-height:1.75;
  color:#333;
}


/* ===============================
   INDEX HERO & HEADER TYPO BOOST
   =============================== */

/* Logo */
.logo, .brand, .site-title{
  font-size: 1.3em !important; /* subtle enlargement */
}

/* Top navigation */
.nav a{
  font-size: 14px !important; /* was 12px */
}

/* Hero banner texts */
.hero h1,
.hero-title{
  font-size: 2.2rem !important;
}

.hero p,
.hero-subtitle{
  font-size: 1.2rem !important;
  line-height: 1.6;
}

/* Section headline */
h2{
  font-size: 1.6rem !important;
}

/* Garantie section main paragraph */
.section p,
.garantie p{
  font-size: 1.2rem !important;
  line-height: 1.7;
}

/* Garantie keywords */
.garantie strong,
.garantie h3{
  font-size: 1.2rem !important;
}


/* ===============================
   INDEX GARANTIE ICONS +60%
   =============================== */

/* Garantie titles */
.garantie h3,
.garantie .title,
.garantie strong{
  font-size: 1.6rem !important; /* approx +60% visual weight */
}

/* Garantie icons */
.garantie img,
.garantie svg,
.garantie .icon{
  transform: scale(1.6);
  transform-origin: center;
}


/* ===============================
   FORCE GARANTIE SECTION +60%
   =============================== */

/* These three headings */
.index .h3,
.index .features h3,
.index .benefits h3,
.index h3{
  font-size: 28px !important;   /* approx +60% from ~18px */
  letter-spacing: .04em;
}

/* Icons above them */
.index .features img,
.index .features svg,
.index .benefits img,
.index .benefits svg,
.index .icon{
  width: 60px !important;
  height: 60px !important;
}


/* ===============================
   INDEX GARANTIE: LABELS + ICONS +60%
   Targets actual classes in index.html
   =============================== */
.guarantee-label{
  font-size: calc(1em * 1.6) !important;
  line-height: 1.2;
}

.guarantee-item svg{
  width: calc(24px * 1.6) !important;
  height: calc(24px * 1.6) !important;
}




/* === BEISPIELE GALLERY === */
.beispiele-section{padding-top:30px;padding-bottom:44px;}
.beispiele-head{margin:0 0 16px;}
.beispiele-title{margin:0 0 6px;font-size:22px;font-weight:900;letter-spacing:.02em;}
.beispiele-subtitle{margin:0;max-width:900px;color:var(--muted);line-height:1.55;}
.beispiele-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.beispiele-item{
  display:block;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 10px 24px rgba(0,0,0,.14);
}
.beispiele-item img{
  width:100%;
  height:180px;
  object-fit:cover;
  display:block;
  transform:scale(1.001);
}
.beispiele-item:focus-visible{outline:3px solid rgba(13,74,122,.55);outline-offset:3px;}
.beispiele-placeholder{
  grid-column:1/-1;
  padding:18px 18px;
  border-radius:18px;
  background:rgba(255,255,255,.55);
  box-shadow:0 10px 24px rgba(0,0,0,.10);
}

/* Lightbox */
.lb{position:fixed;inset:0;display:none;z-index:9999;}
.lb.open{display:block;}
.lb-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);}
.lb-panel{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
}
.lb-figure{
  margin:0;
  max-width:min(980px, 92vw);
  max-height:86vh;
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
}
.lb-img{
  max-width:100%;
  max-height:78vh;
  border-radius:18px;
  box-shadow:0 18px 44px rgba(0,0,0,.35);
  background:#111;
}
.lb-caption{color:#fff;opacity:.9;font-size:14px;letter-spacing:.02em;}
.lb-close{
  position:absolute;top:14px;right:14px;
  width:44px;height:44px;border-radius:999px;
  border:0;cursor:pointer;
  background:rgba(255,255,255,.16);
  color:#fff;font-size:28px;line-height:44px;
}
.lb-nav{
  position:absolute;top:50%;
  transform:translateY(-50%);
  width:48px;height:48px;border-radius:999px;
  border:0;cursor:pointer;
  background:rgba(255,255,255,.16);
  color:#fff;font-size:34px;line-height:48px;
}
.lb-prev{left:14px;}
.lb-next{right:14px;}
.lb-close:hover,.lb-nav:hover{background:rgba(255,255,255,.24);}
.lb-lock{overflow:hidden;}

/* Responsive */
@media (max-width: 920px){
  .beispiele-grid{grid-template-columns:repeat(2,1fr);}
  .beispiele-item img{height:170px;}
}
@media (max-width: 520px){
  .beispiele-grid{grid-template-columns:repeat(2,1fr);gap:10px;}
  .beispiele-item{border-radius:16px;}
  .beispiele-item img{height:140px;}
  .lb-nav{width:44px;height:44px;line-height:44px;font-size:30px;}
}
