/* ========================================================== *
 * Piekarnia Sofii — Hurtowa oferta · landing
 * Desktop-only (min width 1280)
 * ========================================================== */

:root {
  /* surface */
  --bg:           #FAF6EF;
  --bg-soft:      #F3EAD8;
  --bg-warm:      #FBF3E3;
  --surface:      #FFFFFF;
  --surface-2:    #FFFBF3;

  /* ink */
  --ink:          #2A1A12;
  --ink-2:        #5E4937;
  --ink-3:        #9C8A77;
  --ink-4:        #C5B7A3;

  /* accent */
  --accent:       #8B2A1F;
  --accent-2:     #C0421E;
  --accent-3:     #D4A574;
  --gold:         #B68B3F;
  --olive:        #6B7B4B;

  /* lines */
  --line:         #EADDC7;
  --line-2:       #DCC9AA;

  /* radius */
  --r-sm: 10px;
  --r-md: 16px;
  --r-lg: 24px;
  --r-xl: 32px;
  --r-pill: 999px;

  /* shadows */
  --shadow-1: 0 1px 2px rgba(42,26,18,.04), 0 2px 6px rgba(42,26,18,.04);
  --shadow-2: 0 4px 16px rgba(42,26,18,.07), 0 1px 4px rgba(42,26,18,.04);
  --shadow-3: 0 24px 60px -20px rgba(42,26,18,.22), 0 10px 30px -15px rgba(139,42,31,.18);
  --shadow-card: 0 8px 30px -12px rgba(42,26,18,.18), 0 2px 6px rgba(42,26,18,.04);

  /* type */
  --serif: 'Fraunces', 'Times New Roman', serif;
  --sans:  'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;

  /* anim */
  --e-out: cubic-bezier(.2,.7,.2,1);
  --e-spring: cubic-bezier(.34,1.56,.64,1);
}

/* RESET ----------------------------------------------------- */
*,*::before,*::after{ box-sizing:border-box; }
html { scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--sans);
  font-size:16px;
  line-height:1.55;
  color:var(--ink);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
