@font-face {
  font-family: "Inter";
  src: url("assets/fonts/inter-latin.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 100 900;
}

:root {
  --ink: #111820;
  --ink-soft: #1b2634;
  --paper: #f2efe8;
  --paper-2: #e4e8ec;
  --white: #fffdf8;
  --teal: #2f6bff;
  --teal-dark: #1e3d8a;
  --signal: #ff5a36;
  --acid: #ffb84d;
  --muted: #68717a;
  --line: rgba(17, 24, 32, .16);
  --line-light: rgba(255, 253, 248, .18);
  --shadow: 0 28px 90px rgba(4, 12, 28, .24);
  --radius: 22px;
  --shell: min(1240px, calc(100vw - 48px));
  --ease: cubic-bezier(.22, 1, .36, 1);
  --font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 104px; overflow-x: clip; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
body.menu-open { overflow: hidden; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
img { display: block; max-width: 100%; border-radius: 0; }
::selection { color: var(--ink); background: var(--acid); }

.shell { width: var(--shell); margin-inline: auto; }
.skip-link {
  position: fixed; left: 16px; top: 12px; z-index: 1000;
  padding: 10px 14px; color: var(--white); background: var(--ink);
  transform: translateY(-160%); transition: transform .2s;
}
.skip-link:focus { transform: translateY(0); }
.scroll-progress {
  position: fixed; inset: 0 0 auto; z-index: 1001; height: 3px;
  background: linear-gradient(90deg, var(--signal), #ff765c, var(--acid)); box-shadow: 0 0 14px rgba(226,59,47,.32); transform: scaleX(0); transform-origin: left;
}

.launch-note {
  min-height: 36px; padding: 8px 20px; display: flex; justify-content: center; align-items: center; gap: 7px;
  color: var(--white); background: var(--teal-dark); font-size: .82rem; line-height: 1.45; letter-spacing: .01em; text-align: center;
}
.launch-note__dot { width: 7px; height: 7px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 0 5px rgba(255, 184, 77, .13); animation: launch-pulse 2.4s ease-out infinite; }

.site-header {
  position: sticky; top: 0; z-index: 100; height: 76px; display: flex; align-items: center;
  color: var(--ink); background: rgba(242, 239, 232, .88); border-bottom: 1px solid transparent;
  backdrop-filter: blur(16px); transition: border-color .25s, background .25s;
}
.site-header.is-scrolled { border-color: var(--line); background: rgba(242, 239, 232, .97); }
.site-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; font-family: var(--font-sans); font-weight: 800; letter-spacing: -.025em; }
.brand small { color: var(--teal-dark); font: 700 .62rem/1 "Inter", sans-serif; letter-spacing: .13em; }
.brand__spool { position: relative; display: grid; width: 31px; height: 31px; place-items: center; border: 7px solid var(--teal); border-radius: 50%; transition: transform .7s var(--ease); }
.brand__spool::before, .brand__spool::after { content: ""; position: absolute; inset: -4px; border: 1px solid rgba(30, 61, 138, .45); border-radius: inherit; }
.brand__spool::after { inset: 5px; border-color: var(--ink); }
.brand__spool i { width: 4px; height: 4px; border-radius: 50%; background: var(--ink); }
.brand:hover .brand__spool, .brand:focus-visible .brand__spool { transform: rotate(120deg); }
.desktop-nav { display: flex; align-items: center; gap: 27px; margin-left: auto; }
.desktop-nav a { position: relative; color: #394552; font-size: .88rem; font-weight: 650; text-decoration: none; }
.desktop-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -8px; height: 2px; background: var(--teal); transition: right .25s var(--ease); }
.desktop-nav a:hover::after, .desktop-nav a:focus-visible::after, .desktop-nav a.is-active::after { right: 0; }
.desktop-nav a.is-active { color: var(--teal-dark); }
.site-header__actions { display: flex; align-items: center; gap: 12px; }
.menu-toggle { display: none; width: 45px; height: 45px; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: transparent; cursor: pointer; }
.menu-toggle span { display: block; width: 18px; height: 2px; margin: 4px auto; background: var(--ink); transition: transform .3s, opacity .3s; }
.menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3px) rotate(-45deg); }
.mobile-menu { position: fixed; inset: 112px 0 0; z-index: 90; display: none; padding: 26px 24px; background: var(--paper); opacity: 0; visibility: hidden; transition: opacity .25s, visibility .25s; }
.mobile-menu.is-open { opacity: 1; visibility: visible; }
.mobile-menu nav { display: grid; gap: 0; }
.mobile-menu a:not(.button) { padding: 20px 4px; border-bottom: 1px solid var(--line); font: 750 1.35rem/1.2 var(--font-sans); letter-spacing: -.02em; text-decoration: none; }
.mobile-menu .button { margin-top: 26px; }
.mobile-menu nav > a { opacity: 0; transform: translateY(14px); }
.mobile-menu.is-open nav > a { animation: mobile-link-in .42s var(--ease) both; }
.mobile-menu.is-open nav > a:nth-child(2) { animation-delay: .045s; }
.mobile-menu.is-open nav > a:nth-child(3) { animation-delay: .09s; }
.mobile-menu.is-open nav > a:nth-child(4) { animation-delay: .135s; }
.mobile-menu.is-open nav > a:nth-child(5) { animation-delay: .18s; }

.button {
  --magnetic-x: 0px;
  --magnetic-y: 0px;
  display: inline-flex; min-height: 50px; padding: 0 20px; align-items: center; justify-content: center; gap: 12px;
  border: 1px solid transparent; border-radius: 999px; font-size: .88rem; font-weight: 800; line-height: 1.2; text-decoration: none; cursor: pointer;
  translate: var(--magnetic-x) var(--magnetic-y);
  transition: transform .25s var(--ease), translate .18s ease-out, box-shadow .25s, color .25s, background .25s, border-color .25s;
  will-change: transform, translate;
}
.button:hover { transform: translateY(-2px); }
.button:focus-visible, .text-link:focus-visible, a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid rgba(47, 107, 255, .34); outline-offset: 3px; }
.button--small { min-height: 43px; padding-inline: 17px; font-size: .76rem; }
.button--large { min-height: 58px; padding-inline: 26px; }
.button--ink { color: var(--white); background: var(--ink); }
.button--signal { color: #fff; background: var(--signal); box-shadow: 0 14px 34px rgba(226, 59, 47, .2); }
.button--signal:hover { box-shadow: 0 18px 42px rgba(226, 59, 47, .28); }
.button--outline { color: var(--ink); border-color: var(--line); background: transparent; }
.button--outline:hover { color: var(--white); border-color: var(--ink); background: var(--ink); }
.button--light { color: var(--ink); background: var(--white); }
.button--block { width: 100%; }
.button[disabled] { opacity: .48; cursor: not-allowed; transform: none; box-shadow: none; }
.checkout-button { justify-content: space-between; }
.checkout-button i, .button--submit i, .text-link span, .mobile-cta span { transition: transform .28s var(--ease); }
.checkout-button i { font-style: normal; font-size: 1rem; }
.checkout-button:hover i, .button--submit:hover i, .mobile-cta:hover span { transform: translateX(4px); }
.text-link:hover span { transform: translateY(4px); }
.checkout-button.is-loading i { width: 15px; height: 15px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: checkout-spin .7s linear infinite; font-size: 0; }
@keyframes checkout-spin { to { transform: rotate(360deg); } }
.text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--white); font-size: .88rem; font-weight: 700; text-decoration: none; }
.text-link span { color: var(--teal); font-size: 1rem; }

.hero { position: relative; color: var(--white); background: #101923; overflow: hidden; isolation: isolate; }
.hero::before { content: ""; position: absolute; z-index: 0; inset: 0; pointer-events: none; background: radial-gradient(circle at 88% 16%, rgba(52, 82, 117, .22), transparent 32%), linear-gradient(105deg, rgba(255,255,255,.02), transparent 42%); }
.hero::after { content: ""; position: absolute; z-index: 0; inset: auto 0 0; height: 1px; background: rgba(255,255,255,.12); pointer-events: none; }
.hero__noise { position: absolute; inset: -8%; opacity: .055; pointer-events: none; translate: 0 var(--noise-shift, 0px); will-change: translate; }
.hero__noise::after { content: ""; position: absolute; inset: 0; opacity: .08; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E"); }
.hero__grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, .95fr) minmax(460px, 1.05fr); gap: clamp(64px, 7vw, 112px); align-items: center; min-height: 720px; padding-block: 78px 82px; }
.hero__copy { max-width: 650px; }
.eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 20px; color: var(--acid); font-size: .76rem; font-weight: 800; line-height: 1.4; letter-spacing: .12em; text-transform: uppercase; }
.eyebrow span { display: block; width: 27px; height: 2px; background: currentColor; }
.eyebrow--dark { color: var(--teal-dark); }
.hero h1, .section-heading h2, .technical h2, .local-section h2, .interest h2, .faq h2 {
  margin: 0; font-family: var(--font-sans); font-weight: 800; letter-spacing: -.038em; line-height: 1.04;
}
.hero h1 { max-width: 660px; font-size: clamp(3.3rem, 5vw, 5.15rem); line-height: .99; letter-spacing: -.05em; }
.hero h1 em { display: block; color: var(--acid); font-style: normal; background: none; -webkit-text-fill-color: currentColor; }
.hero__lead { max-width: 600px; margin: 26px 0 0; color: rgba(255, 253, 247, .76); font-size: clamp(1rem, 1.22vw, 1.13rem); line-height: 1.7; }
.hero__actions { display: flex; align-items: center; gap: 18px; margin-top: 32px; }
.hero__actions .button { min-height: 52px; padding-inline: 23px; }
.hero__actions .button i { margin-left: 10px; font-style: normal; transition: transform .25s var(--ease); }
.hero__actions .button:hover i { transform: translateX(4px); }
.hero__secondary { min-height: 52px; padding: 0 4px; display: inline-flex; align-items: center; border-bottom: 1px solid rgba(255,255,255,.32); color: rgba(255,255,255,.9); font-size: .82rem; font-weight: 760; text-decoration: none; transition: color .2s, border-color .2s; }
.hero__secondary:hover { color: var(--acid); border-color: var(--acid); }
.hero__proof { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 32px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.13); }
.hero__proof > div { min-width: 0; padding-right: 17px; }
.hero__proof > div + div { padding-left: 17px; border-left: 1px solid rgba(255,255,255,.11); }
.hero__proof strong, .hero__proof span { display: block; }
.hero__proof strong { color: #fff; font-size: .74rem; line-height: 1.35; }
.hero__proof span { margin-top: 3px; color: rgba(255,255,255,.55); font-size: .65rem; line-height: 1.4; }
.hero__checks { display: flex; flex-wrap: wrap; gap: 15px 22px; margin: 30px 0 0; padding: 0; color: rgba(255, 253, 247, .84); font-size: .84rem; line-height: 1.45; list-style: none; }
.hero__checks li { display: flex; align-items: center; gap: 8px; }
.hero__checks li::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--teal); }

