@font-face {
  font-family:Golos;
  src:url('../fonts/golos-400.woff2') format('woff2');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face {
  font-family:Golos;
  src:url('../fonts/golos-700.woff2') format('woff2');
  font-weight:700;
  font-style:normal;
  font-display:swap;
}
@font-face {
  font-family:Golos;
  src:url('../fonts/golos-800.woff2') format('woff2');
  font-weight:800;
  font-style:normal;
  font-display:swap;
}
@font-face {
  font-family:Manrope;
  src:url('../fonts/manrope-800.woff2') format('woff2');
  font-weight:800;
  font-style:normal;
  font-display:swap;
}
:root {
  --cream:#f4f2ec;
  --dark:#141613;
  --footer:#0f110e;
  --ink:#20221e;
  --accent:#f7793f;
  --accent-text:#ad4217;
  --muted:#62685b;
  --soft:#b9bfb0;
  --card:#e8e7df;
  --line:#ccd0c4;
  --dark-line:#ffffff24;
  --glass:#141613d9;
  --backdrop:#0f110ee8;
  --white:#fff;
  --transparent:transparent;
  --success:#436a35;
  --error:#a32d20;
  --whatsapp:#25d366;
  --chat-pulse-time:2.4s;
  --hero-overlay-mobile:linear-gradient(90deg,#141613e8,#14161370),linear-gradient(0deg,#14161370,transparent);
  --hero-overlay-desktop:linear-gradient(90deg,#141613fa 1%,#141613d9 30%,#14161338 70%);
  --font-body:Golos,sans-serif;
  --font-accent:Manrope,sans-serif;
  --weight-heading:800;
  --weight-brand:400;
  --leading-solid:1;
  --leading-hero:1.08;
  --leading-heading:1.12;
  --leading-brand:1.15;
  --leading-accent:1.2;
  --leading-title:1.3;
  --leading-button:1.4;
  --leading-feature:1.45;
  --leading-copy:1.5;
  --leading-body:1.65;
  --leading-relaxed:1.7;
  --leading-lead:1.8;
  --tracking-heading:-.045em;
  --tracking-title:-.04em;
  --tracking-display:-.035em;
  --tracking-brand:-.03em;
  --tracking-phone:-.025em;
  --tracking-overline:.085em;
  --tracking-label:.1em;
  --tracking-tagline:.035em;
  --tracking-weight:-.1em;
  --hairline:1px;
  --center:50%;
  --center-shift:-50%;
  --skip-hidden-offset:-200%;
  --hover-lift:-2px;
  --chat-hover-lift:-3px;
  --scroll-hint-from:-3px;
  --scroll-hint-to:6px;
  --tap-target:2.75rem;
  --control-height:3rem;
  --button-height:3.5rem;
  --compact-control:2.5rem;
  --content-max:80rem;
  --product-stage-height:370px;
  --product-image-height:300px;
  --photo-image-height:60vh;
  --smoke-rgb:166,173,165;
  --ember-hot-rgb:255,108,27;
  --ember-warm-rgb:234,62,9;
  --ember-edge-rgb:190,45,5;
  --spark-rgb:255,143,61;
  --spark-core-rgb:255,196,112;
  --text-xs:.75rem;
  --text-sm:.875rem;
  --text-body:1rem;
  --text-lead:1.0625rem;
  --text-lg:1.25rem;
  --text-feature:.8125rem;
  --benefit-icon:1.75rem;
  --hero-action-font:clamp(.8125rem,3vw,1rem);
  --hero-action-icon:1rem;
  --hero-action-padding:var(--s2);
  --hero-actions-max:33rem;
  --title-hero:clamp(2rem,8.9vw,3rem);
  --title-section:clamp(2rem,8.5vw,2.625rem);
  --title-product:1.875rem;
  --title-process:1.25rem;
  --title-production:clamp(1.75rem,7vw,2rem);
  --title-brand:2rem;
  --title-capacity:clamp(2rem,3.7vw,3.5rem);
  --weight-number:9.375rem;
  --order-button-max:32rem;
  --chat-size:3.5rem;
  --chat-icon-size:2rem;
  --chat-offset:var(--s5);
  --s1:.25rem;
  --s2:.5rem;
  --s3:.75rem;
  --s4:1rem;
  --s5:1.25rem;
  --s6:1.5rem;
  --s7:1.75rem;
  --s8:2rem;
  --s9:2.25rem;
  --s10:2.5rem;
  --s11:2.75rem;
  --s12:3rem;
  --s14:3.5rem;
  --s16:4rem;
  --s18:4.5rem;
  --s20:5rem;
  --s24:6rem;
  --page-gutter:1.25rem;
  --header-gutter:var(--page-gutter);
  --header-height:7rem;
  --hero-height:48.25rem;
  --hero-padding:10rem;
  --section-padding:3.5rem;
  --wave-height:clamp(2.125rem,5.5vw,5rem);
  --radius-sm:.75rem;
  --radius:1rem;
  --radius-lg:1.5rem;
  --pill:999px;
  --ease:cubic-bezier(.2,.7,.3,1);
  --transition:.25s;
  --reveal-time:.7s;
  --focus-width:3px;
  --focus-offset:3px;
  --border:1px solid var(--line);
  --shadow:0 12px 40px #00000016;
  --map-height:16.25rem;
  --map-surface:#20241e;
  --map-filter:invert(.93) hue-rotate(200deg) saturate(.35) sepia(.15) brightness(.95) contrast(.92);
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--header-height) + var(--s4));
  background:var(--footer);
  -webkit-text-size-adjust:100%;
}
body {
  margin:0;
  background:var(--footer);
  color:var(--ink);
  font:400 var(--text-body)/var(--leading-body) var(--font-body);
}
main {
  background:var(--cream);
}
h1,h2,h3,p {
  margin:0;
}
h1,h2,h3 {
  font-weight:400;
  text-wrap:balance;
}
h1,h2 {
  line-height:var(--leading-heading);
  letter-spacing:var(--tracking-heading);
}
h2 {
  font-size:var(--title-section);
}
h3 {
  line-height:var(--leading-title);
}
em {
  font-family:var(--font-accent);
  font-weight:var(--weight-heading);
  font-style:normal;
}
a {
  color:inherit;
  text-decoration:none;
}
button,input,select,textarea {
  font:inherit;
  color:inherit;
}
button {
  cursor:pointer;
  border:0;
}
button:disabled {
  cursor:wait;
  opacity:.65;
}
.mobile-menu a:hover,.header>nav a:hover,.footer a:hover {
  color:var(--accent);
}
button,a,input,select,textarea,summary,label {
  -webkit-tap-highlight-color:var(--transparent);
}
:focus:not(:focus-visible) {
  outline:none;
}
:focus-visible,.gallery:has(#gallery-all:focus-visible) label[for=gallery-all],.gallery:has(#gallery-production:focus-visible) label[for=gallery-production],.gallery:has(#gallery-storage:focus-visible) label[for=gallery-storage] {
  outline:var(--focus-width) solid var(--accent);
  outline-offset:var(--focus-offset);
}
img,svg {
  display:block;
}
img {
  max-width:100%;
  height:auto;
  transition:opacity .5s ease;
}
.media-cover {
  width:100%;
  height:100%;
  object-fit:cover;
}
.wrap {
  width:min(var(--content-max),calc(100% - var(--page-gutter)*2));
  margin-inline:auto;
}
.section {
  padding-block:var(--section-padding);
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:calc(-1 * var(--hairline));
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}
.skip {
  position:fixed;
  left:var(--s4);
  top:var(--s4);
  z-index:100;
  background:var(--accent);
  color:var(--dark);
  padding:var(--s3) var(--s4);
  transform:translateY(var(--skip-hidden-offset));
}
.skip:focus-visible {
  transform:none;
}
.text-secondary {
  font-size:var(--text-sm);
  color:var(--muted);
}
.eyebrow {
  font-size:var(--text-xs);
  font-weight:700;
  letter-spacing:var(--tracking-overline);
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--s6);
  min-height:var(--button-height);
  padding:var(--s4) var(--s6);
  border-radius:var(--radius);
  font-size:var(--text-body);
  line-height:var(--leading-button);
  font-weight:700;
  transition:background var(--transition),transform var(--transition);
}
.button:hover {
  transform:translateY(var(--hover-lift));
}
.button span {
  font-size:var(--text-lg);
}
.orange {
  background:var(--accent);
  color:var(--dark);
}
.orange:hover {
  background:color-mix(in srgb,var(--accent),var(--cream) 16%);
}
.dark {
  background:var(--ink);
  color:var(--cream);
}
.dark:hover {
  background:var(--dark);
}
.button-outline {
  border:1px solid color-mix(in srgb,var(--cream),var(--transparent) 20%);
  background:color-mix(in srgb,var(--dark),var(--transparent) 70%);
  color:var(--cream);
}
.button-icon {
  width:var(--s6);
  height:var(--s6);
  flex-shrink:0;
}
.button-outline:hover {
  background:var(--cream);
  color:var(--dark);
}
.header {
  position:fixed;
  inset:0 0 auto;
  z-index:50;
  height:var(--header-height);
  padding:var(--s3) var(--header-gutter);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:var(--s1) var(--s4);
  background:var(--glass);
  color:var(--cream);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--dark-line);
}
.brand {
  display:flex;
  align-items:center;
  gap:var(--s3);
  width:max-content;
}
.brand>svg {
  width:28px;
  height:38px;
  color:var(--accent);
}
.brand>span {
  color:var(--white);
  font-size:var(--text-body);
  font-weight:var(--weight-brand);
  line-height:var(--leading-brand);
  letter-spacing:var(--tracking-brand);
}
.brand small {
  display:block;
  margin-top:var(--s1);
  font-size:var(--text-xs);
  font-weight:400;
  letter-spacing:var(--tracking-tagline);
  color:var(--cream);
}
.header>nav {
  display:none;
}
.header-phone {
  display:flex;
  gap:var(--s2);
  align-items:center;
  grid-column:2;
  grid-row:2;
  justify-self:end;
  width:max-content;
  border:1px solid color-mix(in srgb,var(--accent),var(--transparent) 65%);
  border-radius:var(--pill);
  padding:var(--s1) var(--s3);
  color:var(--accent);
  font-size:var(--text-body);
  line-height:var(--leading-copy);
}
.phone-icon {
  width:1em;
  height:1em;
  flex-shrink:0;
}
.mobile-navigation {
  grid-column:2;
  grid-row:1;
  justify-self:end;
}
.mobile-navigation>summary {
  display:grid;
  place-items:center;
  cursor:pointer;
  width:var(--tap-target);
  height:var(--tap-target);
  list-style:none;
}
.mobile-navigation>summary::-webkit-details-marker {
  display:none;
}
.menu-lines,.menu-lines::before,.menu-lines::after {
  width:22px;
  height:2px;
  background:var(--cream);
  transition:transform var(--transition);
}
.menu-lines {
  position:relative;
}
.menu-lines::before,.menu-lines::after {
  content:'';
  position:absolute;
  left:0;
}
.menu-lines::before {
  top:calc(-1 * var(--s2));
}
.menu-lines::after {
  top:var(--s2);
}
.mobile-navigation[open] .menu-lines {
  background:var(--transparent);
}
.mobile-navigation[open] .menu-lines::before {
  transform:translateY(var(--s2)) rotate(45deg);
}
.mobile-navigation[open] .menu-lines::after {
  transform:translateY(calc(-1 * var(--s2))) rotate(-45deg);
}
.mobile-menu {
  position:absolute;
  top:var(--header-height);
  inset-inline:0;
  background:var(--glass);
  padding:var(--s4) var(--page-gutter);
  max-height:calc(100dvh - var(--header-height));
  overflow-y:auto;
  overscroll-behavior:contain;
  backdrop-filter:blur(16px);
  box-shadow:var(--shadow);
}
.mobile-menu a {
  display:flex;
  align-items:center;
  min-height:var(--control-height);
  padding:var(--s2) 0;
}
@supports(animation-timeline:scroll()) {
  @keyframes header-glass {
    from {
      background:var(--transparent);
      backdrop-filter:blur(0);
      border-color:var(--transparent);
    }
    to {
      background:var(--glass);
      backdrop-filter:blur(16px);
      border-color:var(--dark-line);
    }
  }
  .header {
    animation:header-glass linear both;
    animation-timeline:scroll(root);
    animation-range:0px 64px;
  }
}
.hero {
  height:var(--hero-height);
  position:relative;
  overflow:hidden;
  background:var(--dark);
  color:var(--cream);
}
.hero-image {
  position:absolute;
  inset:0;
}
.hero-image img {
  object-position:64% center;
}
.hero-image::after {
  content:'';
  position:absolute;
  inset:0;
  background:var(--hero-overlay-mobile);
}
.hero-content {
  position:relative;
  z-index:2;
  padding-top:var(--hero-padding);
}
.hero h1 {
  font-size:var(--title-hero);
  font-weight:var(--weight-heading);
  line-height:var(--leading-hero);
  letter-spacing:var(--tracking-display);
  margin-bottom:var(--s7);
  max-width:900px;
}
.hero h1 em {
  color:var(--accent);
  line-height:inherit;
}
.hero-description {
  font-size:var(--text-body);
  line-height:var(--leading-lead);
  max-width:580px;
  color:var(--cream);
}
.hero-actions {
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
  align-items:stretch;
  gap:var(--s2);
  max-width:var(--hero-actions-max);
  margin-top:var(--s8);
}
.hero-actions>.button {
  justify-content:center;
  min-width:0;
  gap:var(--s1);
  padding:var(--s3) var(--hero-action-padding);
  font-size:var(--hero-action-font);
  white-space:nowrap;
}
.hero-actions .button-icon {
  width:var(--hero-action-icon);
  height:var(--hero-action-icon);
}
.hero-benefits {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  max-width:640px;
  padding:0;
  margin:var(--s8) 0 0;
  list-style:none;
}
.hero-benefits li {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:var(--s2);
  padding-inline:var(--s1);
  text-align:center;
  font-size:var(--text-feature);
  line-height:var(--leading-feature);
  color:var(--cream);
}
.hero-benefits li+li {
  border-left:1px solid var(--dark-line);
}
.hero-benefits svg {
  width:var(--benefit-icon);
  height:var(--benefit-icon);
  flex-shrink:0;
  stroke:var(--accent);
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.hero-effects {
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  pointer-events:none;
  mask-image:linear-gradient(90deg,var(--transparent),var(--dark) 45%);
}
.hero-scroll {
  position:absolute;
  bottom:var(--s12);
  left:var(--center);
  transform:translateX(var(--center-shift));
  z-index:3;
  width:64px;
  height:68px;
  display:grid;
  place-items:center;
  color:var(--accent);
}
.hero-scroll svg {
  width:32px;
  height:46px;
  animation:scroll-hint .85s ease-in-out infinite alternate;
}
@keyframes scroll-hint {
  from {
    transform:translateY(var(--scroll-hint-from));
  }
  to {
    transform:translateY(var(--scroll-hint-to));
  }
}
.section-wave {
  position:absolute;
  left:0;
  width:100%;
  height:var(--wave-height);
  fill:var(--cream);
  z-index:4;
  pointer-events:none;
}
.hero-wave,.production-wave-bottom {
  bottom:calc(-1 * var(--hairline));
}
.production-wave-top,.contacts-wave-top {
  top:calc(-1 * var(--hairline));
}
.catalog {
  padding-top:var(--s4);
  padding-bottom:var(--s8);
}
.catalog>h2 {
  margin-bottom:var(--s7);
}
.catalog h2 em {
  color:var(--accent);
}
.catalog-layout {
  display:grid;
  gap:var(--s7);
  align-items:center;
}
.product-stage {
  height:var(--product-stage-height);
  border-radius:var(--radius-lg);
  background:var(--card);
  padding:var(--s6);
  position:relative;
  overflow:hidden;
}
.stage-weight {
  position:absolute;
  right:var(--s6);
  top:var(--s5);
  font-size:var(--weight-number);
  line-height:var(--leading-solid);
  letter-spacing:var(--tracking-weight);
  color:color-mix(in srgb,var(--ink),var(--card) 87%);
}
.stage-weight span {
  font-size:var(--text-lg);
  letter-spacing:0;
  margin-left:var(--s2);
}
.product-stage>img {
  position:relative;
  width:100%;
  height:var(--product-image-height);
  object-fit:contain;
  margin-top:var(--s2);
}
.product-info h3 {
  font-size:var(--title-product);
  margin-block:var(--s3) var(--s4);
  letter-spacing:var(--tracking-title);
}
.product-description {
  color:var(--muted);
}
.field-label {
  font-size:var(--text-sm);
  margin-block:var(--s6) var(--s2);
}
.weights {
  display:flex;
  gap:var(--s2);
}
.weights button {
  border:var(--border);
  border-radius:var(--radius-sm);
  background:var(--transparent);
  width:65px;
  height:52px;
  font-size:var(--text-lg);
  transition:background var(--transition),border-color var(--transition);
}
.weights small {
  font-size:var(--text-sm);
}
.weights button.selected {
  background:var(--ink);
  border-color:var(--ink);
  color:var(--cream);
}
.weights button:hover {
  border-color:var(--ink);
}
.stock {
  font-size:var(--text-xs);
  color:var(--muted);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:var(--s2);
  margin-block:var(--s5);
}
.stock>span:first-child {
  width:5px;
  height:5px;
  background:var(--muted);
  border-radius:50%;
}
.stock .price-note {
  margin-left:auto;
}
.stock,.product-info>.button {
  width:100%;
  max-width:var(--order-button-max);
}
.whatsapp-float {
  position:fixed;
  right:calc(var(--chat-offset) + env(safe-area-inset-right,0px));
  bottom:calc(var(--chat-offset) + env(safe-area-inset-bottom,0px));
  z-index:40;
  display:grid;
  place-items:center;
  width:var(--chat-size);
  height:var(--chat-size);
  border-radius:50%;
  background:var(--whatsapp);
  color:var(--white);
  box-shadow:var(--shadow);
  transition:transform var(--transition) var(--ease);
}
.whatsapp-float svg {
  width:var(--chat-icon-size);
  height:var(--chat-icon-size);
}
.whatsapp-float::before {
  content:'';
  position:absolute;
  inset:0;
  border:1px solid var(--whatsapp);
  border-radius:inherit;
  pointer-events:none;
  animation:chat-pulse var(--chat-pulse-time) var(--ease) infinite;
}
.whatsapp-label {
  position:absolute;
  right:calc(var(--chat-size) + var(--s3));
  top:var(--center);
  padding:var(--s2) var(--s4);
  border:1px solid var(--dark-line);
  border-radius:var(--radius-sm);
  background:var(--dark);
  color:var(--cream);
  font-size:var(--text-sm);
  line-height:var(--leading-copy);
  white-space:nowrap;
  box-shadow:var(--shadow);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate(var(--s2),var(--center-shift));
  transition:opacity var(--transition),transform var(--transition) var(--ease),visibility var(--transition);
}
.whatsapp-float:is(:hover,:focus-visible) .whatsapp-label {
  opacity:1;
  visibility:visible;
  transform:translate(0,var(--center-shift));
}
@keyframes chat-pulse {
  0% {
    transform:scale(1);
    opacity:0;
  }
  15% {
    opacity:.5;
  }
  100% {
    transform:scale(1.6);
    opacity:0;
  }
}
.whatsapp-float:hover {
  transform:translateY(var(--chat-hover-lift));
}
body:has(dialog[open]) .whatsapp-float {
  visibility:hidden;
}
.other-products {
  display:grid;
  gap:var(--s7);
  margin-top:var(--s8);
  padding-top:var(--s8);
  border-top:var(--border);
}
.other-product {
  display:grid;
  grid-template-columns:90px minmax(0,1fr);
  gap:var(--s4);
  align-items:start;
}
.other-image {
  background:var(--card);
  border-radius:var(--radius);
  height:145px;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.other-image img {
  height:125px;
  object-fit:contain;
}
.other-product h3 {
  font-size:var(--text-lg);
  margin-block:var(--s2);
}
.arrow-link {
  display:inline-flex;
  align-items:center;
  min-height:var(--compact-control);
  background:var(--transparent);
  padding:0 0 var(--s1);
  margin-top:var(--s3);
  border-bottom:1px solid var(--accent-text);
  font-size:var(--text-sm);
}
.arrow-link:hover {
  color:var(--accent-text);
}
.production {
  position:relative;
  overflow:hidden;
  background:var(--dark);
  color:var(--cream);
  padding-block:var(--s16) var(--s20);
}
.production-layout {
  display:grid;
  grid-template-columns:1fr;
  grid-template-areas:'intro' 'photo' 'steps';
  gap:var(--s3);
}
.production-intro {
  grid-area:intro;
  position:relative;
  z-index:2;
}
.production h2 {
  font-size:var(--title-production);
}
.production h2 em {
  color:var(--soft);
}
.production-summary {
  margin-top:var(--s4);
  color:var(--soft);
  font-size:var(--text-body);
  max-width:46ch;
}
.process-feature {
  display:contents;
}
.production-visual {
  grid-area:photo;
  position:relative;
  min-width:0;
  margin-top:var(--s5);
  isolation:isolate;
}
.production-capacity {
  position:absolute;
  top:0;
  left:var(--s2);
  z-index:2;
  padding-left:var(--s4);
  border-left:3px solid var(--accent);
  color:var(--accent);
  line-height:var(--leading-accent);
}
.production-capacity strong {
  font:normal var(--weight-heading) var(--title-capacity)/var(--leading-accent) var(--font-accent);
  white-space:nowrap;
}
.production-shape-definitions {
  position:absolute;
  width:0;
  height:0;
  overflow:hidden;
}
.production-orbit {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  fill:none;
  stroke:var(--accent);
  stroke-width:1px;
  opacity:.65;
  pointer-events:none;
}
.production-orbit path {
  vector-effect:non-scaling-stroke;
}
.process-photo {
  display:block;
  background:var(--transparent);
  position:relative;
  width:100%;
  aspect-ratio:20 / 11;
  padding:0;
  border-radius:var(--radius-lg);
}
.process-photo img {
  object-position:center;
  clip-path:url(#production-photo-clip);
}
.process-list {
  grid-area:steps;
  align-self:center;
}
.process-list article {
  display:flex;
  align-items:center;
  gap:var(--s4);
  padding-block:var(--s5);
  border-bottom:1px solid var(--dark-line);
}
.process-list article:first-child {
  padding-top:0;
}
.process-list h3 {
  font-size:var(--title-process);
  margin-bottom:var(--s2);
  letter-spacing:var(--tracking-title);
}
.process-list p {
  color:var(--soft);
  font-size:var(--text-sm);
}
.process-icon {
  color:var(--accent);
  width:38px;
  flex:0 0 38px;
}
.process-icon svg {
  width:36px;
  height:36px;
}
.gallery {
  padding-top:var(--s5);
}
.gallery-heading {
  margin-bottom:var(--s7);
}
.gallery-filters {
  display:flex;
  flex-wrap:wrap;
  gap:var(--s2) var(--s5);
  border-bottom:var(--border);
  margin-bottom:var(--s6);
}
.gallery-filters label {
  min-height:var(--tap-target);
  display:flex;
  align-items:center;
  padding-block:var(--s2);
  font-size:var(--text-sm);
  color:var(--muted);
  cursor:pointer;
  border-bottom:2px solid var(--transparent);
  margin-bottom:calc(-1 * var(--hairline));
  transition:color var(--transition),border-color var(--transition);
}
.gallery:has(#gallery-all:checked) label[for=gallery-all],.gallery:has(#gallery-production:checked) label[for=gallery-production],.gallery:has(#gallery-storage:checked) label[for=gallery-storage] {
  color:var(--ink);
  border-color:var(--ink);
}
.gallery-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:var(--s6) var(--s4);
  align-items:start;
}
.gallery-card {
  display:block;
  min-width:0;
}
.gallery-img {
  aspect-ratio:16 / 9;
  border-radius:var(--radius);
  background:var(--card);
  overflow:hidden;
}
.gallery-img img {
  transition:transform .4s var(--ease),opacity .5s;
}
.gallery-card:hover img {
  transform:scale(1.035);
}
.caption {
  display:block;
  padding-top:var(--s2);
  font-size:var(--text-sm);
  line-height:var(--leading-copy);
}
.gallery:has(#gallery-production:checked) .gallery-card:not([data-category=production]),.gallery:has(#gallery-storage:checked) .gallery-card:not([data-category=storage]) {
  display:none;
}
.contacts {
  position:relative;
  background:var(--dark);
  color:var(--cream);
  padding-block:var(--s20) var(--s20);
}
.contact-layout {
  display:grid;
  gap:var(--s10);
}
.contact-panel h2 {
  font-family:var(--font-accent);
  font-style:normal;
  font-weight:var(--weight-heading);
}
.contact-panel h2 em {
  color:var(--accent);
}
.contact-lead {
  color:var(--soft);
  margin-top:var(--s6);
}
.contact-hours {
  margin-block:var(--s8);
}
.contact-kicker,.footer-label {
  display:block;
  text-transform:uppercase;
  letter-spacing:var(--tracking-label);
  font-size:var(--text-xs);
  color:var(--accent);
  margin-bottom:var(--s3);
}
.contact-hours>small,.channel-note,.contact-channel small,.location-card small {
  display:block;
  font-size:var(--text-sm);
  color:var(--soft);
}
.contact-hours>small {
  margin-top:var(--s2);
}
.contact-channel-group,.contact-channel {
  display:flex;
  gap:var(--s4);
  align-items:flex-start;
  padding-block:var(--s6);
  border-top:1px solid var(--dark-line);
}
.contact-channel:last-child {
  border-bottom:1px solid var(--dark-line);
}
.contact-icon,.footer-icon {
  width:20px;
  height:20px;
  flex:0 0 20px;
  stroke:var(--accent);
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.contact-channel .contact-icon,.contact-channel-group>.contact-icon {
  margin-top:var(--s1);
}
.channel-primary,.channel-title {
  font-size:var(--text-lg);
  line-height:var(--leading-copy);
  letter-spacing:var(--tracking-phone);
  overflow-wrap:anywhere;
}
.channel-primary {
  display:flex;
  gap:var(--s4);
}
.channel-note,.contact-channel small {
  margin-top:var(--s1);
}
.contact-location {
  display:flex;
  flex-direction:column;
  min-width:0;
}
.contact-map {
  height:var(--map-height);
  flex:none;
  overflow:hidden;
  isolation:isolate;
  background:var(--map-surface);
  border:1px solid color-mix(in srgb,var(--accent),var(--transparent) 78%);
  border-radius:var(--radius-lg);
  transition:border-color var(--transition);
}
.contact-map:hover {
  border-color:color-mix(in srgb,var(--accent),var(--transparent) 48%);
}
.contact-map iframe {
  display:block;
  width:100%;
  height:100%;
  border:0;
  filter:var(--map-filter);
}
.route-link {
  display:flex;
  justify-content:space-between;
  align-items:center;
  min-height:60px;
  color:var(--accent);
  font-size:var(--text-sm);
  border-bottom:1px solid var(--dark-line);
}
.contact-address-block {
  padding-top:var(--s4);
}
.location-card {
  display:flex;
  align-items:center;
  gap:var(--s4);
  padding:var(--s3) var(--s4);
  line-height:var(--leading-copy);
  border:1px solid color-mix(in srgb,var(--accent),var(--transparent) 65%);
  border-radius:var(--radius-sm);
  background:color-mix(in srgb,var(--accent),var(--transparent) 96%);
}
.location-card strong {
  display:block;
  font-size:var(--text-body);
  margin-block:0;
}
.location-dot {
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-radius:50%;
  background:var(--accent);
  margin-left:auto;
}
.footer {
  background:var(--footer);
  color:var(--cream);
  overflow:clip;
}
.footer>.wrap {
  width:calc(100% - var(--page-gutter)*2);
  max-width:none;
}
.footer-inner {
  display:grid;
  gap:var(--s8);
  padding-block:var(--s8);
}
.footer-identity {
  text-align:left;
  justify-self:center;
  max-width:100%;
}
.footer-brand {
  font-family:var(--font-accent);
  font-style:normal;
  font-weight:var(--weight-heading);
  font-size:var(--title-brand);
  color:var(--accent);
  line-height:var(--leading-accent);
  letter-spacing:var(--tracking-display);
}
.footer-brand small {
  display:block;
  font-family:var(--font-body);
  font-style:normal;
  font-weight:400;
  letter-spacing:0;
  font-size:var(--text-body);
  margin-top:var(--s3);
  line-height:var(--leading-relaxed);
  color:var(--cream);
}
.footer-brand small span {
  font-size:var(--text-sm);
  color:var(--soft);
}
.footer-nav {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--s1) var(--s6);
  justify-items:start;
  justify-self:center;
  max-width:100%;
}
.footer-nav .footer-label {
  grid-column:1/-1;
  margin-bottom:var(--s2);
}
.footer-nav a {
  display:flex;
  align-items:center;
  min-height:var(--compact-control);
}
.footer-contacts {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-self:center;
  max-width:100%;
}
.footer-phone,.footer-email,.footer-address {
  display:flex;
  gap:var(--s3);
  align-items:center;
}
.footer-phone {
  font-size:var(--text-lg);
}
.footer-email {
  margin-top:var(--s2);
  overflow-wrap:anywhere;
}
.footer-address {
  font-size:var(--text-sm);
  color:var(--soft);
  margin-top:var(--s5);
}
.footer-email span,.footer-address span {
  min-width:0;
  overflow-wrap:anywhere;
}
.footer-bottom {
  display:flex;
  flex-direction:column;
  gap:var(--s2);
  align-items:flex-start;
  border-top:1px solid var(--dark-line);
  padding-block:var(--s5);
  padding-inline-end:calc(var(--chat-size) + var(--chat-offset));
  font-size:var(--text-xs);
  color:var(--soft);
}
.footer-bottom small {
  font-size:inherit;
}
dialog {
  border:0;
  border-radius:var(--radius-lg);
  padding:0;
  max-width:calc(100% - var(--s7));
  max-height:calc(100dvh - var(--s6));
  color:var(--ink);
  box-shadow:var(--shadow);
}
dialog::backdrop {
  background:var(--backdrop);
  backdrop-filter:blur(6px);
}
body:has(dialog[open]) {
  overflow:hidden;
}
.close-dialog {
  position:absolute;
  right:var(--s3);
  top:var(--s2);
  width:var(--compact-control);
  height:var(--compact-control);
  background:var(--transparent);
  font-size:var(--title-product);
  z-index:2;
  border-radius:var(--radius-sm);
}
.order-dialog {
  width:620px;
  background:var(--cream);
  padding:var(--s12) var(--s6) var(--s6);
}
#order-title em {
  color:var(--accent);
}
.order-dialog form {
  margin-top:var(--s6);
}
.order-dialog label {
  display:block;
  font-size:var(--text-sm);
  margin-bottom:var(--s4);
}
.order-dialog input,.order-dialog select,.order-dialog textarea {
  display:block;
  width:100%;
  min-height:var(--control-height);
  font-size:var(--text-body);
  line-height:var(--leading-copy);
  padding:var(--s3);
  margin-top:var(--s1);
  border:var(--border);
  background:var(--transparent);
  border-radius:var(--radius-sm);
}
.order-dialog input::placeholder,.order-dialog textarea::placeholder {
  color:var(--muted);
  opacity:1;
}
.order-dialog textarea {
  resize:vertical;
}
.order-dialog .button {
  width:100%;
  justify-content:center;
  color:var(--white);
}
.form-row {
  display:grid;
  gap:0 var(--s4);
}
.modal-phone {
  display:block;
  border-top:var(--border);
  padding-top:var(--s4);
  margin-top:var(--s5);
}
#form-status {
  font-size:var(--text-sm);
  margin-top:var(--s3);
  color:var(--success);
}
#form-status[data-error=true] {
  color:var(--error);
}
.photo-dialog {
  width:min(1000px,calc(100% - var(--s6)));
  background:var(--dark);
  color:var(--cream);
  padding:var(--s12) var(--s3) var(--s3);
}
.photo-dialog>img {
  width:100%;
  height:var(--photo-image-height);
  object-fit:contain;
}
.lightbox-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:var(--s3);
  padding:var(--s3) 0;
  font-size:var(--text-sm);
}
.lightbox-bottom button {
  width:var(--tap-target);
  height:var(--tap-target);
  flex:0 0 var(--tap-target);
  border:1px solid var(--dark-line);
  border-radius:var(--radius-sm);
  background:var(--transparent);
  color:var(--cream);
  font-size:var(--text-lg);
}
.scroll-reveal {
  transition:opacity var(--reveal-time) var(--ease),transform var(--reveal-time) var(--ease);
}
.scroll-reveal.reveal-pending {
  opacity:0;
  transform:translateY(var(--s4));
}
@media(min-width:421px) {
  :root {
    --hero-action-icon:1.25rem;
    --hero-action-padding:var(--s4);
  }
}
@media(min-width:481px) {
  :root {
    --header-height:5rem;
  }
  .header {
    display:flex;
    gap:var(--s2);
    padding-block:0;
  }
  .header-phone {
    margin-left:auto;
    padding:var(--s2) var(--s3);
  }
}
@media(min-width:601px) {
  :root {
    --chat-offset:var(--s6);
    --text-feature:.875rem;
    --benefit-icon:2rem;
    --hero-action-icon:1.5rem;
    --hero-height:43.75rem;
    --hero-padding:10.625rem;
    --title-hero:clamp(3rem,6vw,4.75rem);
    --title-section:clamp(2.375rem,4.6vw,3.5rem);
    --page-gutter:2.1875rem;
    --title-production:clamp(1.875rem,3.4vw,2.75rem);
    --section-padding:5rem;
    --product-stage-height:440px;
    --product-image-height:360px;
    --photo-image-height:min(67vh,700px);
    --map-height:18.75rem;
  }
  .header {
    gap:var(--s5);
  }
  .hero-actions {
    display:flex;
    gap:var(--s7);
  }
  .hero-actions>.button {
    min-width:220px;
    gap:var(--s4);
    padding:var(--s4) var(--s6);
    font-size:var(--text-body);
  }
  .hero-benefits li {
    flex-direction:row;
    gap:var(--s4);
    padding-inline:var(--s6);
    text-align:left;
  }
  .hero-benefits li:first-child {
    padding-left:0;
  }
  .hero-image::after {
    background:var(--hero-overlay-desktop);
  }
  .hero-description {
    font-size:var(--text-lead);
  }
  .catalog {
    padding-top:var(--s6);
    padding-bottom:var(--s12);
  }
  .catalog>h2 {
    margin-bottom:var(--s9);
  }
  .other-products {
    grid-template-columns:1fr 1fr;
    gap:var(--s7);
  }
  .gallery-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:var(--s7) var(--s6);
  }
  .gallery {
    padding-top:var(--s7);
  }
  .footer-inner {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:var(--s6);
    padding-block:var(--s14) var(--s11);
  }
  .footer-contacts {
    grid-column:1 / -1;
  }
  .footer-nav {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:var(--s1);
  }
  .footer-bottom {
    flex-direction:row;
    justify-content:space-between;
    align-items:center;
    gap:var(--s5);
  }
  .form-row {
    grid-template-columns:1fr 1fr;
  }
  .order-dialog {
    padding:var(--s11) var(--s10) var(--s8);
  }
  .photo-dialog {
    padding:var(--s11) var(--s5) var(--s3);
  }
}
@media(min-width:801px) {
  :root {
    --title-product:2.25rem;
    --title-process:1.375rem;
    --map-height:20rem;
  }
  .catalog-layout {
    grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
    gap:var(--s10);
  }
  .stock,.product-info>.button {
    width:90%;
  }
  .gallery-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .production {
    padding-block:var(--s18) var(--s20);
  }
  .production-layout {
    grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
    grid-template-areas:'intro steps' 'photo steps';
    gap:var(--s2) var(--s10);
  }
  .footer-inner {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .footer-contacts {
    grid-column:auto;
  }
  .contact-layout {
    grid-template-columns:1fr 1fr;
    gap:var(--s12);
  }
  .contact-location {
    align-self:center;
  }
}
@media(min-width:961px) {
  :root {
    --header-gutter:3.5%;
    --header-height:6rem;
    --hero-height:46.625rem;
    --hero-padding:12.5rem;
    --title-brand:clamp(1.875rem,1.3rem + 1.2vw,2.5rem);
  }
  .header {
    justify-content:space-between;
  }
  .header>nav {
    display:flex;
    gap:var(--s5);
    font-size:var(--text-body);
  }
  .mobile-navigation {
    display:none;
  }
  .header-phone {
    font-size:var(--text-lg);
    margin:0;
  }
  .brand>span {
    font-size:var(--text-lg);
  }
  .other-product {
    grid-template-columns:110px minmax(0,1fr);
    gap:var(--s5);
  }
  .footer-inner {
    gap:var(--s12);
  }
  .footer>.wrap {
    width:92%;
  }
}
@media(min-width:1300px) {
  :root {
    --page-gutter:3.5rem;
  }
  .catalog-layout {
    gap:var(--s20);
  }
  .production-layout {
    column-gap:var(--s16);
  }
  .header>nav {
    gap:var(--s7);
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*::before,*::after {
    animation:none!important;
    transition:none!important;
  }
  .scroll-reveal.reveal-pending {
    opacity:1;
    transform:none;
  }
  .hero-effects {
    display:none;
  }
}