body.is-locked{ overflow:hidden; }
a{ color:inherit; text-decoration:none; }
img,svg{ display:block; max-width:100%; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }
ul,ol{ list-style:none; padding:0; margin:0; }
h1,h2,h3,h4,h5{ margin:0; font-family:var(--serif); font-weight:500; letter-spacing:-.012em; color:var(--ink); }
p{ margin:0; }
::selection{ background:var(--accent); color:#fff; }

/* CONTAINER ------------------------------------------------- */
.container{
  width:100%;
  max-width:1280px;
  margin:0 auto;
  padding:0 56px;
}

/* DECORATIVE BG -------------------------------------------- */
.bg-grain{
  position:fixed; inset:0; pointer-events:none; z-index:0;
  background-image:
    radial-gradient(circle at 20% 10%, rgba(212,165,116,.08), transparent 50%),
    radial-gradient(circle at 90% 90%, rgba(139,42,31,.05), transparent 60%);
}
.bg-grain::after{
  content:""; position:absolute; inset:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.16  0 0 0 0 0.10  0 0 0 0 0.07  0 0 0 0.06 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  opacity:.55; mix-blend-mode:multiply;
}
.bg-orb{
  position:fixed; pointer-events:none; z-index:0; filter:blur(80px);
  border-radius:50%; opacity:.55;
}
.bg-orb--a{
  width:520px; height:520px;
  top:-160px; left:-160px;
  background:radial-gradient(circle, #E8A87C 0%, transparent 70%);
}
.bg-orb--b{
  width:640px; height:640px;
  top:600px; right:-200px;
  background:radial-gradient(circle, #D4A574 0%, transparent 70%);
  opacity:.4;
}

/* TYPOGRAPHY ----------------------------------------------- */
.display{
  font-family:var(--serif);
  font-weight:500;
  font-size:76px;
  line-height:1.02;
  letter-spacing:-.025em;
  margin:0 0 28px;
  color:var(--ink);
}
.display__accent{
  font-style:italic;
  color:var(--accent);
  font-weight:500;
  background:linear-gradient(180deg, var(--accent-2) 0%, var(--accent) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
h2{
  font-size:44px;
  line-height:1.08;
  letter-spacing:-.02em;
}
h3{
  font-size:22px;
  line-height:1.2;
  letter-spacing:-.012em;
}
h4{
  font-size:18px;
  line-height:1.25;
  font-family:var(--serif);
  font-weight:500;
  letter-spacing:-.01em;
}
h5{
  font-size:13px;
  font-family:var(--sans);
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--ink-2);
  margin:0 0 14px;
}
.lede{
  font-size:18px;
  line-height:1.55;
  color:var(--ink-2);
  max-width:520px;
  margin:0 0 36px;
}
.ink-muted{ color:var(--ink-3); font-style:italic; font-weight:400; }

/* EYEBROW + DOT -------------------------------------------- */
.eyebrow{
  display:inline-flex;
  align-items:center; gap:8px;
  font-size:12px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--accent);
  padding:6px 14px 6px 10px;
  background:rgba(192,66,30,.07);
  border:1px solid rgba(192,66,30,.18);
  border-radius:var(--r-pill);
  margin-bottom:22px;
}
.eyebrow--light{
  color:#FFE5D6;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
}
.eyebrow--light .dot{ background:#FFB48C; box-shadow:0 0 8px #FFB48C; }
.dot{
  width:6px; height:6px; border-radius:50%;
  background:var(--accent-2);
  box-shadow:0 0 8px var(--accent-2);
  display:inline-block;
}
.dot--accent{ background:var(--accent); }
.dot--olive { background:var(--olive); }
.dot--gold  { background:var(--gold); }

/* BUTTONS -------------------------------------------------- */
.btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:11px 18px;
  border-radius:var(--r-pill);
  font-family:var(--sans); font-weight:600; font-size:14px;
  line-height:1; letter-spacing:-.005em;
  transition: transform .25s var(--e-out), box-shadow .25s var(--e-out), background .25s var(--e-out), color .25s var(--e-out);
  position:relative;
  white-space:nowrap;
}
.btn svg{ width:14px; height:14px; transition:transform .3s var(--e-out); }
.btn:hover svg{ transform: translateX(3px); }
.btn--sm { padding:9px 14px; font-size:13px; }
.btn--lg { padding:16px 26px; font-size:15px; }
.btn--block{ width:100%; justify-content:center; }

.btn--primary{
  background:linear-gradient(180deg, #C0421E 0%, #8B2A1F 100%);
  color:#FFF6EE;
  box-shadow:
    0 1px 0 rgba(255,255,255,.18) inset,
    0 -1px 0 rgba(0,0,0,.18) inset,
    0 10px 24px -8px rgba(139,42,31,.55);
}
.btn--primary::before{
  content:""; position:absolute; inset:0;
  border-radius:inherit;
  background:linear-gradient(180deg, rgba(255,255,255,.25), transparent 60%);
  opacity:.5; pointer-events:none;
}
.btn--primary:hover{
  transform:translateY(-1px);
  box-shadow:
    0 1px 0 rgba(255,255,255,.22) inset,
    0 -1px 0 rgba(0,0,0,.2) inset,
    0 16px 32px -10px rgba(139,42,31,.6);
}
.btn--primary:active{ transform:translateY(0); }

.btn--ghost{
  background:rgba(42,26,18,.04);
  color:var(--ink);
  border:1px solid var(--line);
}
.btn--ghost:hover{
  background:var(--surface);
  border-color:var(--line-2);
  transform:translateY(-1px);
  box-shadow:var(--shadow-2);
}

/* NAV ------------------------------------------------------ */
.nav{
  position:fixed; top:0; left:0; right:0;
  z-index:50;
  padding:16px 0;
  transition: padding .3s var(--e-out), background .3s var(--e-out), backdrop-filter .3s var(--e-out), border-color .3s var(--e-out);
  border-bottom:1px solid transparent;
}
.nav.is-scrolled{
  padding:10px 0;
  background:rgba(250,246,239,.78);
  backdrop-filter:saturate(180%) blur(14px);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
  border-color:var(--line);
}
.nav__inner{
  display:grid;
  grid-template-columns: 1fr auto 1fr;
  align-items:center;
  gap:32px;
}
.brand{
  display:inline-flex; align-items:center; gap:12px;
}
.brand__mark{ width:36px; height:36px; flex-shrink:0; }
.brand__logo{ height:42px; width:auto; max-width:none; display:block; }
.brand--foot .brand__logo{ height:50px; }
.brand__text{ display:flex; flex-direction:column; line-height:1; }
.brand__name{
  font-family:var(--serif);
  font-weight:600;
  font-size:18px;
  letter-spacing:-.01em;
  color:var(--ink);
}
.brand__tag{
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--ink-3);
  margin-top:4px;
}
.nav__links{
  display:flex; gap:6px;
  justify-self:center;
  background:rgba(42,26,18,.04);
  border:1px solid var(--line);
  border-radius:var(--r-pill);
  padding:4px;
}
.nav__links a{
  position:relative;
  padding:8px 16px;
  font-size:13.5px; font-weight:500;
  color:var(--ink-2);
  border-radius:var(--r-pill);
  transition: color .2s var(--e-out), background .2s var(--e-out);
}
.nav__links a:hover{
  color:var(--ink);
  background:var(--surface);
  box-shadow:var(--shadow-1);
}
.nav__actions{
  display:flex; align-items:center; gap:18px;
  justify-self:end;
}
.nav__phone{
  font-size:13.5px; font-weight:500; color:var(--ink-2);
  font-variant-numeric:tabular-nums;
  transition:color .2s;
}
.nav__phone:hover{ color:var(--accent); }

/* HERO ----------------------------------------------------- */
.hero{
  position:relative;
  z-index:1;
  padding:160px 0 96px;
  overflow:hidden;
}
.hero__grid{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:64px;
  align-items:center;
}
.hero__copy{ position:relative; z-index:2; }
.hero__cta{ display:flex; gap:12px; margin-top:8px; }
.hero__stats{
  display:flex; gap:48px;
  margin-top:64px;
  padding-top:32px;
  border-top:1px dashed var(--line);
}
.hero__stats li{ display:flex; flex-direction:column; gap:4px; }
.stat__num{
  font-family:var(--serif);
  font-size:24px;
  font-weight:500;
  letter-spacing:-.012em;
  color:var(--ink);
}
.stat__label{
  font-size:13px;
  color:var(--ink-3);
}

/* hero visual */
.hero__visual{
  position:relative;
  height:560px;
  perspective:1200px;
}
.orbit{ position:absolute; inset:0; }
.orbit__ring{
  position:absolute;
  border-radius:50%;
  border:1px dashed rgba(139,42,31,.18);
  pointer-events:none;
}
.orbit__ring--1{ inset:20px; opacity:.5; animation:spin 60s linear infinite; }
.orbit__ring--2{ inset:80px; opacity:.4; animation:spin 80s linear infinite reverse; }
.orbit__ring--3{ inset:140px; opacity:.3; animation:spin 100s linear infinite; }
@keyframes spin{ to{ transform:rotate(360deg); } }

.ds-card{
  position:absolute;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:18px;
  box-shadow:var(--shadow-card);
  display:flex; gap:14px;
  align-items:flex-start;
  transition: transform .5s var(--e-out), box-shadow .5s var(--e-out);
}
.ds-card:hover{
  transform: translateY(-6px) rotate(0) !important;
  box-shadow: 0 30px 60px -20px rgba(42,26,18,.25);
  z-index:5;
}
.ds-card__thumb{
  width:64px; height:64px;
  border-radius:18px;
  flex-shrink:0;
  display:grid; place-items:center;
  color:#FFFAF0;
  position:relative;
  overflow:hidden;
}
.ds-card__thumb::after{
  content:""; position:absolute; inset:0;
  background:radial-gradient(circle at 30% 25%, rgba(255,255,255,.4), transparent 50%);
}
.ds-card__thumb svg{ width:48px; height:48px; position:relative; z-index:1; }
.ds-card__body{ flex:1; min-width:0; }
.ds-card__cat{
  font-size:10.5px;
  font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink-3);
}
.ds-card h4{ margin:4px 0 6px; font-size:17px; }
.ds-card p{ font-size:13px; color:var(--ink-3); line-height:1.45; margin-bottom:10px; }
.ds-card__row{
  display:flex; justify-content:space-between; align-items:baseline;
  font-size:13px; color:var(--ink-2);
  padding:6px 0;
  border-top:1px dashed var(--line);
  font-variant-numeric:tabular-nums;
}
.ds-card__row b{ color:var(--ink); font-weight:600; font-family:var(--serif); font-size:15px; }
.ds-card__row--retail b{ color:var(--accent); }

.ds-card--lg{
  width:340px;
  top:60px; left:20px;
  transform: rotate(-3deg);
  z-index:3;
}
.ds-card--md{
  width:290px;
  top:240px; right:0;
  transform: rotate(2deg);
  z-index:2;
}
.ds-card--sm{
  width:240px;
  bottom:30px; left:80px;
  transform: rotate(-2deg);
  z-index:2;
}

.badge-float{
  position:absolute;
  display:inline-flex; align-items:center; gap:8px;
  background:#fff;
  border:1px solid var(--line);
  padding:8px 14px;
  border-radius:var(--r-pill);
  font-size:12.5px;
  font-weight:500;
  color:var(--ink-2);
  box-shadow:var(--shadow-2);
}
.badge-float svg{ width:14px; height:14px; color:var(--olive); }
.badge-float--fresh{ top:20px; right:30px; color:var(--olive); }
.badge-float--orders{ bottom:0; right:30px; }
.badge-float .pulse{
  width:8px; height:8px; border-radius:50%;
  background:#3B8E3F;
  box-shadow:0 0 0 0 rgba(59,142,63,.5);
  animation: pulse 2s infinite;
}
@keyframes pulse{
  0%{ box-shadow:0 0 0 0 rgba(59,142,63,.5); }
  70%{ box-shadow:0 0 0 12px rgba(59,142,63,0); }
  100%{ box-shadow:0 0 0 0 rgba(59,142,63,0); }
}

/* product card thumb gradients */
[data-grad="caramel"]{ background:linear-gradient(140deg, #C9824C 0%, #8B5A2E 100%); }
[data-grad="pistachio"]{ background:linear-gradient(140deg, #A4B57E 0%, #5F7A4B 100%); }
[data-grad="berry"]{ background:linear-gradient(140deg, #B14C5C 0%, #6E2236 100%); }
[data-grad="chocolate"]{ background:linear-gradient(140deg, #6B4226 0%, #2E1B0F 100%); }
[data-grad="vanilla"]{ background:linear-gradient(140deg, #E7C998 0%, #B58A4F 100%); }
[data-grad="cocoa"]{ background:linear-gradient(140deg, #8C5A3A 0%, #4B2A1A 100%); }
[data-grad="cream"]{ background:linear-gradient(140deg, #E8D5B2 0%, #B89466 100%); }
[data-grad="rose"]{ background:linear-gradient(140deg, #E89AA0 0%, #A14E5C 100%); }
[data-grad="mango"]{ background:linear-gradient(140deg, #E8B25C 0%, #B26A2A 100%); }
[data-grad="cinnamon"]{ background:linear-gradient(140deg, #B86E3C 0%, #6E3B1C 100%); }
[data-grad="oreo"]{ background:linear-gradient(140deg, #3A2A22 0%, #1A1310 100%); }
[data-grad="strawberry"]{ background:linear-gradient(140deg, #E27D8A 0%, #B33645 100%); }
[data-grad="redvelvet"]{ background:linear-gradient(140deg, #B13443 0%, #6F1F2A 100%); }
[data-grad="pear"]{ background:linear-gradient(140deg, #C8C58A 0%, #8B8146 100%); }
[data-grad="honey"]{ background:linear-gradient(140deg, #D9A647 0%, #8F6A1F 100%); }

/* hero floats */
.float-a{ animation: floatA 9s ease-in-out infinite; }
.float-b{ animation: floatB 11s ease-in-out infinite; }
.float-c{ animation: floatC 10s ease-in-out infinite; }
.float-d{ animation: floatD 8s ease-in-out infinite; }
.float-e{ animation: floatE 12s ease-in-out infinite; }
@keyframes floatA{ 0%,100%{ transform:rotate(-3deg) translateY(0); } 50%{ transform:rotate(-3deg) translateY(-10px); } }
@keyframes floatB{ 0%,100%{ transform:rotate(2deg) translateY(0); } 50%{ transform:rotate(2deg) translateY(-14px); } }
@keyframes floatC{ 0%,100%{ transform:rotate(-2deg) translateY(0); } 50%{ transform:rotate(-2deg) translateY(-8px); } }
@keyframes floatD{ 0%,100%{ transform: translateY(0); } 50%{ transform: translateY(-6px); } }
@keyframes floatE{ 0%,100%{ transform: translateY(0); } 50%{ transform: translateY(-8px); } }

/* hero grain decorations */
.hero__grain{
  position:absolute;
  width:80px; height:300px;
  color:var(--ink-4);
  opacity:.45;
}
.hero__grain--l{ top:100px; left:-20px; transform: rotate(-18deg); }
.hero__grain--r{ bottom:40px; right:-30px; transform: rotate(22deg); }

/* TRUST ROW ----------------------------------------------- */
.trust{
  position:relative; z-index:1;
  padding:32px 0 64px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.4);
}
.trust__label{
  text-align:center;
  font-size:11.5px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ink-3);
  margin-bottom:24px;
  font-weight:600;
}
.trust__row{
  display:flex; justify-content:center; align-items:center;
  gap:48px;
  flex-wrap:wrap;
}
.trust__row li{
  display:inline-flex; align-items:center; gap:10px;
  font-size:15px; font-weight:500;
  color:var(--ink-2);
  font-family:var(--serif);
  transition: color .3s, transform .3s var(--e-out);
}
.trust__row li:hover{ color:var(--accent); transform: translateY(-2px); }
.trust__row svg{ width:22px; height:22px; color:var(--ink-3); transition:color .3s; }
.trust__row li:hover svg{ color:var(--accent); }

/* SECTION HEADER ------------------------------------------ */
.section-head{
  margin-bottom:56px;
  max-width:760px;
}
.section-head--center{ text-align:center; margin-left:auto; margin-right:auto; }
.section-head--row{
  display:flex; align-items:flex-end; justify-content:space-between; gap:32px;
  max-width:none;
}
.section-head__sub{
  font-size:16px; color:var(--ink-2); margin-top:14px; max-width:580px;
}
.section-head__sub b{ color:var(--ink); font-weight:600; }

/* WHY ----------------------------------------------------- */
.why{ position:relative; z-index:1; padding:120px 0; }
.why__grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:20px;
}
.card-feat{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:32px 28px 28px;
  transition: transform .4s var(--e-out), box-shadow .4s var(--e-out), border-color .4s var(--e-out);
  position:relative;
  overflow:hidden;
}
.card-feat::before{
  content:""; position:absolute;
  inset:0;
  background:radial-gradient(120% 60% at 50% 0%, rgba(192,66,30,.06), transparent 60%);
  opacity:0; transition:opacity .4s;
}
.card-feat:hover{
  transform: translateY(-6px);
  box-shadow:var(--shadow-3);
  border-color:rgba(192,66,30,.25);
}
.card-feat:hover::before{ opacity:1; }
.card-feat__icon{
  width:52px; height:52px;
  border-radius:14px;
  display:grid; place-items:center;
  background:linear-gradient(140deg, rgba(192,66,30,.1), rgba(139,42,31,.04));
  color:var(--accent);
  margin-bottom:22px;
  transition: transform .4s var(--e-spring);
}
.card-feat:hover .card-feat__icon{ transform: scale(1.08) rotate(-4deg); }
.card-feat__icon svg{ width:26px; height:26px; }
.card-feat h3{ margin-bottom:10px; }
.card-feat p{ font-size:14.5px; color:var(--ink-2); line-height:1.55; }

/* CATALOG ------------------------------------------------- */
.catalog{
  position:relative; z-index:1;
  padding:120px 0;
  background:linear-gradient(180deg, transparent 0%, var(--bg-warm) 30%, var(--bg-warm) 70%, transparent 100%);
}
.tabs{
  display:flex; gap:6px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--r-pill);
  padding:5px;
  width:fit-content;
  margin-bottom:18px;
  box-shadow:var(--shadow-1);
  position:relative;
}
.tab{
  padding:10px 18px;
  font-size:13.5px; font-weight:500;
  color:var(--ink-2);
  border-radius:var(--r-pill);
  transition: color .25s, background .25s;
  white-space:nowrap;
}
.tab:hover{ color:var(--ink); }
.tab.is-active{
  background:var(--ink);
  color:#FAF6EF;
  box-shadow:0 4px 12px -4px rgba(42,26,18,.4);
}

.catalog__legend{
  display:flex; gap:24px; align-items:center;
  font-size:12.5px; color:var(--ink-3);
  margin-bottom:32px;
  font-variant-numeric:tabular-nums;
}
.catalog__legend span{ display:inline-flex; align-items:center; gap:8px; }
.catalog__legend i{
  width:8px; height:8px; border-radius:50%;
  display:inline-block;
}

.catalog__grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:20px;
}

.prod{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:24px;
  display:flex; flex-direction:column; gap:18px;
  transition: transform .4s var(--e-out), box-shadow .4s var(--e-out), border-color .4s var(--e-out);
  position:relative;
  overflow:hidden;
}
.prod:hover{
  transform: translateY(-4px);
  box-shadow: 0 24px 50px -20px rgba(42,26,18,.2);
  border-color:var(--line-2);
}
.prod__head{ display:flex; gap:16px; align-items:flex-start; }
.prod__thumb{
  width:78px; height:78px;
  border-radius:20px;
  flex-shrink:0;
  display:grid; place-items:center;
  color:#FFFAF0;
  position:relative;
  overflow:hidden;
  transition: transform .4s var(--e-spring);
}
.prod:hover .prod__thumb{ transform: scale(1.06) rotate(-3deg); }
.prod__thumb::after{
  content:""; position:absolute; inset:0;
  background:radial-gradient(circle at 30% 25%, rgba(255,255,255,.4), transparent 55%);
}
.prod__thumb svg{ width:54px; height:54px; position:relative; z-index:1; }
.prod__thumb img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  z-index:2;
  border-radius:inherit;
}
.ds-card__thumb img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  z-index:2;
  border-radius:inherit;
}
.prod__title{
  display:flex; flex-direction:column; gap:4px;
  min-width:0; flex:1;
}
.prod__cat{
  font-size:10.5px;
  font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink-3);
}
.prod__name{
  font-family:var(--serif);
  font-size:19px;
  font-weight:500;
  letter-spacing:-.01em;
  color:var(--ink);
  line-height:1.2;
}
.prod__unit{
  font-size:12.5px;
  color:var(--ink-3);
  font-style:italic;
}
.prod__desc{
  font-size:13px;
  color:var(--ink-3);
  line-height:1.5;
  display:-webkit-box;
  -webkit-line-clamp:3; -webkit-box-orient:vertical;
  overflow:hidden;
}
.prod__prices{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:8px;
  padding-top:16px;
  border-top:1px dashed var(--line);
  margin-top:auto;
}
.prod__price{
  display:flex; flex-direction:column; gap:3px;
}
.prod__price-label{
  font-size:10px;
  letter-spacing:.08em; text-transform:uppercase;
  color:var(--ink-3); font-weight:600;
  display:inline-flex; align-items:center; gap:5px;
}
.prod__price-label i{
  width:5px; height:5px; border-radius:50%;
}
.prod__price-val{
  font-family:var(--serif);
  font-size:18px;
  font-weight:500;
  color:var(--ink);
  font-variant-numeric:tabular-nums;
  letter-spacing:-.01em;
}
.prod__price--retail .prod__price-val{ color:var(--accent); }

/* fade transitions for filtering */
.prod{ animation: cardIn .4s var(--e-out) both; }
.prod.is-hidden{ display:none; }
@keyframes cardIn{
  from{ opacity:0; transform: translateY(12px); }
  to  { opacity:1; transform: translateY(0); }
}

.catalog__note{
  margin-top:36px;
  font-size:13px;
  color:var(--ink-3);
  text-align:center;
  font-style:italic;
}

/* WARUNKI -------------------------------------------------- */
.warunki{ position:relative; z-index:1; padding:120px 0; }
.warunki__grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:16px;
}
.pill-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:26px;
  transition: transform .4s var(--e-out), box-shadow .4s var(--e-out);
}
.pill-card:hover{
  transform: translateY(-4px);
  box-shadow:var(--shadow-3);
}
.pill-card__top{
  display:flex; align-items:center; gap:10px;
  font-size:12px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--ink-3);
  margin-bottom:18px;
}
.pill-card__top svg{ width:18px; height:18px; color:var(--accent); }
.pill-card__value{
  font-family:var(--serif);
  font-size:26px;
  font-weight:500;
  letter-spacing:-.012em;
  color:var(--ink);
  margin-bottom:10px;
}
.pill-card p{
  font-size:13.5px;
  color:var(--ink-2);
  line-height:1.5;
}

/* HOW ------------------------------------------------------ */
.how{ position:relative; z-index:1; padding:80px 0 120px; }
.steps{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:20px;
  counter-reset: s;
}
.step{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:32px 28px;
  position:relative;
  overflow:hidden;
  transition: transform .4s var(--e-out), box-shadow .4s var(--e-out);
}
.step:hover{
  transform: translateY(-4px);
  box-shadow:var(--shadow-3);
}
.step__num{
  font-family:var(--serif);
  font-size:64px;
  font-weight:500;
  line-height:1;
  letter-spacing:-.04em;
  background:linear-gradient(180deg, var(--accent-3), transparent);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  display:block;
  margin-bottom:18px;
}
.step h3{ margin-bottom:10px; }
.step p{ font-size:14.5px; color:var(--ink-2); }

/* CTA ------------------------------------------------------ */
.cta{
  position:relative;
  padding:120px 0 130px;
  margin:60px 0;
  z-index:1;
  background:
    radial-gradient(120% 80% at 0% 0%, rgba(192,66,30,.18), transparent 50%),
    radial-gradient(80% 80% at 100% 100%, rgba(212,165,116,.12), transparent 50%),
    linear-gradient(160deg, #221511 0%, #2A1A12 60%, #3B231A 100%);
  color:#F4E3CD;
  overflow:hidden;
}
.cta::before{
  content:""; position:absolute; inset:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.04 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  pointer-events:none;
  mix-blend-mode:overlay;
}
.cta__grid{
  display:grid;
  grid-template-columns: 1fr .9fr;
  gap:64px;
  align-items:start;
}
.cta__copy h2{
  color:#FFFAF0;
  font-size:54px;
  line-height:1.05;
  letter-spacing:-.02em;
  margin-bottom:20px;
}
.cta__hl{
  font-style:italic;
  background:linear-gradient(180deg, #FFC79B 0%, #E27D43 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
.cta__copy p{
  font-size:17px;
  line-height:1.55;
  color:rgba(244,227,205,.75);
  max-width:480px;
  margin-bottom:36px;
}
.cta__contacts{
  display:flex; flex-direction:column; gap:14px;
}
.cta__contacts li{
  display:flex; align-items:center; gap:14px;
  font-size:15px;
  color:rgba(244,227,205,.92);
}
.cta__contacts svg{
  width:20px; height:20px;
  color:#E89A66;
  flex-shrink:0;
}
.cta__contacts a{ color:inherit; transition:color .2s; border-bottom:1px solid rgba(232,154,102,.3); }
.cta__contacts a:hover{ color:#FFC79B; border-color:#FFC79B; }

.cta__form{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--r-xl);
  padding:36px;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}
.cta__form h3{
  color:#FFFAF0;
  font-size:24px;
  margin-bottom:6px;
}
.cta__form__sub{
  font-size:13.5px;
  color:rgba(244,227,205,.6);
  margin-bottom:24px;
}
.field-row{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
  margin-bottom:12px;
}
.field{
  display:flex; flex-direction:column; gap:6px;
  margin-bottom:12px;
}
.field span{
  font-size:11.5px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(244,227,205,.55);
  font-weight:600;
}
.field input,
.field textarea{
  width:100%;
  background:rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--r-md);
  padding:13px 16px;
  font:inherit;
  font-size:14.5px;
  color:#FFFAF0;
  transition: border-color .2s, background .2s;
}
.field textarea{ resize:vertical; min-height:96px; font-family:var(--sans); }
.field input::placeholder,
.field textarea::placeholder{
  color:rgba(244,227,205,.32);
}
.field input:focus,
.field textarea:focus{
  outline:none;
  border-color:#E89A66;
  background:rgba(0,0,0,.28);
  box-shadow:0 0 0 4px rgba(232,154,102,.12);
}
.cta__form .btn{ margin-top:8px; }
.cta__form__legal{
  margin-top:14px;
  font-size:11.5px;
  color:rgba(244,227,205,.5);
  text-align:center;
}

/* Thank-you state */
.cta__thanks{ display:none; }
.cta__form.is-sent > :not(.cta__thanks){ display:none; }
.cta__form.is-sent .cta__thanks{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:6px;
  padding:14px 4px;
  animation:cardIn .5s var(--e-out, ease) both;
}
.cta__thanks__icon{
  display:grid; place-items:center;
  width:64px; height:64px;
  margin-bottom:8px;
  border-radius:50%;
  color:#FFFAF0;
  background:linear-gradient(135deg, var(--olive, #6B7B4B), #4f5d38);
  box-shadow:0 10px 28px -8px rgba(107,123,75,.7);
}
.cta__thanks__icon svg{ width:34px; height:34px; }
.cta__thanks h3{ color:#FFFAF0; font-size:24px; margin:0; }
.cta__thanks p{
  font-size:14px;
  color:rgba(244,227,205,.72);
  max-width:36ch;
  margin:0;
  line-height:1.5;
}
.cta__thanks__contact{ margin-top:6px; font-size:13px; }
.cta__thanks__contact a{ color:var(--accent-3, #D4A574); font-weight:600; white-space:nowrap; }

/* FOOTER --------------------------------------------------- */
.foot{
  position:relative;
  z-index:1;
  padding:64px 0 32px;
  border-top:1px solid var(--line);
  background:rgba(255,255,255,.4);
}
.foot__grid{
  display:grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap:48px;
  padding-bottom:48px;
  border-bottom:1px solid var(--line);
}
.brand--foot{ margin-bottom:16px; }
.foot__about{
  font-size:14px;
  color:var(--ink-3);
  max-width:280px;
  line-height:1.55;
}
.foot ul li{
  font-size:14px;
  color:var(--ink-2);
  margin-bottom:8px;
}
.foot ul li a{
  transition: color .2s;
}
.foot ul li a:hover{ color:var(--accent); }
.foot__bottom{
  display:flex; justify-content:space-between;
  padding-top:24px;
  font-size:12.5px;
  color:var(--ink-3);
}

/* REVEAL ANIMATION --------------------------------------- */
.reveal{
  opacity:0;
  transform: translateY(20px);
  transition: opacity .8s var(--e-out), transform .8s var(--e-out);
  transition-delay: calc( var(--d, 0) * 1ms );
  will-change: opacity, transform;
}
.reveal.is-visible{
  opacity:1;
  transform: translateY(0);
}

/* tiny accessibility */
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
}

/* =========================================================
 * NAV BURGER + MOBILE DRAWER
 * ========================================================= */
.nav__burger{
  display:none;
  width:42px; height:42px;
  border-radius:12px;
  border:1px solid var(--line);
  background:var(--surface);
  align-items:center; justify-content:center;
  flex-direction:column; gap:5px;
  transition: background .2s, border-color .2s, transform .25s var(--e-out);
}
.nav__burger:hover{ border-color:var(--line-2); }
.nav__burger span{
  display:block; width:18px; height:1.6px;
  background:var(--ink);
  border-radius:2px;
  transition: transform .35s var(--e-out), opacity .25s;
  transform-origin:center;
}
.nav__burger.is-open span:nth-child(1){ transform: translateY(6.6px) rotate(45deg); }
.nav__burger.is-open span:nth-child(2){ opacity:0; }
.nav__burger.is-open span:nth-child(3){ transform: translateY(-6.6px) rotate(-45deg); }

.mobile-menu{
  position:fixed; inset:0;
  z-index:48;
  padding:96px 24px 32px;
  background:rgba(250,246,239,.96);
  backdrop-filter:saturate(180%) blur(20px);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  display:flex; flex-direction:column;
  justify-content:space-between;
  opacity:0; visibility:hidden;
  transform: translateY(-12px);
  transition: opacity .3s var(--e-out), transform .3s var(--e-out), visibility .3s;
}
.mobile-menu.is-open{
  opacity:1; visibility:visible;
  transform: translateY(0);
}
.mobile-menu__nav{
  display:flex; flex-direction:column;
  gap:4px;
  border-bottom:1px solid var(--line);
  padding-bottom:24px;
}
.mobile-menu__nav a{
  font-family:var(--serif);
  font-size:32px;
  font-weight:500;
  letter-spacing:-.015em;
  color:var(--ink);
  padding:10px 4px;
  border-radius:10px;
  transition: color .2s, transform .25s var(--e-out);
}
.mobile-menu__nav a:hover,
.mobile-menu__nav a:active{ color:var(--accent); }
.mobile-menu__foot{
  display:flex; flex-direction:column; gap:16px;
  padding-top:24px;
}
.mobile-menu__phone{
  display:inline-flex; align-items:center; gap:10px;
  font-size:17px; font-weight:500;
  color:var(--ink); font-variant-numeric:tabular-nums;
  padding:14px 16px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:14px;
  transition: border-color .2s;
}
.mobile-menu__phone svg{ width:18px; height:18px; color:var(--accent); }

/* =========================================================
 * RESPONSIVE — TABLET ≤ 1100
 * ========================================================= */
@media (max-width: 1100px){
  .container{ padding:0 40px; }

  /* type */
  .display{ font-size:60px; }
  h2{ font-size:38px; }
  .lede{ font-size:17px; }

  /* nav */
  .nav__links{ display:none; }
  .nav__inner{
    grid-template-columns: auto 1fr;
    gap:0;
  }
  .nav__actions{ justify-self:end; gap:12px; }
  .nav__phone{ display:none; }
  .nav__burger{ display:inline-flex; }

  /* hero */
  .hero{ padding:130px 0 80px; }
  .hero__grid{
    grid-template-columns: 1fr;
    gap:48px;
  }
  .hero__visual{ height:480px; max-width:580px; }
  .hero__stats{ gap:36px; margin-top:48px; padding-top:24px; }
  .hero__grain{ display:none; }

  /* trust */
  .trust__row{ gap:32px; }

  /* why — 4 → 2 */
  .why{ padding:96px 0; }
  .why__grid{ grid-template-columns: repeat(2, 1fr); }

  /* catalog */
  .catalog{ padding:96px 0; }
  .section-head--row{ flex-direction:column; align-items:flex-start; gap:18px; }
  .catalog__grid{ grid-template-columns: repeat(2, 1fr); }
  .tabs{ overflow-x:auto; max-width:100%; }
  .tabs::-webkit-scrollbar{ display:none; }
  .catalog__legend{ flex-wrap:wrap; gap:14px 24px; }

  /* warunki — 4 → 2 */
  .warunki{ padding:96px 0; }
  .warunki__grid{ grid-template-columns: repeat(2, 1fr); gap:14px; }

  /* steps — 3 → 1 col? Keep 3 on tablet */
  .how{ padding:64px 0 96px; }

  /* CTA */
  .cta{ padding:96px 0 100px; }
  .cta__grid{ grid-template-columns: 1fr; gap:48px; }
  .cta__copy h2{ font-size:42px; }

  /* footer */
  .foot__grid{ grid-template-columns: 1fr 1fr; gap:32px; }
}

/* =========================================================
 * RESPONSIVE — MOBILE ≤ 760
 * ========================================================= */
@media (max-width: 760px){
  .container{ padding:0 20px; }

  /* type */
  .display{ font-size:42px; letter-spacing:-.02em; }
  h2{ font-size:30px; line-height:1.12; }
  h3{ font-size:20px; }
  .lede{ font-size:16px; margin-bottom:28px; }
  .eyebrow{ font-size:11px; padding:5px 12px 5px 9px; }

  /* nav */
  .nav{ padding:12px 0; }
  .nav.is-scrolled{ padding:10px 0; }
  .nav__phone, .nav__cta{ display:none; }
  .nav__burger{ display:inline-flex; }
  .brand__tag{ display:none; }
  .brand__mark{ width:32px; height:32px; }
  .brand__logo{ height:34px; }
  .brand--foot .brand__logo{ height:40px; }
  .brand__name{ font-size:16px; }

  /* hero */
  .hero{ padding:104px 0 56px; }
  .hero__grid{ gap:40px; }
  .hero__cta{ flex-direction:column; gap:10px; align-items:stretch; }
  .hero__cta .btn{ justify-content:center; }
  .btn--lg{ padding:15px 22px; font-size:14.5px; }
  .hero__stats{
    flex-direction:column;
    align-items:flex-start;
    gap:18px;
    margin-top:36px;
    padding-top:20px;
  }
  .hero__stats li{ flex-direction:row; align-items:baseline; gap:10px; }
  .stat__num{ font-size:20px; }

  /* hero visual */
  .hero__visual{
    height:auto;
    min-height:auto;
    display:flex; flex-direction:column;
    gap:14px;
    padding:6px;
    max-width:100%;
  }
  .orbit{ display:none; }
  .ds-card{
    position:static !important;
    width:auto !important;
    transform:none !important;
    animation:none !important;
  }
  .ds-card--lg{ order:1; }
  .ds-card--md{ order:2; }
  .ds-card--sm{ order:3; }
  .badge-float{ position:static; align-self:flex-start; animation:none !important; }
  .badge-float--orders{ align-self:flex-end; }

  /* trust */
  .trust{ padding:24px 0 40px; }
  .trust__row{
    gap:14px;
    flex-wrap:wrap;
    justify-content:flex-start;
  }
  .trust__row li{ font-size:13.5px; gap:8px; }
  .trust__row svg{ width:18px; height:18px; }
  .trust__label{ text-align:left; margin-bottom:18px; }

  /* section heads */
  .section-head{ margin-bottom:36px; }

  /* why */
  .why{ padding:64px 0; }
  .why__grid{ grid-template-columns: 1fr; gap:14px; }
  .card-feat{ padding:24px 22px 22px; }
  .card-feat__icon{ width:46px; height:46px; margin-bottom:18px; }
  .card-feat__icon svg{ width:22px; height:22px; }

  /* catalog */
  .catalog{ padding:64px 0; }
  .catalog__grid{ grid-template-columns: 1fr; gap:14px; }
  .tabs{ width:100%; padding:4px; gap:4px; flex-wrap:nowrap; overflow-x:auto; }
  .tab{ padding:9px 14px; font-size:13px; }
  .catalog__legend{ font-size:11.5px; gap:10px 18px; }
  .prod{ padding:20px; }
  .prod__thumb{ width:64px; height:64px; border-radius:18px; }
  .prod__thumb svg{ width:44px; height:44px; }
  .prod__name{ font-size:17px; }
  .prod__prices{ gap:6px; padding-top:14px; }
  .prod__price-val{ font-size:16px; }
  .prod__price-label{ font-size:9.5px; }

  /* warunki */
  .warunki{ padding:64px 0; }
  .warunki__grid{ grid-template-columns: 1fr; }
  .pill-card{ padding:22px; }
  .pill-card__value{ font-size:22px; }

  /* how */
  .how{ padding:32px 0 64px; }
  .steps{ grid-template-columns: 1fr; gap:14px; }
  .step{ padding:28px 24px; }
  .step__num{ font-size:48px; margin-bottom:12px; }

  /* CTA */
  .cta{ padding:64px 0 70px; margin:32px 0; }
  .cta__copy h2{ font-size:34px; line-height:1.1; }
  .cta__copy p{ font-size:15.5px; margin-bottom:28px; }
  .cta__contacts{ gap:12px; }
  .cta__contacts li{ font-size:14.5px; }
  .cta__form{ padding:24px 20px; border-radius:24px; }
  .cta__form h3{ font-size:21px; }
  .field-row{ grid-template-columns: 1fr; gap:0; }
  .field input, .field textarea{ padding:12px 14px; font-size:15px; }

  /* footer */
  .foot{ padding:48px 0 24px; }
  .foot__grid{ grid-template-columns: 1fr; gap:28px; padding-bottom:32px; }
  .foot__about{ max-width:none; }
  .foot__bottom{
    flex-direction:column; gap:8px;
    text-align:center; align-items:center;
    padding-top:20px;
  }

  /* decoration */
  .bg-orb--a{ width:360px; height:360px; }
  .bg-orb--b{ width:420px; height:420px; }
}

/* =========================================================
 * RESPONSIVE — SMALL MOBILE ≤ 380
 * ========================================================= */
@media (max-width: 380px){
  .container{ padding:0 16px; }
  .display{ font-size:36px; }
  h2{ font-size:26px; }
  .cta__copy h2{ font-size:28px; }
  .prod__head{ gap:12px; }
  .prod__thumb{ width:56px; height:56px; }
  .prod__thumb svg{ width:38px; height:38px; }
  .mobile-menu__nav a{ font-size:26px; }
}