.hero-offer { margin-top: 28px; padding: 15px 16px; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 18px; align-items: center; border: 1px solid rgba(255,255,255,.14); border-radius: 3px; background: rgba(255,255,255,.045); }
.hero-offer__name, .hero-offer__price { display: grid; gap: 3px; }
.hero-offer__name span { color: var(--acid); font-size: .6rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.hero-offer__name strong { color: #fff; font-size: .79rem; line-height: 1.35; }
.hero-offer__price { min-width: 116px; padding-left: 18px; border-left: 1px solid rgba(255,255,255,.12); text-align: right; }
.hero-offer__price strong { color: #fff; font: 800 1.42rem/1 var(--font-sans); letter-spacing: -.045em; white-space: nowrap; }
.hero-offer__price small { color: rgba(255,255,255,.56); font-size: .58rem; white-space: nowrap; }
.hero-offer__link { min-height: 42px; padding: 0 14px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; color: #111820; background: var(--acid); font-size: .68rem; font-weight: 820; text-decoration: none; transition: background-color .2s, transform .25s var(--ease); }
.hero-offer__link:hover { background: #ffc86f; transform: translateY(-1px); }
.hero-offer__link i { font-style: normal; }

.hero-product {
  --roll-angle: 0deg;
  --roll-shift: 0px;
  position: relative;
  min-height: clamp(520px, 40vw, 640px);
  margin: 0;
  display: grid;
  place-items: center;
  overflow: visible;
  isolation: isolate;
  pointer-events: none;
}
.hero-product::before {
  content: "";
  position: absolute;
  z-index: -2;
  width: 92%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(56, 91, 132, .22) 0, rgba(25, 44, 64, .09) 48%, transparent 72%);
  filter: blur(12px);
}
.hero-product::after {
  content: "";
  position: absolute;
  z-index: -1;
  left: 22%;
  right: 22%;
  bottom: 8.5%;
  height: 5.5%;
  border-radius: 50%;
  background: rgba(0, 0, 0, .48);
  filter: blur(14px);
  opacity: .78;
  transform: translate3d(var(--roll-shift), 0, 0);
  will-change: transform;
}
.hero-product__roller {
  position: relative;
  z-index: 1;
  display: block;
  width: min(116%, 700px);
  max-width: none;
  height: auto;
  user-select: none;
  filter: drop-shadow(0 30px 28px rgba(0, 0, 0, .3));
  transform: translate3d(var(--roll-shift), 0, 0) rotate(var(--roll-angle));
  transform-origin: 50% 50%;
  backface-visibility: hidden;
  will-change: transform;
}

.product-stage { position: relative; min-height: 590px; border: 1px solid var(--line-light); border-radius: 0; background: #0c1421; box-shadow: var(--shadow); overflow: hidden; }
.product-stage::before { content: ""; position: absolute; inset: 11px; z-index: 5; border: 1px solid rgba(255, 255, 255, .1); pointer-events: none; }
.product-stage::after { content: ""; position: absolute; z-index: 6; inset: -20% auto -20% -45%; width: 31%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent); transform: skewX(-17deg) translateX(-180%); pointer-events: none; animation: stage-sheen 7.5s ease-in-out infinite; animation-play-state: paused; }
.product-stage.is-motion-active::after { animation-play-state: running; }
.product-stage__status { position: absolute; top: 28px; left: 28px; z-index: 7; display: flex; align-items: center; gap: 9px; padding: 9px 12px; border: 1px solid rgba(255,255,255,.24); border-radius: 2px; color: var(--white); background: rgba(12,20,33,.78); backdrop-filter: blur(12px); font-size: .7rem; font-weight: 800; line-height: 1.35; letter-spacing: .08em; text-transform: uppercase; }
.product-stage__status span { width: 7px; height: 7px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 0 5px rgba(255,184,77,.12); animation: status-pulse 2.1s ease-out infinite; }
.printer-stage {
  --print-progress: 0;
  --part-height: 3px;
  --gantry-bottom: 106px;
  --head-x: -112px;
  --spool-turn: 0deg;
  --melt-opacity: .35;
  --printer-scale: 1;
  isolation: isolate;
}
.printer-stage__viewport {
  position: absolute;
  inset: 67px 18px 105px;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 74%, rgba(47,107,255,.13), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.018), transparent 50%);
  perspective: 900px;
}
.printer-stage__viewport::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .46;
  background-image:
    linear-gradient(rgba(47,107,255,.11) 1px, transparent 1px),
    linear-gradient(90deg, rgba(47,107,255,.11) 1px, transparent 1px);
  background-size: 28px 28px;
  mask-image: linear-gradient(180deg, transparent, #000 16%, #000 82%, transparent);
}
.printer3d { position: absolute; inset: 0; transform-style: preserve-3d; }
.printer3d__floor {
  position: absolute;
  left: 50%;
  bottom: 0;
  width: min(92%, 520px);
  height: 76px;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(0,0,0,.6), rgba(0,0,0,.22) 44%, transparent 72%);
  transform: translateX(-50%) rotateX(67deg);
  filter: blur(2px);
}
.printer3d__machine {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 460px;
  height: 350px;
  transform: translate(-50%, -49%) scale(var(--printer-scale)) rotateX(-2deg) rotateY(-4deg);
  transform-style: preserve-3d;
}
.printer3d__brand {
  position: absolute;
  z-index: 8;
  top: 27px;
  left: 50%;
  color: rgba(255,255,255,.8);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .14em;
  text-shadow: 0 1px 5px rgba(0,0,0,.7);
  transform: translateX(-50%) translateZ(15px);
}
.printer3d__brand span { color: var(--acid); }
.printer3d__top-rail,
.printer3d__upright,
.printer3d__x-rail,
.printer3d__base,
.printer3d__bed-edge {
  background: linear-gradient(90deg, #66717d, #232c36 17%, #0b1017 48%, #303b46 82%, #77828d);
  box-shadow:
    inset 0 1px rgba(255,255,255,.32),
    inset 0 -2px rgba(0,0,0,.72),
    7px 9px 18px rgba(0,0,0,.32);
}
.printer3d__top-rail {
  position: absolute;
  z-index: 7;
  top: 20px;
  left: 34px;
  width: 392px;
  height: 20px;
  border: 1px solid #84909a;
  transform: translateZ(12px);
}
.printer3d__top-rail::after,
.printer3d__base::after {
  content: "";
  position: absolute;
  inset: 3px 5px;
  border: 1px solid rgba(255,255,255,.09);
}
.printer3d__upright {
  position: absolute;
  z-index: 2;
  top: 34px;
  bottom: 40px;
  width: 20px;
  border: 1px solid #707b85;
}
.printer3d__upright::before {
  content: "";
  position: absolute;
  top: 6px;
  bottom: 6px;
  left: 7px;
  width: 3px;
  background: repeating-linear-gradient(180deg, #0a0f15 0 6px, #68727c 7px 8px);
  box-shadow: 0 0 0 1px rgba(0,0,0,.5);
}
.printer3d__upright--left { left: 38px; }
.printer3d__upright--right { right: 38px; }
.printer3d__spool {
  position: absolute;
  z-index: 9;
  top: 48px;
  left: 55px;
  width: 76px;
  height: 76px;
  border: 9px solid #2b68f4;
  border-radius: 50%;
  background: radial-gradient(circle, #09111d 0 17%, #233149 18% 26%, transparent 27%);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.2), 0 11px 25px rgba(0,0,0,.42), 0 0 24px rgba(47,107,255,.16);
  transform: rotate(var(--spool-turn)) translateZ(23px);
  will-change: transform;
}
.printer3d__spool i {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 58px;
  height: 3px;
  background: #2f6bff;
  transform-origin: center;
}
.printer3d__spool i:nth-child(1) { transform: translate(-50%, -50%) rotate(0); }
.printer3d__spool i:nth-child(2) { transform: translate(-50%, -50%) rotate(45deg); }
.printer3d__spool i:nth-child(3) { transform: translate(-50%, -50%) rotate(90deg); }
.printer3d__spool i:nth-child(4) { transform: translate(-50%, -50%) rotate(135deg); }
.printer3d__spool b {
  position: absolute;
  inset: 22px;
  z-index: 2;
  border: 2px solid #84a9ff;
  border-radius: 50%;
  background: #111a27;
}
.printer3d__filament {
  position: absolute;
  z-index: 4;
  top: 61px;
  left: 121px;
  width: 214px;
  height: 101px;
  border-top: 3px solid var(--acid);
  border-right: 3px solid var(--acid);
  border-radius: 0 90% 0 0;
  opacity: .9;
  filter: drop-shadow(0 0 5px rgba(255,184,77,.36));
  transform: rotate(4deg) translateZ(7px);
}
.printer3d__gantry {
  position: absolute;
  z-index: 10;
  left: 54px;
  right: 54px;
  bottom: var(--gantry-bottom);
  height: 78px;
  transform: translateZ(24px);
  will-change: bottom;
}
.printer3d__x-rail {
  position: absolute;
  z-index: 1;
  top: 9px;
  left: 0;
  right: 0;
  height: 13px;
  border: 1px solid #69747f;
}
.printer3d__x-rail::after {
  content: "";
  position: absolute;
  top: 4px;
  left: 8px;
  right: 8px;
  height: 3px;
  background: repeating-linear-gradient(90deg, #0a0f16 0 9px, #697480 10px 12px);
}
.printer3d__head {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 50%;
  width: 64px;
  height: 78px;
  transform: translateX(calc(-50% + var(--head-x)));
  filter: drop-shadow(7px 10px 10px rgba(0,0,0,.45));
  will-change: transform;
}
.printer3d__head-face {
  position: absolute;
  top: 0;
  left: 5px;
  width: 54px;
  height: 50px;
  border: 1px solid #89939d;
  background: linear-gradient(135deg, #394653, #121a24 56%, #293745);
  box-shadow: inset 0 0 0 4px #202b37, inset 0 -9px 18px rgba(0,0,0,.48);
}
.printer3d__head-face::before {
  content: "";
  position: absolute;
  inset: 11px;
  border: 4px solid #0b1119;
  border-radius: 50%;
  background: repeating-conic-gradient(#586675 0 8deg, #111923 9deg 18deg);
  box-shadow: inset 0 0 0 5px #1a2531;
}
.printer3d__head-face i {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 50%;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #070c12;
  transform: translate(-50%, -50%);
}
.printer3d__heat-block {
  position: absolute;
  left: 21px;
  top: 48px;
  width: 23px;
  height: 14px;
  border: 1px solid #d1d5d7;
  background: linear-gradient(90deg, #747d82, #eef0ed 46%, #646d72);
}
.printer3d__nozzle {
  position: absolute;
  left: 27px;
  top: 61px;
  width: 11px;
  height: 15px;
  background: linear-gradient(90deg, #7d4d1e, #ffbd55 48%, #6e4116);
  clip-path: polygon(0 0, 100% 0, 70% 62%, 58% 100%, 42% 100%, 30% 62%);
}
.printer3d__melt {
  position: absolute;
  left: 30px;
  top: 74px;
  width: 5px;
  height: 7px;
  border-radius: 50%;
  background: #fff5c8;
  box-shadow: 0 0 5px 2px rgba(255,184,77,.82);
  opacity: var(--melt-opacity);
}
.printer3d__bed {
  position: absolute;
  z-index: 5;
  left: 76px;
  bottom: 58px;
  width: 308px;
  height: 49px;
  transform: translateZ(20px);
}
.printer3d__bed-surface {
  position: absolute;
  z-index: 3;
  inset: 0 8px 14px;
  border: 1px solid #8fa5be;
  background:
    linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(135deg, #253448, #0b111a);
  background-size: 18px 18px, 18px 18px, auto;
  box-shadow: inset 0 0 22px rgba(47,107,255,.14), 0 -1px #2f6bff;
  transform: perspective(190px) rotateX(57deg);
  transform-origin: bottom;
}
.printer3d__bed-edge {
  position: absolute;
  z-index: 2;
  left: 3px;
  right: 3px;
  bottom: 9px;
  height: 14px;
  border: 1px solid #6e7880;
}
.printer3d__bed-support {
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 170px;
  height: 10px;
  background: #101720;
  border: 1px solid #53606c;
  transform: translateX(-50%);
}
.printer3d__part {
  position: absolute;
  z-index: 8;
  left: 50%;
  bottom: 99px;
  width: 124px;
  height: var(--part-height);
  overflow: hidden;
  transform: translateX(-50%) translateZ(40px);
  filter: drop-shadow(7px 8px 8px rgba(0,0,0,.32));
  will-change: height;
}
.printer3d__part::after {
  content: "";
  position: absolute;
  z-index: 3;
  top: 0;
  left: 24px;
  width: 76px;
  height: 6px;
  border-radius: 50%;
  background: linear-gradient(90deg, #8c2d18, #ffb84d 48%, #8f2f1a);
  box-shadow: 0 0 7px rgba(255,184,77,.4);
}
.printer3d__part-model {
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 110px;
  height: 112px;
  background:
    linear-gradient(90deg, rgba(93,29,20,.62), transparent 18% 70%, rgba(104,34,20,.66)),
    repeating-linear-gradient(0deg, #f05b36 0 2px, #ff7853 2px 3px, #d44729 3px 4px);
  clip-path: polygon(19% 100%, 14% 78%, 21% 66%, 25% 48%, 25% 27%, 37% 13%, 63% 13%, 75% 27%, 75% 48%, 79% 66%, 86% 78%, 81% 100%);
  transform: translateX(-50%);
}
.printer3d__part-model::before {
  content: "";
  position: absolute;
  inset: 12% 34% 18%;
  border: 4px solid rgba(255,207,151,.4);
  border-radius: 42% 42% 16% 16%;
  background: rgba(91,25,18,.28);
  box-shadow: inset 0 0 14px rgba(0,0,0,.28);
}
.printer3d__base {
  position: absolute;
  z-index: 4;
  left: 22px;
  right: 22px;
  bottom: 4px;
  height: 48px;
  border: 1px solid #727d87;
  transform: translateZ(10px);
}
.printer3d__base span {
  position: absolute;
  top: 15px;
  left: 21px;
  color: rgba(255,255,255,.58);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .18em;
}
.printer3d__base i {
  position: absolute;
  top: 14px;
  right: 20px;
  width: 20px;
  height: 14px;
  border: 1px solid #2f6bff;
  background: rgba(47,107,255,.24);
  box-shadow: 0 0 9px rgba(47,107,255,.22);
}
.printer-stage.is-complete .product-stage__status span {
  background: #51d58a;
  box-shadow: 0 0 0 5px rgba(81,213,138,.14);
}
.printer-stage.is-complete .printer3d__melt { opacity: 0; }
.printer-stage__readout { position: absolute; z-index: 7; left: 28px; right: 28px; bottom: 67px; display: grid; grid-template-columns: 1fr auto; gap: 3px 20px; align-items: end; }
.printer-stage__readout span { color: var(--acid); font-size: .61rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.printer-stage__readout strong { color: var(--white); font: 800 .92rem/1.3 var(--font-sans); }
.printer-stage__readout small { color: rgba(255,255,255,.65); font-size: .61rem; }
.printer-stage__progress { grid-column: 2; grid-row: 1 / span 3; width: 138px; height: 5px; align-self: center; overflow: hidden; background: rgba(255,255,255,.16); }
.printer-stage__progress i { display: block; width: 100%; height: 100%; background: linear-gradient(90deg, var(--teal), var(--acid)); transform: scaleX(var(--print-progress)); transform-origin: left; will-change: transform; }
.product-stage__caption { position: absolute; z-index: 7; left: 28px; right: 28px; bottom: 23px; margin: 0; color: rgba(255,255,255,.7); font-size: .72rem; line-height: 1.5; }

/* Fotografía real de la impresora, animada por el desplazamiento. */
.printer-stage {
  --photo-layer-y: 8%;
  --photo-head-x: -28px;
  --photo-scale: 1;
  --photo-brightness: .88;
  --photo-saturation: .82;
}

.printer-stage__viewport {
  display: grid;
  place-items: center;
  container-type: size;
  perspective: none;
  background:
    radial-gradient(circle at 50% 52%, rgba(47,107,255,.12), transparent 56%),
    #0b1524;
}

.printer-stage__viewport::before {
  z-index: 4;
  opacity: 1;
  background:
    linear-gradient(180deg, rgba(7,13,23,.08), transparent 35% 72%, rgba(7,13,23,.28)),
    radial-gradient(circle at center, transparent 50%, rgba(5,11,19,.34) 100%);
  background-size: auto;
  mask-image: none;
  pointer-events: none;
}

.printer-photo {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
}

.printer-photo__canvas {
  position: relative;
  width: min(100%, 532px);
  aspect-ratio: 532 / 426;
  overflow: hidden;
  background: #101b2c;
}

@supports (width: 1cqw) {
  .printer-photo__canvas {
    width: min(100cqw, calc(100cqh * 1.24883));
  }
}

.printer-photo__canvas > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(var(--photo-brightness)) saturate(var(--photo-saturation));
  transform: scale(var(--photo-scale));
  transform-origin: 52% 62%;
  will-change: transform, filter;
}

.printer-photo__canvas::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  border: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(135deg, rgba(255,255,255,.06), transparent 24% 74%, rgba(47,107,255,.05));
  pointer-events: none;
}

.printer-photo__spool {
  position: absolute;
  z-index: 2;
  left: 23%;
  top: 25.5%;
  width: 16.7%;
  aspect-ratio: 1;
  border: 2px solid rgba(68,130,255,.48);
  border-radius: 50%;
  opacity: .68;
  transform: translate(-50%, -50%) rotate(var(--spool-turn));
  will-change: transform;
}

.printer-photo__spool i {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 86%;
  height: 1px;
  background: rgba(115,161,255,.62);
  transform: translate(-50%, -50%) rotate(18deg);
}

.printer-photo__spool i:last-child {
  transform: translate(-50%, -50%) rotate(108deg);
}

.printer-photo__build {
  position: absolute;
  z-index: 2;
  left: 41.5%;
  top: 57.5%;
  width: 31%;
  height: 27%;
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent, #000 8% 92%, transparent);
}

.printer-photo__pending {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(9,17,29,.76), rgba(9,17,29,.48));
  transform: scaleY(calc(1 - var(--print-progress)));
  transform-origin: top;
  will-change: transform;
}

.printer-photo__layer {
  position: absolute;
  left: 50%;
  bottom: var(--photo-layer-y);
  width: 74%;
  height: 2px;
  border-radius: 50%;
  opacity: .24;
  background: linear-gradient(90deg, transparent, #ff8b48 16% 84%, transparent);
  box-shadow: 0 0 7px 2px rgba(255,118,58,.48);
  transform: translateX(calc(-50% + var(--photo-head-x)));
  will-change: bottom, transform, opacity;
}

.printer-photo__nozzle-glow {
  position: absolute;
  left: 50%;
  bottom: calc(var(--photo-layer-y) + 1px);
  width: 7px;
  height: 7px;
  border-radius: 50%;
  opacity: var(--melt-opacity);
  background: #fff0c2;
  box-shadow: 0 0 6px 2px rgba(255,146,72,.85);
  transform: translateX(calc(-50% + var(--photo-head-x)));
  will-change: bottom, transform, opacity;
}

.printer-stage.is-printing .printer-photo__layer {
  opacity: .94;
}

.printer-stage.is-complete .printer-photo__layer,
.printer-stage.is-complete .printer-photo__nozzle-glow {
  opacity: 0;
}

.printer-photo__finish {
  position: absolute;
  inset: -20% auto -20% -35%;
  z-index: 3;
  width: 18%;
  opacity: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.22), transparent);
  transform: skewX(-16deg);
  pointer-events: none;
}

.printer-stage.is-complete .printer-photo__finish {
  animation: printer-photo-finish .9s var(--ease) both;
}

@keyframes printer-photo-finish {
  0% { opacity: 0; translate: 0 0; }
  22% { opacity: .62; }
  100% { opacity: 0; translate: 720% 0; }
}

/* Rollo de filamento controlado por el desplazamiento. */
.spool-stage {
  --spool-progress: 0;
  --spool-turn: 0deg;
  --spool-travel: -27px;
  --spool-lift: 0px;
  --spool-yaw: -20deg;
  --spool-scale: 1.04;
  --spool-shadow-opacity: .4;
  --spool-highlight-opacity: .18;
  --spool-trail-opacity: .56;
  --spool-trail-scale: .68;
  min-height: 590px;
  border: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
  isolation: isolate;
}

.spool-stage::before,
.spool-stage::after {
  display: none;
}

.spool-stage__viewport {
  position: absolute;
  inset: 44px 0 98px;
  overflow: visible;
  perspective: 1050px;
  background: radial-gradient(circle at 50% 48%, rgba(47,107,255,.105), transparent 50%);
}

.spool-stage__viewport::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: .62;
  background: radial-gradient(ellipse at 50% 78%, rgba(0,0,0,.18), transparent 54%);
  mask-image: none;
  pointer-events: none;
}

.spool-stage__viewport::after {
  display: none;
}

.spool3d {
  position: absolute;
  inset: 0;
  z-index: 1;
  transform-style: preserve-3d;
}

.spool3d__floor {
  position: absolute;
  left: 50%;
  bottom: 5%;
  width: 310px;
  height: 58px;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(0,0,0,.5), rgba(0,0,0,.16) 46%, transparent 72%);
  filter: blur(7px);
  opacity: var(--spool-shadow-opacity);
  transform: translateX(calc(-50% + var(--spool-travel))) rotateX(69deg) scale(var(--spool-scale));
  transform-origin: center;
  will-change: transform;
}

.spool3d__travel {
  position: absolute;
  left: 50%;
  top: 49%;
  width: 300px;
  height: 300px;
  transform:
    translate(-50%, -50%)
    translate3d(var(--spool-travel), var(--spool-lift), 0)
    scale(var(--spool-scale))
    rotateX(-7deg)
    rotateY(var(--spool-yaw));
  transform-style: preserve-3d;
  will-change: transform;
}

.spool3d__wheel {
  position: absolute;
  inset: 0;
  transform: rotateZ(var(--spool-turn));
  transform-style: preserve-3d;
  will-change: transform;
}

.spool3d__coil-cylinder {
  position: absolute;
  inset: 0;
  transform-style: preserve-3d;
}

.spool3d__coil-cylinder i {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 56px;
  height: 94px;
  margin: -47px 0 0 -28px;
  border-inline: 0;
  background:
    repeating-linear-gradient(90deg, rgba(255,255,255,.055) 0 1px, transparent 1px 4px),
    linear-gradient(180deg, #87361f, #d75d32 30%, #b74729 63%, #6f2919);
  box-shadow: inset 0 0 10px rgba(0,0,0,.22);
  transform:
    rotateZ(var(--side))
    translateY(-104px)
    rotateX(90deg);
  backface-visibility: hidden;
}

.spool3d__coil-face {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 216px;
  height: 216px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 39% 35%, rgba(255,255,255,.1), transparent 30%),
    repeating-conic-gradient(from 2deg, #dc6135 0 1.8deg, #983a22 2deg 3.7deg, #c94f2d 3.9deg 5.4deg);
  -webkit-mask: radial-gradient(circle, transparent 0 33px, #000 34px);
  mask: radial-gradient(circle, transparent 0 33px, #000 34px);
  box-shadow: inset 0 0 20px rgba(45,14,8,.34);
  transform-style: preserve-3d;
}

.spool3d__coil-face--back {
  filter: brightness(.64) saturate(.76);
  transform: translate(-50%, -50%) translateZ(-48px);
}

.spool3d__coil-face--front {
  transform: translate(-50%, -50%) translateZ(48px);
}

.spool3d__flange {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 282px;
  height: 282px;
  border: 16px solid #515d68;
  border-radius: 50%;
  background: transparent;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.14),
    inset 0 0 14px rgba(0,0,0,.32),
    0 18px 36px rgba(0,0,0,.24);
  transform-style: preserve-3d;
}

.spool3d__flange--back {
  opacity: .76;
  border-color: #2b3641;
  background: radial-gradient(circle, #121922 0 28px, #46515c 29px 37px, transparent 38px);
  transform: translate(-50%, -50%) translateZ(-55px);
}

.spool3d__flange--front {
  border-color: #5d6872;
  background: radial-gradient(circle, transparent 0 37px, rgba(13,22,34,.2) 38px 39px, transparent 40px);
  transform: translate(-50%, -50%) translateZ(56px);
}

.spool3d__flange--front::before,
.spool3d__flange--front::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

.spool3d__flange--front::before {
  inset: -8px;
  border: 1px solid rgba(207,218,228,.2);
  box-shadow: none;
}

.spool3d__flange--front::after {
  display: none;
}

.spool3d__flange--front > i {
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 50%;
  width: 106px;
  height: 15px;
  border: 0;
  border-radius: 8px;
  background: linear-gradient(180deg, #727d87, #424c56 58%, #303942);
  box-shadow: inset 0 1px rgba(255,255,255,.1);
  transform-origin: 0 50%;
}

.spool3d__flange--front > i:nth-child(1) { transform: translateY(-50%) rotate(0deg); }
.spool3d__flange--front > i:nth-child(2) { transform: translateY(-50%) rotate(60deg); }
.spool3d__flange--front > i:nth-child(3) { transform: translateY(-50%) rotate(120deg); }
.spool3d__flange--front > i:nth-child(4) { transform: translateY(-50%) rotate(180deg); }
.spool3d__flange--front > i:nth-child(5) { transform: translateY(-50%) rotate(240deg); }
.spool3d__flange--front > i:nth-child(6) { transform: translateY(-50%) rotate(300deg); }

.spool3d__flange--front > b {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 50%;
  width: 76px;
  height: 76px;
  display: block;
  border: 6px solid #5b6670;
  border-radius: 50%;
  color: var(--white);
  background: #121922;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12), 0 6px 14px rgba(0,0,0,.3);
  text-align: center;
  transform: translate(-50%, -50%);
}

.spool3d__flange--front > b::after {
  content: "";
  position: absolute;
  inset: 19px;
  border: 2px solid #727c85;
  border-radius: 50%;
  background: #070b10;
  box-shadow: inset 0 0 0 3px #101820;
}

.spool3d__flange--front > b span,
.spool3d__flange--front > b small {
  display: none;
}

.spool3d__highlight {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 4;
  width: 282px;
  height: 282px;
  border-radius: 50%;
  border-top: 1px solid rgba(255,255,255,.24);
  border-left: 1px solid rgba(255,255,255,.07);
  opacity: var(--spool-highlight-opacity);
  filter: none;
  transform: translate(-50%, -50%) translateZ(60px);
  pointer-events: none;
}

.spool3d__trail {
  position: absolute;
  z-index: 2;
  left: calc(50% + var(--spool-travel) + 102px);
  top: calc(49% + var(--spool-lift));
  width: 150px;
  height: 112px;
  border-top: 3px solid #c95631;
  border-right: 3px solid #c95631;
  border-radius: 0 95% 0 0;
  opacity: var(--spool-trail-opacity);
  filter: none;
  transform: rotate(8deg) scaleX(var(--spool-trail-scale));
  transform-origin: left top;
  will-change: left, top, opacity, transform;
}

.spool3d__trail i {
  position: absolute;
  right: -5px;
  bottom: -7px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #d56a45;
  box-shadow: none;
}

.spool-stage .product-stage__status {
  top: 17px;
  left: 0;
  padding: 0;
  border: 0;
  color: rgba(255,255,255,.74);
  background: transparent;
  backdrop-filter: none;
  font-size: .66rem;
  font-weight: 650;
  letter-spacing: .075em;
  text-transform: none;
}

.spool-stage .product-stage__status span {
  width: 5px;
  height: 5px;
  background: var(--acid);
  box-shadow: none;
  animation: none;
}

.spool-stage.is-rolling .product-stage__status span {
  box-shadow: 0 0 0 4px rgba(255,184,77,.09);
}

.spool-stage.is-complete .product-stage__status span {
  background: #51d58a;
  box-shadow: none;
}

.spool-stage__readout {
  position: absolute;
  z-index: 7;
  left: 0;
  right: 0;
  bottom: 50px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 3px 20px;
  align-items: end;
}

.spool-stage__readout span {
  color: rgba(255,255,255,.48);
  font-size: .58rem;
  font-weight: 650;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.spool-stage__readout strong {
  color: var(--white);
  font: 650 .92rem/1.35 var(--font-sans);
}

.spool-stage__readout small {
  color: rgba(255,255,255,.5);
  font-size: .59rem;
}

.spool-stage__progress {
  grid-column: 2;
  grid-row: 1 / span 3;
  width: 160px;
  height: 2px;
  align-self: center;
  overflow: hidden;
  background: rgba(255,255,255,.14);
}

.spool-stage__progress i {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--signal);
  transform: scaleX(var(--spool-progress));
  transform-origin: left;
  will-change: transform;
}

.spool-stage .product-stage__caption {
  left: 0;
  right: 0;
  bottom: 10px;
  color: rgba(255,255,255,.46);
  font-size: .66rem;
  letter-spacing: .01em;
}

.spec-strip { position: relative; color: var(--ink); border-bottom: 1px solid var(--line); background: #f0ede6; }
.spec-strip__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.spec-strip__grid > div { position: relative; min-height: 104px; padding: 24px 24px 22px; border-right: 1px solid #d8d4cb; overflow: hidden; transition: background-color .3s var(--ease); }
.spec-strip__grid > div::after { content: ""; position: absolute; left: 24px; right: 100%; bottom: 0; height: 2px; background: #bd780f; transition: right .45s var(--ease); }
.spec-strip__grid > div:hover { background: #e9e5dc; }
.spec-strip__grid > div:hover::after { right: 25px; }
.spec-strip__grid > div:first-child { border-left: 1px solid #d8d4cb; }
.spec-strip__grid span { position: absolute; top: 13px; right: 14px; color: #9b9388; font: 750 .6rem/1 var(--font-sans); }
.spec-strip__grid strong, .spec-strip__grid small { display: block; }
.spec-strip__grid strong { font: 800 1.02rem/1.25 var(--font-sans); letter-spacing: -.02em; transition: transform .35s var(--ease), color .35s; }
.spec-strip__grid > div:hover strong { color: #8f5700; transform: translateY(-2px); }
.spec-strip__grid small { max-width: 210px; margin-top: 7px; color: #626b74; font-size: .69rem; line-height: 1.45; }

.section { padding-block: 120px; }
.section-heading { max-width: 840px; margin-bottom: 55px; }
.section-heading--split { display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(45px, 8vw, 110px); max-width: none; align-items: end; }
.section-heading h2, .technical h2, .local-section h2, .interest h2, .faq h2 { font-size: clamp(2.4rem, 4.3vw, 4.4rem); }
.section-heading--split > p { max-width: 500px; margin: 0 0 6px; color: #56616f; font-size: 1rem; line-height: 1.72; }

.process { background: var(--white); }
.validation-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.validation-card { --card-glow: 0; --pointer-x: 50%; --pointer-y: 50%; position: relative; min-height: 385px; padding: 30px; background-color: var(--white); background-image: radial-gradient(440px circle at var(--pointer-x) var(--pointer-y), rgba(47,107,255,var(--card-glow)), transparent 44%); border-right: 1px solid var(--line); transition: background-color .35s, box-shadow .35s var(--ease); }
.validation-card:last-child { border-right: 0; }
.validation-card--active { --card-glow: .035; color: var(--white); background-color: var(--ink); background-image: radial-gradient(440px circle at var(--pointer-x) var(--pointer-y), rgba(255,184,77,var(--card-glow)), transparent 44%); }
.validation-card--active::after { content: ""; position: absolute; top: 0; left: -44%; width: 44%; height: 2px; background: linear-gradient(90deg, transparent, var(--acid), transparent); animation: validation-scan 4.8s ease-in-out infinite; animation-play-state: paused; }
.process.is-motion-active .validation-card--active::after { animation-play-state: running; }
.validation-card__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 78px; }
.validation-card__top > span { color: var(--teal-dark); font: 800 .76rem/1 var(--font-sans); }
.validation-card--active .validation-card__top > span { color: var(--acid); }
.validation-card__top b { padding: 7px 10px; border: 1px solid var(--line); border-radius: 999px; color: #5a6673; font-size: .66rem; letter-spacing: .06em; text-transform: uppercase; }
.validation-card--done .validation-card__top b { color: var(--teal-dark); border-color: rgba(30,61,138,.25); background: rgba(47,107,255,.08); }
.validation-card--active .validation-card__top b { color: var(--acid); border-color: rgba(255,184,77,.3); }
.validation-card h3 { margin: 0 0 14px; font: 800 1.55rem/1.16 var(--font-sans); letter-spacing: -.028em; transition: transform .35s var(--ease); }
.validation-card p { min-height: 68px; margin: 0 0 25px; color: #56615e; font-size: .92rem; line-height: 1.65; }
.validation-card--active p { color: rgba(255,255,255,.78); }
.validation-card ul { display: grid; gap: 9px; margin: 0; padding: 0; color: #364250; font-size: .82rem; line-height: 1.45; list-style: none; }
.validation-card--active ul { color: rgba(255,255,255,.82); }
.validation-card li { display: flex; gap: 8px; align-items: center; }
.validation-card li::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--teal); }
.validation-meter { display: grid; grid-template-columns: auto minmax(200px, 1fr) auto; gap: 28px; align-items: center; margin-top: 22px; padding: 22px 25px; border: 1px solid var(--line); border-radius: 16px; }
.validation-meter__copy { display: grid; gap: 2px; }
.validation-meter__copy strong { font-size: .86rem; }
.validation-meter__copy span { color: #5d6875; font-size: .74rem; }
.validation-meter__track { height: 7px; border-radius: 999px; background: var(--paper-2); overflow: hidden; }
.validation-meter__track i { display: block; width: 100%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--teal-dark), var(--teal), var(--acid)); transform: scaleX(0); transform-origin: left; }
.validation-meter.is-visible .validation-meter__track i { animation: progress-fill 1.15s var(--ease) .3s forwards; }
.validation-meter > a { color: var(--teal-dark); font-size: .8rem; font-weight: 800; text-decoration: none; }

.filament-collection {
  position: relative;
  background: #f3f4f1;
  overflow: hidden;
}
.filament-collection::before {
  display: none;
}
.filament-collection .shell { position: relative; z-index: 1; width: min(1280px, calc(100vw - 48px)); }
.filament-collection__toolbar {
  display: none;
}
.filament-collection__toolbar strong { color: var(--ink); font-size: .82rem; }
.filament-collection__toolbar span { font-size: .72rem; }
.filament-collection__toolbar a {
  margin-left: auto;
  color: var(--teal-dark);
  font-size: .74rem;
  font-weight: 800;
  text-decoration: none;
}
.filament-collection__toolbar i { margin-left: 6px; font-style: normal; transition: transform .25s var(--ease); }
.filament-collection__toolbar a:hover i { transform: translateX(4px); }
.filament-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; align-items: start; }
.filament-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  background: transparent;
  border: 0;
  box-shadow: none;
  overflow: visible;
  transition: none;
}
.filament-card--featured { border-top: 0; }
.filament-card:hover {
  transform: none;
  border-color: transparent;
  box-shadow: none;
}
.filament-card__visual {
  position: relative;
  aspect-ratio: 1;
  display: block;
  color: var(--ink);
  background: #f3f4f1;
  border: 0;
  overflow: hidden;
  text-decoration: none;
}
.filament-card__visual::before {
  content: "1,75 mm";
  position: absolute;
  z-index: 5;
  top: 15px;
  left: 16px;
  color: #333;
  font-size: .68rem;
  font-weight: 650;
  letter-spacing: .02em;
}
.filament-card__render {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: grid;
  place-items: center;
  isolation: isolate;
  transition: transform .72s var(--ease);
}
.filament-card__model {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: none;
  opacity: 1;
  transition: opacity .18s ease;
}
.filament-card__model.is-loading { opacity: .2; }
.filament-card:hover .filament-card__render { transform: scale(1.018); }
.filament-card__render.is-changing { animation: filament-color-change .34s var(--ease); }
.filament-card__badge,
.filament-card__sample {
  position: absolute;
  z-index: 2;
  padding: 8px 10px;
  font-size: .61rem;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: .075em;
  text-transform: uppercase;
}
.filament-card__badge {
  top: 13px;
  right: 13px;
  left: auto;
  padding: 6px 9px;
  color: #555;
  background: rgba(255,255,255,.94);
  border: 0;
  font-size: .68rem;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}
.filament-card--featured .filament-card__badge { color: #555; background: rgba(255,255,255,.94); }
.filament-card__sample { display: none; }
.filament-card__sample strong { font-weight: 850; }
.filament-card__body { flex: 1; padding: 24px 0 0; display: flex; flex-direction: column; }
.filament-card__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }
.filament-card__heading p { display: none; }
.filament-card__heading h3 { margin: 0; font: 500 1.02rem/1.3 var(--font-sans); letter-spacing: -.025em; }
.filament-card__heading h3 a { color: var(--ink); text-decoration: none; }
.filament-card__heading h3 a:hover { text-decoration: underline; text-underline-offset: 4px; }
.filament-card__heading > span { display: none; }
.filament-card__description { display: none; }
.filament-card__colors { order: 3; margin-top: 21px; padding: 0; border: 0; }
.filament-card__colors > span {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.filament-card__colors > span strong { color: var(--ink); font: inherit; }
.filament-swatches { min-height: 28px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.filament-swatch {
  --swatch: #fff;
  width: 27px;
  height: 27px;
  margin: 0;
  padding: 1px;
  display: grid;
  place-items: center;
  appearance: none;
  color: inherit;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 50%;
  cursor: pointer;
  transition: transform .2s var(--ease), border-color .2s, background-color .2s, box-shadow .2s;
}
.filament-swatch i {
  display: block;
  width: 23px;
  height: 23px;
  border: 1px solid rgba(17,24,32,.12);
  border-radius: 50%;
  background: var(--swatch);
  box-shadow: none;
  pointer-events: none;
}
.filament-swatch i.filament-swatch--natural {
  background: linear-gradient(135deg, #f6fafc 5%, #c9d7e2 45%, #f7fbff 72%, #a9bbc8);
}
.filament-swatch:hover { transform: scale(1.08); border-color: transparent; }
.filament-swatch.is-selected {
  border-color: #111;
  background: transparent;
  box-shadow: 0 0 0 1px #111;
}
.filament-swatch:focus-visible { outline: 3px solid rgba(47,107,255,.38); outline-offset: 2px; }
.filament-swatch b {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.filament-card__footer { order: 2; margin-top: 9px; padding: 0; display: block; }
.filament-card__price { min-height: 25px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 3px; }
.filament-card__price > span { color: #e60012; font-size: .9rem; font-weight: 500; letter-spacing: 0; text-transform: none; }
.filament-card__price strong { color: #e60012; font: 650 1.08rem/1.25 var(--font-sans); letter-spacing: -.025em; }
.filament-card__price small { color: #7c7c7c; font-size: .72rem; }
.filament-card__price--quote > span,
.filament-card__price--quote strong { color: var(--ink); }
.filament-card__cta { display: none; }
.filament-card--featured .filament-card__cta { color: var(--ink); background: var(--acid); border-color: var(--acid); }
.filament-card__cta span { font-size: 1rem; transition: transform .25s var(--ease); }
.filament-card__cta:hover span { transform: translateX(4px); }
.filament-card:not(.filament-card--featured) .filament-card__cta:hover { background: var(--teal-dark); border-color: var(--teal-dark); }
.filament-collection__note { max-width: 920px; margin: 38px 0 0; color: #777; font-size: .67rem; line-height: 1.55; }
.filament-collection__note strong { color: var(--ink); }

.use-cases { background: var(--paper); }
.use-grid { display: grid; grid-template-columns: 1.4fr .8fr; gap: 18px; }
.use-card { --card-glow: 0; --pointer-x: 50%; --pointer-y: 50%; position: relative; min-height: 310px; padding: 30px; display: flex; flex-direction: column; justify-content: flex-end; border: 1px solid var(--line); border-radius: var(--radius); background-color: var(--white); background-image: radial-gradient(520px circle at var(--pointer-x) var(--pointer-y), rgba(47,107,255,var(--card-glow)), transparent 45%); overflow: hidden; transition: transform .42s var(--ease), box-shadow .42s var(--ease), border-color .3s; }
.use-card--large { grid-row: span 2; min-height: 638px; color: var(--white); background-color: var(--ink); background-image: radial-gradient(580px circle at var(--pointer-x) var(--pointer-y), rgba(255,184,77,var(--card-glow)), transparent 45%); }
.use-card--teal { color: var(--white); background-color: var(--teal-dark); background-image: radial-gradient(480px circle at var(--pointer-x) var(--pointer-y), rgba(255,184,77,var(--card-glow)), transparent 45%); }
.use-card__num { position: absolute; top: 24px; left: 27px; color: var(--teal); font: 800 .74rem/1 var(--font-sans); }
.use-card--teal .use-card__num { color: var(--acid); }
.use-card h3 { margin: 0 0 10px; font: 800 clamp(1.45rem, 2.5vw, 2.25rem)/1.12 var(--font-sans); letter-spacing: -.03em; transition: transform .35s var(--ease); }
.use-card p { max-width: 490px; margin: 0; color: #56615e; font-size: .92rem; line-height: 1.65; }
.use-card--large p, .use-card--teal p { color: rgba(255,255,255,.79); }
.spool-graphic { position: absolute; top: 72px; left: 50%; width: 310px; aspect-ratio: 1; transform: translateX(-50%) rotate(-13deg); border: 56px solid #273241; border-radius: 50%; box-shadow: inset 0 0 0 3px rgba(255,255,255,.08), 0 35px 55px rgba(0,0,0,.35); animation: spool-turn 24s linear infinite; animation-play-state: paused; }
.use-cases.is-motion-active .spool-graphic { animation-play-state: running; }
.spool-graphic::before { content: ""; position: absolute; inset: -42px; border: 2px solid rgba(255,255,255,.11); border-radius: 50%; box-shadow: inset 0 0 0 12px #151e2b, inset 0 0 0 15px rgba(255,255,255,.05); }
.spool-graphic::after { content: ""; position: absolute; inset: 26px; border: 18px solid var(--paper-2); border-radius: 50%; box-shadow: 0 0 0 3px rgba(0,0,0,.35), inset 0 0 0 7px #111820; }
.spool-graphic i { position: absolute; z-index: 2; left: 50%; top: 50%; width: 44%; height: 9px; background: #323e4c; transform-origin: left center; }
.spool-graphic i:first-child { transform: rotate(36deg); }
.spool-graphic i:nth-child(2) { transform: rotate(144deg); }
.spool-graphic b { position: absolute; z-index: 3; inset: 43%; border-radius: 50%; background: var(--ink); box-shadow: 0 0 0 10px #3b4858; }

.pricing { color: var(--white); background: var(--ink); }
.pricing .section-heading--split > p { color: rgba(255,255,255,.78); }
.price-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; align-items: stretch; }
.price-card { --card-glow: 0; --pointer-x: 50%; --pointer-y: 50%; position: relative; min-height: 445px; padding: 28px; display: flex; flex-direction: column; color: var(--ink); background-color: var(--paper); background-image: radial-gradient(500px circle at var(--pointer-x) var(--pointer-y), rgba(47,107,255,var(--card-glow)), transparent 45%); border-radius: var(--radius); transition: transform .42s var(--ease), box-shadow .42s var(--ease); }
.price-card--featured { color: var(--white); background-color: var(--teal-dark); background-image: radial-gradient(520px circle at var(--pointer-x) var(--pointer-y), rgba(255,184,77,var(--card-glow)), transparent 45%); transform: translateY(-12px); box-shadow: 0 30px 60px rgba(0,0,0,.25); }
.price-card__tag { position: absolute; top: -14px; left: 50%; margin: 0; padding: 8px 13px; border-radius: 999px; color: var(--ink); background: var(--acid); transform: translateX(-50%); font-size: .66rem; font-weight: 800; line-height: 1.25; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; animation: featured-tag 3.6s ease-in-out infinite; animation-play-state: paused; }
.pricing.is-motion-active .price-card__tag { animation-play-state: running; }
.price-card__name { margin: 0 0 28px; color: var(--teal-dark); font-size: .74rem; font-weight: 800; line-height: 1.35; letter-spacing: .09em; text-transform: uppercase; }
.price-card--featured .price-card__name { color: var(--acid); }
.price-card__amount { display: flex; align-items: flex-start; }
.price-card__amount strong { font: 800 clamp(3.8rem, 5.2vw, 5.75rem)/.95 var(--font-sans); letter-spacing: -.06em; }
.price-card__amount span { margin: 4px 0 0 6px; color: var(--teal-dark); font: 800 1.4rem/1 var(--font-sans); }
.price-card--featured .price-card__amount span { color: var(--acid); }
.price-card__unit { margin: 8px 0 25px; color: #5c6875; font-size: .81rem; }
.price-card--featured .price-card__unit { color: rgba(255,255,255,.82); }
.price-card ul { display: grid; gap: 11px; margin: 0 0 28px; padding: 0; color: #364250; font-size: .82rem; line-height: 1.45; list-style: none; }
.price-card--featured ul { color: rgba(255,255,255,.86); }
.price-card li { display: flex; gap: 8px; }
.price-card li::before { content: "✓"; color: var(--teal-dark); font-weight: 800; }
.price-card--featured li::before { color: var(--acid); }
.price-card .button { margin-top: auto; }
.price-card--featured .button--signal { color: var(--ink); background: var(--acid); box-shadow: none; }
.price-card.is-selected { box-shadow: inset 0 0 0 3px var(--teal), 0 28px 64px rgba(0,0,0,.22); }
.price-card--featured.is-selected { box-shadow: inset 0 0 0 3px var(--acid), 0 34px 72px rgba(0,0,0,.3); }
.price-card.is-selection-pulse { animation: selection-pop .58s var(--ease); }
.configure-pack-button i { font-style: normal; transition: transform .28s var(--ease); }
.configure-pack-button:hover i { transform: translateY(4px); }
.stripe-status { margin: -26px 0 34px; padding: 16px 18px; display: grid; grid-template-columns: auto 1fr auto; gap: 13px; align-items: center; border: 1px solid rgba(255,255,255,.18); border-radius: 16px; color: rgba(255,255,255,.8); background: rgba(255,255,255,.055); }
.stripe-status__dot { width: 10px; height: 10px; border-radius: 50%; background: #9aa3ad; box-shadow: 0 0 0 5px rgba(156,165,162,.1); animation: stripe-pulse 2.2s ease-out infinite; }
.stripe-status > span:nth-child(2) { display: grid; gap: 3px; }
.stripe-status strong { color: var(--white); font: 800 .88rem/1.3 var(--font-sans); }
.stripe-status small { color: inherit; font-size: .76rem; line-height: 1.5; }
.stripe-status__brand { color: var(--white); font: 800 1.05rem/1 "Inter", sans-serif; letter-spacing: -.05em; }
.stripe-status[data-state="test"] { border-color: rgba(255,184,77,.35); background: rgba(255,184,77,.07); }
.stripe-status[data-state="test"] .stripe-status__dot { background: var(--acid); box-shadow: 0 0 0 5px rgba(255,184,77,.12); }
.stripe-status[data-state="live"] { border-color: rgba(68,140,255,.4); background: rgba(68,140,255,.08); }
.stripe-status[data-state="live"] .stripe-status__dot { background: #448cff; box-shadow: 0 0 0 5px rgba(68,140,255,.12); }
.stripe-status[data-state="locked"] .stripe-status__dot, .stripe-status[data-state="offline"] .stripe-status__dot { background: var(--signal); box-shadow: 0 0 0 5px rgba(226,59,47,.12); }
.noscript-notice { margin: -17px 0 30px; padding: 15px 17px; border: 1px solid rgba(255,184,77,.35); border-radius: 13px; color: rgba(255,255,255,.86); background: rgba(255,184,77,.07); font-size: .82rem; line-height: 1.6; }
.noscript-notice a { color: var(--acid); font-weight: 800; text-underline-offset: 3px; }
.purchase-assurance { margin: -12px 0 34px; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid rgba(255,255,255,.13); border-radius: 16px; overflow: hidden; background: rgba(255,255,255,.025); list-style: none; }
.purchase-assurance > li { position: relative; min-height: 112px; padding: 20px 18px; display: grid; align-content: center; gap: 5px; border-right: 1px solid rgba(255,255,255,.12); }
.purchase-assurance > li:last-child { border-right: 0; }
.purchase-assurance > li > span { position: absolute; top: 10px; right: 12px; color: rgba(255,255,255,.52); font: 800 .58rem/1 var(--font-sans); }
.purchase-assurance strong { color: var(--white); font: 800 .83rem/1.35 var(--font-sans); }
.purchase-assurance small { color: rgba(255,255,255,.7); font-size: .72rem; line-height: 1.5; }
.checkout-result { margin: -20px 0 28px; padding: 14px 16px; border: 1px solid rgba(226,59,47,.35); border-radius: 12px; color: #ffd9d4; background: rgba(226,59,47,.09); font-size: .82rem; line-height: 1.55; }
.pricing-notes { max-width: 1020px; margin: 26px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 32px; color: rgba(255,255,255,.74); font-size: .78rem; line-height: 1.6; list-style: none; }
.pricing-notes li { position: relative; padding-left: 16px; }
.pricing-notes li::before { content: ""; position: absolute; left: 0; top: .68em; width: 5px; height: 5px; border-radius: 50%; background: var(--teal); }

.pack-comparison { margin-top: 30px; overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: 20px; background: rgba(255,255,255,.035); }
.pack-comparison__heading { padding: 20px 22px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border-bottom: 1px solid rgba(255,255,255,.12); }
.pack-comparison__heading span { color: var(--acid); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.pack-comparison__heading strong { color: rgba(255,255,255,.82); font-size: .78rem; line-height: 1.5; text-align: right; }
.pack-comparison__scroll { overflow-x: auto; }
.pack-comparison table { width: 100%; min-width: 720px; border-collapse: collapse; color: rgba(255,255,255,.82); font-size: .75rem; }
.pack-comparison th, .pack-comparison td { padding: 14px 18px; border-bottom: 1px solid rgba(255,255,255,.09); text-align: left; }
.pack-comparison thead th { color: rgba(255,255,255,.56); font-size: .62rem; letter-spacing: .055em; text-transform: uppercase; }
.pack-comparison tbody th { color: var(--white); font-size: .78rem; }
.pack-comparison tbody tr:last-child > * { border-bottom: 0; }
.pack-comparison tbody .is-best { background: rgba(47,107,255,.11); }
.pack-comparison tbody .is-best td:last-child { color: var(--acid); font-weight: 800; }

.purchase-configurator { margin-top: 54px; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(310px, .65fr); gap: 18px; align-items: start; }
.configurator__main { padding: clamp(26px, 4vw, 44px); border: 1px solid rgba(255,255,255,.13); border-radius: 27px; background: #151e2b; }
.configurator__header { padding-bottom: 32px; }
.configurator__header > p { margin: 0 0 12px; color: var(--acid); font-size: .72rem; font-weight: 800; line-height: 1.35; letter-spacing: .09em; text-transform: uppercase; }
.configurator__header h3 { max-width: 690px; margin: 0; font: 800 clamp(1.65rem, 3vw, 2.55rem)/1.16 var(--font-sans); letter-spacing: -.03em; }
.configurator__header > span { display: block; margin-top: 13px; color: rgba(255,255,255,.76); font-size: .82rem; line-height: 1.55; }
.configurator__section { margin: 0; padding: 28px 0; border: 0; border-top: 1px solid rgba(255,255,255,.12); }
.configurator__section:last-child { padding-bottom: 0; }
.configurator__section legend { width: 100%; padding: 0 0 16px; display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,.9); font: 800 .84rem/1.3 var(--font-sans); }
.configurator__section legend span { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 50%; color: var(--ink); background: var(--acid); font: 800 .55rem/1 "Inter", sans-serif; }
.configurator__materials,
.configurator__packs { display: grid; gap: 9px; }
.configurator__materials { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.configurator__packs { grid-template-columns: repeat(3, 1fr); }
.configurator__materials label,
.configurator__packs label { position: relative; cursor: pointer; }
.configurator__materials input,
.configurator__packs input { position: absolute; opacity: 0; pointer-events: none; }
.configurator__materials label > span,
.configurator__packs label > span { min-height: 78px; padding: 14px; display: grid; align-content: center; gap: 6px; border: 1px solid rgba(255,255,255,.14); border-radius: 13px; background: rgba(255,255,255,.025); transition: border-color .2s, background-color .2s, transform .25s var(--ease); }
.configurator__materials strong,
.configurator__packs strong { color: var(--white); font: 800 .9rem/1.25 var(--font-sans); }
.configurator__materials small,
.configurator__packs small { color: rgba(255,255,255,.72); font-size: .72rem; line-height: 1.4; }
.configurator__materials input:checked + span,
.configurator__packs input:checked + span { border-color: var(--teal); background: rgba(47,107,255,.15); box-shadow: inset 0 0 0 1px rgba(47,107,255,.3); }
.configurator__materials input:focus-visible + span,
.configurator__packs input:focus-visible + span { outline: 3px solid rgba(255,184,77,.35); outline-offset: 3px; }
.configurator__materials label:hover > span,
.configurator__packs label:hover > span { transform: translateY(-2px); border-color: rgba(47,107,255,.55); }

.configurator__section legend small {
  margin-left: auto;
  color: rgba(255,255,255,.58);
  font-size: .64rem;
  font-weight: 750;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.configurator__color-help {
  max-width: 720px;
  margin: -6px 0 15px;
  color: rgba(255,255,255,.58);
  font-size: .69rem;
  line-height: 1.5;
}

.color-allocator { display: grid; gap: 8px; }
.color-allocation { min-height: 58px; padding: 9px 10px 9px 14px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border: 1px solid rgba(255,255,255,.11); border-radius: 13px; background: rgba(255,255,255,.022); }
.color-allocation.is-updated { animation: color-row-update .42s var(--ease); }
.color-allocation__identity { display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,.86); font-size: .8rem; font-weight: 700; }
.color-allocation__identity > span { display: grid; gap: 3px; }
.color-availability { color: rgba(255,255,255,.55); font-size: .61rem; font-weight: 650; line-height: 1.3; }
.color-availability[data-state="available"] { color: #7ca8ff; }
.color-availability[data-state="limited"] { color: var(--acid); }
.color-availability[data-state="unavailable"] { color: #ff9b91; }
.color-dot { width: 15px; height: 15px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; box-shadow: 0 0 0 4px rgba(255,255,255,.035); }
.color-dot--black { background: #080c12; }
.color-dot--white { background: #fff; }
.color-dot--grey { background: #8a929b; }
.color-dot--natural { background: linear-gradient(135deg, #fff, rgba(47,107,255,.35)); }
.color-dot--silver { background: linear-gradient(135deg, #f7f9fa, #8e9a9d); }
.quantity-stepper { display: grid; grid-template-columns: 34px 44px 34px; align-items: center; overflow: hidden; border: 1px solid rgba(255,255,255,.16); border-radius: 10px; background: #0d1420; }
.quantity-stepper button { width: 34px; height: 36px; border: 0; color: var(--white); background: transparent; font-size: 1rem; cursor: pointer; transition: color .2s, background-color .2s; }
.quantity-stepper button:hover { color: var(--acid); background: rgba(255,184,77,.07); }
.quantity-stepper button:focus-visible { position: relative; z-index: 2; outline: 2px solid var(--acid); outline-offset: -2px; }
.quantity-stepper input { width: 44px; height: 36px; padding: 0; border: 0; border-inline: 1px solid rgba(255,255,255,.12); outline: 0; color: var(--white); background: rgba(255,255,255,.03); font: 800 .78rem/1 var(--font-sans); text-align: center; appearance: textfield; }
.quantity-stepper input::-webkit-inner-spin-button, .quantity-stepper input::-webkit-outer-spin-button { margin: 0; appearance: none; }
.quantity-stepper input:focus { background: rgba(47,107,255,.16); }
.allocation-status { margin: 12px 0 0; color: var(--acid); font-size: .76rem; line-height: 1.5; }
.allocation-status[data-state="invalid"] { color: #ff9b91; }

.delivery-options { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.delivery-option { min-height: 78px; padding: 14px; display: flex; align-items: center; gap: 10px; border: 1px solid rgba(255,255,255,.14); border-radius: 13px; color: inherit; background: rgba(255,255,255,.025); text-align: left; }
label.delivery-option { position: relative; cursor: pointer; }
.delivery-option input { position: absolute; opacity: 0; }
.delivery-option > span { display: grid; gap: 6px; }
.delivery-option strong { color: var(--white); font: 800 .82rem/1.3 var(--font-sans); }
.delivery-option small { color: rgba(255,255,255,.72); font-size: .7rem; line-height: 1.45; }
label.delivery-option:has(input:checked) { border-color: var(--teal); background: rgba(47,107,255,.14); box-shadow: inset 0 0 0 1px rgba(47,107,255,.25); }
.delivery-option input:focus-visible + span { outline: 3px solid rgba(255,184,77,.35); outline-offset: 5px; border-radius: 6px; }
button.delivery-option { justify-content: space-between; cursor: pointer; transition: border-color .2s, background-color .2s; }
button.delivery-option:hover { border-color: rgba(255,184,77,.5); background: rgba(255,184,77,.06); }
button.delivery-option > i { color: var(--acid); font-style: normal; }

.configurator-summary { position: sticky; top: 112px; padding: 28px; border-radius: 27px; color: var(--ink); background: var(--paper); box-shadow: 0 34px 80px rgba(0,0,0,.25); }
.configurator-summary__top { display: flex; justify-content: space-between; align-items: center; color: var(--teal-dark); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.configurator-summary__top i { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 10px; color: var(--acid); background: var(--ink); font: 800 .66rem/1 var(--font-sans); }
.configurator-summary > h3 { margin: 25px 0 22px; font: 800 1.55rem/1.15 var(--font-sans); letter-spacing: -.025em; }
.configuration-preview { margin: 0 0 22px; padding: 16px; display: grid; grid-template-columns: 74px 1fr; align-items: center; gap: 16px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.configuration-preview__spool { position: relative; width: 74px; aspect-ratio: 1; padding: 10px; border: 8px solid var(--ink); border-radius: 50%; background: #d9dee5; box-shadow: inset 0 0 0 2px rgba(255,255,255,.35), 0 9px 20px rgba(3,15,13,.14); }
.configuration-preview__segments { width: 100%; height: 100%; display: flex; overflow: hidden; border-radius: 50%; transform: rotate(-28deg); }
.configuration-preview__segments i { min-width: 3px; height: 100%; display: block; }
.configuration-preview__spool > span { position: absolute; inset: 50% auto auto 50%; width: 23px; aspect-ratio: 1; border: 6px solid var(--ink); border-radius: 50%; background: var(--paper); transform: translate(-50%, -50%); }
.configuration-preview p { margin: 0; color: #5f6976; font-size: .72rem; font-weight: 700; line-height: 1.45; }
.configurator-summary dl { margin: 0; border-top: 1px solid var(--line); }
.configurator-summary dl div { padding: 13px 0; display: grid; grid-template-columns: 78px 1fr; gap: 12px; border-bottom: 1px solid var(--line); }
.configurator-summary dt { color: #5f6976; font-size: .72rem; }
.configurator-summary dd { margin: 0; font-size: .76rem; font-weight: 700; line-height: 1.45; text-align: right; }
.configurator-summary .is-updated { animation: summary-value-update .48s var(--ease); }
.configurator-total { padding: 24px 0 20px; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 5px 12px; }
.configurator-total > span { color: #5f6976; font-size: .75rem; }
.configurator-total strong { grid-row: span 2; font: 800 2rem/1 var(--font-sans); letter-spacing: -.04em; }
.configurator-total small { color: var(--teal-dark); font-size: .68rem; }
.configurator-delivery-note { margin: 0 0 18px; padding: 15px; display: grid; gap: 4px; border: 1px solid rgba(30,61,138,.18); border-radius: 14px; background: rgba(47,107,255,.065); }
.configurator-delivery-note > span { color: var(--teal-dark); font-size: .6rem; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }
.configurator-delivery-note > strong { font: 800 .78rem/1.4 var(--font-sans); }
.configurator-delivery-note > small { color: #606b78; font-size: .66rem; line-height: 1.5; }
.configurator-delivery-note button { width: fit-content; margin-top: 5px; padding: 0; display: inline-flex; align-items: center; gap: 6px; border: 0; color: var(--teal-dark); background: transparent; font-size: .66rem; font-weight: 800; cursor: pointer; }
.configurator-delivery-note button i { font-style: normal; }
.configurator-delivery-note button:hover { text-decoration: underline; }
.configurator-summary .checkout-button { justify-content: space-between; }
.configurator-security { margin: 13px 0 0; display: flex; gap: 7px; color: #63707d; font-size: .68rem; line-height: 1.5; }
.configurator-security > span:first-child { color: var(--teal-dark); font-weight: 800; }
.configurator-human { margin-top: 10px; display: block; color: var(--teal-dark); font-size: .66rem; font-weight: 800; text-align: center; }
.configurator-summary .checkout-result { margin: 15px 0 0; color: #8d241c; background: #ffe4df; }

@media (hover: hover) and (pointer: fine) {
  .validation-card:hover { --card-glow: .13; }
  .validation-card:hover h3 { transform: translateX(5px); }
  .use-card:hover { --card-glow: .14; transform: translateY(-7px); border-color: rgba(47,107,255,.35); box-shadow: 0 24px 54px rgba(3,15,13,.14); }
  .use-card:hover h3 { transform: translateX(5px); }
  .price-card:hover { --card-glow: .14; transform: translateY(-8px); box-shadow: 0 26px 58px rgba(0,0,0,.2); }
  .price-card--featured:hover { transform: translateY(-20px); box-shadow: 0 38px 75px rgba(0,0,0,.34); }
}

.technical { overflow: clip; background: var(--white); }
.technical-disclosure {
  border: 1px solid var(--line);
  background: #f8f7f2;
  box-shadow: 0 20px 55px rgba(3,15,13,.07);
}
.technical-disclosure__summary {
  min-height: 126px;
  padding: 25px 28px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  list-style: none;
  cursor: pointer;
  transition: background-color .25s var(--ease), color .25s var(--ease);
}
.technical-disclosure__summary::-webkit-details-marker { display: none; }
.technical-disclosure__summary::marker { content: ""; }
.technical-disclosure__summary:hover { background: #fff; }
.technical-disclosure__summary:focus-visible { outline: 3px solid rgba(47,107,255,.35); outline-offset: 4px; }
.technical-disclosure__kicker {
  padding: 8px 10px;
  color: var(--white);
  background: var(--teal-dark);
  font-size: .66rem;
  font-weight: 850;
  line-height: 1;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.technical-disclosure__title { min-width: 0; display: grid; gap: 5px; }
.technical-disclosure__title strong { font: 800 clamp(1.25rem, 2.2vw, 1.85rem)/1.2 var(--font-sans); letter-spacing: -.03em; }
.technical-disclosure__title small { color: #626e7b; font-size: .78rem; line-height: 1.5; }
.technical-disclosure__action { display: flex; align-items: center; gap: 14px; color: var(--teal-dark); }
.technical-disclosure__action b { font-size: .75rem; white-space: nowrap; }
.technical-disclosure__hide { display: none; }
.technical-disclosure__action i {
  position: relative;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border: 1px solid rgba(30,61,138,.35);
  border-radius: 50%;
  background: #fff;
  transition: transform .35s var(--ease), background-color .25s;
}
.technical-disclosure__action i::before,
.technical-disclosure__action i::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 15px;
  height: 2px;
  background: currentColor;
  transform: translate(-50%, -50%);
  transition: transform .35s var(--ease);
}
.technical-disclosure__action i::after { transform: translate(-50%, -50%) rotate(90deg); }
.technical-disclosure[open] { background: var(--white); }
.technical-disclosure[open] .technical-disclosure__summary { border-bottom: 1px solid var(--line); background: var(--ink); color: var(--white); }
.technical-disclosure[open] .technical-disclosure__title small { color: rgba(255,255,255,.7); }
.technical-disclosure[open] .technical-disclosure__action { color: var(--acid); }
.technical-disclosure[open] .technical-disclosure__show { display: none; }
.technical-disclosure[open] .technical-disclosure__hide { display: block; }
.technical-disclosure[open] .technical-disclosure__action i { border-color: rgba(255,184,77,.45); background: rgba(255,184,77,.08); transform: rotate(180deg); }
.technical-disclosure[open] .technical-disclosure__action i::after { transform: translate(-50%, -50%) rotate(0deg); }
.technical-disclosure__body { padding: clamp(55px, 7vw, 88px) 28px 34px; animation: technical-disclosure-in .42s var(--ease) both; }
.technical__grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(60px, 9vw, 140px); align-items: center; }
.technical__intro > p:not(.eyebrow) { max-width: 540px; margin: 25px 0 0; color: #56616f; font-size: 1rem; line-height: 1.72; }
.technical__source { max-width: 540px; margin-top: 25px; padding: 15px 17px; display: grid; gap: 5px; border-left: 3px solid var(--teal); color: #56616f; background: rgba(47,107,255,.055); font-size: .76rem; line-height: 1.5; }
.technical__source strong { color: var(--ink); font-size: .72rem; text-transform: uppercase; letter-spacing: .045em; }
.color-row { display: flex; flex-wrap: wrap; gap: 9px; margin: 35px 0 0; padding: 0; list-style: none; }
.color-chip { display: inline-flex; align-items: center; gap: 8px; padding: 9px 12px; border: 1px solid var(--line); border-radius: 999px; font-size: .76rem; font-weight: 700; }
.color-chip i { width: 12px; height: 12px; border: 1px solid rgba(0,0,0,.2); border-radius: 50%; }
.color-chip--black i { background: #111; }
.color-chip--white i { background: #fff; }
.color-chip--grey i { background: #8e969f; }
.color-chip--clear i { background: linear-gradient(135deg, rgba(255,255,255,.9), rgba(47,107,255,.18)); }
.technical__actions { margin-top: 28px; display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.text-link--dark { color: var(--ink); }
.technical__data { min-width: 0; }
.technical__group-label { margin: 0 0 10px; color: var(--teal-dark); font-size: .66rem; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }
.technical__group-label--pending { margin-top: 32px; color: #6d7783; }
.technical__list { margin: 0; border-top: 1px solid var(--line); }
.technical__list div { display: grid; grid-template-columns: 1fr auto; gap: 25px; padding: 20px 0; border-bottom: 1px solid var(--line); align-items: baseline; transition: padding .3s var(--ease), background-color .3s; }
.technical__list div:hover { padding-inline: 12px; background: rgba(47,107,255,.045); }
.technical__list dt { color: #56616f; font-size: .83rem; }
.technical__list dd { margin: 0; font: 800 1.08rem/1.2 var(--font-sans); letter-spacing: -.025em; text-align: right; }
.technical__list.is-visible div { animation: technical-row-in .58s var(--ease) both; }
.technical__list.is-visible div:nth-child(2) { animation-delay: .05s; }
.technical__list.is-visible div:nth-child(3) { animation-delay: .1s; }
.technical__list.is-visible div:nth-child(4) { animation-delay: .15s; }
.technical__list.is-visible div:nth-child(5) { animation-delay: .2s; }
.technical__list.is-visible div:nth-child(6) { animation-delay: .25s; }
.technical__list.is-visible div:nth-child(7) { animation-delay: .3s; }
.technical__list.is-visible div:nth-child(8) { animation-delay: .35s; }
.technical__list--pending dd { max-width: 240px; color: #596572; font-size: .88rem; }
.profile-downloads { margin-top: clamp(58px, 8vw, 105px); padding-top: 38px; display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(35px, 7vw, 90px); border-top: 1px solid var(--line); }
.profile-downloads__heading > span { color: var(--teal-dark); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.profile-downloads__heading p { margin: 13px 0 0; color: #596572; font-size: .82rem; line-height: 1.65; }
.profile-downloads__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.profile-downloads__grid a { min-height: 145px; padding: 18px; display: grid; align-content: space-between; gap: 8px; border: 1px solid var(--line); border-radius: 15px; color: var(--ink); background: #fff; text-decoration: none; transition: transform .3s var(--ease), border-color .2s, box-shadow .3s; }
.profile-downloads__grid a:hover { transform: translateY(-4px); border-color: rgba(30,61,138,.38); box-shadow: 0 18px 40px rgba(3,15,13,.09); }
.profile-downloads__grid strong { font: 800 .88rem/1.3 var(--font-sans); }
.profile-downloads__grid span { color: #69737f; font-size: .7rem; line-height: 1.4; }
.profile-downloads__grid i { color: var(--teal-dark); font-style: normal; font-size: 1rem; }

.product-proof { background: var(--white); }
.proof-gallery { display: grid; grid-template-columns: 1.25fr 1fr 1fr; gap: 14px; }
.proof-shot { min-width: 0; margin: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 0; background: var(--paper); box-shadow: 0 18px 42px rgba(3,15,13,.07); }
.proof-shot__media { aspect-ratio: 4 / 3; overflow: hidden; background: var(--ink); }
.proof-shot__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .65s var(--ease); }
.proof-shot--product .proof-shot__media img { object-position: 50% 54%; }
.proof-shot--filament .proof-shot__media img { object-position: 50% 50%; }
.proof-shot--finish .proof-shot__media img { object-position: 48% 50%; }
.proof-shot:hover .proof-shot__media img { transform: scale(1.035); }
.proof-shot figcaption { min-height: 118px; padding: 17px; display: grid; grid-template-columns: 28px 1fr; align-content: start; gap: 3px 9px; }
.proof-shot figcaption > span { grid-row: span 2; display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; color: var(--white); background: var(--teal-dark); font-size: .58rem; font-weight: 800; }
.proof-shot figcaption strong { font: 800 .86rem/1.35 var(--font-sans); }
.proof-shot figcaption small { color: #606a77; font-size: .7rem; line-height: 1.5; }
.proof-gallery-note { margin: 11px 2px 0; color: #6e7884; font-size: .64rem; line-height: 1.5; }
.proof-facts { margin-top: 18px; display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); border-radius: 18px; overflow: hidden; }
.proof-facts > div { min-height: 92px; padding: 17px; display: grid; align-content: center; gap: 5px; border-right: 1px solid var(--line); background: #f8f7f2; }
.proof-facts > div:last-child { border-right: 0; }
.proof-facts span { color: #68737f; font-size: .64rem; font-weight: 750; letter-spacing: .045em; text-transform: uppercase; }
.proof-facts strong { font: 800 1rem/1.25 var(--font-sans); letter-spacing: -.02em; }
.proof-note { margin: 11px 0 0; color: #68737f; font-size: .68rem; line-height: 1.55; }

.product-gallery { background: var(--white); }
.product-gallery__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.product-gallery__grid figure { margin: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 0; background: var(--paper); }
.product-gallery__grid img { width: 100%; aspect-ratio: 4 / 3; display: block; object-fit: cover; }
.product-gallery__grid figcaption { padding: 16px; color: #596572; font-size: .76rem; line-height: 1.55; }
.product-gallery__grid figcaption strong { display: block; margin-bottom: 4px; color: var(--ink); font-size: .82rem; }

.local-section { padding-block: 120px; color: var(--white); background: var(--teal-dark); }
.local-section__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(60px, 10vw, 150px); align-items: center; }
.local-map { position: relative; aspect-ratio: 1.18; border: 1px solid rgba(255,255,255,.28); border-radius: 0; background: #dfe5ed; overflow: hidden; }
.local-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: saturate(.82) contrast(1.04); }
.local-map__address { position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; min-height: 92px; padding: 16px 18px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 4px 22px; color: var(--white); background: rgba(17,24,32,.92); backdrop-filter: blur(12px); }
.local-map__address span { color: var(--acid); font-size: .59rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.local-map__address address { grid-column: 1; font: 800 .82rem/1.4 var(--font-sans); }
.local-map__address a { grid-column: 2; grid-row: 1 / span 2; color: var(--white); font-size: .7rem; font-weight: 800; text-decoration: none; }
.local-map__address a:hover { color: var(--acid); }
.local-map__address i { margin-left: 5px; font-style: normal; }
.local-section__copy h2 { max-width: 680px; }
.local-section__copy > p:not(.eyebrow) { max-width: 650px; margin: 25px 0 32px; color: rgba(255,255,255,.82); font-size: 1rem; line-height: 1.72; }
.local-section__copy ul { display: grid; margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.18); }
.local-section__copy li { display: flex; align-items: center; gap: 16px; padding: 17px 0; border-bottom: 1px solid rgba(255,255,255,.18); font-size: .86rem; line-height: 1.5; }
.local-section__copy li span { color: var(--acid); font: 800 .66rem/1 var(--font-sans); }

.interest { color: var(--white); background: var(--ink); }
.interest__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(55px, 10vw, 150px); align-items: start; }
.interest__copy { position: sticky; top: 120px; }
.interest__copy > p:not(.eyebrow) { margin: 28px 0 0; color: rgba(255,255,255,.8); font-size: 1rem; line-height: 1.72; }
.interest__promise { display: grid; gap: 10px; margin-top: 34px; color: var(--acid); font: 800 .84rem/1.4 var(--font-sans); }
.interest__promise span { display: flex; align-items: center; gap: 8px; }
.interest__promise span::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.interest-form { padding: clamp(25px, 4vw, 44px); border: 1px solid var(--line-light); border-radius: 27px; background: #151e2b; transition: border-color .35s, box-shadow .35s var(--ease); }
.interest-form:focus-within { border-color: rgba(47,107,255,.72); box-shadow: 0 28px 70px rgba(0,0,0,.24), 0 0 0 1px rgba(47,107,255,.12); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.interest-form > label, .form-row label { display: grid; gap: 9px; margin-bottom: 18px; color: rgba(255,255,255,.86); font-size: .8rem; font-weight: 700; }
.interest-form label > span { color: rgba(255,255,255,.86); }
.interest-form label > span:first-of-type { color: inherit; }
.interest-form label span > b, .interest-form label > span { font-weight: inherit; }
.interest-form .field-note, .interest-form .required-note { justify-self: start; margin-top: -6px; font-size: .66rem; line-height: 1.2; }
.interest-form .field-note { color: rgba(255,255,255,.58); font-weight: 600; }
.interest-form .required-note { color: var(--acid); font-weight: 800; }
.interest-form input[type="text"], .interest-form input[type="email"], .interest-form select, .interest-form textarea { width: 100%; color: var(--white); background: #0d1420; border: 1px solid rgba(255,255,255,.17); border-radius: 12px; }
.interest-form input[type="text"], .interest-form input[type="email"], .interest-form select { min-height: 51px; padding: 0 14px; }
.interest-form textarea { padding: 14px; resize: vertical; }
.interest-form select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, rgba(255,255,255,.55) 50%), linear-gradient(135deg, rgba(255,255,255,.55) 50%, transparent 50%); background-position: calc(100% - 18px) 22px, calc(100% - 13px) 22px; background-size: 5px 5px; background-repeat: no-repeat; }
.interest-form select option { color: var(--ink); background: var(--white); }
.interest-form fieldset { margin: 1px 0 19px; padding: 0; border: 0; }
.interest-form legend { margin-bottom: 10px; color: rgba(255,255,255,.86); font-size: .8rem; font-weight: 700; }
.checkbox-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.checkbox-grid label { position: relative; cursor: pointer; }
.checkbox-grid input { position: absolute; opacity: 0; }
.checkbox-grid span { min-height: 43px; display: flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid rgba(255,255,255,.16); border-radius: 10px; color: rgba(255,255,255,.82); font-size: .74rem; transition: border-color .2s, background .2s, color .2s; }
.checkbox-grid input:checked + span { color: var(--white); border-color: var(--teal); background: rgba(47,107,255,.15); }
.checkbox-grid input:focus-visible + span { outline: 3px solid rgba(47,107,255,.34); outline-offset: 3px; }
.dot { width: 10px; height: 10px; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; }
.dot--black { background: #080c12; }
.dot--white { background: #fff; }
.dot--grey { background: #8a929b; }
.dot--clear { background: linear-gradient(135deg, #fff, rgba(47,107,255,.3)); }
.consent { grid-template-columns: auto 1fr !important; align-items: flex-start; gap: 10px !important; color: rgba(255,255,255,.78) !important; font-weight: 500 !important; line-height: 1.55; cursor: pointer; }
.consent input { width: 17px; height: 17px; margin: 2px 0 0; accent-color: var(--teal); }
.consent b { color: #ff796e; }
.form-actions { margin-top: 4px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(185px, .55fr); gap: 10px; align-items: stretch; }
.button--submit { margin-top: 0; justify-content: space-between; }
.button--submit i { font-style: normal; font-size: 1rem; }
.whatsapp-link { display: inline-flex; align-items: center; justify-content: center; gap: 9px; color: var(--ink); background: #25d366; font-size: .8rem; font-weight: 800; line-height: 1.2; text-decoration: none; transition: transform .25s var(--ease), background-color .2s, box-shadow .25s; }
.whatsapp-link:hover { background: #45df7f; transform: translateY(-2px); }
.whatsapp-link:focus-visible { outline: 3px solid var(--acid); outline-offset: 3px; }
.whatsapp-link__icon { display: grid; width: 24px; height: 24px; place-items: center; }
.whatsapp-link__icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.whatsapp-link--form { min-height: 50px; padding: 0 17px; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; }
.form-note { margin: 15px 0 0; color: rgba(255,255,255,.68); font-size: .72rem; line-height: 1.55; }
.form-result { margin-top: 15px; padding: 14px; border: 1px solid rgba(255,184,77,.3); border-radius: 10px; color: var(--acid); background: rgba(255,184,77,.06); font-size: .8rem; line-height: 1.55; }
.honeypot { position: absolute !important; left: -9999px !important; }

.faq { background: var(--paper); }
.faq__grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(60px, 10vw, 145px); align-items: start; }
.faq .section-heading { position: sticky; top: 120px; margin: 0; }
.faq__list { border-top: 1px solid var(--line); }
.faq details { border-bottom: 1px solid var(--line); }
.faq summary { position: relative; padding: 24px 48px 24px 0; font: 800 1.05rem/1.45 var(--font-sans); letter-spacing: -.015em; list-style: none; cursor: pointer; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary span, .faq summary span::after { position: absolute; right: 3px; top: 50%; width: 17px; height: 2px; background: var(--teal-dark); transition: transform .25s; }
.faq summary span::after { content: ""; right: 0; top: 0; transform: rotate(90deg); }
.faq details[open] summary span::after { transform: rotate(0); }
.faq details p { max-width: 720px; margin: -4px 0 25px; color: #56616f; font-size: .94rem; line-height: 1.72; }
.faq details[open] p { animation: faq-answer-in .38s var(--ease) both; }

.commerce-legal { background: #eef1f5; }
.commerce-legal__grid { display: grid; grid-template-columns: 1.05fr .75fr 1fr; gap: clamp(28px, 6vw, 85px); align-items: start; }
.commerce-legal h2 { max-width: 620px; margin: 14px 0 0; font: 800 clamp(2rem, 4vw, 3.5rem)/1.08 var(--font-sans); letter-spacing: -.04em; }
.commerce-legal__grid > div:first-child > p:last-child { max-width: 590px; margin: 22px 0 0; color: #596572; line-height: 1.7; }
.commerce-legal__seller { padding: 23px; display: grid; gap: 9px; border: 1px solid var(--line); border-radius: 18px; background: var(--white); }
.commerce-legal__seller > span { color: #69737f; font-size: .66rem; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }
.commerce-legal__seller strong { font: 800 1.06rem/1.35 var(--font-sans); }
.commerce-legal__seller a { color: var(--teal-dark); font-size: .78rem; font-weight: 750; overflow-wrap: anywhere; }
.commerce-legal__seller small { padding-top: 11px; border-top: 1px solid var(--line); color: #69737f; font-size: .68rem; line-height: 1.5; }
.commerce-legal__links { display: grid; border-top: 1px solid var(--line); }
.commerce-legal__links a { padding: 16px 2px; display: flex; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--line); color: var(--ink); font-size: .78rem; font-weight: 800; text-decoration: none; }
.commerce-legal__links a:hover { color: var(--teal-dark); }
.consent a { color: var(--acid); text-underline-offset: 2px; }

.site-footer { color: var(--white); background: #090e15; }
.site-footer__top { min-height: 230px; display: grid; grid-template-columns: 1fr 1fr auto; gap: 40px; align-items: center; border-bottom: 1px solid var(--line-light); }
.brand--footer .brand__spool { border-color: var(--teal); }
.brand--footer .brand__spool::after, .brand--footer .brand__spool i { border-color: var(--white); background: var(--white); }
.brand--footer small { color: var(--acid); }
.site-footer__info { display: grid; gap: 18px; }
.site-footer__info > p { margin: 0; color: rgba(255,255,255,.78); font-size: .88rem; line-height: 1.65; }
.site-footer__info nav { display: flex; flex-wrap: wrap; gap: 9px 18px; }
.site-footer__info nav a { color: rgba(255,255,255,.72); font-size: .72rem; font-weight: 700; text-decoration: none; }
.site-footer__info nav a:hover, .site-footer__info nav a:focus-visible { color: var(--acid); }
.site-footer__bottom { min-height: 73px; display: flex; justify-content: space-between; align-items: center; gap: 20px; color: rgba(255,255,255,.62); font-size: .72rem; line-height: 1.45; }
.site-footer__bottom p { margin: 0; }
.mobile-cta { display: none; }
.mobile-config-summary { display: none; }

.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.petg-chat { position: fixed; z-index: 130; right: 24px; bottom: 24px; }
.petg-help { position: relative; display: flex; align-items: center; justify-content: flex-end; gap: 9px; }
.whatsapp-link--floating {
  min-height: 58px;
  padding: 7px 17px 7px 8px;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(15,54,31,.22);
  border-radius: 999px;
  color: #0b3a20;
  background: #25d366;
  box-shadow: 0 18px 50px rgba(3,15,13,.24);
  font-size: .8rem;
  font-weight: 850;
  text-decoration: none;
  transition: transform .3s var(--ease), background-color .25s, box-shadow .3s;
}
.whatsapp-link--floating:hover, .whatsapp-link--floating:focus-visible { color: #082b18; background: #39df78; transform: translateY(-3px); box-shadow: 0 24px 60px rgba(3,15,13,.3); }
.whatsapp-link--floating:focus-visible { outline: 3px solid var(--acid); outline-offset: 3px; }
.whatsapp-link__icon { display: grid; width: 42px; height: 42px; padding: 9px; place-items: center; border-radius: 50%; color: #fff; background: rgba(8,66,32,.34); }
.whatsapp-link__icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.petg-chat__toggle { --magnetic-x: 0px; --magnetic-y: 0px; position: relative; min-height: 58px; padding: 7px 17px 7px 8px; display: flex; align-items: center; gap: 10px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; color: var(--white); background: var(--teal-dark); box-shadow: 0 18px 50px rgba(3,15,13,.28); cursor: pointer; translate: var(--magnetic-x) var(--magnetic-y); transition: transform .35s var(--ease), translate .18s ease-out, background-color .3s, box-shadow .3s; will-change: transform, translate; }
.petg-chat__toggle:hover, .petg-chat__toggle:focus-visible { transform: translateY(-3px); background: var(--ink); box-shadow: 0 24px 60px rgba(3,15,13,.34); }
.petg-chat__toggle:focus-visible, .petg-chat__close:focus-visible, .petg-chat__quick button:focus-visible, .petg-chat__form button:focus-visible { outline: 3px solid var(--acid); outline-offset: 3px; }
.petg-chat__toggle-icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; color: var(--ink); background: var(--acid); }
.petg-chat__toggle-icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.petg-chat__toggle-icon circle { fill: currentColor; stroke: none; }
.petg-chat__toggle-label { font-size: .84rem; font-weight: 800; letter-spacing: -.01em; }
.petg-chat__toggle > i { position: absolute; top: 3px; right: 5px; width: 9px; height: 9px; border: 2px solid var(--teal-dark); border-radius: 50%; background: var(--signal); box-shadow: 0 0 0 3px rgba(226,59,47,.17); }
.petg-chat.has-opened .petg-chat__toggle > i { display: none; }
.petg-chat.is-open .petg-chat__toggle { background: var(--ink); }
.petg-chat.is-open .petg-chat__toggle-icon { transform: rotate(-8deg); }

.petg-chat__panel { position: absolute; right: 0; bottom: 72px; width: min(390px, calc(100vw - 32px)); height: min(610px, calc(100dvh - 125px)); min-height: 430px; display: grid; grid-template-rows: auto minmax(0, 1fr) auto auto; overflow: hidden; border: 1px solid rgba(255,255,255,.18); border-radius: 24px; color: var(--ink); background: var(--paper); box-shadow: 0 34px 100px rgba(3,15,13,.38); transform-origin: right bottom; animation: petg-chat-in .42s var(--ease) both; }
.petg-chat__panel[hidden] { display: none; }
.petg-chat__header { min-height: 76px; padding: 13px 14px; display: flex; align-items: center; gap: 11px; color: var(--white); background: var(--ink); border-bottom: 1px solid rgba(255,255,255,.1); }
.petg-chat__avatar { display: grid; flex: 0 0 43px; height: 43px; place-items: center; border: 1px solid rgba(255,184,77,.45); border-radius: 14px; color: var(--acid); background: rgba(255,184,77,.08); font: 800 .76rem/1 var(--font-sans); letter-spacing: -.015em; }
.petg-chat__identity { min-width: 0; display: grid; gap: 5px; }
.petg-chat__identity strong { font: 800 .92rem/1.2 var(--font-sans); letter-spacing: -.018em; }
.petg-chat__identity span { display: flex; align-items: center; gap: 6px; color: rgba(255,255,255,.72); font-size: .66rem; letter-spacing: .05em; text-transform: uppercase; }
.petg-chat__identity i { width: 6px; height: 6px; border-radius: 50%; background: var(--teal); box-shadow: 0 0 0 4px rgba(47,107,255,.13); }
.petg-chat__close { margin-left: auto; width: 38px; height: 38px; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; color: rgba(255,255,255,.7); background: transparent; font-size: 1.4rem; line-height: 1; cursor: pointer; transition: color .2s, border-color .2s, transform .25s var(--ease); }
.petg-chat__close:hover { color: var(--acid); border-color: rgba(255,184,77,.45); transform: rotate(6deg); }

.petg-chat__messages { min-height: 0; padding: 17px 15px 20px; display: flex; flex-direction: column; gap: 10px; overflow-y: auto; overscroll-behavior: contain; scroll-behavior: smooth; background: radial-gradient(circle at 100% 0, rgba(47,107,255,.09), transparent 38%), var(--paper); scrollbar-width: thin; scrollbar-color: rgba(16,22,21,.22) transparent; }
.petg-chat__bubble { max-width: 88%; margin: 0; padding: 11px 13px; border-radius: 15px; font-size: .84rem; line-height: 1.58; white-space: pre-wrap; overflow-wrap: anywhere; }
.petg-chat__bubble--bot { align-self: flex-start; border-bottom-left-radius: 4px; background: var(--white); box-shadow: 0 12px 30px rgba(3,15,13,.08); }
.petg-chat__bubble--user { align-self: flex-end; border-bottom-right-radius: 4px; color: var(--white); background: var(--teal-dark); }
.petg-chat__bubble--error { color: #8d241c; background: #ffe4df; }
.petg-chat__quick { display: flex; align-self: flex-start; flex-wrap: wrap; gap: 6px; }
.petg-chat__quick[hidden] { display: none; }
.petg-chat__quick button { padding: 8px 10px; border: 1px solid rgba(16,22,21,.14); border-radius: 999px; color: #364250; background: rgba(255,255,255,.8); font-size: .72rem; font-weight: 750; line-height: 1.35; cursor: pointer; transition: color .2s, border-color .2s, background-color .2s, transform .2s; }
.petg-chat__quick button:hover { color: var(--teal-dark); border-color: rgba(30,61,138,.42); background: var(--white); transform: translateY(-1px); }
.petg-chat__typing { align-self: flex-start; padding: 11px 13px; display: flex; gap: 4px; border-radius: 13px 13px 13px 4px; background: var(--white); box-shadow: 0 12px 30px rgba(3,15,13,.08); }
.petg-chat__typing[hidden] { display: none; }
.petg-chat__typing span { width: 5px; height: 5px; border-radius: 50%; background: var(--teal-dark); animation: petg-chat-dot 1.1s ease-in-out infinite; }
.petg-chat__typing span:nth-child(2) { animation-delay: .14s; }
.petg-chat__typing span:nth-child(3) { animation-delay: .28s; }

.petg-chat__form { margin: 0; padding: 10px 11px 7px; display: flex; gap: 8px; border-top: 1px solid var(--line); background: var(--white); }
.petg-chat__form input { min-width: 0; flex: 1; height: 44px; padding: 0 13px; border: 1px solid var(--line); border-radius: 12px; outline: 0; color: var(--ink); background: var(--paper); font-size: .84rem; transition: border-color .2s, box-shadow .2s, background-color .2s; }
.petg-chat__form input:focus { border-color: rgba(30,61,138,.65); background: #fff; box-shadow: 0 0 0 4px rgba(47,107,255,.09); }
.petg-chat__form input::placeholder { color: #7f8893; }
.petg-chat__form button { display: grid; flex: 0 0 44px; height: 44px; place-items: center; border: 0; border-radius: 12px; color: var(--white); background: var(--teal-dark); font-size: 1.05rem; cursor: pointer; transition: background-color .2s, transform .25s var(--ease); }
.petg-chat__form button:hover { background: var(--ink); transform: translateY(-2px); }
.petg-chat__form button:disabled { opacity: .45; cursor: wait; transform: none; }
.petg-chat__footer { min-height: 31px; padding: 0 13px 9px; display: flex; justify-content: space-between; align-items: center; gap: 9px; color: #65717e; background: var(--white); font-size: .66rem; line-height: 1.4; }
.petg-chat__footer a { color: var(--teal-dark); font-weight: 800; text-underline-offset: 2px; }

@keyframes petg-chat-in { from { opacity: 0; transform: translateY(18px) scale(.96); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes petg-chat-dot { 0%, 60%, 100% { opacity: .35; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-4px); } }

.js [data-reveal] { opacity: 0; translate: 0 24px; scale: 1; transition: opacity .75s var(--ease) var(--delay, 0s), translate .75s var(--ease) var(--delay, 0s), scale .75s var(--ease) var(--delay, 0s), transform .42s var(--ease), box-shadow .42s var(--ease), border-color .35s; }
.js [data-reveal="left"] { translate: -34px 0; }
.js [data-reveal="right"] { translate: 34px 0; }
.js [data-reveal="scale"] { translate: 0 16px; scale: .965; }
.js [data-reveal].is-visible { opacity: 1; translate: 0 0; scale: 1; }
.js .product-stage[data-reveal].is-visible { transition: opacity .75s var(--ease) var(--delay, 0s), translate .75s var(--ease) var(--delay, 0s), scale .75s var(--ease) var(--delay, 0s), transform .16s ease-out, box-shadow .42s var(--ease); }
.eyebrow[data-reveal] span { transform: scaleX(0); transform-origin: left; transition: transform .65s var(--ease) calc(var(--delay, 0s) + .2s); }
.eyebrow[data-reveal].is-visible span { transform: scaleX(1); }

.js .hero__checks[data-reveal] li,
.js .validation-card[data-reveal] li,
.js .price-card[data-reveal] li,
.js .local-section__copy ul[data-reveal] li,
.js .interest__promise[data-reveal] span,
.js .pricing-notes[data-reveal] li,
.js .faq__list[data-reveal] details,
.js .color-row[data-reveal] .color-chip {
  opacity: 0;
  transform: translateY(11px);
}
.js .hero__checks[data-reveal].is-visible li,
.js .validation-card[data-reveal].is-visible li,
.js .price-card[data-reveal].is-visible li,
.js .local-section__copy ul[data-reveal].is-visible li,
.js .interest__promise[data-reveal].is-visible span,
.js .pricing-notes[data-reveal].is-visible li,
.js .faq__list[data-reveal].is-visible details {
  animation: item-rise-in .55s var(--ease) both;
}
.js .color-row[data-reveal].is-visible .color-chip { animation: chip-pop-in .52s var(--ease) both; }
.js .hero__checks.is-visible li:nth-child(2),
.js .validation-card.is-visible li:nth-child(2),
.js .price-card.is-visible li:nth-child(2),
.js .local-section__copy ul.is-visible li:nth-child(2),
.js .interest__promise.is-visible span:nth-child(2),
.js .pricing-notes.is-visible li:nth-child(2),
.js .faq__list.is-visible details:nth-child(2),
.js .color-row.is-visible .color-chip:nth-child(2) { animation-delay: .09s; }
.js .hero__checks.is-visible li:nth-child(3),
.js .validation-card.is-visible li:nth-child(3),
.js .price-card.is-visible li:nth-child(3),
.js .local-section__copy ul.is-visible li:nth-child(3),
.js .interest__promise.is-visible span:nth-child(3),
.js .pricing-notes.is-visible li:nth-child(3),
.js .faq__list.is-visible details:nth-child(3),
.js .color-row.is-visible .color-chip:nth-child(3) { animation-delay: .18s; }
.js .pricing-notes.is-visible li:nth-child(4),
.js .faq__list.is-visible details:nth-child(4),
.js .color-row.is-visible .color-chip:nth-child(4) { animation-delay: .27s; }
.js .faq__list.is-visible details:nth-child(5) { animation-delay: .36s; }
.spec-strip__grid > div.is-visible strong { animation: metric-pop-in .72s var(--ease) calc(var(--delay, 0s) + .12s) backwards; }
.is-pressed { animation: control-press .28s var(--ease); }

@keyframes launch-pulse {
  0%, 100% { box-shadow: 0 0 0 4px rgba(255,184,77,.12); }
  55% { box-shadow: 0 0 0 9px rgba(255,184,77,0); }
}
@keyframes mobile-link-in { to { opacity: 1; transform: translateY(0); } }
@keyframes hero-orbit {
  from { transform: translate3d(0, -2%, 0) scale(.94); }
  to { transform: translate3d(-12%, 18%, 0) scale(1.12); }
}
@keyframes headline-shimmer {
  0%, 26%, 100% { background-position: 100% 50%; }
  58%, 76% { background-position: 0 50%; }
}
@keyframes stage-sheen {
  0%, 58% { transform: skewX(-17deg) translateX(-180%); opacity: 0; }
  66% { opacity: 1; }
  84%, 100% { transform: skewX(-17deg) translateX(620%); opacity: 0; }
}
@keyframes product-breathe {
  from { transform: scale(1.015) translate3d(-.3%, 0, 0); }
  to { transform: scale(1.055) translate3d(.8%, -.7%, 0); }
}
@keyframes product-orbit {
  from { transform: translate(-50%, -50%) rotate(-19deg); }
  to { transform: translate(-50%, -50%) rotate(341deg); }
}
@keyframes hero-price-pulse {
  0%, 100% { scale: 1; filter: brightness(1); }
  50% { scale: 1.025; filter: brightness(1.09); }
}
@keyframes status-pulse {
  0%, 100% { box-shadow: 0 0 0 4px rgba(255,184,77,.12); }
  55% { box-shadow: 0 0 0 9px rgba(255,184,77,0); }
}
@keyframes badge-float {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -7px; }
}
@keyframes validation-scan {
  0%, 22% { left: -44%; opacity: 0; }
  35% { opacity: 1; }
  62%, 100% { left: 112%; opacity: 0; }
}
@keyframes progress-fill { to { transform: scaleX(1); } }
@keyframes spool-turn {
  from { transform: translateX(-50%) rotate(-13deg); }
  to { transform: translateX(-50%) rotate(347deg); }
}
@keyframes featured-tag {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-4px); }
}
@keyframes selection-pop {
  0%, 100% { scale: 1; }
  48% { scale: 1.025; }
}
@keyframes filament-color-change {
  0% { transform: scale(.985); opacity: .84; }
  55% { transform: scale(1.018); opacity: 1; }
  100% { transform: scale(1); opacity: 1; }
}
@keyframes color-row-update {
  0%, 100% { border-color: rgba(255,255,255,.11); background: rgba(255,255,255,.022); }
  45% { border-color: rgba(255,184,77,.55); background: rgba(255,184,77,.08); }
}
@keyframes summary-value-update {
  0% { opacity: .58; transform: translateY(5px); }
  100% { opacity: 1; transform: translateY(0); }
}
@keyframes stripe-pulse {
  0%, 100% { filter: brightness(1); }
  50% { filter: brightness(1.35); box-shadow: 0 0 0 9px rgba(156,165,162,0); }
}
@keyframes technical-row-in {
  from { opacity: 0; transform: translateX(18px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes technical-disclosure-in {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes map-grid-drift {
  from { background-position: 0 0, 0 0; }
  to { background-position: 38px 38px, 38px 38px; }
}
@keyframes map-ring {
  0% { transform: translate(-50%, -50%) scale(.82); opacity: .7; }
  76%, 100% { transform: translate(-50%, -50%) scale(1.16); opacity: 0; }
}
@keyframes map-pin-bounce {
  0%, 100% { transform: translate(-50%, -80%) rotate(-45deg); }
  50% { transform: translate(-50%, -98%) rotate(-45deg); }
}
@keyframes faq-answer-in {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes item-rise-in {
  from { opacity: 0; transform: translateY(11px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes chip-pop-in {
  0% { opacity: 0; transform: translateY(10px) scale(.88); }
  72% { opacity: 1; transform: translateY(-2px) scale(1.035); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes metric-pop-in {
  0% { opacity: .45; transform: translateY(10px) scale(.88); }
  70% { opacity: 1; transform: translateY(-2px) scale(1.035); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes control-press {
  0%, 100% { scale: 1; }
  45% { scale: .94; }
}

.thankyou-page { min-height: 100vh; display: grid; place-items: center; color: var(--white); background: var(--ink); }
.thankyou { width: min(680px, calc(100vw - 40px)); text-align: center; }
.thankyou .brand { justify-content: center; margin-bottom: 55px; }
.thankyou h1 { margin: 0; font: 800 clamp(2.7rem, 7vw, 5.4rem)/1.05 var(--font-sans); letter-spacing: -.04em; }
.thankyou h1 em { display: block; color: var(--teal); font-style: normal; }
.thankyou p { max-width: 580px; margin: 25px auto 32px; color: rgba(255,255,255,.8); font-size: 1rem; line-height: 1.7; }
.thankyou-steps { margin: 0 auto 34px; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; list-style: none; text-align: left; }
.thankyou-steps li { min-height: 95px; padding: 15px; display: grid; grid-template-columns: 27px 1fr; align-content: center; align-items: center; gap: 9px; border: 1px solid rgba(255,255,255,.14); border-radius: 14px; background: rgba(255,255,255,.035); }
.thankyou-steps span { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 50%; color: var(--ink); background: var(--acid); font-size: .65rem; font-weight: 800; }
.thankyou-steps strong { color: rgba(255,255,255,.9); font-size: .72rem; line-height: 1.4; }

@media (max-width: 1100px) {
  .desktop-nav { display: none; }
  .menu-toggle { display: block; }
  .mobile-menu { display: block; }
  .hero__grid { grid-template-columns: .92fr 1.08fr; gap: 44px; }
  .hero h1 { font-size: clamp(3.15rem, 5.7vw, 4.5rem); }
  .product-stage { min-height: 540px; }
  .hero-product { min-height: clamp(480px, 46vw, 570px); }
  .filament-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
  .filament-card:last-child { grid-column: auto; display: flex; }
  .filament-card:last-child .filament-card__visual { min-height: 0; aspect-ratio: 1; }
  .price-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; }
  .price-card--featured { transform: none; }
}

@media (max-width: 850px) {
  :root { --shell: min(100% - 34px, 680px); }
  .spool-stage { --spool-scale: .9; }
  .header-cta { display: none; }
  .hero, .hero__grid { min-height: auto; }
  .hero__grid { grid-template-columns: 1fr; padding-block: 64px 56px; }
  .hero__copy { max-width: none; }
  .hero h1 { max-width: 760px; font-size: clamp(3rem, 10.5vw, 4.8rem); }
  .product-stage { min-height: 520px; }
  .hero-product { min-height: clamp(390px, 78vw, 570px); }
  .spec-strip__grid { grid-template-columns: 1fr 1fr; }
  .spec-strip__grid > div:nth-child(odd) { border-left: 1px solid #d8d4cb; }
  .spec-strip__grid > div { border-bottom: 1px solid #d8d4cb; }
  .section { padding-block: 88px; }
  .section-heading--split, .technical__grid, .local-section__grid, .interest__grid, .faq__grid { grid-template-columns: 1fr; }
  .section-heading--split { gap: 25px; }
  .validation-grid { grid-template-columns: 1fr; }
  .validation-card { min-height: 330px; border-right: 0; border-bottom: 1px solid var(--line); }
  .validation-card:last-child { border-bottom: 0; }
  .validation-card__top { margin-bottom: 55px; }
  .validation-meter { grid-template-columns: 1fr; gap: 15px; }
  .filament-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; }
  .filament-card:last-child { grid-column: auto; display: flex; }
  .filament-card:last-child .filament-card__visual { min-height: 0; aspect-ratio: 1; }
  .filament-card__description { min-height: 0; }
  .use-grid { grid-template-columns: 1fr; }
  .use-card--large { grid-row: auto; min-height: 590px; }
  .technical__grid, .local-section__grid, .interest__grid, .faq__grid { gap: 55px; }
  .profile-downloads { grid-template-columns: 1fr; }
  .commerce-legal__grid { grid-template-columns: 1fr 1fr; }
  .commerce-legal__grid > div:first-child { grid-column: 1 / -1; }
  .interest__copy, .faq .section-heading { position: static; }
  .local-map { max-width: 620px; width: 100%; }
  .purchase-configurator { grid-template-columns: 1fr; }
  .purchase-assurance { grid-template-columns: 1fr 1fr; }
  .purchase-assurance > li:nth-child(2) { border-right: 0; }
  .purchase-assurance > li:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.12); }
  .configurator-summary { position: static; }
  .site-footer__top { grid-template-columns: 1fr; min-height: auto; padding-block: 60px; }
  .site-footer__top .button { justify-self: start; }
  .product-gallery__grid { grid-template-columns: 1fr 1fr; }
  .proof-gallery { grid-template-columns: 1fr 1fr; }
  .proof-shot--product { grid-column: 1 / -1; }
  .proof-shot--product .proof-shot__media { aspect-ratio: 16 / 9; }
  .proof-facts { grid-template-columns: 1fr 1fr; }
  .proof-facts > div:nth-child(2) { border-right: 0; }
  .proof-facts > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
}

@media (max-width: 600px) {
  :root { --shell: calc(100vw - 28px); --radius: 18px; }
  .spool-stage { --spool-scale: .74; }
  html { scroll-padding-top: 90px; }
  .js [data-reveal="right"] { translate: 0 18px; }
  .js [data-reveal="right"].is-visible { translate: 0 0; }
  .launch-note { min-height: 44px; padding-inline: 12px; font-size: .72rem; }
  .site-header { height: 67px; }
  .site-header__inner { gap: 12px; }
  .brand { font-size: .9rem; }
  .brand__spool { width: 28px; height: 28px; border-width: 6px; }
  .mobile-menu { inset: 109px 0 0; }
  .hero__grid { padding-block: 46px 34px; }
  .hero h1 { font-size: clamp(2.45rem, 11.8vw, 3.45rem); line-height: 1.02; letter-spacing: -.04em; }
  .hero__lead { margin-top: 17px; font-size: .92rem; line-height: 1.55; }
  .hero__actions { margin-top: 25px; }
  .hero__secondary { width: 100%; justify-content: center; }
  .hero__proof { margin-top: 25px; padding-top: 17px; }
  .hero__proof > div { padding-right: 9px; }
  .hero__proof > div + div { padding-left: 9px; }
  .hero__proof strong { font-size: .66rem; }
  .hero__proof span { font-size: .58rem; }
  .hero-offer { grid-template-columns: minmax(0, 1fr) auto; gap: 14px; margin-top: 23px; padding: 14px; }
  .hero-offer__price { min-width: 108px; padding-left: 14px; }
  .hero-offer__link { grid-column: 1 / -1; }
  .hero-quickbuy { margin-top: 20px; padding: 14px; border-radius: 18px; }
  .hero-quickbuy__price { display: grid; grid-template-columns: 58px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding-bottom: 12px; }
  .hero-quickbuy__thumb { width: 58px; height: 58px; display: block; object-fit: cover; object-position: 43% 50%; border: 1px solid rgba(255,255,255,.14); border-radius: 0; }
  .hero-quickbuy__price > strong { font-size: 1.9rem; }
  .hero-quickbuy__price b { font-size: .66rem; }
  .hero-quickbuy__price small { font-size: .61rem; }
  .hero-quickbuy__choices { grid-template-columns: 1fr; gap: 10px; margin-top: 12px; }
  .hero-quickbuy__colors { grid-template-columns: repeat(2, 1fr); }
  .hero-quickbuy label > span { min-height: 38px; font-size: .63rem; }
  .hero-quickbuy__submit { min-height: 49px; margin-top: 12px; }
  .hero-quickbuy > p { font-size: .62rem; }
  .hero-product { min-height: clamp(350px, 92vw, 470px); }
  .hero-product__roller { width: min(110%, 520px); }
  .hero-product::after { left: 24%; right: 24%; bottom: 7%; }
  .technical-disclosure__summary { min-height: 116px; padding: 19px 17px; grid-template-columns: minmax(0, 1fr) auto; gap: 13px; }
  .technical-disclosure__kicker { grid-column: 1 / -1; width: fit-content; }
  .technical-disclosure__title strong { font-size: 1.08rem; }
  .technical-disclosure__title small { font-size: .68rem; }
  .technical-disclosure__action b { display: none !important; }
  .technical-disclosure__action i { width: 38px; height: 38px; flex-basis: 38px; }
  .technical-disclosure__body { padding: 42px 16px 22px; }
  .hero__actions { align-items: stretch; flex-direction: column; gap: 18px; }
  .hero__actions .button { width: 100%; }
  .text-link { justify-content: center; }
  .hero__checks { display: grid; gap: 10px; }
  .product-stage { min-height: 440px; border-radius: 0; }
  .product-stage__status { top: 18px; left: 18px; right: 18px; width: fit-content; font-size: .62rem; }
  .spool-stage__viewport { inset: 55px 6px 116px; }
  .spool-stage__readout { left: 18px; right: 18px; bottom: 63px; grid-template-columns: 1fr; gap: 3px; }
  .spool-stage__progress { grid-column: 1; grid-row: auto; width: 100%; margin: 5px 0 2px; }
  .spool3d__trail { left: calc(50% + var(--spool-travel) + 73px); width: 112px; height: 86px; border-width: 3px; }
  .product-stage__caption { left: 18px; right: 18px; bottom: 14px; font-size: .62rem; }
  .spec-strip__grid strong { font-size: 1.08rem; }
  .section-heading h2, .technical h2, .local-section h2, .interest h2, .faq h2 { font-size: clamp(2.1rem, 9.8vw, 3.05rem); line-height: 1.08; letter-spacing: -.035em; }
  .section-heading { margin-bottom: 38px; }
  .validation-card { padding: 25px; }
  .validation-card__top { margin-bottom: 45px; }
  .filament-collection__toolbar { align-items: flex-start; flex-wrap: wrap; gap: 5px 14px; }
  .filament-collection .shell { width: var(--shell); }
  .filament-collection__toolbar span { width: 100%; }
  .filament-collection__toolbar a { width: 100%; margin: 7px 0 0; }
  .filament-grid { grid-template-columns: 1fr; gap: 36px; }
  .filament-card__visual { aspect-ratio: 1; }
  .filament-card__body { padding: 18px 0 0; }
  .filament-card__heading h3 { font-size: 1rem; }
  .filament-card__description { font-size: .79rem; }
  .filament-card__badge { top: 11px; right: 11px; left: auto; }
  .filament-card__sample { right: 11px; bottom: 11px; }
  .use-card { min-height: 280px; padding: 25px; }
  .use-card--large { min-height: 510px; }
  .spool-graphic { top: 85px; width: 230px; border-width: 43px; }
  .price-grid { grid-template-columns: 1fr; }
  .price-card { min-height: 420px; }
  .pricing-notes { grid-template-columns: 1fr; gap: 9px; }
  .pack-comparison__heading { align-items: flex-start; flex-direction: column; gap: 8px; }
  .pack-comparison__heading strong { text-align: left; }
  .stripe-status { margin-top: -10px; grid-template-columns: auto 1fr; }
  .stripe-status__brand { display: none; }
  .purchase-configurator { margin-top: 38px; }
  .configurator__main, .configurator-summary { padding: 23px 18px; border-radius: 20px; }
  .configurator__packs, .delivery-options { grid-template-columns: 1fr; }
  .color-allocation { padding-left: 12px; }
  .configurator-summary dl div { grid-template-columns: 70px 1fr; }
  .profile-downloads__grid, .product-gallery__grid, .commerce-legal__grid, .proof-gallery, .proof-facts { grid-template-columns: 1fr; }
  .proof-shot--product { grid-column: auto; }
  .proof-shot--product .proof-shot__media { aspect-ratio: 4 / 3; }
  .proof-facts > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .proof-facts > div:nth-child(2) { border-right: 0; }
  .proof-facts > div:last-child { border-bottom: 0; }
  .commerce-legal__grid > div:first-child { grid-column: auto; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .form-actions { grid-template-columns: 1fr; }
  .checkbox-grid { grid-template-columns: 1fr 1fr; }
  .interest-form { padding: 22px 18px; }
  .purchase-assurance { grid-template-columns: 1fr; }
  .purchase-assurance > li { min-height: 94px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
  .purchase-assurance > li:last-child { border-bottom: 0; }
  .local-section { padding-block: 88px; }
  .local-map { min-height: 470px; aspect-ratio: auto; }
  .local-map__address { grid-template-columns: 1fr; }
  .local-map__address a { grid-column: 1; grid-row: auto; margin-top: 5px; }
  .site-footer__bottom { min-height: 100px; align-items: flex-start; justify-content: center; flex-direction: column; }
  .petg-chat { right: 12px; bottom: 12px; transition: bottom .35s var(--ease); }
  .has-mobile-cta .petg-chat, .has-mobile-config-summary .petg-chat { bottom: 76px; }
  .petg-chat__panel { position: fixed; left: 12px; right: 12px; bottom: 76px; width: auto; height: min(610px, calc(100dvh - 160px)); min-height: 390px; border-radius: 20px; }
  .has-mobile-cta .petg-chat__panel, .has-mobile-config-summary .petg-chat__panel { bottom: 140px; }
  .petg-chat__toggle { min-height: 54px; padding: 6px 15px 6px 7px; }
  .petg-chat__toggle-icon { width: 40px; height: 40px; }
  .whatsapp-link--floating { min-height: 54px; padding: 6px 14px 6px 7px; }
  .whatsapp-link__icon { width: 40px; height: 40px; }
  .petg-chat__messages { padding-inline: 13px; }
  .petg-chat__footer { align-items: flex-start; flex-direction: column; padding-bottom: 10px; }
  .mobile-cta { position: fixed; z-index: 80; left: 12px; right: 12px; bottom: 12px; min-height: 52px; padding: 0 20px; display: flex; align-items: center; justify-content: space-between; color: #fff; background: var(--signal); border-radius: 999px; box-shadow: 0 15px 40px rgba(0,0,0,.25); font-size: .8rem; font-weight: 800; text-decoration: none; transform: translateY(85px); transition: transform .35s var(--ease); }
  .mobile-cta.is-visible { transform: translateY(0); }
  .mobile-config-summary { position: fixed; z-index: 81; left: 12px; right: 12px; bottom: 12px; min-height: 58px; padding: 7px 8px 7px 17px; align-items: center; justify-content: space-between; gap: 15px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; color: var(--white); background: var(--ink); box-shadow: 0 15px 40px rgba(0,0,0,.3); transform: translateY(90px); transition: transform .35s var(--ease); }
  .mobile-config-summary.is-visible { display: flex; transform: translateY(0); }
  .mobile-config-summary > span { display: grid; gap: 2px; text-align: left; }
  .mobile-config-summary small { color: rgba(255,255,255,.62); font-size: .58rem; font-weight: 700; text-transform: uppercase; letter-spacing: .055em; }
  .mobile-config-summary strong { font-size: .78rem; }
  .mobile-config-summary b { padding: 12px 15px; border-radius: 999px; color: var(--ink); background: var(--acid); font-size: .72rem; white-space: nowrap; }
  .mobile-config-summary i { font-style: normal; }
  .site-footer { padding-bottom: 78px; }
  .thankyou-steps { grid-template-columns: 1fr; }
  .thankyou-steps li { min-height: 72px; }
}

@media (max-width: 360px) {
  .spool-stage { --spool-scale: .65; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  .js [data-reveal] { opacity: 1; translate: 0 0; scale: 1; }
  .eyebrow[data-reveal] span { transform: scaleX(1); }
  .mobile-menu.is-open nav > a { opacity: 1; transform: none; }
  .validation-meter__track i { transform: scaleX(1); }
  .button, .petg-chat__toggle { translate: 0 0 !important; }
  .js .hero__checks[data-reveal] li,
  .js .validation-card[data-reveal] li,
  .js .price-card[data-reveal] li,
  .js .local-section__copy ul[data-reveal] li,
  .js .interest__promise[data-reveal] span,
  .js .pricing-notes[data-reveal] li,
  .js .faq__list[data-reveal] details,
  .js .color-row[data-reveal] .color-chip { opacity: 1; transform: none; }
}

/* Comercio: una presentación más editorial, directa y menos "plantilla". */
.pricing .section-heading {
  margin-bottom: 38px;
}

.pricing .section-heading h2 {
  max-width: 720px;
  font-size: clamp(2.7rem, 4.5vw, 4.35rem);
  line-height: 1.02;
}

.pricing .section-heading--split {
  align-items: start;
}

.pricing .section-heading--split > p {
  max-width: 430px;
  padding-top: 40px;
  font-size: .94rem;
}

.stripe-status {
  margin: 0;
  padding: 0 0 18px;
  gap: 11px;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.18);
  border-radius: 0;
  background: transparent;
}

.stripe-status__dot {
  width: 7px;
  height: 7px;
  box-shadow: none;
  animation: none;
}

.stripe-status strong {
  font-size: .78rem;
}

.stripe-status small {
  font-size: .7rem;
}

.stripe-status__brand {
  color: rgba(255,255,255,.62);
  font-size: .66rem;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.stripe-status[data-state] {
  border-color: rgba(255,255,255,.18);
  background: transparent;
}

.purchase-assurance {
  margin: 0 0 32px;
  grid-template-columns: repeat(3, 1fr);
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.18);
  border-radius: 0;
  background: transparent;
}

.purchase-assurance > li {
  min-height: auto;
  padding: 17px 22px 18px 0;
  gap: 2px;
  border-right: 1px solid rgba(255,255,255,.14);
}

.purchase-assurance > li + li {
  padding-left: 22px;
}

.purchase-assurance > li:last-child {
  border-right: 0;
}

.purchase-assurance strong {
  font-size: .76rem;
}

.purchase-assurance small {
  font-size: .67rem;
}

.price-grid {
  gap: 0;
  border-block: 1px solid rgba(255,255,255,.18);
}

.price-card,
.price-card--featured {
  min-height: 360px;
  padding: 31px 25px 27px;
  color: var(--white);
  background: transparent;
  border-right: 1px solid rgba(255,255,255,.16);
  border-radius: 0;
  box-shadow: none;
  transform: none;
}

.price-card:last-child {
  border-right: 0;
}

.price-card--featured {
  background: rgba(47,107,255,.12);
}

.price-card__name,
.price-card--featured .price-card__name {
  margin-bottom: 34px;
  color: rgba(255,255,255,.92);
  font-size: .69rem;
}

.price-card__amount strong {
  font-size: clamp(3.7rem, 5vw, 5.15rem);
}

.price-card__amount span,
.price-card--featured .price-card__amount span {
  color: var(--acid);
}

.price-card__unit,
.price-card--featured .price-card__unit {
  margin-bottom: 20px;
  color: rgba(255,255,255,.67);
}

.price-card__detail {
  max-width: 220px;
  margin: 0 0 28px;
  color: rgba(255,255,255,.78);
  font-size: .76rem;
  line-height: 1.55;
}

.price-card__tag {
  top: 20px;
  right: 22px;
  left: auto;
  padding: 0;
  color: var(--acid);
  background: transparent;
  border-radius: 0;
  transform: none;
  animation: none;
  font-size: .58rem;
}

.price-card .button {
  min-height: 46px;
  border-radius: 2px;
}

.price-card .button--outline {
  color: var(--white);
  border-color: rgba(255,255,255,.34);
}

.price-card .button--outline:hover {
  color: var(--ink);
  border-color: var(--white);
  background: var(--white);
}

.price-card--featured .button--signal {
  color: var(--ink);
  background: var(--acid);
}

.price-card.is-selected,
.price-card--featured.is-selected {
  box-shadow: inset 0 -3px 0 var(--acid);
}

.pack-comparison {
  display: none;
}

@media (hover: hover) and (pointer: fine) {
  .price-card:hover,
  .price-card--featured:hover {
    transform: none;
    background: rgba(255,255,255,.045);
    box-shadow: none;
  }

  .price-card--featured:hover {
    background: rgba(47,107,255,.17);
  }
}

.purchase-configurator {
  margin-top: 54px;
  grid-template-columns: minmax(0, 1.35fr) minmax(310px, .65fr);
  gap: 0;
  overflow: hidden;
  color: var(--ink);
  background: var(--paper);
  border-block: 1px solid rgba(255,255,255,.2);
}

.configurator__main {
  padding: clamp(30px, 4vw, 50px);
  color: var(--ink);
  background: var(--paper);
  border: 0;
  border-radius: 0;
}

.configurator__header {
  padding-bottom: 28px;
}

.configurator__header > p {
  margin-bottom: 8px;
  color: var(--teal-dark);
  font-size: .65rem;
}

.configurator__header h3 {
  max-width: none;
  color: var(--ink);
  font-size: clamp(1.75rem, 2.8vw, 2.45rem);
}

.configurator__header > span {
  margin-top: 9px;
  color: #596572;
}

.configurator__section {
  padding: 25px 0;
  border-top-color: var(--line);
}

.configurator__section legend {
  padding-bottom: 13px;
  color: var(--ink);
  font-size: .78rem;
}

.configurator__section legend span {
  display: none;
}

.configurator__materials,
.configurator__packs {
  gap: 8px;
}

.configurator__materials label > span,
.configurator__packs label > span {
  min-height: 72px;
  border-color: var(--line);
  border-radius: 2px;
  background: rgba(255,255,255,.52);
}

.configurator__materials strong,
.configurator__packs strong {
  color: var(--ink);
}

.configurator__materials small,
.configurator__packs small {
  color: #67717c;
}

.configurator__materials input:checked + span,
.configurator__packs input:checked + span {
  border-color: var(--teal-dark);
  background: var(--white);
  box-shadow: inset 0 -3px 0 var(--teal);
}

.configurator__materials label:hover > span,
.configurator__packs label:hover > span {
  border-color: var(--teal-dark);
  transform: none;
}

.configurator__section legend small {
  display: inline;
  color: #6c7680;
}

.configurator__color-help {
  color: #69737e;
}

.color-allocator {
  max-height: 560px;
  padding-right: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 24px;
  overflow-y: auto;
  overscroll-behavior: contain;
  border-top: 1px solid var(--line);
  scrollbar-color: #9aa4ad transparent;
  scrollbar-width: thin;
}

.color-allocator::-webkit-scrollbar,
.checkbox-grid--colors::-webkit-scrollbar {
  width: 8px;
}

.color-allocator::-webkit-scrollbar-thumb,
.checkbox-grid--colors::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: 999px;
  background: #9aa4ad;
  background-clip: padding-box;
}

.color-allocation {
  min-height: 61px;
  padding: 10px 0;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
}

.color-allocation__identity {
  color: var(--ink);
}

.color-availability {
  color: #69737e;
}

.color-availability[data-state="confirm"] {
  display: none;
}

.color-availability[data-state="available"] {
  color: var(--teal-dark);
}

.color-availability[data-state="unavailable"] {
  color: #b32c22;
}

.color-dot {
  border-color: rgba(17,24,32,.24);
  box-shadow: none;
}

.quantity-stepper {
  border-color: var(--line);
  border-radius: 2px;
  background: var(--white);
}

.quantity-stepper button,
.quantity-stepper input {
  color: var(--ink);
}

.quantity-stepper button:hover {
  color: var(--teal-dark);
  background: rgba(47,107,255,.08);
}

.quantity-stepper input {
  border-inline-color: var(--line);
  background: transparent;
}

.quantity-stepper input:focus {
  background: rgba(47,107,255,.08);
}

.allocation-status {
  color: var(--teal-dark);
  font-size: .7rem;
}

.checkbox-grid--colors {
  max-height: 320px;
  padding-right: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-color: #9aa4ad transparent;
  scrollbar-width: thin;
}

.checkbox-grid--colors span {
  min-height: 46px;
  padding: 8px 10px;
  justify-content: flex-start;
  text-align: left;
}

.delivery-options {
  gap: 8px;
}

.delivery-option {
  min-height: 75px;
  color: var(--ink);
  border-color: var(--line);
  border-radius: 2px;
  background: rgba(255,255,255,.52);
}

.delivery-option strong {
  color: var(--ink);
}

.delivery-option small {
  color: #69737e;
}

label.delivery-option:has(input:checked) {
  border-color: var(--teal-dark);
  background: var(--white);
  box-shadow: inset 0 -3px 0 var(--teal);
}

button.delivery-option:hover {
  border-color: var(--teal-dark);
  background: var(--white);
}

.configurator-summary {
  position: sticky;
  top: 112px;
  padding: clamp(30px, 3.4vw, 44px);
  color: var(--ink);
  background: var(--white);
  border-left: 1px solid var(--line);
  border-radius: 0;
  box-shadow: none;
}

.configurator-summary__top,
.configuration-preview {
  display: none;
}

.configurator-summary > h3 {
  margin: 0 0 24px;
  font-size: 1.45rem;
}

.configurator-summary dl div {
  grid-template-columns: 70px 1fr;
}

.configurator-total {
  padding-block: 24px;
}

.configurator-delivery-note {
  margin-bottom: 18px;
  padding: 16px 0;
  border: 0;
  border-block: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
}

.configurator-delivery-note > strong {
  font-size: .74rem;
}

.configurator-delivery-note button {
  color: var(--teal-dark);
}

.configurator-summary .checkout-button {
  border-radius: 2px;
}

.configurator-human {
  margin-top: 13px;
  font-size: .7rem;
}

.pricing-notes {
  max-width: none;
  margin-top: 20px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  color: rgba(255,255,255,.62);
  font-size: .7rem;
}

.interest {
  color: var(--ink);
  background: var(--paper);
}

.interest__grid {
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  gap: clamp(55px, 8vw, 120px);
}

.interest__copy .eyebrow {
  color: var(--teal-dark);
}

.interest__copy h2 {
  max-width: 510px;
  font-size: clamp(2.55rem, 4.2vw, 4rem);
  line-height: 1.02;
}

.interest__copy > p:not(.eyebrow) {
  max-width: 490px;
  margin-top: 24px;
  color: #4f5b68;
  font-size: .95rem;
}

.interest__promise {
  margin-top: 29px;
  padding-block: 15px;
  display: flex;
  flex-wrap: wrap;
  gap: 7px 20px;
  color: #4f5b68;
  border-block: 1px solid var(--line);
  font-size: .68rem;
  font-weight: 700;
}

.interest__promise span {
  gap: 0;
}

.interest__promise span::before {
  content: none;
}

.interest-form {
  padding: clamp(28px, 4vw, 42px);
  color: var(--ink);
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 0;
  box-shadow: none;
}

.interest-form:focus-within {
  border-color: rgba(47,107,255,.5);
  box-shadow: 0 0 0 1px rgba(47,107,255,.08);
}

.interest-form > label,
.form-row label,
.interest-form legend {
  color: var(--ink);
}

.interest-form label > .field-label {
  display: flex;
  align-items: baseline;
  gap: 4px;
  color: var(--ink);
}

.interest-form .field-note,
.interest-form .required-note {
  display: inline;
  margin: 0;
  color: #6b7480;
  font-size: .65rem;
  font-weight: 600;
}

.interest-form .required-note {
  color: var(--signal);
}

.interest-form input[type="text"],
.interest-form input[type="email"],
.interest-form select,
.interest-form textarea {
  color: var(--ink);
  background-color: #f7f5ef;
  border-color: var(--line);
  border-radius: 2px;
}

.interest-form select {
  background-image:
    linear-gradient(45deg, transparent 50%, #4f5b68 50%),
    linear-gradient(135deg, #4f5b68 50%, transparent 50%);
}

.interest-form input::placeholder,
.interest-form textarea::placeholder {
  color: #7b838c;
}

.checkbox-grid span {
  color: #3e4955;
  border-color: var(--line);
  border-radius: 2px;
  background: transparent;
}

.checkbox-grid input:checked + span {
  color: var(--ink);
  border-color: var(--teal-dark);
  background: rgba(47,107,255,.08);
  box-shadow: inset 0 -2px 0 var(--teal);
}

.dot {
  border-color: rgba(17,24,32,.25);
}

.consent {
  color: #5c6671 !important;
}

.form-actions .button,
.whatsapp-link--form {
  border-radius: 2px;
}

.whatsapp-link--form {
  color: #146c37;
  background: transparent;
  border-color: rgba(20,108,55,.4);
}

.whatsapp-link--form:hover {
  color: #fff;
  background: #1f9f52;
}

.form-note {
  color: #6b7480;
}

.form-result {
  border-radius: 2px;
  color: #79510a;
  background: #fff7e7;
}

@media (max-width: 1100px) {
  .price-card,
  .price-card--featured {
    border-bottom: 1px solid rgba(255,255,255,.16);
  }

  .price-card:nth-child(2) {
    border-right: 0;
  }

  .price-card:nth-last-child(-n+2) {
    border-bottom: 0;
  }
}

@media (max-width: 850px) {
  .pricing .section-heading--split > p {
    padding-top: 0;
  }

  .purchase-assurance {
    grid-template-columns: 1fr;
  }

  .purchase-assurance > li,
  .purchase-assurance > li + li {
    padding: 13px 0;
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.12);
  }

  .purchase-assurance > li:last-child {
    border-bottom: 0;
  }

  .purchase-configurator {
    grid-template-columns: 1fr;
  }

  .configurator__materials {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .configurator-summary {
    position: static;
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .interest__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .price-grid {
    grid-template-columns: 1fr;
  }

  .price-card,
  .price-card--featured,
  .price-card:nth-child(2),
  .price-card:nth-last-child(-n+2) {
    min-height: 330px;
    padding-inline: 20px;
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.16);
  }

  .price-card:last-child {
    border-bottom: 0;
  }

  .stripe-status {
    margin-top: 0;
  }

  .configurator__main,
  .configurator-summary {
    padding: 28px 20px;
    border-radius: 0;
  }

  .configurator__materials,
  .configurator__packs,
  .delivery-options {
    grid-template-columns: 1fr;
  }

  .color-allocator {
    max-height: 520px;
    padding-right: 8px;
    grid-template-columns: 1fr;
  }

  .checkbox-grid--colors {
    max-height: 360px;
    grid-template-columns: 1fr 1fr;
  }

  .interest-form {
    padding: 26px 20px;
    border-radius: 0;
  }

  .interest__promise {
    display: grid;
  }
}
