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

/* Mivio About page styles. */
.about-gk-page {
  --agk-ink: #0a0a0a;
  --agk-soft-ink: #333333;
  --agk-paper: #f5f4ef;
  --agk-cream: #fffef2;
  --agk-muted: #edece5;
  --agk-stone: #e5dfdc;
  --agk-line: #c9c8c2;
  --agk-accent: #ba8c53;
  --agk-accent-foreground: #0a0a0a;
  --agk-motion-fast: 150ms;
  --agk-motion-standard: 300ms;
  --agk-motion-panel: 400ms;
  --agk-motion-overlay: 500ms;
  --agk-motion-ease: cubic-bezier(.4,0,.2,1);
  --agk-motion-exit: cubic-bezier(0,0,.2,1);
  min-height: 100vh;
  overflow: hidden;
  background: var(--agk-paper);
  color: var(--agk-ink);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
  letter-spacing: -0.015em;
}

.about-gk-page *,
.about-gk-page *::before,
.about-gk-page *::after { box-sizing: border-box; }
.about-gk-page img { display: block; max-width: 100%; }
.about-gk-page h1,
.about-gk-page h2,
.about-gk-page h3,
.about-gk-page p,
.about-gk-page figure,
.about-gk-page blockquote { margin: 0; }

.about-gk-page .site-header {
  top: 0;
  height: 80px;
  padding: 0 6.3vw;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
}
.about-gk-page .site-header::before {
  border-bottom: 1px solid var(--agk-line);
  background: var(--agk-paper);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.about-gk-page .site-header .brand img { height: 30px; }
.about-gk-page .header-actions { justify-self: end; gap: 10px; }
.about-gk-header-nav {
  display: flex;
  align-items: center;
  gap: 30px;
  font-size: 13px;
  letter-spacing: -.01em;
}
.about-gk-header-nav a {
  position: relative;
  padding: 31px 0 30px;
}
.about-gk-header-nav a::after {
  position: absolute;
  right: 0;
  bottom: 23px;
  left: 0;
  height: 1px;
  background: var(--agk-ink);
  content: "";
  opacity: 0;
  transform: scaleX(.4);
  transition: opacity var(--agk-motion-fast) ease, transform var(--agk-motion-fast) ease;
}
.about-gk-header-nav a:hover::after,
.about-gk-header-nav a:focus-visible::after,
.about-gk-header-nav a[aria-current="page"]::after { opacity: 1; transform: scaleX(1); }
.about-gk-page .header-shop,
.about-gk-page .menu-button {
  min-height: 48px;
  border: 1px solid var(--agk-ink);
  border-radius: 0;
  background: transparent;
  color: var(--agk-ink);
  font: 11px/1 "Courier New", monospace;
  letter-spacing: .05em;
  text-transform: uppercase;
  transition: background var(--agk-motion-standard) var(--agk-motion-ease), color var(--agk-motion-standard) var(--agk-motion-ease);
}
.about-gk-page .header-shop { padding: 0 22px; }
.about-gk-page .menu-button { width: 48px; padding: 0; font-family: Arial, sans-serif; font-size: 18px; }
.about-gk-page .header-shop:hover,
.about-gk-page .menu-button:hover { background: var(--agk-ink); color: var(--agk-paper); }
.about-gk-page .brand--light .brand-logo--black { opacity: 1; }
.about-gk-page .brand--light .brand-logo--white { opacity: 0; }
.about-gk-menu-icon {
  position: relative;
  width: 24px;
  height: 24px;
  display: block;
  margin: auto;
}
.about-gk-menu-icon::before,
.about-gk-menu-icon::after,
.about-gk-menu-icon i {
  position: absolute;
  left: 3px;
  width: 18px;
  height: 1px;
  background: currentColor;
  content: "";
  transition: opacity var(--agk-motion-fast) ease, transform var(--agk-motion-standard) var(--agk-motion-ease), top var(--agk-motion-standard) var(--agk-motion-ease);
}
.about-gk-menu-icon::before { top: 6px; }
.about-gk-menu-icon i { top: 11.5px; }
.about-gk-menu-icon::after { top: 17px; }
.about-gk-menu-icon--open::before { top: 11.5px; transform: rotate(45deg); }
.about-gk-menu-icon--open i { opacity: 0; }
.about-gk-menu-icon--open::after { top: 11.5px; transform: rotate(-45deg); }

.about-gk-page .menu-overlay {
  top: 80px;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 45;
  width: 100%;
  height: calc(100dvh - 80px);
  display: block;
  padding: 0;
  background: rgba(10,10,10,.48);
  box-shadow: none;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  transform: none;
  visibility: hidden;
  transition: opacity var(--agk-motion-overlay) var(--agk-motion-exit), visibility var(--agk-motion-overlay) var(--agk-motion-exit);
}
.about-gk-page .menu-overlay nav {
  position: relative;
  top: auto;
  right: auto;
  width: 100%;
  min-height: 0;
  padding: 34px 6.3vw 42px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  background: var(--agk-paper);
  border-bottom: 1px solid var(--agk-line);
  transform: translateY(-100%);
  transition: transform var(--agk-motion-panel) var(--agk-motion-ease);
}
.about-gk-page .menu-overlay nav a {
  padding: 14px 0;
  font-size: 20px;
  line-height: 1.2;
  letter-spacing: -.025em;
  transform: none;
}
.about-gk-page .menu-overlay nav a:hover { text-decoration: underline; text-underline-offset: 5px; transform: none; }
.about-gk-page .menu-overlay--open { opacity: 1; pointer-events: auto; visibility: visible; }
.about-gk-page .menu-overlay--open nav { transform: translateY(0); }

.about-gk-eyebrow {
  font: 11px/1.4 "Courier New", monospace;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.about-gk-button {
  min-height: 48px;
  padding: 0 21px;
  border: 1px solid currentColor;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 11px/1 "Courier New", monospace;
  letter-spacing: .06em;
  text-transform: uppercase;
  transition: background var(--agk-motion-standard) var(--agk-motion-ease), color var(--agk-motion-standard) var(--agk-motion-ease);
}
.about-gk-button--light { color: var(--agk-paper); }
.about-gk-button--light:hover { background: var(--agk-paper); color: var(--agk-ink); }
.about-gk-button--dark { color: var(--agk-ink); }
.about-gk-button--dark:hover { background: var(--agk-ink); color: var(--agk-paper); }

.about-gk-hero {
  height: 552px;
  margin-top: 80px;
  position: relative;
  overflow: hidden;
  background: #1b1a18;
  color: var(--agk-paper);
}
.about-gk-hero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 72% 28%;
  filter: saturate(.9) contrast(1.02);
}
.about-gk-hero__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(8,8,7,.9) 0%, rgba(8,8,7,.68) 38%, rgba(8,8,7,.12) 72%);
}
.about-gk-hero__copy {
  position: relative;
  z-index: 2;
  width: min(530px, 43vw);
  height: 100%;
  margin-left: 6.3vw;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.about-gk-hero h1 {
  margin: 17px 0 22px;
  font-size: clamp(48px, 4.4vw, 64px);
  line-height: 1;
  font-weight: 400;
  letter-spacing: -.055em;
}
.about-gk-hero__copy > p:not(.about-gk-eyebrow) {
  max-width: 485px;
  margin-bottom: 27px;
  font-size: 17px;
  line-height: 1.55;
  letter-spacing: -.01em;
}

.about-gk-ticker {
  height: 62px;
  overflow: hidden;
  border-bottom: 1px solid var(--agk-line);
  display: flex;
  align-items: center;
  white-space: nowrap;
}
.about-gk-ticker > div {
  width: max-content;
  display: flex;
  align-items: center;
  gap: 38px;
  padding-left: 38px;
  font: 11px/1 "Courier New", monospace;
  letter-spacing: .05em;
  animation: aboutGkMarquee 100s linear infinite;
}
.about-gk-ticker i { font-style: normal; }

.about-gk-purpose {
  min-height: 510px;
  padding: 92px 8vw;
  border-bottom: 1px solid var(--agk-line);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.about-gk-purpose h2 {
  max-width: 980px;
  margin: 20px auto 28px;
  font-size: clamp(40px, 4.5vw, 62px);
  line-height: 1.05;
  font-weight: 400;
  letter-spacing: -.052em;
}
.about-gk-purpose > p:last-child {
  max-width: 760px;
  color: var(--agk-soft-ink);
  font-size: 18px;
  line-height: 1.58;
}

.about-gk-discovery { padding: 84px 6.3vw 92px; }
.about-gk-section-heading {
  margin-bottom: 48px;
  display: grid;
  grid-template-columns: 1fr 1.45fr;
  column-gap: 7vw;
  align-items: end;
}
.about-gk-section-heading .about-gk-eyebrow { grid-column: 1; grid-row: 1; align-self: start; }
.about-gk-section-heading h2 {
  grid-column: 2;
  grid-row: 1 / 3;
  font-size: clamp(36px, 3.4vw, 44px);
  line-height: 1.05;
  font-weight: 400;
  letter-spacing: -.045em;
}
.about-gk-section-heading > p:last-child {
  grid-column: 2;
  max-width: 640px;
  margin-top: 22px;
  color: var(--agk-soft-ink);
  font-size: 16px;
  line-height: 1.58;
}
.about-gk-card-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.about-gk-card figure { aspect-ratio: 7 / 8; overflow: hidden; background: var(--agk-muted); }
.about-gk-card img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.88) contrast(1.02); transition: transform var(--agk-motion-standard) var(--agk-motion-ease); }
.about-gk-card:hover img,
.about-gk-card:focus-within img { transform: scale(1.04); }
.about-gk-card:nth-child(1) img { object-position: 56% center; }
.about-gk-card:nth-child(2) img { object-position: 50% 35%; }
.about-gk-card:nth-child(3) img { object-position: center 30%; }
.about-gk-card > span {
  display: block;
  margin-top: 18px;
  font: 10px/1.3 "Courier New", monospace;
  letter-spacing: .05em;
}
.about-gk-card h3 { margin-top: 12px; font-size: 24px; line-height: 1.2; font-weight: 400; }
.about-gk-card p { max-width: 360px; margin-top: 8px; color: var(--agk-soft-ink); font-size: 14px; line-height: 1.55; }

.about-gk-proof {
  height: 520px;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--agk-paper);
  text-align: center;
  background: #1b1b19;
}
.about-gk-proof > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 37%; filter: saturate(.86) contrast(1.03); }
.about-gk-proof > div { position: absolute; inset: 0; background: rgba(7,7,6,.64); }
.about-gk-proof blockquote { position: relative; z-index: 2; width: min(900px, 86vw); }
.about-gk-proof blockquote p { font-size: clamp(34px, 4vw, 54px); line-height: 1.08; letter-spacing: -.05em; }
.about-gk-proof cite { display: block; margin-top: 25px; font: normal 10px/1.3 "Courier New", monospace; letter-spacing: .06em; text-transform: uppercase; }

.about-gk-split {
  min-height: 600px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-bottom: 1px solid var(--agk-line);
}
.about-gk-split--reverse .about-gk-split__visual { grid-column: 2; grid-row: 1; }
.about-gk-split--reverse .about-gk-split__copy { grid-column: 1; grid-row: 1; }
.about-gk-split__visual { min-height: 600px; overflow: hidden; background: var(--agk-muted); }
.about-gk-split__visual img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.9) contrast(1.02); transition: transform var(--agk-motion-standard) var(--agk-motion-ease); }
.about-gk-split__visual:hover img { transform: scale(1.035); }
.about-gk-split__visual--product { display: flex; align-items: center; justify-content: center; padding: 8vw; background: var(--agk-cream); }
.about-gk-split__visual--product img { width: min(560px, 82%); height: auto; max-height: 520px; object-fit: contain; filter: none; }
.about-gk-split--reverse .about-gk-split__visual img { object-position: center 25%; }
.about-gk-split__copy { padding: 72px 6.3vw; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.about-gk-split__copy h2 {
  max-width: 600px;
  margin: 18px 0 24px;
  font-size: clamp(36px, 3.4vw, 44px);
  line-height: 1.04;
  font-weight: 400;
  letter-spacing: -.05em;
}
.about-gk-split__copy > p:not(.about-gk-eyebrow) { max-width: 560px; margin-bottom: 20px; color: var(--agk-soft-ink); font-size: 16px; line-height: 1.6; }
.about-gk-feature-list { width: 100%; max-width: 580px; margin: 14px 0 30px; border-top: 1px solid var(--agk-line); }
.about-gk-feature-list article { padding: 17px 0; border-bottom: 1px solid var(--agk-line); display: grid; grid-template-columns: 44px 1fr; gap: 14px; }
.about-gk-feature-list article > span { padding-top: 3px; font: 10px/1.3 "Courier New", monospace; }
.about-gk-feature-list h3 { margin-bottom: 4px; font-size: 16px; line-height: 1.25; font-weight: 500; }
.about-gk-feature-list p { color: var(--agk-soft-ink); font-size: 13px; line-height: 1.5; }
.about-gk-support { width: 100%; max-width: 540px; margin-top: 18px; padding-top: 22px; border-top: 1px solid var(--agk-line); }
.about-gk-support > span { display: block; margin-bottom: 12px; font: 10px/1.3 "Courier New", monospace; letter-spacing: .05em; text-transform: uppercase; }
.about-gk-support a { display: inline-block; margin-bottom: 14px; font-size: 22px; text-decoration: underline; text-underline-offset: 5px; }
.about-gk-support address { color: var(--agk-soft-ink); font-size: 13px; line-height: 1.55; font-style: normal; }

.about-gk-responsibility { border-bottom: 1px solid var(--agk-line); }
.about-gk-responsibility > header {
  min-height: 420px;
  padding: 76px 6.3vw;
  display: grid;
  grid-template-columns: 1fr 1.7fr;
  gap: 7vw;
  align-content: center;
  background: var(--agk-stone);
  color: var(--agk-ink);
}
.about-gk-responsibility header h2 {
  grid-column: 2;
  grid-row: 1 / 3;
  font-size: clamp(42px, 4.5vw, 64px);
  line-height: 1.02;
  font-weight: 400;
  letter-spacing: -.055em;
}
.about-gk-responsibility header > p:last-child { grid-column: 2; max-width: 600px; margin-top: 25px; color: var(--agk-soft-ink); font-size: 16px; line-height: 1.58; }
.about-gk-principles { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--agk-line); }
.about-gk-principles article { min-height: 330px; padding: 30px 3.1vw; border-right: 1px solid var(--agk-line); display: flex; flex-direction: column; }
.about-gk-principles article:last-child { border-right: 0; }
.about-gk-principles article > span { font: 10px/1.3 "Courier New", monospace; }
.about-gk-principles h3 { margin-top: auto; font-size: 24px; line-height: 1.16; font-weight: 400; }
.about-gk-principles p { margin-top: 13px; color: var(--agk-soft-ink); font-size: 14px; line-height: 1.55; }

.about-gk-disclaimer {
  min-height: 130px;
  padding: 30px 6.3vw;
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 28px;
  align-items: start;
  border-bottom: 1px solid var(--agk-line);
  background: var(--agk-stone);
}
.about-gk-disclaimer span { font: 10px/1.45 "Courier New", monospace; letter-spacing: .05em; text-transform: uppercase; }
.about-gk-disclaimer p { max-width: 960px; color: var(--agk-soft-ink); font-size: 13px; line-height: 1.6; }

.about-gk-cta {
  min-height: 330px;
  padding: 62px 6.3vw;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7vw;
  align-items: center;
  background: #101010;
  color: var(--agk-paper);
}
.about-gk-cta h2 { max-width: 610px; margin-top: 18px; font-size: clamp(38px, 4vw, 54px); line-height: 1.05; font-weight: 400; letter-spacing: -.05em; }
.about-gk-cta > div:last-child > p { max-width: 470px; margin-bottom: 25px; font-size: 17px; line-height: 1.55; }

