/* CNCL platform layer — append after the current theme stylesheet. */

@font-face {
  font-family: "CNCL Editorial";
  src: url("./assets/CNCL-Editorial-Regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

:root {
  --navy: #122d3d;
  --signal: #b8cfdb;
  --night: #0f2430;
  --oxblood: #122d3d;
  --soft-white: #f6f7f8;
  --sans: "Avenir Next", Avenir, "Segoe UI Variable", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --tech-sans: "Avenir Next", Avenir, "Segoe UI Variable", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --serif: "CNCL Editorial", Georgia, "Times New Roman", serif;
  --display-editorial: "CNCL Editorial", Georgia, "Times New Roman", serif;
  --cotton: #c9d99a;
  --elastane: #f1cf4f;
  --paper: #eef1f3;
}

[hidden] { display: none !important; }
button, input, select { font: inherit; }
button { color: inherit; }

.hero-links { grid-template-columns: repeat(3,minmax(10rem,1fr)); width: min(48rem,60vw); }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin-top: 2rem; }
.hero-primary-cta,.hero-secondary-cta { display: inline-flex; align-items: center; justify-content: center; min-height: 3.25rem; padding: .8rem 1.15rem; border-radius: 999px; font-size: .62rem; font-weight: 700; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }
.hero-primary-cta { gap: 1.8rem; border: 1px solid var(--white); background: var(--white); color: var(--navy); box-shadow: 0 .9rem 2.5rem rgba(0,0,0,.18); }
.hero-primary-cta span { font-size: 1rem; transition: transform 180ms ease; }
.hero-primary-cta:hover span,.hero-primary-cta:focus-visible span { transform: translateX(.2rem); }
.hero-secondary-cta { border: 1px solid rgba(255,255,255,.45); color: var(--white); background: rgba(15,36,48,.44); backdrop-filter: blur(12px); }
.hero-italic { max-width: 34rem; margin: 1.3rem 0 0; font-family: var(--tech-sans); font-size: clamp(1.2rem,2.25vw,1.8rem); font-style: normal; font-weight: 500; letter-spacing: -.025em; line-height: 1.25; }
.hero-benefit { max-width: 35rem; margin: 1.1rem 0 0 .18rem; color: rgba(255,255,255,.78); font-family: var(--tech-sans); font-size: clamp(.92rem,1.35vw,1.12rem); line-height: 1.55; }

/* Compact two-layer product lens. */
.product-lens { background: var(--ink); color: var(--white); }
.lens-heading {
  display: grid;
  grid-template-columns: 14% minmax(0,1fr) minmax(18rem,31%);
  min-height: 23rem;
  border-top: 1px solid rgba(255,255,255,.2);
  border-bottom: 1px solid rgba(255,255,255,.2);
}
.lens-heading > .section-index { border-right: 1px solid rgba(255,255,255,.2); }
.lens-heading > div:nth-child(2) { align-self: end; padding: 3.4rem 4vw; }
.lens-heading .eyebrow { margin: 0 0 1rem; }
.lens-heading h2 {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(3.7rem,6.4vw,7rem);
  font-weight: 400;
  letter-spacing: -.067em;
  line-height: .86;
}
.lens-heading > p {
  align-self: end;
  max-width: 33rem;
  margin: 0;
  padding: 3.4rem 2rem;
  border-left: 1px solid rgba(255,255,255,.2);
  color: rgba(255,255,255,.67);
  font-family: var(--tech-sans);
  line-height: 1.55;
}

.lens-stage {
  display: grid;
  grid-template-columns: minmax(0,1.25fr) minmax(22rem,.75fr);
  min-height: 43rem;
  border-bottom: 1px solid rgba(255,255,255,.2);
}
.lens-product-visual {
  position: relative;
  display: grid;
  place-items: center;
  min-width: 0;
  min-height: 43rem;
  overflow: hidden;
  border-right: 1px solid rgba(255,255,255,.2);
  background: var(--paper);
  color: var(--ink);
}
.lens-controls {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 1.5rem;
}
.lens-product-code {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  font-size: .59rem;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.lens-product-code span { color: rgba(255,255,255,.5); }
.lens-product-title { margin: auto 0 3rem; }
.lens-product-title .eyebrow { margin: 0 0 1rem; color: var(--signal); }
.lens-product-title h3 {
  margin: 0 0 1.4rem;
  font-family: var(--serif);
  font-size: clamp(3rem,5vw,5.8rem);
  font-weight: 400;
  letter-spacing: -.06em;
  line-height: .87;
}
.lens-product-title > p:last-child { max-width: 28rem; margin: 0; color: rgba(255,255,255,.68); font-family: var(--tech-sans); font-size: .92rem; line-height: 1.55; }
.lens-buttons { display: grid; grid-template-columns: 1fr; border: 1px solid rgba(255,255,255,.28); }
.lens-buttons button {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: .28rem .75rem;
  min-height: 7.5rem;
  padding: 1rem;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.28);
  background: transparent;
  cursor: pointer;
  text-align: left;
}
.lens-buttons button:last-child { border-bottom: 0; }
.lens-buttons button > span { grid-row: 1 / 3; color: rgba(255,255,255,.48); font-family: var(--serif); font-size: 1.25rem; }
.lens-buttons button strong { align-self: end; font-size: .68rem; letter-spacing: .11em; text-transform: uppercase; }
.lens-buttons button small { color: rgba(255,255,255,.5); font-size: .7rem; }
.lens-buttons button b { grid-column: 3; grid-row: 1 / 3; align-self: center; font-size: 1.4rem; font-weight: 400; transition: transform 180ms ease; }
.lens-buttons button:hover,
.lens-buttons button:focus-visible,
.lens-buttons button[aria-pressed="true"] { background: var(--signal); color: var(--ink); }
.lens-buttons button:hover > span,
.lens-buttons button:focus-visible > span,
.lens-buttons button[aria-pressed="true"] > span,
.lens-buttons button:hover small,
.lens-buttons button:focus-visible small,
.lens-buttons button[aria-pressed="true"] small { color: rgba(23,23,20,.62); }
.lens-buttons button:hover b,
.lens-buttons button:focus-visible b,
.lens-buttons button[aria-pressed="true"] b { transform: translateX(.25rem); }
.lens-live-status { min-height: 1.2rem; margin: .9rem 0 0; color: rgba(255,255,255,.48); font-size: .61rem; letter-spacing: .06em; }

.lens-coordinate { position: absolute; z-index: 2; font-size: .56rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.lens-coordinate.top { top: 1.4rem; left: 1.4rem; }
.lens-coordinate.bottom { right: 1.4rem; bottom: 1.4rem; }
.lens-hover-hint { position: absolute; z-index: 3; top: 1.15rem; right: 1.15rem; max-width: 14rem; margin: 0; padding: .48rem .68rem; border: 1px solid rgba(23,23,20,.14); border-radius: 999px; background: rgba(255,255,255,.78); color: rgba(23,23,20,.66); font-size: .55rem; font-weight: 700; letter-spacing: .09em; line-height: 1.35; text-align: right; text-transform: uppercase; backdrop-filter: blur(10px); }
.lens-shirt-svg { display: block; width: min(56%,27rem); overflow: visible; filter: drop-shadow(0 1.4rem 1.8rem rgba(18,45,61,.13)); }
.shirt-shadow { fill: rgba(23,23,20,.08); transform: translate(.75rem,.9rem); }
.shirt-base { fill: #fff; stroke: var(--ink); stroke-width: 2.2; vector-effect: non-scaling-stroke; }
.shirt-base.modern-shirt { fill: url(#cncl-shirt-surface); }
.shirt-seam { fill: none; stroke: rgba(23,23,20,.42); stroke-width: 1.3; vector-effect: non-scaling-stroke; }
.shirt-highlight { fill: none; stroke: rgba(255,255,255,.76); stroke-linecap: round; stroke-width: 11; vector-effect: non-scaling-stroke; }
.composition-visual { position: absolute; inset: 0; display: grid; place-items: center; min-width: 0; }
.lens-product-visual:focus-visible .overview-shirt { visibility: hidden; }
.lens-product-visual:focus-visible .composition-visual[hidden] { display: grid !important; }
.lens-product-visual:focus-visible { outline: .16rem solid var(--signal); outline-offset: -.35rem; }
@media (hover: hover) and (pointer: fine) {
  .lens-product-visual:hover .overview-shirt { visibility: hidden; }
  .lens-product-visual:hover .composition-visual[hidden] { display: grid !important; }
}
.composition-shirt { width: min(57%,27rem); }
.material-cotton { fill: var(--cotton); }
.material-elastane { fill: var(--elastane); }
.shirt-composition-outline { fill: none; stroke: var(--ink); stroke-width: 2.2; vector-effect: non-scaling-stroke; }
.shirt-composition-seam { fill: none; stroke: rgba(23,23,20,.55); stroke-width: 1.3; vector-effect: non-scaling-stroke; }
.composition-visual.is-entering .material-cotton,
.composition-visual.is-entering .material-elastane { transform-box: fill-box; transform-origin: bottom; animation: material-rise .7s cubic-bezier(.3,.7,.3,1) both; }
.composition-visual.is-entering .material-elastane { animation-delay: .18s; }
@keyframes material-rise { from { transform: scaleY(0); } to { transform: scaleY(1); } }
.composition-legend { position: absolute; right: 1.4rem; bottom: 1.4rem; left: 1.4rem; display: flex; justify-content: space-between; gap: .8rem; pointer-events: none; }
.material-callout { position: static; display: grid; grid-template-columns: .8rem auto; gap: 0 .6rem; min-width: 8rem; padding: .75rem .9rem; border: 1px solid rgba(23,23,20,.14); border-radius: .8rem; background: rgba(255,255,255,.88); box-shadow: 0 .65rem 1.6rem rgba(18,45,61,.08); backdrop-filter: blur(12px); }
.material-callout > span { grid-row: 1 / 3; align-self: center; width: .75rem; height: .75rem; border: 1px solid var(--ink); border-radius: 50%; }
.material-callout strong { font-family: var(--serif); font-size: 2.35rem; font-weight: 400; line-height: .9; }
.material-callout p { margin: 0; font-size: .58rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.cotton-callout > span { background: var(--cotton); }
.elastane-callout > span { background: var(--elastane); }

.factory-atlas { scroll-margin-top: 1rem; background: #fff; color: var(--ink); }
.factory-atlas-heading {
  display: grid;
  grid-template-columns: minmax(18rem,1fr) minmax(18rem,.8fr) auto;
  align-items: end;
  gap: 3rem;
  padding: 2.4rem;
  border-bottom: 1px solid var(--line);
}
.factory-atlas-heading .eyebrow { margin: 0 0 .8rem; color: var(--navy); }
.factory-atlas-heading h3 { margin: 0; font-family: var(--serif); font-size: clamp(3rem,5vw,6rem); font-weight: 400; letter-spacing: -.06em; line-height: .9; }
.factory-atlas-heading > p { margin: 0; color: var(--muted); line-height: 1.55; }
.factory-atlas-heading > strong { font-size: .58rem; letter-spacing: .12em; text-align: right; text-transform: uppercase; }
.factory-atlas-heading > strong span { display: block; font-family: var(--serif); font-size: 2.6rem; font-weight: 400; letter-spacing: -.04em; }
.factory-map-stage { position: relative; overflow: hidden; background: #fff; }
.factory-map-graphic { position: relative; aspect-ratio: 5 / 3; }
.factory-map-graphic > img { display: block; width: 100%; height: 100%; object-fit: contain; }
.factory-markers { position: absolute; inset: 0; pointer-events: none; }
.factory-marker {
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: 1.75rem;
  height: 1.75rem;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  pointer-events: auto;
  transform: translate(-50%,-50%);
}
.factory-marker::before { position: absolute; left: 50%; top: 50%; width: .78rem; height: .78rem; border: 1.5px solid var(--ink); border-radius: 50%; background: var(--white); content: ""; transform: translate(-50%,-50%); transition: width 180ms ease,height 180ms ease,box-shadow 180ms ease,background 180ms ease; }
.factory-marker span { position: absolute; left: 50%; bottom: calc(100% + .35rem); z-index: 2; padding: .2rem .32rem; border: 1px solid rgba(23,23,20,.14); border-radius: .2rem; background: var(--white); box-shadow: 0 .3rem .8rem rgba(0,0,0,.12); font-size: .5rem; font-weight: 700; letter-spacing: .08em; opacity: 0; pointer-events: none; transform: translate(-50%,.2rem); transition: opacity 160ms ease,transform 160ms ease; }
.factory-marker:hover span,.factory-marker:focus-visible span,.factory-marker.is-active span { opacity: 1; }
.factory-marker:hover span,.factory-marker:focus-visible span,.factory-marker.is-active span { transform: translate(-50%,0); }
.factory-marker:hover,.factory-marker:focus-visible,.factory-marker.is-active { z-index: 3; }
.factory-marker:hover::before,.factory-marker:focus-visible::before { width: 1.05rem; height: 1.05rem; }
.factory-marker.is-active::before { background: var(--signal); box-shadow: 0 0 0 .4rem rgba(184,207,219,.34); }
.factory-map-focus .factory-marker.is-active::before { animation: map-focus 850ms ease-out; }
@keyframes map-focus { 0% { box-shadow: 0 0 0 0 rgba(184,207,219,.8); } 100% { box-shadow: 0 0 0 1.1rem rgba(184,207,219,0); } }
.map-origin { position: absolute; left: 1.3rem; top: 1.3rem; font-size: .57rem; font-weight: 700; letter-spacing: .13em; }
.factory-card {
  position: absolute;
  right: 1.4rem;
  bottom: 1.4rem;
  width: min(18.5rem,42%);
  padding: 1.1rem;
  border: 1px solid var(--ink);
  background: rgba(255,255,255,.96);
  box-shadow: .75rem .75rem 0 var(--ink);
}
.factory-card > span { font-size: .55rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.factory-card h4 { margin: 1rem 0 .2rem; font-family: var(--display-editorial); font-size: clamp(1.65rem,2.2vw,2rem); font-weight: 400; letter-spacing: -.035em; line-height: .95; }
.factory-card > p { margin: 0 0 1rem; color: var(--muted); font-size: .75rem; }
.factory-card dl { margin: 0; border-top: 1px solid var(--line); }
.factory-card dl div { display: grid; grid-template-columns: 4.5rem 1fr; gap: .5rem; padding: .6rem 0; border-bottom: 1px solid var(--line); }
.factory-card dt { font-size: .54rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.factory-card dd { margin: 0; font-size: .68rem; }
.factory-card a { color: inherit; text-decoration-color: rgba(18,45,61,.35); text-underline-offset: .18em; }
.factory-card a:hover,.factory-card a:focus-visible { text-decoration-color: currentColor; }

.standards-list p,
.factory-atlas-heading > p,
.join-card > p:not(.eyebrow) { font-family: var(--tech-sans); font-size: clamp(.9rem,1.2vw,1.05rem); line-height: 1.6; }
.standards-only { display: block; }
.standards-only .standards-content { width: 100%; min-height: 48rem; }

/* Branded newsletter and brand-application pages. */
.signup-page { background: var(--ink); color: var(--white); }
.signup-page .legal-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; position: relative; z-index: 2; border-color: rgba(255,255,255,.2); background: var(--ink); }
.signup-page .legal-brand { color: var(--white); }
.header-back { color: rgba(255,255,255,.72); font-size: .6rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; text-underline-offset: .3rem; }
.signup-shell { display: grid; grid-template-columns: minmax(0,1fr) minmax(29rem,.78fr); min-height: calc(100svh - 4rem); border-bottom: 1px solid rgba(255,255,255,.2); }
.signup-intro { display: flex; flex-direction: column; padding: clamp(3.5rem,7vw,7rem) clamp(1rem,6vw,6rem); background: linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px),var(--night); background-size: 4rem 4rem; }
.signup-intro > .eyebrow { color: var(--signal); }
.signup-intro h1 { max-width: 10ch; margin: 1.2rem 0 2rem; font-family: var(--serif); font-size: clamp(4.1rem,8vw,8.4rem); font-weight: 400; letter-spacing: -.07em; line-height: .84; }
.signup-lead { max-width: 39rem; margin: 0 0 3rem 15%; color: rgba(255,255,255,.74); font-family: var(--tech-sans); font-size: clamp(1rem,1.4vw,1.25rem); line-height: 1.6; }
.signup-promise { margin-top: auto; border-top: 1px solid rgba(255,255,255,.25); }
.signup-promise article { display: grid; grid-template-columns: 3rem 1fr; gap: 1rem; padding: 1rem clamp(1rem,2vw,1.4rem); border-bottom: 1px solid rgba(255,255,255,.2); }
.signup-promise article > span { color: var(--signal); font-family: var(--serif); font-size: 1.35rem; }
.signup-promise strong { display: block; margin-bottom: .18rem; font-size: .63rem; letter-spacing: .12em; text-transform: uppercase; }
.signup-promise p { margin: 0; color: rgba(255,255,255,.62); font-size: .8rem; }
.signup-trust { margin: 1rem 0 0; color: rgba(255,255,255,.45); font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; }
.signup-form-panel { min-width: 0; padding: 1.5rem; background: var(--soft-white); color: var(--ink); }
.panel-status { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line); font-size: .58rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.signup-form-panel iframe { display: block; width: 100%; min-height: 62rem; border: 0; background: transparent; }
.cncl-brevo-form-host { min-width: 0; }
.cncl-brevo-form-host .sib-form,
.cncl-brevo-form-host #sib-container,
.cncl-brevo-form-host .entry__field,
.cncl-brevo-form-host .entry__label,
.cncl-brevo-form-host .entry__specification,
.cncl-brevo-form-host .sib-form-block,
.cncl-brevo-form-host .sib-form-block__text,
.cncl-brevo-form-host .sib-text-form-block,
.cncl-brevo-form-host input,
.cncl-brevo-form-host input,
.cncl-brevo-form-host select,
.cncl-brevo-form-host textarea,
.cncl-brevo-form-host button { font-family: var(--tech-sans) !important; }
.cncl-brevo-form-host .sib-form { padding: 0 !important; background: transparent !important; }
.cncl-brevo-form-host #sib-container { max-width: none !important; padding: clamp(1rem,3vw,2.5rem) !important; border: 1px solid var(--line) !important; border-radius: var(--tech-radius-small) !important; background: #fff !important; text-align: left !important; }
.cncl-brevo-form-host h1,.cncl-brevo-form-host h2,.cncl-brevo-form-host h3,.cncl-brevo-form-host .sib-form-block__text strong { font-family: var(--display-editorial) !important; font-weight: 400 !important; letter-spacing: -.035em !important; line-height: .95 !important; }
.cncl-brevo-form-host .entry__field { overflow: hidden; border: 1px solid rgba(23,23,20,.18) !important; border-radius: .8rem !important; background: #f7f8f9 !important; }
.cncl-brevo-form-host .sib-form-block__button { width: 100%; min-height: 3rem; border-radius: 999px !important; background: var(--navy) !important; color: var(--white) !important; font-size: .64rem !important; font-weight: 700 !important; letter-spacing: .12em !important; text-transform: uppercase; }
.form-reassurance { margin: .9rem 0 0; color: var(--muted); font-size: .67rem; line-height: 1.45; }
.newsletter-form-mock { display: grid; align-content: start; gap: 1rem; min-height: 42rem; padding: clamp(1rem,3vw,2.5rem); border: 1px solid var(--line); border-radius: var(--tech-radius-small); background: #fff; }
.newsletter-form-mock .mock-eyebrow { margin: 0; color: var(--navy); font-size: .58rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.newsletter-form-mock h2 { max-width: 12ch; margin: .25rem 0 0; font-family: var(--serif); font-size: clamp(2.4rem,4vw,4rem); font-weight: 400; letter-spacing: -.05em; line-height: .95; }
.newsletter-form-mock > p { max-width: 34rem; margin: 0 0 1rem; color: var(--muted); line-height: 1.55; }
.newsletter-form-mock label { display: grid; gap: .55rem; font-size: .62rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.newsletter-form-mock input[type="email"] { width: 100%; padding: 1rem; border: 1px solid rgba(23,23,20,.18); border-radius: .8rem; background: #f7f8f9; color: var(--ink); font-family: var(--sans); font-size: .95rem; }
.newsletter-form-mock .mock-consent { grid-template-columns: auto 1fr; align-items: start; font-size: .68rem; font-weight: 400; letter-spacing: 0; line-height: 1.45; text-transform: none; }
.newsletter-form-mock button { padding: 1rem 1.2rem; border: 1px solid var(--navy); border-radius: 999px; background: var(--navy); color: var(--white); font-size: .64rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.brand-form-panel { padding: clamp(1.5rem,3vw,3rem); }
.brand-form-panel .cncl-brand-form > p:first-child { color: var(--navy); }
.brand-form-panel .cncl-brand-form > p:nth-child(2),.brand-form-panel .cncl-brand-form > p:nth-child(3) { max-width: 54ch; }
.brand-form-panel .wpcf7 label { display: grid; gap: .5rem; font-size: .66rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.brand-form-panel .wpcf7 input[type="text"],.brand-form-panel .wpcf7 input[type="email"],.brand-form-panel .wpcf7 input[type="url"],.brand-form-panel .wpcf7 textarea { width: 100%; padding: .9rem 0; border: 0; border-bottom: 1px solid rgba(23,23,20,.32); border-radius: 0; background: transparent; color: var(--ink); font-family: var(--sans); font-size: .95rem; font-weight: 400; letter-spacing: 0; outline: 0; text-transform: none; }
.brand-form-panel .wpcf7 textarea { min-height: 7.5rem; resize: vertical; }
.brand-form-panel .wpcf7 input:focus,.brand-form-panel .wpcf7 textarea:focus { border-color: var(--navy); }
.brand-form-panel .cncl-field-help { margin-top: -.6rem; color: var(--muted); font-size: .71rem; }
.brand-form-panel .cncl-form-note { margin: 2rem 0; padding: 1rem; border: 1px solid var(--line); font-size: .72rem; }
.brand-form-panel .wpcf7 input[type="submit"] { padding: 1rem 1.2rem; border: 1px solid var(--ink); border-radius: 0; background: var(--ink); color: var(--white); cursor: pointer; font-size: .64rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.brand-form-panel .wpcf7 input[type="submit"]:hover,.brand-form-panel .wpcf7 input[type="submit"]:focus-visible { background: var(--navy); border-color: var(--navy); }
.signup-page .legal-bottom { background: #08151c; }

@media (max-width: 980px) {
  .hero-links { width: calc(100% - 4rem); }
  .lens-heading { grid-template-columns: 8rem minmax(0,1fr); }
  .lens-heading > p { grid-column: 2; padding-top: 0; border-left: 0; }
  .lens-stage { grid-template-columns: minmax(0,1.05fr) minmax(19rem,.95fr); }
  .lens-buttons button { min-height: 6rem; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.28); }
  .lens-buttons button:last-child { border-bottom: 0; }
  .lens-shirt-svg { width: min(57%,21rem); }
  .factory-atlas-heading { grid-template-columns: 1fr 1fr; }
  .factory-atlas-heading > strong { grid-column: 2; text-align: left; }
  .signup-shell { grid-template-columns: 1fr; }
  .signup-intro { min-height: 46rem; }
}

@media (max-width: 700px) {
  .hero-actions { margin-top: 1.35rem; }
  .hero-primary-cta,.hero-secondary-cta { min-height: 2.8rem; padding: .68rem .9rem; font-size: .54rem; }
  .hero-links { left: 1rem; right: 1rem; width: auto; grid-template-columns: repeat(3,1fr); }
  .hero-links small { display: none; }
  .lens-heading { grid-template-columns: 1fr; min-height: auto; }
  .lens-heading > .section-index { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.2); }
  .lens-heading > div:nth-child(2) { padding: 3.5rem 1rem 2rem; }
  .lens-heading h2 { font-size: clamp(3.5rem,15vw,5.8rem); }
  .lens-heading > p { grid-column: 1; padding: 0 1rem 3.5rem; }
  .lens-stage { grid-template-columns: 1fr; }
  .lens-product-visual { min-height: 34rem; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.2); }
  .lens-controls { padding: 1rem; }
  .lens-product-title { margin: 4rem 0 2rem; }
  .lens-product-title h3 { font-size: clamp(3.7rem,16vw,5.7rem); }
  .lens-buttons { grid-template-columns: 1fr 1fr; }
  .lens-buttons button { min-height: 7rem; border-right: 1px solid rgba(255,255,255,.28); border-bottom: 0; }
  .lens-buttons button:last-child { border-right: 0; }
  .lens-buttons button small { display: none; }
  .lens-shirt-svg { width: min(67%,20rem); }
  .factory-atlas-heading { grid-template-columns: 1fr; gap: 1.5rem; padding: 2rem 1rem; }
  .factory-atlas-heading > strong { grid-column: 1; text-align: left; }
  .factory-map-stage { overflow: visible; }
  .factory-card { position: relative; right: auto; bottom: auto; width: auto; margin: 0 1rem 1.5rem; box-shadow: .45rem .45rem 0 var(--ink); }
  .composition-shirt { width: min(68%,20rem); }
  .signup-page .legal-header { padding: 1.1rem 1rem; }
  .header-back { font-size: .53rem; }
  .signup-intro { min-height: 42rem; padding: 4rem 1rem; }
  .signup-intro h1 { font-size: clamp(4rem,18vw,6rem); }
  .signup-lead { margin-left: 0; }
  .signup-form-panel,.brand-form-panel { padding: 1rem; }
  .signup-form-panel iframe { min-height: 68rem; }
  .cncl-brevo-form-host #sib-container { padding: 1rem .4rem !important; }
  .cncl-brevo-form-host .sib-form-block { padding-right: 0 !important; padding-left: 0 !important; }
  .cncl-brevo-form-host .form__entry,.cncl-brevo-form-host .sib-captcha,.cncl-brevo-form-host #sib-captcha { max-width: 100% !important; }
}

@media (max-width: 410px) {
  .lens-buttons { grid-template-columns: 1fr; }
  .lens-buttons button { min-height: 5.5rem; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.28); }
  .lens-buttons button:last-child { border-bottom: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .factory-marker,.material-cotton,.material-elastane { animation: none !important; }
}

/* High-tech editorial interface layer, inspired by modern discovery platforms. */
:root {
  --tech-radius: 1.6rem;
  --tech-radius-small: 1rem;
  --tech-glass: rgba(245,245,240,.74);
  --tech-dark-glass: rgba(13,16,14,.68);
  --tech-line: rgba(255,255,255,.18);
  --tech-shadow: 0 1.4rem 4rem rgba(7,11,9,.16);
}

html { scroll-behavior: smooth; }
.cncl-platform-ready body { background: #edf0f2; }
.cncl-platform-ready main { overflow: clip; }
.hero,.product-lens,.factory-atlas { --pointer-x: 50%; --pointer-y: 50%; }

.hero {
  isolation: isolate;
  min-height: max(52rem,calc(100svh - 1.3rem));
  margin: .65rem;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: var(--tech-radius);
  box-shadow: var(--tech-shadow);
}
.hero::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  background:
    radial-gradient(circle at var(--pointer-x) var(--pointer-y),rgba(184,207,219,.20),transparent 24rem),
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size: auto,4rem 4rem,4rem 4rem;
}
.hero::after {
  position: absolute;
  z-index: -1;
  inset: 45% 0 0;
  content: "";
  background: linear-gradient(180deg,transparent,rgba(3,8,6,.72));
  pointer-events: none;
}
.hero-brand {
  top: 1rem;
  left: 1rem;
  right: 1rem;
  z-index: 4;
  width: auto;
  min-height: 3.45rem;
  padding: .75rem 1.15rem;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 999px;
  background: rgba(15,36,48,.58);
  box-shadow: 0 .8rem 2.8rem rgba(0,0,0,.18);
  backdrop-filter: blur(20px) saturate(135%);
}
.hero-copy { position: relative; z-index: 2; max-width: min(52rem,calc(100% - 2rem)); }
.hero-copy h1 { text-shadow: 0 .06em .3em rgba(0,0,0,.18); }
.hero-links {
  z-index: 3;
  bottom: 1rem;
  gap: .45rem;
  padding: .45rem;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 1.3rem;
  background: var(--tech-dark-glass);
  box-shadow: 0 1rem 3rem rgba(0,0,0,.22);
  backdrop-filter: blur(22px) saturate(135%);
}
.hero-links a { min-height: 5.7rem; border: 1px solid transparent; border-radius: .92rem; transition: background 180ms ease,border-color 180ms ease,transform 180ms ease; }
.hero-links a:hover,.hero-links a:focus-visible { border-color: rgba(255,255,255,.22); background: rgba(255,255,255,.1); transform: translateY(-.15rem); }

.standards,.product-lens,.partner,.status,footer { margin-right: .65rem; margin-left: .65rem; }
.section-index { position: relative; }
.section-index::after { position: absolute; right: 1rem; top: 1rem; width: .48rem; height: .48rem; border-radius: 50%; background: var(--signal); box-shadow: 0 0 0 .28rem rgba(184,207,219,.15); content: ""; }

.standards { gap: .65rem; margin-top: .65rem; background: transparent; }
.standards-content { overflow: hidden; border-radius: var(--tech-radius); box-shadow: var(--tech-shadow); }
.standards-content {
  position: relative;
  background:
    radial-gradient(circle at 90% 5%,rgba(184,207,219,.18),transparent 20rem),
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),var(--night);
  background-size: auto,4rem 4rem,4rem 4rem,auto;
}
.standards-list { gap: .55rem; padding: .55rem; }
.standards-list article { display: grid; grid-template-columns: 7rem minmax(16rem,1fr) auto; align-items: center; gap: clamp(1rem,3vw,3.5rem); padding: 1.35rem 1.5rem; border: 1px solid rgba(255,255,255,.12); border-radius: var(--tech-radius-small); background: rgba(255,255,255,.04); transition: background 180ms ease,border-color 180ms ease,transform 180ms ease; }
.standards-list article:hover { border-color: rgba(184,207,219,.48); background: rgba(184,207,219,.1); transform: translateX(.18rem); }
.standards-unified .standards-content { min-height: 0; }
.standards-unified .standards-heading { display: grid; grid-template-columns: 1fr; gap: 1rem; align-items: end; }
.standards-unified .standards-heading .eyebrow,.standards-unified .standards-heading h2 { grid-column: 1; }
.standards-unified .standards-heading h2 { max-width: none; }
.standards-intro { grid-column: 2; grid-row: 1 / span 2; align-self: end; max-width: 38rem; margin: 0; color: rgba(255,255,255,.68); font-family: var(--tech-sans); font-size: clamp(.95rem,1.25vw,1.1rem); line-height: 1.65; }
.standards-topic { color: var(--signal); font-size: .6rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.standards-list h3 { margin: 0; }
.standards-list p { margin: 0; color: rgba(255,255,255,.64); }
.standards-action { display: inline-flex; align-items: center; justify-content: space-between; gap: 1.5rem; min-width: 8.7rem; padding: .78rem 1rem; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; color: var(--white); font-size: .6rem; font-weight: 700; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; transition: background 180ms ease,color 180ms ease,border-color 180ms ease,transform 180ms ease; }
.standards-action span { font-size: .95rem; transition: transform 180ms ease; }
.standards-action:hover,.standards-action:focus-visible { border-color: var(--signal); background: var(--signal); color: var(--night); transform: translateY(-.08rem); }
.standards-action:hover span,.standards-action:focus-visible span { transform: translateX(.16rem); }

.product-lens {
  position: relative;
  isolation: isolate;
  margin-top: .65rem;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: var(--tech-radius);
  box-shadow: var(--tech-shadow);
}
.product-lens::before { position: absolute; z-index: -1; inset: 0; content: ""; background: radial-gradient(circle at var(--pointer-x) var(--pointer-y),rgba(184,207,219,.12),transparent 30rem); pointer-events: none; }
.lens-heading { background: linear-gradient(135deg,rgba(255,255,255,.025),transparent); }
.lens-stage { margin: .65rem; overflow: hidden; border: 1px solid rgba(255,255,255,.18); border-radius: 1.35rem; background: #0c1c25; box-shadow: 0 1.2rem 3.5rem rgba(0,0,0,.25); }
.lens-product-visual { border-radius: 1.15rem 0 0 1.15rem; background:
  radial-gradient(circle at 50% 46%,rgba(255,255,255,.96),rgba(234,237,229,.84) 48%,rgba(215,221,209,.74)),
  linear-gradient(rgba(23,23,20,.045) 1px,transparent 1px),
  linear-gradient(90deg,rgba(23,23,20,.045) 1px,transparent 1px);
  background-size: auto,3rem 3rem,3rem 3rem;
}
.lens-product-visual::after,.factory-map-graphic::after { position: absolute; inset: 0; content: ""; background: linear-gradient(180deg,transparent 0,rgba(184,207,219,.14) 49%,transparent 52%); background-size: 100% 13rem; pointer-events: none; animation: tech-scan 6s linear infinite; }
@keyframes tech-scan { from { background-position: 0 -13rem; } to { background-position: 0 calc(100% + 13rem); } }
.lens-controls { background:
  radial-gradient(circle at 100% 0,rgba(184,207,219,.14),transparent 18rem),
  linear-gradient(160deg,#122d3d,#0a1820 65%);
}
.lens-product-code { padding-bottom: .8rem; border-bottom: 1px solid rgba(255,255,255,.12); }
.lens-buttons { gap: .55rem; border: 0; }
.lens-buttons button,.lens-buttons button:last-child { border: 1px solid rgba(255,255,255,.18); border-radius: var(--tech-radius-small); background: rgba(255,255,255,.025); }
.lens-buttons button:hover,.lens-buttons button:focus-visible,.lens-buttons button[aria-pressed="true"] { border-color: var(--signal); background: var(--signal); color: var(--ink); box-shadow: 0 .8rem 2rem rgba(0,0,0,.2); transform: translateY(-.08rem); }
.lens-live-status { display: flex; align-items: center; gap: .45rem; }
.lens-live-status::before { width: .42rem; height: .42rem; border-radius: 50%; background: var(--signal); content: ""; }

.factory-atlas {
  margin: 0 .65rem .65rem;
  overflow: hidden;
  border: 1px solid rgba(23,23,20,.12);
  border-radius: 1.35rem;
  background: rgba(255,255,255,.96);
  box-shadow: 0 1.2rem 3.5rem rgba(0,0,0,.15);
}
.factory-atlas-heading { background:
  radial-gradient(circle at var(--pointer-x) var(--pointer-y),rgba(184,207,219,.2),transparent 20rem),
  linear-gradient(120deg,#fff,#f0f3f5);
}
.factory-atlas-heading > strong { padding: .7rem .85rem; border: 1px solid rgba(23,23,20,.12); border-radius: var(--tech-radius-small); background: rgba(255,255,255,.68); box-shadow: 0 .7rem 2rem rgba(16,24,20,.07); }
.factory-map-graphic { background:
  linear-gradient(rgba(23,23,20,.032) 1px,transparent 1px),
  linear-gradient(90deg,rgba(23,23,20,.032) 1px,transparent 1px),#fff;
  background-size: 4rem 4rem;
}
.factory-card { border-radius: var(--tech-radius-small); box-shadow: .75rem .75rem 0 var(--ink),0 1.2rem 3rem rgba(0,0,0,.15); backdrop-filter: blur(16px); }
.map-origin { padding: .42rem .62rem; border: 1px solid rgba(23,23,20,.12); border-radius: 999px; background: rgba(255,255,255,.78); backdrop-filter: blur(10px); }

.partner { margin-top: .65rem; overflow: hidden; border: 1px solid rgba(23,23,20,.1); border-radius: var(--tech-radius); background:
  radial-gradient(circle at 10% 90%,rgba(184,207,219,.2),transparent 22rem),
  linear-gradient(rgba(23,23,20,.035) 1px,transparent 1px),
  linear-gradient(90deg,rgba(23,23,20,.035) 1px,transparent 1px),#f5f6f7;
  background-size: auto,4rem 4rem,4rem 4rem,auto;
  box-shadow: 0 1rem 3rem rgba(16,24,20,.07);
}
.join-grid { gap: .65rem; padding: .65rem; }
.join-card { overflow: hidden; border: 1px solid rgba(23,23,20,.1); border-radius: var(--tech-radius); box-shadow: 0 .9rem 2.5rem rgba(16,24,20,.08); transition: transform 200ms ease,box-shadow 200ms ease; }
.join-card:hover { transform: translateY(-.22rem); box-shadow: 0 1.2rem 3rem rgba(16,24,20,.13); }
.join-action { display: inline-flex; align-items: center; justify-content: space-between; gap: 2rem; border-radius: 999px; transition: padding 180ms ease,background 180ms ease; }
.join-action::after { content: "→"; }
.join-action:hover,.join-action:focus-visible { padding-right: 1.2rem; padding-left: 1.2rem; }
.status { margin-top: .65rem; overflow: hidden; border-radius: var(--tech-radius); box-shadow: var(--tech-shadow); }
footer { margin-top: .65rem; margin-bottom: .65rem; overflow: hidden; border: 1px solid rgba(23,23,20,.1); border-radius: var(--tech-radius); background: rgba(255,255,255,.72); backdrop-filter: blur(16px); }

.signup-page { min-height: 100svh; padding: .65rem; background:
  radial-gradient(circle at 15% 15%,rgba(184,207,219,.16),transparent 28rem),
  linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
  linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),#0f2430;
  background-size: auto,4rem 4rem,4rem 4rem,auto;
}
.signup-page .legal-header { position: sticky; top: .65rem; margin: 0 0 .65rem; padding: .75rem 1rem; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; background: rgba(11,16,12,.66); box-shadow: 0 1rem 3rem rgba(0,0,0,.2); backdrop-filter: blur(20px) saturate(130%); }
.signup-shell { min-height: calc(100svh - 6rem); overflow: hidden; border: 1px solid rgba(255,255,255,.18); border-radius: var(--tech-radius); box-shadow: 0 1.4rem 4rem rgba(0,0,0,.22); }
.signup-intro { background:
  radial-gradient(circle at 25% 20%,rgba(184,207,219,.16),transparent 24rem),
  linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),
  linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px),var(--night);
  background-size: auto,4rem 4rem,4rem 4rem,auto;
}
.signup-promise { display: grid; gap: .5rem; padding-top: .5rem; border-top: 0; }
.signup-promise article { border: 1px solid rgba(255,255,255,.13); border-radius: var(--tech-radius-small); background: rgba(255,255,255,.035); }
.signup-form-panel { margin: .65rem; border-radius: 1.25rem; background: rgba(248,248,244,.94); box-shadow: 0 1rem 3rem rgba(0,0,0,.12); }
.panel-status span { display: inline-flex; align-items: center; padding: .42rem .62rem; border: 1px solid rgba(23,23,20,.12); border-radius: 999px; background: #fff; }
.brand-form-panel .wpcf7 input[type="text"],.brand-form-panel .wpcf7 input[type="email"],.brand-form-panel .wpcf7 input[type="url"],.brand-form-panel .wpcf7 textarea { padding: .9rem 1rem; border: 1px solid rgba(23,23,20,.18); border-radius: .8rem; background: rgba(255,255,255,.82); }
.brand-form-panel .wpcf7 input[type="submit"] { border-radius: 999px; box-shadow: 0 .7rem 1.8rem rgba(23,23,20,.16); }
.signup-page .legal-bottom { margin-top: .65rem; overflow: hidden; border-radius: var(--tech-radius); }

.legal-page:not(.signup-page) {
  min-height: 100svh;
  padding: .65rem;
  background:
    radial-gradient(circle at 85% 10%,rgba(184,207,219,.16),transparent 25rem),
    linear-gradient(rgba(23,23,20,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(23,23,20,.035) 1px,transparent 1px),#edf0f2;
  background-size: auto,4rem 4rem,4rem 4rem,auto;
}
.legal-page:not(.signup-page) .legal-header { position: sticky; z-index: 4; top: .65rem; margin: 0 0 .65rem; padding: .75rem 1rem; border: 1px solid rgba(23,23,20,.12); border-radius: 999px; background: rgba(255,255,255,.72); box-shadow: 0 1rem 3rem rgba(16,24,20,.08); backdrop-filter: blur(20px) saturate(130%); }
.legal-page:not(.signup-page) .legal-content { max-width: 72rem; margin: 0 auto; padding: clamp(3rem,8vw,8rem); border: 1px solid rgba(23,23,20,.1); border-radius: var(--tech-radius); background: rgba(255,255,255,.84); box-shadow: 0 1.2rem 3.5rem rgba(16,24,20,.08); backdrop-filter: blur(12px); }
.legal-page:not(.signup-page) .legal-content h1 { max-width: 10ch; font-size: clamp(4rem,10vw,9rem); letter-spacing: -.07em; line-height: .84; }
.legal-page:not(.signup-page) .legal-body { max-width: 52rem; margin-left: auto; }
.legal-page:not(.signup-page) .legal-body h2,.legal-page:not(.signup-page) .legal-body h3 { margin-top: 2.8rem; font-family: var(--display-editorial); font-weight: 400; letter-spacing: -.025em; }
.legal-page:not(.signup-page) .legal-body h2 { font-size: clamp(1.8rem,3vw,2.6rem); line-height: 1; }
.legal-page:not(.signup-page) .legal-body h3 { font-size: clamp(1.35rem,2.1vw,1.85rem); line-height: 1.05; }
.legal-page:not(.signup-page) .legal-body a { text-decoration-color: var(--signal); text-decoration-thickness: .12em; text-underline-offset: .22em; }
.legal-page:not(.signup-page) .legal-bottom { max-width: 72rem; margin: .65rem auto 0; overflow: hidden; border: 1px solid rgba(23,23,20,.1); border-radius: var(--tech-radius); background: rgba(255,255,255,.72); backdrop-filter: blur(14px); }

/* Modern editorial display typography: the original serif character, sharpened
   for the platform while Avenir Next remains the supporting face. */
.hero-copy h1,
.lens-heading h2,
.lens-product-title h3,
.factory-atlas-heading h3,
.standards-heading h2,
.standards-list h3,
.partner-heading h2,
.join-card h3,
.signup-intro h1,
.newsletter-form-mock h2,
.legal-page:not(.signup-page) .legal-content h1 {
  font-family: var(--display-editorial);
  font-stretch: normal;
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: .91;
}

@media (max-width: 700px) {
  :root { --tech-radius: 1.15rem; }
  .hero { min-height: max(52rem,calc(100svh - .8rem)); margin: .4rem; }
  .hero-brand { top: .65rem; left: .65rem; right: .65rem; min-height: 3rem; padding: .62rem .8rem; }
  .hero-links { bottom: .65rem; width: calc(100% - 1.3rem); padding: .35rem; border-radius: 1rem; }
  .hero-links a { min-height: 5rem; padding: .55rem; }
  .standards,.product-lens,.partner,.status,footer { margin-right: .4rem; margin-left: .4rem; }
  .standards,.product-lens,.partner,.status,footer { margin-top: .4rem; }
  .lens-stage { margin: .4rem; }
  .lens-product-visual { border-radius: .95rem .95rem 0 0; }
  .factory-atlas { margin: 0 .4rem .4rem; }
  .factory-atlas-heading > strong { width: max-content; }
  .factory-marker { width: 2.25rem; height: 2.25rem; }
  .factory-card { border-radius: .9rem; }
  .signup-page { padding: .4rem; }
  .signup-page .legal-header { top: .4rem; margin-bottom: .4rem; }
  .signup-form-panel { margin: .4rem; }
  .legal-page:not(.signup-page) { padding: .4rem; }
  .legal-page:not(.signup-page) .legal-header { top: .4rem; }
  .legal-page:not(.signup-page) .legal-content { padding: 3.5rem 1rem; }
  .legal-page:not(.signup-page) .legal-content h1 { font-size: clamp(3.7rem,18vw,6rem); }
  .standards-unified .standards-heading { grid-template-columns: 1fr; }
  .standards-unified .standards-heading .eyebrow,.standards-unified .standards-heading h2,.standards-intro { grid-column: 1; grid-row: auto; }
  .standards-list article { grid-template-columns: minmax(0,1fr) auto; gap: .7rem 1rem; padding: 1.35rem 1rem; }
  .standards-topic,.standards-list h3,.standards-list p { grid-column: 1; }
  .standards-action { grid-column: 2; grid-row: 1 / span 3; align-self: center; justify-self: end; }
  .signup-intro h1 { font-size: clamp(3.55rem,15.5vw,5.6rem); letter-spacing: -.025em; line-height: .93; }
}

@media (max-width: 520px) {
  .standards-list article { grid-template-columns: 1fr; }
  .standards-topic,.standards-list h3,.standards-list p,.standards-action { grid-column: 1; grid-row: auto; }
  .standards-action { justify-self: start; width: min(100%,14rem); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .lens-product-visual::after,.factory-map-graphic::after { animation: none !important; }
  .hero-links a,.standards-list article,.standards-action,.join-card { transition: none; }
}
