:root {
  --ink: #3f3530;
  --forest: #754653;
  --forest-dark: #57333e;
  --sage: #a38d7f;
  --sand: #f4efe6;
  --paper: #fffdf8;
  --terracotta: #c76f4f;
  --line: #dcd8cf;
  --muted: #776f69;
  --shadow: 0 18px 55px rgba(63,53,48,.12);
  --radius: 24px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: "DM Sans", sans-serif;
  -webkit-font-smoothing: antialiased;
}
button, input, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 36px;
  padding: 0 clamp(22px, 5vw, 76px);
  background: rgba(255,253,248,.88);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(220,216,207,.72);
}
.brand { display: inline-flex; align-items: center; gap: 10px; font-family: Manrope, sans-serif; font-size: 22px; font-weight: 800; letter-spacing: .13em; }
.brand-mark { width: 31px; height: 31px; }
.brand-mark path { fill: none; stroke: var(--terracotta); stroke-width: 2.1; stroke-linecap: round; }
.desktop-nav { margin-left: auto; display: flex; flex-wrap: wrap; gap: 10px 32px; font-size: 14px; font-weight: 600; }
.desktop-nav a { position: relative; }
.desktop-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -7px; height: 2px; background: var(--terracotta); transition: .2s ease; }
.desktop-nav a:hover::after { right: 0; }

.button {
  border: 0;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 15px 24px;
  color: white;
  background: var(--forest);
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 8px 25px rgba(117,70,83,.18);
  transition: transform .2s ease, background .2s ease;
}
.button:hover { transform: translateY(-2px); background: var(--forest-dark); }
.button-small { padding: 11px 19px; font-size: 14px; }