.about-gk-footer { padding: 55px 6.3vw 30px; background: #050505; color: var(--agk-paper); }
.about-gk-footer__grid { padding-bottom: 60px; display: grid; grid-template-columns: 1.3fr .8fr .8fr 1.1fr; gap: 35px; }
.about-gk-footer__brand img { width: 118px; }
.about-gk-footer__brand p { max-width: 250px; margin-top: 22px; color: #b7b7b4; font-size: 14px; line-height: 1.55; }
.about-gk-footer nav h3,
.about-gk-footer__contact span { display: block; margin-bottom: 18px; color: #f5f4ef; font: 10px/1.3 "Courier New", monospace; letter-spacing: .06em; text-transform: uppercase; }
.about-gk-footer nav a { display: block; width: max-content; color: #c9c8c2; font-size: 14px; line-height: 2.15; }
.about-gk-footer nav a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.about-gk-footer__contact { display: block; margin: 0; }
.about-gk-footer__contact > div { margin-bottom: 22px; }
.about-gk-footer__contact a,
.about-gk-footer__contact p { color: #c9c8c2; font-size: 13px; line-height: 1.65; }
.about-gk-footer__note { padding-top: 25px; border-top: 1px solid #333; display: flex; justify-content: space-between; gap: 20px; color: #999; font-size: 12px; line-height: 1.5; }

@keyframes aboutGkMarquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  .about-gk-ticker > div { animation: none; }
  .about-gk-card img,
  .about-gk-split__visual img,
  .about-gk-menu-icon::before,
  .about-gk-menu-icon::after,
  .about-gk-menu-icon i,
  .about-gk-header-nav a::after,
  .about-gk-button,
  .about-gk-page .header-shop,
  .about-gk-page .menu-button { transition: none; }
}

@media (max-width: 900px) {
  .about-gk-section-heading,
  .about-gk-responsibility > header { grid-template-columns: 1fr 1.8fr; }
  .about-gk-split__copy { padding-inline: 5vw; }
  .about-gk-principles { grid-template-columns: 1fr 1fr; }
  .about-gk-principles article:nth-child(2) { border-right: 0; }
  .about-gk-principles article:nth-child(-n + 2) { border-bottom: 1px solid var(--agk-line); }
  .about-gk-footer__grid { grid-template-columns: 1.3fr 1fr 1fr; }
  .about-gk-footer__contact { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; }
}

@media (max-width: 700px) {
  .about-gk-page .site-header { top: 0; height: 65px; padding: 0 20px; grid-template-columns: 1fr 1fr; }
  .about-gk-page .site-header .brand img { height: 25px; }
  .about-gk-page .site-header .brand { position: absolute; left: 50%; transform: translateX(-50%); }
  .about-gk-page .header-actions { justify-self: start; }
  .about-gk-header-nav { display: none; }
  .about-gk-page .header-shop { display: none; }
  .about-gk-page .menu-button { width: 42px; min-height: 42px; }
  .about-gk-page .menu-overlay { top: 65px; height: calc(100dvh - 65px); }
  .about-gk-page .menu-overlay nav { padding: 24px 20px 34px; grid-template-columns: 1fr; transform: translateY(-100%); transition-duration: var(--agk-motion-standard); }
  .about-gk-page .menu-overlay nav a { padding: 11px 0; font-size: 27px; }
  .about-gk-hero { min-height: 530px; height: calc(100svh - 113px); max-height: 680px; margin-top: 65px; display: flex; align-items: flex-end; }
  .about-gk-hero > img { object-position: 61% center; }
  .about-gk-hero__shade { background: linear-gradient(180deg, rgba(8,8,7,.06) 20%, rgba(8,8,7,.86) 86%); }
  .about-gk-hero__copy { width: 100%; height: auto; margin: 0; padding: 0 20px 43px; align-items: center; text-align: center; }
  .about-gk-hero h1 { margin: 13px 0 17px; font-size: 40px; line-height: 1.03; }
  .about-gk-hero__copy > p:not(.about-gk-eyebrow) { margin-bottom: 22px; font-size: 15px; line-height: 1.5; }
  .about-gk-ticker { height: 48px; }
  .about-gk-ticker > div { gap: 30px; padding-left: 30px; font-size: 10px; }
  .about-gk-purpose { min-height: 0; padding: 62px 20px 66px; align-items: flex-start; text-align: left; }
  .about-gk-purpose h2 { margin: 16px 0 22px; font-size: 36px; }
  .about-gk-purpose > p:last-child { font-size: 16px; }
  .about-gk-discovery { padding: 56px 0 64px; }
  .about-gk-section-heading { display: block; padding: 0 20px; margin-bottom: 34px; }
  .about-gk-section-heading h2 { margin-top: 15px; font-size: 32px; }
  .about-gk-section-heading > p:last-child { margin-top: 18px; font-size: 15px; }
  .about-gk-card-row { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 0 20px 8px; scrollbar-width: none; }
  .about-gk-card-row::-webkit-scrollbar { display: none; }
  .about-gk-card { flex: 0 0 284px; scroll-snap-align: start; }
  .about-gk-card h3 { font-size: 20px; }
  .about-gk-proof { height: 540px; }
  .about-gk-proof > img { object-position: center; }
  .about-gk-proof blockquote { width: auto; padding: 0 20px; }
  .about-gk-proof blockquote p { font-size: 34px; }
  .about-gk-split,
  .about-gk-split--reverse { display: flex; flex-direction: column; }
  .about-gk-split__visual,
  .about-gk-split--reverse .about-gk-split__visual { min-height: 430px; order: 1; }
  .about-gk-split__copy,
  .about-gk-split--reverse .about-gk-split__copy { order: 2; padding: 58px 20px 64px; }
  .about-gk-split__copy h2 { margin: 15px 0 20px; font-size: 32px; }
  .about-gk-split__visual--product { padding: 62px 34px; }
  .about-gk-split--reverse .about-gk-split__visual img { object-position: center 28%; }
  .about-gk-support a { font-size: 19px; }
  .about-gk-responsibility > header { min-height: 0; padding: 60px 20px 64px; display: block; }
  .about-gk-responsibility header h2 { margin-top: 16px; font-size: 40px; }
  .about-gk-responsibility header > p:last-child { margin-top: 22px; font-size: 15px; }
  .about-gk-principles { grid-template-columns: 1fr; }
  .about-gk-principles article { min-height: 280px; padding: 28px 20px; border-right: 0; border-bottom: 1px solid var(--agk-line); }
  .about-gk-principles article:last-child { border-bottom: 0; }
  .about-gk-disclaimer { padding: 26px 20px; grid-template-columns: 1fr; gap: 12px; }
  .about-gk-cta { min-height: 430px; padding: 55px 20px; display: block; }
  .about-gk-cta h2 { margin: 16px 0 38px; font-size: 38px; }
  .about-gk-cta > div:last-child > p { font-size: 15px; }
  .about-gk-footer { padding: 46px 20px 26px; }
  .about-gk-footer__grid { grid-template-columns: 1fr 1fr; gap: 46px 20px; }
  .about-gk-footer__brand { grid-column: 1 / -1; }
  .about-gk-footer__contact { grid-template-columns: 1fr; }
  .about-gk-footer__note { display: block; }
  .about-gk-footer__note span { display: block; margin-top: 9px; }
}

/* Mivio conversion preview routes: /shop3, /product3, /about3, /waitlist3 */
.m3-page {
  --m3-ink: #20201f;
  --m3-muted: #6f6c66;
  --m3-paper: #fffdf8;
  --m3-cream: #f4efe5;
  --m3-gold: #b48645;
  --m3-gold-dark: #946b34;
  --m3-line: rgba(32, 32, 31, .14);
  min-height: 100vh;
  overflow: clip;
  color: var(--m3-ink);
  background: var(--m3-paper);
  font-family: "Poppins", Arial, sans-serif;
}

.m3-page *, .m3-page *::before, .m3-page *::after { box-sizing: border-box; }
.m3-page img { display: block; max-width: 100%; }
.m3-page h1, .m3-page h2, .m3-page h3, .m3-page p, .m3-page blockquote { margin-top: 0; }
.m3-page h1, .m3-page h2 { letter-spacing: -.055em; }
.m3-page h1 em, .m3-page h2 em { color: var(--m3-gold); font-family: "Reckless Neue", Georgia, serif; font-weight: 400; }
.m3-wrap { width: min(1320px, calc(100% - 64px)); margin-inline: auto; }

.m3-announcement { display: flex; min-height: 40px; align-items: center; justify-content: center; gap: 28px; padding: 9px 24px; color: #fff; background: var(--m3-gold); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.m3-announcement a { color: inherit; }
.m3-header { position: relative; z-index: 20; display: grid; min-height: 88px; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 clamp(24px, 4.5vw, 72px); border-bottom: 1px solid var(--m3-line); background: rgba(255,253,248,.96); }
.m3-brand { width: 112px; }
.m3-brand img { width: 100%; }
.m3-header nav { display: flex; gap: clamp(22px, 3vw, 48px); }
.m3-header nav a { color: inherit; text-decoration: none; font-size: 14px; }
.m3-nav-cta { justify-self: end; padding: 12px 20px; color: #fff; background: var(--m3-ink); text-decoration: none; font-size: 12px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }

.m3-eyebrow { margin-bottom: 18px; color: var(--m3-gold-dark); font-size: 12px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.m3-proof { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 34px; padding: 9px 14px; border: 1px solid var(--m3-line); border-radius: 999px; background: rgba(255,255,255,.65); font-size: 12px; }
.m3-proof span, .m3-review-grid blockquote > span, .m3-balanced-review blockquote > span { color: var(--m3-gold); letter-spacing: .08em; }
.m3-lead { color: #4e4c48; font-size: clamp(18px, 2vw, 23px); line-height: 1.65; }
.m3-button { display: inline-flex; min-height: 58px; align-items: center; justify-content: space-between; gap: 30px; padding: 16px 24px; border: 1px solid transparent; color: #fff; text-decoration: none; font-size: 12px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; transition: transform .2s ease, background .2s ease; }
.m3-button:hover { transform: translateY(-2px); }
.m3-button--dark { background: var(--m3-ink); }
.m3-button--gold { background: var(--m3-gold); }
.m3-button--gold:hover { background: var(--m3-gold-dark); }
.m3-text-link { color: var(--m3-ink); font-size: 14px; font-weight: 700; text-decoration-color: var(--m3-gold); text-underline-offset: 5px; }
.m3-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 34px 0 26px; }
.m3-inline-assurance { display: flex; flex-wrap: wrap; gap: 24px; padding: 0; list-style: none; color: #4c4a46; font-size: 12px; }
.m3-inline-assurance li::before, .m3-checks li::before { content: "✓"; margin-right: 9px; color: var(--m3-gold-dark); font-weight: 700; }
.m3-section-heading { display: grid; grid-template-columns: 1.05fr .75fr; gap: 80px; align-items: end; margin-bottom: 54px; }
.m3-section-heading h2 { max-width: 720px; margin-bottom: 0; font-size: clamp(42px, 5.2vw, 72px); line-height: .98; }
.m3-section-heading > p { margin-bottom: 0; color: var(--m3-muted); font-size: 16px; line-height: 1.8; }

.m3-hero { display: grid; min-height: 720px; grid-template-columns: .9fr 1.1fr; gap: clamp(46px, 7vw, 110px); align-items: center; padding-block: 72px 88px; }
.m3-hero h1 { max-width: 660px; margin-bottom: 28px; font-size: clamp(58px, 6.7vw, 96px); line-height: .94; }
.m3-hero__copy > small { display: block; max-width: 580px; margin-top: 20px; color: var(--m3-muted); line-height: 1.55; }
.m3-hero__visual { position: relative; height: 620px; }
.m3-hero__visual > img { width: 100%; height: 100%; object-fit: cover; }
.m3-float-card { position: absolute; display: grid; gap: 4px; min-width: 230px; padding: 18px 20px; box-shadow: 0 18px 50px rgba(32,25,18,.16); background: rgba(255,253,248,.96); font-size: 13px; }
.m3-float-card span { color: var(--m3-muted); font-size: 11px; }
.m3-float-card--top { top: 32px; left: -32px; }
.m3-float-card--bottom { right: -20px; bottom: 36px; max-width: 330px; }
.m3-statbar { display: grid; grid-template-columns: repeat(4, 1fr); padding: 34px max(32px, calc((100vw - 1320px)/2)); color: #fff; background: var(--m3-ink); }
.m3-statbar div { display: grid; gap: 3px; padding: 0 28px; border-right: 1px solid rgba(255,255,255,.18); }
.m3-statbar div:last-child { border: 0; }
.m3-statbar b { color: #d4b27e; font-family: "Reckless Neue", Georgia, serif; font-size: 28px; font-weight: 400; }
.m3-statbar span { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }

.m3-product-intro { padding-block: 125px; }
.m3-product-card { display: grid; grid-template-columns: 1.1fr .9fr; background: var(--m3-cream); }
.m3-product-card__image { position: relative; min-height: 560px; background: #e9e3d8; }
.m3-product-card__image img { width: 100%; height: 100%; object-fit: cover; }
.m3-product-card__image > span { position: absolute; top: 24px; left: 24px; padding: 10px 14px; color: #fff; background: var(--m3-gold); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.m3-product-card__copy { align-self: center; padding: clamp(40px, 6vw, 90px); }
.m3-product-card h3 { margin-bottom: 28px; font-family: "Reckless Neue", Georgia, serif; font-size: clamp(38px, 4vw, 58px); font-weight: 400; line-height: 1.05; }
.m3-checks { display: grid; gap: 14px; margin: 0 0 30px; padding: 0; list-style: none; color: #4e4c48; font-size: 14px; line-height: 1.55; }
.m3-moments { padding-block: 125px; background: var(--m3-cream); }
.m3-moment-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.m3-moment-grid article > div { position: relative; height: 430px; overflow: hidden; }
.m3-moment-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.m3-moment-grid article:hover img { transform: scale(1.025); }
.m3-moment-grid article > div span { position: absolute; right: 18px; bottom: 16px; color: #fff; font-family: "Reckless Neue", Georgia, serif; font-size: 56px; }
.m3-moment-grid h3 { margin: 20px 0 9px; font-size: 24px; }
.m3-moment-grid p { color: var(--m3-muted); font-size: 14px; line-height: 1.7; }
.m3-how { padding-block: 125px; }
.m3-step-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--m3-line); }
.m3-step-grid article { min-height: 250px; padding: 32px; border-right: 1px solid var(--m3-line); }
.m3-step-grid article:last-child { border: 0; }
.m3-step-grid span, .m3-value-grid > article > span, .m3-waitlist-guide article > span { color: var(--m3-gold); font-family: "Reckless Neue", Georgia, serif; font-size: 36px; }
.m3-step-grid h3 { margin: 44px 0 12px; font-size: 22px; }
.m3-step-grid p { color: var(--m3-muted); font-size: 14px; line-height: 1.7; }
.m3-reviews { padding-block: 125px; color: #fff; background: var(--m3-ink); }
.m3-reviews .m3-eyebrow, .m3-balanced-review .m3-eyebrow { color: #d4b27e; }
.m3-reviews .m3-section-heading > p { color: rgba(255,255,255,.66); }
.m3-review-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.m3-review-grid blockquote { display: flex; min-height: 300px; flex-direction: column; margin-bottom: 0; padding: 34px; border: 1px solid rgba(255,255,255,.15); background: rgba(255,255,255,.04); }
.m3-review-grid blockquote > p { margin: 26px 0 auto; font-family: "Reckless Neue", Georgia, serif; font-size: 22px; line-height: 1.45; }
.m3-review-grid footer { display: grid; gap: 2px; margin-top: 28px; }
.m3-review-grid small, .m3-disclosure { color: rgba(255,255,255,.58); font-size: 11px; }
.m3-disclosure { margin-top: 24px; }
.m3-contrast { display: grid; grid-template-columns: 1fr 1fr; margin-block: 125px; background: var(--m3-cream); }
.m3-contrast__image { min-height: 640px; }
.m3-contrast__image img { width: 100%; height: 100%; object-fit: cover; }
.m3-contrast__copy { align-self: center; padding: clamp(42px, 6vw, 90px); }
.m3-contrast__copy h2 { margin-bottom: 36px; font-size: clamp(43px, 5vw, 70px); line-height: 1; }
.m3-compare { display: grid; gap: 18px; margin-bottom: 30px; }
.m3-compare article { padding: 20px 0; border-top: 1px solid var(--m3-line); }
.m3-compare span { color: var(--m3-gold-dark); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.m3-compare h3 { margin: 7px 0; }
.m3-compare p { margin-bottom: 0; color: var(--m3-muted); font-size: 13px; line-height: 1.65; }

/* Product preview */
.m3-product-hero { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(50px, 7vw, 100px); padding-block: 72px 110px; }
.m3-product-hero .product-gallery { position: sticky; top: 24px; align-self: start; }
.m3-product-hero .product-gallery__stage { height: 650px; background: var(--m3-cream); }
.m3-product-hero .product-gallery__stage img { width: 100%; height: 100%; object-fit: cover; }
.m3-product-hero .product-gallery__thumbnails { display: grid; grid-template-columns: repeat(5,1fr); gap: 8px; margin-top: 10px; }
.m3-product-hero .product-gallery__thumbnails button { height: 86px; padding: 0; overflow: hidden; border: 1px solid transparent; background: var(--m3-cream); cursor: pointer; }
.m3-product-hero .product-gallery__thumbnails button.is-selected { border-color: var(--m3-gold); }
.m3-product-hero .product-gallery__thumbnails img { width: 100%; height: 100%; object-fit: cover; }
.m3-product-hero__copy { padding-top: 16px; }
.m3-product-hero h1 { margin-bottom: 14px; font-size: clamp(64px, 6vw, 92px); line-height: .95; }
.m3-status { display: inline-block; margin-bottom: 26px; padding: 8px 12px; color: #fff; background: var(--m3-gold); font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.m3-product-hero .m3-lead { margin-bottom: 28px; }
.m3-selector { margin: 28px 0; padding-block: 22px; border-block: 1px solid var(--m3-line); }
.m3-selector > span { display: block; margin-bottom: 12px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.m3-selector div { display: flex; gap: 9px; margin-bottom: 10px; }
.m3-selector button { width: 31px; height: 31px; border: 4px solid var(--m3-paper); border-radius: 50%; box-shadow: 0 0 0 1px var(--m3-line); }
.m3-selector .is-blue { background: #92c1d1; }.m3-selector .is-sand { background: #c8b38d; }.m3-selector .is-charcoal { background: #535352; }.m3-selector .is-pink { background: #d9a9ac; }
.m3-selector small, .m3-form-note, .m3-medical-note { color: var(--m3-muted); font-size: 11px; line-height: 1.6; }
.m3-product-hero__copy > .m3-button { width: 100%; }
.m3-form-note { margin: 10px 0 24px; }
.m3-product-promises { display: grid; grid-template-columns: repeat(3, 1fr); margin-bottom: 22px; padding-block: 18px; border-block: 1px solid var(--m3-line); text-align: center; font-size: 10px; font-weight: 700; text-transform: uppercase; }
.m3-product-promises span { padding: 0 8px; border-right: 1px solid var(--m3-line); }.m3-product-promises span:last-child { border: 0; }
.m3-mode-section { padding-block: 125px; background: var(--m3-cream); }
.m3-mode-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.m3-mode-grid article { min-height: 310px; padding: 30px; border-left: 1px solid var(--m3-line); }
.m3-mode-grid article:first-child { border: 0; }
.m3-mode-grid article > span { color: var(--m3-gold); font-family: "Reckless Neue", Georgia, serif; font-size: 34px; }
.m3-mode-grid article > p:first-of-type { margin: 44px 0 6px; color: var(--m3-gold-dark); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.m3-mode-grid h3 { margin-bottom: 18px; font-family: "Reckless Neue", Georgia, serif; font-size: 38px; font-weight: 400; }
.m3-mode-grid article > p:last-child { color: var(--m3-muted); font-size: 13px; line-height: 1.7; }
.m3-mechanism { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: center; padding-block: 125px; }
.m3-mechanism h2, .m3-specs h2, .m3-end-cta h2 { font-size: clamp(46px, 5vw, 72px); line-height: 1; }
.m3-mechanism__copy > p:not(.m3-eyebrow) { color: var(--m3-muted); font-size: 16px; line-height: 1.8; }
.m3-mechanism ol { margin: 35px 0 0; padding: 0; list-style: none; }
.m3-mechanism li { display: grid; grid-template-columns: 100px 1fr; padding: 18px 0; border-top: 1px solid var(--m3-line); }
.m3-mechanism li b { color: var(--m3-gold-dark); }.m3-mechanism li span { color: var(--m3-muted); }
.m3-mechanism__image { position: relative; height: 670px; }.m3-mechanism__image img { width: 100%; height: 100%; object-fit: cover; }.m3-mechanism__image span { position: absolute; right: 18px; bottom: 18px; padding: 10px 14px; background: var(--m3-paper); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.m3-expect { padding-block: 125px; color: #fff; background: var(--m3-ink); }.m3-expect .m3-eyebrow { color: #d4b27e; }.m3-expect .m3-section-heading > p { color: rgba(255,255,255,.65); }
.m3-expect-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(255,255,255,.17); }
.m3-expect-grid article { min-height: 200px; padding: 30px; border-right: 1px solid rgba(255,255,255,.17); border-bottom: 1px solid rgba(255,255,255,.17); }.m3-expect-grid article:nth-child(3n){border-right:0}.m3-expect-grid h3 { color: #d4b27e; font-size: 18px; }.m3-expect-grid p { margin-bottom: 0; color: rgba(255,255,255,.69); font-size: 13px; line-height: 1.7; }
.m3-specs { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; padding-block: 125px; }.m3-specs__image { height: 720px; }.m3-specs__image img { width: 100%; height: 100%; object-fit: cover; }.m3-specs__copy { align-self: center; }.m3-specs details, .m3-faq details, .m3-waitlist-faq details { border-top: 1px solid var(--m3-line); }.m3-specs summary, .m3-faq summary, .m3-waitlist-faq summary { padding: 20px 34px 20px 0; cursor: pointer; font-size: 15px; font-weight: 700; }.m3-specs details > p, .m3-specs details > ul, .m3-faq details > p, .m3-waitlist-faq details > p { margin: 0 0 22px; color: var(--m3-muted); font-size: 13px; line-height: 1.75; }.m3-specs details > ul { padding-left: 18px; }
.m3-balanced-review { padding-block: 125px; color: #fff; background: var(--m3-ink); }.m3-balanced-review .m3-wrap { display: grid; grid-template-columns: .65fr 1.35fr; gap: 80px; }.m3-balanced-review h2 { font-size: clamp(43px,5vw,70px); line-height: 1; }.m3-balanced-review__cards { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }.m3-balanced-review blockquote { margin: 0; padding: 34px; border: 1px solid rgba(255,255,255,.16); }.m3-balanced-review blockquote p { margin: 30px 0; font-family: "Reckless Neue", Georgia, serif; font-size: 22px; line-height: 1.45; }.m3-balanced-review blockquote footer { color: rgba(255,255,255,.58); font-size: 11px; }.m3-balanced-review .m3-disclosure { grid-column: 2; margin: 0; }
.m3-faq { padding-block: 125px; }.m3-faq-grid { display: grid; grid-template-columns: 1fr 1fr; column-gap: 50px; }.m3-faq-grid details:nth-last-child(-n+2) { border-bottom: 1px solid var(--m3-line); }
.m3-end-cta { display: grid; grid-template-columns: 1fr 1fr; min-height: 600px; background: var(--m3-cream); }.m3-end-cta > div { align-self: center; padding: clamp(45px,8vw,130px); }.m3-end-cta > div > p:not(.m3-eyebrow) { color: var(--m3-muted); line-height: 1.75; }.m3-end-cta img { width: 100%; height: 100%; object-fit: cover; }

/* About preview */
.m3-about-hero { display: grid; min-height: 760px; grid-template-columns: .9fr 1.1fr; gap: 90px; align-items: center; padding-block: 76px 100px; }.m3-about-hero h1 { font-size: clamp(65px,7vw,104px); line-height: .92; }.m3-about-hero__image { position: relative; height: 650px; }.m3-about-hero__image img { width: 100%; height: 100%; object-fit: cover; }.m3-about-hero__image aside { position: absolute; right: -20px; bottom: 28px; display: grid; gap: 4px; padding: 20px 24px; background: var(--m3-paper); box-shadow: 0 20px 50px rgba(33,27,21,.15); }.m3-about-hero__image aside span { color: var(--m3-muted); font-size: 11px; }
.m3-about-story { padding-block: 125px; color: #fff; background: var(--m3-ink); }.m3-about-story .m3-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; }.m3-about-story .m3-eyebrow { color: #d4b27e; }.m3-about-story h2 { font-size: clamp(48px,5.6vw,78px); line-height: 1; }.m3-about-story__body { padding-top: 36px; }.m3-about-story__body p { color: rgba(255,255,255,.72); font-size: 17px; line-height: 1.85; }.m3-about-story__body p:last-child { color: #fff; }
.m3-origin { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: center; padding-block: 125px; }.m3-origin__image { height: 680px; }.m3-origin__image img { width: 100%; height: 100%; object-fit: cover; }.m3-origin h2 { font-size: clamp(45px,5vw,72px); line-height: 1; }.m3-origin__copy > p:not(.m3-eyebrow) { color: var(--m3-muted); font-size: 16px; line-height: 1.8; }.m3-origin dl { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 40px; }.m3-origin dl div { padding-right: 16px; border-right: 1px solid var(--m3-line); }.m3-origin dl div:last-child { border:0; }.m3-origin dt { color: var(--m3-gold-dark); font-family: "Reckless Neue", Georgia, serif; font-size: 31px; }.m3-origin dd { margin: 5px 0 0; color: var(--m3-muted); font-size: 10px; text-transform: uppercase; }
.m3-values { padding-block: 125px; background: var(--m3-cream); }.m3-value-grid { display: grid; grid-template-columns: repeat(4,1fr); }.m3-value-grid article { min-height: 290px; padding: 28px; border-left: 1px solid var(--m3-line); }.m3-value-grid article:first-child { border: 0; }.m3-value-grid h3 { margin: 48px 0 14px; font-size: 20px; }.m3-value-grid p { color: var(--m3-muted); font-size: 13px; line-height: 1.72; }
.m3-materials { display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; align-items: center; padding-block: 125px; }.m3-materials h2 { font-size: clamp(48px,5.2vw,74px); line-height: 1; }.m3-materials div > p:not(.m3-eyebrow) { color: var(--m3-muted); line-height: 1.8; }.m3-materials img { width: 100%; height: 620px; object-fit: cover; }
.m3-local { padding-block: 110px; color: #fff; background: var(--m3-ink); }.m3-local .m3-wrap { display: grid; grid-template-columns: 1fr .7fr; gap: 100px; align-items: center; }.m3-local .m3-eyebrow { color: #d4b27e; }.m3-local h2 { font-size: clamp(46px,5vw,70px); }.m3-local > .m3-wrap > div:first-child > p:not(.m3-eyebrow) { color: rgba(255,255,255,.68); }.m3-local .m3-text-link { color: #fff; }.m3-local__card { padding: 38px; border: 1px solid rgba(255,255,255,.16); }.m3-local__card > span { color: #d4b27e; font-size: 11px; font-weight: 700; text-transform: uppercase; }.m3-local__card p { margin: 22px 0; font-family: "Reckless Neue", Georgia, serif; font-size: 24px; line-height: 1.5; }.m3-local__card small { color: rgba(255,255,255,.55); }
.m3-about-cta { display: grid; grid-template-columns: 1fr 1fr; min-height: 590px; background: var(--m3-cream); }.m3-about-cta > img { width: 100%; height: 100%; object-fit: cover; }.m3-about-cta > div { align-self: center; padding: clamp(45px,8vw,120px); }.m3-about-cta h2 { font-size: clamp(48px,5vw,74px); line-height: 1; }.m3-about-cta div > p:not(.m3-eyebrow) { color: var(--m3-muted); line-height: 1.8; }

/* Waitlist preview */
.m3-waitlist-page { background: var(--m3-cream); }.m3-waitlist-hero { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; align-items: center; padding-block: 80px 110px; }.m3-waitlist-hero h1 { font-size: clamp(58px,6.6vw,96px); line-height: .94; }.m3-waitlist-benefits { display: grid; gap: 0; margin: 36px 0 20px; padding: 0; list-style: none; }.m3-waitlist-benefits li { display: grid; grid-template-columns: 150px 1fr; padding: 14px 0; border-top: 1px solid var(--m3-line); }.m3-waitlist-benefits b { font-size: 13px; }.m3-waitlist-benefits span { color: var(--m3-muted); font-size: 13px; }.m3-waitlist-card { min-height: 620px; padding: clamp(30px,5vw,66px); background: var(--m3-paper); box-shadow: 0 25px 70px rgba(50,42,33,.1); }.m3-waitlist-card__heading { display: grid; grid-template-columns: 55px 1fr; gap: 16px; margin-bottom: 22px; }.m3-waitlist-card__heading > span { color: var(--m3-gold); font-family: "Reckless Neue", Georgia, serif; font-size: 34px; }.m3-waitlist-card__heading h2 { margin-bottom: 4px; font-size: 43px; }.m3-waitlist-card__heading p { margin-bottom: 0; color: var(--m3-muted); font-size: 13px; }.m3-waitlist-card iframe { min-height: 430px; }.m3-privacy-note { margin-bottom: 0; color: var(--m3-muted); font-size: 10px; line-height: 1.6; }
.m3-waitlist-guide { padding-block: 110px; color: #fff; background: var(--m3-ink); }.m3-waitlist-guide .m3-eyebrow { color: #d4b27e; }.m3-waitlist-guide h2 { max-width: 720px; font-size: clamp(48px,5.4vw,76px); line-height: 1; }.m3-waitlist-guide__grid { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 55px; }.m3-waitlist-guide article { min-height: 240px; padding: 30px; border-left: 1px solid rgba(255,255,255,.16); }.m3-waitlist-guide article:first-child { border:0; }.m3-waitlist-guide article h3 { margin: 38px 0 12px; }.m3-waitlist-guide article p { color: rgba(255,255,255,.65); font-size: 13px; line-height: 1.7; }
.m3-waitlist-proof { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; padding-block: 125px; }.m3-waitlist-proof__image { height: 620px; }.m3-waitlist-proof__image img { width: 100%; height: 100%; object-fit: cover; }.m3-waitlist-proof blockquote { margin: 30px 0; font-family: "Reckless Neue", Georgia, serif; font-size: clamp(34px,4vw,54px); line-height: 1.25; }.m3-waitlist-proof blockquote footer { margin-top: 20px; color: var(--m3-gold-dark); font-family: "Poppins",sans-serif; font-size: 11px; font-weight: 700; text-transform: uppercase; }.m3-waitlist-proof div > p:not(.m3-eyebrow) { color: var(--m3-muted); font-size: 12px; line-height: 1.7; }
.m3-waitlist-faq { display: grid; grid-template-columns: .7fr 1.3fr; gap: 100px; padding-block: 110px 130px; }.m3-waitlist-faq h2 { font-size: clamp(48px,5vw,72px); }

.m3-footer { padding: 70px clamp(32px,5vw,80px) 30px; color: #fff; background: #171716; }.m3-footer__top { display: grid; grid-template-columns: 1fr .65fr 1fr; gap: 70px; padding-bottom: 55px; border-bottom: 1px solid rgba(255,255,255,.15); }.m3-footer__top > div:first-child img { width: 120px; }.m3-footer__top > div:first-child p { max-width: 280px; margin-top: 25px; color: rgba(255,255,255,.6); font-size: 13px; line-height: 1.7; }.m3-footer nav { display: grid; align-content: start; gap: 12px; }.m3-footer nav a { color: #fff; font-size: 13px; text-decoration: none; }.m3-footer__contact { color: #fff; }.m3-footer__contact span { color: #d4b27e; }.m3-footer__contact a, .m3-footer__contact p { color: rgba(255,255,255,.7); }.m3-footer__bottom { display: flex; justify-content: space-between; gap: 30px; padding-top: 28px; color: rgba(255,255,255,.48); font-size: 10px; }

@media (max-width: 900px) {
  .m3-wrap { width: min(100% - 36px, 680px); }
  .m3-announcement span { display: none; }
  .m3-header { min-height: 74px; grid-template-columns: 1fr auto; padding: 0 18px; }.m3-header nav { display: none; }.m3-nav-cta { font-size: 10px; }.m3-brand { width: 96px; }
  .m3-section-heading, .m3-hero, .m3-product-card, .m3-contrast, .m3-product-hero, .m3-mechanism, .m3-specs, .m3-balanced-review .m3-wrap, .m3-end-cta, .m3-about-hero, .m3-about-story .m3-wrap, .m3-origin, .m3-materials, .m3-local .m3-wrap, .m3-about-cta, .m3-waitlist-hero, .m3-waitlist-proof, .m3-waitlist-faq { grid-template-columns: 1fr; gap: 45px; }
  .m3-hero { padding-top: 56px; }.m3-hero__visual { height: 520px; }.m3-float-card--top { left: -10px; }.m3-float-card--bottom { right: -8px; }
  .m3-statbar { grid-template-columns: 1fr 1fr; padding: 26px 18px; }.m3-statbar div { padding: 18px; border-bottom: 1px solid rgba(255,255,255,.18); }.m3-statbar div:nth-child(2) { border-right:0; }.m3-statbar div:nth-last-child(-n+2) { border-bottom:0; }
  .m3-moment-grid, .m3-review-grid, .m3-mode-grid, .m3-value-grid { grid-template-columns: 1fr 1fr; }.m3-moment-grid article > div { height: 360px; }.m3-review-grid blockquote:last-child { grid-column: 1 / -1; }.m3-step-grid, .m3-expect-grid, .m3-waitlist-guide__grid { grid-template-columns: 1fr; }.m3-step-grid article, .m3-expect-grid article, .m3-waitlist-guide article { border-right: 0; border-left:0; border-bottom: 1px solid var(--m3-line); }.m3-expect-grid article { border-color: rgba(255,255,255,.16); }
  .m3-product-hero .product-gallery { position: static; }.m3-product-hero .product-gallery__stage { height: 560px; }.m3-mode-grid article:nth-child(odd), .m3-value-grid article:nth-child(odd) { border-left:0; }
  .m3-balanced-review .m3-disclosure { grid-column: auto; }.m3-faq-grid, .m3-balanced-review__cards { grid-template-columns: 1fr; }.m3-about-hero__image, .m3-origin__image, .m3-materials img, .m3-waitlist-proof__image { height: 560px; }.m3-about-story__body { padding-top:0; }.m3-origin dl { gap: 14px; }.m3-footer__top { grid-template-columns: 1fr 1fr; }.m3-footer__contact { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
  .m3-wrap { width: calc(100% - 28px); }.m3-announcement { font-size: 10px; }.m3-header { padding-inline: 14px; }.m3-nav-cta { padding: 10px 13px; }
  .m3-hero h1, .m3-product-hero h1, .m3-about-hero h1, .m3-waitlist-hero h1 { font-size: 53px; }.m3-section-heading h2, .m3-mechanism h2, .m3-specs h2, .m3-end-cta h2, .m3-about-story h2, .m3-origin h2, .m3-materials h2, .m3-local h2, .m3-about-cta h2, .m3-waitlist-guide h2 { font-size: 42px; }.m3-section-heading { margin-bottom: 36px; }.m3-actions { display: grid; }.m3-button { width:100%; }
  .m3-hero__visual, .m3-product-hero .product-gallery__stage, .m3-product-card__image, .m3-contrast__image, .m3-mechanism__image, .m3-specs__image, .m3-about-hero__image, .m3-origin__image, .m3-materials img, .m3-waitlist-proof__image { height: 440px; min-height:0; }.m3-float-card { min-width: 200px; max-width: calc(100% - 16px); padding: 13px; }.m3-float-card--bottom { bottom: 12px; }
  .m3-statbar { grid-template-columns: 1fr 1fr; }.m3-statbar b { font-size: 23px; }.m3-statbar span { font-size:9px; }
  .m3-product-intro, .m3-moments, .m3-how, .m3-reviews, .m3-mode-section, .m3-mechanism, .m3-expect, .m3-specs, .m3-balanced-review, .m3-faq, .m3-about-story, .m3-origin, .m3-values, .m3-materials, .m3-local, .m3-waitlist-guide, .m3-waitlist-proof { padding-block: 82px; }
  .m3-moment-grid, .m3-review-grid, .m3-mode-grid, .m3-value-grid, .m3-balanced-review__cards { grid-template-columns: 1fr; }.m3-review-grid blockquote:last-child { grid-column:auto; }.m3-mode-grid article, .m3-value-grid article { border-left:0; border-top: 1px solid var(--m3-line); }.m3-mode-grid article:first-child, .m3-value-grid article:first-child { border-top:0; }.m3-product-promises { grid-template-columns:1fr; gap:10px; text-align:left; }.m3-product-promises span { border-right:0; }.m3-origin dl { grid-template-columns: 1fr; }.m3-origin dl div { padding: 12px 0; border-right:0; border-bottom: 1px solid var(--m3-line); }.m3-waitlist-benefits li { grid-template-columns:1fr; gap:4px; }.m3-waitlist-card { padding: 28px 18px; }.m3-footer__top { grid-template-columns: 1fr; }.m3-footer__contact { grid-column:auto; }.m3-footer__bottom { flex-direction:column; }
}

/* About page, editorial redesign */
.about2-page {
  --about2-ivory: #f7f5f2;
  --about2-paper: #fffdfa;
  --about2-ink: #171717;
  --about2-muted: #706f6c;
  --about2-line: rgba(23, 23, 23, 0.13);
  --about2-gold: #bb8b4b;
  --about2-gold-soft: #efe3d1;
  min-height: 100vh;
  overflow: clip;
  color: var(--about2-ink);
  background: var(--about2-ivory);
  font-family: "Poppins", Arial, sans-serif;
}

.about2-page *,
.about2-page *::before,
.about2-page *::after {
  box-sizing: border-box;
}

.about2-page img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about2-page .site-header {
  top: 52px;
  z-index: 80;
}

.about2-page .site-header::before {
  display: none;
}

.about2-launchbar {
  position: fixed;
  inset: 0 0 auto;
  z-index: 90;
  display: flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 24px;
  padding: 12px 24px;
  color: #fff;
  background: var(--about2-gold);
  font-size: 14px;
  letter-spacing: 0.01em;
}

.about2-launchbar b {
  font-size: 15px;
  letter-spacing: 0.12em;
}

.about2-eyebrow {
  margin: 0;
  color: var(--about2-gold);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1.35;
  text-transform: uppercase;
}

.about2-page h1,
.about2-page h2,
.about2-page h3,
.about2-page p,
.about2-page figure,
.about2-page blockquote {
  margin-top: 0;
}

.about2-page h1,
.about2-page h2 {
  letter-spacing: -0.045em;
}

.about2-page h1 em,
.about2-page h2 em {
  color: var(--about2-gold);
  font-family: "Reckless Neue", Georgia, serif;
  font-weight: 400;
}

.about2-button {
  display: inline-flex;
  min-height: 58px;
  align-items: center;
  justify-content: center;
  gap: 32px;
  padding: 16px 26px;
  border: 1px solid transparent;
  text-decoration: none;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.035em;
  text-transform: uppercase;
  transition: transform 180ms ease, background-color 180ms ease, color 180ms ease;
}

.about2-button:hover {
  transform: translateY(-2px);
}

.about2-button--dark {
  color: #fff;
  background: var(--about2-ink);
}

.about2-button--dark:hover {
  background: #2b2b2b;
}

.about2-button--gold {
  color: #fff;
  background: var(--about2-gold);
}

.about2-button--gold:hover {
  background: #a9793f;
}

.about2-hero {
  display: grid;
  width: min(1440px, calc(100% - 80px));
  min-height: 850px;
  grid-template-columns: minmax(0, 0.94fr) minmax(480px, 0.86fr);
  gap: clamp(60px, 7vw, 118px);
  align-items: center;
  margin: 0 auto;
  padding: 210px 0 100px;
}

.about2-hero__copy {
  max-width: 690px;
}

.about2-proof-pill {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 46px;
  padding: 9px 18px 9px 9px;
  border: 1px solid var(--about2-line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 8px 26px rgba(30, 24, 17, 0.05);
}

.about2-proof-pill > span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--about2-gold);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.about2-proof-pill p {
  display: grid;
  gap: 2px;
  margin-bottom: 0;
  line-height: 1.2;
}

.about2-proof-pill strong {
  font-size: 13px;
}

.about2-proof-pill small {
  color: var(--about2-muted);
  font-size: 11px;
}

.about2-hero h1 {
  max-width: 680px;
  margin: 20px 0 30px;
  font-size: clamp(60px, 5.4vw, 88px);
  font-weight: 600;
  line-height: 0.99;
}

.about2-hero__intro {
  max-width: 610px;
  margin-bottom: 36px;
  color: var(--about2-muted);
  font-size: 19px;
  line-height: 1.75;
}

.about2-hero__actions {
  display: flex;
  align-items: center;
  gap: 28px;
}

.about2-text-link {
  color: var(--about2-ink);
  text-underline-offset: 5px;
  font-size: 13px;
  font-weight: 600;
}

.about2-assurances {
  display: flex;
  gap: 30px;
  margin: 34px 0 0;
  padding: 0;
  list-style: none;
  color: var(--about2-muted);
  font-size: 13px;
}

.about2-assurances li::before {
  margin-right: 8px;
  color: var(--about2-gold);
  content: "✓";
  font-weight: 700;
}

.about2-hero__visual {
  position: relative;
  width: 100%;
  max-width: 660px;
  justify-self: end;
  padding: 0 64px 64px 0;
}

.about2-hero__portrait {
  height: 650px;
  margin: 0;
  overflow: hidden;
  border-radius: 36px;
  box-shadow: 0 30px 80px rgba(31, 25, 19, 0.13);
}

.about2-hero__portrait img {
  object-position: center 20%;
}

.about2-hero__detail {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 220px;
  height: 260px;
  margin: 0;
  overflow: hidden;
  border: 10px solid var(--about2-ivory);
  border-radius: 26px;
  box-shadow: 0 20px 45px rgba(31, 25, 19, 0.16);
}

.about2-hero__detail img {
  object-position: center;
}

.about2-hero__note {
  position: absolute;
  left: -40px;
  bottom: 76px;
  display: flex;
  width: 265px;
  align-items: center;
  gap: 14px;
  padding: 18px 20px;
  border: 1px solid var(--about2-line);
  border-radius: 18px;
  background: rgba(255, 253, 250, 0.94);
  box-shadow: 0 18px 50px rgba(31, 25, 19, 0.14);
  backdrop-filter: blur(12px);
}

.about2-hero__note > span {
  color: var(--about2-gold);
  font-size: 22px;
}

.about2-hero__note p {
  margin-bottom: 0;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
}

.about2-purpose {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.75fr);
  gap: clamp(70px, 10vw, 180px);
  padding: 110px max(40px, calc((100% - 1360px) / 2));
  color: #fff;
  background: var(--about2-ink);
}

.about2-purpose h2 {
  max-width: 720px;
  margin: 18px 0 0;
  font-size: clamp(54px, 5vw, 82px);
  line-height: 1.02;
}

.about2-purpose__copy {
  align-self: end;
  padding-left: 30px;
  border-left: 1px solid rgba(255, 255, 255, 0.22);
}

.about2-purpose__copy p {
  margin-bottom: 20px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 17px;
  line-height: 1.75;
}

.about2-purpose__copy p:first-child {
  color: #fff;
  font-size: 22px;
  font-weight: 500;
}

.about2-approach {
  width: min(1400px, calc(100% - 80px));
  margin: 0 auto;
  padding: 130px 0 140px;
}

.about2-section-heading {
  display: grid;
  max-width: 1000px;
  justify-items: center;
  margin: 0 auto 72px;
  text-align: center;
}

.about2-section-heading h2 {
  max-width: 940px;
  margin: 18px 0 26px;
  font-size: clamp(52px, 5.4vw, 84px);
  line-height: 1.03;
}

.about2-section-heading > p:last-child {
  max-width: 750px;
  margin-bottom: 0;
  color: var(--about2-muted);
  font-size: 18px;
  line-height: 1.7;
}

.about2-moments {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.about2-moment {
  overflow: hidden;
  border: 1px solid var(--about2-line);
  border-radius: 28px;
  background: var(--about2-paper);
  box-shadow: 0 20px 60px rgba(31, 25, 19, 0.055);
}

.about2-moment figure {
  height: 440px;
  margin: 0;
  overflow: hidden;
}

.about2-moment:nth-child(1) figure img {
  object-position: center 25%;
}

.about2-moment:nth-child(2) figure img {
  object-position: center 35%;
}

.about2-moment:nth-child(3) figure img {
  object-position: center 24%;
}

.about2-moment > div {
  position: relative;
  min-height: 190px;
  padding: 30px 30px 32px 72px;
}

.about2-moment > div > span {
  position: absolute;
  top: 34px;
  left: 28px;
  color: var(--about2-gold);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.about2-moment h3 {
  margin-bottom: 10px;
  font-size: 24px;
}

.about2-moment p {
  margin-bottom: 0;
  color: var(--about2-muted);
  font-size: 14px;
  line-height: 1.65;
}

.about2-approach__closing {
  max-width: 930px;
  margin: 62px auto 0;
  padding: 30px 0 0 34px;
  border-top: 1px solid var(--about2-line);
  border-left: 3px solid var(--about2-gold);
  color: var(--about2-muted);
  font-size: 17px;
  line-height: 1.8;
}

.about2-technology {
  display: grid;
  width: min(1400px, calc(100% - 80px));
  grid-template-columns: minmax(420px, 0.9fr) minmax(0, 1fr);
  gap: clamp(60px, 8vw, 130px);
  align-items: center;
  margin: 0 auto;
  padding: 80px 0 150px;
}

.about2-technology__visual {
  position: relative;
}

.about2-technology__visual figure {
  height: 680px;
  margin: 0;
  overflow: hidden;
  border-radius: 34px;
  background: #f4e8e4;
}

.about2-technology__visual img {
  object-fit: contain;
}

.about2-technology__visual > span {
  position: absolute;
  right: -18px;
  bottom: 34px;
  padding: 14px 20px;
  border-radius: 999px;
  color: #fff;
  background: var(--about2-ink);
  font-size: 12px;
  font-weight: 600;
}

.about2-technology__copy h2 {
  margin: 18px 0 30px;
  font-size: clamp(50px, 4.6vw, 74px);
  line-height: 1.03;
}

.about2-technology__lead {
  max-width: 650px;
  margin-bottom: 44px;
  color: var(--about2-muted);
  font-size: 17px;
  line-height: 1.75;
}

.about2-feature-list {
  border-top: 1px solid var(--about2-line);
}

.about2-feature-list article {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 20px;
  padding: 24px 0;
  border-bottom: 1px solid var(--about2-line);
}

.about2-feature-list article > span {
  color: var(--about2-gold);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.about2-feature-list h3 {
  margin-bottom: 7px;
  font-size: 20px;
}

.about2-feature-list p {
  margin-bottom: 0;
  color: var(--about2-muted);
  font-size: 14px;
  line-height: 1.6;
}

.about2-responsibility {
  padding: 128px max(40px, calc((100% - 1400px) / 2));
  color: #fff;
  background: var(--about2-ink);
}

.about2-responsibility > header {
  display: grid;
  max-width: 1000px;
  justify-items: center;
  margin: 0 auto 70px;
  text-align: center;
}

.about2-responsibility h2 {
  margin: 18px 0 24px;
  font-size: clamp(52px, 5vw, 78px);
  line-height: 1.02;
}

.about2-responsibility header > p:last-child {
  max-width: 620px;
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.66);
  font-size: 17px;
  line-height: 1.7;
}

.about2-principles {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 26px;
  overflow: hidden;
}

.about2-principles article {
  min-height: 285px;
  padding: 34px 30px;
  border-right: 1px solid rgba(255, 255, 255, 0.15);
  background: rgba(255, 255, 255, 0.025);
}

.about2-principles article:last-child {
  border-right: 0;
}

.about2-principles article > span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  margin-bottom: 54px;
  border: 1px solid rgba(187, 139, 75, 0.56);
  border-radius: 50%;
  color: var(--about2-gold);
  font-size: 11px;
  font-weight: 700;
}

.about2-principles h3 {
  margin-bottom: 12px;
  font-size: 19px;
}

.about2-principles p {
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.62);
  font-size: 13px;
  line-height: 1.65;
}

.about2-commitment {
  display: grid;
  width: min(1400px, calc(100% - 80px));
  grid-template-columns: minmax(420px, 0.92fr) minmax(0, 1fr);
  gap: clamp(70px, 8vw, 130px);
  align-items: center;
  margin: 0 auto;
  padding: 150px 0;
}

.about2-commitment__images {
  position: relative;
  min-height: 730px;
  padding: 0 70px 80px 0;
}

.about2-commitment__group {
  height: 650px;
  margin: 0;
  overflow: hidden;
  border-radius: 34px;
  box-shadow: 0 30px 75px rgba(31, 25, 19, 0.12);
}

.about2-commitment__group img {
  object-position: center 18%;
}

.about2-commitment__portrait {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 245px;
  height: 310px;
  margin: 0;
  overflow: hidden;
  border: 10px solid var(--about2-ivory);
  border-radius: 25px;
  box-shadow: 0 20px 50px rgba(31, 25, 19, 0.14);
}

.about2-commitment__portrait img {
  object-position: center 20%;
}

.about2-commitment__copy h2 {
  margin: 18px 0 26px;
  font-size: clamp(52px, 4.7vw, 76px);
  line-height: 1.02;
}

.about2-commitment__copy > p {
  max-width: 690px;
  margin-bottom: 22px;
  color: var(--about2-muted);
  font-size: 16px;
  line-height: 1.8;
}

.about2-commitment__copy .about2-commitment__lead {
  color: var(--about2-ink);
  font-size: 20px;
  font-weight: 500;
}

.about2-commitment blockquote {
  max-width: 690px;
  margin: 34px 0;
  padding: 5px 0 5px 26px;
  border-left: 3px solid var(--about2-gold);
  color: var(--about2-ink);
  font-family: "Reckless Neue", Georgia, serif;
  font-size: 28px;
  line-height: 1.35;
}

.about2-support-card {
  display: grid;
  grid-template-columns: 0.65fr 1fr 1fr;
  gap: 18px;
  align-items: center;
  max-width: 720px;
  padding: 20px 22px;
  border: 1px solid var(--about2-line);
  border-radius: 18px;
  background: var(--about2-paper);
}

.about2-support-card p,
.about2-support-card address {
  margin-bottom: 0;
}

.about2-support-card p {
  font-size: 13px;
  font-weight: 700;
}

.about2-support-card a {
  color: var(--about2-ink);
  font-size: 12px;
  font-weight: 600;
}

.about2-support-card address {
  color: var(--about2-muted);
  font-size: 10px;
  font-style: normal;
  line-height: 1.55;
}

.about2-disclaimer {
  display: grid;
  width: min(1400px, calc(100% - 80px));
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 50px;
  margin: 0 auto 130px;
  padding: 30px 34px;
  border: 1px solid var(--about2-line);
  border-radius: 20px;
  background: var(--about2-gold-soft);
}

.about2-disclaimer span {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.about2-disclaimer p {
  margin-bottom: 0;
  color: #625848;
  font-size: 12px;
  line-height: 1.7;
}

.about2-cta {
  display: grid;
  min-height: 540px;
  place-items: center;
  align-content: center;
  padding: 90px 30px;
  color: #fff;
  background: var(--about2-ink);
  text-align: center;
}

.about2-cta h2 {
  max-width: 850px;
  margin: 20px 0 20px;
  font-size: clamp(58px, 5.7vw, 88px);
  line-height: 1.02;
}

.about2-cta > p:not(.about2-eyebrow) {
  margin-bottom: 34px;
  color: rgba(255, 255, 255, 0.62);
  font-size: 15px;
}

.about2-footer {
  display: grid;
  grid-template-columns: 1.2fr 0.7fr 0.85fr;
  gap: 70px;
  padding: 72px max(40px, calc((100% - 1400px) / 2)) 30px;
  color: #fff;
  background: #111;
}

.about2-footer__brand img {
  width: 170px;
  height: auto;
  object-fit: contain;
}

.about2-footer__brand p {
  max-width: 330px;
  margin: 24px 0 0;
  color: rgba(255, 255, 255, 0.52);
  font-size: 13px;
  line-height: 1.7;
}

.about2-footer nav {
  display: grid;
  align-content: start;
  gap: 13px;
}

.about2-footer nav a,
.about2-footer__contact a {
  color: rgba(255, 255, 255, 0.82);
  text-decoration: none;
  font-size: 12px;
}

.about2-footer__contact {
  color: rgba(255, 255, 255, 0.58);
  font-size: 11px;
  line-height: 1.7;
}

.about2-footer__copyright {
  grid-column: 1 / -1;
  margin: 28px 0 0;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.38);
  font-size: 10px;
}

@media (max-width: 1180px) {
  .about2-hero {
    width: min(100% - 48px, 1060px);
    grid-template-columns: 1fr 0.8fr;
    gap: 50px;
  }

  .about2-hero h1 {
    font-size: clamp(54px, 6.4vw, 72px);
  }

  .about2-hero__portrait {
    height: 570px;
  }

  .about2-hero__note {
    left: -20px;
  }

  .about2-principles {
    grid-template-columns: repeat(2, 1fr);
  }

  .about2-principles article:nth-child(2) {
    border-right: 0;
  }

  .about2-principles article:nth-child(-n + 2) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  }

  .about2-technology,
  .about2-commitment {
    width: min(100% - 48px, 1060px);
    gap: 56px;
  }

  .about2-moment figure {
    height: 360px;
  }

  .about2-support-card {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .about2-launchbar {
    justify-content: flex-start;
    gap: 10px;
    padding-inline: 18px;
  }

  .about2-launchbar b {
    font-size: 12px;
  }

  .about2-launchbar span {
    font-size: 11px;
  }

  .about2-page .site-header {
    top: 52px;
  }

  .about2-hero {
    width: calc(100% - 36px);
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 64px;
    padding: 190px 0 90px;
  }

  .about2-hero__copy {
    max-width: 760px;
  }

  .about2-hero__visual {
    max-width: 650px;
    justify-self: center;
  }

  .about2-purpose {
    grid-template-columns: 1fr;
    gap: 46px;
    padding: 90px 24px;
  }

  .about2-purpose__copy {
    max-width: 650px;
  }

  .about2-approach,
  .about2-technology,
  .about2-commitment,
  .about2-disclaimer {
    width: calc(100% - 36px);
  }

  .about2-moments {
    grid-template-columns: 1fr;
  }

  .about2-moment {
    display: grid;
    grid-template-columns: 0.85fr 1fr;
  }

  .about2-moment figure {
    height: 360px;
  }

  .about2-moment > div {
    align-self: center;
  }

  .about2-technology,
  .about2-commitment {
    grid-template-columns: 1fr;
  }

  .about2-technology__visual {
    max-width: 650px;
  }

  .about2-technology__visual figure {
    height: 580px;
  }

  .about2-commitment__images {
    max-width: 650px;
  }

  .about2-disclaimer {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-bottom: 90px;
  }

  .about2-footer {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 620px) {
  .about2-launchbar {
    min-height: 78px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
  }

  .about2-page .site-header {
    top: 78px;
  }

  .about2-proof-pill {
    margin-bottom: 36px;
  }

  .about2-hero {
    padding-top: 208px;
  }

  .about2-hero h1 {
    margin-top: 16px;
    font-size: clamp(50px, 14.8vw, 68px);
  }

  .about2-hero__intro {
    font-size: 16px;
    line-height: 1.7;
  }

  .about2-hero__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .about2-button {
    width: 100%;
  }

  .about2-text-link {
    text-align: center;
  }

  .about2-assurances {
    gap: 12px;
    flex-direction: column;
  }

  .about2-hero__visual {
    padding: 0 22px 48px 0;
  }

  .about2-hero__portrait {
    height: 490px;
    border-radius: 24px;
  }

  .about2-hero__detail {
    width: 145px;
    height: 190px;
    border-width: 7px;
    border-radius: 18px;
  }

  .about2-hero__note {
    left: 14px;
    bottom: 18px;
    width: 225px;
    padding: 14px 16px;
  }

  .about2-purpose h2,
  .about2-section-heading h2,
  .about2-technology__copy h2,
  .about2-responsibility h2,
  .about2-commitment__copy h2,
  .about2-cta h2 {
    font-size: clamp(43px, 12vw, 58px);
  }

  .about2-purpose__copy {
    padding-left: 20px;
  }

  .about2-approach {
    padding: 90px 0;
  }

  .about2-section-heading {
    margin-bottom: 46px;
  }

  .about2-section-heading > p:last-child {
    font-size: 15px;
  }

  .about2-moment {
    display: block;
  }

  .about2-moment figure {
    height: 330px;
  }

  .about2-moment > div {
    min-height: 165px;
  }

  .about2-approach__closing {
    margin-top: 42px;
    padding-left: 22px;
    font-size: 14px;
  }

  .about2-technology {
    padding: 50px 0 100px;
  }

  .about2-technology__visual figure {
    height: 440px;
    border-radius: 24px;
  }

  .about2-technology__visual > span {
    right: 10px;
  }

  .about2-responsibility {
    padding: 90px 18px;
  }

  .about2-principles {
    grid-template-columns: 1fr;
  }

  .about2-principles article,
  .about2-principles article:nth-child(2) {
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  }

  .about2-principles article:last-child {
    border-bottom: 0;
  }

  .about2-principles article > span {
    margin-bottom: 38px;
  }

  .about2-commitment {
    padding: 100px 0;
  }

  .about2-commitment__images {
    min-height: 545px;
    padding: 0 32px 55px 0;
  }

  .about2-commitment__group {
    height: 500px;
    border-radius: 24px;
  }

  .about2-commitment__portrait {
    width: 150px;
    height: 205px;
    border-width: 7px;
    border-radius: 18px;
  }

  .about2-commitment blockquote {
    font-size: 24px;
  }

  .about2-support-card {
    padding: 20px;
  }

  .about2-disclaimer {
    padding: 24px;
  }

  .about2-cta {
    min-height: 500px;
    padding-inline: 18px;
  }

  .about2-footer {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 58px 22px 26px;
  }

  .about2-footer__copyright {
    margin-top: 4px;
  }
}

/* Shop 2 - conversion-led pre-launch page */
.shop2-page,
.product2-page { background:#f7f5f1; color:#111114; font-family:"Poppins", Arial, sans-serif; overflow:hidden; }
.shop2-page *, .product2-page * { box-sizing:border-box; }
.shop2-page h1, .shop2-page h2, .shop2-page h3,
.product2-page h1, .product2-page h2, .product2-page h3 { margin:0; color:#0b0c12; }
.shop2-page p, .product2-page p { margin:0; }
.shop2-page .site-header { top:36px; }
.shop2-page .site-header::before,
.product2-page .site-header::before { background:transparent; box-shadow:none; }
.shop2-launchbar { position:relative; z-index:21; min-height:36px; display:flex; align-items:center; justify-content:center; gap:18px; padding:8px 24px; background:#bb8e4d; color:#fff; font-size:12px; letter-spacing:.08em; text-align:center; }
.shop2-launchbar span { opacity:.9; letter-spacing:.01em; }
.shop2-kicker,.product2-kicker { color:#a87838; font-size:12px; font-weight:700; letter-spacing:.25em; text-transform:uppercase; }
.shop2-cta,.product2-cta { display:inline-flex; min-height:58px; align-items:center; justify-content:center; gap:24px; padding:0 30px; background:#101113; color:#fff; font-size:13px; font-weight:700; letter-spacing:.05em; text-decoration:none; transition:transform .2s,background .2s; }
.shop2-cta:hover,.product2-cta:hover { background:#b78645; transform:translateY(-2px); }
.shop2-hero { min-height:100vh; display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,.9fr); align-items:center; gap:7vw; padding:150px max(5vw,50px) 90px; }
.shop2-hero__copy { max-width:690px; }
.shop2-trust { width:max-content; max-width:100%; display:grid; grid-template-columns:auto auto; align-items:center; gap:3px 10px; margin-bottom:34px; padding:10px 15px; border:1px solid #dedbd5; border-radius:99px; background:#fff; box-shadow:0 6px 16px #0000000a; font-size:12px; }
.shop2-trust span { color:#bb8e4d; letter-spacing:2px; }.shop2-trust span i { color:#ddd6ca; font-style:normal; }.shop2-trust small { grid-column:2; color:#6d6b68; }
.shop2-hero h1 { margin:20px 0 28px; font-size:clamp(54px,5.5vw,96px); font-weight:600; letter-spacing:-.055em; line-height:.94; }
.shop2-hero h1 em { display:block; color:#b78645; font-family:"RecklessNeue", Georgia, serif; font-weight:400; }
.shop2-hero__lead { max-width:650px; color:#62615f; font-size:18px; line-height:1.7; }
.shop2-hero ul { display:grid; gap:10px; margin:28px 0 34px; padding:0; list-style:none; font-size:14px; }.shop2-hero li::before { content:"•"; margin-right:12px; color:#b78645; font-size:22px; vertical-align:-2px; }
.shop2-hero__micro { display:flex; flex-wrap:wrap; gap:14px 24px; margin-top:16px; color:#777470; font-size:11px; }.shop2-hero__micro span::before { content:"✓"; margin-right:6px; color:#b78645; }
.shop2-hero__assurances{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:30px;padding-top:22px;border-top:1px solid #dfdbd5;color:#6f6c68;font-size:12px}.shop2-hero__assurances span::before{margin-right:7px;color:#b78645;content:"✓"}.shop2-hero__colours{display:flex;align-items:center;gap:10px;margin-top:18px;color:#74716d}.shop2-hero__colours b{margin-right:4px;font-size:11px;font-weight:500;letter-spacing:.06em}.shop2-hero__colours i{width:24px;height:24px;border:1px solid #00000012;border-radius:50%;box-shadow:inset 0 0 0 1px #ffffff44}.shop2-hero__colours .is-frosted-blue{background:#a8cae0}.shop2-hero__colours .is-iced-mocha{background:#d9c29b}.shop2-hero__colours .is-charcoal{background:#3d3c40}.shop2-hero__colours .is-dusty-pink{background:#cf9eb0}.shop2-hero__colours .is-midnight-blue{background:#294773}.shop2-hero__disclaimer{display:block;margin-top:20px;color:#aaa6a0;font-size:10px}
.shop2-hero__visual { position:relative; align-self:stretch; min-height:680px; }
.shop2-hero__visual>img { width:100%; height:100%; border-radius:26px; object-fit:cover; object-position:center; }
.shop2-hero__visual aside { position:absolute; display:grid; gap:3px; padding:16px 18px; border:1px solid #e7e1d8; border-radius:16px; background:#fff; box-shadow:0 18px 46px #231b1030; font-size:12px; }.shop2-hero__visual aside span { color:#77736c; }.shop2-hero__visual aside:nth-of-type(1){ left:-50px; bottom:55px; }.shop2-hero__visual aside:nth-of-type(2){ right:-20px; top:80px; }
.shop2-proof-strip { display:grid; grid-template-columns:repeat(4,1fr); padding:46px max(5vw,50px); border-top:1px solid #dfdcd7; border-bottom:1px solid #dfdcd7; background:#fff; }.shop2-proof-strip div { display:grid; gap:4px; place-items:center; min-height:70px; border-right:1px solid #e2dfda; text-align:center; }.shop2-proof-strip div:last-child{border:0}.shop2-proof-strip strong{font-size:31px}.shop2-proof-strip span{color:#7c7975;font-size:11px;letter-spacing:.09em;text-transform:uppercase}
.shop2-science { display:grid; grid-template-columns:1fr .85fr; gap:5vw; padding:130px max(7vw,70px); background:#fff; }
.shop2-science__intro h2,.shop2-comparison h2,.shop2-profile-section h2,.shop2-reviews h2,.shop2-howto h2,.shop2-faq h2 { max-width:850px; margin:16px 0 24px; font-size:clamp(42px,4vw,68px); letter-spacing:-.045em; line-height:1.06; }
.shop2-science__intro>p:not(.shop2-kicker) { max-width:790px; margin-top:18px; color:#66635f; font-size:17px; line-height:1.75; }.shop2-science__intro b{color:#171614}
.shop2-science__visual { position:relative; min-height:610px; }.shop2-science__visual img { width:100%; height:100%; border-radius:22px; object-fit:cover; }.shop2-science__visual span{position:absolute;right:20px;bottom:20px;padding:11px 14px;border-radius:99px;background:#fff;font-size:11px}
.shop2-science__facts { grid-column:1/-1; display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:40px; }.shop2-science__facts article{padding:26px;border:1px solid #e5e1dc;border-radius:16px}.shop2-science__facts article>span{color:#c29a60;font-size:28px;font-family:"RecklessNeue",Georgia,serif}.shop2-science__facts h3{margin:18px 0 10px;font-size:18px}.shop2-science__facts p{color:#74716d;font-size:13px;line-height:1.65}
.shop2-benefits { padding:130px max(7vw,70px); background:#141516; color:#f7f5f1; text-align:center; }.shop2-benefits h2{max-width:850px;margin:18px auto 60px;color:#fff;font-size:clamp(43px,4.6vw,76px);letter-spacing:-.045em}.shop2-benefits>div{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:50px;text-align:left}.shop2-benefits article{min-height:245px;padding:30px;border:1px solid #ffffff20;border-radius:18px;background:#ffffff07}.shop2-benefits article>span{display:grid;width:45px;height:45px;place-items:center;border-radius:50%;background:#b7864524;color:#d6a866;font-size:22px}.shop2-benefits h3{margin:50px 0 12px;color:#fff;font-size:20px}.shop2-benefits article p{color:#b7b3ad;font-size:14px;line-height:1.6}.shop2-benefits .shop2-cta{background:#bb8e4d}
.shop2-comparison { padding:130px max(7vw,70px); background:#f7f5f1; text-align:center; }.shop2-comparison>p:not(.shop2-kicker){max-width:770px;margin:0 auto 45px;color:#6d6964;line-height:1.7}.shop2-comparison h2{margin-left:auto;margin-right:auto}.shop2-comparison__table{max-width:1180px;margin:auto;border:1px solid #dfdbd4;border-radius:18px;overflow:hidden;background:#fff;text-align:left}.shop2-comparison__table>div{display:grid;grid-template-columns:1.1fr repeat(4,1fr);border-bottom:1px solid #e6e2dc}.shop2-comparison__table>div:last-child{border:0}.shop2-comparison__table strong,.shop2-comparison__table span{padding:20px;border-right:1px solid #e6e2dc;font-size:12px;line-height:1.5}.shop2-comparison__table span:last-child{border:0}.shop2-comparison__table .is-featured{background:#141516;color:#fff}.shop2-comparison__table .is-featured strong{color:#d5aa6b}
.shop2-profile-section { display:grid;grid-template-columns:.75fr 1.25fr;gap:7vw;padding:130px max(7vw,70px);background:#ebe5dc}.shop2-profile-section>div>p:last-child{color:#6c6964;line-height:1.7}.shop2-profile{padding:40px;border-radius:22px;background:#fff}.shop2-profile__progress{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:36px}.shop2-profile__progress i{height:4px;border-radius:4px;background:#e6e2dc}.shop2-profile__progress i.is-complete{background:#b78645}.shop2-profile fieldset{margin:0 0 30px;padding:0;border:0}.shop2-profile legend{display:flex;gap:12px;margin-bottom:14px;font-size:16px;font-weight:700}.shop2-profile legend span{color:#b78645}.shop2-profile fieldset>div{display:flex;flex-wrap:wrap;gap:8px}.shop2-profile button{padding:11px 14px;border:1px solid #ddd8d1;border-radius:99px;background:#fff;color:#504e4a;cursor:pointer}.shop2-profile button.is-selected{border-color:#b78645;background:#b78645;color:#fff}.shop2-profile__result{min-height:90px;padding:22px;border-radius:16px;background:#f4f0ea;color:#6d6964}.shop2-profile__result.is-visible{background:#151616;color:#fff}.shop2-profile__result h3{margin:7px 0;color:#fff;font-size:28px}.shop2-profile__result span{display:block;color:#c7c1b8;line-height:1.5}.shop2-profile__result a{display:inline-flex;margin-top:20px;color:#e0b779;font-size:12px;font-weight:700;text-decoration:none}.shop2-profile__result a b{margin-left:20px}.shop2-profile__result small{display:block;margin-top:8px;color:#918d86}
.shop2-reviews,.product2-reviews{padding:130px max(5vw,50px);background:#fff;text-align:center}.shop2-reviews>p:not(.shop2-kicker){max-width:720px;margin:0 auto 50px;color:#74716d}.shop2-reviews .shop-review-carousel,.product2-reviews .shop-review-carousel{text-align:left}
.shop2-howto{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center;padding:130px max(7vw,70px)}.shop2-howto ol{display:grid;gap:28px;margin:35px 0;padding:0;list-style:none}.shop2-howto li{display:grid;gap:6px;padding-left:18px;border-left:2px solid #b78645}.shop2-howto li span{color:#6d6964;line-height:1.6}.shop2-howto>img{width:100%;border-radius:22px;background:#f3e9e4}
.shop2-faq{padding:130px max(14vw,150px);background:#fff}.shop2-faq details{border-bottom:1px solid #dedbd5}.shop2-faq summary{display:flex;justify-content:space-between;padding:25px 0;cursor:pointer;font-size:16px;font-weight:600;list-style:none}.shop2-faq details p{max-width:850px;padding:0 0 25px;color:#6d6964;line-height:1.7}
.shop2-final{padding:130px 30px 150px;background:#141516;color:#fff;text-align:center}.shop2-final h2{margin:18px 0;color:#fff;font-size:clamp(54px,6vw,96px);line-height:.95;letter-spacing:-.05em}.shop2-final h2 em{color:#c89a58;font-family:"RecklessNeue",Georgia,serif;font-weight:400}.shop2-final>p:not(.shop2-kicker){max-width:650px;margin:0 auto 35px;color:#bbb7b0;line-height:1.6}.shop2-final .shop2-cta{background:#bb8e4d}.shop2-final>small{display:block;margin-top:18px;color:#85827d}
.shop2-footer,.product2-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:40px;padding:70px max(5vw,50px) 120px;background:#0f1011;color:#a6a29c}.shop2-footer>a img,.product2-footer>a img{width:145px}.shop2-footer nav,.product2-footer nav{display:grid;gap:12px}.shop2-footer nav a,.product2-footer nav a{color:#fff;text-decoration:none}.shop2-footer .contact-details,.product2-footer .contact-details{justify-self:end}.shop2-footer>p,.product2-footer>p{grid-column:1/-1;border-top:1px solid #ffffff1f;padding-top:22px;font-size:11px}
.shop2-sticky,.product2-sticky{position:fixed;z-index:22;right:18px;bottom:18px;left:18px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 14px 12px 22px;border:1px solid #ffffff21;border-radius:13px;background:#111214ed;color:#fff;box-shadow:0 14px 40px #0004;backdrop-filter:blur(12px)}.shop2-sticky div{display:grid}.shop2-sticky span{color:#a9a6a1;font-size:11px}.shop2-sticky a,.product2-sticky a{padding:13px 20px;background:#bb8e4d;color:#fff;font-size:12px;font-weight:700;text-decoration:none}.shop2-sticky a span{margin-left:16px}

/* Product 2 - focused pre-launch product detail */
.product2-page{padding-top:110px}.product2-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:5vw;min-height:100vh;padding:45px max(5vw,50px) 100px}.product2-gallery__main{width:100%;aspect-ratio:1/1.08;object-fit:cover;background:#f5eae6}.product2-gallery>div{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:12px}.product2-gallery>div img{width:100%;aspect-ratio:1;object-fit:cover;background:#f5eae6}.product2-buybox{padding:20px 0}.product2-buybox h1{margin:13px 0 16px;font-size:clamp(48px,5vw,76px);letter-spacing:-.05em}.product2-rating{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin-bottom:20px}.product2-rating span{grid-row:1/3;color:#00b67a;letter-spacing:3px}.product2-rating span i{color:#d7d3cc;font-style:normal}.product2-rating small{color:#77736d}.product2-status{display:inline-flex;padding:7px 12px;background:#ea7000;color:#fff;font-size:11px;font-weight:700}.product2-lead{max-width:650px;margin:24px 0;color:#63615d;font-size:18px;line-height:1.65}.product2-buybox>ul{display:grid;gap:10px;margin:0 0 30px;padding-left:20px}.product2-buybox>.product2-cta{width:100%}.product2-buybox>.product2-cta+small{display:block;margin:10px 0 26px;color:#7c7872;text-align:center}.product2-promises{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:22px 0;border-top:1px solid #ddd9d2;border-bottom:1px solid #ddd9d2}.product2-promises span{display:grid;color:#77736e;font-size:11px}.product2-promises b{color:#171715;font-size:12px}.product2-buybox details{border-bottom:1px solid #ddd9d2}.product2-buybox summary{padding:20px 0;cursor:pointer;font-weight:700}.product2-buybox details p{padding:0 0 20px;color:#6b6863;line-height:1.7}.product2-specs{padding:110px max(7vw,70px);background:#fff;text-align:center}.product2-specs h2,.product2-reviews h2{margin:15px auto 50px;font-size:clamp(42px,4vw,68px)}.product2-specs>div{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.product2-specs article{display:grid;gap:10px;padding:28px;border:1px solid #e1ded8;border-radius:16px}.product2-specs article span{color:#77736e;font-size:11px;text-transform:uppercase;letter-spacing:.14em}.product2-specs article b{font-size:18px}.product2-modes{display:grid;grid-template-columns:1fr 1fr;gap:5vw;padding:110px max(7vw,70px);background:#141516;color:#fff}.product2-modes h2{margin:15px 0 40px;color:#fff;font-size:clamp(42px,4vw,68px)}.product2-modes article{display:grid;grid-template-columns:140px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid #ffffff1f}.product2-modes article span{color:#b8b4ae}.product2-modes>img{width:100%;height:100%;min-height:610px;border-radius:20px;object-fit:cover}.product2-fit{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:center;padding:110px max(7vw,70px);background:#fff}.product2-fit>img{width:100%;max-height:700px;object-fit:contain}.product2-fit h2,.product2-final h2{margin:15px 0 24px;font-size:clamp(42px,4vw,68px)}.product2-fit p{color:#6d6964;line-height:1.7}.product2-fit ul{display:grid;gap:12px;margin:30px 0;padding:0;list-style:none}.product2-fit li{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #dedad4}.product2-final{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:center;padding:110px max(7vw,70px);background:#141516;color:#fff}.product2-final>img{width:100%;border-radius:20px}.product2-final h2{color:#fff}.product2-final p{margin-bottom:30px;color:#b9b5af}.product2-final small{display:block;margin-top:15px;color:#87837e}.product2-sticky>b{margin-right:auto}

@media (max-width:1000px){
  .shop2-hero,.shop2-science,.shop2-profile-section,.shop2-howto,.product2-hero,.product2-modes,.product2-fit,.product2-final{grid-template-columns:1fr}.shop2-hero{padding-top:160px}.shop2-hero__visual{min-height:640px}.shop2-science__facts,.shop2-benefits>div{grid-template-columns:repeat(2,1fr)}.shop2-profile-section>div{max-width:700px}.product2-modes>img{min-height:500px}.shop2-footer,.product2-footer{grid-template-columns:1fr 1fr}.shop2-footer .contact-details,.product2-footer .contact-details{justify-self:start}
}
@media (max-width:700px){
  .shop2-launchbar{align-items:flex-start;flex-direction:column;gap:1px;padding:8px 18px;text-align:left}.shop2-page .site-header{top:49px}.shop2-hero,.shop2-science,.shop2-benefits,.shop2-comparison,.shop2-profile-section,.shop2-reviews,.shop2-howto,.shop2-faq,.product2-hero,.product2-specs,.product2-modes,.product2-fit,.product2-reviews,.product2-final{padding-right:20px;padding-left:20px}.shop2-hero{padding-top:155px}.shop2-hero h1{font-size:49px}.shop2-hero__visual{min-height:520px}.shop2-hero__visual aside:nth-of-type(1){left:12px}.shop2-hero__visual aside:nth-of-type(2){top:12px;right:12px}.shop2-proof-strip{grid-template-columns:1fr 1fr;padding:28px 20px}.shop2-proof-strip div:nth-child(2){border-right:0}.shop2-science__facts,.shop2-benefits>div,.product2-specs>div{grid-template-columns:1fr}.shop2-comparison{overflow:auto}.shop2-comparison__table{min-width:820px}.shop2-profile{padding:22px}.shop2-footer,.product2-footer{grid-template-columns:1fr}.shop2-footer nav,.product2-footer nav{grid-template-columns:1fr 1fr}.shop2-sticky div{display:none}.shop2-sticky a,.product2-sticky a{width:100%;text-align:center}.product2-page{padding-top:90px}.product2-gallery>div{grid-template-columns:1fr 1fr}.product2-promises{grid-template-columns:1fr}.product2-modes article{grid-template-columns:1fr}.product2-final>img{max-height:480px;object-fit:contain}
}

/* Shop 2 design refinement - matches the calm, editorial system used by /shop */
.shop2-page {
  --shop2-gold: #bb8b4b;
  --shop2-gold-soft: #ead8bd;
  --shop2-ink: #191919;
  --shop2-paper: #f7f5f2;
  --shop2-card: #fbfaf8;
  --shop2-muted: #72706d;
  --shop2-line: #e3dfda;
  background: var(--shop2-paper);
  color: var(--shop2-ink);
}

.shop2-page .site-header::before {
  border-color: rgba(25, 25, 25, 0.08);
  background: rgba(247, 245, 242, 0.94);
  box-shadow: 0 8px 28px rgba(25, 25, 25, 0.03);
}

.shop2-launchbar {
  position: fixed;
  inset: 0 0 auto;
  min-height: 36px;
  background: var(--shop2-gold, #bb8b4b);
  font-size: 11px;
  font-weight: 600;
}

.about-page ~ .shop2-launchbar,
.accessories-page ~ .shop2-launchbar,
body:has(.about-page) > .shop2-launchbar,
body:has(.accessories-page) > .shop2-launchbar {
  background: #bb8b4b;
  color: #ffffff;
}

.shop2-kicker {
  color: var(--shop2-gold);
  font-size: 11px;
  letter-spacing: 0.18em;
}

.shop2-cta {
  min-height: 54px;
  border-radius: 0;
  background: var(--shop2-ink);
}

.shop2-hero {
  width: min(100% - 48px, 1400px);
  min-height: 930px;
  margin: 0 auto;
  grid-template-columns: minmax(0, 0.95fr) minmax(440px, 0.85fr);
  gap: clamp(58px, 7vw, 110px);
  padding: 154px 0 95px;
}

.shop2-hero__copy { max-width: 650px; }
.shop2-hero h1 {
  max-width: 650px;
  margin: 18px 0 28px;
  font-size: clamp(54px, 5vw, 78px);
  line-height: 0.98;
}
.shop2-hero__lead {
  max-width: 610px;
  color: var(--shop2-muted);
  font-size: 17px;
  line-height: 1.7;
}
.shop2-hero ul { margin: 26px 0 32px; }
.shop2-hero li {
  position: relative;
  padding-left: 28px;
}
.shop2-hero li::before {
  position: absolute;
  top: 0.62em;
  left: 6px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin: 0;
  background: var(--shop2-gold);
  box-shadow: 0 0 0 5px rgba(183, 134, 69, 0.14);
  content: "";
  transform: translateY(-50%);
  animation: shop2BulletPulse 1.8s ease-in-out infinite;
}
.shop2-hero li:nth-child(2)::before { animation-delay: 180ms; }
.shop2-hero li:nth-child(3)::before { animation-delay: 360ms; }
.shop2-hero li:nth-child(4)::before { animation-delay: 540ms; }

@keyframes shop2BulletPulse {
  0%, 100% { box-shadow: 0 0 0 4px rgba(183, 134, 69, 0.14); transform: translateY(-50%) scale(1); }
  50% { box-shadow: 0 0 0 10px rgba(183, 134, 69, 0); transform: translateY(-50%) scale(1.18); }
}
.shop2-hero__visual { min-height: 690px; }
.shop2-hero__visual > img { border-radius: 24px; }
.shop2-hero__visual aside {
  border-color: var(--shop2-line);
  border-radius: 14px;
  box-shadow: 0 16px 44px rgba(35, 27, 16, 0.13);
}

.shop2-proof-strip {
  padding: 42px max(24px, calc((100vw - 1400px) / 2));
  border-color: var(--shop2-line);
  background: var(--shop2-card);
}
.shop2-proof-strip div { border-color: var(--shop2-line); }
.shop2-proof-strip strong { font-size: 30px; letter-spacing: -0.04em; }
.shop2-proof-strip span { color: var(--shop2-muted); }
.shop2-proof-strip .shop2-icon {
  width: 22px;
  height: 22px;
  margin-bottom: 8px;
  color: var(--shop2-gold);
}

.shop2-science,
.shop2-benefits,
.shop2-comparison,
.shop2-gallery,
.shop2-profile-section,
.shop2-reviews,
.shop2-howto,
.shop2-faq {
  padding: 110px max(24px, calc((100vw - 1400px) / 2));
}

.shop2-science {
  grid-template-columns: 1fr;
  gap: 0;
  border-bottom: 1px solid var(--shop2-line);
  background: var(--shop2-card);
}

.shop2-science__intro {
  display: grid;
  max-width: 1120px;
  grid-template-columns: minmax(300px, 0.85fr) minmax(380px, 1fr);
  align-items: start;
  column-gap: 76px;
}
.shop2-science__intro .shop2-kicker { grid-column: 1 / -1; margin-bottom: 18px; }
.shop2-science__intro h2 {
  grid-row: 2 / 4;
  max-width: 590px;
  margin: 0;
  font-size: clamp(42px, 4.5vw, 66px);
  line-height: 1.05;
}
.shop2-science__intro > p:not(.shop2-kicker) {
  max-width: 620px;
  margin: 0 0 18px;
  color: var(--shop2-muted);
  font-size: 16px;
  line-height: 1.75;
}

.shop2-science__facts {
  grid-column: 1;
  grid-row: 2;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  margin: 64px 0 84px;
}
.shop2-science__facts article {
  min-height: 270px;
  padding: 30px;
  border-color: var(--shop2-line);
  border-radius: 20px;
  background: #fff;
}
.shop2-science__facts article > span {
  display: inline-block;
  margin-bottom: 42px;
  color: var(--shop2-gold);
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.12em;
}
.shop2-science__facts h3 { margin: 0 0 9px; font-size: 20px; line-height: 1.35; }
.shop2-science__facts p { color: var(--shop2-muted); font-size: 14px; line-height: 1.65; }

.shop2-science__visual {
  grid-column: 1;
  grid-row: 3;
  width: min(100%, 760px);
  min-height: 0;
  margin: 0 auto;
  border-top: 1px solid var(--shop2-line);
  padding-top: 84px;
}
.shop2-science__visual img {
  width: 100%;
  height: clamp(380px, 44vw, 520px);
  border-radius: 24px;
  object-fit: cover;
  object-position: center 46%;
}
.shop2-science__visual span {
  right: 22px;
  bottom: 22px;
  border: 1px solid var(--shop2-line);
}

.shop2-benefits {
  background: var(--shop2-ink);
  text-align: left;
}
.shop2-benefits > .shop2-kicker,
.shop2-benefits > h2,
.shop2-benefits > .shop2-cta { margin-left: 0; margin-right: 0; }
.shop2-benefits h2 {
  max-width: 760px;
  margin-top: 16px;
  margin-bottom: 58px;
  font-size: clamp(42px, 4.5vw, 66px);
  line-height: 1.05;
}
.shop2-benefits > div { gap: 20px; margin-bottom: 46px; }
.shop2-benefits article {
  min-height: 285px;
  padding: 30px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.035);
}
.shop2-icon { width: 24px; height: 24px; }
.shop2-benefits article > span .shop2-icon { width: 22px; height: 22px; }
.shop2-benefits h3 { margin-top: 58px; }

.shop2-section-heading {
  width: min(100%, 880px);
  margin: 0 auto 54px;
  text-align: center;
}
.shop2-section-heading h2 {
  margin: 16px auto 20px;
  font-size: clamp(42px, 4.5vw, 66px);
  line-height: 1.05;
  letter-spacing: -0.045em;
}
.shop2-section-heading > p:not(.shop2-kicker) {
  max-width: 720px;
  margin: 0 auto;
  color: var(--shop2-muted);
  font-size: 16px;
  line-height: 1.7;
}

.shop2-gallery {
  border-bottom: 1px solid var(--shop2-line);
  background: var(--shop2-paper);
}
.shop2-gallery__grid {
  display: grid;
  width: min(100%, 960px);
  min-height: 0;
  margin: 0 auto;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, 290px);
  gap: 16px;
}
.shop2-gallery figure {
  min-height: 0;
  margin: 0;
  overflow: hidden;
  border-radius: 22px;
  background: #eee9e3;
}
.shop2-gallery figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 500ms ease;
}
.shop2-gallery figure:hover img { transform: scale(1.025); }
.shop2-gallery__portrait,
.shop2-gallery__group { grid-column: auto; grid-row: auto; }
.shop2-gallery__portrait img { object-position: center 38%; }
.shop2-gallery__group img { object-position: center 34%; }

.shop2-comparison {
  border-bottom: 1px solid var(--shop2-line);
  background: var(--shop2-paper);
}
.shop2-comparison h2,
.shop2-profile-section h2,
.shop2-reviews h2,
.shop2-howto h2,
.shop2-faq h2 {
  font-size: clamp(42px, 4.5vw, 66px);
  line-height: 1.05;
}
.shop2-comparison__table {
  max-width: 1400px;
  border-color: var(--shop2-line);
  border-radius: 20px;
  background: #fff;
}
.shop2-comparison__table strong,
.shop2-comparison__table span { padding: 22px; }

.shop2-profile-section {
  grid-template-columns: minmax(300px, 0.78fr) minmax(520px, 1.22fr);
  align-items: start;
  gap: clamp(60px, 8vw, 120px);
  border-bottom: 1px solid var(--shop2-line);
  background: var(--shop2-card);
}
.shop2-profile {
  padding: 38px;
  border: 1px solid var(--shop2-line);
  border-radius: 20px;
  box-shadow: 0 18px 42px rgba(25, 25, 25, 0.05);
}
.shop2-profile button { border-color: var(--shop2-line); }

.shop2-reviews {
  border-bottom: 1px solid var(--shop2-line);
  background: var(--shop2-paper);
}
.shop2-reviews > h2 { max-width: 820px; margin-left: auto; margin-right: auto; }
.shop2-reviews .shop-review-carousel {
  width: min(100%, 1400px);
  margin-top: 44px;
  margin-right: auto;
  margin-left: auto;
}
.shop2-reviews .shop-review-carousel__card {
  min-height: 430px;
  padding: 24px;
  border-radius: 18px;
  box-shadow: 0 12px 34px rgba(25, 25, 25, 0.045);
}
.shop2-reviews .shop-review-stars { margin-top: 20px; }
.shop2-reviews .shop-review-stars > span {
  width: 25px;
  height: 25px;
  font-size: 16px;
}
.shop2-reviews .shop-review-title { margin-top: 16px; }
.shop2-reviews blockquote {
  max-height: 176px;
  margin: 12px 0 0;
  padding-right: 8px;
  overflow-y: auto;
  font-family: "Poppins", Arial, sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.58;
  scrollbar-color: #b8b4ad transparent;
  scrollbar-width: thin;
}
.shop2-reviews .shop-review-carousel__controls { margin-top: 24px; }

.shop2-howto {
  grid-template-columns: minmax(360px, 0.88fr) minmax(500px, 1.12fr);
  gap: clamp(60px, 8vw, 120px);
  background: var(--shop2-card);
}
.shop2-howto ol { margin: 38px 0; }
.shop2-howto li {
  gap: 8px;
  padding: 0 0 0 20px;
  border-color: var(--shop2-gold);
}
.shop2-howto > img {
  aspect-ratio: 0.95;
  border-radius: 24px;
  object-fit: cover;
}

.shop2-faq {
  max-width: none;
  border-top: 1px solid var(--shop2-line);
  border-bottom: 1px solid var(--shop2-line);
  background: var(--shop2-paper);
}
.shop2-faq > * { width: min(100%, 1180px); margin-right: auto; margin-left: auto; }
.shop2-faq .shop2-section-heading { width: min(100%, 880px); margin-bottom: 46px; }
.shop2-faq .shop2-section-heading h2 { max-width: 780px; }
.shop2-faq details { border-color: var(--shop2-line); }
.shop2-faq summary { padding: 25px 2px; }

.shop2-final { padding: 120px 30px 140px; background: var(--shop2-ink); }
.shop2-final h2 { font-size: clamp(54px, 6vw, 88px); }
.shop2-footer {
  min-height: 0;
  row-gap: 34px;
  padding: 56px max(5vw, 50px) 92px;
  background: #101010;
}
.shop2-footer .contact-details--compact { align-content: start; gap: 12px; }
.shop2-footer .contact-details--compact > div { min-height: 0; }
.shop2-footer > p { margin: 4px 0 0; }

.shop2-sticky {
  right: 50%;
  bottom: 16px;
  left: auto;
  width: min(calc(100% - 40px), 1180px);
  padding: 10px 10px 10px 18px;
  border-radius: 16px;
  background: rgba(17, 18, 20, 0.94);
  transform: translateX(50%);
}

.shop2-sticky__product {
  min-width: 185px;
}

.shop2-sticky__proof {
  display: flex !important;
  flex: 1;
  justify-content: center;
  gap: clamp(14px, 2.4vw, 34px);
}

.shop2-sticky__proof span {
  color: #d2cec7;
  white-space: nowrap;
}

.shop2-sticky > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 244px;
  min-height: 52px;
  padding: 13px 22px;
  background: var(--shop2-gold);
  transition: background 180ms ease, transform 180ms ease;
}

.shop2-sticky > a:hover {
  background: #ca9a57;
  transform: translateY(-1px);
}

@media (max-width: 1100px) {
  .shop2-hero,
  .shop2-profile-section,
  .shop2-howto { grid-template-columns: 1fr; }
  .shop2-hero { min-height: 0; padding-top: 170px; }
  .shop2-hero__visual { min-height: 650px; }
  .shop2-science__facts,
  .shop2-benefits > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .shop2-gallery__grid {
    width: min(100%, 820px);
    min-height: 0;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: repeat(2, 250px);
  }
  .shop2-gallery__portrait,
  .shop2-gallery__group,
  .shop2-gallery__grid figure:last-child { grid-column: auto; grid-row: auto; }
  .shop2-profile-section > div { max-width: 760px; }
  .shop2-howto > img { max-height: 720px; }
}

@media (max-width: 760px) {
  .shop2-launchbar {
    min-height: 49px;
    padding: 8px 18px;
  }
  .shop2-hero { width: calc(100% - 40px); padding-top: 158px; padding-bottom: 76px; }
  .shop2-hero h1 { font-size: clamp(46px, 13vw, 58px); }
  .shop2-hero__visual { min-height: 520px; }
  .shop2-proof-strip { grid-template-columns: 1fr 1fr; padding: 28px 20px; }
  .shop2-science,
  .shop2-benefits,
  .shop2-comparison,
  .shop2-gallery,
  .shop2-profile-section,
  .shop2-reviews,
  .shop2-howto,
  .shop2-faq { padding: 78px 20px; }
  .shop2-science__intro { grid-template-columns: 1fr; }
  .shop2-science__intro h2 { grid-row: auto; margin-bottom: 24px; }
  .shop2-science__facts,
  .shop2-benefits > div { grid-template-columns: 1fr; }
  .shop2-science__facts { margin: 44px 0 64px; }
  .shop2-science__facts article,
  .shop2-benefits article { min-height: 0; }
  .shop2-science__facts article > span { margin-bottom: 28px; }
  .shop2-science__visual { padding-top: 64px; }
  .shop2-science__visual img { height: min(72vw, 420px); border-radius: 18px; }
  .shop2-section-heading { margin-bottom: 38px; }
  .shop2-gallery__grid {
    min-height: 0;
    grid-template-columns: 1fr;
    grid-template-rows: none;
    gap: 12px;
  }
  .shop2-gallery figure,
  .shop2-gallery__portrait,
  .shop2-gallery__group,
  .shop2-gallery__grid figure:last-child {
    grid-column: auto;
    grid-row: auto;
    aspect-ratio: 4 / 3;
    border-radius: 18px;
  }
  .shop2-gallery__group,
  .shop2-gallery__grid figure:last-child { aspect-ratio: 4 / 3; }
  .shop2-profile { padding: 22px; }
  .shop2-howto > img { aspect-ratio: 1; }
  .shop2-faq > * { width: 100%; }
  .shop2-reviews .shop-review-carousel__card { min-height: 450px; }
  .shop2-reviews blockquote { max-height: 205px; font-size: 14px; }
  .shop2-hero__assurances { gap: 9px 16px; margin-top: 26px; }
  .shop2-hero__colours i { width: 22px; height: 22px; }
  .shop2-sticky {
    right: 10px;
    bottom: max(10px, env(safe-area-inset-bottom));
    left: 10px;
    width: auto;
    padding: 8px;
    border-radius: 14px;
    transform: none;
  }
  .shop2-sticky__product,
  .shop2-sticky__proof { display: none !important; }
  .shop2-sticky > a {
    width: 100%;
    min-width: 0;
    min-height: 54px;
    padding: 14px 20px;
    text-align: center;
  }
  .shop2-footer { row-gap: 28px; padding: 48px 20px 94px; }
}

@media (prefers-reduced-motion: reduce) {
  .shop2-hero li::before { animation: none; }
  .shop2-gallery figure img { transition: none; }
}

/* Shop 2 final visual pass - carries the stronger /shop hierarchy across
   without changing Shop 2's content or conversion journey. */
@media (min-width: 1101px) {
  .shop2-hero {
    min-height: 0;
    grid-template-columns: minmax(0, 0.92fr) minmax(430px, 0.78fr);
    gap: clamp(58px, 6vw, 96px);
    padding-top: 148px;
    padding-bottom: 88px;
  }

  .shop2-hero__visual {
    align-self: center;
    height: clamp(560px, 52vw, 640px);
    min-height: 0;
  }

  .shop2-science {
    grid-template-columns: minmax(0, 0.92fr) minmax(390px, 0.72fr);
    align-items: stretch;
    column-gap: clamp(58px, 7vw, 104px);
  }

  .shop2-science__intro {
    display: block;
    grid-column: 1;
    grid-row: 1;
    max-width: 680px;
  }

  .shop2-science__intro .shop2-kicker { margin-bottom: 18px; }
  .shop2-science__intro h2 { max-width: 620px; margin: 0 0 30px; }
  .shop2-science__intro > p:not(.shop2-kicker) { max-width: 650px; }

  .shop2-science__visual {
    width: 100%;
    min-height: 560px;
    grid-column: 2;
    grid-row: 1;
    margin: 0;
    padding: 0;
    border: 0;
  }

  .shop2-science__visual img {
    height: 100%;
    max-height: 610px;
    object-position: center;
  }

  .shop2-science__facts {
    grid-column: 1 / -1;
    grid-row: 2;
    margin: 66px 0 0;
  }

  .shop2-profile-section {
    grid-template-columns: minmax(330px, 0.82fr) minmax(540px, 1.18fr);
  }

  .shop2-howto {
    grid-template-columns: minmax(380px, 0.9fr) minmax(460px, 0.9fr);
    justify-content: space-between;
  }
}

.shop2-hero__visual::before {
  position: absolute;
  inset: 18px -18px -18px 18px;
  z-index: -1;
  border: 1px solid var(--shop2-line);
  border-radius: 26px;
  background: #eee9e3;
  content: "";
}

.shop2-hero__visual > img {
  box-shadow: 0 22px 64px rgba(25, 25, 25, 0.1);
}

.shop2-proof-strip div {
  position: relative;
  padding: 4px 20px;
}

.shop2-science__facts article,
.shop2-benefits article,
.shop2-profile,
.shop2-reviews .shop-review-carousel__card {
  transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.shop2-science__facts article:hover,
.shop2-profile:hover,
.shop2-reviews .shop-review-carousel__card:hover {
  border-color: #d3cdc4;
  box-shadow: 0 18px 42px rgba(25, 25, 25, 0.065);
  transform: translateY(-3px);
}

.shop2-benefits {
  text-align: center;
}

.shop2-benefits > .shop2-kicker,
.shop2-benefits > h2,
.shop2-benefits > .shop2-cta {
  margin-right: auto;
  margin-left: auto;
}

.shop2-benefits > div {
  width: min(100%, 1260px);
  margin-right: auto;
  margin-left: auto;
  text-align: left;
}

.shop2-benefits article:hover {
  border-color: rgba(213, 170, 107, 0.48);
  background: rgba(255, 255, 255, 0.055);
  transform: translateY(-3px);
}

.shop2-gallery__grid {
  width: min(100%, 1120px);
  grid-template-columns: 1.05fr 0.95fr 0.95fr;
  grid-template-rows: repeat(2, 250px);
  gap: 14px;
}

.shop2-gallery__portrait {
  grid-column: 1;
  grid-row: 1 / 3;
}

.shop2-gallery__group {
  grid-column: 2 / 4;
  grid-row: 1;
}

.shop2-gallery__grid figure:nth-child(3) {
  grid-column: 2;
  grid-row: 2;
}

.shop2-gallery__grid figure:last-child {
  grid-column: 3;
  grid-row: 2;
}

.shop2-gallery__portrait img { object-position: center 32%; }
.shop2-gallery__group img { object-position: center 40%; }

.shop2-profile-section > div:first-child {
  position: sticky;
  top: 150px;
  padding-top: 18px;
}

.shop2-profile {
  background: rgba(255, 255, 255, 0.94);
}

.shop2-howto > div { max-width: 650px; }

.shop2-howto > img {
  width: min(100%, 590px);
  max-height: 590px;
  justify-self: end;
  padding: 24px;
  object-fit: contain;
  box-shadow: 0 18px 48px rgba(25, 25, 25, 0.055);
}

.shop2-faq details {
  background: transparent;
}

.shop2-faq summary {
  transition: color 180ms ease;
}

.shop2-faq summary:hover { color: var(--shop2-gold); }

.shop2-final {
  padding-top: 112px;
  padding-bottom: 122px;
}

.shop2-footer {
  padding-top: 50px;
  padding-bottom: 76px;
}

@media (max-width: 1100px) and (min-width: 761px) {
  .shop2-hero { width: min(100% - 72px, 920px); }
  .shop2-hero__visual { height: min(74vw, 660px); min-height: 0; }
  .shop2-science__visual { width: min(100%, 680px); }
  .shop2-gallery__grid { width: min(100%, 860px); }
  .shop2-profile-section > div:first-child { position: static; padding-top: 0; }
  .shop2-howto > img { width: min(100%, 620px); justify-self: center; }
}

@media (max-width: 760px) {
  .shop2-hero__visual::before { inset: 12px -10px -12px 10px; }
  .shop2-gallery__portrait,
  .shop2-gallery__group,
  .shop2-gallery__grid figure:nth-child(3),
  .shop2-gallery__grid figure:last-child {
    grid-column: auto;
    grid-row: auto;
  }
  .shop2-profile-section > div:first-child { position: static; padding-top: 0; }
  .shop2-howto > img { width: 100%; max-height: 480px; justify-self: stretch; padding: 16px; }
  .shop2-footer { padding-bottom: 86px; }
}

@media (prefers-reduced-motion: reduce) {
  .shop2-science__facts article,
  .shop2-benefits article,
  .shop2-profile,
  .shop2-reviews .shop-review-carousel__card { transition: none; }
}

/* Ecommerce Shop landing page */
.shop-page {
  --shop-gold: #bb8b4b;
  --shop-gold-soft: #ead8bd;
  --shop-ink: #191919;
  --shop-paper: #f7f5f2;
  --shop-card: #fbfaf8;
  --shop-muted: #72706d;
  --shop-line: #e3dfda;
  min-height: 100vh;
  background: var(--shop-paper);
  color: var(--shop-ink);
}

.shop-page .site-header {
  top: 34px;
}

.shop-page .site-header::before {
  border-color: rgba(25, 25, 25, 0.08);
  background: rgba(247, 245, 242, 0.94);
}

.shop-page .button--dark {
  background: var(--shop-ink);
}

.shop-announcement {
  position: fixed;
  z-index: 60;
  top: 0;
  right: 0;
  left: 0;
  display: flex;
  height: 34px;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  background: var(--shop-gold);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-align: center;
}

.shop-page h1,
.shop-page h2,
.shop-page h3,
.shop-page blockquote {
  letter-spacing: -0.04em;
}

.shop-kicker {
  margin-bottom: 22px;
  color: var(--shop-gold);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.28em;
  text-transform: uppercase;
}

.shop-section-intro {
  color: var(--shop-muted);
  font-size: 17px;
  line-height: 1.7;
}

.shop-cta,
.shop-secondary-cta {
  display: inline-flex;
  min-height: 58px;
  align-items: center;
  justify-content: center;
  gap: 18px;
  border: 1px solid var(--shop-ink);
  padding: 17px 30px;
  background: var(--shop-ink);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.045em;
  transition: transform 180ms ease, background 180ms ease;
}

.shop-cta:hover,
.shop-secondary-cta:hover {
  transform: translateY(-2px);
}

.shop-hero {
  display: grid;
  width: min(1400px, calc(100% - 48px));
  min-height: 850px;
  grid-template-columns: minmax(0, 1fr) minmax(460px, 0.92fr);
  align-items: center;
  gap: clamp(64px, 8vw, 140px);
  margin: 0 auto;
  padding: 174px 0 86px;
}

.shop-hero__copy {
  max-width: 630px;
}

.shop-rating-pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid var(--shop-line);
  border-radius: 999px;
  margin-bottom: 30px;
  padding: 8px 16px;
  background: #fff;
  box-shadow: 0 4px 12px rgba(25, 25, 25, 0.05);
  color: var(--shop-muted);
  font-size: 13px;
}

.shop-rating-pill > span,
.shop-reviews__rating > span,
.shop-review-stars {
  color: var(--shop-gold);
  letter-spacing: 0.08em;
}

.shop-star-muted,
.shop-proof-card i {
  color: var(--shop-gold-soft) !important;
  font-style: normal;
}

.shop-rating-pill b {
  color: var(--shop-ink);
}

.shop-hero h1 {
  margin-bottom: 28px;
  font-size: clamp(64px, 6vw, 94px);
  line-height: 0.97;
}

.shop-hero h1 em {
  display: block;
  margin-top: 10px;
  color: var(--shop-gold);
  font-size: 0.94em;
  font-style: italic;
  font-weight: 500;
}

.shop-hero__lead {
  max-width: 590px;
  margin-bottom: 26px;
  color: var(--shop-muted);
  font-size: 18px;
  line-height: 1.65;
}

.shop-hero__science {
  max-width: 590px;
  border-left: 2px solid var(--shop-gold);
  margin-bottom: 26px;
  padding-left: 20px;
  color: var(--shop-muted);
  font-size: 15px;
  line-height: 1.7;
}

.shop-hero__science b {
  color: var(--shop-ink);
}

.shop-benefits {
  display: grid;
  gap: 10px;
  margin: 0 0 32px;
  padding: 0;
  list-style: none;
}

.shop-benefits li {
  position: relative;
  padding-left: 27px;
  font-size: 15px;
}

.shop-benefits li::before {
  position: absolute;
  top: 0.52em;
  left: 4px;
  width: 7px;
  height: 7px;
  border: 5px solid #f0e7da;
  border-radius: 50%;
  background: var(--shop-gold);
  content: "";
  transform: translateY(-50%);
}

.shop-cta-reason {
  max-width: 500px;
  margin: 14px 0 0;
  color: var(--shop-muted);
  font-size: 12px;
  line-height: 1.6;
}

.shop-hero__assurance {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin-top: 25px;
  color: var(--shop-muted);
  font-size: 12px;
}

.shop-hero__assurance span::before {
  margin-right: 6px;
  content: "✓";
}

.shop-colours {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 25px 0 20px;
  color: var(--shop-muted);
  font-size: 12px;
  letter-spacing: 0.05em;
}

.shop-colour {
  width: 22px;
  height: 22px;
  border: 1px solid rgba(25, 25, 25, 0.06);
  border-radius: 50%;
}

.shop-colour--blue { background: #a9c7dc; }
.shop-colour--sand { background: #d8c3a3; }
.shop-colour--charcoal { background: #3e3d42; }
.shop-colour--pink { background: #cea2b1; }
.shop-colour--navy { background: #2f4771; }

.shop-hero__copy > small {
  color: #aaa7a3;
  font-size: 11px;
}

.shop-hero__visual {
  position: relative;
  align-self: center;
}

.shop-hero__visual > img {
  width: 100%;
  height: min(720px, 72vw);
  border-radius: 24px;
  object-fit: cover;
  object-position: center;
}

.shop-proof-card {
  position: absolute;
  display: flex;
  border: 1px solid rgba(25, 25, 25, 0.09);
  border-radius: 18px;
  padding: 14px 18px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 18px 38px rgba(25, 25, 25, 0.14);
}

.shop-proof-card--review {
  top: 26px;
  right: -28px;
  flex-direction: column;
}

.shop-proof-card--review span {
  color: var(--shop-gold);
  font-size: 12px;
}

.shop-proof-card--review b {
  margin-top: 4px;
  font-size: 12px;
}

.shop-proof-card small {
  display: block;
  color: var(--shop-muted);
  font-size: 10px;
}

.shop-proof-card--instant {
  bottom: 34px;
  left: -36px;
  align-items: center;
  gap: 13px;
}

.shop-proof-card--instant > span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  background: #f3eadf;
  color: var(--shop-gold);
}

.shop-proof-card--instant b {
  font-size: 12px;
}

.shop-metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--shop-line);
  border-bottom: 1px solid var(--shop-line);
  padding: 58px max(24px, calc((100vw - 1400px) / 2));
  background: #fff;
}

.shop-metrics div {
  display: flex;
  min-height: 86px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-right: 1px solid var(--shop-line);
  text-align: center;
}

.shop-metrics div:last-child { border-right: 0; }
.shop-metrics strong { font-size: 30px; letter-spacing: -0.04em; }
.shop-metrics span { color: var(--shop-muted); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; }

.shop-menopause-science,
.shop-contrast {
  padding: 110px max(24px, calc((100vw - 1400px) / 2));
}

.shop-menopause-science {
  border-bottom: 1px solid var(--shop-line);
  background: var(--shop-card);
}

.shop-menopause-science__intro {
  display: grid;
  max-width: 1080px;
  grid-template-columns: minmax(270px, 0.8fr) minmax(330px, 1fr);
  align-items: end;
  column-gap: 70px;
}

.shop-menopause-science__intro .shop-kicker {
  grid-column: 1 / -1;
}

.shop-menopause-science__intro h2,
.shop-contrast__heading h2 {
  margin: 0;
  font-size: clamp(42px, 4.5vw, 66px);
  line-height: 1.05;
}

.shop-menopause-science__intro .shop-section-intro,
.shop-contrast__heading .shop-section-intro {
  margin: 0;
}

.shop-menopause-science__facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin: 62px 0 92px;
}

.shop-menopause-science__facts article {
  min-height: 285px;
  border: 1px solid var(--shop-line);
  border-radius: 20px;
  padding: 30px;
  background: #fff;
}

.shop-menopause-science__facts article > span {
  display: inline-block;
  margin-bottom: 42px;
  color: var(--shop-gold);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.12em;
}

.shop-menopause-science__facts h3 {
  margin-bottom: 9px;
  font-size: 21px;
}

.shop-menopause-science__facts p {
  margin: 0;
  color: var(--shop-muted);
  font-size: 14px;
  line-height: 1.65;
}

.shop-menopause-science__mechanism {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(420px, 1fr);
  align-items: center;
  gap: clamp(55px, 8vw, 120px);
  border-top: 1px solid var(--shop-line);
  padding-top: 92px;
}

.shop-menopause-science__mechanism-copy > h2 {
  max-width: 650px;
  margin: 0 0 26px;
  font-size: clamp(42px, 4.2vw, 64px);
  line-height: 1.07;
}

.shop-menopause-science__mechanism-copy > p:not(.shop-kicker) {
  max-width: 620px;
  margin: 0;
  color: var(--shop-muted);
  font-size: 16px;
  line-height: 1.75;
}

.shop-menopause-science__mechanism > img {
  width: 100%;
  aspect-ratio: 0.86;
  border-radius: 24px;
  object-fit: cover;
}

.shop-menopause-science__process {
  display: grid;
  gap: 15px;
  margin-top: 34px;
}

.shop-menopause-science__process div {
  display: grid;
  grid-template-columns: 38px 1fr;
  align-items: center;
  gap: 14px;
}

.shop-menopause-science__process b {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 50%;
  background: #f1e7da;
  color: var(--shop-gold);
  font-size: 13px;
}

.shop-menopause-science__process span {
  color: var(--shop-ink);
  font-size: 14px;
  line-height: 1.55;
}

.shop-menopause-science__truth {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-top: 70px;
}

.shop-menopause-science__truth > div {
  border: 1px solid var(--shop-line);
  border-radius: 20px;
  padding: 34px;
  background: #fff;
}

.shop-menopause-science__truth > div:last-child {
  background: #f2e8db;
}

.shop-menopause-science__truth span {
  color: var(--shop-gold);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
}

.shop-menopause-science__truth h3 {
  margin: 13px 0 10px;
  font-size: 23px;
  line-height: 1.25;
}

.shop-menopause-science__truth p,
.shop-menopause-science__note {
  color: var(--shop-muted);
  font-size: 13px;
  line-height: 1.65;
}

.shop-menopause-science__truth p {
  margin: 0;
}

.shop-menopause-science__note {
  max-width: 880px;
  margin: 34px 0 0;
  padding-left: 18px;
  border-left: 2px solid var(--shop-gold);
}

.shop-contrast {
  border-top: 1px solid var(--shop-line);
  background: var(--shop-paper);
}

.shop-contrast__heading {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}

.shop-contrast__heading .shop-section-intro {
  max-width: 690px;
  margin: 22px auto 0;
}

.shop-contrast__grid {
  display: grid;
  max-width: 1120px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin: 62px auto 26px;
}

.shop-contrast__grid article {
  position: relative;
  min-height: 390px;
  border: 1px solid var(--shop-line);
  border-radius: 24px;
  padding: 42px;
  background: #fff;
  overflow: hidden;
}

.shop-contrast__grid article.is-personal {
  border-color: rgba(187, 139, 75, 0.5);
  background: #f2e8db;
}

.shop-contrast__grid article.is-personal::after {
  position: absolute;
  top: -80px;
  right: -70px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: rgba(187, 139, 75, 0.12);
  content: "";
}

.shop-contrast__grid article > p {
  margin-bottom: 30px;
  color: var(--shop-gold);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.shop-contrast__grid h3 {
  max-width: 390px;
  margin-bottom: 28px;
  font-size: 30px;
  line-height: 1.15;
}

.shop-contrast__grid ul {
  display: grid;
  gap: 15px;
  margin: 0;
  padding: 0;
  color: var(--shop-muted);
  font-size: 14px;
  line-height: 1.55;
  list-style: none;
}

.shop-contrast__grid li {
  position: relative;
  padding-left: 24px;
}

.shop-contrast__grid li::before {
  position: absolute;
  top: 0;
  left: 0;
  color: var(--shop-gold);
  content: "✓";
  font-weight: 600;
}

.shop-contrast__disclosure {
  max-width: 760px;
  margin: 0 auto 30px;
  color: var(--shop-muted);
  font-size: 12px;
  line-height: 1.6;
  text-align: center;
}

.shop-contrast > .shop-cta {
  display: flex;
  width: fit-content;
  margin: 0 auto;
}

.shop-empathy {
  min-height: 940px;
  padding: 90px max(24px, calc((100vw - 1400px) / 2));
  background: var(--shop-ink);
  color: #fff;
  text-align: center;
}

.shop-empathy .shop-kicker { color: #777; }

.shop-empathy__grid {
  display: grid;
  grid-template-columns: 1fr minmax(360px, 470px) 1fr;
  align-items: center;
  gap: 55px;
  margin: 55px 0;
}

.shop-empathy__grid img {
  width: 100%;
  aspect-ratio: 0.82;
  border-radius: 18px;
  object-fit: cover;
}

.shop-empathy blockquote {
  border-left: 2px solid var(--shop-gold);
  margin: 0;
  padding-left: 25px;
  color: #dbd8d4;
  font-size: clamp(19px, 1.7vw, 27px);
  font-style: italic;
  font-weight: 400;
  line-height: 1.7;
  text-align: left;
}

.shop-empathy__copy {
  max-width: 760px;
  margin: 0 auto 26px;
  color: #aaa7a3;
  font-size: 16px;
}

.shop-empathy .shop-cta,
.shop-final-cta .shop-cta {
  border-color: var(--shop-gold);
  background: var(--shop-gold);
}

.shop-science,
.shop-mission {
  display: grid;
  width: min(1400px, calc(100% - 48px));
  grid-template-columns: minmax(0, 0.95fr) minmax(420px, 1fr);
  align-items: center;
  gap: clamp(70px, 9vw, 150px);
  margin: 0 auto;
  padding: 120px 0;
}

.shop-science h2,
.shop-mission h2 {
  margin-bottom: 24px;
  font-size: clamp(46px, 4vw, 66px);
  line-height: 1.08;
}

.shop-science__copy > .shop-section-intro {
  max-width: 580px;
  margin-bottom: 42px;
}

.shop-science ol {
  display: grid;
  gap: 30px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.shop-science li {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 16px;
}

.shop-science li > span {
  color: var(--shop-gold-soft);
  font-size: 30px;
  font-weight: 600;
  line-height: 1.15;
}

.shop-science li h3 {
  margin: 0 0 4px;
  font-size: 16px;
}

.shop-science li p {
  margin: 0;
  color: var(--shop-muted);
  font-size: 14px;
}

.shop-science__visual img {
  width: 100%;
  aspect-ratio: 0.86;
  border-radius: 24px;
  object-fit: cover;
}

.shop-science__visual .shop-cta {
  width: 100%;
  margin-top: 20px;
}

.shop-science__learn {
  width: 100%;
  margin-top: 20px;
}

.shop-features,
.shop-style,
.shop-reviews,
.shop-faq {
  padding: 110px max(24px, calc((100vw - 1400px) / 2));
  text-align: center;
}

.shop-features,
.shop-reviews {
  border-top: 1px solid var(--shop-line);
  background: #fff;
}

.shop-features > h2,
.shop-style > h2,
.shop-reviews > h2,
.shop-faq > h2 {
  margin-bottom: 14px;
  font-size: clamp(42px, 4vw, 62px);
}

.shop-features > .shop-section-intro,
.shop-style > .shop-section-intro,
.shop-faq > .shop-section-intro {
  max-width: 700px;
  margin: 0 auto;
}

.shop-features__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin: 65px 0;
  text-align: left;
}

.shop-features article {
  min-height: 210px;
  border: 1px solid var(--shop-line);
  border-radius: 20px;
  padding: 30px;
  background: var(--shop-card);
}

.shop-feature-icon {
  display: grid;
  width: 43px;
  height: 43px;
  place-items: center;
  border-radius: 11px;
  margin-bottom: 21px;
  background: #f3eadf;
  color: var(--shop-gold);
  font-size: 21px;
}

.shop-features article h3 { margin-bottom: 13px; font-size: 19px; }
.shop-features article p { margin: 0; color: var(--shop-muted); font-size: 15px; }
.shop-features > small { display: block; margin-top: 14px; color: var(--shop-muted); }

.shop-style {
  background: var(--shop-paper);
}

.shop-style__mosaic {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 390px 390px;
  gap: 20px;
  margin-top: 65px;
}

.shop-style__mosaic > img,
.shop-style__colours {
  width: 100%;
  height: 100%;
  border-radius: 22px;
  overflow: hidden;
  object-fit: cover;
}

.shop-style__portrait { grid-row: 1 / 3; }
.shop-style__colours { position: relative; background: #e9e5df; }
.shop-style__colours img { width: 100%; height: 100%; object-fit: cover; }
.shop-style__colours p {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  margin: 0;
  padding: 44px 26px 24px;
  background: linear-gradient(transparent, rgba(25, 25, 25, 0.74));
  color: #fff;
  font-size: 17px;
  font-weight: 600;
  text-align: left;
}
.shop-style__colours p span { display: block; margin-bottom: 4px; color: #d2cfca; font-size: 11px; letter-spacing: 0.14em; }

.shop-reviews__rating {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: var(--shop-muted);
  font-size: 14px;
}

.shop-reviews__intro {
  max-width: 760px;
  margin: 0 auto 22px;
  color: var(--shop-muted);
  font-size: 15px;
  line-height: 1.65;
}

.shop-reviews__rating b { color: var(--shop-ink); }
.shop-reviews__rating .shop-review-summary-stars {
  display: flex;
  gap: 2px;
  color: #fff;
  letter-spacing: 0;
}
.shop-review-summary-stars i {
  display: grid;
  width: 23px;
  height: 23px;
  place-items: center;
  background: #00b67a;
  color: #fff;
  font-size: 16px;
  font-style: normal;
  line-height: 1;
}
.shop-review-summary-stars .is-half {
  background: linear-gradient(90deg, #00b67a 50%, #dcdce6 50%);
}

.shop-review-carousel {
  max-width: 1280px;
  margin: 54px auto 0;
  outline: none;
  text-align: left;
}

.shop-review-carousel:focus-visible {
  border-radius: 22px;
  box-shadow: 0 0 0 3px rgba(0, 182, 122, 0.25);
}

.shop-review-carousel__toolbar,
.shop-review-carousel__identity,
.shop-review-carousel__controls {
  display: flex;
  align-items: center;
}

.shop-review-carousel__toolbar {
  justify-content: space-between;
  margin-bottom: 14px;
  color: var(--shop-muted);
  font-size: 13px;
}

.shop-review-carousel__brand {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--shop-ink);
  font-size: 19px;
}

.shop-review-carousel__brand span {
  color: #00b67a;
  font-size: 28px;
  line-height: 1;
}

.shop-review-carousel__slide {
  display: grid;
  align-items: stretch;
  gap: 18px;
  animation: shopReviewIn 320ms cubic-bezier(0.22, 1, 0.36, 1);
}

.shop-review-carousel__slide--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.shop-review-carousel__slide--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.shop-review-carousel__slide--1 { grid-template-columns: minmax(0, 1fr); }

.shop-review-carousel__card {
  display: flex;
  min-width: 0;
  min-height: 610px;
  flex-direction: column;
  border: 1px solid var(--shop-line);
  border-radius: 22px;
  padding: 28px;
  background: #fff;
  box-shadow: 0 16px 45px rgba(25, 25, 25, 0.06);
}

@keyframes shopReviewIn {
  from { opacity: 0; transform: translateX(18px); }
  to { opacity: 1; transform: translateX(0); }
}

.shop-review-carousel__identity {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
}

.shop-review-carousel__identity h3,
.shop-review-carousel__identity p { margin: 0; }
.shop-review-carousel__identity h3 { font-size: 17px; letter-spacing: -0.025em; }
.shop-review-carousel__identity p,
.shop-review-carousel__identity time { color: var(--shop-muted); font-size: 13px; }
.shop-review-carousel__identity time {
  grid-column: 2;
  margin-top: -8px;
}

.shop-review-avatar {
  display: grid;
  width: 46px;
  height: 46px;
  grid-row: 1 / span 2;
  place-items: center;
  border-radius: 50%;
  background: #f7dbe6;
  color: var(--shop-ink);
  font-size: 17px;
  font-weight: 600;
}

.shop-review-stars {
  display: flex;
  gap: 3px;
  margin-top: 24px;
}

.shop-review-stars > span {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  color: #fff;
  font-size: 18px;
  line-height: 1;
}

.shop-review-stars--5 .is-filled { background: #00b67a; }
.shop-review-stars--4 .is-filled { background: #73cf11; }
.shop-review-stars--3 .is-filled { background: #ffce00; }
.shop-review-stars--2 .is-filled { background: #ff862f; }
.shop-review-stars--1 .is-filled { background: #ff3722; }
.shop-review-stars .is-empty { background: #dcdce6; }
.shop-review-title {
  margin: 18px 0 0;
  font-size: 17px;
  line-height: 1.35;
}
.shop-reviews blockquote {
  max-height: 330px;
  margin: 16px 0 0;
  padding-right: 8px;
  overflow-y: auto;
  font-family: "Poppins", Arial, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.58;
  scrollbar-color: #b8b4ad transparent;
  scrollbar-width: thin;
}

.shop-review-carousel__controls {
  justify-content: space-between;
  gap: 22px;
  margin-top: 18px;
}

.shop-review-carousel__controls button {
  display: inline-flex;
  min-width: 136px;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid var(--shop-ink);
  border-radius: 999px;
  background: transparent;
  color: var(--shop-ink);
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background 180ms ease, color 180ms ease, transform 180ms ease;
}

.shop-review-carousel__controls button:hover {
  transform: translateY(-2px);
  background: var(--shop-ink);
  color: #fff;
}

.shop-review-carousel__controls button:focus-visible {
  outline: 3px solid rgba(0, 182, 122, 0.35);
  outline-offset: 3px;
}

.shop-review-carousel__dots {
  display: flex;
  flex: 1;
  justify-content: center;
  gap: 7px;
}

.shop-review-carousel__dots i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #cac7c2;
}

.shop-review-carousel__dots .is-active {
  width: 22px;
  border-radius: 999px;
  background: #00b67a;
}

.shop-reviews__cta {
  border: 1px solid var(--shop-line);
  border-radius: 20px;
  margin-top: 60px;
  padding: 55px 24px;
  background: var(--shop-card);
}
.shop-reviews__cta h3 { margin-bottom: 10px; font-size: 28px; }
.shop-reviews__cta p { color: var(--shop-muted); }

.shop-assurances {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--shop-line);
  border-bottom: 1px solid var(--shop-line);
  padding: 65px max(24px, calc((100vw - 1400px) / 2));
  background: var(--shop-paper);
  text-align: center;
}
.shop-assurances div { display: flex; flex-direction: column; align-items: center; }
.shop-assurances div > span {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border-radius: 50%;
  margin-bottom: 16px;
  background: #f1e8dc;
  color: var(--shop-gold);
  font-size: 23px;
}
.shop-assurances b { font-size: 15px; }
.shop-assurances p { margin: 2px 0 0; color: var(--shop-muted); font-size: 13px; }

.shop-faq {
  background: #fff;
}
.shop-faq__list { max-width: 1150px; margin: 58px auto 0; text-align: left; }
.shop-faq details { border-bottom: 1px solid var(--shop-line); }
.shop-faq summary {
  display: flex;
  min-height: 76px;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  font-size: 17px;
  list-style: none;
}
.shop-faq summary::-webkit-details-marker { display: none; }
.shop-faq details p { max-width: 850px; padding: 0 0 24px; color: var(--shop-muted); }
.shop-faq__contact { margin: 30px 0 0; color: var(--shop-muted); }
.shop-faq__contact a { border-bottom: 1px solid var(--shop-gold); color: var(--shop-gold); }

.shop-mission {
  border-top: 1px solid var(--shop-line);
}
.shop-mission > img { width: 100%; aspect-ratio: 0.82; border-radius: 24px; object-fit: cover; }
.shop-mission > div > p:not(.shop-kicker) { color: var(--shop-muted); font-size: 16px; line-height: 1.75; }
.shop-mission__actions { display: flex; gap: 12px; margin: 34px 0 24px; }
.shop-secondary-cta { background: transparent; color: var(--shop-ink); }
.shop-mission small { display: block; max-width: 680px; color: #aaa7a3; font-size: 10px; }

.shop-final-cta {
  padding: 110px 24px;
  background: var(--shop-ink);
  color: #fff;
  text-align: center;
}
.shop-final-cta .shop-kicker { color: #777; }
.shop-final-cta h2 { margin-bottom: 25px; font-size: clamp(46px, 5vw, 72px); line-height: 1.05; }
.shop-final-cta h2 em { color: var(--shop-gold); font-style: normal; font-weight: 600; }
.shop-final-cta > p:not(.shop-kicker) { max-width: 700px; margin: 0 auto 26px; color: #aaa7a3; }
.shop-final-cta__promises { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 40px; margin-bottom: 34px; color: #c5c2be; font-size: 14px; }
.shop-final-cta > small { display: block; margin-top: 28px; color: #696765; }
.shop-final-cta .shop-final-cta__freedom {
  margin-top: 17px;
  margin-bottom: 0;
  color: #888582;
  font-size: 11px;
}

.shop-footer {
  display: grid;
  min-height: 480px;
  grid-template-columns: 1.2fr 0.8fr 1fr;
  gap: 60px;
  align-content: start;
  margin: 0;
  padding: 80px max(24px, calc((100vw - 1400px) / 2)) 45px;
  background: #101010;
  color: #fff;
}
.shop-footer__brand img { width: 170px; }
.shop-footer__brand p { max-width: 270px; margin-top: 24px; color: #84817e; font-size: 14px; }
.shop-footer nav { display: flex; flex-direction: column; gap: 12px; font-size: 14px; }
.shop-footer__contact { display: grid; grid-template-columns: 1fr !important; gap: 18px; }
.shop-footer__contact > div { min-height: auto !important; border: 0; padding: 0; background: transparent; }
.shop-footer__contact span { color: #6c6966; }
.shop-footer__contact a,
.shop-footer__contact p { color: #d8d5d1; }
.shop-footer__legal { grid-column: 1 / -1; align-self: end; margin: 70px 0 0; color: #676461; font-size: 12px; }

@media (max-width: 1100px) {
  .shop-hero { grid-template-columns: 1fr 0.9fr; gap: 46px; }
  .shop-hero h1 { font-size: clamp(56px, 7vw, 76px); }
  .shop-empathy__grid { grid-template-columns: 1fr 0.9fr 1fr; gap: 28px; }
  .shop-science, .shop-mission { gap: 60px; }
  .shop-style__mosaic { grid-template-rows: 330px 330px; }
  .shop-review-carousel__slide--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .shop-review-carousel__slide--3,
  .shop-review-carousel__slide--2 { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 860px) {
  .shop-hero {
    width: min(100% - 32px, 680px);
    grid-template-columns: 1fr;
    padding-top: 150px;
  }
  .shop-hero__copy { max-width: none; }
  .shop-hero__visual { order: -1; }
  .shop-hero__visual > img { height: min(680px, 100vw); }
  .shop-proof-card--review { right: 14px; }
  .shop-proof-card--instant { left: 14px; }
  .shop-metrics { grid-template-columns: repeat(2, 1fr); }
  .shop-metrics div:nth-child(2) { border-right: 0; }
  .shop-metrics div:nth-child(-n+2) { border-bottom: 1px solid var(--shop-line); }
  .shop-menopause-science__intro { grid-template-columns: 1fr; gap: 22px; }
  .shop-menopause-science__facts { grid-template-columns: 1fr; }
  .shop-menopause-science__facts article { min-height: 190px; }
  .shop-menopause-science__mechanism { grid-template-columns: 1fr; }
  .shop-menopause-science__mechanism > img { max-height: 680px; }
  .shop-contrast__grid { grid-template-columns: 1fr; }
  .shop-empathy__grid { grid-template-columns: 1fr; max-width: 620px; margin-right: auto; margin-left: auto; }
  .shop-empathy__grid img { order: -1; max-height: 660px; }
  .shop-science, .shop-mission { grid-template-columns: 1fr; width: min(100% - 40px, 680px); }
  .shop-science__visual { order: -1; }
  .shop-features__grid, .shop-reviews__grid { grid-template-columns: repeat(2, 1fr); }
  .shop-style__mosaic { grid-template-columns: 1fr 1fr; grid-template-rows: 390px 390px; }
  .shop-style__portrait { grid-row: auto; }
  .shop-assurances { grid-template-columns: repeat(2, 1fr); gap: 45px; }
  .shop-footer { grid-template-columns: 1fr 1fr; }
  .shop-footer__contact { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
  .shop-announcement { font-size: 9px; letter-spacing: 0.03em; }
  .shop-page .site-header { top: 34px; }
  .shop-hero { width: calc(100% - 28px); gap: 40px; padding-bottom: 70px; }
  .shop-hero__visual > img { height: 105vw; border-radius: 18px; }
  .shop-proof-card--review { top: 12px; right: 10px; }
  .shop-proof-card--instant { bottom: 12px; left: 10px; }
  .shop-hero h1 { font-size: clamp(50px, 16vw, 68px); }
  .shop-rating-pill { align-items: flex-start; flex-wrap: wrap; }
  .shop-cta { width: 100%; padding-right: 16px; padding-left: 16px; font-size: 11px; }
  .shop-hero__assurance { gap: 8px 14px; }
  .shop-metrics { padding: 35px 14px; }
  .shop-metrics strong { font-size: 24px; }
  .shop-metrics span { font-size: 9px; }
  .shop-menopause-science, .shop-contrast { padding: 76px 20px; }
  .shop-menopause-science__facts { margin-top: 42px; margin-bottom: 68px; }
  .shop-menopause-science__facts article { min-height: 0; padding: 26px; }
  .shop-menopause-science__facts article > span { margin-bottom: 28px; }
  .shop-menopause-science__mechanism { gap: 42px; padding-top: 68px; }
  .shop-menopause-science__mechanism > img { aspect-ratio: 0.92; border-radius: 18px; }
  .shop-menopause-science__truth { grid-template-columns: 1fr; margin-top: 50px; }
  .shop-menopause-science__truth > div { padding: 26px; }
  .shop-contrast__grid { margin-top: 42px; }
  .shop-contrast__grid article { min-height: 0; padding: 30px 25px; }
  .shop-contrast__grid h3 { font-size: 25px; }
  .shop-contrast > .shop-cta { width: 100%; }
  .shop-empathy, .shop-features, .shop-style, .shop-reviews, .shop-faq { padding: 76px 20px; }
  .shop-empathy__grid img { aspect-ratio: 0.82; }
  .shop-science, .shop-mission { width: calc(100% - 40px); padding: 80px 0; }
  .shop-science h2, .shop-mission h2 { font-size: 43px; }
  .shop-features__grid { grid-template-columns: 1fr; margin-top: 42px; }
  .shop-reviews__rating { flex-wrap: wrap; }
  .shop-review-carousel { margin-top: 38px; }
  .shop-review-carousel__card { min-height: 560px; padding: 24px; }
  .shop-review-carousel__identity { align-items: center; }
  .shop-review-carousel__identity time { margin-top: -8px; text-align: left; }
  .shop-review-stars > span { width: 27px; height: 27px; font-size: 18px; }
  .shop-reviews blockquote { max-height: 350px; font-size: 15px; line-height: 1.6; }
  .shop-review-carousel__controls { gap: 10px; }
  .shop-review-carousel__controls button { min-width: 104px; min-height: 48px; font-size: 11px; }
  .shop-review-carousel__dots { display: none; }
  .shop-features article { min-height: auto; }
  .shop-style__mosaic { grid-template-columns: 1fr; grid-template-rows: repeat(4, 420px); margin-top: 42px; }
  .shop-assurances { grid-template-columns: 1fr 1fr; padding: 55px 18px; }
  .shop-assurances b { font-size: 12px; }
  .shop-assurances p { font-size: 10px; }
  .shop-mission__actions { flex-direction: column; }
  .shop-secondary-cta { width: 100%; }
  .shop-final-cta { padding: 78px 20px; }
  .shop-final-cta h2 { font-size: 44px; }
  .shop-footer { grid-template-columns: 1fr; gap: 40px; min-height: 620px; padding: 65px 24px 35px; }
  .shop-footer__contact { grid-column: auto; }
  .shop-footer__legal { grid-column: auto; margin-top: 20px; }
}

@font-face {
  font-family: "Poppins";
  src: url("assets/Poppins-Medium.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "Poppins";
  src: url("assets/Poppins-SemiBold.ttf") format("truetype");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: "Poppins";
  src: url("assets/Poppins-Bold.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "Nordique Pro";
  src: url("assets/NordiquePro-SemiBold.otf") format("opentype");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

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

:root {
  --azure: #1071ff;
  --vivid-azure: #1289ff;
  --neo-green: #1bc96a;
  --pale-blue: #e9f5ff;
  --navy: #121427;
  --white: #ffffff;
  --ink: var(--navy);
  --paper: #fbfdff;
  --soft: var(--pale-blue);
  --peach: var(--pale-blue);
  --orange: var(--azure);
  --orange-deep: var(--vivid-azure);
  --line: rgba(18, 20, 39, 0.16);
  --radius: 24px;
  --radius-small: 14px;
  --shadow: 0 24px 70px rgba(18, 20, 39, 0.12);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  overflow-x: hidden;
  background: var(--paper);
  color: var(--ink);
  font-family: "Poppins", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
}

body.menu-is-open {
  overflow: hidden;
}

body,
button,
input,
select {
  font-family: "Poppins", Arial, sans-serif;
}

button,
a,
summary,
select {
  -webkit-tap-highlight-color: transparent;
}

button,
select {
  color: inherit;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  display: block;
  max-width: 100%;
}

h1,
h2,
h3,
p,
blockquote {
  margin-top: 0;
}

h1,
h2,
blockquote {
  text-wrap: balance;
}

h1,
h2,
.product-copy > h2,
.testimonial-copy blockquote,
.about-grid > p:last-child,
.newsletter-modal h2 {
  font-family: "Poppins", Arial, sans-serif;
  font-weight: 700;
  letter-spacing: -0.055em;
}

em {
  font-family: "Poppins", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
}

.eyebrow {
  margin-bottom: 20px;
  color: var(--azure);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.button {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  border: 1.5px solid transparent;
  border-radius: var(--radius-small);
  padding: 13px 24px 12px;
  font-size: 14px;
  font-weight: 600;
  transition:
    background 180ms ease,
    border-color 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}

.button:hover {
  transform: translateY(-2px);
}

.button:focus-visible,
.menu-button:focus-visible,
.gallery-controls button:focus-visible,
.gallery-thumbnails button:focus-visible,
.testimonial-controls button:focus-visible,
summary:focus-visible,
select:focus-visible,
input:focus-visible {
  outline: 3px solid var(--neo-green);
  outline-offset: 3px;
}

.scroll-progress {
  position: fixed;
  z-index: 100;
  top: 0;
  right: 0;
  left: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--azure), var(--vivid-azure), var(--neo-green));
  transform: scaleX(0);
  transform-origin: left center;
  will-change: transform;
}

.reveal {
  opacity: 0;
  transform: translate3d(0, 38px, 0);
  transition:
    opacity 720ms ease,
    transform 720ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

.reveal--left {
  transform: translate3d(-44px, 0, 0);
}

.reveal--right {
  transform: translate3d(44px, 0, 0);
}

.reveal--scale {
  transform: scale(0.965);
}

.reveal.visible {
  opacity: 1;
  transform: none;
  will-change: auto;
}

.reveal--delay-1 {
  transition-delay: 100ms;
}

.reveal--delay-2 {
  transition-delay: 200ms;
}

.button--dark {
  background: var(--azure);
  color: var(--white);
}

.button--dark:hover {
  background: var(--vivid-azure);
}

.button--light {
  background: var(--white);
  color: var(--navy);
}

.button--outline-light {
  border-color: rgba(255, 255, 255, 0.8);
  background: transparent;
  color: var(--white);
}

.site-header {
  position: fixed;
  z-index: 50;
  top: 0;
  right: 0;
  left: 0;
  display: flex;
  height: 80px;
  align-items: center;
  justify-content: space-between;
  padding: 10px 22px;
  pointer-events: none;
}

.site-header::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  border-bottom: 1px solid rgba(18, 20, 39, 0.06);
  background: rgba(233, 245, 255, 0.94);
  content: "";
  pointer-events: none;
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}

.brand,
.header-actions {
  pointer-events: auto;
}

.brand {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.brand img {
  width: 152px;
  height: auto;
}

.brand-logo {
  display: block;
  transition: opacity 220ms ease;
}

.brand-logo--white {
  position: absolute;
  inset: 0;
  opacity: 0;
}

.brand--light .brand-logo--black {
  opacity: 0;
}

.brand--light .brand-logo--white {
  opacity: 1;
}

.header-actions {
  display: flex;
  align-items: stretch;
  gap: 10px;
}

.header-shop {
  min-height: 44px;
}

.menu-button {
  width: 46px;
  min-height: 44px;
  border: 1.5px solid var(--navy);
  border-radius: var(--radius-small);
  background: var(--navy);
  color: var(--white);
  cursor: pointer;
  font-size: 19px;
}

.menu-overlay {
  position: fixed;
  z-index: 45;
  top: 0;
  right: 0;
  display: flex;
  width: min(600px, 100%);
  height: 100dvh;
  flex-direction: column;
  justify-content: center;
  padding: 110px 8vw 54px;
  background: linear-gradient(150deg, var(--navy) 0%, var(--azure) 72%, var(--vivid-azure) 100%);
  box-shadow: -30px 0 60px rgba(18, 20, 39, 0.24);
  color: var(--white);
  transform: translateX(105%);
  transition: transform 420ms cubic-bezier(0.76, 0, 0.24, 1);
}

.menu-overlay--open {
  transform: translateX(0);
}

.menu-overlay nav {
  display: grid;
  gap: 8px;
}

.menu-overlay nav a {
  font-size: clamp(34px, 4.5vw, 58px);
  font-weight: 600;
  letter-spacing: -0.045em;
  line-height: 1.1;
  transition: transform 150ms ease;
}

.menu-overlay nav a:hover {
  transform: translateX(10px);
}

.menu-overlay > p,
.menu-number {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.menu-number {
  margin-bottom: 32px;
  color: var(--neo-green);
}

/* Secondary-page brand system. The homepage intentionally keeps its existing palette. */
:is(
  .shop-page,
  .shop2-page,
  .product-detail-page,
  .product2-page,
  .waitlist-page,
  .contact2-page,
  .about2-page,
  .accessories-page
) {
  --azure: #bd8d4b;
  --vivid-azure: #9b6c34;
  --neo-green: #d6b078;
  --pale-blue: #f4eee7;
  --navy: #171717;
  --ink: #171717;
  --paper: #f8f5f0;
  --soft: #f4eee7;
  --peach: #efe4d8;
  --orange: #bd8d4b;
  --orange-deep: #9b6c34;
  --line: rgba(23, 23, 23, 0.14);
}

body.secondary-brand-page {
  --azure: #bd8d4b;
  --vivid-azure: #9b6c34;
  --neo-green: #d6b078;
  --pale-blue: #f4eee7;
  --navy: #171717;
  --ink: #171717;
  --paper: #f8f5f0;
  --soft: #f4eee7;
  --peach: #efe4d8;
  --orange: #bd8d4b;
  --orange-deep: #9b6c34;
  --line: rgba(23, 23, 23, 0.14);
  background: #f8f5f0;
}

.site-header--secondary::before {
  border-bottom-color: rgba(23, 23, 23, 0.08);
  background: rgba(248, 245, 240, 0.94);
}

.site-header--secondary .brand img {
  width: auto;
  height: 32.5px;
}

@media (max-width: 600px) {
  .site-header--secondary .brand img {
    height: 27.25px;
  }
}

.site-header--secondary .header-shop {
  background: #171717;
  color: #ffffff;
}

.site-header--secondary .header-shop:hover {
  background: #bd8d4b;
}

.site-header--secondary .menu-button {
  border-color: rgba(23, 23, 23, 0.14);
  background: #f4eee7;
  color: #171717;
}

/* Keep the homepage header treatment identical on every route. */
.site-header .brand img {
  width: auto;
  height: 32.5px;
}

.site-header .header-shop:hover {
  background: #bd8d4b;
}

@media (max-width: 600px) {
  .site-header .brand img {
    width: auto;
    height: 27.25px;
  }
}

body.secondary-brand-page .menu-overlay {
  background: transparent;
  box-shadow: none;
}

body.secondary-brand-page .menu-number {
  color: #d6b078;
}

body.secondary-brand-page .button--dark {
  background: #171717;
  color: #ffffff;
}

body.secondary-brand-page .button--dark:hover {
  background: #bd8d4b;
}

body.secondary-brand-page .button:focus-visible,
body.secondary-brand-page .menu-button:focus-visible,
body.secondary-brand-page .gallery-controls button:focus-visible,
body.secondary-brand-page .gallery-thumbnails button:focus-visible,
body.secondary-brand-page .testimonial-controls button:focus-visible,
body.secondary-brand-page summary:focus-visible,
body.secondary-brand-page select:focus-visible,
body.secondary-brand-page input:focus-visible {
  outline-color: #bd8d4b;
}

.menu-overlay > p {
  margin: auto 0 0;
}

.hero {
  position: relative;
  min-height: 1180px;
  overflow: hidden;
  background:
    radial-gradient(circle at 55% 52%, rgba(18, 137, 255, 0.1), transparent 30%),
    var(--pale-blue);
}

.hero-image {
  position: absolute;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  object-fit: cover;
  animation: heroFloat 7s ease-in-out infinite;
  will-change: transform;
}

.hero-image--watch {
  top: 94px;
  left: 29%;
  width: 20%;
  height: 26%;
}

.hero-image--group {
  top: 94px;
  right: 0;
  width: 26%;
  height: 46%;
  border-radius: 0 0 0 var(--radius);
  animation-delay: -3.2s;
}

.hero-image--portrait {
  top: 34%;
  left: 1.6%;
  width: 31%;
  height: 52%;
  animation-delay: -1.4s;
}

.hero-image--hands {
  right: 34%;
  bottom: 0;
  width: 17%;
  height: 27%;
  border-radius: var(--radius) var(--radius) 0 0;
  animation-delay: -4.1s;
}

.hero-image--blue {
  right: 9%;
  bottom: 5%;
  width: 13%;
  height: 24%;
  animation-delay: -2.2s;
}

.hero-image--burgundy {
  top: 112px;
  left: 4%;
  width: 11%;
  height: 18%;
  animation-delay: -5.1s;
}

@keyframes heroFloat {
  0%,
  100% {
    transform: translate3d(0, 0, 0) rotate(0.001deg);
  }

  50% {
    transform: translate3d(0, -13px, 0) rotate(0.001deg);
  }
}

.hero-copy {
  position: absolute;
  z-index: 2;
  top: 38%;
  left: 37%;
  width: 49%;
  max-width: 780px;
}

.hero-copy > p {
  margin-bottom: 22px;
  color: var(--azure);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hero-copy > .hero-support {
  max-width: 390px;
  margin: 28px 0 0;
  color: rgba(18, 20, 39, 0.76);
  font-size: clamp(15px, 1.3vw, 19px);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.5;
  text-transform: none;
}

.hero-copy h1 {
  margin-bottom: 0;
  font-size: clamp(54px, 7vw, 116px);
  line-height: 0.93;
}

.hero-copy em {
  display: block;
}

.scroll-cue {
  position: absolute;
  right: 24px;
  bottom: 22px;
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--azure);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.scroll-cue span {
  color: var(--neo-green);
  font-size: 20px;
}

.voices {
  padding: 100px 20px 0;
  background: linear-gradient(125deg, var(--azure) 0%, var(--vivid-azure) 58%, var(--neo-green) 130%);
  color: var(--white);
}

.voices .eyebrow,
.testimonials .eyebrow {
  color: var(--neo-green);
}

.voices-heading {
  display: grid;
  grid-template-columns: 1fr 2fr;
  padding-bottom: 70px;
}

.voices-heading h2 {
  max-width: 920px;
  margin-bottom: 0;
  font-size: clamp(56px, 7.6vw, 122px);
  line-height: 0.94;
}

.voice-grid {
  display: grid;
  min-height: 670px;
  align-items: center;
  border-top: 1px solid rgba(255, 255, 255, 0.42);
  grid-template-columns: 1.2fr 0.55fr 1.2fr;
  gap: 6vw;
}

.voice-grid img {
  width: 100%;
  aspect-ratio: 0.76;
  border-radius: var(--radius) var(--radius) 0 0;
  object-fit: cover;
}

.voice-grid blockquote {
  position: relative;
  margin-bottom: 0;
  font-size: clamp(27px, 3.2vw, 50px);
  font-weight: 600;
  line-height: 1.12;
}

.voice-grid blockquote em {
  display: block;
  margin-top: 18px;
  font-size: 0.8em;
}

.quote-mark {
  position: absolute;
  top: -52px;
  left: 0;
  color: var(--neo-green);
  font-size: 70px;
  font-weight: 700;
}

.process {
  background: var(--paper);
}

.process-title {
  display: grid;
  min-height: 650px;
  align-content: center;
  grid-template-columns: 1fr 2fr;
  padding: 80px 7vw;
  background: linear-gradient(135deg, var(--navy) 0%, var(--azure) 58%, var(--pale-blue) 150%);
  color: var(--white);
}

.process-title .eyebrow {
  color: var(--neo-green);
}

.process-title h2 {
  max-width: 900px;
  margin: 0;
  font-size: clamp(66px, 9.5vw, 150px);
  line-height: 0.88;
}

.process-title em {
  display: block;
}

.process-grid {
  padding: 20px;
}

.process-step {
  position: relative;
  display: grid;
  min-height: 700px;
  align-items: center;
  border-radius: var(--radius);
  margin-bottom: 20px;
  background: var(--white);
  grid-template-columns: 1fr 1.5fr;
  overflow: hidden;
}

.process-step > div:first-child {
  position: relative;
  z-index: 2;
  padding-left: 5vw;
}

.process-step span {
  display: block;
  margin-bottom: 18px;
  color: var(--azure);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
}

.process-step h3 {
  max-width: 570px;
  margin-bottom: 0;
  font-size: clamp(36px, 4.5vw, 68px);
  font-weight: 600;
  letter-spacing: -0.045em;
  line-height: 1;
}

.process-step--watch img {
  width: min(660px, 85%);
  justify-self: center;
  mix-blend-mode: multiply;
}

.process-step--cool {
  background: linear-gradient(135deg, var(--pale-blue) 0%, var(--white) 62%, rgba(27, 201, 106, 0.16) 100%);
}

.cooling-orbit {
  position: relative;
  width: min(52vw, 620px);
  aspect-ratio: 1;
  border-radius: 50%;
  background:
    radial-gradient(circle, var(--neo-green) 0 7%, transparent 8%),
    radial-gradient(circle, rgba(18, 137, 255, 0.58) 0 16%, transparent 40%);
  justify-self: center;
}

.cooling-orbit span {
  position: absolute;
  inset: 12%;
  border: 1px solid rgba(16, 113, 255, 0.32);
  border-radius: 50%;
  animation: orbit 9s linear infinite;
}

.cooling-orbit span:nth-child(2) {
  inset: 25%;
  animation-direction: reverse;
  animation-duration: 6s;
}

.cooling-orbit span:nth-child(3) {
  inset: 38%;
  animation-duration: 4s;
}

.cooling-orbit span::after {
  position: absolute;
  top: 7%;
  left: 15%;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--neo-green);
  box-shadow: 0 0 24px rgba(27, 201, 106, 0.8);
  content: "";
}

@keyframes orbit {
  to {
    transform: rotate(360deg);
  }
}

.process-step--signal {
  background:
    linear-gradient(90deg, transparent 0 50%, rgba(16, 113, 255, 0.1) 50%),
    var(--white);
}

.signal-line {
  width: 72%;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--azure), var(--vivid-azure), var(--neo-green));
  box-shadow:
    0 0 22px rgba(16, 113, 255, 0.58),
    0 0 45px rgba(27, 201, 106, 0.45);
  justify-self: center;
}

.process-step--brain {
  background: var(--navy);
  color: var(--white);
  grid-template-columns: 1.2fr 1fr;
}

.process-step--brain > img {
  width: 100%;
  height: 720px;
  opacity: 0.72;
  object-fit: cover;
  object-position: center;
}

.process-step--brain > div {
  padding: 8vw 6vw;
}

.process-step--brain p {
  max-width: 520px;
  margin: 30px 0 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: 17px;
}

.press-strip {
  padding: 64px 20px 52px;
  overflow: hidden;
  background: var(--pale-blue);
  text-align: center;
}

.press-strip > p {
  margin-bottom: 28px;
  color: var(--azure);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.press-strip img {
  width: max(1180px, 100%);
  max-width: none;
  margin: 0 auto;
  mix-blend-mode: multiply;
}

.product {
  display: grid;
  align-items: start;
  background: var(--white);
  grid-template-columns: 1fr 1fr;
}

.product-gallery {
  position: sticky;
  top: 0;
  min-height: 100vh;
  background: var(--pale-blue);
}

.product-gallery > img {
  width: 100%;
  height: 100vh;
  object-fit: cover;
}

.gallery-image {
  animation: galleryFade 420ms cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes galleryFade {
  from {
    opacity: 0;
    transform: scale(1.018);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

.gallery-thumbnails {
  position: absolute;
  z-index: 2;
  bottom: 82px;
  left: 20px;
  display: flex;
  gap: 8px;
}

.gallery-thumbnails button {
  width: 64px;
  height: 64px;
  overflow: hidden;
  border: 2px solid transparent;
  border-radius: 12px;
  padding: 0;
  background: rgba(255, 255, 255, 0.78);
  cursor: pointer;
  opacity: 0.66;
  transition:
    border-color 180ms ease,
    opacity 180ms ease,
    transform 180ms ease;
}

.gallery-thumbnails button:hover {
  opacity: 1;
  transform: translateY(-2px);
}

.gallery-thumbnails button.active {
  border-color: var(--azure);
  opacity: 1;
}

.gallery-thumbnails img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gallery-controls {
  position: absolute;
  right: 20px;
  bottom: 20px;
  left: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.gallery-controls button,
.testimonial-controls button {
  display: grid;
  width: 48px;
  height: 48px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  cursor: pointer;
  place-items: center;
}

.gallery-controls > span {
  border-radius: 999px;
  padding: 8px 14px;
  background: rgba(255, 255, 255, 0.9);
  font-size: 12px;
  font-weight: 600;
}

.product-copy {
  padding: 90px 8vw 110px;
}

.product-copy > h2 {
  margin-bottom: 30px;
  font-size: clamp(48px, 5vw, 78px);
  line-height: 1;
}

.price-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 56px;
}

.offer {
  border-radius: 999px;
  padding: 6px 10px 5px;
  background: var(--neo-green);
  color: var(--navy);
  font-size: 11px;
  font-weight: 600;
}

.price-row strong {
  font-size: 19px;
}

.price-row s {
  opacity: 0.5;
}

.product-copy > h3 {
  max-width: 520px;
  margin-bottom: 22px;
  font-size: 19px;
  font-weight: 600;
}

.product-copy ul {
  max-width: 560px;
  margin: 0 0 30px;
  padding-left: 20px;
  font-size: 16px;
}

.product-copy li + li {
  margin-top: 7px;
}

.developed {
  margin: 30px 0 42px;
  color: var(--azure);
  font-size: 17px;
  font-weight: 600;
}

.product-promises {
  display: grid;
  gap: 12px;
  margin-bottom: 32px;
  border-radius: var(--radius-small);
  padding: 22px;
  background: var(--pale-blue);
}

.product-promises p {
  margin: 0;
}

.medical-note {
  margin: 32px 0 18px;
  color: rgba(18, 20, 39, 0.65);
  font-size: 12px;
  text-align: right;
}

.selectors {
  display: grid;
  margin-bottom: 12px;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.selectors label {
  color: var(--azure);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.selectors select {
  display: block;
  width: 100%;
  height: 54px;
  border: 1.5px solid var(--azure);
  border-radius: var(--radius-small);
  margin-top: 7px;
  padding: 0 14px;
  background: var(--white);
  font-size: 15px;
}

.product-shop {
  width: 100%;
  min-height: 56px;
}

.shipping-note {
  margin: 18px 0;
  font-size: 12px;
  text-align: center;
}

.product-links {
  display: flex;
  justify-content: flex-end;
  gap: 22px;
  color: var(--azure);
  font-size: 13px;
  font-weight: 600;
}

.detail-accordions {
  padding: 80px 20px 100px;
  background: var(--pale-blue);
}

.detail-accordions details,
.faq details {
  border-top: 1px solid var(--line);
}

.detail-accordions details:last-child,
.faq details:last-child {
  border-bottom: 1px solid var(--line);
}

summary {
  display: flex;
  min-height: 76px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  cursor: pointer;
  font-size: clamp(19px, 2vw, 28px);
  font-weight: 500;
  list-style: none;
}

summary::-webkit-details-marker {
  display: none;
}

summary i {
  color: var(--azure);
  font-size: 30px;
  font-style: normal;
  transition: transform 180ms ease;
}

details[open] summary i {
  transform: rotate(45deg);
}

.detail-accordions details > p {
  max-width: 660px;
  margin: -4px 0 38px;
  color: rgba(18, 20, 39, 0.74);
  font-size: 16px;
}

details[open] > p {
  animation: detailOpen 360ms ease;
}

@keyframes detailOpen {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.testimonials {
  display: grid;
  min-height: 820px;
  background: linear-gradient(140deg, var(--navy) 0%, var(--azure) 84%);
  color: var(--white);
  grid-template-columns: 0.82fr 1.18fr;
}

.testimonial-image {
  position: relative;
}

.testimonial-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.testimonial-image span {
  position: absolute;
  bottom: 22px;
  left: 22px;
  border-radius: 999px;
  padding: 8px 12px;
  background: var(--white);
  color: var(--navy);
  font-size: 12px;
  font-weight: 600;
}

.testimonial-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 80px 9vw;
}

.testimonial-copy blockquote {
  max-width: 800px;
  margin: 0 0 48px;
  font-size: clamp(40px, 4.8vw, 74px);
  line-height: 1.03;
}

.testimonial-swap,
.testimonial-author {
  animation: testimonialSwap 360ms cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes testimonialSwap {
  from {
    opacity: 0;
    transform: translateY(14px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.testimonial-copy > p:not(.eyebrow) {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.testimonial-controls {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 48px;
}

.testimonial-controls button {
  border: 1.5px solid rgba(255, 255, 255, 0.6);
  background: transparent;
  color: var(--white);
}

.faq {
  display: grid;
  min-height: 900px;
  align-items: center;
  padding: 120px 20px;
  background: var(--white);
  grid-template-columns: 1fr 1fr;
  gap: 7vw;
}

.faq-list {
  align-self: center;
}

.faq h2 {
  margin-bottom: 65px;
  font-size: clamp(56px, 6.4vw, 96px);
  line-height: 0.96;
}

.faq h2 em {
  display: block;
}

.faq summary {
  min-height: 68px;
  font-size: clamp(17px, 1.55vw, 23px);
}

.faq details > p {
  max-width: 560px;
  margin: -4px 0 32px;
  color: rgba(18, 20, 39, 0.72);
  font-size: 15px;
}

.faq-visuals {
  position: relative;
  min-width: 0;
}

.faq-image {
  width: 100%;
  height: min(74vw, 840px);
  border-radius: var(--radius);
  object-fit: cover;
}

.faq-detail {
  position: absolute;
  right: -2vw;
  bottom: -3vw;
  width: min(40%, 270px);
  aspect-ratio: 0.82;
  border: 8px solid var(--white);
  border-radius: 22px;
  box-shadow: var(--shadow);
  object-fit: cover;
}

.about {
  margin: 20px;
  border-radius: var(--radius);
  background: var(--pale-blue);
  overflow: hidden;
}

.about-hero {
  position: relative;
  display: grid;
  min-height: min(92vh, 920px);
  place-items: center;
  overflow: hidden;
}

.about-hero::after {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(18, 20, 39, 0.08), rgba(18, 20, 39, 0.42)),
    linear-gradient(90deg, rgba(16, 113, 255, 0.22), transparent 55%);
  content: "";
}

.about-hero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 34%;
  transition: transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.about:hover .about-hero > img {
  transform: scale(1.025);
}

.about-hero h2 {
  position: relative;
  z-index: 2;
  max-width: 1200px;
  margin: 0;
  padding: 40px;
  color: var(--white);
  font-size: clamp(72px, 10.8vw, 168px);
  line-height: 0.84;
  text-align: center;
  text-shadow: 0 16px 40px rgba(18, 20, 39, 0.22);
}

.about-hero h2 em {
  display: block;
  color: var(--pale-blue);
}

.about-grid {
  display: grid;
  align-items: start;
  padding: 110px 40px 130px;
  grid-template-columns: 1fr 0.45fr 1.45fr;
  gap: 5vw;
}

.about-symbol {
  width: min(100%, 170px);
  border-radius: 28%;
  box-shadow: 0 18px 50px rgba(16, 113, 255, 0.22);
  justify-self: center;
}

.about-grid > p:last-child {
  margin-bottom: 0;
  font-size: clamp(34px, 4.4vw, 66px);
  font-weight: 600;
  line-height: 1.04;
}

.launch {
  position: relative;
  display: grid;
  min-height: 760px;
  align-content: center;
  justify-items: center;
  overflow: hidden;
  padding: 80px 20px;
  background:
    radial-gradient(circle at 50% 120%, rgba(233, 245, 255, 0.86) 0, transparent 42%),
    linear-gradient(135deg, var(--navy) 0%, var(--azure) 64%, var(--vivid-azure) 100%);
  color: var(--white);
  text-align: center;
}

.launch::before,
.launch::after {
  position: absolute;
  top: 32px;
  color: var(--neo-green);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.launch::before {
  left: 24px;
  content: "Officially";
}

.launch::after {
  right: 24px;
  content: "Launched";
}

.launch > p {
  display: none;
}

.launch h2 {
  margin-bottom: 50px;
  font-size: clamp(82px, 13vw, 202px);
  line-height: 0.8;
}

.launch h2 em {
  display: block;
}

footer {
  padding: 64px 20px 24px;
  background: var(--navy);
  color: var(--white);
}

.footer-top {
  display: grid;
  min-height: 360px;
  grid-template-columns: 2.2fr 0.8fr 0.7fr;
  gap: 6vw;
}

.footer-top h2 {
  max-width: 430px;
  margin-bottom: 24px;
  font-size: 25px;
  font-weight: 600;
  letter-spacing: -0.04em;
}

.footer-top nav {
  display: flex;
  flex-direction: column;
  gap: 16px;
  font-size: 14px;
}

.footer-top nav a:hover {
  color: var(--neo-green);
}

footer > .brand {
  width: min(430px, 74vw);
  margin-bottom: 64px;
}

footer > .brand img {
  width: 100%;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.32);
  padding-top: 20px;
  font-size: 12px;
}

.footer-bottom div {
  display: flex;
  gap: 20px;
}

.modal-backdrop {
  position: fixed;
  z-index: 80;
  inset: 0;
  display: grid;
  padding: 20px;
  background: rgba(18, 20, 39, 0.7);
  place-items: center;
}

.newsletter-modal {
  position: relative;
  width: min(620px, 100%);
  border-radius: var(--radius);
  padding: 65px;
  background: var(--pale-blue);
  box-shadow: var(--shadow);
}

.modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 50%;
  background: var(--white);
  cursor: pointer;
  font-size: 28px;
}

.newsletter-modal h2 {
  margin-bottom: 24px;
  font-size: clamp(44px, 6.5vw, 70px);
  line-height: 0.98;
}

.newsletter-modal form {
  display: grid;
  gap: 14px;
  margin-top: 38px;
}

.newsletter-modal label {
  color: var(--azure);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.newsletter-modal input {
  width: 100%;
  height: 56px;
  border: 1.5px solid var(--azure);
  border-radius: var(--radius-small);
  padding: 0 15px;
  background: var(--white);
  font-size: 16px;
}

@media (max-width: 980px) {
  .hero {
    min-height: 1050px;
  }

  .hero-image--watch {
    left: 30%;
    width: 29%;
    height: 23%;
  }

  .hero-image--group {
    width: 32%;
    height: 36%;
  }

  .hero-image--portrait {
    top: 30%;
    width: 38%;
    height: 46%;
  }

  .hero-image--hands {
    right: 28%;
    width: 22%;
    height: 25%;
  }

  .hero-image--burgundy {
    width: 15%;
    height: 16%;
  }

  .hero-copy {
    top: 41%;
    left: 43%;
    width: 52%;
  }

  .voices-heading,
  .process-title {
    grid-template-columns: 1fr;
  }

  .voice-grid {
    grid-template-columns: 1fr 0.6fr 1fr;
    gap: 4vw;
  }

  .process-step {
    min-height: 620px;
  }

  .product {
    grid-template-columns: 0.95fr 1.05fr;
  }

  .product-copy {
    padding: 80px 5vw;
  }

  .testimonial-copy {
    padding: 70px 6vw;
  }

  .about-grid {
    grid-template-columns: 0.7fr 0.45fr 1.35fr;
    gap: 3vw;
  }
}

@media (max-width: 760px) {
  .site-header {
    height: 68px;
    padding: 8px 12px;
  }

  .brand img {
    width: 126px;
  }

  .header-shop {
    display: none;
  }

  .hero {
    min-height: 900px;
  }

  .hero-image--watch {
    top: 76px;
    left: 33%;
    width: 38%;
    height: 21%;
  }

  .hero-image--group {
    top: 12%;
    width: 37%;
    height: 29%;
  }

  .hero-image--portrait {
    top: 27%;
    left: 0;
    width: 44%;
    height: 37%;
    border-radius: 0 var(--radius) var(--radius) 0;
  }

  .hero-image--hands {
    right: 16%;
    bottom: 0;
    width: 35%;
    height: 25%;
  }

  .hero-image--blue {
    right: 1%;
    bottom: 23%;
    width: 25%;
    height: 17%;
  }

  .hero-image--burgundy {
    top: 84px;
    left: 4%;
    width: 21%;
    height: 16%;
  }

  .hero-copy {
    top: 47%;
    left: 43%;
    width: 55%;
  }

  .hero-copy > p {
    font-size: 10px;
  }

  .hero-copy > .hero-support {
    margin-top: 18px;
    font-size: 13px;
  }

  .hero-copy h1 {
    font-size: clamp(38px, 10.8vw, 66px);
  }

  .scroll-cue {
    display: none;
  }

  .voices {
    padding-top: 70px;
  }

  .voices-heading {
    padding-bottom: 50px;
  }

  .voice-grid {
    display: flex;
    min-height: auto;
    flex-direction: column;
    padding: 90px 0 70px;
  }

  .voice-grid img {
    width: min(56vw, 320px);
    border-radius: var(--radius);
    order: 2;
  }

  .voice-grid blockquote {
    max-width: 540px;
    padding: 0 8px;
    order: 1;
  }

  .voice-grid blockquote:last-child {
    order: 3;
  }

  .process-title {
    min-height: 490px;
    padding: 70px 20px;
  }

  .process-grid {
    padding: 12px;
  }

  .process-step,
  .process-step--brain {
    min-height: 680px;
    border-radius: 18px;
    grid-template-columns: 1fr;
  }

  .process-step > div:first-child {
    padding: 60px 4vw 20px;
  }

  .process-step--watch img {
    max-height: 400px;
    object-fit: contain;
  }

  .cooling-orbit {
    width: min(86vw, 480px);
  }

  .signal-line {
    height: 3px;
    margin-bottom: 90px;
  }

  .process-step--brain > img {
    height: 480px;
    order: 2;
  }

  .process-step--brain > div {
    padding: 60px 4vw;
  }

  .press-strip {
    padding-inline: 0;
  }

  .product {
    display: block;
  }

  .product-gallery {
    position: relative;
    min-height: auto;
  }

  .product-gallery > img {
    height: 82vh;
    min-height: 580px;
  }

  .gallery-thumbnails {
    bottom: 80px;
  }

  .product-copy {
    padding: 70px 20px;
  }

  .product-links {
    flex-wrap: wrap;
    justify-content: flex-start;
  }

  .detail-accordions {
    padding: 60px 20px 70px;
  }

  .testimonials {
    display: block;
  }

  .testimonial-image {
    height: 70vh;
    min-height: 560px;
  }

  .testimonial-copy {
    min-height: 620px;
    padding: 70px 20px;
  }

  .faq {
    display: flex;
    min-height: auto;
    flex-direction: column;
    padding: 90px 20px;
  }

  .faq-list {
    width: 100%;
  }

  .faq-image {
    height: 110vw;
    max-height: 760px;
    order: -1;
  }

  .about {
    margin: 12px;
  }

  .about-hero {
    min-height: 78vh;
  }

  .about-grid {
    padding: 80px 20px 100px;
    grid-template-columns: 0.55fr 1fr;
  }

  .about-symbol {
    max-width: 140px;
  }

  .about-grid > p:last-child {
    margin-top: 30px;
    grid-column: 1 / -1;
  }

  .launch {
    min-height: 620px;
  }

  .footer-top {
    min-height: 460px;
    grid-template-columns: 1fr 1fr;
  }

  .footer-top > div {
    grid-column: 1 / -1;
  }

  footer > .brand {
    margin: 50px 0;
  }

  .footer-bottom {
    flex-direction: column;
  }
}

@media (max-width: 480px) {
  .menu-overlay {
    padding-right: 22px;
    padding-left: 22px;
  }

  .hero {
    min-height: 820px;
  }

  .hero-image--portrait {
    width: 48%;
  }

  .hero-copy {
    top: 48%;
    left: 47%;
    width: 50%;
  }

  .hero-copy h1 {
    font-size: 38px;
  }

  .voices-heading h2 {
    font-size: 51px;
  }

  .process-title h2,
  .about-hero h2,
  .launch h2 {
    font-size: 64px;
  }

  .process-step {
    min-height: 600px;
  }

  .process-step h3 {
    font-size: 36px;
  }

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

  .testimonial-copy blockquote {
    font-size: 38px;
  }

  .faq h2 {
    font-size: 52px;
  }

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

  .about-symbol {
    width: 110px;
    justify-self: start;
  }

  .about-grid > p:last-child {
    grid-column: 1;
    font-size: 36px;
  }

  .footer-top {
    grid-template-columns: 1fr 1fr;
  }

  .newsletter-modal {
    padding: 65px 22px 36px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }

  .reveal {
    opacity: 1;
    transform: none;
  }
}

/* Opening sequence recreated from the supplied screen recording. */
.site-header {
  height: 96px;
  padding: 16px 22px;
}

.site-header::before {
  border: 0;
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.brand img {
  width: 150px;
}

.site-header .brand img {
  display: block;
}

.site-header .brand::before {
  display: none;
}

.header-actions {
  gap: 8px;
}

.header-shop {
  min-height: 62px;
  border-radius: 0;
  padding: 18px 30px;
  background: #030610;
  font-size: 15px;
}

.menu-button {
  width: 60px;
  min-height: 62px;
  border: 0;
  border-radius: 0;
  background: #f7efe8;
  color: var(--navy);
  font-size: 18px;
}

.menu-overlay {
  z-index: 45;
  width: 100%;
  height: 100dvh;
  padding: 0;
  background: transparent;
  box-shadow: none;
  color: #111;
  opacity: 0;
  pointer-events: none;
  transform: none;
  transition:
    opacity 300ms ease,
    visibility 300ms ease;
  visibility: hidden;
}

.menu-overlay--open {
  opacity: 1;
  pointer-events: auto;
  transform: none;
  visibility: visible;
}

.menu-overlay nav {
  position: absolute;
  top: 105px;
  right: 16px;
  z-index: 2;
  display: flex;
  width: min(418px, calc(100% - 32px));
  min-height: 400px;
  flex-direction: column;
  gap: 0;
  padding: 26px 32px;
  background: #f7efe8;
}

.menu-overlay nav a {
  font-size: clamp(28px, 2vw, 40px);
  font-weight: 400;
  letter-spacing: -0.045em;
  line-height: 1.52;
}

.menu-overlay nav a:hover {
  transform: translateX(7px);
}

.opening {
  position: relative;
  height: 205vh;
  min-height: 1260px;
  background: #fffdf7;
}

.opening__stage {
  --opening-progress: 0;
  position: sticky;
  top: 0;
  height: 100vh;
  min-height: 600px;
  overflow: hidden;
  background: #fffdf7;
}

.opening__collage {
  position: absolute;
  inset: 66px 0 0;
  animation: openingCollageIntro 4.65s cubic-bezier(0.76, 0, 0.24, 1) both;
}

.opening__image {
  position: absolute;
  display: block;
  max-width: none;
  object-fit: cover;
  will-change: opacity, transform;
}

.opening__image--close {
  top: 0;
  left: 27.7%;
  width: 21.2%;
  height: 30.8vh;
  object-position: 50% 52%;
  transform: translate3d(
    calc(var(--opening-progress) * -7vw),
    calc(var(--opening-progress) * -55vh),
    0
  );
}

.opening__image--group {
  top: 0;
  right: 0;
  width: 25.8%;
  height: 45.5vh;
  object-position: 50% 24%;
  transform: translate3d(
    calc(var(--opening-progress) * 4vw),
    calc(var(--opening-progress) * -61vh),
    0
  );
}

.opening__image--portrait {
  top: 19.5%;
  left: 0;
  width: 32.3%;
  height: 60.5vh;
  object-position: 50% 34%;
  transform: translate3d(
    calc(var(--opening-progress) * -15vw),
    calc(var(--opening-progress) * -45vh),
    0
  );
}

.opening__image--hands {
  bottom: 0;
  left: 50.8%;
  width: 17.1%;
  height: 27.8vh;
  object-position: 50% 50%;
  transform: translate3d(
    calc(var(--opening-progress) * -9vw),
    calc(var(--opening-progress) * -112vh),
    0
  );
}

.opening__collage::after {
  position: absolute;
  inset: 0;
  background: rgba(255, 253, 247, 1);
  content: "";
  opacity: clamp(0, calc((var(--opening-progress) - 0.49) * 2.2), 1);
  pointer-events: none;
}

@keyframes openingCollageIntro {
  0%,
  23% {
    opacity: 1;
  }

  31%,
  62% {
    opacity: 0;
  }

  74%,
  100% {
    opacity: 1;
  }
}

.opening__ring {
  position: absolute;
  z-index: 4;
  top: calc(50% + 30px);
  left: 50%;
  width: 1px;
  height: 1px;
  animation: openingRingSpin 3.05s cubic-bezier(0.68, 0, 0.32, 1) 1.35s both;
  pointer-events: none;
}

.opening__ring img {
  position: absolute;
  top: 0;
  left: 0;
  width: clamp(22px, 2.3vw, 46px);
  height: clamp(31px, 3.15vw, 63px);
  max-width: none;
  object-fit: cover;
  transform:
    translate(-50%, -50%)
    rotate(var(--ring-angle))
    translateY(-9vw)
    rotate(calc(-1 * var(--ring-angle)));
  transform-origin: center;
}

@keyframes openingRingSpin {
  0% {
    opacity: 0;
    transform: rotate(-28deg) scale(0.46);
  }

  12% {
    opacity: 1;
  }

  50% {
    opacity: 1;
    transform: rotate(14deg) scale(0.78);
  }

  72% {
    opacity: 1;
    transform: rotate(43deg) scale(1.1);
  }

  92% {
    opacity: 0.92;
    transform: rotate(84deg) scale(5.9);
  }

  100% {
    opacity: 0;
    transform: rotate(92deg) scale(8.2);
  }
}

.opening__title {
  position: absolute;
  z-index: 2;
  top: 45%;
  left: 50%;
  width: min(520px, 82vw);
  color: #141414;
  opacity: clamp(0, calc((var(--opening-progress) - 0.1) * 5), 1);
  text-align: center;
  transform: translate3d(
    -50%,
    calc(-38% + (var(--opening-progress) * -13vh)),
    0
  );
  will-change: opacity, transform;
}

.opening__title p,
.opening__title h1 {
  font-family: "Reckless Neue", Georgia, "Times New Roman", serif;
  font-size: clamp(24px, 2vw, 38px);
  font-weight: 400;
  letter-spacing: -0.035em;
  line-height: 0.98;
}

.opening__title p {
  margin-bottom: 2px;
  font-style: italic;
}

.opening__title h1 {
  margin: 0;
}

.opening__title h1 em,
.opening__title h1 span {
  display: block;
  font-family: inherit;
  font-style: normal;
  font-weight: inherit;
}

.opening__cue {
  position: absolute;
  z-index: 8;
  right: 13px;
  bottom: 12px;
  display: grid;
  width: 31px;
  height: 31px;
  place-items: center;
  border: 1px solid rgba(18, 20, 39, 0.22);
  border-radius: 50%;
  background: rgba(255, 253, 247, 0.75);
  font-size: 15px;
  transition: background 180ms ease, transform 180ms ease;
}

.opening__cue:hover {
  background: var(--pale-blue);
  transform: translateY(2px);
}

.opening + .voices {
  position: relative;
  z-index: 3;
}

@media (max-width: 900px) {
  .opening {
    height: 185vh;
    min-height: 1080px;
  }

  .opening__image--close {
    left: 29%;
    width: 29%;
    height: 28vh;
  }

  .opening__image--group {
    width: 35%;
    height: 42vh;
  }

  .opening__image--portrait {
    top: 24%;
    width: 42%;
    height: 52vh;
  }

  .opening__image--hands {
    left: 56%;
    width: 24%;
    height: 24vh;
  }

  .opening__ring img {
    width: 30px;
    height: 42px;
    transform:
      translate(-50%, -50%)
      rotate(var(--ring-angle))
      translateY(-16vw)
      rotate(calc(-1 * var(--ring-angle)));
  }
}

@media (max-width: 600px) {
  .site-header {
    height: 58px;
    padding: 8px 9px 8px 12px;
  }

  .brand img {
    width: 104px;
  }

  .header-shop {
    min-height: 34px;
    padding: 8px 12px 7px;
    font-size: 10px;
  }

  .menu-button {
    width: 34px;
    min-height: 34px;
  }

  .opening__collage {
    inset: 58px 0 0;
  }

  .opening__image--close {
    top: 0;
    left: 28%;
    width: 34%;
    height: 24vh;
  }

  .opening__image--group {
    top: 0;
    width: 40%;
    height: 36vh;
  }

  .opening__image--portrait {
    top: 24%;
    width: 47%;
    height: 46vh;
  }

  .opening__image--hands {
    left: 55%;
    width: 29%;
    height: 21vh;
  }

  .opening__ring {
    top: 50%;
  }

  .opening__ring img {
    width: 22px;
    height: 31px;
    transform:
      translate(-50%, -50%)
      rotate(var(--ring-angle))
      translateY(-22vw)
      rotate(calc(-1 * var(--ring-angle)));
  }

  .opening__title {
    top: 47%;
  }

  .opening__title p,
  .opening__title h1 {
    font-size: clamp(22px, 7vw, 29px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .opening__collage {
    animation: none;
  }

  .opening__ring {
    display: none;
  }
}

/* Exact two-part opening structure and motion from the live reference. */
.intro-animation {
  --intro-scroll: 0;
  --intro-x: 0%;
  --intro-y: 0%;
  --intro-scale: 1;
  --circle-radius: 248px;
  position: relative;
  height: calc(100vh + 88px);
  min-height: 720px;
  overflow: clip;
  background: #fffdf7;
}

.intro-animation__large-wrapper {
  position: relative;
  height: 100%;
}

.intro-animation__large {
  position: absolute;
  display: block;
  max-width: none;
  object-fit: cover;
  translate: -100vw 200vh;
  transform: translate(var(--intro-x), var(--intro-y))
    scale(var(--intro-scale));
  animation: introLargeEnter 3s cubic-bezier(0.87, 0, 0.13, 1)
    var(--intro-delay) forwards;
  will-change: translate, transform;
}

.intro-animation__large--six {
  top: -117px;
  left: 28.65%;
  width: 20%;
}

.intro-animation__large--fourteen {
  right: 0;
  bottom: 313px;
  width: 25.35%;
}

.intro-animation__large--ten {
  bottom: 0;
  left: 0;
  width: 30.75%;
}

.intro-animation__large--thirteen {
  right: 35.5%;
  bottom: 15px;
  width: 14.55%;
}

@keyframes introLargeEnter {
  from {
    translate: -100vw 200vh;
  }

  to {
    translate: 0 0;
  }
}

.intro-animation__circle-wrapper {
  position: absolute;
  z-index: 5;
  top: 50%;
  left: 50%;
  width: 1px;
  height: 1px;
  transform-origin: center;
  animation: introCircleWrapper 3s cubic-bezier(0.87, 0, 0.13, 1)
    forwards;
  will-change: transform;
}

.intro-animation__circle-offset {
  position: relative;
  translate: -15px -59px;
}

.intro-animation__circle-item {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 30px;
  transform:
    rotate(var(--circle-angle))
    translateX(var(--circle-radius))
    rotate(var(--circle-angle-negative));
  transform-origin: center;
}

.intro-animation__circle-item img {
  width: 30px;
  aspect-ratio: 3 / 4;
  max-width: none;
  object-fit: cover;
  transform-origin: center;
  animation: introCircleItem 3s cubic-bezier(0.87, 0, 0.13, 1) forwards;
}

.intro-animation__circle-item--lead {
  animation: introCircleLead 3s steps(1, end) forwards;
}

@keyframes introCircleWrapper {
  from {
    transform: translate(0, 0) rotate(0) scale(1);
  }

  to {
    transform: translate(75vw, 75vh) rotate(360deg) scale(5);
  }
}

@keyframes introCircleItem {
  from {
    transform: rotate(0) scale(1);
  }

  to {
    transform: rotate(-360deg) scale(1.5);
  }
}

@keyframes introCircleLead {
  0%,
  50% {
    opacity: 1;
    visibility: visible;
  }

  50.01%,
  100% {
    opacity: 0;
    visibility: hidden;
  }
}

.hero-quote {
  --quote-scroll: 0;
  --quote-x: -100%;
  --quote-y: 200%;
  --quote-special-x: -15%;
  --quote-special-y: 50%;
  --quote-scale: 0.75;
  position: relative;
  display: flex;
  min-height: 100vh;
  align-items: center;
  justify-content: center;
  overflow: clip;
  padding: 176px 0 60px;
  background: #fffdf7;
  color: #141414;
}

.hero-quote__copy {
  position: relative;
  z-index: 2;
  width: min(600px, 80vw);
  text-align: center;
}

.hero-quote__copy p,
.hero-quote__copy h1 {
  font-family: "Reckless Neue", Georgia, "Times New Roman", serif;
  font-size: clamp(28px, 3.15vw, 45px);
  font-weight: 400;
  letter-spacing: -0.035em;
  line-height: 0.98;
}

.hero-quote__copy p {
  margin-bottom: 1px;
  font-style: italic;
}

.hero-quote__copy h1 {
  margin: 0;
}

.hero-quote__copy h1 span {
  display: block;
}

.hero-quote__image {
  position: absolute;
  z-index: 1;
  display: block;
  max-width: none;
  object-fit: cover;
  transform: translate(var(--quote-x), var(--quote-y))
    scale(var(--quote-scale));
  will-change: transform;
}

.hero-quote__image--twelve {
  bottom: 10%;
  left: 7%;
  width: 10%;
}

.hero-quote__image--nine {
  top: -5%;
  left: 22%;
  width: 15%;
}

.hero-quote__image--two {
  top: 10%;
  right: 7%;
  width: 10%;
  transform: translate(var(--quote-special-x), var(--quote-special-y))
    scale(var(--quote-scale));
}

.hero-quote__cue {
  position: absolute;
  z-index: 8;
  right: 13px;
  bottom: 12px;
  display: grid;
  width: 31px;
  height: 31px;
  place-items: center;
  border: 1px solid rgba(18, 20, 39, 0.22);
  border-radius: 50%;
  background: rgba(255, 253, 247, 0.75);
  font-size: 15px;
  transition: background 180ms ease, transform 180ms ease;
}

.hero-quote__cue:hover {
  background: var(--pale-blue);
  transform: translateY(2px);
}

.hero-quote + .voices {
  position: relative;
  z-index: 3;
}

@media (max-width: 1023px) {
  .intro-animation {
    --circle-radius: 164px;
    height: 100vh;
    min-height: 620px;
  }

  .intro-animation__large--six {
    top: 87px;
    left: 32px;
    width: 33%;
  }

  .intro-animation__large--fourteen {
    top: 261px;
    right: -12px;
    bottom: auto;
    width: 42%;
  }

  .intro-animation__large--ten {
    bottom: 131px;
    left: -12px;
    width: 45%;
  }

  .intro-animation__large--thirteen {
    right: 24px;
    bottom: 0;
    width: 56%;
  }

  .intro-animation__circle-offset {
    translate: -10px -15px;
  }

  .intro-animation__circle-item,
  .intro-animation__circle-item img {
    width: 21px;
  }

  .intro-animation__circle-item:nth-child(5) {
    animation: introCircleLead 3s steps(1, end) forwards;
  }

  .hero-quote {
    padding: 140px 0 60px;
  }

  .hero-quote__image--twelve {
    top: 50px;
    bottom: auto;
    left: -3%;
    width: 23%;
  }

  .hero-quote__image--nine {
    top: auto;
    bottom: 90px;
    left: -50px;
    width: 28%;
  }

  .hero-quote__image--two {
    top: 90px;
    right: 0;
    width: 23%;
  }
}

@media (max-width: 600px) {
  .hero-quote__copy {
    width: 74vw;
  }

  .hero-quote__copy p,
  .hero-quote__copy h1 {
    font-size: 28px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .intro-animation__circle-wrapper {
    display: none;
  }

  .intro-animation__large {
    translate: 0 0;
    transform: none;
    animation: none;
  }

  .hero-quote__image {
    transform: none;
  }
}

/* Remaining homepage - matched to the live reference below the opening. */
.moments {
  position: relative;
  display: grid;
  height: max(960px, 112vh);
  overflow: hidden;
  padding: 118px 1.55vw 0;
  background: #0a0a0a;
  color: #f5f4ef;
  grid-template-columns: 1fr 1fr;
}

.moments__label {
  width: 170px;
  margin: 0;
  align-self: start;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.06;
}

.moments__quotes {
  position: relative;
  height: 100%;
}

.moments blockquote {
  position: absolute;
  right: 0.1vw;
  width: calc(100% - 1.2vw);
  margin: 0;
  font-family: "Reckless Neue", Georgia, serif;
  font-size: clamp(34px, 3.15vw, 64px);
  font-weight: 400;
  letter-spacing: -0.035em;
  line-height: 0.98;
}

.moments blockquote:first-child {
  top: 0;
}

.moments blockquote:last-child {
  top: 57%;
  right: 0.1vw;
  bottom: auto;
  left: auto;
  width: calc(100% - 1.2vw);
}

.moments blockquote p {
  margin: 0;
}

.moments blockquote em {
  display: block;
  margin-top: 0.08em;
  font-family: inherit;
  font-style: italic;
  font-weight: inherit;
}

.moments [data-scroll-word] {
  opacity: 0.18;
  transition: opacity 80ms linear;
}

.moments__mark {
  display: block;
  height: 0.72em;
  font-size: 1.2em;
}

.moments__mark--end {
  margin-top: 0.12em;
  margin-left: calc(100% - 0.6em);
}

.moments__image {
  position: absolute;
  bottom: 100px;
  left: 1.1vw;
  width: clamp(180px, 14.8vw, 305px);
  aspect-ratio: 0.71;
  object-fit: cover;
}

.cooling-sequence {
  --sequence-progress: 0;
  --sequence-title: 1;
  --sequence-title-shift: 0vw;
  --step-one: 0;
  --step-two: 0;
  --step-three: 0;
  position: relative;
  height: 390vh;
  background: #fffdf7;
}

.cooling-sequence__stage {
  position: sticky;
  top: 0;
  height: 100vh;
  min-height: 620px;
  overflow: hidden;
  background: #fffdf7;
}

.cooling-sequence video {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cooling-sequence__title {
  color: #fff;
  position: absolute;
  z-index: 2;
  top: 50%;
  right: 0;
  left: 0;
  display: flex;
  justify-content: center;
  gap: 15vw;
  margin: 0;
  padding: 0 9vw;
  font-family: "Reckless Neue", Georgia, serif;
  font-size: clamp(50px, 6vw, 88px);
  font-weight: 400;
  letter-spacing: -0.045em;
  line-height: 0.9;
  opacity: var(--sequence-title);
  pointer-events: none;
  transform: translateY(-50%);
}

.cooling-sequence__title span,
.cooling-sequence__title em {
  display: block;
  font-family: inherit;
  font-style: normal;
  font-weight: inherit;
  will-change: transform;
}

.cooling-sequence__title span {
  transform: translateX(calc(var(--sequence-title-shift) * -1));
}

.cooling-sequence__title em {
  font-style: italic;
  transform: translateX(var(--sequence-title-shift));
}

.cooling-sequence__step {
  position: absolute;
  z-index: 3;
  max-width: 270px;
  color: #fff;
  opacity: 0;
  pointer-events: none;
  transform: translateY(16px);
  transition:
    opacity 100ms linear,
    transform 240ms ease;
}

.cooling-sequence__step span,
.brain-result span {
  display: block;
  margin-bottom: 14px;
  font-size: 10px;
  font-weight: 600;
}

.cooling-sequence__step h3,
.brain-result h2 {
  margin: 0;
  font-family: "Reckless Neue", Georgia, serif;
  font-size: clamp(24px, 2.4vw, 37px);
  font-weight: 400;
  letter-spacing: -0.04em;
  line-height: 0.98;
}

.cooling-sequence__step--one {
  bottom: 8%;
  left: 7%;
  opacity: var(--step-one);
  transform: translateY(0);
}

.cooling-sequence__step--two {
  top: 44%;
  left: 8%;
  opacity: var(--step-two);
  transform: translateY(0);
}

.cooling-sequence__step--three {
  top: 45%;
  right: 6%;
  opacity: var(--step-three);
  transform: translateY(0);
}

.brain-result {
  position: relative;
  display: block;
  min-height: 100vh;
  overflow: hidden;
  background: #fffdf7;
}

.brain-result > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}

.brain-result > div {
  position: absolute;
  z-index: 2;
  top: 31.5%;
  left: 61.45%;
  width: 33%;
  max-width: 680px;
}

.brain-result span {
  margin-bottom: 39px;
  font-size: 15px;
}

.brain-result h2 {
  font-size: clamp(46px, 3.15vw, 66px);
  line-height: 0.98;
}

.brain-result p {
  max-width: 650px;
  margin: 34px 0 0;
  font-size: clamp(14px, 0.92vw, 18px);
  line-height: 1.32;
}

.press-strip {
  display: grid;
  min-height: 315px;
  align-content: center;
  padding: 42px 0 28px;
  background: #fffdf7;
}

.press-strip > p {
  display: none;
}

.press-strip img {
  width: 100%;
  min-width: 960px;
  mix-blend-mode: multiply;
}

.product {
  padding-left: 16px;
  background: #fffdf7;
  grid-template-columns: 48.5% 51.5%;
}

.product-gallery {
  min-height: 100vh;
  border-radius: 4px;
  background: #f9ebe7;
  overflow: hidden;
}

.product-gallery::before {
  display: none;
}

.product-gallery > img {
  object-fit: contain;
  object-fit: cover;
  object-position: center;
  padding: 0;
  mix-blend-mode: normal;
}

.gallery-thumbnails {
  display: none;
}

.gallery-controls {
  right: 14px;
  bottom: 50%;
  left: 14px;
}

.gallery-controls > span {
  display: none;
}

.gallery-controls button {
  width: 27px;
  height: 27px;
  border-radius: 0;
  font-size: 11px;
}

.product-copy {
  padding: 96px 8.5vw 82px;
}

.product-copy .eyebrow {
  display: none;
}

.product-copy > h2 {
  margin-bottom: 23px;
  font-family: "Poppins", Arial, sans-serif;
  font-size: clamp(34px, 2.65vw, 58px);
  font-weight: 400;
  letter-spacing: -0.045em;
  line-height: 1.05;
  text-align: center;
}

.price-row {
  justify-content: center;
  margin-bottom: 56px;
}

.product-copy > h3 {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.product-copy ul,
.developed,
.medical-note,
.selectors,
.shipping-note,
.product-links {
  max-width: 560px;
  margin-right: auto;
  margin-left: auto;
}

.product-copy ul {
  line-height: 1.45;
}

.developed {
  margin-top: 30px;
  margin-bottom: 36px;
}

.medical-note {
  margin-top: 32px;
  margin-bottom: 18px;
}

.selectors {
  margin-bottom: 12px;
}

.shipping-note {
  margin-top: 18px;
  margin-bottom: 18px;
}

.product-links {
  justify-content: center;
}

.offer {
  border-radius: 2px;
  padding: 4px 7px 3px;
  background: #ef7100;
  color: #fff;
}

.product-promises {
  max-width: 560px;
  border-radius: 0;
  margin-right: auto;
  margin-left: auto;
  background: transparent;
  padding: 0;
  gap: 30px;
}

.product-shop {
  display: flex;
  border-radius: 0;
  max-width: 560px;
  margin-right: auto;
  margin-left: auto;
  background: #111;
}

.product-shop:hover {
  background: #ed7100;
}

.selectors select {
  border-color: rgba(17, 17, 17, 0.25);
  border-radius: 0;
}

.detail-accordions {
  padding: 0 20px 70px;
  background: #fffdf7;
}

.detail-accordions summary {
  min-height: 72px;
  font-size: clamp(18px, 1.25vw, 26px);
  font-weight: 400;
}

.detail-accordions details > p {
  max-width: 660px;
  margin: 0 0 24px;
  font-size: 16px;
  line-height: 1.35;
}

.detail-accordions summary i,
.faq summary i {
  color: #111;
  font-size: 19px;
}

.testimonials {
  min-height: 820px;
  align-items: center;
  padding: 92px 12vw 86px;
  background: #fffdf7;
  color: #111;
  grid-template-columns: minmax(330px, 420px) minmax(0, 1fr);
  gap: 12.5vw;
}

.testimonial-image {
  width: 100%;
  align-self: center;
}

.testimonial-image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0;
  object-fit: contain;
}

.testimonial-copy {
  display: flex;
  min-width: 0;
  min-height: 590px;
  justify-content: center;
  padding: 0;
}

.testimonials .eyebrow {
  color: #111;
  font-size: 15px;
  font-weight: 600;
  text-transform: none;
}

.testimonial-copy blockquote {
  max-width: 860px;
  margin: 76px 0 28px;
  font-family: "Reckless Neue", Georgia, serif;
  font-size: clamp(42px, 3.35vw, 66px);
  font-weight: 400;
  letter-spacing: -0.04em;
  line-height: 1.02;
}

.testimonial-copy > p:not(.eyebrow) {
  font-size: 14px;
}

.testimonial-controls {
  margin-top: 66px;
  gap: 20px;
}

.testimonial-controls button {
  width: 52px;
  height: 52px;
  border: 1px dashed #111;
  border-radius: 0;
  color: #111;
  font-size: 18px;
}

.testimonial-controls button:hover {
  background: #111;
  color: #fffdf7;
}

.faq {
  min-height: 760px;
  align-items: start;
  padding: 10px 36px 0;
  background: #fffdf7;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 7vw;
}

.faq .eyebrow {
  display: none;
}

.faq h2 {
  margin-bottom: 96px;
  font-family: "Reckless Neue", Georgia, serif;
  font-size: clamp(72px, 6.4vw, 124px);
  font-weight: 400;
  letter-spacing: -0.055em;
  line-height: 0.95;
}

.faq h2 em {
  font-family: inherit;
  font-style: italic;
}

.faq summary {
  min-height: 82px;
  font-size: clamp(17px, 1.15vw, 24px);
  font-weight: 400;
}

.faq details > p {
  max-width: 660px;
  margin: -4px 0 30px;
  font-size: clamp(14px, 0.9vw, 18px);
  line-height: 1.35;
}

.faq-visuals {
  display: grid;
  grid-template-columns: 1.6fr 0.7fr;
  gap: 10px;
}

.faq-image {
  display: block;
  height: auto;
  border-radius: 0;
}

.faq-detail {
  position: static;
  display: block;
  width: 100%;
  height: auto;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  align-self: start;
}

.about {
  margin: 0;
  border-radius: 0;
  background: #fffdf7;
}

.about-hero {
  min-height: clamp(900px, 58vw, 1200px);
  align-items: start;
  justify-items: center;
  background: #fffdf7;
}

.about-hero::after {
  display: none;
}

.about-hero > img {
  top: clamp(310px, 20vw, 410px);
  right: auto;
  bottom: auto;
  left: 50%;
  width: min(26vw, 530px);
  height: auto;
  object-position: center;
  transform: translateX(-50%);
}

.about:hover .about-hero > img {
  transform: translateX(-50%);
}

.about-hero h2 {
  z-index: 3;
  width: 100%;
  max-width: none;
  margin-top: clamp(88px, 6.2vw, 128px);
  padding: 0 20px;
  color: #111;
  font-family: "Reckless Neue", Georgia, serif;
  font-size: clamp(86px, 10.6vw, 172px);
  font-weight: 400;
  letter-spacing: -0.06em;
  line-height: 0.84;
  text-shadow: none;
}

.about-hero h2 em {
  color: #111;
  font-family: inherit;
  font-style: italic;
}

.about-grid {
  min-height: 570px;
  align-items: start;
  padding: 96px 32px 126px;
  grid-template-columns: 1fr 1fr;
  gap: 4vw;
}

.about-grid .eyebrow {
  margin-top: 8px;
  color: #111;
  font-size: clamp(12px, 0.9vw, 18px);
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

.about-symbol {
  display: none;
}

.about-grid > p:last-child {
  max-width: 920px;
  margin: 0;
  font-family: "Reckless Neue", Georgia, serif;
  font-size: clamp(36px, 3vw, 62px);
  font-weight: 400;
  letter-spacing: -0.04em;
  line-height: 0.99;
}

.tally-waitlist {
  padding: 136px 32px 112px;
  background: #fffdf7;
  color: #090b19;
}

.tally-waitlist__heading {
  max-width: 980px;
  margin: 0 auto 68px;
  text-align: center;
}

.tally-waitlist__heading .eyebrow {
  margin: 0 0 22px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.tally-waitlist__heading h2 {
  margin: 0;
  font-family: "Reckless Neue", Georgia, serif;
  font-size: clamp(68px, 7vw, 126px);
  font-weight: 400;
  letter-spacing: -0.055em;
  line-height: 0.9;
}

.tally-waitlist__heading h2 em {
  font-style: italic;
}

.tally-waitlist__heading > p:last-child {
  max-width: 650px;
  margin: 30px auto 0;
  font-size: clamp(16px, 1.15vw, 20px);
  line-height: 1.45;
}

.tally-waitlist__form {
  width: min(100%, 980px);
  margin: 0 auto;
  border-top: 1px solid rgba(9, 11, 25, 0.24);
  padding: 34px 30px 8px;
}

.tally-waitlist__form iframe {
  display: block;
  width: 100%;
  border: 0;
}

footer {
  display: flex;
  min-height: 100vh;
  flex-direction: column;
  padding: 140px 34px 18px;
  background: #ed7100;
  color: #fff;
}

.footer-top {
  min-height: 260px;
  grid-template-columns: 2.2fr 0.7fr 0.7fr;
}

.footer-top h2 {
  max-width: 620px;
  margin-bottom: 34px;
  font-size: clamp(18px, 1.25vw, 25px);
  font-weight: 500;
  letter-spacing: -0.02em;
}

.footer-top .button {
  width: min(272px, 100%);
  min-height: 62px;
  border-radius: 0;
  padding: 17px 24px 16px;
  font-size: 16px;
}

.footer-top nav {
  gap: 22px;
  font-size: 16px;
}

.footer-top nav a:hover {
  color: #fff4df;
}

footer > .brand {
  width: min(470px, 70vw);
  margin-bottom: 30px;
}

footer > .brand img {
  filter: none;
  mix-blend-mode: normal;
}

.footer-bottom {
  margin-top: auto;
  border-top: 0;
  padding-top: 18px;
  font-size: 14px;
}

.footer-bottom div {
  gap: 44px;
}

.accessories-page {
  min-height: 100vh;
  background: #fffdf7;
}

.accessories-page::before {
  position: fixed;
  z-index: 100;
  top: 0;
  right: 0;
  left: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--azure), var(--vivid-azure), var(--neo-green));
  content: "";
}

.accessories-page__header {
  position: sticky;
  z-index: 40;
  top: 0;
  display: flex;
  height: 92px;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(18, 20, 39, 0.08);
  padding: 14px 22px;
  background: rgba(255, 253, 247, 0.94);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}

.accessories-page__menu {
  position: relative;
}

.accessories-page__menu summary {
  display: grid;
  list-style: none;
  place-items: center;
}

.accessories-page__menu summary::-webkit-details-marker {
  display: none;
}

.accessories-page__menu[open] summary {
  background: var(--white);
  color: var(--navy);
}

.accessories-page__menu nav {
  position: absolute;
  top: 58px;
  right: 0;
  display: grid;
  width: min(330px, calc(100vw - 24px));
  border: 1px solid rgba(18, 20, 39, 0.1);
  border-radius: 18px;
  padding: 22px;
  background: #fffdf7;
  box-shadow: 0 24px 60px rgba(18, 20, 39, 0.14);
  gap: 4px;
}

.accessories-page__menu nav a {
  border-radius: 10px;
  padding: 11px 12px;
  font-size: 17px;
  transition: background 160ms ease;
}

.accessories-page__menu nav a:hover,
.accessories-page__menu nav a:focus-visible {
  background: var(--pale-blue);
}

.accessories-page__collection {
  padding: 104px 24px 144px;
}

.accessories-page__heading {
  margin-bottom: 82px;
  text-align: center;
}

.accessories-page__heading .eyebrow {
  margin-bottom: 18px;
}

.accessories-page__heading h1 {
  margin-bottom: 0;
  font-family: "Reckless Neue", Georgia, serif;
  font-size: clamp(64px, 5.5vw, 104px);
  font-weight: 400;
  letter-spacing: -0.045em;
  line-height: 0.95;
}

.accessories-page__heading h1 em {
  font-family: inherit;
  font-style: italic;
  font-weight: inherit;
}

.accessories-page__grid {
  display: grid;
  max-width: 1840px;
  margin: 0 auto;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 58px 30px;
}

.accessory-card {
  min-width: 0;
}

.accessory-card__media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 0.765;
  background: #f6efe9;
}

.accessory-card__media:focus-visible {
  outline: 3px solid var(--neo-green);
  outline-offset: 4px;
}

.accessory-card__media > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 650ms cubic-bezier(0.22, 1, 0.36, 1);
}

.accessory-card__sizes {
  position: absolute;
  z-index: 2;
  right: 22px;
  bottom: 22px;
  left: 22px;
  display: grid;
  border-radius: 12px;
  padding: 27px 34px;
  background: rgba(255, 253, 247, 0.97);
  box-shadow: 0 18px 46px rgba(18, 20, 39, 0.12);
  gap: 24px;
  opacity: 0;
  pointer-events: none;
  transform: translateY(30px);
  transition:
    opacity 300ms ease,
    transform 450ms cubic-bezier(0.22, 1, 0.36, 1);
}

.accessory-card__sizes span {
  color: rgba(18, 20, 39, 0.7);
  font-size: 16px;
}

.accessory-card__media:hover > img,
.accessory-card__media:focus > img {
  transform: scale(1.018);
}

.accessory-card__media:hover .accessory-card__sizes,
.accessory-card__media:focus .accessory-card__sizes {
  opacity: 1;
  transform: none;
}

.accessory-card h2 {
  margin: 15px 0 0;
  font-family: "Poppins", Arial, sans-serif;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: -0.025em;
}

.accessories-page__cta {
  padding: 110px 24px 120px;
  background:
    radial-gradient(circle at 50% 120%, rgba(27, 201, 106, 0.18), transparent 34%),
    var(--pale-blue);
  text-align: center;
}

.accessories-page__cta h2 {
  max-width: 860px;
  margin: 0 auto 42px;
  font-size: clamp(44px, 4.3vw, 76px);
  line-height: 1;
}

.accessories-page__cta .button {
  min-width: 210px;
}

.accessories-page__footer {
  display: grid;
  min-height: 220px;
  align-items: end;
  padding: 52px 4vw 30px;
  background: var(--navy);
  color: #fff;
  grid-template-columns: auto minmax(250px, 1fr) auto auto;
  gap: 30px;
}

.accessories-page__footer img {
  width: 178px;
}

.accessories-page__footer p {
  margin: 0;
  font-size: 12px;
}

.accessories-page__footer > a:last-child {
  justify-self: end;
  font-size: 13px;
  font-weight: 600;
}

@media (max-width: 1180px) {
  .accessories-page__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .accessories-page__collection {
    padding: 78px 16px 100px;
  }

  .accessories-page__heading {
    margin-bottom: 58px;
  }

  .accessories-page__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 42px 14px;
  }

  .accessory-card__sizes {
    right: 12px;
    bottom: 12px;
    left: 12px;
    padding: 22px 24px;
    gap: 16px;
  }
}

@media (max-width: 560px) {
  .accessories-page__header {
    height: 72px;
    padding: 10px 12px 10px 16px;
  }

  .accessories-page__header .brand img {
    width: 126px;
  }

  .accessories-page__header .button {
    display: none;
  }

  .accessories-page__menu nav {
    top: 54px;
  }

  .accessories-page__heading h1 {
    font-size: 58px;
  }

  .accessories-page__grid {
    grid-template-columns: 1fr;
    gap: 46px;
  }

  .accessory-card h2 {
    font-size: 17px;
  }

  .accessories-page__footer {
    min-height: 280px;
    align-items: start;
    padding: 44px 18px 26px;
    grid-template-columns: 1fr;
  }

  .accessories-page__footer > a:last-child {
    justify-self: start;
  }
}

.waitlist-page {
  --waitlist-gold: #bb8b4b;
  --waitlist-ink: #191919;
  --waitlist-paper: #f7f5f2;
  --waitlist-muted: #72706d;
  --waitlist-line: #e3dfda;
  min-height: 100svh;
  background: var(--waitlist-paper);
  color: var(--waitlist-ink);
  font-family: "Poppins", Arial, sans-serif;
}

.waitlist-page__launchbar {
  position: fixed;
  z-index: 102;
  top: 0;
  right: 0;
  left: 0;
  display: flex;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  gap: 22px;
  padding: 7px 20px;
  background: var(--waitlist-gold);
  color: #fff;
  font-size: 11px;
  letter-spacing: 0.02em;
  line-height: 1.2;
  text-align: center;
}

.waitlist-page__launchbar b {
  letter-spacing: 0.08em;
}

.waitlist-page .site-header {
  top: 36px;
}

.waitlist-page .site-header::before {
  border-color: rgba(25, 25, 25, 0.08);
  background: rgba(247, 245, 242, 0.94);
  box-shadow: 0 8px 28px rgba(25, 25, 25, 0.06);
  backdrop-filter: blur(14px);
}

.waitlist-page__stage {
  display: grid;
  width: min(1440px, 100%);
  min-height: 100svh;
  align-items: center;
  margin: 0 auto;
  padding: 150px max(32px, 4.5vw) 24px;
  grid-template-columns: minmax(360px, 0.72fr) minmax(560px, 1.28fr);
  gap: clamp(44px, 6vw, 104px);
}

.waitlist-page__intro {
  min-width: 0;
  padding-bottom: 4px;
}

.waitlist-page__kicker {
  margin: 0 0 16px;
  color: var(--waitlist-gold);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.22em;
}

.waitlist-page__intro h1 {
  max-width: 600px;
  margin: 0 0 22px;
  color: var(--waitlist-ink);
  font-size: clamp(56px, 5.6vw, 86px);
  font-weight: 700;
  letter-spacing: -0.065em;
  line-height: 0.93;
}

.waitlist-page__intro h1 em {
  display: block;
  color: var(--waitlist-gold);
  font-weight: 400;
}

.waitlist-page__intro > p:not(.waitlist-page__kicker, .waitlist-page__note) {
  max-width: 530px;
  margin: 0;
  color: var(--waitlist-muted);
  font-size: clamp(15px, 1.15vw, 18px);
  line-height: 1.58;
}

.waitlist-page__benefits {
  display: grid;
  max-width: 530px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}

.waitlist-page__benefits li {
  display: grid;
  min-height: 42px;
  align-items: center;
  border-top: 1px solid var(--waitlist-line);
  color: var(--waitlist-ink);
  font-size: 14px;
  font-weight: 600;
  grid-template-columns: 38px 1fr;
}

.waitlist-page__benefits li:last-child {
  border-bottom: 1px solid var(--waitlist-line);
}

.waitlist-page__benefits span {
  color: var(--waitlist-gold);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.waitlist-page__note {
  margin: 18px 0 0;
  color: var(--waitlist-muted);
  font-size: 11px;
}

.waitlist-page__support {
  display: grid;
  max-width: 530px;
  margin-top: 26px;
  gap: 12px;
}

.waitlist-page__contact.contact-details--compact {
  grid-template-columns: 0.9fr 1.1fr;
  gap: 18px;
}

.waitlist-page__contact.contact-details--compact > div {
  min-height: 0;
}

.waitlist-page__contact.contact-details--compact span {
  color: var(--waitlist-gold);
  font-size: 9px;
}

.waitlist-page__contact.contact-details--compact a,
.waitlist-page__contact.contact-details--compact p {
  color: var(--waitlist-muted);
  font-size: 10px;
  line-height: 1.45;
}

.waitlist-page__legal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid var(--waitlist-line);
  padding-top: 11px;
  color: var(--waitlist-muted);
  font-size: 10px;
}

.waitlist-page__legal a {
  color: var(--waitlist-ink);
  font-weight: 600;
}

.waitlist-page__form-wrap {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--waitlist-line);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 28px 80px rgba(25, 25, 25, 0.1);
}

.waitlist-page__form-header {
  display: flex;
  min-height: 54px;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--waitlist-line);
  padding: 0 26px;
  background: #fbfaf8;
}

.waitlist-page__form-header strong {
  font-size: 11px;
  letter-spacing: 0.11em;
}

.waitlist-page__form-header span {
  color: var(--waitlist-muted);
  font-size: 11px;
}

.waitlist-page__form-card {
  min-width: 0;
  padding: 10px 20px 6px;
  background: #fff;
}

.waitlist-page__form-card iframe {
  display: block;
  width: 100%;
  height: min(503px, calc(100svh - 230px));
  min-height: 430px;
  border: 0;
}

@media (max-width: 1080px) {
  .waitlist-page__stage {
    padding-right: 24px;
    padding-left: 24px;
    grid-template-columns: minmax(310px, 0.68fr) minmax(520px, 1.32fr);
    gap: 34px;
  }

  .waitlist-page__intro h1 {
    font-size: clamp(50px, 5.6vw, 66px);
  }
}

@media (max-width: 880px) {
  .waitlist-page__stage {
    min-height: auto;
    padding-top: 160px;
    padding-bottom: 44px;
    grid-template-columns: 1fr;
  }

  .waitlist-page__intro,
  .waitlist-page__intro h1,
  .waitlist-page__intro > p,
  .waitlist-page__benefits,
  .waitlist-page__support {
    max-width: 700px;
  }

  .waitlist-page__form-card iframe {
    height: 503px;
    min-height: 503px;
  }
}

@media (max-width: 600px) {
  .waitlist-page__launchbar {
    min-height: 49px;
    align-items: flex-start;
    flex-direction: column;
    gap: 1px;
    padding: 8px 18px;
    text-align: left;
  }

  .waitlist-page .site-header {
    top: 49px;
  }

  .waitlist-page__stage {
    padding: 146px 14px 30px;
    gap: 30px;
  }

  .waitlist-page__intro h1 {
    font-size: clamp(52px, 17vw, 70px);
  }

  .waitlist-page__intro > p:not(.waitlist-page__kicker, .waitlist-page__note) {
    font-size: 15px;
  }

  .waitlist-page__contact.contact-details--compact {
    grid-template-columns: 1fr 1fr;
  }

  .waitlist-page__form-wrap {
    border-radius: 16px;
  }

  .waitlist-page__form-header {
    min-height: 48px;
    padding: 0 16px;
  }

  .waitlist-page__form-card {
    padding: 4px 4px 2px;
  }

  .waitlist-page__form-card iframe {
    min-height: 540px;
  }
}

@media (max-width: 760px) {
  .moments {
    height: auto;
    min-height: 1180px;
    padding: 86px 14px 0;
    grid-template-columns: 1fr;
  }

  .moments__label {
    align-self: start;
  }

  .moments__quotes {
    min-height: 780px;
  }

  .moments blockquote {
    width: 96%;
    font-size: 34px;
  }

  .moments blockquote:first-child {
    top: 8%;
    right: 0;
  }

  .moments blockquote:last-child {
    top: 55%;
    right: 0;
    width: 96%;
  }

  .moments__image {
    bottom: 48px;
    left: 14px;
    width: 185px;
  }

  .cooling-sequence {
    height: 360vh;
  }

  .cooling-sequence__title {
    justify-content: space-between;
    gap: 20px;
    padding: 0 16px;
    font-size: 41px;
  }

  .cooling-sequence__step {
    max-width: 190px;
  }

  .cooling-sequence__step h3 {
    font-size: 27px;
  }

  .cooling-sequence__step--one {
    bottom: 8%;
    left: 16px;
  }

  .cooling-sequence__step--two {
    top: 15%;
    left: 16px;
  }

  .cooling-sequence__step--three {
    top: auto;
    right: 16px;
    bottom: 10%;
  }

  .brain-result {
    min-height: 940px;
    padding-bottom: 74px;
  }

  .brain-result > img {
    position: relative;
    width: 100%;
    height: 560px;
    object-fit: cover;
    object-position: 28% center;
  }

  .brain-result > div {
    position: relative;
    top: auto;
    left: auto;
    width: auto;
    max-width: 600px;
    margin: 32px 16px 0;
  }

  .brain-result span {
    margin-bottom: 20px;
    font-size: 11px;
  }

  .brain-result h2 {
    font-size: 43px;
  }

  .brain-result p {
    margin-top: 24px;
    font-size: 14px;
  }

  .press-strip {
    min-height: 260px;
  }

  .product-gallery > img {
    padding: 0;
  }

  .product {
    padding-left: 0;
  }

  .testimonials {
    display: grid;
    min-height: auto;
    padding: 72px 16px 82px;
    grid-template-columns: 1fr;
    gap: 58px;
  }

  .testimonial-image {
    width: min(86vw, 420px);
    margin: 0 auto;
  }

  .testimonial-copy {
    min-height: 0;
  }

  .testimonials .eyebrow {
    font-size: 13px;
  }

  .testimonial-copy blockquote {
    margin-top: 42px;
    font-size: 38px;
  }

  .testimonial-controls {
    margin-top: 42px;
  }

  .faq {
    padding: 56px 16px 0;
    gap: 58px;
  }

  .faq h2 {
    margin-bottom: 68px;
    font-size: clamp(65px, 20vw, 104px);
  }

  .faq summary {
    min-height: 70px;
    font-size: 17px;
  }

  .faq details > p {
    font-size: 14px;
  }

  .faq-visuals {
    width: 100%;
  }

  .faq-image {
    height: auto;
    max-height: none;
  }

  .faq-detail {
    height: auto;
  }

  .about-hero {
    min-height: 760px;
  }

  .about-hero > img {
    top: 300px;
    width: min(66vw, 420px);
    height: auto;
  }

  .about-hero h2 {
    margin-top: 54px;
    font-size: clamp(65px, 18vw, 104px);
  }

  .about-grid {
    min-height: 520px;
    padding: 76px 16px 96px;
    grid-template-columns: 1fr;
  }

  .about-grid .eyebrow {
    font-size: 13px;
  }

  .about-grid > p:last-child {
    margin-top: 54px;
    grid-column: auto;
    font-size: 36px;
  }

  .tally-waitlist {
    padding: 84px 16px 72px;
  }

  .tally-waitlist__heading {
    margin-bottom: 48px;
  }

  .tally-waitlist__heading .eyebrow {
    margin-bottom: 16px;
    font-size: 11px;
  }

  .tally-waitlist__heading h2 {
    font-size: clamp(54px, 17vw, 78px);
  }

  .tally-waitlist__heading > p:last-child {
    margin-top: 24px;
    font-size: 15px;
  }

  .tally-waitlist__form {
    border-top-color: rgba(9, 11, 25, 0.18);
    padding: 26px 0 0;
  }

  .site-header {
    height: 72px;
    padding: 10px 12px 10px 16px;
  }

  .brand img {
    width: 126px;
  }

  .header-shop {
    min-height: 46px;
    padding: 11px 15px 10px;
    font-size: 11px;
  }

  .menu-button {
    width: 46px;
    min-height: 46px;
  }

  .menu-overlay nav {
    top: 84px;
    right: 12px;
    width: calc(100% - 24px);
    min-height: 360px;
    padding: 24px;
  }

  .menu-overlay nav a {
    font-size: 30px;
    line-height: 1.5;
  }

  footer {
    min-height: 900px;
    padding: 104px 18px 18px;
  }

  .footer-top {
    grid-template-columns: 1fr 1fr;
  }

  .footer-top > div {
    grid-column: 1 / -1;
  }

  .footer-top nav {
    margin-top: 32px;
  }

  footer > .brand {
    width: min(420px, 82vw);
  }

  .footer-bottom {
    flex-direction: column;
    font-size: 11px;
  }

  .footer-bottom div {
    flex-wrap: wrap;
    gap: 14px 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cooling-sequence__title span,
  .cooling-sequence__title em {
    transform: none;
  }
}

/* About page */
.about-page {
  background: var(--paper);
}

.about-page__header {
  position: sticky;
  z-index: 50;
  top: 0;
  display: flex;
  height: 92px;
  align-items: center;
  justify-content: space-between;
  border-top: 4px solid transparent;
  border-image: linear-gradient(90deg, var(--azure), var(--neo-green)) 1;
  padding: 10px 24px;
  background: rgba(251, 253, 255, 0.94);
  backdrop-filter: blur(18px);
}

.about-page__header .brand img {
  width: 160px;
}

.about-page__menu {
  position: relative;
}

.about-page__menu summary {
  list-style: none;
}

.about-page__menu summary::-webkit-details-marker {
  display: none;
}

.about-page__menu[open] .menu-button {
  background: var(--pale-blue);
}

.about-page__menu nav {
  position: absolute;
  top: calc(100% + 14px);
  right: 0;
  display: flex;
  width: min(380px, calc(100vw - 32px));
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 28px;
  background: var(--white);
  box-shadow: var(--shadow);
  flex-direction: column;
  gap: 8px;
}

.about-page__menu nav a {
  border-radius: 12px;
  padding: 8px 10px;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: -0.04em;
}

.about-page__menu nav a:hover {
  background: var(--pale-blue);
  color: var(--azure);
}

.about-page__hero {
  display: grid;
  min-height: calc(100vh - 92px);
  padding: 20px;
  grid-template-columns: 0.92fr 1.08fr;
  gap: 20px;
}

.about-page__hero-copy {
  display: flex;
  min-height: 720px;
  justify-content: center;
  border-radius: var(--radius);
  padding: clamp(48px, 7vw, 110px);
  background:
    radial-gradient(circle at 8% 90%, rgba(27, 201, 106, 0.16), transparent 33%),
    var(--pale-blue);
  flex-direction: column;
}

.about-page__hero-copy h1 {
  margin-bottom: 54px;
  font-size: clamp(76px, 9vw, 150px);
  line-height: 0.82;
}

.about-page__hero-copy h1 em {
  display: block;
  color: var(--azure);
}

.about-page__hero-copy h2 {
  max-width: 650px;
  margin-bottom: 24px;
  font-size: clamp(26px, 2.8vw, 44px);
  line-height: 1.04;
}

.about-page__hero-copy > p:last-child {
  max-width: 620px;
  margin-bottom: 0;
  color: rgba(18, 20, 39, 0.72);
  font-size: clamp(16px, 1.35vw, 20px);
}

.about-page__hero-image {
  min-height: 720px;
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius);
}

.about-page__hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 28%;
  transition: transform 900ms cubic-bezier(0.22, 1, 0.36, 1);
}

.about-page__hero-image:hover img,
.about-page__wide-image:hover img,
.about-page__technology figure:hover img,
.about-page__commitment figure:hover img {
  transform: scale(1.025);
}

.about-page__belief {
  display: grid;
  min-height: 690px;
  align-content: center;
  padding: 120px max(24px, 7vw);
  background: var(--navy);
  color: var(--white);
  grid-template-columns: 0.65fr 2fr 1.2fr;
  gap: 6vw;
}

.about-page__belief .eyebrow {
  color: var(--neo-green);
}

.about-page__belief > p:nth-child(2) {
  margin-bottom: 0;
  font-size: clamp(52px, 6.6vw, 102px);
  font-weight: 600;
  letter-spacing: -0.065em;
  line-height: 0.94;
}

.about-page__belief > p:last-child {
  align-self: end;
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 17px;
}

.about-page__story {
  padding: 150px 20px 20px;
}

.about-page__story-heading {
  display: grid;
  align-items: start;
  margin: 0 auto 84px;
  padding: 0 max(4px, 4vw);
  grid-template-columns: 0.55fr 2fr;
  gap: 5vw;
}

.about-page__story-heading h2 {
  max-width: 1100px;
  margin-bottom: 0;
  font-size: clamp(58px, 7.8vw, 124px);
  line-height: 0.9;
}

.about-page__story-heading h2 em {
  display: block;
  color: var(--azure);
}

.about-page__story-body {
  width: min(680px, calc(100% - 32px));
  margin: 0 auto 100px;
  color: rgba(18, 20, 39, 0.75);
  font-size: clamp(17px, 1.5vw, 21px);
}

.about-page__story-body p:first-child {
  color: var(--navy);
  font-size: 1.2em;
  font-weight: 600;
}

.about-page__wide-image {
  height: min(80vw, 920px);
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius);
}

.about-page__wide-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 38%;
  transition: transform 900ms cubic-bezier(0.22, 1, 0.36, 1);
}

.about-page__technology {
  display: grid;
  align-items: stretch;
  padding: 20px;
  grid-template-columns: 0.96fr 1.04fr;
  gap: 20px;
}

.about-page__technology figure {
  min-height: 760px;
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius);
}

.about-page__technology figure img,
.about-page__commitment figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 900ms cubic-bezier(0.22, 1, 0.36, 1);
}

.about-page__technology > div {
  display: flex;
  justify-content: center;
  border-radius: var(--radius);
  padding: clamp(54px, 7vw, 120px);
  background: var(--pale-blue);
  flex-direction: column;
}

.about-page__technology h2 {
  max-width: 750px;
  margin-bottom: 44px;
  font-size: clamp(50px, 5.7vw, 88px);
  line-height: 0.94;
}

.about-page__technology > div > p:not(.eyebrow) {
  max-width: 680px;
  color: rgba(18, 20, 39, 0.72);
  font-size: 17px;
}

.about-page__responsibility {
  margin: 20px;
  border-radius: var(--radius);
  padding: 140px clamp(24px, 6vw, 110px);
  background: var(--navy);
  color: var(--white);
}

.about-page__responsibility-heading {
  display: grid;
  margin-bottom: 90px;
  grid-template-columns: 0.5fr 1.7fr 0.75fr;
  gap: 5vw;
}

.about-page__responsibility-heading .eyebrow {
  color: var(--neo-green);
}

.about-page__responsibility-heading h2 {
  margin-bottom: 0;
  font-size: clamp(58px, 7vw, 110px);
  line-height: 0.9;
}

.about-page__responsibility-heading h2 em {
  display: block;
  color: var(--pale-blue);
}

.about-page__responsibility-heading > p:last-child {
  align-self: end;
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.7);
}

.about-page__principles {
  display: grid;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  grid-template-columns: repeat(4, 1fr);
}

.about-page__principles article {
  min-height: 270px;
  border-right: 1px solid rgba(255, 255, 255, 0.2);
  padding: 28px 26px;
}

.about-page__principles article:last-child {
  border-right: 0;
}

.about-page__principles span {
  color: var(--neo-green);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
}

.about-page__principles h3 {
  margin: 66px 0 18px;
  font-size: 22px;
  letter-spacing: -0.04em;
  line-height: 1.1;
}

.about-page__principles p {
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.68);
  font-size: 14px;
}

.about-page__commitment {
  display: grid;
  padding: 20px;
  grid-template-columns: 1.08fr 0.92fr;
  gap: 20px;
}

.about-page__commitment-copy {
  display: flex;
  min-height: 800px;
  justify-content: center;
  border-radius: var(--radius);
  padding: clamp(54px, 7vw, 120px);
  background:
    radial-gradient(circle at 95% 5%, rgba(27, 201, 106, 0.16), transparent 28%),
    var(--pale-blue);
  flex-direction: column;
}

.about-page__commitment h2 {
  margin-bottom: 48px;
  font-size: clamp(54px, 6.5vw, 100px);
  line-height: 0.92;
}

.about-page__commitment-copy > p:not(.eyebrow) {
  max-width: 720px;
  color: rgba(18, 20, 39, 0.72);
  font-size: 17px;
}

.about-page__commitment-copy .about-page__commitment-statement {
  margin-top: 30px;
  color: var(--navy);
  font-size: clamp(24px, 2.4vw, 36px);
  font-weight: 600;
  letter-spacing: -0.045em;
  line-height: 1.1;
}

.about-page__commitment figure {
  min-height: 800px;
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius);
}

.about-page__disclaimer {
  padding: 90px 24px 110px;
}

.about-page__disclaimer p {
  width: min(850px, 100%);
  margin: 0 auto;
  color: rgba(18, 20, 39, 0.58);
  font-size: 13px;
  font-style: italic;
  text-align: center;
}

.about-page__cta {
  display: flex;
  min-height: 560px;
  align-items: center;
  justify-content: center;
  padding: 80px 24px;
  background:
    radial-gradient(circle at 50% 120%, rgba(27, 201, 106, 0.35), transparent 38%),
    linear-gradient(135deg, var(--azure), var(--vivid-azure));
  color: var(--white);
  text-align: center;
  flex-direction: column;
}

.about-page__cta .eyebrow {
  color: var(--white);
}

.about-page__cta h2 {
  max-width: 1000px;
  margin-bottom: 48px;
  font-size: clamp(58px, 7.5vw, 116px);
  line-height: 0.9;
}

.about-page__footer {
  display: grid;
  min-height: 360px;
  align-items: end;
  padding: 70px 24px 28px;
  background: var(--navy);
  color: var(--white);
  grid-template-columns: minmax(220px, 1.2fr) minmax(250px, 1fr) auto auto;
  gap: 48px;
}

.about-page__footer > a img {
  width: min(330px, 100%);
}

.about-page__footer nav {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.about-page__footer nav a:hover {
  color: var(--neo-green);
}

.about-page__footer > p {
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.62);
  font-size: 12px;
  justify-self: end;
}

@media (max-width: 980px) {
  .about-page__hero,
  .about-page__technology,
  .about-page__commitment {
    grid-template-columns: 1fr;
  }

  .about-page__hero-copy,
  .about-page__hero-image,
  .about-page__technology figure,
  .about-page__commitment-copy,
  .about-page__commitment figure {
    min-height: 680px;
  }

  .about-page__belief {
    grid-template-columns: 1fr 2fr;
  }

  .about-page__belief > p:last-child {
    grid-column: 2;
  }

  .about-page__responsibility-heading {
    grid-template-columns: 0.6fr 1.6fr;
  }

  .about-page__responsibility-heading > p:last-child {
    grid-column: 2;
  }

  .about-page__principles {
    grid-template-columns: 1fr 1fr;
  }

  .about-page__principles article:nth-child(2) {
    border-right: 0;
  }

  .about-page__principles article:nth-child(-n + 2) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }
}

@media (max-width: 640px) {
  .about-page__header {
    height: 72px;
    padding: 8px 12px 8px 16px;
  }

  .about-page__header .brand img {
    width: 126px;
  }

  .about-page__header .button {
    display: none;
  }

  .about-page__menu nav {
    top: calc(100% + 10px);
    right: -2px;
  }

  .about-page__hero {
    min-height: auto;
    padding: 12px;
    gap: 12px;
  }

  .about-page__hero-copy {
    min-height: 650px;
    padding: 54px 24px;
  }

  .about-page__hero-copy h1 {
    margin-bottom: 42px;
    font-size: 79px;
  }

  .about-page__hero-image {
    min-height: 590px;
  }

  .about-page__belief {
    min-height: 700px;
    padding: 94px 24px;
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .about-page__belief > p:nth-child(2) {
    font-size: 54px;
  }

  .about-page__belief > p:last-child {
    grid-column: auto;
  }

  .about-page__story {
    padding: 96px 12px 12px;
  }

  .about-page__story-heading {
    margin-bottom: 56px;
    padding: 0 12px;
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .about-page__story-heading h2 {
    font-size: 54px;
  }

  .about-page__story-body {
    margin-bottom: 66px;
  }

  .about-page__wide-image {
    height: 660px;
  }

  .about-page__technology,
  .about-page__commitment {
    padding: 12px;
    gap: 12px;
  }

  .about-page__technology figure,
  .about-page__commitment figure {
    min-height: 590px;
  }

  .about-page__technology > div,
  .about-page__commitment-copy {
    min-height: 660px;
    padding: 64px 24px;
  }

  .about-page__technology h2,
  .about-page__commitment h2 {
    font-size: 50px;
  }

  .about-page__responsibility {
    margin: 12px;
    padding: 88px 24px 40px;
  }

  .about-page__responsibility-heading {
    margin-bottom: 64px;
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .about-page__responsibility-heading h2 {
    font-size: 54px;
  }

  .about-page__responsibility-heading > p:last-child {
    grid-column: auto;
  }

  .about-page__principles {
    grid-template-columns: 1fr;
  }

  .about-page__principles article,
  .about-page__principles article:nth-child(2) {
    min-height: 230px;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    padding: 26px 0;
  }

  .about-page__principles article:last-child {
    border-bottom: 0;
  }

  .about-page__principles h3 {
    margin-top: 50px;
  }

  .about-page__disclaimer {
    padding: 72px 24px 86px;
  }

  .about-page__cta {
    min-height: 520px;
  }

  .about-page__cta h2 {
    font-size: 56px;
  }

  .about-page__footer {
    min-height: 480px;
    align-items: start;
    padding: 62px 20px 26px;
    grid-template-columns: 1fr;
  }

  .about-page__footer > p {
    justify-self: start;
  }
}

/* Contact page: editorial refresh */
.contact2-page {
  --about2-ink: #171717;
  --about2-muted: #706f6c;
  --about2-ivory: #f7f5f2;
  --about2-paper: #fffdfa;
  --about2-gold: #bb8b4b;
  --about2-gold-soft: #efe3d1;
  min-height: 100vh;
  overflow: clip;
  color: var(--about2-ink);
  background: var(--about2-ivory);
  font-family: "Poppins", Arial, sans-serif;
}

.contact2-page *,
.contact2-page *::before,
.contact2-page *::after {
  box-sizing: border-box;
}

.contact2-page img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.contact2-page .site-header {
  top: 52px;
  z-index: 80;
}

.contact2-page .site-header::before {
  display: none;
}

.contact2-page h1,
.contact2-page h2,
.contact2-page h3,
.contact2-page p,
.contact2-page figure {
  margin: 0;
}

.contact2-page h1,
.contact2-page h2 {
  letter-spacing: -0.055em;
}

.contact2-page h1 em,
.contact2-page h2 em {
  color: var(--about2-gold);
  font-family: "Reckless Neue", Georgia, serif;
  font-weight: 400;
}

.contact2-hero {
  width: min(calc(100% - 80px), 1440px);
  min-height: 900px;
  margin: 0 auto;
  padding: 210px 0 110px;
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(480px, 0.78fr);
  align-items: center;
  gap: clamp(70px, 8vw, 140px);
}

.contact2-hero__copy {
  max-width: 690px;
}

.contact2-proof-pill {
  width: fit-content;
  margin-bottom: 56px;
  padding: 13px 20px 13px 14px;
  border: 1px solid rgba(23, 23, 23, 0.11);
  border-radius: 999px;
  background: var(--about2-paper);
  box-shadow: 0 14px 40px rgba(35, 30, 24, 0.06);
  display: flex;
  align-items: center;
  gap: 13px;
}

.contact2-proof-pill > span {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  color: #fff;
  background: var(--about2-gold);
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.contact2-proof-pill p {
  display: grid;
  gap: 2px;
}

.contact2-proof-pill strong {
  font-size: 13px;
}

.contact2-proof-pill small {
  color: var(--about2-muted);
  font-size: 10px;
}

.contact2-hero h1 {
  max-width: 720px;
  margin-top: 20px;
  font-size: clamp(64px, 6.1vw, 94px);
  line-height: 0.94;
}

.contact2-hero h1 em {
  display: block;
}

.contact2-hero__intro {
  max-width: 610px;
  margin-top: 36px !important;
  color: var(--about2-muted);
  font-size: 18px;
  line-height: 1.75;
}

.contact2-hero__actions {
  margin-top: 38px;
  display: flex;
  align-items: center;
  gap: 28px;
}

.contact2-email-link {
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(23, 23, 23, 0.35);
  color: var(--about2-ink);
  text-decoration: none;
  font-size: 12px;
  font-weight: 600;
}

.contact2-hero__visual {
  position: relative;
  min-height: 690px;
  padding: 0 58px 70px 0;
}

.contact2-hero__portrait {
  height: 620px;
  overflow: hidden;
  border-radius: 38px;
  background: #c8bbb0;
}

.contact2-hero__portrait img {
  object-position: center 38%;
}

.contact2-hero__detail {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 220px;
  height: 270px;
  overflow: hidden;
  border: 10px solid var(--about2-ivory);
  border-radius: 26px;
  background: var(--about2-paper);
}

.contact2-hero__note {
  position: absolute;
  left: -32px;
  bottom: 55px;
  max-width: 260px;
  padding: 17px 20px;
  border: 1px solid rgba(23, 23, 23, 0.1);
  border-radius: 18px;
  background: rgba(255, 253, 250, 0.95);
  box-shadow: 0 20px 55px rgba(28, 24, 20, 0.13);
  backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  gap: 13px;
}

.contact2-hero__note > span {
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  border-radius: 50%;
  color: var(--about2-gold);
  background: var(--about2-gold-soft);
  display: grid;
  place-items: center;
}

.contact2-hero__note p {
  display: grid;
  gap: 2px;
}

.contact2-hero__note strong {
  font-size: 12px;
}

.contact2-hero__note small {
  color: var(--about2-muted);
  font-size: 10px;
}

.contact2-help {
  padding: 125px max(40px, calc((100vw - 1440px) / 2));
  color: #fff;
  background: #171717;
}

.contact2-help__heading {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.55fr);
  align-items: end;
  gap: 70px;
}

.contact2-help__heading .about2-eyebrow {
  grid-column: 1 / -1;
}

.contact2-help h2 {
  max-width: 850px;
  font-size: clamp(48px, 5.2vw, 78px);
  line-height: 1;
}

.contact2-help__heading > p:last-child {
  padding-bottom: 7px;
  color: rgba(255, 255, 255, 0.58);
  font-size: 14px;
  line-height: 1.8;
}

.contact2-topics {
  margin-top: 94px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.contact2-topics article {
  min-height: 250px;
  padding: 34px 38px 38px 0;
  border-right: 1px solid rgba(255, 255, 255, 0.16);
}

.contact2-topics article + article {
  padding-left: 38px;
}

.contact2-topics article:last-child {
  border-right: 0;
}

.contact2-topics article > span {
  color: var(--about2-gold);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
}

.contact2-topics h3 {
  margin-top: 50px;
  font-size: 22px;
}

.contact2-topics p {
  max-width: 320px;
  margin-top: 14px;
  color: rgba(255, 255, 255, 0.52);
  font-size: 13px;
  line-height: 1.75;
}

.contact2-contact {
  width: min(calc(100% - 80px), 1400px);
  margin: 0 auto;
  padding: 135px 0 110px;
  display: grid;
  grid-template-columns: minmax(330px, 0.72fr) minmax(560px, 1.2fr);
  align-items: start;
  gap: clamp(70px, 8vw, 130px);
}

.contact2-contact__aside {
  position: sticky;
  top: 145px;
}

.contact2-contact__aside h2 {
  max-width: 510px;
  margin-top: 18px;
  font-size: clamp(46px, 4.7vw, 70px);
  line-height: 1;
}

.contact2-contact__intro {
  max-width: 460px;
  margin-top: 28px !important;
  color: var(--about2-muted);
  font-size: 14px;
  line-height: 1.8;
}

.contact2-contact__details {
  margin-top: 34px;
  display: grid;
  gap: 12px;
}

.contact2-contact__details > div {
  min-height: 0;
  padding: 20px 22px;
  border: 1px solid rgba(23, 23, 23, 0.1);
  border-radius: 18px;
  background: var(--about2-paper);
  box-shadow: 0 12px 35px rgba(35, 30, 24, 0.04);
}

.contact2-contact__details > div > span {
  display: block;
  margin-bottom: 7px;
  color: var(--about2-gold);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.contact2-contact__details a,
.contact2-contact__details p {
  margin: 0;
  color: var(--about2-ink);
  text-decoration: none;
  font-size: 12px;
  font-style: normal;
  line-height: 1.65;
}

.contact2-contact__image {
  height: 250px;
  margin-top: 24px !important;
  overflow: hidden;
  border-radius: 24px;
}

.contact2-form-wrap {
  min-width: 0;
}

.contact2-form-heading {
  margin-bottom: 28px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  column-gap: 30px;
}

.contact2-form-heading .about2-eyebrow {
  grid-column: 1 / -1;
}

.contact2-form-heading h2 {
  margin-top: 12px;
  font-size: clamp(42px, 4.5vw, 66px);
  line-height: 1;
}

.contact2-form-heading > p:last-child {
  max-width: 310px;
  padding-bottom: 5px;
  color: var(--about2-muted);
  font-size: 12px;
  line-height: 1.65;
}

.contact2-form-card {
  min-height: 650px;
  padding: 24px;
  overflow: hidden;
  border: 1px solid rgba(23, 23, 23, 0.09);
  border-radius: 34px;
  background: var(--about2-paper);
  box-shadow: 0 28px 80px rgba(34, 29, 24, 0.08);
}

.contact2-form-card iframe {
  display: block;
  min-height: 589px;
}

.contact2-note {
  width: min(calc(100% - 80px), 1400px);
  margin: 0 auto 120px;
  padding: 30px 34px;
  border-radius: 22px;
  background: var(--about2-gold-soft);
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 18px;
}

.contact2-note > span {
  width: 42px;
  height: 42px;
  border: 1px solid rgba(187, 139, 75, 0.35);
  border-radius: 50%;
  color: var(--about2-gold);
  display: grid;
  place-items: center;
  font-family: Georgia, serif;
  font-weight: 700;
}

.contact2-note strong {
  font-size: 12px;
}

.contact2-note p {
  max-width: 1000px;
  margin-top: 5px;
  color: #665d52;
  font-size: 12px;
  line-height: 1.7;
}

@media (max-width: 1180px) {
  .contact2-hero {
    width: min(calc(100% - 48px), 1060px);
    grid-template-columns: minmax(0, 1fr) minmax(420px, 0.78fr);
    gap: 56px;
  }

  .contact2-hero h1 {
    font-size: clamp(56px, 6.4vw, 74px);
  }

  .contact2-hero__portrait {
    height: 570px;
  }

  .contact2-help {
    padding-inline: 28px;
  }

  .contact2-contact {
    width: min(calc(100% - 48px), 1060px);
    grid-template-columns: minmax(300px, 0.7fr) minmax(500px, 1.15fr);
    gap: 56px;
  }
}

@media (max-width: 900px) {
  .contact2-page .site-header {
    top: 52px;
  }

  .contact2-hero {
    width: calc(100% - 36px);
    min-height: 0;
    padding: 190px 0 90px;
    grid-template-columns: 1fr;
    gap: 70px;
  }

  .contact2-hero__copy {
    max-width: 760px;
  }

  .contact2-hero__visual {
    width: min(100%, 650px);
    justify-self: center;
  }

  .contact2-help {
    padding: 95px 24px;
  }

  .contact2-help__heading {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .contact2-topics {
    margin-top: 70px;
  }

  .contact2-topics article,
  .contact2-topics article + article {
    padding-inline: 20px;
  }

  .contact2-contact {
    width: calc(100% - 36px);
    padding: 100px 0 85px;
    grid-template-columns: 1fr;
    gap: 70px;
  }

  .contact2-contact__aside {
    position: static;
  }

  .contact2-contact__details {
    grid-template-columns: repeat(2, 1fr);
  }

  .contact2-contact__image {
    height: 360px;
  }

  .contact2-note {
    width: calc(100% - 36px);
    margin-bottom: 90px;
  }
}

@media (max-width: 620px) {
  .contact2-page .site-header {
    top: 78px;
  }

  .contact2-hero {
    padding-top: 208px;
  }

  .contact2-proof-pill {
    margin-bottom: 38px;
  }

  .contact2-hero h1 {
    font-size: clamp(50px, 14.8vw, 68px);
  }

  .contact2-hero__intro {
    font-size: 16px;
  }

  .contact2-hero__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .contact2-email-link {
    width: fit-content;
    align-self: center;
  }

  .contact2-hero__visual {
    min-height: 540px;
    padding: 0 20px 48px 0;
  }

  .contact2-hero__portrait {
    height: 500px;
    border-radius: 25px;
  }

  .contact2-hero__detail {
    width: 138px;
    height: 174px;
    border-width: 7px;
    border-radius: 18px;
  }

  .contact2-hero__note {
    left: 12px;
    bottom: 28px;
    padding: 13px 15px;
  }

  .contact2-help {
    padding: 80px 18px;
  }

  .contact2-help h2 {
    font-size: clamp(43px, 13vw, 58px);
  }

  .contact2-topics {
    grid-template-columns: 1fr;
  }

  .contact2-topics article,
  .contact2-topics article + article {
    min-height: 0;
    padding: 26px 0 30px;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  }

  .contact2-topics h3 {
    margin-top: 24px;
  }

  .contact2-contact__aside h2,
  .contact2-form-heading h2 {
    font-size: clamp(44px, 13vw, 60px);
  }

  .contact2-contact__details {
    grid-template-columns: 1fr;
  }

  .contact2-contact__image {
    height: 260px;
  }

  .contact2-form-heading {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .contact2-form-heading > p:last-child {
    max-width: 100%;
  }

  .contact2-form-card {
    min-height: 620px;
    padding: 8px;
    border-radius: 24px;
  }

  .contact2-note {
    padding: 24px 20px;
    grid-template-columns: 1fr;
  }
}

/* Contact page */
.contact-page {
  position: relative;
  min-height: 100vh;
  background: var(--paper);
}

.contact-page::before {
  position: fixed;
  z-index: 101;
  top: 0;
  right: 0;
  left: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--azure), var(--vivid-azure), var(--neo-green));
  content: "";
}

.contact-page__hero {
  min-height: 100vh;
  padding: 12px;
  display: grid;
  grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.06fr);
  gap: 12px;
}

.contact-page__hero-copy,
.contact-page__hero figure {
  min-height: calc(100vh - 24px);
  border-radius: var(--radius);
  overflow: hidden;
}

.contact-page__hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background: var(--pale-blue);
  padding: clamp(150px, 20vh, 240px) clamp(32px, 5vw, 86px) clamp(60px, 8vw, 112px);
}

.contact-page__hero-copy h1 {
  max-width: 720px;
  margin-bottom: 42px;
  font-size: clamp(74px, 9vw, 154px);
  line-height: 0.83;
}

.contact-page__hero-copy h1 em {
  display: block;
  color: var(--azure);
}

.contact-page__hero-copy > p:last-child {
  max-width: 580px;
  margin-bottom: 0;
  color: rgba(18, 20, 39, 0.72);
  font-size: clamp(16px, 1.2vw, 20px);
}

.contact-page__hero figure {
  margin: 0;
}

.contact-page__hero figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
  transition: transform 900ms cubic-bezier(0.22, 1, 0.36, 1);
}

.contact-page__hero figure:hover img {
  transform: scale(1.018);
}

.contact-page__intro {
  min-height: 520px;
  padding: 120px clamp(28px, 6vw, 108px);
  display: grid;
  align-items: end;
  grid-template-columns: minmax(260px, 0.8fr) minmax(420px, 1.2fr);
  gap: clamp(50px, 8vw, 160px);
}

.contact-page__intro h2 {
  margin-bottom: 0;
  font-size: clamp(58px, 7vw, 112px);
  line-height: 0.92;
}

.contact-page__intro > p {
  max-width: 720px;
  margin-bottom: 0;
  color: rgba(18, 20, 39, 0.72);
  font-size: clamp(18px, 1.5vw, 24px);
}

.contact-page__details {
  margin: 0 12px 12px;
  border: 1px solid rgba(18, 20, 39, 0.1);
  border-radius: var(--radius);
  padding: clamp(70px, 8vw, 126px) clamp(28px, 6vw, 106px);
  display: grid;
  align-items: end;
  grid-template-columns: minmax(300px, 0.9fr) minmax(460px, 1.1fr);
  gap: clamp(48px, 8vw, 140px);
  background: var(--white);
}

.contact-page__details h2 {
  max-width: 620px;
  margin-bottom: 0;
  font-size: clamp(48px, 5.4vw, 86px);
  line-height: 0.96;
}

.contact-details {
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  font-style: normal;
}

.contact-details > div {
  min-height: 190px;
  border-radius: 18px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: var(--pale-blue);
}

.contact-details span {
  color: var(--azure);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.contact-details a,
.contact-details p {
  margin: 32px 0 0;
  font-size: clamp(15px, 1.15vw, 18px);
  line-height: 1.5;
}

.contact-details a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.contact-details--compact {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}

.contact-details--compact > div {
  min-height: 0;
  border-radius: 0;
  padding: 0;
  display: block;
  background: transparent;
}

.contact-details--compact span {
  color: rgba(255, 255, 255, 0.58);
  font-size: 10px;
}

.contact-details--compact a,
.contact-details--compact p {
  margin-top: 4px;
  color: var(--white);
  font-size: 12px;
  line-height: 1.55;
}

.footer-contact {
  color: var(--white);
}

.footer-contact--home {
  width: min(680px, 100%);
  margin: 24px 0 68px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.contact-page__topics {
  margin: 0 12px 12px;
  border-radius: var(--radius);
  overflow: hidden;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  background: var(--navy);
  color: var(--white);
}

.contact-page__topics article {
  min-height: 410px;
  padding: 40px clamp(26px, 3vw, 52px);
  display: flex;
  flex-direction: column;
  border-right: 1px solid rgba(255, 255, 255, 0.18);
}

.contact-page__topics article:last-child {
  border-right: 0;
}

.contact-page__topics span {
  color: var(--neo-green);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
}

.contact-page__topics h2 {
  margin: auto 0 20px;
  font-size: clamp(28px, 2.5vw, 42px);
  line-height: 1.05;
}

.contact-page__topics p {
  max-width: 360px;
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.68);
}

.contact-page__form {
  margin: 0 12px 12px;
  border-radius: var(--radius);
  padding: 128px 24px 100px;
  background:
    radial-gradient(circle at 50% 18%, rgba(18, 137, 255, 0.22), transparent 36%),
    var(--pale-blue);
}

.contact-page__form-heading {
  max-width: 840px;
  margin: 0 auto 54px;
  text-align: center;
}

.contact-page__form-heading h2 {
  margin-bottom: 22px;
  font-size: clamp(64px, 8vw, 126px);
  line-height: 0.9;
}

.contact-page__form-heading > p:last-child {
  max-width: 560px;
  margin: 0 auto;
  color: rgba(18, 20, 39, 0.68);
  font-size: 17px;
}

.contact-page__form-card {
  width: min(980px, 100%);
  margin: 0 auto;
  border: 1px solid rgba(18, 20, 39, 0.1);
  border-radius: 28px;
  padding: clamp(18px, 3vw, 42px);
  background: var(--white);
  box-shadow: var(--shadow);
}

.contact-page__form-card iframe {
  display: block;
  width: 100%;
  min-height: 589px;
  border: 0;
}

.contact-page__note {
  padding: 72px 24px 86px;
}

.contact-page__note p {
  max-width: 760px;
  margin: 0 auto;
  color: rgba(18, 20, 39, 0.62);
  font-size: 13px;
  text-align: center;
}

.contact-page__footer {
  min-height: 360px;
  padding: 76px clamp(24px, 5vw, 80px) 30px;
  display: grid;
  align-items: end;
  grid-template-columns: auto minmax(250px, 1fr) auto auto;
  gap: 36px;
  background: var(--navy);
  color: var(--white);
}

.contact-page__footer > a img {
  width: 166px;
}

.contact-page__footer nav {
  display: flex;
  gap: 28px;
  font-size: 13px;
  font-weight: 500;
}

.contact-page__footer nav a {
  transition: color 180ms ease;
}

.contact-page__footer nav a:hover {
  color: var(--neo-green);
}

.contact-page__footer > p {
  margin-bottom: 0;
  justify-self: end;
  color: rgba(255, 255, 255, 0.62);
  font-size: 12px;
}

@media (max-width: 900px) {
  .contact-page__hero {
    grid-template-columns: 1fr;
  }

  .contact-page__hero-copy,
  .contact-page__hero figure {
    min-height: 720px;
  }

  .contact-page__intro {
    grid-template-columns: 1fr;
    gap: 46px;
  }

  .contact-page__details {
    grid-template-columns: 1fr;
  }

  .contact-page__topics {
    grid-template-columns: 1fr;
  }

  .contact-page__topics article {
    min-height: 280px;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
  }

  .contact-page__topics article:last-child {
    border-bottom: 0;
  }

  .contact-page__footer {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .contact-page__footer > p {
    justify-self: start;
  }
}

@media (max-width: 640px) {
  .contact-page__hero {
    padding: 12px;
  }

  .contact-page__hero-copy {
    min-height: 660px;
    padding: 130px 24px 62px;
  }

  .contact-page__hero-copy h1 {
    margin-bottom: 34px;
    font-size: clamp(72px, 22vw, 104px);
  }

  .contact-page__hero figure {
    min-height: 590px;
  }

  .contact-page__intro {
    min-height: 600px;
    padding: 92px 24px;
  }

  .contact-page__intro h2 {
    font-size: 58px;
  }

  .contact-page__details {
    padding: 80px 24px;
  }

  .contact-page__details h2 {
    font-size: 48px;
  }

  .contact-details {
    grid-template-columns: 1fr;
  }

  .contact-details > div {
    min-height: 170px;
  }

  .contact-details--compact > div {
    min-height: 0;
  }

  .footer-contact--home {
    grid-template-columns: 1fr;
  }

  .contact-page__topics article {
    min-height: 260px;
    padding: 28px 24px;
  }

  .contact-page__form {
    padding: 92px 12px 70px;
  }

  .contact-page__form-heading {
    margin-bottom: 38px;
    padding: 0 12px;
  }

  .contact-page__form-heading h2 {
    font-size: 62px;
  }

  .contact-page__form-card {
    border-radius: 20px;
    padding: 12px;
  }

  .contact-page__note {
    padding: 58px 24px 72px;
  }

  .contact-page__footer {
    min-height: 480px;
    padding: 62px 20px 26px;
  }

  .contact-page__footer nav {
    flex-direction: column;
    gap: 14px;
  }
}

/* Dedicated product page */
.product-detail-page {
  --product-ink: #11131c;
  --product-paper: #fcfaf7;
  --product-blush: #f6ebe6;
  --product-line: #e5e0da;
  --product-muted: #6c6d72;
  --product-orange: #f27405;
  min-height: 100vh;
  background: var(--product-paper);
  color: var(--product-ink);
}

.product-detail-page .site-header::before {
  border-bottom: 1px solid rgba(17, 19, 28, 0.07);
  background: rgba(252, 250, 247, 0.92);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

.product-detail {
  display: grid;
  width: min(1500px, calc(100% - 48px));
  grid-template-columns: minmax(0, 1.04fr) minmax(430px, 0.96fr);
  gap: clamp(54px, 7vw, 116px);
  margin: 0 auto;
  padding: 144px 0 110px;
}

.product-gallery {
  min-width: 0;
}

.product-gallery__stage {
  display: flex;
  min-height: min(790px, calc(100vh - 190px));
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: var(--product-blush);
}

.product-gallery__stage img {
  width: 100%;
  height: 100%;
  max-height: 820px;
  object-fit: contain;
}

.product-gallery__thumbnails {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}

.product-gallery__thumbnails button {
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border: 1px solid transparent;
  padding: 0;
  background: var(--product-blush);
  cursor: pointer;
  transition: border-color 180ms ease, opacity 180ms ease;
}

.product-gallery__thumbnails button:not(.is-selected) {
  opacity: 0.66;
}

.product-gallery__thumbnails button:hover,
.product-gallery__thumbnails button:focus-visible,
.product-gallery__thumbnails button.is-selected {
  border-color: var(--product-ink);
  opacity: 1;
}

.product-gallery__thumbnails img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product-detail__information {
  position: sticky;
  top: 118px;
  align-self: start;
  padding-top: 14px;
}

.product-detail__eyebrow {
  margin-bottom: 18px;
  color: var(--product-orange);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.product-detail__information h1 {
  margin: 0 0 22px;
  font-family: "Poppins", sans-serif;
  font-size: clamp(48px, 4vw, 72px);
  font-weight: 500;
  letter-spacing: -0.055em;
  line-height: 1;
}

.product-detail__rating {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 22px;
  color: var(--product-muted);
  font-size: 13px;
}

.product-detail__rating > span {
  color: #00b67a;
  font-size: 16px;
  letter-spacing: 0.08em;
}

.product-detail__rating i {
  color: #d9dcdf;
  font-style: normal;
}

.product-detail__rating p {
  margin: 0;
}

.product-detail__rating strong {
  color: var(--product-ink);
}

.product-detail__status {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  margin-bottom: 30px;
  padding: 6px 12px;
  background: var(--product-orange);
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.product-detail__lead {
  max-width: 650px;
  margin: 0 0 24px;
  color: var(--product-muted);
  font-size: 17px;
  line-height: 1.7;
}

.product-detail__highlights {
  display: grid;
  gap: 10px;
  margin: 0 0 32px;
  padding: 0;
  color: var(--product-ink);
  font-size: 15px;
  list-style: none;
}

.product-detail__highlights li {
  position: relative;
  padding-left: 20px;
}

.product-detail__highlights li::before {
  position: absolute;
  top: 0.58em;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--product-orange);
  content: "";
}

.product-detail__waitlist {
  display: flex;
  width: 100%;
  min-height: 66px;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-bottom: 28px;
  padding: 18px 26px;
  background: var(--product-ink);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  transition: background 180ms ease, transform 180ms ease;
}

.product-detail__waitlist:hover {
  background: var(--product-orange);
  transform: translateY(-2px);
}

.product-detail__promises {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--product-line);
  border-bottom: 1px solid var(--product-line);
  margin-bottom: 8px;
  padding: 24px 0;
}

.product-detail__promises div {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 9px;
  padding: 0 12px;
  color: var(--product-muted);
  font-size: 11px;
  text-align: center;
}

.product-detail__promises div + div {
  border-left: 1px solid var(--product-line);
}

.product-detail__promises span {
  color: var(--product-orange);
  font-size: 17px;
}

.product-detail__promises strong {
  font-weight: 500;
}

.product-detail__accordions details {
  border-bottom: 1px solid var(--product-line);
}

.product-detail__accordions summary {
  position: relative;
  padding: 24px 38px 24px 0;
  color: var(--product-ink);
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  list-style: none;
}

.product-detail__accordions summary::-webkit-details-marker {
  display: none;
}

.product-detail__accordions summary::after {
  position: absolute;
  top: 50%;
  right: 4px;
  color: var(--product-muted);
  content: "+";
  font-size: 20px;
  font-weight: 400;
  transform: translateY(-50%);
}

.product-detail__accordions details[open] summary::after {
  content: "−";
}

.product-detail__accordions details > div {
  padding: 0 34px 26px 0;
  color: var(--product-muted);
  font-size: 14px;
  line-height: 1.7;
}

.product-detail__accordions p {
  margin: 0;
}

.product-detail__accordions ul {
  margin: 12px 0 0;
  padding-left: 20px;
}

.product-detail__disclaimer {
  margin: 26px 0 0;
  color: #a4a2a0;
  font-size: 11px;
  line-height: 1.6;
}

.product-detail-page__footer {
  display: grid;
  min-height: 340px;
  grid-template-columns: minmax(180px, 1fr) minmax(280px, 1.2fr) auto auto;
  align-items: end;
  gap: 42px;
  padding: 72px 34px 30px;
  background: #f27405;
  color: #fff;
}

.product-detail-page__footer > a:first-child img {
  width: 180px;
  height: auto;
}

.product-detail-page__footer > p {
  margin: 0;
  font-size: 12px;
}

.product-detail-page__footer > a:last-child {
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 4px;
}

@media (max-width: 1050px) {
  .product-detail {
    grid-template-columns: 1fr;
    gap: 52px;
  }

  .product-gallery__stage {
    min-height: 620px;
  }

  .product-detail__information {
    position: static;
    max-width: 760px;
    padding-top: 0;
  }

  .product-detail-page__footer {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 640px) {
  .product-detail-page .site-header::before {
    background: rgba(252, 250, 247, 0.96);
  }

  .product-detail {
    width: 100%;
    gap: 34px;
    padding: 112px 12px 74px;
  }

  .product-gallery__stage {
    min-height: 470px;
  }

  .product-gallery__thumbnails {
    gap: 7px;
    margin-top: 7px;
  }

  .product-detail__information {
    padding: 0 10px;
  }

  .product-detail__information h1 {
    font-size: 46px;
  }

  .product-detail__rating {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }

  .product-detail__promises {
    gap: 14px;
    grid-template-columns: 1fr;
  }

  .product-detail__promises div {
    justify-content: flex-start;
    padding: 0;
    text-align: left;
  }

  .product-detail__promises div + div {
    border-left: 0;
  }

  .product-detail-page__footer {
    min-height: 520px;
    grid-template-columns: 1fr;
    align-items: start;
    gap: 28px;
    padding: 62px 22px 28px;
  }
}

/* Final shop-style overrides for the About and Accessories routes. */
.about-page,
.accessories-page {
  --editorial-paper: #f7f5f2;
  --editorial-ink: #191919;
  --editorial-gold: #bb8b4b;
  --editorial-card: #ffffff;
  --editorial-muted: #72706d;
  --editorial-line: #e3dfda;
  background: var(--editorial-paper);
  color: var(--editorial-ink);
  font-family: "Poppins", Arial, sans-serif;
}

.about-page .site-header,
.accessories-page .site-header {
  top: 36px;
}

.about-page .site-header::before,
.accessories-page .site-header::before {
  border-color: rgba(25, 25, 25, 0.08);
  background: rgba(247, 245, 242, 0.94);
  box-shadow: 0 8px 28px rgba(25, 25, 25, 0.04);
}

.accessories-page::before {
  display: none;
}

.about-page__hero {
  width: min(1450px, calc(100% - 48px));
  min-height: 0;
  margin: 0 auto;
  padding: 154px 0 112px;
  grid-template-columns: minmax(0, 0.9fr) minmax(480px, 1.1fr);
  gap: clamp(52px, 7vw, 116px);
  align-items: center;
}

.about-page__hero-copy {
  min-height: 0;
  padding: 0;
  background: none;
}

.about-page__hero-copy h1 {
  margin: 0 0 42px;
  color: var(--editorial-ink);
  font-size: clamp(68px, 7vw, 112px);
  line-height: 0.9;
  letter-spacing: -0.065em;
}

.about-page__hero-copy h1 em,
.about-page__story-heading h2 em {
  color: var(--editorial-gold);
}

.about-page__hero-copy h2,
.about-page__technology h2,
.about-page__responsibility-heading h2,
.about-page__commitment h2 {
  color: var(--editorial-ink);
  font-size: clamp(36px, 3.6vw, 58px);
  line-height: 1.02;
  letter-spacing: -0.045em;
}

.about-page__hero-copy h2 {
  max-width: 620px;
  margin: 0 0 24px;
}

.about-page__hero-copy > p:last-child,
.about-page__story-body,
.about-page__technology > div > p:not(.eyebrow),
.about-page__commitment-copy > p:not(.eyebrow) {
  color: var(--editorial-muted);
  font-size: 17px;
  line-height: 1.7;
}

.about-page__hero-image {
  min-height: 0;
  height: min(68vw, 760px);
  aspect-ratio: 0.88;
  border: 1px solid var(--editorial-line);
  border-radius: 24px;
  background: var(--editorial-card);
  box-shadow: 0 20px 60px rgba(25, 25, 25, 0.08);
}

.about-page__belief {
  min-height: 520px;
  padding: 120px max(24px, calc((100vw - 1400px) / 2));
  grid-template-columns: minmax(170px, 0.5fr) minmax(0, 1.75fr) minmax(230px, 0.75fr);
  gap: clamp(34px, 5vw, 90px);
  background: var(--editorial-ink);
}

.about-page .eyebrow,
.accessories-page .eyebrow {
  color: var(--editorial-gold);
}

.about-page__belief > p:nth-child(2) {
  color: #fff;
  font-size: clamp(46px, 5vw, 78px);
  line-height: 1.02;
  letter-spacing: -0.05em;
}

.about-page__belief > p:last-child {
  color: rgba(255, 255, 255, 0.68);
  font-size: 16px;
  line-height: 1.7;
}

.about-page__story,
.about-page__technology,
.about-page__responsibility,
.about-page__commitment {
  width: min(1450px, calc(100% - 48px));
  margin-right: auto;
  margin-left: auto;
}

.about-page__story {
  padding: 128px 0 30px;
}

.about-page__story-heading {
  margin: 0 auto 70px;
  padding: 0;
  grid-template-columns: minmax(260px, 0.55fr) minmax(0, 1.6fr);
  gap: clamp(60px, 8vw, 150px);
}

.about-page__story-heading h2 {
  color: var(--editorial-ink);
  font-size: clamp(62px, 7vw, 106px);
  line-height: 0.92;
  letter-spacing: -0.06em;
}

.about-page__story-body {
  width: min(800px, 100%);
  margin: 0 auto 80px;
}

.about-page__story-body p:first-child {
  color: var(--editorial-ink);
}

.about-page__wide-image {
  width: min(1450px, calc(100% - 48px));
  height: min(65vw, 810px);
  margin: 0 auto 24px;
  border-radius: 24px;
}

.about-page__technology,
.about-page__commitment {
  padding: 0;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.about-page__technology {
  margin-top: 24px;
  margin-bottom: 120px;
}

.about-page__technology figure,
.about-page__commitment figure,
.about-page__technology > div,
.about-page__commitment-copy {
  min-height: 670px;
  border-radius: 24px;
}

.about-page__technology > div,
.about-page__commitment-copy {
  padding: clamp(52px, 6vw, 92px);
  border: 1px solid var(--editorial-line);
  background: var(--editorial-card);
  box-shadow: 0 18px 54px rgba(25, 25, 25, 0.055);
}

.about-page__technology h2,
.about-page__commitment h2,
.about-page__responsibility-heading h2 {
  margin: 12px 0 28px;
}

.about-page__responsibility {
  margin-top: 0;
  margin-bottom: 24px;
  padding: 110px clamp(32px, 5vw, 80px);
  border-radius: 24px;
  background: var(--editorial-ink);
}

.about-page__responsibility-heading {
  margin-bottom: 0;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
  gap: 72px;
  align-items: end;
}

.about-page__responsibility-heading h2 {
  color: #fff;
}

.about-page__responsibility-heading > p:last-child {
  color: rgba(255, 255, 255, 0.68);
  font-size: 17px;
  line-height: 1.7;
}

.about-page__principles {
  margin-top: 76px;
  border-top: 0;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.about-page__principles article {
  min-height: 240px;
  padding: 30px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.04);
}

.about-page__principles span {
  color: var(--editorial-gold);
}

.about-page__principles h3 {
  margin: 34px 0 14px;
}

.about-page__commitment {
  margin-top: 24px;
}

.about-page__commitment-copy .about-page__commitment-statement {
  color: var(--editorial-ink);
}

.about-page__disclaimer {
  padding: 72px 24px;
}

.about-page__disclaimer p {
  color: var(--editorial-muted);
  font-size: 13px;
  line-height: 1.65;
}

.about-page__cta,
.accessories-page__cta {
  min-height: 440px;
  padding: 100px 24px;
  background: var(--editorial-ink);
}

.about-page__cta h2,
.accessories-page__cta h2 {
  max-width: 900px;
  margin: 12px auto 36px;
  color: #fff;
  font-size: clamp(46px, 5.5vw, 78px);
  line-height: 1;
  letter-spacing: -0.05em;
}

.about-page__cta .button--light,
.accessories-page__cta .button--light {
  min-width: 250px;
  border-color: var(--editorial-gold);
  background: var(--editorial-gold);
  color: #fff;
}

.about-page__footer,
.accessories-page__footer {
  min-height: 400px;
  padding: 74px max(24px, calc((100vw - 1450px) / 2)) 28px;
  grid-template-columns: 1.15fr 0.8fr 0.7fr auto;
  gap: 48px;
  align-items: start;
  background: #0f1011;
}

.about-page__footer > a img,
.accessories-page__footer > a:first-child img {
  width: 172px;
}

.about-page__footer > p,
.accessories-page__footer > p {
  grid-column: 1 / -1;
  margin: 56px 0 0;
  padding-top: 22px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.46);
  font-size: 11px;
  justify-self: stretch;
}

.about-page__footer nav a,
.accessories-page__footer nav a,
.about-page__footer > a:last-child,
.accessories-page__footer > a:last-child {
  color: rgba(255, 255, 255, 0.74);
  font-size: 13px;
  text-decoration: none;
}

.accessories-page__collection {
  width: min(1450px, calc(100% - 48px));
  margin: 0 auto;
  padding: 158px 0 130px;
}

.accessories-page__heading {
  margin: 0 auto 72px;
}

.accessories-page__heading h1 {
  color: var(--editorial-ink);
  font-size: clamp(66px, 7vw, 108px);
  line-height: 0.94;
  letter-spacing: -0.06em;
}

.accessories-page__heading h1 em {
  color: var(--editorial-gold);
}

.accessories-page__grid {
  max-width: none;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 46px 24px;
}

.accessory-card {
  padding: 14px 14px 20px;
  border: 1px solid var(--editorial-line);
  border-radius: 24px;
  background: var(--editorial-card);
  box-shadow: 0 18px 50px rgba(25, 25, 25, 0.055);
}

.accessory-card__media {
  aspect-ratio: 1 / 1;
  border: 0;
  border-radius: 22px;
  background: #f2e9e1;
  overflow: hidden;
}

.accessory-card__media:focus-visible {
  outline-color: var(--editorial-gold);
}

.accessory-card h2 {
  margin: 18px 6px 0;
  color: var(--editorial-ink);
  font-size: 18px;
  font-weight: 600;
}

.accessory-card__sizes {
  inset: auto 16px 16px;
  padding: 20px;
  gap: 12px;
  border: 1px solid var(--editorial-line);
  border-radius: 16px;
  background: rgba(251, 250, 248, 0.96);
  box-shadow: 0 14px 35px rgba(25, 25, 25, 0.12);
  backdrop-filter: blur(12px);
}

.accessory-card__sizes span {
  color: var(--editorial-muted);
  font-size: 14px;
}

@media (max-width: 1050px) {
  .about-page__hero,
  .about-page__technology,
  .about-page__commitment {
    grid-template-columns: 1fr;
  }

  .about-page__hero-image {
    height: min(105vw, 760px);
    aspect-ratio: auto;
  }

  .about-page__belief,
  .about-page__story-heading,
  .about-page__responsibility-heading {
    grid-template-columns: 1fr;
  }

  .about-page__technology figure,
  .about-page__commitment figure,
  .about-page__technology > div,
  .about-page__commitment-copy {
    min-height: 590px;
  }

  .about-page__principles {
    grid-template-columns: repeat(2, 1fr);
  }

  .about-page__footer,
  .accessories-page__footer {
    grid-template-columns: 1fr 1fr;
  }

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

@media (max-width: 640px) {
  .about-page .site-header,
  .accessories-page .site-header {
    top: 49px;
  }

  .about-page__hero,
  .about-page__story,
  .about-page__wide-image,
  .about-page__technology,
  .about-page__responsibility,
  .about-page__commitment,
  .accessories-page__collection {
    width: calc(100% - 24px);
  }

  .about-page__hero {
    padding: 116px 0 72px;
    gap: 40px;
  }

  .about-page__hero-copy h1 {
    margin-bottom: 30px;
    font-size: clamp(54px, 17vw, 72px);
  }

  .about-page__hero-image {
    height: 540px;
  }

  .about-page__belief {
    min-height: 0;
    padding: 82px 20px;
  }

  .about-page__belief > p:nth-child(2) {
    font-size: 42px;
  }

  .about-page__story {
    padding-top: 80px;
  }

  .about-page__story-heading h2 {
    font-size: 54px;
  }

  .about-page__wide-image {
    height: 520px;
    border-radius: 18px;
  }

  .about-page__technology {
    margin-bottom: 76px;
  }

  .about-page__technology figure,
  .about-page__commitment figure,
  .about-page__technology > div,
  .about-page__commitment-copy {
    min-height: 500px;
    border-radius: 18px;
  }

  .about-page__technology > div,
  .about-page__commitment-copy {
    padding: 36px 24px;
  }

  .about-page__responsibility {
    padding: 72px 20px;
    border-radius: 18px;
  }

  .about-page__principles {
    margin-top: 48px;
    grid-template-columns: 1fr;
  }

  .about-page__cta,
  .accessories-page__cta {
    min-height: 0;
    padding: 80px 20px;
  }

  .about-page__cta h2,
  .accessories-page__cta h2 {
    font-size: 44px;
  }

  .about-page__footer,
  .accessories-page__footer {
    min-height: 0;
    padding: 58px 20px 26px;
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .about-page__footer > p,
  .accessories-page__footer > p {
    margin-top: 24px;
  }

  .accessories-page__collection {
    padding: 124px 0 82px;
  }

  .accessories-page__heading {
    margin-bottom: 46px;
  }

  .accessories-page__heading h1 {
    font-size: 58px;
  }

  .accessories-page__grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .accessory-card {
    padding: 10px 10px 18px;
    border-radius: 20px;
  }
}

/* ---------- Homepage product section ----------
   Restyled to the design system's product-page register: paper ground, ink
   type, mono eyebrow and labels, square corners, hairline lists, no coloured
   links or pill badges. Scoped to .hp-* so nothing else on the page changes. */
.hp-product { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr); gap: 48px; padding: 80px 6.3vw 96px; align-items: start; background: #f5f4ef; border-top: 1px solid #c9c8c2; }
.hp-product__gallery { display: grid; gap: 16px; }
.hp-product__stage { aspect-ratio: 1 / 1; border: 1px solid #c9c8c2; background: #fff; overflow: hidden; }
.hp-product__stage img { width: 100%; height: 100%; object-fit: contain; padding: 6%; box-sizing: border-box; display: block; }
.hp-product__gallery .gallery-thumbnails { position: static; bottom: auto; left: auto; display: flex; flex-wrap: nowrap; gap: 8px; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; padding-bottom: 2px; }
.hp-product__gallery .gallery-thumbnails::-webkit-scrollbar { display: none; }
.hp-product__gallery .gallery-thumbnails button { flex: 0 0 auto; width: 56px; height: 56px; opacity: 1; padding: 6px; border: 1px solid #c9c8c2; border-radius: 0; background: #fff; cursor: pointer; transition: border-color .15s cubic-bezier(.4,0,.2,1); }
.hp-product__gallery .gallery-thumbnails button:hover { border-color: #aaa9a3; }
.hp-product__gallery .gallery-thumbnails button.active { border-color: #0a0a0a; }
.hp-product__gallery .gallery-thumbnails img { width: 100%; height: 100%; object-fit: contain; display: block; }
.hp-product__gallery .gallery-controls { display: flex; align-items: center; gap: 14px; font: 10px/1 "Courier New", Courier, monospace; letter-spacing: .05em; color: #333; }
.hp-product__gallery .gallery-controls button { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid #0a0a0a; border-radius: 50%; background: transparent; cursor: pointer; transition: background .3s cubic-bezier(.4,0,.2,1), color .3s cubic-bezier(.4,0,.2,1); }
.hp-product__gallery .gallery-controls button:hover { background: #0a0a0a; color: #f5f4ef; }

.hp-product__panel { display: grid; gap: 20px; justify-items: start; }
.hp-eyebrow { margin: 0; font: 11px/1.35 "Courier New", Courier, monospace; text-transform: uppercase; letter-spacing: .05em; color: #0a0a0a; }
.hp-product__panel h2 { margin: 0; font-size: 36px; line-height: 1.1; font-weight: 400; letter-spacing: -.04em; color: #0a0a0a; }
.hp-product__panel h3 { margin: 0; max-width: 460px; font-size: 20px; line-height: 1.3; font-weight: 400; letter-spacing: -.025em; color: #0a0a0a; }
.hp-status { display: inline-block; padding: 7px 10px; border: 1px solid #c9c8c2; background: transparent; font: 10px/1 "Courier New", Courier, monospace; text-transform: uppercase; letter-spacing: .04em; color: #333; }
.hp-checklist { width: 100%; margin: 0; padding: 0; list-style: none; border-top: 1px solid #0a0a0a; }
.hp-checklist li { padding: 12px 0; border-bottom: 1px solid #c9c8c2; font-size: 15px; line-height: 1.5; color: #0a0a0a; }
.hp-checklist li:last-child { border-bottom: 0; }
.hp-meta { margin: 0; font: 10px/1.4 "Courier New", Courier, monospace; text-transform: uppercase; letter-spacing: .05em; color: #333; }
.hp-promises { width: 100%; padding: 4px 0; border-top: 1px solid #c9c8c2; border-bottom: 1px solid #c9c8c2; }
.hp-promises p { margin: 0; padding: 11px 0; font-size: 14px; line-height: 1.5; color: #333; }
.hp-promises p + p { border-top: 1px solid #c9c8c2; }
.hp-promises strong { font-weight: 500; color: #0a0a0a; }
.hp-cta { width: 100%; min-height: 58px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #0a0a0a; background: #0a0a0a; color: #f5f4ef; font: 11px/1 "Courier New", Courier, monospace; text-transform: uppercase; letter-spacing: .06em; text-decoration: none; transition: background .3s cubic-bezier(.4,0,.2,1), color .3s cubic-bezier(.4,0,.2,1), border-color .3s cubic-bezier(.4,0,.2,1); }
.hp-cta:hover { background: #ba8c53; border-color: #ba8c53; color: #0a0a0a; }
.hp-note { margin: 0; font-size: 12px; line-height: 1.5; color: #777; }
.hp-links { display: flex; flex-wrap: wrap; gap: 8px 22px; }
.hp-links a { font: 10px/1.4 "Courier New", Courier, monospace; text-transform: uppercase; letter-spacing: .05em; color: #0a0a0a; text-decoration: underline; text-underline-offset: 3px; }
.hp-links a:hover { color: #333; }

@media (max-width: 1023px) {
  .hp-product { grid-template-columns: 1fr; gap: 32px; padding: 56px 32px 64px; }
  .hp-product__stage { aspect-ratio: 4 / 3; }
}
@media (max-width: 760px) {
  .hp-product { padding: 48px 20px 56px; }
  .hp-product__stage { aspect-ratio: 1 / 1; }
  .hp-product__gallery .gallery-thumbnails { grid-template-columns: repeat(auto-fill, minmax(60px, 1fr)); gap: 8px; }
  .hp-product__panel h2 { font-size: 29px; }
}

/* The wide renders carry large built-in margins; zoom each so the product
   occupies a consistent share of the frame. */
.hp-product__stage img, .hp-product__gallery .gallery-thumbnails img { padding: 0; transform: scale(var(--hp-zoom, 1)); }
.hp-product__stage { padding: 6%; box-sizing: border-box; }
.hp-product__gallery .gallery-thumbnails button { overflow: hidden; }
.hp-product__gallery .gallery-controls { position: static; }

/* Lifestyle photographs fill their frame; renders stay contained on cream. */
.hp-product__stage img[data-cover], .hp-product__gallery .gallery-thumbnails button[data-cover] img { object-fit: cover; transform: none; }
.hp-product__stage:has(img[data-cover]) { padding: 0; }
.hp-product__gallery .gallery-thumbnails button[data-cover] { padding: 0; }

.hp-product__stage img { transition: opacity .3s cubic-bezier(.4,0,.2,1); }
.hp-product__stage img.is-fading { opacity: 0; }

/* ---------- Homepage footer (design system) ----------
   The homepage does not load ds-pages.css, so the shared footer's rules are
   restated here against the same token values. */
.mv-footer { background: #050505; color: #f5f4ef; padding: 55px 6.3vw 32px; }
.mv-footer-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; padding-bottom: 62px; }
.mv-footer-grid h3 { margin: 0 0 24px; font-size: 14px; font-weight: 400; text-transform: uppercase; letter-spacing: .08em; }
.mv-footer-grid a { display: block; width: max-content; font-size: 16px; line-height: 2.1; color: inherit; text-decoration: none; }
.mv-footer-grid a:hover { color: inherit; text-decoration: underline; }
.mv-footer-note { border-top: 1px solid #333; padding-top: 26px; font-size: 13px; line-height: 1.55; color: #aaa; }
.mv-footer-note > p { max-width: 820px; margin: 0; }
.mv-footer-note > div { display: flex; justify-content: space-between; gap: 20px; margin-top: 28px; }
.ds-footer-brand { display: grid; gap: 14px; align-content: start; justify-items: start; }
.ds-footer-brand img { width: 110px; height: auto; }
.ds-footer-brand p { margin: 0; font-size: 14px; line-height: 1.55; color: #aaa; }
.mv-footer .contact-details { display: grid; grid-template-columns: 1fr; gap: 18px; font-style: normal; }
/* Reset the repo's boxed pale-blue contact cards: the footer address is a
   single-column, unboxed block on ink. */
.mv-footer .contact-details > div { min-height: 0; padding: 0; border-radius: 0; background: transparent; display: block; }
.mv-footer .contact-details > div > span { display: block; margin-bottom: 6px; font: 10px/1 "Courier New", Courier, monospace; text-transform: uppercase; letter-spacing: .05em; color: #aaa; }
.mv-footer .contact-details p { margin: 0; font-size: 15px; line-height: 1.6; }
.mv-footer .contact-details a { margin: 0; font-size: 15px; color: inherit; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 760px) {
  .mv-footer { padding: 44px 20px 28px; }
  .mv-footer-grid { grid-template-columns: 1fr; gap: 32px; padding-bottom: 40px; }
  .mv-footer-grid h3 { margin-bottom: 14px; }
  .mv-footer-note > div { flex-direction: column; gap: 10px; }
}