.hero {
  min-height: 680px;
  padding: clamp(70px, 8vw, 110px) clamp(22px, 7vw, 108px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(390px, .88fr);
  gap: clamp(50px, 8vw, 130px);
  align-items: center;
  overflow: hidden;
}
.eyebrow { margin: 0 0 18px; color: var(--terracotta); text-transform: uppercase; letter-spacing: .15em; font-size: 12px; font-weight: 800; }
h1, h2 { font-family: Manrope, sans-serif; letter-spacing: -.045em; }
h1 { max-width: 820px; margin: 0; font-size: clamp(46px, 5.7vw, 80px); line-height: .99; }
.hero-lead { max-width: 660px; margin: 28px 0 0; color: var(--muted); font-size: clamp(17px, 1.5vw, 20px); line-height: 1.65; }
.hero-actions { display: flex; align-items: center; gap: 28px; margin-top: 35px; }
.text-link { font-weight: 700; }
.text-link span { display: inline-block; transition: transform .2s; }
.text-link:hover span { transform: translateX(5px); }
.trust-list { display: flex; gap: 24px; margin: 35px 0 0; padding: 0; list-style: none; color: var(--muted); font-size: 13px; }
.trust-list span { color: var(--forest); }

.hero-visual { position: relative; min-height: 480px; }
.hero-visual::before { content: ""; position: absolute; inset: 2% 9% 0 0; border-radius: 50%; background: #e7ded0; filter: blur(1px); }
.fabric { position: absolute; width: 72%; height: 240px; right: 0; border-radius: 54% 15% 45% 20%; box-shadow: var(--shadow); transform-origin: center; }
.fabric::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: repeating-linear-gradient(90deg, transparent 0 2px, rgba(255,255,255,.1) 2px 3px); mix-blend-mode: overlay; }
.fabric-one { top: 19px; right: 11%; background: radial-gradient(circle at 22px 28px, #e9c6ae 0 11px, transparent 12px), radial-gradient(circle at 50px 52px, #754653 0 7px, transparent 8px), #f5eadf; background-size: 72px 72px; transform: rotate(9deg); }
.fabric-two { top: 130px; right: 2%; background: repeating-linear-gradient(46deg, #6f8c7d 0 20px, #88a092 20px 40px); transform: rotate(-5deg); }
.fabric-three { top: 248px; right: 16%; background: radial-gradient(circle at 50% 50%, transparent 0 17px, rgba(255,255,255,.35) 18px 20px, transparent 21px), #c86f50; background-size: 52px 52px; transform: rotate(4deg); }
.visual-note { position: absolute; right: 0; bottom: 4px; padding: 18px 22px; border-radius: 18px; background: rgba(255,253,248,.94); box-shadow: var(--shadow); }
.visual-note span, .visual-note strong { display: block; }
.visual-note span { color: var(--muted); font-size: 12px; }
.visual-note strong { margin-top: 3px; font-family: Manrope; }

.catalog-section { padding: 100px clamp(22px, 7vw, 108px) 120px; background: var(--sand); }
.section-heading { display: flex; justify-content: space-between; gap: 40px; align-items: end; }
.section-heading h2, .order-intro h2 { margin: 0; font-size: clamp(38px, 4vw, 58px); line-height: 1.06; }
.section-heading > p { max-width: 480px; margin: 0 0 5px; color: var(--muted); line-height: 1.6; }
.category-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 44px 0 34px; }
.category-card {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 14px;
  text-align: left;
  color: var(--ink);
  background: rgba(255,255,255,.64);
  border: 1px solid transparent;
  border-radius: 16px;
  cursor: pointer;
  transition: .2s ease;
}
.category-card:hover, .category-card.active { background: white; border-color: rgba(117,70,83,.26); transform: translateY(-2px); }
.category-card strong, .category-card small { display: block; }
.category-card strong { white-space: nowrap; }
.category-card small { margin-top: 2px; color: var(--muted); font-size: 11px; }
.category-icon { flex: 0 0 auto; width: 37px; height: 37px; border-radius: 11px; background-color: #e3ebe5; }
.icon-all { background: conic-gradient(#754653 0 25%, #c76f4f 0 50%, #d9bca6 0 75%, #88a092 0); }
.icon-micro { background: repeating-linear-gradient(135deg, #754653 0 5px, #88a092 5px 10px); }
.icon-cotton { background: radial-gradient(circle, #fff 0 4px, transparent 5px), #d4b89f; background-size: 14px 14px; }
.icon-poly { background: repeating-linear-gradient(45deg, #d7e0db 0 3px, #fff 3px 6px); }
.icon-bag { background: linear-gradient(135deg, rgba(255,255,255,.7), transparent), #a8c5ba; border: 1px solid #79998e; }
.catalog-toolbar { min-height: 45px; display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.catalog-toolbar p { margin: 0; color: var(--muted); font-size: 13px; }
.search-box { width: min(330px, 100%); display: flex; align-items: center; gap: 8px; padding: 10px 15px; border: 1px solid var(--line); border-radius: 999px; background: white; color: var(--muted); }
.search-box input { width: 100%; border: 0; outline: 0; background: transparent; }
.product-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 18px; }
.product-card { overflow: hidden; background: white; border-radius: 20px; box-shadow: 0 7px 30px rgba(63,53,48,.05); transition: transform .25s ease, box-shadow .25s ease; }
.product-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.product-swatch { position: relative; aspect-ratio: 1.14; overflow: hidden; background-color: #ddd; }
.product-swatch::after { content: ""; position: absolute; inset: 0; background: linear-gradient(140deg, rgba(255,255,255,.32), transparent 42%, rgba(0,0,0,.08)); }
.swatch-rose { background: radial-gradient(ellipse at 35% 40%, #d88d89 0 9%, transparent 10%), radial-gradient(ellipse at 65% 65%, #557766 0 8%, transparent 9%), #f1d7cc; background-size: 90px 74px; }
.swatch-botanic { background: linear-gradient(45deg, transparent 44%, #799383 45% 49%, transparent 50%), radial-gradient(ellipse, #d8b35e 0 7px, transparent 8px), #eef0e5; background-size: 70px 70px, 53px 53px; }
.swatch-kids { background: radial-gradient(circle, #f1b36f 0 8px, transparent 9px), radial-gradient(circle, #6e9fb1 0 5px, transparent 6px), #fcf2dc; background-size: 62px 62px, 45px 45px; }
.swatch-blue { background: repeating-linear-gradient(135deg, #315c77 0 20px, #426f88 20px 39px, #d6e2e7 39px 41px); }
.swatch-cotton { background: repeating-linear-gradient(90deg, #f7f3e8 0 2px, #e5ded0 2px 3px), repeating-linear-gradient(0deg, transparent 0 2px, rgba(174,158,136,.2) 2px 3px); }
.swatch-white { background: repeating-linear-gradient(45deg, #f4f5f1 0 5px, #e5e9e5 5px 9px); }
.swatch-aloe { background: radial-gradient(ellipse at 50% 25%, transparent 0 10px, rgba(52,101,75,.34) 11px 14px, transparent 15px), #d5e5d8; background-size: 48px 62px; }
.swatch-bag { background: linear-gradient(130deg, rgba(255,255,255,.8) 10%, rgba(158,202,194,.23) 40%, rgba(255,255,255,.5) 60%), repeating-linear-gradient(0deg, transparent 0 10px, rgba(44,91,80,.08) 10px 11px), #d7e6e2; }
.product-info { padding: 18px; }
.product-info .meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.product-info h3 { margin: 10px 0 5px; font-family: Manrope; font-size: 19px; }
.product-info p { min-height: 38px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.card-actions { display: flex; gap: 8px; margin-top: 16px; }
.card-actions button { flex: 1; padding: 10px 12px; border-radius: 999px; border: 1px solid var(--line); background: white; color: var(--ink); font-weight: 700; font-size: 12px; cursor: pointer; }
.card-actions .quick-add { color: white; border-color: var(--forest); background: var(--forest); }
.empty-state { grid-column: 1/-1; padding: 60px; text-align: center; color: var(--muted); }

.order-section { display: grid; grid-template-columns: minmax(320px,.8fr) minmax(560px,1.2fr); background: var(--forest-dark); }
.order-intro { align-self: start; position: sticky; top: 78px; padding: 100px clamp(22px, 6vw, 86px); color: white; }
.eyebrow.light { color: #e9ad8e; }
.order-intro > p:not(.eyebrow) { max-width: 470px; color: #bdd0c7; font-size: 17px; line-height: 1.65; }
.privacy-note { display: flex; gap: 14px; margin-top: 38px; padding: 18px; border: 1px solid rgba(255,255,255,.16); border-radius: 16px; background: rgba(255,255,255,.06); }
.privacy-note strong, .privacy-note small { display: block; }
.privacy-note small { margin-top: 4px; color: #bdd0c7; line-height: 1.4; }
.contact-card { margin-top: 70px; scroll-margin-top: 160px; }
.contact-card small, .contact-card a, .contact-card span { display: block; }
.contact-card small { color: #9fb6ab; }
.contact-card a { margin: 8px 0 2px; font-family: Manrope; font-size: 24px; font-weight: 800; }
.contact-card span { color: #bdd0c7; }

.order-panel { margin: 24px 24px 24px 0; padding: clamp(26px,4.5vw,65px); border-radius: 30px; background: var(--paper); }
.step-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 34px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.step-head span { font-family: Manrope; font-size: 24px; font-weight: 800; }
.step-head small { padding: 6px 10px; border-radius: 999px; color: #8b5b44; background: #f3dfd3; }
fieldset { margin: 0 0 38px; padding: 0; border: 0; }
legend { width: 100%; margin-bottom: 18px; font-family: Manrope; font-size: 17px; font-weight: 800; }
.order-row { display: grid; grid-template-columns: 1.5fr 1fr 100px 38px; gap: 10px; margin-bottom: 10px; }
label { display: grid; gap: 7px; color: var(--muted); font-size: 12px; font-weight: 600; }
input, textarea { width: 100%; border: 1px solid var(--line); border-radius: 12px; padding: 13px 14px; color: var(--ink); background: white; outline: none; transition: border .2s, box-shadow .2s; }
input:focus, textarea:focus { border-color: var(--sage); box-shadow: 0 0 0 3px rgba(117,146,132,.14); }
input.invalid { border-color: #b84949; }
.meters-wrap { position: relative; }
.meters-wrap input { padding-right: 36px; }
.meters-wrap span { position: absolute; right: 12px; top: 14px; color: var(--muted); font-size: 12px; }
.remove-row { align-self: end; width: 38px; height: 45px; border: 0; background: transparent; color: #a08375; cursor: pointer; font-size: 20px; }
.remove-row:disabled { opacity: .22; cursor: default; }
.add-row { display: inline-flex; align-items: center; gap: 8px; padding: 9px 2px; border: 0; color: var(--forest); background: transparent; font-weight: 700; cursor: pointer; }
.add-row span { font-size: 19px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-grid .full { grid-column: 1/-1; }
.submit-button { width: 100%; }
.form-footnote { margin: 12px 0 0; text-align: center; color: var(--muted); font-size: 11px; }
.summary-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 22px; font-family: Manrope; font-size: 24px; font-weight: 800; }
.summary-head button { border: 0; background: transparent; color: var(--forest); font-weight: 700; cursor: pointer; }
.summary-box { margin-bottom: 20px; padding: 18px; border-radius: 16px; background: var(--sand); }
.summary-company { margin: 0 0 12px; font-family: Manrope; font-size: 18px; font-weight: 800; }
.summary-line { display: flex; justify-content: space-between; gap: 20px; padding: 8px 0; border-top: 1px solid rgba(63,53,48,.09); font-size: 13px; }
.summary-total { margin: 12px 0 0; text-align: right; font-weight: 800; }
.email-preview-label textarea { margin-top: 3px; resize: vertical; line-height: 1.5; }
.copy-button { width: 100%; margin-top: 18px; }

footer { min-height: 115px; display: flex; align-items: center; gap: 28px; padding: 25px clamp(22px, 7vw, 108px); background: #0e2d27; color: #aac0b6; font-size: 12px; }
.footer-brand { color: white; }
.demo-tag { margin-left: auto; }

.product-dialog { width: min(880px, calc(100vw - 32px)); max-height: calc(100vh - 32px); padding: 0; border: 0; border-radius: 26px; color: var(--ink); background: var(--paper); box-shadow: 0 30px 90px rgba(0,0,0,.28); overflow: hidden; }
.product-dialog::backdrop { background: rgba(10,30,26,.64); backdrop-filter: blur(5px); }
.product-dialog[open] { display: grid; grid-template-columns: 1.08fr .92fr; }
.dialog-swatch { min-height: 550px; }
.dialog-content { padding: 50px 42px 35px; }
.dialog-content h2 { margin: 0 0 14px; font-size: 35px; }
.dialog-content > p:not(.eyebrow) { color: var(--muted); line-height: 1.55; }
.dialog-content dl { margin: 25px 0; padding: 0; }
.dialog-content dl div { display: flex; justify-content: space-between; gap: 20px; padding: 11px 0; border-bottom: 1px solid var(--line); font-size: 13px; }
.dialog-content dt { color: var(--muted); }
.dialog-content dd { margin: 0; font-weight: 700; }
.meter-control { display: flex; align-items: center; }
.meter-control span { margin-left: -35px; }
.dialog-content .button { width: 100%; margin-top: 16px; }
.dialog-note { display: block; margin-top: 12px; text-align: center; color: var(--muted); }
.dialog-close { position: absolute; z-index: 2; right: 16px; top: 14px; width: 38px; height: 38px; border: 0; border-radius: 50%; background: rgba(255,255,255,.86); font-size: 25px; cursor: pointer; }
.toast { position: fixed; z-index: 100; left: 50%; bottom: 24px; transform: translate(-50%, 130%); padding: 12px 18px; border-radius: 999px; color: white; background: var(--ink); font-size: 13px; font-weight: 700; box-shadow: var(--shadow); opacity: 0; transition: .3s ease; }
.toast.show { transform: translate(-50%, 0); opacity: 1; }

@media (max-width: 1080px) {
  .hero { grid-template-columns: 1fr 420px; gap: 30px; }
  .category-grid { grid-template-columns: repeat(2,1fr); }
  .product-grid { grid-template-columns: repeat(3,1fr); }
  .order-section { grid-template-columns: 1fr 1.35fr; }
  .order-intro { padding: 80px 44px; }
  .order-panel { padding: 42px 30px; }
  .order-row { grid-template-columns: 1.35fr 1fr 85px 34px; }
}

@media (max-width: 820px) {
  .desktop-nav { display: none; }
  .hero { min-height: auto; grid-template-columns: 1fr; padding-top: 65px; }
  .hero-visual { min-height: 390px; width: min(500px,100%); margin: auto; }
  .fabric { height: 190px; }
  .fabric-two { top: 105px; }
  .fabric-three { top: 205px; }
  .section-heading { display: block; }
  .section-heading > p { margin-top: 16px; }
  .category-grid { grid-template-columns: repeat(2,1fr); }
  .product-grid { grid-template-columns: repeat(2,1fr); }
  .order-section { display: block; }
  .order-intro { position: static; padding-bottom: 55px; }
  .contact-card { margin-top: 35px; }
  .order-panel { margin: 0; border-radius: 30px 30px 0 0; }
  footer { flex-wrap: wrap; }
  .demo-tag { margin-left: 0; }
}

@media (max-width: 560px) {
  .site-header { height: 68px; padding: 0 18px; }
  .site-header .button-small { font-size: 0; width: 43px; height: 43px; padding: 0; }
  .site-header .button-small::after { content: "→"; font-size: 19px; }
  .hero { padding-inline: 18px; }
  h1 { font-size: 43px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 20px; }
  .trust-list { flex-wrap: wrap; gap: 9px 18px; }
  .hero-visual { min-height: 320px; }
  .fabric { width: 80%; height: 155px; }
  .fabric-two { top: 84px; }
  .fabric-three { top: 167px; }
  .catalog-section { padding: 75px 18px 85px; }
  .category-grid { display: flex; overflow-x: auto; margin-inline: -18px; padding: 0 18px 8px; scrollbar-width: none; }
  .category-card { min-width: 170px; }
  .catalog-toolbar { align-items: flex-start; flex-direction: column; }
  .search-box { width: 100%; }
  .product-grid { grid-template-columns: 1fr; }
  .product-swatch { aspect-ratio: 1.5; }
  .order-intro { padding: 70px 24px 48px; }
  .order-panel { padding: 32px 18px; }
  .step-head { align-items: flex-start; flex-direction: column; gap: 10px; }
  .order-row { grid-template-columns: 1fr 82px 35px; padding: 14px; border: 1px solid var(--line); border-radius: 14px; }
  .order-row .pattern-field { grid-column: 1/-1; }
  .order-row .color-field { grid-column: 1/2; }
  .order-row .meters-field { grid-column: 2/3; }
  .order-row .remove-row { grid-column: 3/4; }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid .full { grid-column: auto; }
  footer { display: grid; gap: 8px; }
  .product-dialog[open] { display: block; overflow-y: auto; }
  .dialog-swatch { min-height: 250px; }
  .dialog-content { padding: 34px 24px; }
}

.brand-logo { display: block; width: 174px; height: auto; object-fit: contain; }
.site-header .brand { flex-shrink: 0; mix-blend-mode: multiply; }
.site-header .brand-logo { width: clamp(210px, 21vw, 250px); }
.site-header { height: 104px; gap: 24px; }
@media (min-width: 821px) and (max-width: 1080px) {
  .site-header { padding-inline: 22px; gap: 18px; }
  .desktop-nav { gap: 20px; }
}
.footer-brand { background: transparent; padding: 8px 0; }
.footer-brand .brand-logo { filter: invert(1); mix-blend-mode: screen; }
.hero { min-height: 0; padding-block: 28px; gap: 45px; }
.hero-lead { margin-top: 0; font-size: 17px; }
.hero-actions { margin-top: 20px; }
.trust-list { margin-top: 20px; }
.hero-visual { min-height: 245px; height: 245px; }
.fabric { height: 118px; }
.fabric-one { top: 5px; }
.fabric-two { top: 64px; }
.fabric-three { top: 120px; }
.visual-note { bottom: 0; padding: 12px 17px; }
.catalog-section { padding-top: 32px; scroll-margin-top: 112px; }
.section-heading h2 { font-size: clamp(30px, 3vw, 42px); }
.category-grid { margin-top: 24px; }
@media (max-width: 820px) {
  .site-header { height: auto; min-height: 78px; flex-wrap: wrap; gap: 8px; padding-block: 8px; }
  .desktop-nav { display: flex; flex-wrap: wrap; order: 3; width: 100%; justify-content: space-between; gap: 8px; margin: 0; padding-block: 8px; font-size: 13px; }
  .hero { grid-template-columns: minmax(0, 1fr) minmax(130px, .55fr); gap: 18px; padding-block: 20px; }
  .hero-visual { width: 100%; min-height: 170px; height: 170px; }
  .fabric { height: 78px; }
  .fabric-one { top: 5px; }
  .fabric-two { top: 45px; }
  .fabric-three { top: 85px; }
  .visual-note { display: none; }
  .hero .eyebrow { font-size: 10px; margin-bottom: 10px; }
  .hero-lead { font-size: 14px; line-height: 1.5; }
  .hero-actions { flex-direction: column; align-items: flex-start; gap: 12px; margin-top: 14px; font-size: 12px; }
  .hero-actions .button { padding: 11px 16px; }
  .trust-list { display: none; }
  .catalog-section { padding-top: 22px; scroll-margin-top: 140px; }
  .section-heading > p { font-size: 13px; margin-top: 10px; }
  .category-grid { margin-top: 18px; }
}

.hero-photo { overflow: hidden; border-radius: 22px; box-shadow: var(--shadow); }
.hero-photo::before { display: none; }
.hero-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 58%; }

/* Circular editorial arrangement, with no text overlays. */
.hero:has(.hero-collage) { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 28px; }
.hero-collage { position: relative; display: block; width: min(100%, 660px); height: 375px; min-height: 375px; margin-inline: auto; }
.hero-collage::before { display: none; }
.hero-collage figure { position: absolute; margin: 0; aspect-ratio: 1; overflow: hidden; border-radius: 50%; border: 5px solid var(--paper); box-shadow: 0 10px 26px rgba(63,53,48,.15); }
.hero-collage .collage-bed { width: 64%; max-width: 360px; left: 0; top: 6px; z-index: 2; }
.hero-collage .collage-rolls { width: 53%; max-width: 285px; right: 0; bottom: 0; z-index: 4; }
.hero-collage .collage-combined { width: 55%; max-width: 290px; right: 0; top: 0; z-index: 3; }
.hero-collage img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hero-collage .collage-bed img { object-position: 50% 60%; }
.hero-collage .collage-combined img { object-position: 40% 55%; }
@media (max-width: 820px) {
  .hero:has(.hero-collage) { grid-template-columns: 1fr; }
  .hero-collage { width: min(100%, 520px); height: 315px; min-height: 315px; }
  .hero-collage figure { border-width: 4px; }
}

.site-header { gap: 16px; padding-inline: clamp(22px, 3vw, 48px); }
.site-header .desktop-nav { gap: 10px 16px; }
.header-search { flex: 0 1 175px; min-width: 135px; margin: 0; }
.header-search input { min-width: 0; padding: 0; font-size: 13px; }
.site-header > .button { flex-shrink: 0; white-space: nowrap; }
@media (min-width: 1081px) and (max-width: 1280px) {
  .site-header .brand-logo { width: 210px; }
}
@media (max-width: 1080px) {
  .site-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; height: auto; gap: 8px 14px; padding-block: 8px; }
  .site-header .brand { grid-column: 1 / -1; }
  .site-header .desktop-nav { display: flex; order: 0; grid-column: 1 / -1; width: 100%; margin: 0; padding-block: 4px; justify-content: space-between; gap: 8px; }
  .header-search { grid-column: 1; width: 100%; min-width: 0; }
  .site-header > .button-small { grid-column: 2; width: auto; height: auto; padding: 11px 15px; font-size: 13px; }
  .site-header > .button-small::after { content: none; }
  #katalog, #kontakt, #zamowienie { scroll-margin-top: 230px; }
}

.contact-people { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 16px; margin: 22px 0 28px; }
.contact-people dt { color: #bdd0c7; font-size: 14px; }
.contact-people dd { margin: 0; }
.contact-people a { margin-top: 5px; font-size: clamp(16px, 1.5vw, 21px); white-space: nowrap; }
.contact-people a:hover { text-decoration: underline; text-underline-offset: 4px; }
@media (min-width: 821px) and (max-width: 1080px) {
  .contact-people { grid-template-columns: 1fr; gap: 14px; }
}

.micro-categories { margin: 0 0 28px; padding: 24px; background: var(--paper); border: 1px solid var(--line); border-radius: 20px; }
.micro-heading { display: flex; align-items: baseline; gap: 16px; margin-bottom: 18px; }
.micro-heading h3 { margin: 0; font-family: Manrope, sans-serif; font-size: 24px; }
.micro-heading p { margin: 0; color: var(--muted); font-size: 13px; }
.micro-types { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.micro-types button, .micro-variants button { padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: white; color: var(--ink); text-align: left; cursor: pointer; font-weight: 600; }
.micro-types button:hover, .micro-variants button:hover { border-color: var(--forest); }
.micro-types button[aria-pressed="true"], .micro-variants button[aria-pressed="true"] { background: var(--forest); color: white; border-color: var(--forest); }
.micro-variants:not([hidden]) { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 18px; }
.micro-variants strong { margin-right: 8px; font-size: 13px; }
.micro-selection { margin: 16px 0 0; color: var(--muted); font-size: 13px; }
.micro-selection:empty { display: none; }
@media (max-width: 1080px) { .micro-types { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .micro-categories { padding: 16px; } .micro-types { grid-template-columns: 1fr; } .micro-heading { display: block; } .micro-heading p { margin-top: 6px; } }

.brand { gap: 12px; letter-spacing: normal; }
.brand-emblem { position: relative; display: block; flex: 0 0 67px; width: 67px; height: 66px; overflow: hidden; }
.brand-emblem img { position: absolute; display: block; width: 225px; height: 79.5px; max-width: none; left: -20px; top: -7px; }
.brand-wordmark { display: flex; flex-direction: column; gap: 0; white-space: nowrap; color: #000; border-left: 1px solid rgba(0,0,0,.25); padding: 3px 0 3px 14px; }
.brand-wordmark strong { font-family: "Kalam", cursive; font-size: 46px; font-weight: 700; line-height: 1; letter-spacing: .015em; color: #000; -webkit-text-stroke: .45px currentColor; }
.brand-wordmark > span { font-family: "Kalam", cursive; font-size: 16px; font-weight: 400; line-height: 1.2; letter-spacing: 0; }
footer { background: var(--paper); color: var(--ink); border-top: 1px solid var(--line); }
.footer-brand .brand-emblem { filter: none; mix-blend-mode: multiply; }
.footer-brand .brand-wordmark strong { font-size: 38px; }
.footer-brand .brand-wordmark > span { font-size: 14px; }

@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; transition: none !important; }
}

.card-order { margin-top: 16px; }
.card-order label { display: block; font-size: 14px; margin-bottom: 8px; }
.card-order .card-actions { margin-top: 0; align-items: stretch; }
.card-order .card-meters { width: 100px; min-width: 0; flex: 1; font-size: 16px; }
.card-order .card-actions button { font-size: 14px; }
.card-order > .quick-add { width: 100%; padding: 12px 10px; margin-top: 10px; border: 0; border-radius: 999px; background: var(--forest); color: white; font-size: 14px; font-weight: 700; cursor: pointer; }
.card-order > .quick-add:hover { background: var(--forest-dark); }
.product-info .card-order-status { box-sizing: border-box; min-height: 86px; margin: 12px 0 0; padding: 12px; font-size: 1.125rem; line-height: 1.45; font-weight: 700; color: #1749a0; overflow-wrap: anywhere; border-left: 4px solid transparent; border-radius: 8px; }
.product-info .card-order-status:not(:empty) { background: #eaf2ff; border-left-color: #2563eb; }

/* Square category tiles, retaining the existing column widths. */
.category-card { aspect-ratio: 1 / 1; flex-direction: column; justify-content: center; gap: clamp(12px, 1.6vw, 22px); padding: 18px; text-align: center; }
.category-card .category-icon { width: 48%; height: auto; aspect-ratio: 1; border-radius: 20px; }
.category-card strong { font-size: clamp(18px, 1.7vw, 26px); line-height: 1.2; }
.category-card small { margin-top: 7px; font-size: 14px; line-height: 1.35; }
@media (max-width: 600px) { .category-card { flex: 0 0 170px; padding: 12px; gap: 12px; } .category-card .category-icon { width: 42%; border-radius: 14px; } .category-card strong { font-size: 18px; } .category-card small { margin-top: 5px; } }

.summary-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.summary-actions .button { width: 100%; margin: 0; padding-inline: 14px; font-size: 14px; }
.summary-actions .copy-button { background: white; color: var(--forest); border: 1px solid var(--forest); box-shadow: none; }
.summary-actions .send-order-button:disabled { background: #dce3df; color: #46584f; cursor: not-allowed; transform: none; box-shadow: none; }
.send-order-note { margin: 14px 0 0; color: var(--muted); font-size: 14px; line-height: 1.5; text-align: center; }
@media (max-width: 560px) { .summary-actions { grid-template-columns: 1fr; } }

.site-header .desktop-nav { flex-wrap: wrap; min-width: 0; }
.site-header .desktop-nav .nav-information { padding: 6px 10px; border-radius: 8px; background: #e8ede9; color: #405a50; font-weight: 600; }
.site-header .desktop-nav .nav-information:hover, .site-header .desktop-nav .nav-information[aria-current="page"] { background: #d7e2db; color: #57333e; }
.certificates-page { max-width: 1320px; min-height: 65vh; margin: auto; padding: 48px 5vw 72px; }
.certificates-page h1 { margin: 8px 0 16px; font-size: clamp(32px, 4vw, 48px); }
.certificates-intro { color: var(--muted); line-height: 1.6; margin-bottom: 30px; }
.certificates-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 24px; }
.certificate-card { overflow: hidden; border: 1px solid var(--line); background: white; border-radius: 20px; }
.certificate-preview { display: block; padding: 22px; background: #eef1ed; }
.certificate-preview img { display: block; width: 100%; height: 320px; object-fit: contain; }
.certificate-details { padding: 22px; }
.certificate-type { color: var(--muted); font-size: 14px; }
.certificate-details h2 { margin: 12px 0 18px; font-size: 23px; line-height: 1.3; }
.certificate-details p { font-size: 15px; line-height: 1.5; margin: 8px 0; }
.certificate-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; margin-top: 24px; }
.certificate-actions .button { padding: 12px 18px; font-size: 14px; }
.certificate-open { color: var(--forest); font-size: 15px; text-decoration: underline; text-underline-offset: 4px; }
@media (min-width: 1081px) { .site-header { height: auto; min-height: 104px; padding-block: 12px; } }

/* Keep category and information links in two intentional rows. */
.site-header .desktop-nav { display: flex; flex-direction: column; flex-wrap: nowrap; align-items: flex-start; justify-content: center; gap: 10px; }
.nav-categories, .nav-secondary { display: flex; align-items: center; flex-wrap: nowrap; gap: clamp(10px, 1.2vw, 18px); }
.nav-categories a, .nav-secondary a { white-space: nowrap; }
.site-header .desktop-nav .nav-information { padding: 5px 10px; }
@media (min-width: 1081px) { .site-header { height: 104px; min-height: 104px; padding-block: 0; } }
@media (max-width: 1080px) { .site-header .desktop-nav { gap: 8px; } }
@media (max-width: 380px) { .nav-categories { gap: 8px; font-size: 13px; } }

/* Larger, readable main navigation. */
.site-header .desktop-nav a { font-size:17px; line-height:1.3; }
@media(max-width:1100px) { .site-header .desktop-nav a { font-size:15px; } }

.site-header nav.desktop-nav, .site-header .desktop-nav .nav-categories, .site-header .desktop-nav .nav-secondary { gap:10px; }

/* Larger main category tiles and clearer photography. */
@media (min-width: 1001px) {
  .category-grid { margin-inline: calc(-1 * clamp(20px, 3vw, 48px)); gap: 16px; }
}
.category-card { padding: 20px; gap: 18px; }
.category-card .category-icon { width: 64%; }
.category-card strong { font-size: clamp(20px, 1.9vw, 28px); }
.category-card small { font-size: 15px; }
@media (max-width: 600px) {
  .category-card { flex: 0 0 220px; min-width: 220px; padding: 16px; gap: 14px; }
  .category-card .category-icon { width: 60%; }
  .category-card strong { font-size: 22px; }
  .category-card small { font-size: 14px; }
}

/* Embedded Fraunces wordmark.
Copyright 2018 The Fraunces Project Authors (https://github.com/undercasetype/Fraunces)

This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL


-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------

PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.

The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded, 
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.

DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.

"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).

"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).

"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.

"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.

PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:

1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.

2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.

3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.

4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.

5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.

TERMINATION
This license becomes null and void if any of the above conditions are
not met.

DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.
*/
@font-face { font-family: "ELAND Fraunces"; src: url(data:font/woff;base64,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) format("woff"); font-weight: 900; font-style: normal; font-display: swap; }
@font-face { font-family: "ELAND Fraunces"; src: url(data:font/woff;base64,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) format("woff"); font-weight: 900; font-style: italic; font-display: swap; }
.brand-wordmark strong, .brand-wordmark > span {
  font-family: "ELAND Fraunces", Georgia, serif;
  font-weight: 900;
  letter-spacing: 0;
  -webkit-text-stroke: 0;
}
.brand-wordmark strong { font-style: normal; }
.brand-wordmark > span { font-style: italic; }

/* Burgundy accent for the location banner. */
body .eland-location-bar { background: var(--forest); box-shadow: 0 12px 32px rgba(87,51,62,.13); }

/* Lift the rear arrangement while keeping both foreground photos unobstructed. */
.hero-collage .collage-combined { top: -32px; z-index: 1; }
@media (max-width: 820px) {
  .hero-collage .collage-combined { top: -18px; }
}

/* On phones the WordPress toolbar scrolls away, so the sticky header needs no offset. */
@media (max-width: 600px) {
  html body .site-header,
  html body.admin-bar .site-header { top: 0; }
}
