
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:clip}
.lenis.lenis-smooth iframe{pointer-events:none}

@font-face {
  font-family: 'Instrument Sans Fallback';
  src: local('Arial');
  size-adjust: 100.7000%;
  ascent-override: 96.3257%;
  descent-override: 24.8262%;
  line-gap-override: 0%;
}

@font-face {
  font-family: 'Instrument Serif Fallback';
  src: local('Georgia');
  size-adjust: 77.7300%;
  ascent-override: 127.3639%;
  descent-override: 39.8816%;
  line-gap-override: 0%;
}

@font-face {
  font-family: 'Instrument Sans Fallback Breadcrumb';
  src: local('Arial');
  size-adjust: 103.5400%;
  ascent-override: 93.6842%;
  descent-override: 24.1454%;
  line-gap-override: 0%;
}

@font-face {
  font-family: 'Instrument Sans Fallback Nav';
  src: local('Arial');
  size-adjust: 103.0150%;
  ascent-override: 94.1542%;
  descent-override: 24.2702%;
  line-gap-override: 0%;
}

@font-face {
  font-family: 'Instrument Sans Fallback Swatch Pearl';
  src: local('Arial');
  size-adjust: 101.6635%;
  ascent-override: 95.4128%;
  descent-override: 24.5910%;
  line-gap-override: 0%;
}

@font-face {
  font-family: 'Instrument Sans Fallback Swatch Midnight';
  src: local('Arial');
  size-adjust: 111.3269%;
  ascent-override: 87.1309%;
  descent-override: 22.4572%;
  line-gap-override: 0%;
}

@font-face {
  font-family: 'Instrument Sans Fallback Range Title';
  src: local('Arial');
  size-adjust: 100.0627%;
  ascent-override: 96.9392%;
  descent-override: 24.9843%;
  line-gap-override: 0%;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-size: var(--size-font);
  
  scroll-padding-top: calc(env(safe-area-inset-top, 0px) + 5.5rem + 8px);
  
}

body {
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
  overflow-wrap: break-word;
  word-break: normal;
  
  background-color: #FFFFFF;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

body.body--light    { background-color: var(--color-bg); }            
body.body--home     { background-color: var(--surface-deep); }        
body.body--about-us { background-color: var(--surface-deep); }        

body.body--product-flagship { --commerce-arrival-field: var(--surface-frost); }

body.body--products-range {
  --commerce-arrival-field: var(--surface-frost);
  background-color: var(--surface-frost);
}

img {
  max-width: 100%;
  height: auto;
}

table {
  max-width: 100%;
}

button,
input,
select,
textarea {
  font-family: inherit;
}

.page-transition {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  
  background-color: transparent;
  z-index: var(--z-header);
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1),
              visibility 0s linear 0.5s,
              background-color 0s linear 0.5s;
}

.page-transition.is--active {
  background-color: var(--color-bg);
  visibility: visible;
  opacity: 1;
  
  transition: opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1),
              visibility 0s linear 0s,
              background-color 0s linear 0s;
}

.page-transition.is--arriving {
  background-color: var(--commerce-arrival-field, var(--color-bg));
  visibility: visible;
  opacity: 1;
  transition: none;
}

.page-transition.is--arriving.is--arrival-revealing {
  opacity: 0;
  transition: opacity 0.42s cubic-bezier(0.16, 1, 0.3, 1);
}

.safari-edge {
  display: none;
}

@supports (-webkit-touch-callout: none) {
  @media (max-width: 500px), (max-height: 500px) {
    .safari-edge {
      display: block;
      position: fixed;
      left: 0;
      right: 0;
      z-index: var(--z-safari-edge);
      box-sizing: content-box;
      height: 0;
      padding-top: 20px;
      background-clip: content-box;
      pointer-events: none;
    }

    .safari-edge--top {
      top: 0;
      background-color: var(--surface-frost);
    }

    .body--home .safari-edge--top,
    .body--why-filter .safari-edge--top {
      background-color: var(--surface-abyss);
    }

    .body--about-us .safari-edge--top {
      background-color: var(--surface-deep);
    }

    .safari-edge--bottom {
      bottom: 0;
      background-color: var(--surface-frost);
    }

    .safari-edge--bottom:not([data-safari-edge-held]) {
      display: none;
    }

    .safari-edge--guard {
      bottom: 0;
      left: 50%;
      right: auto;
      width: 2px;
      margin-left: -1px;
      padding-top: 12px;
      z-index: var(--z-safari-edge-guard);
      background: none;
    }

    .safari-edge--guard::before {
      content: '';
    }

    html[data-safari-edge="off"] .safari-edge {
      display: none;
    }
  }
}

.skip-to-content {
  position: absolute;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.skip-to-content:focus {
  position: fixed;
  left: 0;
  top: 0;
  width: auto;
  height: auto;
  padding: 1em 1.5em;
  background-color: var(--color-text);
  color: var(--color-white);
  
  font-size: max(1em, 14px);
  font-weight: 500;
  z-index: var(--z-top);
  text-decoration: none;
  border: 2px solid var(--color-white);
  overflow: visible;
}

:root{
  --size-unit: 16;
  --size-container-ideal: 1440;
  --size-container-min: 1025px;
  --size-container-max: 1920px;
  --size-container: clamp(var(--size-container-min), 100vw, var(--size-container-max));
  --size-font-fluid: calc(var(--size-container) / (var(--size-container-ideal) / var(--size-unit)));
  --size-font: var(--size-font-fluid);
  --duration-fast: 0.2s;     
  --duration-normal: 0.450s; 

  --surface-white: #FFFFFF;
  --surface-mist: #F2FAFC;
  --surface-frost: #E4F4F8;   
  --surface-glacier: #D2E8F0;
  --surface-platinum: #DADEE1;
  --surface-tide: #14495A;
  --surface-deep: #0C3846;    
  --surface-abyss: #072B3A;
  
  --pgrid-ground-hydrosteel: #2E3947;
  --pgrid-ground-thermosteel: #A7B1B8;
  --pgrid-ground-cartridge: #0E2835; 
  
  --ink: #0C3846;
  --ink-body: #1D4F5F;
  --ink-muted: #4A6B78;
  --ink-invert: #FFFFFF;
  --ink-invert-muted: #A9CBD6;
  
  --accent: #2A7387;
  --accent-hover: #1E5A6B;
  --accent-on-dark: #5EB0C8;
  --accent-on-dark-hover: #86C7D8;
  
  --rule: rgba(12, 56, 70, 0.14);
  --rule-strong: rgba(12, 56, 70, 0.28);
  --rule-invert: rgba(255, 255, 255, 0.16);
  
  --thermal: #96562C;
  --thermal-soft: #C08247;
  --thermal-tint: #F5E7DA;
  
  --success: #176A57;
  --warning: #8A5A14;
  --error: #A32B22;

  --color-dark: var(--ink);
  --color-text: var(--ink-body);
  --color-bg: var(--surface-frost);
  --color-white: #FFFFFF;
  --color-border: var(--rule);
  --color-shadow: rgba(0, 0, 0, 0.2);
  --color-shadow-light: rgba(0, 0, 0, 0.15);
  --color-about-dark: var(--surface-deep);
  
  --color-error: #8b0000;
  
  --commerce-bone: #EFF4F4;
  --commerce-bone-deep: #E3EAEB;
  
  --commerce-room: #D3DEDF;
  --commerce-room-tile: #E8EFEF;
  
  --commerce-ink: var(--ink-body);
  --gutter-left: 7em;
  --gutter-right: 7.5em;
  --text-body: 0.9375em;
  --text-small: 0.875em;
  --text-xs: 0.75em;
  --transform-reset: scaleX(0) rotate(0.001deg); 
  --transition-underline: transform 0.735s cubic-bezier(0.625, 0.05, 0, 1); 
  --radius-card: 1em;
  --radius-button: 0.5em; 
  --border-thin: 0.0625em;
  --control-height-sticky: 56px;
  
  --p1-sticky-bar-height: max(4rem, calc(var(--control-height-sticky) + 0.9rem));

  --z-base: 0;               
  --z-local-1: 1;            
  --z-local-2: 2;            
  --z-local-3: 3;            
  --z-above-content: 10;     
  --z-above-content-high: 20; 
  --z-grain: 90;             
  --z-header: 98;            
  --z-nav-overlay: 99;       
  --z-selection-overlay: 998; 
  --z-selection-panel: 999;   
  --z-top: 10000;            
  
  --z-safari-edge-guard: 10001; 
  --z-safari-edge: 10002;       
}

@media screen and (max-width: 1024.98px) {
  :root {
    --size-container-ideal: 1200;
    --size-container-min: 768px;
    --size-container-max: 1024px;
  }
}

@media screen and (max-width: 767.98px) {
  :root {
    --size-container-ideal: 700;
    --size-container-min: 375px;
    --size-container-max: 767px;
    
    --gutter-left: max(20px, calc(18vw - 66.4px));
    --gutter-right: max(20px, calc(19.75vw - 74.8px));
  }
}

@media screen and (max-width: 480.98px) {
  :root {
    --size-container-ideal: 600;
    --size-container-min: 320px;
    --size-container-max: 480px;
    --gutter-left: 20px;
    --gutter-right: 20px;
  }
}

@media (hover: hover) and (pointer: fine) {
  :root {
    --size-font: max(1rem, var(--size-font-fluid));
  }
}

@media (hover: hover) and (pointer: fine) and (min-width: 1025px) {
  :root {
    --gutter-left: min(7em, 7.7778vw);
    --gutter-right: min(7.5em, 8.3334vw);
  }
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) and (max-width: 1024.98px) {
  :root {
    --gutter-left: 9.334vw;
    --gutter-right: 10vw;
  }
}

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

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible,
[role="button"]:focus-visible {
  outline: 2px solid var(--accent, #2A7387);
  outline-offset: 2px;
}

:focus:not(:focus-visible) {
  outline: none;
}

[data-theme-section="light"] a:focus-visible,
[data-theme-section="light"] button:focus-visible,
[data-theme-section="light"] input:focus-visible,
[data-theme-section="light"] select:focus-visible,
[data-theme-section="light"] textarea:focus-visible,
[data-theme-section="light"] [tabindex]:focus-visible,
[data-theme-section="light"] [role="button"]:focus-visible,

[data-theme-nav="light"]:focus-visible,
[data-theme-nav="light"] a:focus-visible,
[data-theme-nav="light"] button:focus-visible {
  outline-color: var(--accent-on-dark, #5EB0C8);
}

[data-navigation-status="active"] [data-theme-nav]:focus-visible,
[data-navigation-status="active"] [data-theme-nav] a:focus-visible,
[data-navigation-status="active"] [data-theme-nav] button:focus-visible {
  outline-color: var(--accent, #2A7387);
}

header {
  display: contents;
}

main {
  display: contents;
}

.hero-wrap {
  
  background-color: var(--surface-abyss);
}

.hero-section {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100vh;
  height: 100dvh;
  
  height: calc(100dvh + env(safe-area-inset-top, 0px));
  padding-left: 5.36em;
  padding-right: 5.74em;
  
  margin-top: calc(-1 * env(safe-area-inset-top, 0px));
  
  padding-top: env(safe-area-inset-top, 0px);
  position: relative;
  overflow: clip;
  background-color: var(--surface-abyss);
}

.hero-bg {
  position: absolute;
  inset: 0;
  background-color: var(--surface-abyss);
}

.hero-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 62% 55% at 50% 52%,
    rgba(7, 43, 58, 0.42) 0%,
    rgba(7, 43, 58, 0.18) 45%,
    rgba(7, 43, 58, 0) 72%);
  pointer-events: none;
}

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

.hero-section::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 150px;
  background: linear-gradient(180deg,
    rgba(7, 43, 58, 0) 0%,
    rgba(7, 43, 58, 0.55) 55%,
    #072B3A 100%);
  pointer-events: none;
}

.hero-heading {
  z-index: var(--z-local-1);
  text-align: center;
  font-family: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif;
  font-size: 5em;
  font-weight: 400;
  line-height: 1.2;
  color: var(--color-white);
  
  text-shadow: 0 0 4px rgba(7, 43, 58, 0.8), 0 0 12px rgba(7, 43, 58, 0.68), 0 2px 30px rgba(7, 43, 58, 0.7);
}

.hero-tagline {
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
  font-size: 15px;
  
  font-weight: 450;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.94);
  position: relative;
  z-index: var(--z-local-1);
  text-align: center;
  max-width: 60ch;
  text-wrap: balance;
  margin: 1.6em 0 1.9em;
  text-shadow: 0 0 4px rgba(7, 43, 58, 0.9), 0 0 12px rgba(7, 43, 58, 0.8), 0 2px 30px rgba(7, 43, 58, 0.75);
}

@media screen and (min-width: 1025px) {
  .hero-tagline {
    font-size: 18px;
    margin: 2.2em 0 2.1em;
  }
}

.hero-scroll-cue {
  position: absolute;
  left: 50%;
  bottom: calc(1.75em + env(safe-area-inset-bottom, 0px));
  transform: translateX(-50%);
  z-index: var(--z-local-1);
  width: 1px;
  height: 44px;
  overflow: hidden;
  pointer-events: none;
}

.hero-scroll-cue__line {
  position: absolute;
  inset: 0;
  background-color: rgba(255, 255, 255, 0.26);
}

.hero-scroll-cue__line::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 14px;
  background-color: rgba(255, 255, 255, 0.8);
  animation: hero-cue-drip 2.6s cubic-bezier(0.45, 0, 0.55, 1) infinite;
}

@keyframes hero-cue-drip {
  0% { transform: translateY(-16px); }
  62%, 100% { transform: translateY(46px); }
}

@media (prefers-reduced-motion: reduce) {
  .hero-scroll-cue__line::after {
    animation: none;
    display: none;
  }
}

.hero-badges {
  position: relative;
  z-index: var(--z-local-2);
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  
  flex-wrap: wrap;
  gap: 1em;
}

@media screen and (max-width: 1024.98px) {
  .hero-section {
    padding-left: var(--gutter-left);
    padding-right: var(--gutter-right);
  }

  .hero-heading {
    font-size: 3.5em;
  }
}

@media screen and (max-width: 767.98px) {
  .hero-section {
    padding-left: 1.5em;
    padding-right: 1.5em;
    
    height: calc(100lvh + env(safe-area-inset-top, 0px));
    padding-bottom: calc(100lvh - 100svh);
  }

  .hero-section .hero-scroll-cue {
    bottom: calc(1.75em + env(safe-area-inset-bottom, 0px) + 100lvh - 100svh);
  }

  .hero-heading {
    font-size: 3.5em;
    width: 100%;
  }

  .hero-tagline {
    max-width: 34ch;
    padding: 0 0.5em;
  }

  .hero-badges {
    flex-direction: row;
    gap: 0.75em;
  }
}

@media screen and (max-width: 480.98px) {
  .hero-heading {
    font-size: 3em;
  }
}

@media screen and (max-height: 500px) {
  .hero-section {
    height: auto;
    min-height: 100vh;
    min-height: calc(100dvh + env(safe-area-inset-top, 0px));
    padding-top: calc(env(safe-area-inset-top, 0px) + 9em);
    padding-bottom: calc(2.75em + 44px + env(safe-area-inset-bottom, 0px));
  }
}

@media screen and (max-height: 500px) and (max-width: 767.98px) {
  .hero-section {
    padding-top: calc(env(safe-area-inset-top, 0px) + 96px);
  }
}

.bold-nav-full {
  z-index: var(--z-nav-overlay);
  pointer-events: none;
  position: fixed;
  inset: 0;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  background-color: transparent;
}

@media screen and (max-width: 767.98px) {
  .bold-nav-full::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    
    height: calc(env(safe-area-inset-top, 0px) + 76px);
    pointer-events: none;
    -webkit-backdrop-filter: blur(7px) saturate(115%);
    backdrop-filter: blur(7px) saturate(115%);
    -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 60%, transparent 100%);
    mask-image: linear-gradient(180deg, #000 0%, #000 60%, transparent 100%);
  }
}

.bold-nav-full__bar {
  z-index: var(--z-local-1);
  width: 100%;
  height: calc(1.5em + 2.5em + 1.5em);
  position: absolute;
  top: env(safe-area-inset-top, 0px);
  left: 0;
  right: 0;
  overflow: hidden;
}

.bold-nav-full__dim-overlay {
  position: absolute;
  inset: 0;
  background-color: transparent;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  z-index: var(--z-local-1);
  transition: opacity 0.3s cubic-bezier(0.65, 0, 0.35, 1),
              visibility 0s linear 0.3s,
              background-color 0s linear 0.3s;
}

[data-navigation-status="active"] .bold-nav-full__dim-overlay {
  background-color: rgba(0, 0, 0, 0.5);
  visibility: visible;
  opacity: 1;
  transition: opacity 0.3s cubic-bezier(0.65, 0, 0.35, 1),
              visibility 0s linear 0s,
              background-color 0s linear 0s;
}

.bold-nav-full__logo-wrap {
  position: absolute;
  left: 50%;
  
  transform: translateX(-50%) scale(var(--nav-logo-fit, 1));
  top: 1.5em;
  height: 2.5em;
}

.bold-nav-full__logo {
  pointer-events: auto;
  color: var(--color-white);
  justify-content: center;
  align-items: center;
  height: 100%;
  display: flex;
  position: relative;
  transform: translateY(0);
  transition: opacity 0.3s ease, transform 0.6s cubic-bezier(0.65, 0, 0.35, 1), color 0.5s cubic-bezier(0.65, 0, 0.35, 1);
}

.bold-nav-full__logo::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: max(100%, 44px);
  transform: translateY(-50%);
}

@media (hover: hover) and (pointer: fine) {
  .bold-nav-full__logo:hover {
    opacity: 0.6;
  }
}

.bold-nav-full__logo-img {
  height: 100%;
  width: auto;
  max-width: 16em;
}

.bold-nav-full__contact-wrap {
  position: absolute;
  right: 5em;
  top: 1.5em;
  height: 2.5em;
  display: flex;
  align-items: center;
}

.bold-nav-full__contact-button {
  pointer-events: auto;
  color: var(--color-white);
  
  font-family: 'Instrument Sans', 'Instrument Sans Fallback Nav', Arial, sans-serif;
  
  font-size: max(1.25em, 11px);
  text-decoration: none;
  display: block;
  transform: translateY(0);
  transition: transform 0.6s cubic-bezier(0.65, 0, 0.35, 1), color 0.5s cubic-bezier(0.65, 0, 0.35, 1);
}

.bold-nav-full__selection-wrap {
  pointer-events: auto;
  position: absolute;
  right: 2.5em;
  top: 1.5em;
  height: 2.5em;
  display: flex;
  align-items: center;
  overflow: visible;
}

.bold-nav-full__selection-button {
  position: relative;
  pointer-events: auto;
  background: none;
  border: none;
  font-size: inherit;
  padding: 0;
  cursor: pointer;
  color: inherit;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateY(0);
  transition: opacity 0.3s ease, transform 0.6s cubic-bezier(0.65, 0, 0.35, 1), color 0.5s cubic-bezier(0.65, 0, 0.35, 1);
}

@media (hover: hover) and (pointer: fine) {
  .bold-nav-full__selection-button:hover {
    opacity: 0.6;
  }
}

.bold-nav-full__selection-button::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: max(100%, 28px);
  height: max(100%, 44px);
  transform: translate(-50%, -50%);
}

.bold-nav-full__selection-svg {
  width: 1.25em;
  height: 1.25em;
  pointer-events: none;
}

.bold-nav-full__selection-svg path {
  transition: fill 0.3s ease;
}

.bold-nav-full__selection-svg--filled path {
  fill: currentColor;
}

.bold-nav-full__droplet {
  pointer-events: none;
  position: absolute;
  right: 2.5em;
  top: 1.5em;
  height: 2.5em;
  width: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-white);
  transition: opacity 0.3s ease;
}

.bold-nav-full__droplet-svg {
  height: 2em;
  width: auto;
  transform: translateX(200%);
  transition: transform 0.6s cubic-bezier(0.65, 0, 0.35, 1);
}

.bold-nav-full__droplet::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: max(100%, 44px);
  height: max(100%, 44px);
  transform: translate(-50%, -50%);
}

@media (hover: hover) and (pointer: fine) {
  .bold-nav-full__droplet:hover {
    opacity: 0.6;
  }
}

.bold-nav-full__contact-button::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: max(100%, 44px);
  transform: translateY(-50%);
}

@media screen and (min-width: 768px) {
  .bold-nav-full::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    
    height: calc(env(safe-area-inset-top, 0px) + 10em);
    pointer-events: none;
    background-color: transparent;
    -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 40%, rgba(0, 0, 0, 0.8) 52%, rgba(0, 0, 0, 0.55) 64%, rgba(0, 0, 0, 0.3) 77%, rgba(0, 0, 0, 0.12) 89%, transparent 100%);
    mask-image: linear-gradient(180deg, #000 0%, #000 40%, rgba(0, 0, 0, 0.8) 52%, rgba(0, 0, 0, 0.55) 64%, rgba(0, 0, 0, 0.3) 77%, rgba(0, 0, 0, 0.12) 89%, transparent 100%);
    transition: background-color 0.4s ease;
  }
}

.bold-nav-full.is--frost::before {
  background-color: rgba(228, 244, 248, 0.82);
  background-color: color-mix(in srgb, var(--surface-frost) 82%, transparent);
  -webkit-backdrop-filter: saturate(120%) blur(12px);
  backdrop-filter: saturate(120%) blur(12px);
}

@media screen and (max-width: 767.98px) {
  .bold-nav-full.is--frost::before {
    height: calc(env(safe-area-inset-top, 0px) + 120px);
    -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 50%, rgba(0, 0, 0, 0.8) 59%, rgba(0, 0, 0, 0.55) 69%, rgba(0, 0, 0, 0.3) 80%, rgba(0, 0, 0, 0.12) 91%, transparent 100%);
    mask-image: linear-gradient(180deg, #000 0%, #000 50%, rgba(0, 0, 0, 0.8) 59%, rgba(0, 0, 0, 0.55) 69%, rgba(0, 0, 0, 0.3) 80%, rgba(0, 0, 0, 0.12) 91%, transparent 100%);
  }
}

@media (scripting: none) {
  .bold-nav-full__bar {
    background-color: rgba(228, 244, 248, 0.85);
    background-color: color-mix(in srgb, var(--surface-frost) 85%, transparent);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
  }

  html:not(.has-header-theme-js) body .bold-nav-full .bold-nav-full__hamburger,
  html:not(.has-header-theme-js) body .bold-nav-full [data-nav-logo-wrap] .bold-nav-full__logo,
  html:not(.has-header-theme-js) body .bold-nav-full [data-nav-contact-wrap] .bold-nav-full__contact-button,
  html:not(.has-header-theme-js) body .bold-nav-full [data-nav-selection-wrap] .bold-nav-full__selection-button,
  html:not(.has-header-theme-js) body .bold-nav-full [data-nav-droplet] {
    color: var(--color-text);
  }
}

@media screen and (max-width: 767.98px) {
  html {
    scroll-padding-top: calc(env(safe-area-inset-top, 0px) + 5rem + 8px);
  }
}

@media screen and (max-width: 480.98px) {
  html {
    scroll-padding-top: calc(env(safe-area-inset-top, 0px) + 4.5rem + 8px);
  }
}

@media screen and (min-width: 768px) {
  .bold-nav-full.has-glass::before {
    content: none;
  }
}

@media screen and (max-width: 767.98px) {
  .bold-nav-full.has-glass::before {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.5s cubic-bezier(0.65, 0, 0.35, 1), visibility 0s linear 0s;
  }

  body:not([data-nav-collapsed="true"]) .bold-nav-full.has-glass[data-nav-glass="frost"]::before,
  body:not([data-nav-collapsed="true"]) .bold-nav-full.has-glass[data-nav-glass="abyss"]::before,
  .bold-nav-full.has-glass.is--hold-pane::before,
  .bold-nav-full.has-glass.is--glass-ready.is--slack-deep[data-nav-glass="slack"]::before,
  [data-nav-collapsed="true"] .bold-nav-full.has-glass.is--glass-ready.is--over-deep-hero::before {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s cubic-bezier(0.65, 0, 0.35, 1), visibility 0s linear 0.5s;
  }
}

.bold-nav-full__glass {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: calc(env(safe-area-inset-top, 0px) + 5.5em);
  pointer-events: none;
}

.bold-nav-full__glass-hush {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: calc(env(safe-area-inset-top, 0px) + 9em);
  pointer-events: none;
  background-color: rgba(7, 43, 58, 0.6);
  -webkit-backdrop-filter: saturate(125%) blur(18px);
  backdrop-filter: saturate(125%) blur(18px);
  -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 46%, rgba(0, 0, 0, 0.82) 57%, rgba(0, 0, 0, 0.56) 68%, rgba(0, 0, 0, 0.3) 79%, rgba(0, 0, 0, 0.11) 90%, transparent 100%);
  mask-image: linear-gradient(180deg, #000 0%, #000 46%, rgba(0, 0, 0, 0.82) 57%, rgba(0, 0, 0, 0.56) 68%, rgba(0, 0, 0, 0.3) 79%, rgba(0, 0, 0, 0.11) 90%, transparent 100%);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.6s cubic-bezier(0.65, 0, 0.35, 1), visibility 0s linear 0.6s;
}

.bold-nav-full.has-glass.is--glass-ready.is--slack-deep[data-nav-glass="slack"] .bold-nav-full__glass-hush,
[data-nav-collapsed="true"] .bold-nav-full.has-glass.is--glass-ready.is--over-deep-hero:not(.is--hold-pane) .bold-nav-full__glass-hush {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.9s cubic-bezier(0.33, 1, 0.68, 1), visibility 0s linear 0s;
}

.bold-nav-full__glass-tide {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s cubic-bezier(0.65, 0, 0.35, 1), visibility 0s linear 0.5s;
}

.bold-nav-full__glass-tide--frost {
  background-color: rgba(228, 244, 248, 0.68);
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0) 72%);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px);
}

.bold-nav-full__glass-tide--abyss {
  background-color: rgba(7, 43, 58, 0.7);
  background-image: linear-gradient(180deg, rgba(169, 203, 214, 0.12) 0%, rgba(169, 203, 214, 0) 72%);
  -webkit-backdrop-filter: saturate(160%) blur(20px);
  backdrop-filter: saturate(160%) blur(20px);
}

.bold-nav-full.has-glass[data-nav-glass="frost"] .bold-nav-full__glass-tide--frost,
.bold-nav-full.has-glass[data-nav-glass="abyss"] .bold-nav-full__glass-tide--abyss {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.5s cubic-bezier(0.65, 0, 0.35, 1), visibility 0s linear 0s;
}

.bold-nav-full__glass-pane {
  position: absolute;
  inset: 0;
  pointer-events: none;
  transform: translateY(0);
  transition: transform 0.6s cubic-bezier(0.65, 0, 0.35, 1);
}

[data-nav-collapsed="true"] .bold-nav-full.has-glass:not(.is--hold-pane) .bold-nav-full__glass-pane {
  transform: translateY(-100%);
}

.bold-nav-full.has-glass.is--tide-flip .bold-nav-full__glass-tide {
  transition: opacity 0.24s cubic-bezier(0.85, 0, 0.15, 1), visibility 0s linear 0.24s;
}

.bold-nav-full.has-glass.is--tide-flip[data-nav-glass="frost"] .bold-nav-full__glass-tide--frost,
.bold-nav-full.has-glass.is--tide-flip[data-nav-glass="abyss"] .bold-nav-full__glass-tide--abyss {
  transition: opacity 0.24s cubic-bezier(0.85, 0, 0.15, 1), visibility 0s linear 0s;
}

@media screen and (max-width: 767.98px) {
  .bold-nav-full__glass {
    height: calc(env(safe-area-inset-top, 0px) + 5em);
  }

  .bold-nav-full__glass-hush {
    height: calc(env(safe-area-inset-top, 0px) + 96px);
  }
}

@media screen and (max-width: 480.98px) {
  .bold-nav-full__glass {
    height: calc(env(safe-area-inset-top, 0px) + 4.5em);
  }
}

.bold-nav-full.has-glass [data-theme-nav]:not(.bold-nav-full__hamburger),
.bold-nav-full.has-glass:not([data-navigation-status="active"]) .bold-nav-full__hamburger {
  transition: color 0s linear 0.25s;
}

.bold-nav-full.has-glass .bold-nav-full__droplet[data-theme-nav] {
  
  transition: color 0s linear 0.25s, opacity 0.3s ease, visibility 0s linear 0.6s;
}

[data-nav-collapsed="true"] .bold-nav-full.has-glass .bold-nav-full__droplet[data-theme-nav] {
  transition: color 0s linear 0.25s, opacity 0.3s ease;
}

.bold-nav-full.has-glass .bold-nav-full__logo {
  transition: opacity 0.3s ease, transform 0.6s cubic-bezier(0.65, 0, 0.35, 1), color 0s linear 0.25s;
}

.bold-nav-full.has-glass .bold-nav-full__contact-button {
  transition: transform 0.6s cubic-bezier(0.65, 0, 0.35, 1), color 0s linear 0.25s;
}

.bold-nav-full.has-glass .bold-nav-full__selection-button {
  transition: opacity 0.3s ease, transform 0.6s cubic-bezier(0.65, 0, 0.35, 1), color 0s linear 0.25s;
}

.bold-nav-full.has-glass.is--tide-flip [data-theme-nav]:not(.bold-nav-full__hamburger),
.bold-nav-full.has-glass.is--tide-flip:not([data-navigation-status="active"]) .bold-nav-full__hamburger {
  transition: color 0s linear 0.12s;
}

.bold-nav-full.has-glass.is--tide-flip .bold-nav-full__droplet[data-theme-nav] {
  transition: color 0s linear 0.12s, opacity 0.3s ease, visibility 0s linear 0.6s;
}

[data-nav-collapsed="true"] .bold-nav-full.has-glass.is--tide-flip .bold-nav-full__droplet[data-theme-nav] {
  transition: color 0s linear 0.12s, opacity 0.3s ease;
}

.bold-nav-full.has-glass.is--tide-flip .bold-nav-full__logo {
  transition: opacity 0.3s ease, transform 0.6s cubic-bezier(0.65, 0, 0.35, 1), color 0s linear 0.12s;
}

.bold-nav-full.has-glass.is--tide-flip .bold-nav-full__contact-button {
  transition: transform 0.6s cubic-bezier(0.65, 0, 0.35, 1), color 0s linear 0.12s;
}

.bold-nav-full.has-glass.is--tide-flip .bold-nav-full__selection-button {
  transition: opacity 0.3s ease, transform 0.6s cubic-bezier(0.65, 0, 0.35, 1), color 0s linear 0.12s;
}

.bold-nav-full.has-glass [data-theme-nav="dark"].bold-nav-full__hamburger,
.bold-nav-full.has-glass [data-theme-nav="dark"] .bold-nav-full__logo,
.bold-nav-full.has-glass [data-theme-nav="dark"].bold-nav-full__droplet,
.bold-nav-full.has-glass [data-theme-nav="dark"] .bold-nav-full__contact-button,
.bold-nav-full.has-glass [data-theme-nav="dark"] .bold-nav-full__selection-button {
  color: var(--ink);
}

.bold-nav-full.has-glass:not([data-navigation-status="active"]) [data-theme-nav="dark"]:focus-visible,
.bold-nav-full.has-glass:not([data-navigation-status="active"]) [data-theme-nav="dark"] a:focus-visible,
.bold-nav-full.has-glass:not([data-navigation-status="active"]) [data-theme-nav="dark"] button:focus-visible {
  outline-color: var(--accent-hover);
}

.bold-nav-full.has-glass:not([data-navigation-status="active"]) [data-theme-nav="light"]:focus-visible,
.bold-nav-full.has-glass:not([data-navigation-status="active"]) [data-theme-nav="light"] a:focus-visible,
.bold-nav-full.has-glass:not([data-navigation-status="active"]) [data-theme-nav="light"] button:focus-visible {
  outline-color: var(--ink-invert);
}

.bold-nav-full.has-glass:not(.is--glass-ready) [data-theme-nav],
.bold-nav-full.has-glass:not(.is--glass-ready) [data-theme-nav] * {
  transition: none !important;
}

.bold-nav-full.has-glass.is--pane-moving:not([data-navigation-status="active"]) .bold-nav-full__hamburger {
  transition: color 0s linear 0.32s;
}

.bold-nav-full.has-glass.is--pane-moving .bold-nav-full__droplet[data-theme-nav] {
  transition: color 0s linear 0.32s, opacity 0.3s ease, visibility 0s linear 0.6s;
}

[data-nav-collapsed="true"] .bold-nav-full.has-glass.is--pane-moving .bold-nav-full__droplet[data-theme-nav] {
  transition: color 0s linear 0.32s, opacity 0.3s ease;
}

@media (prefers-reduced-motion: reduce) {
  .bold-nav-full.has-glass::before,
  .bold-nav-full.has-glass .bold-nav-full__glass-hush,
  .bold-nav-full.has-glass .bold-nav-full__glass-tide,
  .bold-nav-full.has-glass .bold-nav-full__glass-pane,
  .bold-nav-full.has-glass [data-theme-nav],
  .bold-nav-full.has-glass [data-theme-nav] .bold-nav-full__logo,
  .bold-nav-full.has-glass [data-theme-nav] .bold-nav-full__contact-button,
  .bold-nav-full.has-glass [data-theme-nav] .bold-nav-full__selection-button {
    transition: none !important;
  }
}

.bold-nav-full.has-glass.is--glass-instant::before,
.bold-nav-full.has-glass.is--glass-instant .bold-nav-full__glass-hush,
.bold-nav-full.has-glass.is--glass-instant .bold-nav-full__glass-tide,
.bold-nav-full.has-glass.is--glass-instant .bold-nav-full__glass-pane,
.bold-nav-full.has-glass.is--glass-instant [data-theme-nav],
.bold-nav-full.has-glass.is--glass-instant [data-theme-nav] .bold-nav-full__logo,
.bold-nav-full.has-glass.is--glass-instant [data-theme-nav] .bold-nav-full__contact-button,
.bold-nav-full.has-glass.is--glass-instant [data-theme-nav] .bold-nav-full__selection-button {
  transition: none !important;
}

@media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
  .bold-nav-full.has-glass::before,
  .bold-nav-full.has-glass .bold-nav-full__glass-hush {
    display: none;
  }

  .bold-nav-full.has-glass .bold-nav-full__glass-tide {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  .bold-nav-full.has-glass .bold-nav-full__glass-tide--frost {
    background-color: var(--surface-frost);
  }

  .bold-nav-full.has-glass .bold-nav-full__glass-tide--abyss {
    background-color: var(--surface-abyss);
  }

  .bold-nav-full.has-glass.is--glass-ready.is--slack-deep[data-nav-glass="slack"] .bold-nav-full__glass-tide--abyss {
    opacity: 1;
    visibility: visible;
  }

  [data-nav-collapsed="true"] .bold-nav-full.has-glass.is--glass-ready.is--over-deep-hero .bold-nav-full__glass-pane {
    transform: none;
  }
}

@media (forced-colors: active) {
  .bold-nav-full.has-glass::before,
  .bold-nav-full.has-glass .bold-nav-full__glass-hush {
    display: none;
  }

  .bold-nav-full.has-glass .bold-nav-full__glass-tide {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background-color: Canvas;
    background-image: none;
    border-bottom: 1px solid CanvasText;
  }

  .bold-nav-full.has-glass .bold-nav-full__glass-tide--frost {
    opacity: 1;
    visibility: visible;
  }

  .bold-nav-full.has-glass .bold-nav-full__glass-pane {
    transform: none !important;
  }
}

@media (forced-colors: active) {
  
  .bold-nav-full .bold-nav-full__hamburger .bold-nav-full__hamburger-bar {
    forced-color-adjust: none;
    background-color: CanvasText;
  }

  .selection-panel .selection-panel__close-bar,
  .gallery-showcase .gallery-showcase__close .gallery-showcase__close-bar,
  .site-footer .site-footer__accordion-icon::before,
  .site-footer .site-footer__accordion-icon::after {
    forced-color-adjust: none;
    background-color: CanvasText;
  }

  .product-detail__swatch-fill,
  .product-gallery__dot {
    forced-color-adjust: none;
  }

  .product-detail__swatch[aria-pressed="true"] {
    outline: 2px solid Highlight;
    outline-offset: 3px;
  }
}

[data-theme-nav="light"] {
  color: var(--color-white);
}

[data-theme-nav="dark"] {
  color: var(--color-text);
}

[data-theme-nav] {
  transition: color 0.5s cubic-bezier(0.65, 0, 0.35, 1);
}

.bold-nav-full__droplet[data-theme-nav] {
  transition: color 0.5s cubic-bezier(0.65, 0, 0.35, 1), opacity 0.3s ease;
}

[data-theme-nav="light"].bold-nav-full__hamburger {
  color: var(--color-white);
}

[data-theme-nav="light"] .bold-nav-full__logo,
[data-theme-nav="light"].bold-nav-full__droplet {
  color: var(--color-white);
}

[data-theme-nav="light"] .bold-nav-full__contact-button {
  color: var(--color-white);
}

[data-theme-nav="light"] .bold-nav-full__selection-button {
  color: var(--color-white);
}

[data-theme-nav="dark"].bold-nav-full__hamburger {
  color: var(--color-text);
}

[data-theme-nav="dark"] .bold-nav-full__logo,
[data-theme-nav="dark"].bold-nav-full__droplet {
  color: var(--color-text);
}

[data-theme-nav="dark"] .bold-nav-full__contact-button {
  color: var(--color-text);
}

[data-theme-nav="dark"] .bold-nav-full__selection-button {
  color: var(--color-text);
}

[data-nav-collapsed="true"] .bold-nav-full__logo,
[data-nav-collapsed="true"] .bold-nav-full__contact-button,
[data-nav-collapsed="true"] .bold-nav-full__selection-button {
  transform: translateY(-4rem);
}

[data-nav-collapsed="true"] .bold-nav-full__droplet {
  pointer-events: auto;
}

[data-nav-collapsed="true"] .bold-nav-full__droplet-svg {
  transform: translateX(0);
}

[data-nav-collapsed="false"] .bold-nav-full__logo,
body:not([data-nav-collapsed]) .bold-nav-full__logo {
  transform: translateY(0);
}

[data-nav-collapsed="false"] .bold-nav-full__contact-button,
body:not([data-nav-collapsed]) .bold-nav-full__contact-button {
  transform: translateY(0);
}

[data-nav-collapsed="false"] .bold-nav-full__selection-button,
body:not([data-nav-collapsed]) .bold-nav-full__selection-button {
  transform: translateY(0);
}

[data-nav-collapsed="false"] .bold-nav-full__droplet-svg,
body:not([data-nav-collapsed]) .bold-nav-full__droplet-svg {
  transform: translateX(200%);
}

[data-nav-collapsed="true"] .bold-nav-full__logo:focus-visible,
[data-nav-collapsed="true"] .bold-nav-full__contact-button:focus-visible,
[data-nav-collapsed="true"] .bold-nav-full__selection-button:focus-visible {
  transform: translateY(0);
}

[data-nav-collapsed="false"] .bold-nav-full__droplet,
body:not([data-nav-collapsed]) .bold-nav-full__droplet {
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0s linear 0.6s;
}

[data-nav-collapsed="true"] .bold-nav-full__droplet {
  visibility: visible;
}

[data-nav-collapsed="true"] .bold-nav-full__logo:not(:focus-visible)::after,
[data-nav-collapsed="true"] .bold-nav-full__contact-button:not(:focus-visible)::after,
[data-nav-collapsed="true"] .bold-nav-full__selection-button:not(:focus-visible)::after {
  pointer-events: none;
}

.bold-nav-full__hamburger {
  pointer-events: auto;
  color: var(--color-white);
  cursor: pointer;
  background-color: #0000;
  border: none;
  font-size: inherit;
  justify-content: center;
  align-items: center;
  width: 2.5em;
  height: 2.5em;
  display: flex;
  position: absolute;
  top: calc(2.75rem - 1.25em);
  left: 2.1em;
  z-index: var(--z-local-3);
  overflow: hidden;
  transition: color 0.5s cubic-bezier(.9, 0, .1, 1);
}

.bold-nav-full__hamburger {
  width: max(2.5em, 44px);
  height: max(2.5em, 44px);
  margin: calc(1.25em - max(1.25em, 22px));
}

.bold-nav-full__hamburger:focus-visible {
  outline-offset: calc(2px - (max(1.25em, 22px) - 1.25em));
}

.bold-nav-full__hamburger,
.bold-nav-full__logo,
.bold-nav-full__droplet,
.bold-nav-full__contact-button,
.bold-nav-full__selection-button {
  -webkit-tap-highlight-color: transparent;
}

.bold-nav-full__hamburger .bold-nav-full__hamburger-bar {
  background-color: currentColor;
  width: 1.65em;
  height: .1em;
  position: absolute;
  transform: translate(0, 0)  rotate(0.001deg);
  transition: transform 0.5s cubic-bezier(.7, 0, .3, 1);
}

.bold-nav-full__hamburger .bold-nav-full__hamburger-bar:nth-child(1) {
  transform: translate(0, -.375em) scale(1, 1) rotate(0.001deg);
}

.bold-nav-full__hamburger .bold-nav-full__hamburger-bar:nth-child(3) {
  transform: translate(0, .375em) scale(1, 1) rotate(0.001deg);
}

@media (hover: hover) and (pointer: fine) {
  .bold-nav-full__hamburger:hover .bold-nav-full__hamburger-bar:nth-child(1) {
    transform: translate(0, -.375em) scale(.5, 1) rotate(0.001deg);
  }

  .bold-nav-full__hamburger:hover .bold-nav-full__hamburger-bar:nth-child(3) {
     transform: translate(0, .375em) scale(.5, 1) rotate(0.001deg);
  }
}

[data-navigation-status="active"] .bold-nav-full__hamburger {
  color: var(--color-text);
}

[data-navigation-status="active"]  .bold-nav-full__hamburger-bar:nth-child(1) {
  transform: translate(0, 0) rotate(45deg) scale(1, 1);
}

[data-navigation-status="active"] .bold-nav-full__hamburger-bar:nth-child(2) {
  transform: translate(calc(-0.825em - max(1.25em, 22px) - 0.4em), 0) rotate(0.001deg) scale(1, 1);
}

[data-navigation-status="active"]  .bold-nav-full__hamburger-bar:nth-child(3) {
  transform: translate(0, 0) rotate(-45deg) scale(1, 1);
}

@media (hover: hover) and (pointer: fine) {
  [data-navigation-status="active"] .bold-nav-full__hamburger:hover .bold-nav-full__hamburger-bar:nth-child(1) {
    transform: translate(0, 0) rotate(45deg) scale(.7, 1);
  }

  [data-navigation-status="active"] .bold-nav-full__hamburger:hover .bold-nav-full__hamburger-bar:nth-child(3) {
    transform: translate(0, 0) rotate(-45deg) scale(.7, 1);
  }
}

.bold-nav-full__tile {
  pointer-events: auto;
  background-color: var(--color-bg);
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  z-index: var(--z-local-2);
  transition: clip-path 1s cubic-bezier(.9, 0, .1, 1);
  clip-path: polygon(0% 0%, 100% 0%, 100% 0%, 0% 0%);
}

[data-navigation-status="active"] .bold-nav-full__tile {
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}

.bold-nav-full__ul {
  flex-flow: column;
  align-items: center;
  margin: 0;
  padding: 0;
  display: flex;
}

.bold-nav-full__li {
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 0;
  text-decoration: none;
  display: flex;
  position: relative;
  overflow: visible;
}

.bold-nav-full__link {
  color: var(--color-text);
  padding-left: .075em;
  padding-right: .075em;
  padding-bottom: .2em;
  font-size: 4em;
  font-weight: 400;
  text-decoration: none;
  position: relative;
  transform: translateY(100%) rotate(5deg);
  transition: transform 0.75s cubic-bezier(.7, 0, .3, 1);
}

.bold-nav-full__li:nth-child(1) .bold-nav-full__link {transition-delay: 0.35s;}
.bold-nav-full__li:nth-child(2) .bold-nav-full__link {transition-delay: 0.3s;}
.bold-nav-full__li:nth-child(3) .bold-nav-full__link {transition-delay: 0.25s;}
.bold-nav-full__li:nth-child(4) .bold-nav-full__link {transition-delay: 0.2s;}
.bold-nav-full__li:nth-child(5) .bold-nav-full__link {transition-delay: 0.15s;}
.bold-nav-full__li:nth-child(6) .bold-nav-full__link {transition-delay: 0.1s;}
.bold-nav-full__li:nth-child(7) .bold-nav-full__link {transition-delay: 0.05s;}

[data-navigation-status="active"] .bold-nav-full__link {
  transform: translateY(0%) rotate(0.001deg);
  transition-delay: 0.3s;
}

[data-navigation-status="active"] .bold-nav-full__li:nth-child(1) .bold-nav-full__link {transition-delay: 0.3s;}
[data-navigation-status="active"] .bold-nav-full__li:nth-child(2) .bold-nav-full__link {transition-delay: 0.35s;}
[data-navigation-status="active"] .bold-nav-full__li:nth-child(3) .bold-nav-full__link {transition-delay: 0.4s;}
[data-navigation-status="active"] .bold-nav-full__li:nth-child(4) .bold-nav-full__link {transition-delay: 0.45s;}
[data-navigation-status="active"] .bold-nav-full__li:nth-child(5) .bold-nav-full__link {transition-delay: 0.5s;}
[data-navigation-status="active"] .bold-nav-full__li:nth-child(6) .bold-nav-full__link {transition-delay: 0.55s;}
[data-navigation-status="active"] .bold-nav-full__li:nth-child(7) .bold-nav-full__link {transition-delay: 0.6s;}

.bold-nav-full__link-text {
  display: block;
  position: relative;
}

.bold-nav-full__li {
  transition: opacity 0.5s cubic-bezier(.7, 0, .3, 1);
}

@media (hover: hover) and (pointer: fine) {
  .bold-nav-full__ul:has(.bold-nav-full__li:hover) .bold-nav-full__li {
    opacity: 0.15;
  }

  .bold-nav-full__ul:has(.bold-nav-full__li:hover) .bold-nav-full__li:hover {
    opacity: 1;
  }
}

.bold-nav-full__link::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: var(--border-thin);
  background-color: currentColor;
  transition: var(--transition-underline);
  transform-origin: right;
  transform: var(--transform-reset);
}

@media (hover: hover) and (pointer: fine) {
  .bold-nav-full__link:hover::before {
    transform-origin: left;
    transform: scaleX(1) rotate(0.001deg);
  }
}

[data-underline-link] {
  text-decoration: none;
  position: relative;
}

[data-underline-link]::before,
[data-underline-link="alt"]::before,
[data-underline-link="alt"]::after {
  content: "";
  position: absolute;
  bottom: -0.0625em;
  left: 0;
  width: 100%;
  height: var(--border-thin);
  background-color: currentColor;
  transition: var(--transition-underline);
  transform-origin: right;
  transform: var(--transform-reset);
}

[data-underline-link="alt"]::before {
  transform-origin: left;
  transform: scaleX(1) rotate(0.001deg);
  transition-delay: 0.3s;
}

[data-underline-link="alt"]::after {
  transform-origin: right;
  transform: var(--transform-reset);
  transition-delay: 0s;
}

@media (hover: hover) and (pointer: fine) {
  [data-hover]:hover [data-underline-link]::before,
  [data-underline-link]:hover::before {
    transform-origin: left;
    transform: scaleX(1) rotate(0.001deg);
  }

  [data-hover]:hover [data-underline-link="alt"]::before,
  [data-underline-link="alt"]:hover::before {
    transform-origin: right;
    transform: var(--transform-reset);
    transition-delay: 0s;
  }

  [data-hover]:hover [data-underline-link="alt"]::after,
  [data-underline-link="alt"]:hover::after {
    transform-origin: left;
    transform: scaleX(1) rotate(0.001deg);
    transition-delay: 0.3s;
  }
}

.action-button {
  --action-button-ink: var(--ink);
  --action-button-edge: var(--ink-muted);
  --action-button-bloom: var(--ink);
  --action-button-bloom-ink: var(--surface-frost);
  position: relative;
  isolation: isolate;
  overflow: clip;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: max(3.5rem, 52px);
  padding: 1rem 2rem;
  border: var(--border-thin) solid transparent;
  border-radius: var(--radius-button);
  background: transparent;
  color: var(--action-button-ink);
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
  font-size: max(0.95rem, 15px);
  font-weight: 550;
  line-height: 1;
  letter-spacing: 0.005em;
  text-transform: none;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: color 0.25s ease-out, border-color 0.25s ease-out;
}

.action-button--ghost {
  border-color: var(--action-button-edge);
}

.action-button .button-046__bg {
  position: absolute;
  inset: 0;
  z-index: var(--z-base);
  border-radius: var(--radius-button);
  background-color: transparent;
  transition: background-color 0.25s ease-out;
}

.action-button .button-046__bg-circle {
  position: absolute;
  inset: 0;
  z-index: var(--z-local-1);
  overflow: clip;
  pointer-events: none;
}

.action-button .button-046__circle {
  background-color: var(--action-button-bloom);
}

.action-button .button-046__inner {
  position: relative;
  z-index: var(--z-local-2);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.action-button:focus-visible {
  color: var(--action-button-bloom-ink);
  border-color: var(--action-button-bloom);
}

@media (hover: hover) and (pointer: fine) {
  .action-button:hover {
    color: var(--action-button-bloom-ink);
    border-color: var(--action-button-bloom);
  }
}

.action-button:focus-visible .button-046__bg {
  background-color: var(--action-button-bloom);
}

@media (hover: hover) and (pointer: fine) {
  .action-button:not([data-button-046-bound]):hover .button-046__bg {
    background-color: var(--action-button-bloom);
  }
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: reduce) {
  .action-button:hover .button-046__bg {
    background-color: var(--action-button-bloom);
  }
}

@media (hover: none), (pointer: coarse) {
  .action-button:active {
    color: var(--action-button-bloom-ink);
    border-color: var(--action-button-bloom);
  }

  .action-button:active .button-046__bg {
    background-color: var(--action-button-bloom);
  }
}

.action-button:focus-visible {
  
  outline: max(2px, calc(var(--border-thin) * 2)) solid var(--accent);
  outline-offset: calc(var(--border-thin) * 3);
}

.glass-badge {
  position: relative;
  z-index: var(--z-local-2);
  padding: 0.625em 2.1875em;
  border: none;
  border-radius: 6.25em;
  overflow: hidden;
  background: transparent;
  margin-bottom: 0;
  transition: transform 0.2s ease;
  touch-action: manipulation;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

@media (hover: hover) and (pointer: fine) {
  .glass-badge:hover {
    transform: scale(1.05);
  }
}

.glass-text {
  position: relative;
  z-index: var(--z-local-2);
  color: var(--color-white);
  font-size: max(1em, 14px);
  font-weight: 400;
  white-space: nowrap;
  pointer-events: none;
}

@media screen {
  .glass-badge.is--lens-on .glass-text {
    visibility: hidden;
  }
}

@media (forced-colors: active) {
  .lens-canvas,
  .lens-mark {
    display: none;
  }

  .glass-badge .glass-text {
    visibility: visible;
  }
}

.lens-canvas {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: var(--z-local-1);
  pointer-events: none;
}

.lens-mark {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: var(--z-local-1);
  pointer-events: none;
  transition: none;
}

.glass-badge:not(.glass-badge--card) > .lens-mark {
  z-index: var(--z-local-3);
}

@keyframes badge-glow {
  0%, 100% { box-shadow: 0 0 12px 2px rgba(255, 255, 255, 0.15); }
  50%      { box-shadow: 0 0 24px 6px rgba(255, 255, 255, 0.35); }
}

.glass-badge--shop {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  margin-top: 0;
  margin-bottom: 0;
  animation: badge-glow 3s ease-in-out infinite;
}

@media (hover: hover) and (pointer: fine) {
  .glass-badge--shop:hover {
    animation: none;
  }
}

.glass-badge--shop:active {
  animation: none;
  transform: scale(0.97);
}

.glass-effect {
  -webkit-backdrop-filter: saturate(120%) blur(0.75em);
  backdrop-filter: saturate(120%) blur(0.75em);
  pointer-events: none;
  isolation: isolate;
  color: var(--surface-abyss);
  border-radius: inherit;
  position: absolute;
  inset: 0;
  z-index: var(--z-base);
  overflow: hidden;
}

.glass-effect__fill {
  opacity: 1;
  border-radius: inherit;
  
  background-color: rgba(218, 222, 225, 0.15);
  position: absolute;
  inset: 0;
}

.glass-effect__fill-burn {
  opacity: 0.05;
  mix-blend-mode: color-burn;
  border-radius: inherit;
  background-color: currentColor;
  position: absolute;
  inset: 0;
}

.glass-effect__highlight-soft {
  mix-blend-mode: overlay;
  border-radius: inherit;
  position: absolute;
  inset: 0;
  box-shadow: inset -0.28125em -0.28125em 0.09375em -0.328125em #ffffff80;
}

.glass-effect__highlight-strong {
  border-radius: inherit;
  position: absolute;
  inset: 0;
  box-shadow: inset 0.28125em 0.28125em 0.09375em -0.328125em #fffc;
}

.glass-effect__edge-light {
  border-radius: inherit;
  mix-blend-mode: plus-lighter;
  position: absolute;
  inset: 0;
  box-shadow: inset 0.1875em 0.28125em 0.09375em -0.1875em #b3b3b380;
}

.glass-effect__edge-dark {
  mix-blend-mode: overlay;
  border-radius: inherit;
  position: absolute;
  inset: 0;
  box-shadow: inset -0.1875em -0.28125em 0.09375em -0.1875em #b3b3b34d;
}

.glass-effect__inner-glow {
  mix-blend-mode: darken;
  border-radius: inherit;
  position: absolute;
  inset: 0;
  box-shadow: inset 0 0 1.75em #f2f2f24d;
}

.glass-badge:not(.glass-badge--card) > .glass-effect {
  z-index: var(--z-local-3);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.motion-toggle {
  --motion-toggle-face: color-mix(in srgb, var(--surface-abyss) 34%, transparent);
  --motion-toggle-face-hover: color-mix(in srgb, var(--surface-abyss) 54%, transparent);
  --motion-toggle-edge: var(--rule-invert);
  --motion-toggle-edge-hover: color-mix(in srgb, var(--ink-invert) 36%, transparent);
  --motion-toggle-ink: var(--ink-invert);
  --motion-toggle-ring: var(--accent-on-dark);
  position: relative;
  display: inline-grid;
  place-items: center;
  flex: none;
  box-sizing: border-box;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  
  border-radius: calc(var(--radius-button) + 5px);
  background: transparent;
  color: var(--motion-toggle-ink);
  
  font: inherit;
  line-height: 1;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  -webkit-user-select: none;
  user-select: none;
}

.motion-toggle[hidden] {
  display: none;
}

.motion-toggle::before {
  content: '';
  position: absolute;
  inset: 5px;
  box-sizing: border-box;
  border: 1px solid var(--motion-toggle-edge);
  border-radius: var(--radius-button);
  background-color: var(--motion-toggle-face);
  -webkit-backdrop-filter: blur(12px) saturate(1.3);
  backdrop-filter: blur(12px) saturate(1.3);
  transition: background-color 0.35s ease, border-color 0.35s ease;
}

.motion-toggle__icon {
  position: relative;
  grid-area: 1 / 1;
  width: 22px;
  height: 22px;
  transition: opacity 0.28s ease;
}

.motion-toggle__icon--play,
.motion-toggle[data-motion-state="paused"] .motion-toggle__icon--pause {
  opacity: 0;
}

.motion-toggle[data-motion-state="paused"] .motion-toggle__icon--play {
  opacity: 1;
}

.motion-toggle:active::before {
  background-color: var(--motion-toggle-face-hover);
}

@media (hover: hover) and (pointer: fine) {
  .motion-toggle:hover::before {
    background-color: var(--motion-toggle-face-hover);
    border-color: var(--motion-toggle-edge-hover);
  }
}

button.motion-toggle:focus-visible {
  outline: 2px solid var(--motion-toggle-ring);
  outline-offset: -3px;
}

button.motion-toggle:focus-visible::before {
  border-color: var(--motion-toggle-edge-hover);
}

.motion-toggle--frost {
  --motion-toggle-face: color-mix(in srgb, var(--surface-frost) 56%, transparent);
  --motion-toggle-face-hover: color-mix(in srgb, var(--surface-frost) 82%, transparent);
  --motion-toggle-edge: var(--rule);
  --motion-toggle-edge-hover: var(--rule-strong);
  --motion-toggle-ink: var(--ink);
  --motion-toggle-ring: var(--accent);
}

.motion-toggle--corner {
  position: absolute;
  right: calc(2.5em - 5px);
  bottom: calc(1.75em + env(safe-area-inset-bottom, 0px));
  z-index: var(--z-local-3);
}

.motion-toggle--inline {
  margin-right: -5px;
}

@media screen and (max-width: 767.98px) {
  
  .motion-toggle--corner {
    right: calc(var(--gutter-right) - 5px);
  }

  .hero-section .motion-toggle--corner {
    bottom: calc(1.75em + env(safe-area-inset-bottom, 0px) + 100lvh - 100svh);
  }
}

html[data-motion-paused] .hero-scroll-cue__line::after {
  animation: none;
  display: none;
}

html[data-motion-paused] .glass-badge--shop {
  animation-play-state: paused;
}

@media (hover: hover) and (pointer: fine) {
  html.custom-cursor-active,
  html.custom-cursor-active *,
  html.custom-cursor-active *::before,
  html.custom-cursor-active *::after {
    cursor: none !important;
  }
}

.custom-cursor {
  position: fixed;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: var(--z-top);
  mix-blend-mode: difference;
}

.cursor-circle {
  width: 1.5625em;
  height: 1.5625em;
  border: 0.125em solid var(--color-white);
  border-radius: 50%;
  position: absolute;
  transform: translate(-50%, -50%);
  transition:
    width 0.3s cubic-bezier(0.25, 0.1, 0.25, 1),
    height 0.3s cubic-bezier(0.25, 0.1, 0.25, 1),
    border-width 0.3s cubic-bezier(0.25, 0.1, 0.25, 1),
    background-color 0.3s cubic-bezier(0.25, 0.1, 0.25, 1),
    opacity 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
  background-color: transparent;
  
}

.custom-cursor.is-hovering .cursor-circle {
  width: 0.9375em;
  height: 0.9375em;
  background-color: var(--color-white);
  border-width: 0;
}

.custom-cursor.is-hidden .cursor-circle {
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.5);
}

.custom-cursor.is-text .cursor-circle {
  width: 0.25em;
  height: 1.5em;
  border-radius: 0.125em;
  background-color: var(--color-white);
  border-width: 0;
}

@media (hover: none) and (pointer: coarse) {
  .custom-cursor {
    display: none !important;
  }

  *, *::before, *::after {
    cursor: auto !important;
  }
}

.svg-filter-hidden {
  display: none;
}

.hero-badges .glass-badge--shop .glass-text {
  font-weight: 600;
  letter-spacing: 0.01em;
}

.hero-badges .glass-badge:not(.glass-badge--shop) {
  opacity: 0.9;
  
  padding: 0.625em max(1.5em, 23px);
}

.hero-badges .glass-badge:not(.glass-badge--shop) .glass-text {
  
  font-size: max(0.85em, 0.85rem, 11px);
}

@media screen and (max-width: 389.98px) {
  .hero-badges {
    flex-direction: column;
    gap: max(0.75em, 12px);
  }
}

.hero-text-sans {
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
}

.home-orient {
  
  background-color: var(--surface-deep);
  background-image: linear-gradient(180deg, var(--surface-tide) 0%, #0E3A4A 45%, var(--surface-abyss) 100%);
  color: var(--color-white);
  
  padding: 7em max(var(--gutter-right), calc((100% - 76rem) / 2)) 6.5em max(var(--gutter-left), calc((100% - 76rem) / 2));
  position: relative;
  z-index: var(--z-base);
}

.home-orient__head {
  max-width: 1100px;
}

.home-orient__eyebrow {
  display: block;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  opacity: 0.65;
  margin-bottom: 1.2em;
}

.home-orient__title {
  font-size: 2.75em;
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -0.01em;
  margin: 0;
}

.home-orient__title-serif {
  font-family: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif;
  font-style: italic;
  white-space: nowrap;
}

.home-orient__title-nowrap {
  white-space: nowrap;
}

.home-orient__steps {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 24px;
  row-gap: 2.5em;
  margin: 3.25em 0 0;
  padding: 0;
}

.home-orient__panel {
  position: relative;
  aspect-ratio: 3 / 4;
  border-radius: var(--radius-card);
  overflow: hidden;
  isolation: isolate;
  
  background-color: var(--surface-abyss);
}

.home-orient__media {
  position: absolute;
  inset: -4.5%;
  z-index: var(--z-base);
}

.home-orient__img,
.home-orient__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}

.home-orient__video {
  opacity: 0;
  transition: opacity 0.6s ease;
}

.home-orient__video.is--playing {
  opacity: 1;
}

.home-orient__shade {
  position: absolute;
  inset: 0;
  
  border-radius: inherit;
  z-index: var(--z-local-1);
  background: linear-gradient(180deg,
    rgba(7, 43, 58, 0) 48%,
    rgba(7, 43, 58, 0.3) 72%,
    rgba(7, 43, 58, 0.58) 100%);
  pointer-events: none;
}

.home-orient__panel--clarity .home-orient__shade {
  background: linear-gradient(180deg,
    rgba(228, 244, 248, 0) 48%,
    rgba(228, 244, 248, 0.3) 72%,
    rgba(228, 244, 248, 0.6) 100%);
}

.home-orient__num {
  position: absolute;
  top: 0.02em;
  left: 0.08em;
  
  padding-right: 0.18em;
  z-index: var(--z-local-2);
  font-family: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif;
  font-style: italic;
  font-size: clamp(72px, 9.5em, 190px);
  line-height: 1;
  font-weight: 400;
  color: var(--color-white);
  opacity: 0.22;
  pointer-events: none;
}

.home-orient__panel--carbon .home-orient__num,
.home-orient__panel--clarity .home-orient__num {
  color: var(--color-text);
  opacity: 0.3;
}

.home-orient__panel-copy {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;
  z-index: var(--z-local-3);
  padding: 1.3em 1.35em 1.25em;
  border-radius: calc(var(--radius-card) - 4px);
  
  background-color: rgba(7, 43, 58, 0.5);
  -webkit-backdrop-filter: saturate(120%) blur(12px);
  backdrop-filter: saturate(120%) blur(12px);
  color: var(--color-white);
}

.home-orient__panel--carbon .home-orient__panel-copy {
  background-color: rgba(7, 43, 58, 0.58);
}

.home-orient__panel--clarity .home-orient__panel-copy {
  background-color: rgba(228, 244, 248, 0.66);
  color: var(--color-text);
}

.home-orient__panel--clarity .home-orient__stage-eyebrow {
  opacity: 0.92;
}

.home-orient__stage-eyebrow {
  display: block;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.75;
  margin-bottom: 0.5em;
}

.home-orient__stage {
  font-family: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif;
  font-size: 1.9em;
  font-weight: 400;
  line-height: 1.1;
  margin: 0 0 0.4em;
}

.home-orient__copy {
  font-size: 14px;
  line-height: 1.55;
  opacity: 0.92;
  max-width: 34ch;
  margin: 0;
  text-wrap: pretty;
}

.home-orient__teaser {
  margin: 3.5em 0 0;
  
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1em;
}

.home-orient__teaser-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  color: inherit;
  text-decoration: none;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.04em;
  min-height: 44px;
}

.home-orient__teaser-link:focus-visible {
  outline: 2px solid var(--accent-on-dark);
  outline-offset: 3px;
  border-radius: 2px;
}

.home-orient__teaser-arrow {
  display: inline-flex;
  align-items: center;
  transition: transform 250ms ease;
}

.home-orient__teaser-arrow svg {
  width: 0.8em;
  height: 0.8em;
}

@media (hover: hover) and (pointer: fine) {
  .home-orient__teaser-link:hover .home-orient__teaser-arrow {
    transform: translateX(4px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-orient__teaser-arrow {
    transition: none;
  }

  .home-orient__teaser-link:hover .home-orient__teaser-arrow {
    transform: none;
  }
}

@media screen and (max-width: 1024.98px) {
  
  .home-orient {
    padding: 5.5em var(--gutter-right) 5em var(--gutter-left);
  }

  .home-orient__title {
    font-size: 2.35em;
  }

  .home-orient__steps {
    column-gap: 16px;
  }

  .home-orient__panel {
    aspect-ratio: 2 / 3;
  }

  .home-orient__panel-copy {
    padding: 1.3em 1.15em 1.2em;
  }

  .home-orient__stage {
    font-size: 1.6em;
  }

  .home-orient__copy {
    font-size: 13px;
  }
}

@media screen and (max-width: 767.98px) {
  
  .home-orient {
    padding: 4em var(--gutter-right) 3.5em var(--gutter-left);
  }

  .home-orient__title {
    font-size: 1.95em;
  }

  .home-orient__steps {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 16px;
    margin-top: 2.5em;
  }

  .home-orient__panel {
    aspect-ratio: 4 / 5;
  }

  .home-orient__num {
    font-size: clamp(64px, 22vw, 110px);
  }

  .home-orient__panel-copy {
    padding: 1.4em 1.25em 1.3em;
  }

  .home-orient__stage {
    font-size: 1.7em;
  }

  .home-orient__copy {
    font-size: 14px;
    max-width: 46ch;
  }

  .home-orient__teaser {
    margin-top: 2.75em;
  }
}

.product-grid-section {
  background-color: var(--color-bg);
  color: var(--color-text);
  
  padding: 6em max(var(--gutter-right), calc((100% - 76rem) / 2)) 7.5em max(var(--gutter-left), calc((100% - 76rem) / 2));
  position: relative;
  z-index: var(--z-base);
}

.product-grid-section[data-home-grid] {
  --home-seam: clamp(9rem, 24vh, 15rem);
  background-image: linear-gradient(180deg,
    var(--surface-abyss) 0,
    #0A3040 calc(var(--home-seam) * 0.1),
    #143E4F calc(var(--home-seam) * 0.2),
    #245467 calc(var(--home-seam) * 0.3),
    #3A6F83 calc(var(--home-seam) * 0.4),
    #588DA0 calc(var(--home-seam) * 0.5),
    #7CACBB calc(var(--home-seam) * 0.6),
    #A2C8D3 calc(var(--home-seam) * 0.7),
    #C4DFE6 calc(var(--home-seam) * 0.8),
    #DBEEF3 calc(var(--home-seam) * 0.9),
    var(--surface-frost) var(--home-seam));
  padding-top: calc(var(--home-seam) + 3.5em);
}

.product-grid-section__seam {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: calc(var(--home-seam) * 0.6);
}

.product-grid-section__eyebrow {
  display: block;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-text);
  opacity: 0.8;
  margin-bottom: 1.2em;
}

.product-grid-section__title {
  font-size: 2.75em;
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.01em;
  color: var(--color-text);
  margin: 0 0 1.1em;
}

.product-grid-section__title-serif {
  font-family: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif;
  font-style: italic;
}

.product-grid-section .pgrid-systems {
  margin-bottom: clamp(3.5rem, 7vw, 7rem);
}

.product-grid__cluster-title {
  
  font-size: max(1.3em, 18px);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.005em;
  color: var(--ink);
  margin: 0;
}

.product-grid__cluster-head,
.body--products-range .pgrid-zone__head {
  margin: 0 0 clamp(2.25rem, 3.5vw, 3.5rem);
}

.product-grid__cluster-line,
.pgrid-zone__note {
  max-width: 52ch;
  margin: 0.9rem 0 0;
  color: var(--ink-muted);
  font-size: max(0.95rem, 14px);
  line-height: 1.6;
  text-wrap: pretty;
}

@media screen and (max-width: 1024.98px) {
  .product-grid-section {
    padding: 5em var(--gutter-right) 6em var(--gutter-left);
  }

  .product-grid-section[data-home-grid] {
    padding-top: calc(var(--home-seam) + 3em);
  }

  .product-grid-section__title {
    font-size: 2.35em;
  }
}

@media screen and (max-width: 767.98px) {
  .product-grid-section {
    padding: 3.5em var(--gutter-right) 4em var(--gutter-left);
  }

  .product-grid-section[data-home-grid] {
    --home-seam: clamp(7.5rem, 20vh, 10rem);
    padding-top: calc(var(--home-seam) + 2.25em);
  }

  .product-grid-section__title {
    font-size: 1.95em;
    margin-bottom: 1em;
  }
}

@media screen and (max-width: 480.98px) {
  .product-grid-section {
    padding: 3em var(--gutter-right) 3.5em var(--gutter-left);
  }
}

.product-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: var(--color-text);
  -webkit-tap-highlight-color: transparent;
}

.product-card__frame {
  position: relative;
  width: 100%;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  border-radius: var(--radius-card);
  background-color: var(--surface-glacier);
  isolation: isolate;
}

.product-card__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.product-card__img--front {
  object-fit: contain;
  padding: 1.5em 1em;
  z-index: var(--z-base);
}

.product-card__img--photo {
  object-fit: cover;
  padding: 0;
}

.product-card__img--back {
  object-fit: cover;
  background-color: var(--surface-glacier);
  z-index: var(--z-local-1);
  transform: scale(1.2);
  clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
  filter: brightness(4) contrast(1.5);
}

@media (hover: hover) and (pointer: fine) {
  .product-card__img--back {
    transition: all 500ms cubic-bezier(0.4, 0, 0.2, 1);
  }

  .product-card:hover .product-card__img--back,
  .product-card:has(:focus-visible) .product-card__img--back {
    transform: scale(1);
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
    filter: brightness(1) contrast(1);
  }

  .pgrid-card--system:hover .product-card__img--front,
  .pgrid-card--system:has(:focus-visible) .product-card__img--front {
    opacity: 0;
    transition: opacity 0ms 500ms;
  }

  .pgrid-card--system:hover .pgrid-card__frame,
  .pgrid-card--system:has(:focus-visible) .pgrid-card__frame {
    background-color: var(--surface-abyss);
    transition: background-color 0ms 500ms;
  }
}

@media (prefers-reduced-motion: reduce) and (hover: hover) and (pointer: fine) {
  .product-card__img--back {
    transform: none;
    clip-path: none;
    filter: none;
    opacity: 0;
  }

  .product-card:hover .product-card__img--back,
  .product-card:has(:focus-visible) .product-card__img--back {
    opacity: 1;
  }

  .pgrid-card--system:hover .product-card__img--front,
  .pgrid-card--system:has(:focus-visible) .product-card__img--front {
    opacity: 1;
  }
}

@media screen and (max-width: 767.98px) {
  
  .product-card__img--front:not(.product-card__img--photo) {
    padding: 1.1em 0.75em;
  }
}

:is(.body--products-range, .product-grid-section) .pgrid-card__link:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
  border-radius: 2px;
}

@media screen and (min-width: 768px) {
  :is(.body--products-range, .product-grid-section) .pgrid-cartridges,
  .product-stage-cross-sell .pgrid-cartridges {
    column-gap: clamp(1.25rem, 2.25vw, 2.25rem);
  }
}

:is(.body--products-range, .product-grid-section) .pgrid-card--system .pgrid-card__name {
  font-size: clamp(2rem, 3vw, 2.75rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.045em;
  color: var(--ink);
}

@media screen and (max-width: 1024.98px) {
  :is(.body--products-range, .product-grid-section) .pgrid-card--system .pgrid-card__name {
    font-size: clamp(2rem, 4.5vw, 2.75rem);
  }
}

:is(.body--products-range, .product-grid-section) .pgrid-card--system .pgrid-card__line {
  max-width: 30ch;
  margin-top: 0.9rem;
  color: var(--ink-muted);
  font-size: clamp(0.95rem, 1.1vw, 1.05rem);
  line-height: 1.55;
  text-wrap: pretty;
}

@media screen and (max-width: 1024.98px) {
  :is(.body--products-range, .product-grid-section) .pgrid-card--system .pgrid-card__line {
    font-size: max(clamp(0.95rem, 1.1vw, 1.05rem), 13px);
  }
}

:is(.body--products-range, .product-grid-section) .pgrid-card--cartridge .pgrid-card__name,
.product-stage-cross-sell .pgrid-card--cartridge .pgrid-card__name,
.product-detail--cartridge .cartridge-cross-sell .pgrid-card--system .pgrid-card__name {
  font-size: max(15px, 1.1rem);
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -0.005em;
}

:is(.body--products-range, .product-grid-section) .pgrid-card--cartridge .pgrid-card__name {
  color: var(--ink);
}

.home-proof {
  background-color: var(--surface-abyss);
  
  background-image: linear-gradient(180deg, var(--surface-abyss) 0%, rgba(7, 43, 58, 0) 11em), url("images/home/proof-steel-1600.webp?v=2");
  background-image: linear-gradient(180deg, var(--surface-abyss) 0%, rgba(7, 43, 58, 0) 11em), image-set(url("images/home/proof-steel-1600.webp?v=2") 1x, url("images/home/proof-steel-2560.webp?v=1") 2x);
  background-size: auto, cover;
  background-position: center;
  color: var(--surface-frost);
  
  padding: 7em max(var(--gutter-right), calc((100% - 76rem) / 2)) 7.5em max(var(--gutter-left), calc((100% - 76rem) / 2));
  position: relative;
  z-index: var(--z-base);
}

.home-proof__head {
  max-width: 1100px;
}

.home-proof__eyebrow {
  display: block;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  opacity: 0.9;
  margin-bottom: 1.2em;
}

.home-proof__title {
  font-size: 2.75em;
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -0.01em;
  color: var(--color-white);
  margin: 0;
}

.home-proof__title-serif {
  font-family: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif;
  font-style: italic;
}

.home-proof__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 3.25em 0 0;
  border-top: 1px solid rgba(228, 244, 248, 0.18);
  border-bottom: 1px solid rgba(228, 244, 248, 0.18);
}

.home-proof__stat {
  padding: 2em 1.75em 2.1em;
  border-left: 1px solid rgba(228, 244, 248, 0.18);
  min-width: 0;
}

.home-proof__stat:first-child {
  border-left: 0;
  padding-left: 0;
}

.home-proof__stat-value {
  font-size: clamp(2.2em, 3.4em, 3.8em);
  font-weight: 500;
  line-height: 1;
  color: var(--color-white);
  font-variant-numeric: tabular-nums;
  margin: 0;
}

.home-proof__stat-label {
  display: block;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.9;
  margin-bottom: 0.9em;
}

.home-proof__stat-unit {
  
  font-size: max(0.3em, 14px);
  font-weight: 500;
  letter-spacing: 0.01em;
  margin-left: 0.4em;
}

.home-proof__stat-line {
  font-size: 14px;
  line-height: 1.6;
  opacity: 0.88;
  max-width: 30ch;
  margin: 1.1em 0 0;
  text-wrap: pretty;
}

@media screen and (max-width: 1024.98px) {
  .home-proof {
    padding: 5.5em var(--gutter-right) 6em var(--gutter-left);
  }

  .home-proof__title {
    font-size: 2.35em;
  }

  .home-proof__stat {
    padding: 1.75em 1.25em 1.9em;
  }
}

@media screen and (max-width: 767.98px) {
  .home-proof {
    padding: 4em var(--gutter-right) 4.5em var(--gutter-left);
  }

  .home-proof__title {
    font-size: 1.95em;
  }

  .home-proof__stats {
    grid-template-columns: minmax(0, 1fr);
  }

  .home-proof__stat {
    border-left: 0;
    padding: 1.6em 0 1.7em;
  }

  .home-proof__stat + .home-proof__stat {
    border-top: 1px solid rgba(228, 244, 248, 0.18);
  }

  .home-proof__stat-value {
    font-size: 2.6em;
  }

  .home-proof__stat-line {
    max-width: 40ch;
  }
}

@media screen and (max-width: 767.98px) {
  .bold-nav-full__bar {
    height: calc(1.25em + 2.5em + 1.25em);
  }

  .bold-nav-full__hamburger {
    top: calc(2.5rem - 1.25em);
    left: 1.25em;
  }

  .bold-nav-full__logo-wrap {
    top: 1.25em;
  }

  .bold-nav-full__contact-wrap {
    right: 3.75em;
    top: 1.25em;
  }

  .bold-nav-full__selection-wrap {
    right: 1.25em;
    top: 1.25em;
  }

  .bold-nav-full__droplet {
    right: 1.25em;
    top: 1.25em;
  }

  [data-nav-collapsed="true"] .bold-nav-full__logo {
    transform: translateY(-3.75rem);
  }

  [data-nav-collapsed="true"] .bold-nav-full__contact-button {
    transform: translateY(-3.75rem);
  }

  [data-nav-collapsed="true"] .bold-nav-full__selection-button {
    transform: translateY(-3.75rem);
  }
}

@media screen and (max-width: 480.98px) {
  .bold-nav-full__bar {
    height: calc(1em + 2.5em + 1em);
  }

  .bold-nav-full__hamburger {
    top: calc(2.25rem - 1.25em);
    left: 1em;
  }

  .bold-nav-full__logo-wrap {
    top: 1em;
  }

  .bold-nav-full__contact-wrap {
    right: 3.25em;
    top: 1em;
  }

  .bold-nav-full__selection-wrap {
    right: 1em;
    top: 1em;
  }

  .bold-nav-full__droplet {
    right: 1em;
    top: 1em;
  }

  [data-nav-collapsed="true"] .bold-nav-full__logo {
    transform: translateY(-3.5rem);
  }

  [data-nav-collapsed="true"] .bold-nav-full__contact-button {
    transform: translateY(-3.5rem);
  }

  [data-nav-collapsed="true"] .bold-nav-full__selection-button {
    transform: translateY(-3.5rem);
  }

  .bold-nav-full__link {
    font-size: 3em;
  }

  .bold-nav-full__link {
    min-height: 44px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
  }
}

@media screen and (max-height: 500px) and (min-width: 481px) and (max-width: 767.98px) {
  .bold-nav-full__link {
    font-size: min(4em, 12svh);
  }

  .bold-nav-full__tile {
    justify-content: flex-start;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .bold-nav-full__ul {
    margin: auto 0;
  }
}

@media (hover: hover) and (pointer: fine) {
  .bold-nav-full__bar,
  .bold-nav-full__hamburger {
    font-size: min(1em, 2.7vw);
  }

  .bold-nav-full__hamburger {
    top: 1.5em;
  }
}

@media (hover: hover) and (pointer: fine) and (max-width: 767.98px) {
  .bold-nav-full__hamburger {
    top: 1.25em;
  }
}

@media (hover: hover) and (pointer: fine) and (max-width: 480.98px) {
  .bold-nav-full__hamburger {
    top: 1em;
  }
}

.webgl-fallback {
  background-image: url('images/webgl-fallback.webp');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  animation: fadeInFallback 0.8s ease-in-out;
}

.webgl-fallback::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.4);
  pointer-events: none;
  z-index: var(--z-local-1);
}

@keyframes fadeInFallback {
  from { opacity: 0; }
  to { opacity: 1; }
}

html.scrollbar-hidden {
  scrollbar-width: none;
}
html.scrollbar-hidden::-webkit-scrollbar {
  display: none;
}

.site-footer {
  --nav-height: 5em;
  width: 100%;
  min-height: 100vh;
  min-height: 100svh;
  background-color: var(--color-bg);
  color: var(--color-text);
  display: grid;
  grid-template-rows: var(--nav-height) 4em auto minmax(4em, 1fr) auto minmax(4em, 1fr) auto minmax(2em, 1fr);
  
  grid-template-columns: minmax(0, 1fr);
  padding: 0 var(--gutter-right) calc(2em + env(safe-area-inset-bottom, 0px)) var(--gutter-left);
  position: relative;
}

.site-footer__header-spacer {
  grid-row: 1;
}

.site-footer__columns {
  grid-row: 5;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1.5fr;
  gap: 3em;
  align-content: start;
}

.site-footer__lower {
  display: contents;
}

.site-footer__col-heading {
  font-size: max(var(--text-xs), 11px);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 1.75em;
  color: var(--color-text);
}

.site-footer__col-toggle {
  all: unset;
  display: inline;
  font: inherit;
  color: inherit;
  text-transform: inherit;
  letter-spacing: inherit;
  cursor: inherit;
}

.site-footer__accordion-icon {
  display: none;
}

.site-footer__address {
  font-style: normal;
  font-size: max(var(--text-body), 13px);
  color: var(--color-text);
  display: flex;
  flex-direction: column;
  gap: 0.75em;
}

.site-footer__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75em;
}

.site-footer__link {
  font-size: max(var(--text-body), 13px);
  color: var(--color-text);
  text-decoration: none;
}

.site-footer__address .site-footer__link {
  width: fit-content;
}

.site-footer__link {
  position: relative;
}

.site-footer__col .site-footer__link::after,
.site-footer__bottom-left .site-footer__link::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: -0.375em;
  bottom: -0.375em;
}

.site-footer__bottom-left .site-footer__link::after {
  top: 50%;
  bottom: auto;
  height: max(100%, 44px);
  transform: translateY(-50%);
}

.site-footer__contact-icon {
  width: 1em;
  height: 1em;
  flex-shrink: 0;
  vertical-align: -0.125em;
  margin-right: 0.5em;
  display: inline-block;
}

.site-footer__newsletter-text {
  font-size: max(var(--text-body), 13px);
  color: var(--color-text);
  margin-bottom: 1.5em;
}

.site-footer__form {
  display: flex;
  flex-direction: column;
  gap: 0.75em;
}

.site-footer__form-row {
  display: flex;
  gap: 0.75em;
}

.site-footer__input {
  flex: 1;
  padding: 0.875em 0;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--rule);
  border-radius: 0;
  font-size: max(var(--text-small), 16px);
  color: var(--color-text);
  min-height: 44px;
  transition: border-color 0.3s ease;
}

.site-footer__input::placeholder {
  color: var(--ink-muted);
}

.site-footer__input:focus {
  border-bottom-color: var(--accent);
}

.site-footer__input.is-invalid,
.site-footer__input[aria-invalid="true"] {
  border-bottom-color: var(--color-error);
}

.site-footer__form-error {
  margin: 0;
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', sans-serif;
  font-size: max(var(--text-body), 13px);
  line-height: 1.4;
  color: var(--color-error);
}

.site-footer__submit {
  display: inline-flex;
  align-items: center;
  gap: 0.2em;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  font-size: max(var(--text-body), 14px);
  font-weight: 400;
  min-height: 44px;
  color: var(--color-text);
  cursor: pointer;
  align-self: flex-start;
}

.site-footer__submit-text {
  position: relative;
}

.site-footer__submit-arrow {
  width: 1.1em;
  height: 1.1em;
  flex-shrink: 0;
  transition: transform 0.3s ease;
}

@media (hover: hover) and (pointer: fine) {
  .site-footer__submit:hover .site-footer__submit-arrow {
    transform: translateX(0.25em);
  }
}

.site-footer__form-success {
  display: none;
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', sans-serif;
  font-size: max(var(--text-body), 13px);
  color: var(--color-text);
  margin: 0;
  padding: 0;
  opacity: 0.85;
}

.site-footer__brand-band {
  grid-row: 7;
  overflow: visible;
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.site-footer__brand-svg {
  width: 100%;
  height: auto;
  color: var(--color-text);
  display: block;
  flex-shrink: 0;
}

.brand-char {
  transform-box: fill-box;
  transform-origin: center;
}

.site-footer__bottom {
  grid-row: 8;
  align-self: center;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  width: 100%;
  font-size: max(var(--text-xs), 11px);
  color: var(--color-text);
}

.site-footer__bottom a {
  color: var(--color-text);
  text-decoration: none;
}

.site-footer__bottom-left {
  display: flex;
  align-items: center;
  gap: 1.5em;
  justify-self: start;
}

.site-footer__bottom-center {
  justify-self: center;
}

.site-footer__bottom-right {
  justify-self: end;
}

.site-footer__credit {
  color: var(--color-text);
}

@media screen and (max-width: 1024.98px) {
  .site-footer {
    --nav-height: 4.25em;
    padding: 0 var(--gutter-right) calc(2em + env(safe-area-inset-bottom, 0px)) var(--gutter-left);
  }
  .site-footer__columns {
    grid-template-columns: 1fr 1fr;
    gap: 2.5em;
  }
  .site-footer__brand-band {
    width: 100%;
  }
}

@media (hover: hover) and (pointer: fine) and (min-width: 1025px) and (max-width: 63.99em) {
  .site-footer__columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.5em;
  }

  .site-footer__input {
    min-width: 0;
  }
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) and (max-width: 47.99em) {
  .site-footer__columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .site-footer__form-row {
    flex-direction: column;
  }

  .site-footer__input {
    min-width: 0;
  }

  .site-footer__bottom {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75em 2em;
    text-align: center;
  }
}

@media screen and (max-width: 767.98px) {
  .site-footer {
    --nav-height: 4.25em;
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0 var(--gutter-right) calc(2em + env(safe-area-inset-bottom, 0px)) var(--gutter-left);
  }
  .site-footer__header-spacer {
    height: var(--nav-height);
    flex-shrink: 0;
  }
  
  .site-footer__columns {
    margin-top: auto;
    padding-top: 3em;
  }
  .site-footer__lower {
    display: block;
    margin-top: auto;
    padding-top: 3em;
  }
  .site-footer__columns {
    grid-template-columns: 1fr;
    gap: 0;
  }
  
  .site-footer__col--newsletter {
    order: -1;
    padding-bottom: 2em;
  }

  [data-footer-accordion] .site-footer__col-heading {
    margin-bottom: 0;
  }
  
  [data-footer-accordion] {
    border-bottom: 1px solid var(--rule);
  }
  [data-footer-accordion]:first-of-type {
    border-top: 1px solid var(--rule);
  }
  .site-footer__col-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 1.25em 0;
    min-height: 44px;
  }

  [data-footer-accordion-ready] button.site-footer__col-toggle {
    cursor: pointer;
  }

  [data-footer-accordion-ready] .site-footer__accordion-icon {
    display: inline-block;
    position: relative;
    width: max(0.75em, 12px);
    height: max(0.75em, 12px);
    flex-shrink: 0;
  }
  .site-footer__accordion-icon::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 100%;
    height: 1.5px;
    background-color: currentColor;
  }
  .site-footer__accordion-icon::after {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 1.5px;
    height: 100%;
    background-color: currentColor;
    transition: transform 0.35s cubic-bezier(0.65, 0, 0.35, 1);
  }
  
  .site-footer__col-toggle[aria-expanded="true"] .site-footer__accordion-icon::after {
    transform: translateX(-50%) rotate(90deg);
  }

  [data-footer-accordion-ready] [data-footer-accordion] .site-footer__col-panel {
    overflow: hidden;
    max-height: 0;
    padding-bottom: 0;
    visibility: hidden;
    transition: max-height 0.4s cubic-bezier(0.65, 0, 0.35, 1),
                padding-bottom 0.4s cubic-bezier(0.65, 0, 0.35, 1),
                margin-top 0.4s cubic-bezier(0.65, 0, 0.35, 1),
                visibility 0s linear 0.4s;
  }
  
  [data-footer-accordion-ready] [data-footer-accordion] .site-footer__col-panel.is--open {
    max-height: 300px;
    margin-top: -14px;
    padding-bottom: 15px;
    visibility: visible;
    transition: max-height 0.4s cubic-bezier(0.65, 0, 0.35, 1),
                padding-bottom 0.4s cubic-bezier(0.65, 0, 0.35, 1),
                margin-top 0.4s cubic-bezier(0.65, 0, 0.35, 1),
                visibility 0s linear 0s;
  }
  
  .site-footer:not([data-footer-accordion-ready]) [data-footer-accordion] .site-footer__col-panel {
    margin-top: -14px;
    padding-bottom: 15px;
  }

  .site-footer__col .site-footer__link {
    line-height: 44px;
  }
  .site-footer__list,
  .site-footer__address {
    gap: 0;
  }
  
  .site-footer__col .site-footer__address .site-footer__link {
    line-height: normal;
    margin-block: 14px;
    margin-block: calc((44px - 1lh) / 2);
  }
  .site-footer__address p {
    margin-block: 14px;
  }
  .site-footer__col .site-footer__link::after {
    top: 50%;
    bottom: auto;
    height: 44px;
    transform: translateY(-50%);
    
    right: auto;
    width: max(100%, 44px);
  }

  .site-footer__brand-band {
    width: 100%;
  }
  .site-footer__bottom {
    grid-template-columns: 1fr;
    gap: 1em;
    text-align: center;
    margin-top: 2em;
    align-self: auto;
  }
  .site-footer__bottom-left {
    justify-self: center;
  }
  .site-footer__bottom-center {
    justify-self: center;
  }
  .site-footer__bottom-right {
    justify-self: center;
  }
  .site-footer__form-row {
    flex-direction: column;
  }
}

@media screen and (max-width: 480.98px) {
  .site-footer {
    padding: 0 var(--gutter-right) calc(1.5em + env(safe-area-inset-bottom, 0px)) var(--gutter-left);
  }
  .site-footer__brand-band {
    width: 100%;
  }
}

.site-footer[data-footer-fit] {
  --footer-fit-lead: 6em;
  --footer-fit-rhythm: 9.25em;
  min-height: 0;
  grid-template-rows: var(--footer-fit-lead) 0 auto 0 auto var(--footer-fit-rhythm) auto var(--footer-fit-rhythm);
}

@media screen and (max-width: 1024.98px) {
  .site-footer[data-footer-fit] {
    --footer-fit-rhythm: clamp(4.75em, 8svh, 9.25em);
  }
}

@media screen and (max-width: 767.98px) {
  
  .site-footer[data-footer-fit] {
    --footer-fit-lead: 3em;
  }

  .site-footer[data-footer-fit] .site-footer__header-spacer {
    height: var(--footer-fit-lead);
  }

  .site-footer[data-footer-fit] .site-footer__lower {
    margin-top: 6.75em;
  }
}

@media (hover: hover) and (pointer: fine) and (min-width: 64em) and (max-height: 46.5em),
       (hover: hover) and (pointer: fine) and (min-width: 1025px) and (max-width: 63.99em) and (max-height: 59em),
       (hover: hover) and (pointer: fine) and (min-width: 768px) and (max-width: 1024.98px) and (max-height: 50.5em),
       (min-width: 1025px) and (max-height: 1000px) and (min-aspect-ratio: 2/1) {
  .site-footer[data-footer-fit] {
    min-height: 100vh;
    min-height: 100svh;
    grid-template-rows: var(--nav-height) 4em auto minmax(4em, 1fr) auto minmax(4em, 1fr) auto minmax(2em, 1fr);
  }
}

.contact-hero {
  width: 100%;
  min-height: 100vh;
  background-color: var(--color-bg);
  display: flex;
  align-items: stretch;
}

.contact-hero__inner {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 100vh;
}

.contact-hero__info {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 9.5em 4em 4em var(--gutter-left);
}

.contact-hero__heading {
  font-size: 5em;
  font-weight: 300;
  color: var(--color-text);
  
  margin: 0 0 0.32em;
}

.contact-hero__heading-serif {
  font-family: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif;
  font-style: italic;
}

.contact-hero__pov {
  font-size: max(1.35em, 16px);
  font-weight: 400;
  line-height: 1.45;
  color: var(--color-text);
  max-width: 24em;
  margin: 0 0 2.6em;
  
  text-wrap: pretty;
}

.contact-hero__human {
  font-size: max(var(--text-small), 13px);
  font-weight: 600;
  color: var(--color-text);
  margin: 2.5em 0 0;
}

.contact-hero__details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5em 3em;
}

.contact-hero__block {
  display: flex;
  flex-direction: column;
  gap: 0.5em;
}

.contact-hero__label {
  font-size: max(var(--text-body), 14px);
  font-weight: 600;
  color: var(--color-text);
  margin: 0;
}

.contact-hero__text {
  font-size: max(var(--text-body), 14px);
  font-weight: 400;
  color: var(--color-text);
  margin: 0;
}

.contact-hero__address {
  font-style: normal;
}

.contact-hero__state {
  display: block;
  margin-top: 0.4em;
  font-size: max(var(--text-xs), 12px);
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--ink-muted);
}

.contact-hero__state[hidden] {
  display: none;
}

.contact-hero__link {
  color: var(--color-text);
  text-decoration: none;
}

.contact-hero__directions-link {
  color: var(--color-text);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
}

.contact-hero__link--icon,
.contact-hero__directions-link {
  padding-block: 0.45em;
  margin-block: -0.45em;
}

.contact-hero__link--icon,
.contact-hero__directions-link {
  position: relative;
}

.contact-hero__link--icon::after,
.contact-hero__directions-link::after {
  content: "";
  position: absolute;
  top: calc(50% - 22px);
  bottom: calc(50% - 22px);
  left: 0;
  right: 0;
}

.contact-hero__link--icon span,
.contact-hero__text--nowrap {
  white-space: nowrap;
}

.contact-hero__exit-icon {
  width: 1.1em;
  height: 1.1em;
  flex-shrink: 0;
}

.contact-hero__contact-icon {
  width: 1em;
  height: 1em;
  flex-shrink: 0;
}

.contact-hero__link--icon {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  color: var(--color-text);
  text-decoration: none;
}

.contact-eyebrow {
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
  font-size: max(0.6875em, 11px);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--ink-muted);
  margin: 0 0 1.9em;
}

.contact-hero__anchor-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  margin-top: 2.5em;
  font-size: max(var(--text-body), 14px);
  font-weight: 400;
  color: var(--color-text);
  text-decoration: none;
  letter-spacing: 0.02em;
  
  min-height: 44px;
  padding: 0.5em 0;
  width: fit-content;
}

.contact-hero__human + .contact-hero__anchor-link {
  margin-top: 1.2em;
}

.contact-hero__anchor-arrow {
  width: 1.1em;
  height: 1.1em;
  flex-shrink: 0;
  transition: transform 0.3s ease;
}

@media (hover: hover) and (pointer: fine) {
  .contact-hero__anchor-link:hover .contact-hero__anchor-arrow {
    transform: translateY(0.2em);
  }
}

.contact-hero__map {
  position: relative;
  min-height: 100vh;
}

#contact-map {
  position: absolute;
  top: 9.5em;
  left: 0;
  width: calc(100% - var(--gutter-right));
  height: calc(100vh - 13.5em);
  border: var(--border-thin) solid var(--rule);
  border-radius: var(--radius-card);
  overflow: hidden;
}

.contact-map__fallback {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75em;
  height: 100%;
  padding: 2em;
  background-color: var(--surface-mist);
  color: var(--color-text);
  font-size: max(var(--text-body), 14px);
  text-align: center;
}

.contact-map__fallback-address {
  margin: 0;
  color: var(--ink-muted);
}

#contact-map .contact-map__fallback a.contact-map__fallback-link {
  display: inline-flex !important;
  align-items: center;
  gap: 0.5em;
  min-height: 44px;
  color: var(--color-text);
  transform: none !important;
}

#contact-map .contact-map__fallback a.contact-map__fallback-link::after {
  content: none !important;
}

#contact-map .gm-style-cc {
  transform: translateY(-10px) !important;
}
#contact-map a[href*="google.com/maps"] {
  transform: translateY(-10px) !important;
  display: inline-block !important;
}

#contact-map .gm-bundled-control {
  transform: translateY(-10px) !important;
}

#contact-map .gmnoprint div > div {
  border-radius: var(--radius-card) !important;
  overflow: hidden !important;
}

#contact-map a,
#contact-map button:not([aria-label="Zoom in"]):not([aria-label="Zoom out"]) {
  position: relative !important;
  text-decoration: none !important;
  overflow: visible !important;
}

#contact-map a *,
#contact-map button:not([aria-label="Zoom in"]):not([aria-label="Zoom out"]) * {
  overflow: visible !important;
}

#contact-map a::after,
#contact-map button:not([aria-label="Zoom in"]):not([aria-label="Zoom out"])::after {
  content: "" !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: var(--border-thin) !important;
  background-color: currentColor !important;
  transition: var(--transition-underline) !important;
  transform-origin: right !important;
  transform: var(--transform-reset) !important;
  pointer-events: none !important;
  z-index: var(--z-local-1) !important;
}

@media (hover: hover) and (pointer: fine) {
  #contact-map a:hover::after,
  #contact-map button:not([aria-label="Zoom in"]):not([aria-label="Zoom out"]):hover::after {
    transform-origin: left !important;
    transform: scaleX(1) rotate(0.001deg) !important;
  }
}

@media screen and (max-width: 1024.98px) {
  .contact-hero__info {
    padding: 9.5em 3em 4em var(--gutter-left);
  }

  .contact-hero__details {
    gap: 2em 2.5em;
  }
}

@media screen and (hover: hover) and (pointer: fine) and (min-width: 1024px) and (max-width: 1079.98px) {
  .contact-hero__details {
    margin-right: -1.25em;
  }
}

@media screen and (min-width: 768px) and (max-width: 1023.98px) {
  .contact-hero__inner {
    grid-template-columns: 1fr;
  }

  .contact-hero__info {
    padding: 9.5em var(--gutter-right) 3.5em var(--gutter-left);
    min-height: auto;
  }

  .contact-hero__map {
    min-height: 52vh;
    position: relative;
  }

  #contact-map {
    top: 0;
    left: var(--gutter-left);
    width: calc(100% - var(--gutter-left) - var(--gutter-right));
    height: 100%;
  }

  .contact-hero__details {
    grid-template-columns: 1fr 1fr;
    gap: 2em 3em;
  }
}

@media screen and (max-width: 767.98px) {
  .contact-hero__inner {
    grid-template-columns: 1fr;
  }

  .contact-hero__info {
    padding: 8em var(--gutter-right) 3em var(--gutter-left);
    min-height: auto;
  }

  .contact-hero__map {
    min-height: 50vh;
    position: relative;
  }

  #contact-map {
    top: 0;
    left: var(--gutter-left);
    width: calc(100% - var(--gutter-left) - var(--gutter-right));
    height: 100%;
  }

  .contact-hero__heading {
    font-size: 3.5em;
  }

  .contact-hero__details {
    grid-template-columns: 1fr 1fr;
    gap: 1.75em 2em;
  }
}

@media screen and (max-width: 480.98px) {
  .contact-hero__info {
    padding: 7em var(--gutter-right) 2.5em var(--gutter-left);
  }

  .contact-hero__heading {
    font-size: 3em;
  }

  .contact-hero__details {
    grid-template-columns: 1fr;
    gap: 1.5em;
  }

  .contact-hero__map {
    min-height: 40vh;
  }

  .contact-hero__anchor-link {
    margin-top: 2em;
  }

  .contact-hero__pov {
    font-size: max(1.15em, 16px);
    margin-bottom: 2em;
  }
}

.contact-visit {
  width: 100%;
  background-color: var(--color-bg);
  padding: 4em var(--gutter-right) 4em var(--gutter-left);
}

.contact-visit__inner {
  max-width: 46em;
}

.contact-visit__title {
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
  font-size: 3.2em;
  font-weight: 400;
  line-height: 1.12;
  color: var(--color-text);
  max-width: 14em;
  margin: 0 0 0.5em;
}

.contact-visit__copy {
  font-size: max(1.15em, 15px);
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-text);
  max-width: 30em;
  margin: 0;
  
  text-wrap: pretty;
}

.contact-nowrap {
  white-space: nowrap;
}

.contact-visit__drive {
  font-size: max(var(--text-small), 14px);
  font-weight: 400;
  line-height: 1.5;
  color: var(--ink-muted);
  max-width: 30em;
  margin: 1.1em 0 0;
}

.contact-visit__facts {
  display: grid;
  gap: 0;
  max-width: calc(30 * max(1.15em, 15px));
  margin: 2.2em 0 0;
  border-top: var(--border-thin) solid var(--rule);
}

.contact-visit__fact {
  display: grid;
  grid-template-columns: minmax(112px, 0.62fr) minmax(0, 1.38fr);
  gap: 1.25em;
  padding-block: 0.95em;
  border-bottom: var(--border-thin) solid var(--rule);
}

.contact-visit__fact dt,
.contact-visit__fact dd {
  margin: 0;
  font-size: max(var(--text-small), 14px);
  line-height: 1.5;
}

.contact-visit__fact dt {
  color: var(--ink-muted);
}

.contact-visit__fact dd {
  color: var(--color-text);
}

@media screen and (min-width: 1024px) {
  .contact-visit__inner {
    max-width: none;
    display: grid;
    grid-template-columns: calc(50% + (var(--gutter-right) - var(--gutter-left)) / 2) minmax(0, 1fr);
    align-items: end;
  }

  .contact-visit__lead {
    padding-right: 4em;
  }

  .contact-visit__facts {
    max-width: none;
    margin: 0;
  }
}

@media screen and (max-width: 767.98px) {
  .contact-visit {
    padding: 4.5em var(--gutter-right) 4.5em var(--gutter-left);
  }

  .contact-visit__fact {
    gap: 1em;
  }

  .contact-visit__title {
    font-size: 2.5em;
  }

  .contact-visit__copy {
    font-size: max(1.05em, 15px);
  }
}

@media screen and (max-width: 480.98px) {
  .contact-visit {
    padding: 4em var(--gutter-right) 4em var(--gutter-left);
  }

  .contact-visit__title {
    font-size: 2.2em;
  }
}

#contact-form,
#faqs {
  scroll-margin-top: 6em;
}

.contact-form-section {
  width: 100%;
  background-color: var(--color-bg);
  padding: 4em var(--gutter-right) 4em var(--gutter-left);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
}

.contact-form-section__head {
  width: 100%;
  max-width: 36em;
  text-align: center;
}

.contact-form-section__head .contact-eyebrow {
  margin-bottom: 1.27em;
}

.contact-form-section__title {
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
  font-size: 3.2em;
  font-weight: 400;
  line-height: 1.12;
  color: var(--color-text);
  text-align: center;
  margin: 0;
}

.contact-form {
  width: 100%;
  max-width: 36em;
  margin-top: 3em;
  display: flex;
  flex-direction: column;
  gap: 1.5em;
}

.contact-form__group {
  display: flex;
  flex-direction: column;
  gap: 0.5em;
}

.contact-form__label {
  font-size: max(var(--text-small), 13px);
  font-weight: 600;
  color: var(--color-text);
}

.contact-form__input,
.contact-form__textarea {
  width: 100%;
  padding: 1em 0;
  background-color: transparent;
  border: none;
  border-bottom: 1px solid var(--rule);
  border-radius: 0;
  font-family: inherit;
  
  font-size: max(var(--text-body), 16px);
  color: var(--color-text);
  min-height: 44px;
  
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--border-thin);
  transition: border-color 0.3s ease, background-size 0.735s cubic-bezier(0.625, 0.05, 0, 1);
}

.contact-form__input::placeholder,
.contact-form__textarea::placeholder {
  color: var(--ink-muted);
}

.contact-form__input:focus,
.contact-form__textarea:focus {
  border-bottom-color: var(--accent);
  background-size: 100% var(--border-thin);
}

.contact-form__input.contact-form__field-error:focus,
.contact-form__textarea.contact-form__field-error:focus {
  background-size: 0 var(--border-thin);
}

.contact-form__input.contact-form__field-error,
.contact-form__textarea.contact-form__field-error {
  border-bottom-color: var(--color-error);
}

.contact-form__error {
  font-size: max(var(--text-xs), 13px);
  line-height: 1.4;
  color: var(--color-error);
  margin: 0;
}

.contact-form__prefill {
  font-size: max(var(--text-xs), 15px);
  line-height: 1.4;
  color: var(--ink-muted);
  
  margin: 0 0 -0.35em;
}

.contact-form__prefill-clear {
  position: relative;
  padding: 0;
  margin: 0;
  border: none;
  background: none;
  font: inherit;
  color: var(--ink-body);
  white-space: nowrap;
  cursor: pointer;
}

.contact-form__prefill-clear::after {
  content: "";
  position: absolute;
  top: calc(50% - 22px);
  bottom: calc(50% - 22px);
  left: -0.4em;
  right: -0.4em;
}

.contact-form__prefill-clear:focus-visible [data-underline-link]::before {
  transform-origin: left;
  transform: scaleX(1) rotate(0.001deg);
}

.contact-form__fieldset {
  border: none;
  padding: 0;
  margin: 0;
  min-width: 0;
}

.contact-form__legend {
  padding: 0;
  margin-bottom: 0.5em;
}

.contact-form__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75em;
}

.contact-form__chip {
  position: relative;
}

.contact-form__chip-input {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.contact-form__chip-label {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0.7em 1.2em;
  border: 1px solid var(--rule);
  border-radius: 2em;
  font-size: max(var(--text-small), 16px);
  color: var(--color-text);
  cursor: pointer;
  transition: border-color 0.3s ease, background-color 0.3s ease, color 0.3s ease;
}

@media (hover: hover) and (pointer: fine) {
  .contact-form__chip:hover .contact-form__chip-label {
    border-color: var(--color-text);
  }
}

.contact-form__input:-webkit-autofill,
.contact-form__input:-webkit-autofill:hover,
.contact-form__input:-webkit-autofill:focus,
.contact-form__textarea:-webkit-autofill,
.contact-form__textarea:-webkit-autofill:hover,
.contact-form__textarea:-webkit-autofill:focus,
.site-footer__input:-webkit-autofill,
.site-footer__input:-webkit-autofill:hover,
.site-footer__input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px var(--color-bg) inset;
  box-shadow: 0 0 0 1000px var(--color-bg) inset;
  -webkit-text-fill-color: var(--color-text);
  caret-color: var(--color-text);
  transition: background-color 999999s step-end;
}

.contact-form__chip-input:checked + .contact-form__chip-label {
  background-color: var(--color-text);
  border-color: var(--color-text);
  color: var(--color-bg);
}

@media (forced-colors: active) {
  .contact-form__chip-input:checked + .contact-form__chip-label {
    forced-color-adjust: none;
    background-color: Highlight;
    border-color: Highlight;
    color: HighlightText;
  }
}

.contact-form__chip-input:focus-visible + .contact-form__chip-label {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.contact-form__textarea {
  resize: none;
  min-height: 0;
  overflow: hidden;
}

.contact-form__submit {
  position: relative;
  isolation: isolate;
  overflow: clip;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.8em 1.6em;
  min-height: 48px;
  background: transparent;
  border: none;
  border-radius: var(--radius-button);
  font-family: inherit;
  font-size: max(var(--text-small), 16px);
  
  font-weight: 550;
  letter-spacing: 0.005em;
  color: var(--surface-frost);
  cursor: pointer;
  margin-top: 0.5em;
  align-self: flex-start;
}

.contact-form__submit .button-046__bg {
  position: absolute;
  inset: 0;
  z-index: var(--z-base);
  border-radius: var(--radius-button);
  background-color: var(--surface-deep);
  transition: background-color 0.25s ease-out;
}

.contact-form__submit .button-046__bg-circle {
  position: absolute;
  inset: 0;
  z-index: var(--z-local-1);
  overflow: clip;
  pointer-events: none;
}

.contact-form__submit .button-046__circle {
  background-color: var(--accent);
}

.contact-form__submit .button-046__inner {
  position: relative;
  z-index: var(--z-local-2);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
}

.contact-form__submit:focus-visible .button-046__bg {
  background-color: var(--accent);
}

@media (hover: hover) and (pointer: fine) {
  .contact-form__submit:not([data-button-046-bound]):hover .button-046__bg {
    background-color: var(--accent);
  }
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: reduce) {
  .contact-form__submit:hover .button-046__bg {
    background-color: var(--accent);
  }
}

@media (hover: none), (pointer: coarse) {
  .contact-form__submit:active .button-046__bg {
    background-color: var(--accent);
  }
}

.contact-form__submit-text {
  position: relative;
}

.contact-form-section .form-feedback--success .form-feedback__line {
  display: inline-block;
  position: relative;
}

.contact-form-section .form-feedback--success .form-feedback__line::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.15em;
  width: 100%;
  height: var(--border-thin);
  background-color: currentColor;
  transform-origin: left;
  transform: var(--transform-reset);
  animation: contact-success-underline 0.735s cubic-bezier(0.625, 0.05, 0, 1) forwards;
}

@keyframes contact-success-underline {
  to { transform: scaleX(1) rotate(0.001deg); }
}

.contact-form-section .form-feedback {
  width: 100%;
  
  max-width: 36rem;
}

.contact-form-section .form-feedback--error {
  background-color: transparent;
  border-color: var(--color-error);
}

.contact-form-section .form-feedback--error a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.contact-form-section .form-feedback__dismiss {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.contact-form-section .form-feedback__dismiss-icon {
  width: max(1.1rem, 18px);
  height: max(1.1rem, 18px);
  flex-shrink: 0;
}

@media screen and (max-width: 1024.98px) {
  .contact-form-section {
    padding: 4em var(--gutter-right) 4em var(--gutter-left);
  }
}

@media screen and (max-width: 767.98px) {
  .contact-form-section {
    padding: 3.5em var(--gutter-right) 3.5em var(--gutter-left);
    min-height: auto;
  }

  .contact-form,
  .contact-form-section__head {
    max-width: none;
  }

  .contact-form-section__title {
    font-size: 2.5em;
  }
}

@media screen and (max-width: 480.98px) {
  .contact-form-section {
    padding: 3em var(--gutter-right) 3em var(--gutter-left);
  }

  .contact-form-section__title {
    font-size: 2.2em;
  }

  .contact-form__chip,
  .contact-form__chip-label {
    width: 100%;
  }

  .contact-form__chip-label {
    justify-content: center;
  }
}

.faq-section {
  width: 100%;
  background-color: var(--color-bg);
  padding: 4em var(--gutter-right) 4em var(--gutter-left);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
}

.faq-section--deep {
  background-color: var(--surface-deep);
  color: var(--color-bg);
}

.faq-section--deep .contact-eyebrow,
.faq-section--deep .faq-section__title,
.faq-section--deep .faq-section__trigger {
  color: var(--color-bg);
}

.faq-section--deep .faq-section__answer {
  color: var(--color-bg);
  color: color-mix(in srgb, var(--color-bg) 82%, var(--surface-deep));
  text-wrap: pretty;
}

.faq-section--deep .faq-section__content {
  padding-inline: 4px;
  margin-inline: -4px;
}

.faq-section--deep .faq-section__answer a:focus-visible {
  outline-offset: 0;
}

@media (hover: hover) and (pointer: fine) {
  .faq-section--deep .faq-section__trigger:hover {
    color: color-mix(in srgb, var(--color-bg) 82%, var(--surface-deep));
  }
}

.faq-section--deep .faq-section__item,
.faq-section--deep .faq-section__item:first-child {
  border-color: var(--color-dark);
  border-color: color-mix(in srgb, var(--color-bg) 22%, var(--surface-deep));
}

.faq-section__head {
  width: 100%;
  max-width: 36em;
  text-align: center;
  margin-bottom: 2.5em;
}

.faq-section__head .contact-eyebrow {
  margin-bottom: 1.27em;
}

.faq-section__title {
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
  font-size: 3.2em;
  font-weight: 400;
  line-height: 1.12;
  color: var(--color-text);
  text-align: center;
  margin: 0;
  
  text-wrap: balance;
}

.faq-section__heading {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  margin: 0;
  padding: 0;
}

.faq-section__heading .faq-section__trigger {
  min-height: 44px;
}

.faq-section .faq-section__trigger {
  font-size: max(var(--text-body), 14px);
}

.faq-section .faq-section__answer {
  font-size: max(var(--text-body), 14px);
  line-height: 1.65;
}

.faq-section__list {
  width: 100%;
  max-width: 36em;
  list-style: none;
  margin: 0;
  padding: 0;
}

.faq-section__item {
  border-bottom: 1px solid var(--rule);
}

.faq-section__item:first-child {
  border-top: 1px solid var(--rule);
}

.faq-section__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 1.25em 0;
  background: none;
  border: none;
  cursor: pointer;
  font-size: var(--text-body);
  font-weight: 600;
  color: var(--color-text);
  text-align: left;
  gap: 1em;
  transition: color 0.3s ease;
}

.faq-section__question {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  margin: 0;
  padding: 0;
}

.faq-section__icon {
  flex-shrink: 0;
  width: 0.75em;
  height: 0.5em;
  transition: transform 0.4s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.faq-section__item[data-accordion-status="active"] .faq-section__icon {
  transform: rotate(180deg);
}

.faq-section__body {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.4s ease;
}

.faq-section__item[data-accordion-status="active"] .faq-section__body {
  grid-template-rows: 1fr;
}

.faq-section__content {
  overflow: hidden;
}

.faq-section__answer {
  font-size: var(--text-small);
  font-weight: 400;
  color: var(--color-text);
  margin: 0;
  padding: 0 0 1.25em 0;
}

@media screen and (max-width: 1024.98px) {
  .faq-section {
    padding: 4em var(--gutter-right) 4em var(--gutter-left);
  }
}

@media screen and (max-width: 767.98px) {
  .faq-section {
    padding: 3.5em var(--gutter-right) 3.5em var(--gutter-left);
    min-height: auto;
  }

  .faq-section__list,
  .faq-section__head {
    max-width: none;
  }

  .faq-section__title {
    font-size: 2.5em;
  }
}

@media screen and (max-width: 480.98px) {
  .faq-section {
    padding: 3em var(--gutter-right) 3em var(--gutter-left);
  }

  .faq-section__title {
    font-size: 2.2em;
  }
}

@media screen and (min-width: 768px) {
  .contact-form-section__head,
  .contact-form,
  .contact-form-section .form-feedback,
  .faq-section--deep .faq-section__head,
  .faq-section--deep .faq-section__list {
    max-width: max(36em, 560px);
  }
}

@media print {
  
  .contact-hero,
  .contact-hero__inner,
  .contact-hero__map,
  .contact-form-section,
  .faq-section--deep {
    min-height: 0;
  }

  .faq-section--deep {
    background-color: transparent;
    color: var(--color-text);
  }

  .faq-section--deep .contact-eyebrow,
  .faq-section--deep .faq-section__title,
  .faq-section--deep .faq-section__trigger,
  .faq-section--deep .faq-section__answer {
    color: var(--color-text);
  }

  .faq-section--deep .faq-section__item,
  .faq-section--deep .faq-section__item:first-child {
    border-color: var(--rule);
  }

  .faq-section--deep .faq-section__body {
    grid-template-rows: 1fr;
  }

  .faq-section--deep .faq-section__content {
    overflow: visible;
  }

  .faq-section--deep .faq-section__icon {
    display: none;
  }

  #contact-map .gmnoprint,
  #contact-map .gm-style-cc,
  #contact-map .gm-bundled-control,
  #contact-map a[href*="google.com/maps"] {
    display: none !important;
  }

  .contact-form__input,
  .contact-form__textarea {
    background-image: none;
    border-bottom: 1px solid var(--color-text);
  }

  .contact-form__submit,
  .contact-hero__anchor-link {
    display: none;
  }

  .contact-visit,
  .contact-form-section__head,
  .faq-section__head {
    break-inside: avoid;
  }
}

@media print {
  
  .bold-nav-full,
  .selection-panel,
  .selection-overlay,
  .product-detail__mobile-select,
  .site-footer__form,
  .site-footer__brand-band,
  .hero-scroll-cue,
  .motion-toggle,
  video,
  canvas {
    display: none !important;
  }

  .hero-heading,
  .hero-tagline {
    color: var(--color-text);
    text-shadow: none;
    filter: none;
  }

  .hero-badges {
    display: none;
  }

  .home-proof {
    background: none;
    color: var(--color-text);
  }

  .home-proof__title {
    color: var(--color-text);
  }

  .scrub-track,
  .scrub-sticky,
  .scrub-track .pin-spacer,
  .home-invite {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding-bottom: 0 !important;
  }

  .home-invite__media {
    display: none;
  }

  .product-detail__button--primary,
  .product-detail__button--primary .button-046__text {
    color: var(--color-text) !important;
  }

  .product-detail__button--primary {
    border: 1px solid var(--color-text) !important;
  }

  .legal-accordion .faq-section__body {
    grid-template-rows: 1fr !important;
    visibility: visible !important;
  }

  .legal-accordion .faq-section__content {
    overflow: visible;
  }

  .legal-accordion .faq-section__icon {
    display: none;
  }

  .legal-expand-toggle {
    display: none !important;
  }

  .site-footer {
    min-height: 0;
  }

  .site-footer__header-spacer {
    display: none;
  }

  .site-footer__columns,
  .site-footer__lower {
    margin-top: 0 !important;
  }

  body:not(.body--about-us) .site-footer {
    display: block;
    padding-top: 2em;
  }

  body:not(.body--about-us) .site-footer__bottom {
    margin-top: 2em;
  }

  .product-specs__item .faq-section__body,
  .product-faq__item .faq-section__body {
    grid-template-rows: 1fr !important;
    transition: none !important;
  }

  .product-specs__item .faq-section__content,
  .product-faq__item .faq-section__content {
    overflow: visible;
  }

  .product-specs__chevron,
  .product-faq__icon {
    display: none;
  }

  [data-product-card],
  [data-orient-eyebrow],
  [data-orient-title],
  [data-orient-title] *,
  [data-orient-copy],
  [data-orient-teaser],
  [data-proof-reveal],
  .home-proof__stat,
  [data-proof-fact],
  [data-invite-reveal],
  .scrub-heading,
  .scrub-line {
    opacity: 1 !important;
    transform: none !important;
  }

  .scrub-img-wrap {
    width: 2em !important;
  }

  .scrub-sticky {
    flex-direction: column;
    padding-top: 3em;
    padding-bottom: 3em;
  }

  .scrub-sticky .scrub-heading {
    position: static;
    margin-bottom: 1.5em;
  }

  body.body--home {
    background-color: transparent !important;
  }

  .hero-wrap,
  .hero-section,
  .hero-bg {
    background: none;
  }

  .hero-bg::after,
  .hero-section::after {
    display: none;
  }

  .product-grid-section[data-home-grid] {
    background-image: none;
  }

  .hero-section {
    height: auto !important;
    padding-top: 3em;
    padding-bottom: 3em;
  }

  .home-orient {
    background: none;
    color: var(--color-text);
  }

  .home-orient__panel {
    aspect-ratio: auto;
    background: none;
    border: 1px solid var(--rule);
  }

  .home-orient__media,
  .home-orient__shade {
    display: none;
  }

  .home-orient__num {
    position: static;
    display: block;
    padding: 0.1em 0.15em 0;
    font-size: 4em;
    color: var(--color-text);
    opacity: 0.3 !important;
    transform: none !important;
  }

  .home-orient__panel-copy,
  .home-orient__panel--carbon .home-orient__panel-copy,
  .home-orient__panel--clarity .home-orient__panel-copy {
    position: static;
    background: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    color: var(--color-text);
  }

  .home-orient__teaser-link {
    color: var(--color-text);
  }

  .home-proof__stat-value {
    color: var(--color-text);
  }

  .home-proof__stats,
  .home-proof__stat {
    border-color: var(--rule);
  }

  h1,
  h2,
  h3,
  h4 {
    break-inside: avoid;
    break-after: avoid;
  }

  :has(+ h2),
  :has(+ h3) {
    break-after: avoid;
  }

  .home-orient,
  .home-proof,
  .pgrid-zone--close .products-range-shell,
  .product-stage-cross-sell .products-range-shell,
  .product-grid__cluster-head,
  .pgrid-zone__head {
    break-inside: avoid;
  }

  .pgrid-cartridges {
    break-before: avoid;
    break-inside: avoid;
  }

  .legal-accordion .faq-section__body,
  .faq-section--deep .faq-section__body {
    display: block;
  }

  img,
  figure,
  .home-orient__head,
  .home-proof__head,
  .product-card,
  .pgrid-card,
  .home-orient__panel,
  .home-proof__stat,
  .pdp-watermark__stage,
  .thermo-scene__figure,
  .site-footer {
    break-inside: avoid;
  }

  .product-gallery__arrow,
  .product-gallery__zoom,
  [data-select-add] {
    display: none !important;
  }

  .product-detail__swatch-fill {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}

@media print {
  .product-specs__item::details-content,
  .product-faq__item::details-content {
    content-visibility: visible;
  }
}

.product-detail {
  background-color: var(--color-bg);
  display: flex;
  flex-direction: row;
  min-height: 100vh;
}

.product-detail__image-side {
  width: 50%;
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 8em 0 4em var(--gutter-left);
  overflow: hidden;
}

.product-detail__img {
  max-width: 100%;
  max-height: 80vh;
  object-fit: contain;
}

.product-detail__info-side {
  width: 50%;
  padding: 8em var(--gutter-right) 4em 4em;
  display: flex;
  flex-direction: column;
}

.product-detail__breadcrumb {
  margin: 0 0 1.5em;
  color: var(--color-text);
  
  font-family: 'Instrument Sans', 'Instrument Sans Fallback Breadcrumb', Arial, sans-serif;
  font-size: var(--text-small);
  line-height: 1.4;
}

.product-detail__breadcrumb-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
}

.product-detail__breadcrumb-item {
  display: flex;
  align-items: center;
}

.product-detail__breadcrumb-item + .product-detail__breadcrumb-item::before {
  content: '/';
  flex: 0 0 auto;
  width: 0.45em;
  margin: 0 0.65em;
  text-align: center;
}

.product-detail__breadcrumb-link {
  display: inline-flex;
  align-items: center;
  color: inherit;
  text-decoration: none;
  position: relative;
}

.product-detail__breadcrumb-link {
  padding-block: 15px;
  margin-block: -15px;
}

.product-detail__breadcrumb-link {
  z-index: var(--z-local-1);
}

@media screen and (max-width: 767.98px) {
  .product-detail__breadcrumb-link {
    padding-bottom: 25px;
    margin-bottom: -25px;
  }
}

.product-detail__breadcrumb-link:focus-visible {
  outline: max(2px, var(--border-thin)) solid var(--accent);
  outline-offset: calc(var(--border-thin) * 2);
}

.product-detail__breadcrumb-link:focus-visible [data-underline-link]::before {
  transform-origin: left;
  transform: scaleX(1) rotate(0.001deg);
}

.product-detail__name {
  font-size: 3.5em;
  font-weight: 600;
  color: var(--color-text);
  margin: 0 0 0.25em 0;
}

.product-detail__price {
  font-size: 1.75em;
  font-weight: 400;
  color: var(--color-text);
  margin: 0 0 calc(3rem - 0.1875rem) 0;
}

.product-detail__label {
  font-size: 1.2em;
  font-weight: 600;
  color: var(--color-text);
  margin: 0 0 1em 0;
}

.product-detail__description {
  font-size: var(--text-body);
  font-weight: 400;
  color: var(--color-text);
  margin: 0 0 0.75em 0;
}

.product-detail__finish {
  margin: calc(3rem - 0.3125rem) 0 3rem 0;
}

.product-detail__description:has(+ .product-detail__finish) {
  margin-bottom: 0;
}

.product-detail__finish .product-detail__label {
  margin: 0 0 1em 0;
}

.product-detail__colour-text {
  font-size: var(--text-body);
  font-weight: 600;
  color: var(--color-text);
  margin: 0 0 1em 0;
}

.product-detail__swatches {
  display: flex;
  gap: 0.75em;
  margin: 0;
}

.product-detail__finish-prompt:empty {
  display: none;
}

.product-detail__finish-prompt {
  min-height: 0;
  margin: 0.75em 0 0;
  color: var(--color-text);
  font-size: var(--text-small);
  line-height: 1.4;
}

.product-detail__finish.is--finish-attention {
  animation: product-finish-attention var(--duration-normal) ease-out;
}

.product-detail__finish.is--finish-attention-static {
  outline: var(--border-thin) solid var(--color-text);
  outline-offset: var(--border-thin);
}

@keyframes product-finish-attention {
  from {
    box-shadow: 0 0 0 var(--border-thin) var(--color-text);
  }
  to {
    box-shadow: 0 0 0 calc(var(--border-thin) * 6) transparent;
  }
}

.product-detail__filter-svg {
  position: absolute;
}

.product-detail__swatch {
  position: relative;
  width: 2.25em;
  height: 2.25em;
  min-width: 44px;
  min-height: 44px;
  border-radius: 50%;
  border: none;
  background: none;
  padding: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.product-detail__swatch-fill {
  display: block;
  width: 1.75em;
  height: 1.75em;
  min-width: 34px;
  min-height: 34px;
  border-radius: 50%;
  background-color: var(--swatch-fill);
  border: none;
  pointer-events: none;
  filter: url(#swatch-inner-shadow);
}

.product-detail__swatch-ring {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transform: rotate(90deg);
  pointer-events: none;
}

.product-detail__swatch-ring circle {
  fill: none;
  stroke: var(--accent);
  stroke-width: 1.5;
}

.product-gallery {
  position: relative;
  width: auto;
  height: auto;
  max-width: 100%;
  background-color: var(--commerce-bone);
  border-radius: var(--radius-card);
  overflow: hidden;
  
  isolation: isolate;
}

.product-gallery__img[src=""] {
  visibility: hidden !important;
  opacity: 0 !important;
}

.product-gallery__img {
  position: absolute;
  top: 0;
  left: 0;
  transform: none;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 80vh;
  object-fit: contain;
  border-radius: var(--radius-card);
  visibility: hidden;
  opacity: 0;
}

.product-gallery__img--active {
  position: relative;
  top: auto;
  left: auto;
  width: auto;
  height: auto;
  visibility: visible;
  opacity: 1;
}

.product-gallery__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: max(44px, 2.9rem);
  height: max(44px, 2.9rem);
  background: var(--surface-mist);
  border: none;
  cursor: pointer;
  z-index: var(--z-local-2);
  padding: 0;
  border-radius: 50%;
  box-shadow: 0 0 0 var(--border-thin) var(--rule-strong);
  color: var(--ink);
  display: flex;
  align-items: center;
  justify-content: center;
}

.product-gallery__arrow--prev {
  left: 0.75rem;
}

.product-gallery__arrow--next {
  right: 0.75rem;
}

.product-gallery__arrow-svg {
  width: 2.1rem;
  height: 2.1rem;
  color: inherit;
  transition: transform var(--duration-fast) ease;
}

.product-gallery__arrow-svg path {
  stroke-width: 1.5;
}

.product-gallery__arrow--prev .product-gallery__arrow-svg {
  transform: scaleX(-1);
}

.product-gallery__arrow:focus-visible {
  outline: max(2px, calc(var(--border-thin) * 2)) solid var(--accent);
  outline-offset: calc(var(--border-thin) * 3);
}

@media (hover: hover) and (pointer: fine) {
  .product-gallery__arrow--next:hover .product-gallery__arrow-svg {
    transform: translateX(0.25em);
  }

  .product-gallery__arrow--prev:hover .product-gallery__arrow-svg {
    transform: scaleX(-1) translateX(0.25em);
  }
}

.product-gallery__dots {
  position: absolute;
  bottom: 1.5rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: var(--z-local-2);
  display: flex;
  align-items: center;
  
  gap: max(1.5rem, 19px);
  
  --gallery-dot-gap: max(1.5rem, 19px);
}

.product-gallery__dot {
  width: max(0.5rem, 7px);
  height: max(0.5rem, 7px);
  border-radius: 50%;
  background: rgb(12 56 70 / 0.4);
  box-shadow: 0 0 0 calc(var(--border-thin) * 1.5) rgb(255 255 255 / 0.6);
  opacity: 1;
  border: none;
  padding: 0;
  cursor: pointer;
  transition: background var(--duration-fast) ease, box-shadow var(--duration-fast) ease;
  position: relative;
}

.product-gallery__dot::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% + var(--gallery-dot-gap, 1.5rem) - 2px);
  height: 44px;
}

.product-gallery__dot--active {
  background: var(--ink);
  box-shadow: 0 0 0 calc(var(--border-thin) * 2.5) rgb(255 255 255 / 0.92);
}

.product-gallery__dot:focus-visible {
  outline: max(2px, calc(var(--border-thin) * 2)) solid var(--accent);
  outline-offset: calc(var(--border-thin) * 3);
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) and (max-width: 1024.98px) {
  .product-gallery__dots {
    gap: max(2vw, 19px);
    --gallery-dot-gap: max(2vw, 19px);
  }

  .product-gallery__dot {
    width: max(0.667vw, 7px);
    height: max(0.667vw, 7px);
  }
}

.product-gallery__counter {
  font-size: max(1rem, var(--pdp-floor-body, 12px));
}

.product-detail__description + .product-detail__buttons {
  margin-top: calc(3rem - 0.75rem);
}

.product-detail__buttons {
  display: flex;
  gap: 1.5em;
  margin: 0 0 3em 0;
  flex-wrap: wrap;
}

.product-detail__button {
  background: none;
  border: none;
  padding: 0;
  font-size: var(--text-body);
  font-weight: 600;
  
  color: var(--accent);
  cursor: pointer;
  text-transform: uppercase;
}

.product-detail__button:focus-visible,
.product-detail__swatch:focus-visible {
  outline: max(2px, var(--border-thin)) solid var(--accent);
  outline-offset: calc(var(--border-thin) * 3);
}

.product-detail__specs-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--text-body);
  color: var(--color-text);
}

.product-detail__specs-table tr {
  border: none;
}

.product-detail__specs-table td {
  padding: 0.6em 0;
  vertical-align: top;
}

.product-detail__specs-table td:first-child {
  font-weight: 500;
  width: 45%;
  padding-right: 1.5em;
}

.product-detail__features-content {
  font-size: var(--text-body);
  color: var(--color-text);
}

.product-detail__features-content p {
  margin: 0 0 0.75em 0;
}

.product-detail__features-list {
  padding-left: 1.25em;
  margin: 0 0 0.75em 0;
  list-style-type: disc;
}

.product-detail__features-list li {
  margin-bottom: 0.5em;
}

.product-detail__features-list li strong {
  font-weight: 500;
}

@media screen and (max-width: 1024.98px) {
  .product-detail {
    flex-direction: column;
  }

  .product-detail__image-side {
    width: 100%;
    height: auto;
    position: static;
    overflow: visible;
    padding: 6em var(--gutter-right) 2em var(--gutter-left);
  }

  .product-detail__info-side {
    width: 100%;
    padding: 3em var(--gutter-right) 4em var(--gutter-left);
  }

  .product-gallery__arrow--prev {
    left: 0.6rem;
  }

  .product-gallery__arrow--next {
    right: 0.6rem;
  }

  .product-gallery__arrow-svg {
    width: 1.85rem;
    height: 1.85rem;
  }

  .product-gallery__arrow {
    width: max(44px, 2.6rem);
    height: max(44px, 2.6rem);
  }

  .product-gallery__dots {
    bottom: 1em;
  }
}

@media screen and (max-width: 767.98px) {
  .product-detail__info-side {
    padding: 3em var(--gutter-right) 3.5em var(--gutter-left);
  }
}

@media screen and (max-width: 480.98px) {
  .product-detail__info-side {
    padding: 2.5em var(--gutter-right) 3em var(--gutter-left);
  }

  .product-detail__name {
    font-size: 1.75em;
  }

  .product-detail__specs-table td:first-child {
    width: 40%;
    padding-right: 0.75em;
  }

  .product-detail__specs-table {
    font-size: var(--text-small);
  }

  .product-gallery__arrow--prev {
    left: 0.5rem;
  }

  .product-gallery__arrow--next {
    right: 0.5rem;
  }

  .product-gallery__arrow-svg {
    width: 24px;
    height: 24px;
  }

  .product-gallery__arrow {
    width: 44px;
    height: 44px;
  }
}

.product-detail--flagship {
  
  --p1-bone: var(--surface-frost);
  --p1-bone-deep: var(--surface-glacier);
  
  --p1-room: var(--surface-glacier);
  
  --pdp-panel-top: clamp(5.75rem, 7.4vw, 7rem);
  --pdp-panel-bottom: clamp(2rem, 3vw, 3rem);
  
  --pdp-rail-measure: min(29rem, 32.25vw);
  --pdp-rail-pad: clamp(1.5rem, 3vw, 3.25rem);
  --pdp-inner-gutter: var(--gutter-left);
  --p1-ink: var(--commerce-ink);
  --p1-slate: var(--ink);
  --p1-line: rgb(12 56 70 / 0.2);
  --range-line: var(--p1-line);
  display: block;
  min-height: 100dvh;
  background: var(--p1-bone);
  color: var(--p1-ink);
}

.product-detail--flagship .product-detail__hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) calc(var(--pdp-rail-measure) + var(--pdp-rail-pad) + var(--gutter-right));
  grid-template-rows: auto minmax(0, 1fr);
  align-items: start;
  min-height: 100dvh;
  background: var(--p1-bone);
}

.product-detail--flagship .product-detail__hero-grid > .product-detail__breadcrumb {
  grid-column: 2;
  grid-row: 1;
}

.product-detail--flagship .product-detail__image-side {
  position: relative;
  top: auto;
  grid-column: 1;
  grid-row: 1 / -1;
  width: auto;
  height: 100dvh;
  max-height: 100dvh;
  min-height: 0;
  align-self: start;
  
  display: grid;
  
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  
  padding: var(--pdp-panel-top) max(0px, calc(var(--pdp-inner-gutter) - var(--pdp-rail-pad))) 0 var(--gutter-left);
  overflow: hidden;
  background-color: transparent;
}

@media screen and (min-width: 1025px) {
  .product-detail--flagship .product-detail__image-side {
    position: sticky;
    top: 0;
  }
}

.product-detail--flagship .product-detail__title-block {
  min-width: 0;
  margin: 0;
  padding: 0;
}

.product-detail__standfirst {
  
  margin: 0.9rem 0 0;
  color: var(--ink-body);
  font-size: max(0.98rem, 15px);
  line-height: 1.6;
  text-wrap: pretty;
}

.product-detail__standfirst--cartridge {
  margin: 0.75rem 0 0;
  font-size: max(0.95rem, 14px);
}

.product-detail--flagship .product-gallery[data-flagship-gallery],
.product-detail--cartridge .product-gallery[data-flagship-gallery],
.product-detail--thermo .product-gallery[data-flagship-gallery] {
  
  --pdp-panel-h: calc(100dvh - var(--pdp-panel-top) - var(--pdp-panel-bottom));
  position: relative;
  display: block;
  justify-self: start;
  align-self: start;
  width: min(100%, calc(var(--pdp-panel-h) * 4 / 5));
  height: auto;
  max-width: none;
  max-height: var(--pdp-panel-h);
  aspect-ratio: 3 / 4;
  margin: 0;
  background: var(--p1-room);
  border-radius: var(--radius-card);
  overflow: hidden;
  
  isolation: isolate;
}

.product-detail--flagship .product-gallery[data-flagship-gallery] .product-gallery__viewer,
.product-detail--cartridge .product-gallery[data-flagship-gallery] .product-gallery__viewer,
.product-detail--thermo .product-gallery[data-flagship-gallery] .product-gallery__viewer {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  aspect-ratio: auto;
  overflow: hidden;
  background: transparent;
  border-radius: 0;
  isolation: isolate;
}

.product-detail--flagship .product-gallery[data-flagship-gallery] .product-gallery__img,
.product-detail--cartridge .product-gallery[data-flagship-gallery] .product-gallery__img,
.product-detail--thermo .product-gallery[data-flagship-gallery] .product-gallery__img {
  object-fit: cover;
  object-position: var(--p1-frame-pos, 50% 50%);
  scale: var(--p1-frame-scale, 1);
  transform-origin: center;
}

.product-gallery[data-flagship-gallery] .product-gallery__rail {
  display: contents;
}

.product-gallery[data-flagship-gallery] .product-gallery__pagination {
  max-width: calc(100% - 2rem);
  flex-wrap: wrap;
  justify-content: center;
  
  gap: max(0.875rem, 18px);
  row-gap: 0.5em;
  
  --gallery-dot-gap: max(0.875rem, 18px);
}

@media screen and (max-width: 1024.98px) {
  .product-gallery[data-flagship-gallery] .product-gallery__pagination {
    
    left: 1rem;
    right: 1rem;
    max-width: none;
    transform: none;
    gap: max(0.875rem, 19px);
    row-gap: 0.5em;
    --gallery-dot-gap: max(0.875rem, 19px);
  }
}

@media screen and (max-width: 767.98px) {
  .product-gallery[data-flagship-gallery] .product-gallery__pagination:has(> :nth-child(9)) {
    right: calc(0.5rem + 44px + 0.5rem);
  }
}

.product-gallery[data-flagship-gallery] .product-gallery__counter {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.product-gallery[data-flagship-gallery] .product-gallery__zoom {
  position: absolute;
  top: auto;
  right: 0.75rem;
  bottom: 0.75rem;
  left: auto;
  z-index: var(--z-local-2);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: max(44px, 2.4rem);
  height: max(44px, 2.4rem);
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  
  background: var(--surface-mist);
  box-shadow: 0 0 0 var(--border-thin) var(--rule-strong);
  color: var(--ink);
  font: inherit;
  text-decoration: none;
  cursor: pointer;
}

.product-gallery__zoom-svg {
  width: 1.35rem;
  height: 1.35rem;
  display: block;
}

.product-gallery[data-flagship-gallery] .product-gallery__zoom[hidden] {
  display: none;
}

@media (scripting: none) {
  .product-gallery[data-flagship-gallery] :is(.product-gallery__zoom, .product-gallery__arrow) {
    display: none;
  }
}

.product-gallery[data-flagship-gallery] .product-gallery__zoom:focus-visible {
  outline: max(2px, calc(var(--border-thin) * 2)) solid var(--accent);
  outline-offset: calc(var(--border-thin) * 3);
}

.product-gallery[data-flagship-gallery] .product-gallery__img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  border-radius: 0;
  visibility: hidden;
  opacity: 0;
  transform: scale(1);
  transform-origin: center;
}

.product-gallery[data-flagship-gallery] .product-gallery__img--active {
  visibility: visible;
  opacity: 1;
}

.product-gallery[data-flagship-gallery].has--single-image .product-gallery__rail,
.product-gallery[data-flagship-gallery].has--single-image .product-gallery__arrow {
  display: none;
}

.product-gallery[data-flagship-gallery] .product-gallery__viewer:focus-visible {
  outline: max(2px, calc(var(--border-thin) * 2)) solid var(--accent);
  outline-offset: calc(var(--border-thin) * -3);
}

.product-detail--flagship .product-detail__info-side {
  position: relative;
  grid-column: 2;
  grid-row: 2;
  width: auto;
  min-width: 0;
  min-height: 0;
  align-self: stretch;
  
  padding: 0 var(--gutter-right) 2rem var(--pdp-rail-pad);
  background: transparent;
}

.product-detail--flagship .product-detail__buy-module {
  position: static;
  top: auto;
  width: 100%;
  max-width: var(--pdp-rail-measure);
}

.product-detail--flagship .product-detail__breadcrumb {
  margin: 0 0 1.1rem;
  padding: var(--pdp-panel-top) var(--gutter-right) 0 var(--pdp-rail-pad);
  
  font-size: 0.75rem;
  color: var(--ink-muted);
}

.product-detail--flagship .product-detail__breadcrumb-item + .product-detail__breadcrumb-item::before {
  margin: 0 0.55rem;
  color: rgb(29 79 95 / 0.48);
}

.product-detail--flagship .product-detail__eyebrow {
  margin: 0 0 var(--pdp-rail-step-lockup);
  
  color: var(--ink-muted);
  font-size: 0.72rem;
  font-weight: 650;
  line-height: 1;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.product-detail--flagship .product-detail__name {
  margin: 0 0 var(--pdp-rail-step-lockup);
  color: var(--p1-ink);
  font-size: clamp(3rem, 4.5vw, 4.4rem);
  font-weight: 450;
  line-height: 0.94;
  letter-spacing: -0.052em;
  text-wrap: balance;
}

.product-detail--flagship .product-detail__price {
  margin: 0;
  color: var(--ink-muted);
  font-size: max(1.12rem, 17px);
  font-weight: 400;
  font-variant-numeric: tabular-nums;
  line-height: 1.25;
}

.product-detail--flagship .product-detail__finish {
  margin: var(--pdp-rail-step-group) 0 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
}

.product-detail--flagship .product-detail__finish-title {
  margin: 0 0 0.7rem;
  color: var(--p1-ink);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.product-detail__colour-name::before {
  content: '·';
  margin: 0 0.45em 0 0.5em;
  opacity: 0.45;
}

.product-detail--flagship .product-detail__swatches {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 8.5rem));
  justify-content: start;
  gap: 0.5rem;
}

.product-detail--flagship .product-detail__swatch {
  position: relative;
  display: flex;
  flex-direction: column;
  
  align-items: flex-start;
  justify-content: center;
  gap: 0.34rem;
  width: 100%;
  height: 4.5rem;
  padding: 0.35rem 0.35rem 0.35rem 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  visibility: visible;
  opacity: 1;
}

.product-detail--flagship .product-detail__swatch[aria-pressed="true"] {
  background: transparent;
}

.product-detail--flagship .product-detail__swatch[data-colour="Pearl"] {
  --swatch-fill: #E4E3DE;
  --swatch-border: var(--rule);
}

.product-detail--flagship .product-detail__swatch[data-colour="Midnight"] {
  --swatch-fill: #323D43;
  --swatch-border: transparent;
}

.product-detail--flagship .product-detail__swatch-fill {
  width: 2.6rem;
  height: 2.6rem;
  min-width: 2.6rem;
  min-height: 2.6rem;
  border: var(--border-thin) solid var(--swatch-border);
}

.product-detail--flagship .product-detail__swatch-name {
  
  align-self: flex-start;
  width: 6rem;
  margin-left: calc(1.3rem - 3rem);
  color: var(--p1-ink);
  font-size: 0.82rem;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  
  white-space: nowrap;
}

.product-detail--flagship .product-detail__swatch[data-colour="Pearl"] .product-detail__swatch-name {
  font-family: 'Instrument Sans', 'Instrument Sans Fallback Swatch Pearl', Arial, sans-serif;
}

.product-detail--flagship .product-detail__swatch[data-colour="Midnight"] .product-detail__swatch-name {
  font-family: 'Instrument Sans', 'Instrument Sans Fallback Swatch Midnight', Arial, sans-serif;
}

.product-detail--flagship .product-detail__swatch-ring {
  
  inset: 0.17rem auto auto 1.3rem;
  width: 3rem;
  height: 3rem;
  transform: translateX(-50%) rotate(90deg);
}

.product-detail--flagship .product-detail__finish-prompt {
  min-height: 0;
  margin: 0.55rem 0 0;
  color: var(--p1-ink);
  font-size: 0.77rem;
  line-height: 1.35;
}

.product-detail--flagship .product-detail__buttons {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-content: stretch;
  gap: var(--pdp-rail-step-bind);
  margin: var(--pdp-rail-step-group) 0 0;
}

.product-detail--flagship .product-detail__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: max(3.9rem, 58px);
  padding: 1.15rem 2rem;
  border: var(--border-thin) solid transparent;
  border-radius: 0;
  font-size: max(0.97rem, 15px);
  font-weight: 550;
  line-height: 1;
  letter-spacing: 0.005em;
  text-transform: none;
  white-space: nowrap;
  visibility: visible;
  opacity: 1;
}

.product-detail--flagship .product-detail__button--primary {
  
  background: var(--surface-deep);
  color: var(--p1-bone);
}

.product-detail--flagship .product-detail__buttons .product-detail__button {
  justify-self: stretch;
  width: 100%;
}

.product-detail--flagship .product-detail__button--secondary {
  min-height: max(3.5rem, 52px);
  margin-top: 0;
  padding: 1rem 2rem;
  border: var(--border-thin) solid var(--ink-muted);
  background: transparent;
  color: var(--p1-ink);
  font-size: max(0.92rem, 15px);
  font-weight: 500;
  text-decoration: none;
}

:is(.product-detail--flagship, .product-detail--cartridge, .product-detail--thermo) .product-detail__button[data-button-046] {
  position: relative;
  isolation: isolate;
  overflow: clip;
  border-radius: var(--radius-button);
}

:is(.product-detail--flagship, .product-detail--cartridge, .product-detail--thermo) .product-detail__button[data-button-046] .button-046__bg {
  position: absolute;
  inset: 0;
  z-index: var(--z-base);
  border-radius: var(--radius-button);
  transition: background-color 0.25s ease-out;
}

:is(.product-detail--flagship, .product-detail--cartridge, .product-detail--thermo) .product-detail__button--primary[data-button-046] {
  background: transparent;
}

:is(.product-detail--flagship, .product-detail--cartridge, .product-detail--thermo) .product-detail__button--primary[data-button-046] .button-046__bg {
  background-color: var(--surface-deep);
}

:is(.product-detail--flagship, .product-detail--cartridge, .product-detail--thermo) .product-detail__button--secondary[data-button-046] .button-046__bg {
  background-color: transparent;
}

:is(.product-detail--flagship, .product-detail--cartridge, .product-detail--thermo) .product-detail__button[data-button-046] .button-046__bg-circle {
  position: absolute;
  inset: 0;
  z-index: var(--z-local-1);
  overflow: clip;
  pointer-events: none;
}

.button-046__circle-wrap {
  position: absolute;
  inset: 0;
  transform: scale(0);
  transform-origin: 0 0;
  will-change: transform;
}

.button-046__circle {
  display: block;
  position: absolute;
  inset: 0 auto auto 0;
  width: 200%;
  aspect-ratio: 1;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

:is(.product-detail--flagship, .product-detail--cartridge, .product-detail--thermo) .product-detail__button--primary[data-button-046] .button-046__circle {
  background-color: var(--accent);
}

:is(.product-detail--flagship, .product-detail--cartridge, .product-detail--thermo) .product-detail__button--secondary[data-button-046] .button-046__circle {
  background-color: var(--accent);
}

:is(.product-detail--flagship, .product-detail--cartridge, .product-detail--thermo) .product-detail__button[data-button-046] .button-046__inner {
  position: relative;
  z-index: var(--z-local-2);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

:is(.product-detail--flagship, .product-detail--cartridge, .product-detail--thermo) .product-detail__button--secondary[data-button-046] {
  transition: color 0.25s ease-out, border-color 0.25s ease-out;
}

:is(.product-detail--flagship, .product-detail--cartridge, .product-detail--thermo) .product-detail__button--secondary[data-button-046]:focus-visible {
  color: var(--p1-bone);
  border-color: var(--accent);
}

@media (hover: hover) and (pointer: fine) {
  :is(.product-detail--flagship, .product-detail--cartridge, .product-detail--thermo) .product-detail__button--secondary[data-button-046]:hover {
    color: var(--p1-bone);
    border-color: var(--accent);
  }
}

:is(.product-detail--flagship, .product-detail--cartridge, .product-detail--thermo) .product-detail__button--primary[data-button-046]:focus-visible .button-046__bg {
  background-color: var(--accent);
}

:is(.product-detail--flagship, .product-detail--cartridge, .product-detail--thermo) .product-detail__button--secondary[data-button-046]:focus-visible .button-046__bg {
  background-color: var(--accent);
}

@media (hover: hover) and (pointer: fine) {
  :is(.product-detail--flagship, .product-detail--cartridge, .product-detail--thermo) .product-detail__button--primary[data-button-046]:not([data-button-046-bound]):hover .button-046__bg,
  :is(.product-detail--flagship, .product-detail--cartridge, .product-detail--thermo) .product-detail__button--secondary[data-button-046]:not([data-button-046-bound]):hover .button-046__bg {
    background-color: var(--accent);
  }
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: reduce) {
  :is(.product-detail--flagship, .product-detail--cartridge, .product-detail--thermo) .product-detail__button--primary[data-button-046]:hover .button-046__bg {
    background-color: var(--accent);
  }

  :is(.product-detail--flagship, .product-detail--cartridge, .product-detail--thermo) .product-detail__button--secondary[data-button-046]:hover .button-046__bg {
    background-color: var(--accent);
  }
}

@media (hover: none), (pointer: coarse) {
  :is(.product-detail--flagship, .product-detail--cartridge, .product-detail--thermo) .product-detail__button--primary[data-button-046]:active .button-046__bg,
  :is(.product-detail--flagship, .product-detail--cartridge, .product-detail--thermo) .product-detail__button--secondary[data-button-046]:active .button-046__bg {
    background-color: var(--accent);
  }

  :is(.product-detail--flagship, .product-detail--cartridge, .product-detail--thermo) .product-detail__button--secondary[data-button-046]:active {
    color: var(--p1-bone);
    border-color: var(--accent);
  }
}

.action-button,
.contact-form__submit[data-button-046],
.selection-panel__enquire-btn,
.product-detail__button[data-button-046] {
  transition: color 0.25s ease-out, border-color 0.25s ease-out;
}

.product-detail--flagship .product-detail__button:focus-visible,
.product-detail__mobile-select-button:focus-visible {
  outline: max(2px, calc(var(--border-thin) * 2)) solid var(--accent);
  outline-offset: calc(var(--border-thin) * 2);
}

.product-detail--flagship .product-detail__swatch:focus-visible {
  outline: none;
}

.product-detail--flagship .product-detail__swatch:focus-visible .product-detail__swatch-fill {
  outline: 2px solid var(--accent);
  outline-offset: 4px;
}

.product-detail .product-detail__reassurance {
  
  margin: var(--pdp-rail-step-group) 0 0;
  padding: 0;
  list-style: none;
}

.product-detail .product-detail__reassurance-item {
  margin: 0;
  padding: 0.8rem 0;
  color: var(--p1-ink);
  font-size: max(0.895rem, 14px);
  line-height: 1.55;
  text-wrap: pretty;
}

.product-detail__mobile-select {
  display: none;
}

.product-detail--flagship .product-detail__legacy {
  width: 100%;
  
  margin-inline: auto;
  
  padding: 0 var(--gutter-right) 6rem var(--gutter-left);
  background: var(--p1-bone);
}

.product-detail--flagship .product-detail__legacy > * {
  max-width: none;
}

.product-detail--flagship .product-detail__spine {
  display: grid;
  gap: 0;
}

.product-installations-slot[hidden] {
  display: none;
}

.product-installations-slot:not([hidden]) {
  padding-block: clamp(4rem, 7vw, 7rem);
  border-top: var(--border-thin) solid var(--p1-line);
}

.product-installations-slot__title {
  margin: 0 0 2rem;
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 450;
  line-height: 1;
  letter-spacing: -0.045em;
}

.product-installations-slot__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.product-argument {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: 0;
  align-items: end;
  padding-block: clamp(5rem, 8vw, 8rem);
}

.product-argument__eyebrow {
  grid-column: 1;
  margin: 0 0 1.5rem;
  font-size: 0.7rem;
  font-weight: 650;
  line-height: 1;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.product-argument__title {
  grid-column: 1;
  max-width: 11ch;
  margin: 0;
  font-size: clamp(2.75rem, 5vw, 4.75rem);
  font-weight: 450;
  line-height: 0.95;
  letter-spacing: -0.055em;
  text-wrap: balance;
}

.product-argument__title em {
  font-family: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif;
  font-weight: 400;
}

.product-argument__copy {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: end;
  display: grid;
  gap: 1rem;
  margin-top: clamp(2rem, 4vw, 3.5rem);
}

.product-argument__copy p {
  max-width: 38ch;
  margin: 0;
  font-size: clamp(1rem, 1.3vw, 1.15rem);
  line-height: 1.6;
}

.product-argument__register {
  grid-column: 1 / -1;
  display: grid;
  gap: 1.4rem;
  margin: clamp(3rem, 5vw, 4.5rem) 0 0;
}

.product-argument__fact {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0;
  padding-block: 0;
}

.product-argument__fact dt {
  padding-right: 1.25rem;
}

.product-argument__fact dt,
.product-argument__fact dd {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.55;
  
  text-wrap: pretty;
}

.product-argument__fact dt {
  color: var(--ink-muted);
}

.product-specs {
  padding-block: clamp(5rem, 8vw, 8rem) 0;
}

.product-specs__header {
  display: block;
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.product-specs__title {
  max-width: none;
  margin: 0;
  font-size: clamp(2.45rem, 4.5vw, 4rem);
  font-weight: 450;
  line-height: 0.98;
  letter-spacing: -0.05em;
  text-wrap: balance;
}

.product-specs__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  border-block: var(--border-thin) solid var(--p1-line);
}

.product-specs__stat {
  min-height: 9rem;
  padding: 1.25rem 1rem;
  border-left: var(--border-thin) solid var(--p1-line);
}

.product-specs__stat:nth-child(odd) {
  padding-left: 1rem;
}

.product-specs__stat:nth-child(even) {
  padding-right: 1rem;
}

.product-specs__stat:first-child {
  padding-left: 0;
  border-left: 0;
}

.product-specs__stat:last-child {
  padding-right: 0;
}

.product-specs__stat dt {
  margin: 0 0 1.4rem;
  color: var(--ink-muted);
  font-size: 0.72rem;
  line-height: 1.35;
}

.product-specs__stat dd {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 450;
  line-height: 0.9;
  letter-spacing: -0.05em;
}

.product-specs__stat dd > span:not([data-odometer-element]) {
  font-size: 0.8rem;
  letter-spacing: 0;
}

.product-specs__stat dd [data-odometer-element],
.product-specs__stat dd [data-odometer-element] span {
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
}

[data-odometer-element] {
  display: inline-flex;
  align-items: center;
  
  font-variant-numeric: tabular-nums;
}

[data-odometer-part="mask"],
[data-odometer-part="static"] {
  display: inline-block;
  overflow: clip;
  padding: 0.05em;
  margin: -0.05em;
}

[data-odometer-part="roller"] {
  display: block;
  white-space: pre;
  text-align: center;
  will-change: transform;
}

.product-specs__disclosure {
  margin-top: 0;
}

.product-specs__disclosure .faq-section__item:first-child {
  border-top: 0;
}

.product-specs__disclosure .faq-section__item {
  border-bottom: var(--border-thin) solid var(--p1-line);
}

.product-specs__disclosure .faq-section__trigger {
  
  min-height: max(4rem, 44px);
  padding: 1.25rem 0;
  color: var(--p1-ink);
  font-size: 0.9rem;
}

.product-specs__trigger {
  list-style: none;
}

.product-specs__trigger::-webkit-details-marker {
  display: none;
}

.product-specs__trigger::marker {
  content: '';
}

.product-specs__item[open] .faq-section__body {
  grid-template-rows: 1fr;
}

.product-specs__item[open] .product-specs__chevron {
  transform: rotate(180deg);
}

.product-specs__trigger:focus-visible {
  outline: max(2px, calc(var(--border-thin) * 2)) solid var(--accent);
  outline-offset: calc(var(--border-thin) * 2);
}

.product-specs__chevron::before {
  content: '';
  display: block;
  width: 0.55rem;
  height: 0.55rem;
  border-right: var(--border-thin) solid currentColor;
  border-bottom: var(--border-thin) solid currentColor;
  transform: rotate(45deg) translate(-0.1rem, -0.1rem);
}

.product-specs__disclosure .faq-section__content {
  overflow-x: auto;
}

.product-specs__table {
  color: var(--p1-ink);
  font-size: 0.8rem;
  line-height: 1.5;
}

.product-specs__table th,
.product-specs__table td {
  width: 50%;
  padding: 0.9rem 0;
  vertical-align: top;
  text-align: left;
  border-bottom: var(--border-thin) solid rgb(12 56 70 / 0.12);
}

.product-specs__table th {
  padding-right: 1.25rem;
  font-weight: 500;
}

.product-specs__table td {
  font-weight: 400;
}

.product-specs__table tr:last-child th,
.product-specs__table tr:last-child td {
  padding-bottom: 1.5rem;
  border-bottom: 0;
}

.product-specs__table tr[data-spec-status="withheld"] th,
.product-specs__table tr[data-spec-status="withheld"] td {
  min-height: 3.5rem;
  color: var(--ink-muted);
}

.product-specs__pending {
  display: inline-block;
  font-style: italic;
}

.product-specs__disclosure .faq-section__trigger:focus-visible {
  outline: max(2px, calc(var(--border-thin) * 2)) solid var(--accent);
  outline-offset: calc(var(--border-thin) * 2);
}

@media (hover: hover) and (pointer: fine) {
  .product-gallery[data-flagship-gallery] .product-gallery__img--active {
    transition: transform var(--duration-normal) cubic-bezier(0.16, 1, 0.3, 1);
  }

  .product-detail__mobile-select-button {
    transition: transform var(--duration-fast) ease, background-color var(--duration-fast) ease;
  }

  .product-detail__mobile-select-button:hover {
    transform: translateY(-1px);
  }
}

.product-detail__mobile-select-button:active {
  transform: translateY(1px);
}

@media screen and (max-width: 1024.98px) and (min-width: 768px) {

  .product-detail--flagship {
    --pdp-panel-top: 5.25rem;
    --pdp-panel-bottom: 1.5rem;
    --pdp-rail-pad: clamp(1.2rem, 2.6vw, 1.8rem);
    
    --pdp-rail-measure: min(23rem, 30.7vw);
  }

  .product-detail--flagship .product-detail__image-side {
    position: relative;
    grid-column: 1;
    grid-row: 1 / -1;
    width: auto;
    height: 100dvh;
    max-height: 100dvh;
    min-height: 0;
    
    padding: var(--pdp-panel-top) max(0px, calc(var(--pdp-inner-gutter) - var(--pdp-rail-pad))) 0 var(--gutter-left);
    overflow: hidden;
  }

  .product-detail--flagship .product-detail__name {
    font-size: clamp(2.2rem, 5.4vw, 3rem);
  }

  .product-detail--flagship .product-detail__info-side {
    grid-column: 2;
    grid-row: 2;
    width: auto;
    min-height: 0;
    padding: 0 var(--gutter-right) 1.5rem var(--pdp-rail-pad);
  }

  .product-detail--flagship .product-detail__breadcrumb {
    margin-bottom: 0.8rem;
    padding: var(--pdp-panel-top) var(--gutter-right) 0 var(--pdp-rail-pad);
  }

  .product-detail--flagship .product-detail__finish {
    padding: 0;
  }

  .product-detail--flagship .product-detail__swatch {
    height: 4.25rem;
  }

  .product-detail--flagship .product-detail__button {
    padding-right: 1.6rem;
    padding-left: 1.6rem;
    font-size: max(0.93rem, 15px);
  }

  .product-detail--flagship .product-detail__button--secondary {
    padding-inline: 1.6rem;
    font-size: max(0.89rem, 15px);
  }

  .product-detail--flagship .product-detail__legacy {
    padding: 0 var(--gutter-right) 4rem var(--gutter-left);
  }

}

@media screen and (min-width: 768px) and (max-width: 1024.98px) and (orientation: portrait) {
  .product-detail--flagship .product-detail__hero-grid {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
    align-content: start;
    min-height: 0;
  }

  .product-detail--flagship .product-detail__hero-grid > .product-detail__breadcrumb,
  .product-detail--flagship .product-detail__image-side,
  .product-detail--flagship .product-detail__info-side {
    grid-column: 1;
    grid-row: auto;
  }

  .product-detail--flagship .product-detail__breadcrumb {
    margin-bottom: 0.8rem;
    padding: var(--pdp-panel-top) var(--gutter-right) 0 var(--gutter-left);
  }

  .product-detail--flagship .product-detail__image-side {
    position: static;
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    min-height: 0;
    padding: 0 var(--gutter-right) 1.5rem var(--gutter-left);
    overflow: visible;
  }

  .product-detail--flagship .product-gallery[data-flagship-gallery] {
    width: 100%;
    max-height: none;
    aspect-ratio: 4 / 5;
  }

  .product-detail--flagship .product-detail__info-side {
    position: static;
    width: auto;
    min-height: 0;
    padding: 0.7rem var(--gutter-right) 2.5rem var(--gutter-left);
    border-left: 0;
  }

  .product-detail--flagship .product-detail__buy-module {
    position: static;
    top: auto;
    max-width: none;
  }
}

@media screen and (max-width: 767.98px) {
  
  .product-detail--flagship .product-detail__hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
    align-content: start;
    min-height: 100dvh;
  }

  .product-detail--flagship .product-detail__hero-grid > .product-detail__breadcrumb,
  .product-detail--flagship .product-detail__image-side,
  .product-detail--flagship .product-detail__info-side {
    grid-column: 1;
    grid-row: auto;
  }

  .product-detail--flagship .product-detail__image-side {
    position: static;
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    min-height: 0;
    padding: 0 var(--gutter-right) 1.35rem var(--gutter-left);
    overflow: visible;
  }

  .product-detail--flagship .product-gallery[data-flagship-gallery],
  .product-detail--cartridge .product-gallery[data-flagship-gallery],
.product-detail--thermo .product-gallery[data-flagship-gallery] {
    width: 100%;
  }

  .product-gallery[data-flagship-gallery] .product-gallery__arrow {
    width: 44px;
    height: 44px;
  }

  .product-gallery[data-flagship-gallery] .product-gallery__arrow-svg {
    width: 26px;
    height: 26px;
  }

  .product-gallery__arrow--prev { left: 0.5rem; }
  .product-gallery__arrow--next { right: 0.5rem; }

  .product-gallery[data-flagship-gallery] .product-gallery__zoom {
    top: auto;
    right: 0.5rem;
    bottom: 0.5rem;
    width: 44px;
    height: 44px;
  }

  .product-gallery__zoom-svg {
    width: 20px;
    height: 20px;
  }

  .product-detail--flagship .product-detail__info-side {
    position: static;
    width: 100%;
    min-height: 0;
    padding: 0.7rem var(--gutter-right) 1rem var(--gutter-left);
    border-left: 0;
  }

  .product-detail--flagship .product-detail__buy-module {
    position: static;
    max-width: none;
  }

  .product-detail--flagship .product-detail__breadcrumb {
    margin-bottom: 0.5rem;
    padding: 5.5rem var(--gutter-right) 0 var(--gutter-left);
    font-size: 0.68rem;
  }

  .product-detail--flagship .product-detail__eyebrow {
    margin-bottom: var(--pdp-rail-step-lockup);
    font-size: 0.64rem;
  }

  .product-detail--flagship .product-detail__name {
    margin: 0 0 var(--pdp-rail-step-lockup);
    font-size: max(2.15rem, var(--pdp-floor-name));
  }

  .product-detail--flagship .product-detail__price {
    margin: 0;
    font-size: max(0.98rem, 15px);
  }

  .product-detail--flagship .product-detail__finish {
    padding: 0;
  }

  .product-detail--flagship .product-detail__finish-title {
    margin-bottom: 0.38rem;
    font-size: 0.68rem;
  }

  .product-detail--flagship .product-detail__swatches {
    grid-template-columns: repeat(2, minmax(0, 8.5rem));
    justify-content: start;
    gap: 0.5rem;
  }

  .product-detail--flagship .product-detail__swatch {
    height: 3.5rem;
    gap: 0.2rem;
  }

  .product-detail--flagship .product-detail__swatch-fill {
    width: 2.15rem;
    height: 2.15rem;
    min-width: 2.15rem;
    min-height: 2.15rem;
  }

  .product-detail--flagship .product-detail__swatch-ring {
    top: 0.16rem;
    
    left: 1.075rem;
    width: 2.48rem;
    height: 2.48rem;
  }

  .product-detail--flagship .product-detail__swatch-name {
    font-size: 0.75rem;
    
    margin-left: calc(1.075rem - 3rem);
  }

  .product-detail--flagship .product-detail__finish-prompt {
    min-height: 0;
    margin-top: 0.38rem;
    font-size: 0.69rem;
  }

  .product-detail--flagship .product-detail__button {
    min-height: max(3.6rem, 54px);
    padding: 1rem 1.5rem;
    font-size: 0.93rem;
  }

  .product-detail--flagship .product-detail__button--secondary {
    min-height: max(3.25rem, 50px);
    padding: 0.9rem 1.5rem;
    font-size: 0.89rem;
  }

  .product-detail .product-detail__reassurance {
    margin-top: var(--pdp-rail-step-group);
  }

  .product-detail .product-detail__reassurance-item {
    padding: 0.5rem 0;
    font-size: max(0.85rem, 13px);
    line-height: 1.55;
  }

  .product-detail__mobile-select {
    
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: var(--z-above-content-high);
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-height: var(--p1-sticky-bar-height);
    padding: 0.45rem max(var(--gutter-right), env(safe-area-inset-right)) calc(0.45rem + env(safe-area-inset-bottom)) max(var(--gutter-left), env(safe-area-inset-left));
    border-top: var(--border-thin) solid var(--p1-line);
    
    background: var(--surface-frost);
    
  }

  html:has(.product-detail__mobile-select) {
    scroll-padding-bottom: calc(var(--p1-sticky-bar-height) + env(safe-area-inset-bottom, 0px) + 8px);
  }

  .body--product-flagship .site-footer,
  .body--cartridge-pdp .site-footer,
  .body--thermosteel-pdp .site-footer {
    min-height: calc(100svh + var(--p1-sticky-bar-height));
    padding-bottom: calc(2em + var(--p1-sticky-bar-height) + env(safe-area-inset-bottom, 0px));
  }

  .has-p1-commerce-js .product-detail__mobile-select:not(.is--shown) {
    visibility: hidden;
    opacity: 0;
    transform: translateY(100%);
    pointer-events: none;
  }

  .has-p1-commerce-js .product-detail__mobile-select.is--shown {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
  }

  .product-detail__mobile-select-copy {
    display: grid;
    gap: 0.1rem;
    color: var(--p1-ink);
    font-size: 0.75rem;
    line-height: 1.1;
  }

  .product-detail__mobile-select-copy span:first-child {
    font-weight: 600;
  }

  .product-detail__mobile-select-button {
    
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-decoration: none;
    min-width: 8.5rem;
    min-height: max(3.5rem, var(--control-height-sticky));
    padding: 0.75rem 1rem;
    border: 0;
    
    border-radius: var(--radius-button);
    
    background: var(--surface-deep);
    color: var(--p1-bone);
    font: inherit;
    font-size: 0.86rem;
    font-weight: 550;
    cursor: pointer;
    transition: background-color var(--duration-fast) ease;
  }

  .product-detail__mobile-select-button:is(:active, :focus-visible) {
    background: var(--accent);
  }

  @media (hover: hover) and (pointer: fine) {
    .product-detail__mobile-select-button:hover {
      background: var(--accent);
    }
  }

  .product-detail--flagship .product-detail__legacy {
    padding: 3rem var(--gutter-right) 4.5rem var(--gutter-left);
  }

  .product-installations-slot__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .product-argument__fact {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.35rem;
  }

  .product-argument {
    grid-template-columns: minmax(0, 1fr);
    column-gap: 0;
  }

  .product-argument__eyebrow,
  .product-argument__title,
  .product-argument__copy,
  .product-argument__register {
    grid-column: 1;
    grid-row: auto;
  }

  .product-argument__title {
    max-width: 12ch;
  }

  .product-specs__stat {
    min-height: 8rem;
    border-top: var(--border-thin) solid var(--p1-line);
    border-left: 0;
    padding-inline: 0;
  }

  .product-specs__stat:nth-child(odd),
  .product-specs__stat:nth-child(even) {
    padding-inline: 0;
  }

  .product-specs__stats {
    grid-template-columns: minmax(0, 1fr);
  }

  .product-specs__stat:first-child {
    border-top: 0;
  }

  .product-specs__stat dt {
    margin-bottom: 0.9rem;
    font-size: max(0.72rem, var(--pdp-floor-meta));
  }

  .product-specs__stat dd {
    font-size: max(clamp(2rem, 4vw, 3.5rem), 28px);
  }

  .product-specs__stat dd > span:not([data-odometer-element]) {
    font-size: max(0.8rem, var(--pdp-floor-meta));
  }

  .product-specs__table th,
  .product-specs__table td {
    width: 46%;
    min-width: 8.25rem;
  }

  .product-specs__table td {
    width: 54%;
  }
}

@media screen and (max-width: 767.98px) and (max-height: 500px) {
  .product-detail__mobile-select {
    display: none;
  }

  html:has(.product-detail__mobile-select) {
    scroll-padding-bottom: 0;
  }

  .body--product-flagship .site-footer,
  .body--cartridge-pdp .site-footer,
  .body--thermosteel-pdp .site-footer {
    min-height: 100svh;
    padding-bottom: calc(2em + env(safe-area-inset-bottom, 0px));
  }
}

@media (prefers-reduced-motion: no-preference) and (max-width: 767.98px) {
  .has-p1-commerce-js .product-detail__mobile-select {
    transition: opacity var(--duration-normal) ease, transform var(--duration-normal) cubic-bezier(0.16, 1, 0.3, 1), visibility var(--duration-normal) step-end;
  }

  .has-p1-commerce-js .product-detail__mobile-select.is--shown {
    transition: opacity var(--duration-normal) ease, transform var(--duration-normal) cubic-bezier(0.16, 1, 0.3, 1), visibility 0s step-start;
  }
}

@media (prefers-reduced-motion: reduce) {
  .product-gallery[data-flagship-gallery] .product-gallery__img,
  .product-detail--flagship .product-detail__button,
  .product-detail__mobile-select {
    transition: none !important;
  }
}

.product-detail--flagship .product-film-slot,
.product-detail--flagship .product-stage-cross-sell,
.product-detail--flagship .product-faq,
.product-detail--flagship .product-close {
  width: 100%;
  min-width: 0;
}

.product-back-half-shell,
.product-detail--flagship .product-stage-cross-sell .products-range-shell {
  width: 100%;
  
  margin-inline: auto;
  padding-left: var(--gutter-left);
  padding-right: var(--gutter-right);
}

.product-film-slot {
  padding-block: clamp(4.5rem, 7vw, 7rem);
  background: var(--p1-bone);
  color: var(--p1-ink);
}

.product-film-slot__header {
  display: block;
  margin-bottom: clamp(2.75rem, 5vw, 5rem);
}

.product-film-slot__eyebrow,
.product-faq__eyebrow {
  margin: 0;
  font-size: 0.7rem;
  font-weight: 650;
  line-height: 1.2;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.product-film-slot__eyebrow {
  margin-bottom: 1.5rem;
  color: var(--ink-muted);
}

.product-film-slot__title {
  max-width: 12ch;
  margin: 0;
  font-size: clamp(3rem, 6vw, 6rem);
  font-weight: 430;
  line-height: 0.92;
  letter-spacing: -0.055em;
  text-wrap: balance;
}

.product-film-slot__title em {
  font-family: inherit;
  font-style: normal;
  font-weight: inherit;
}

.product-film-slot__figure {
  margin: 0;
}

.product-film-slot__frame {
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border-radius: var(--radius-card);
  
  background: var(--p1-room);
}

.product-film-slot__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product-film-slot__caption {
  margin-top: 0.85rem;
  color: var(--ink-muted);
  font-size: 0.75rem;
  line-height: 1.4;
}

.product-detail--flagship .product-stage-cross-sell {
  --range-bone: var(--p1-bone);
  --range-ink: var(--p1-ink);
  --range-slate: var(--p1-slate);
  --range-line: var(--p1-line);
  padding-block: clamp(4.5rem, 7vw, 7rem);
  background: var(--p1-bone);
  color: var(--p1-ink);
}

.product-detail--flagship .product-stage-cross-sell .products-range-stages__head {
  gap: 2rem;
}

.product-stage-cross-sell .products-range-stages__title {
  
  max-width: none;
  
  font-size: clamp(2.4rem, 3.6vw, 3.25rem);
  letter-spacing: -0.04em;
}

.product-stage-cross-sell .pgrid-cartridges {
  
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
}

.product-stage-cross-sell .pgrid-card {
  min-width: 0;
  color: var(--p1-ink);
}

.product-stage-cross-sell .pgrid-card__link {
  display: block;
  color: inherit;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

.product-stage-cross-sell .pgrid-card__link:focus-visible {
  outline: max(2px, calc(var(--border-thin) * 2)) solid var(--accent);
  outline-offset: calc(var(--border-thin) * 3);
  border-radius: 2px;
}

.product-stage-cross-sell .pgrid-card__frame {
  aspect-ratio: 4 / 5;
  border-radius: var(--radius-card);
}

.product-stage-cross-sell .pgrid-card__frame--cartridge,
.product-stage-cross-sell .pgrid-card__frame--cartridge .product-card__img--back {
  background-color: var(--pgrid-ground-cartridge);
}

.product-stage-cross-sell .pgrid-card__meta {
  padding-top: clamp(1.1rem, 1.6vw, 1.6rem);
}

.product-stage-cross-sell .pgrid-card__name {
  margin: 0;
  color: var(--ink);
  font-weight: 400;
}

.product-stage-cross-sell .pgrid-card__line {
  margin: 0.55rem 0 0;
  color: var(--ink-muted);
  text-wrap: pretty;
}

.product-stage-cross-sell .pgrid-card--cartridge .pgrid-card__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.85rem;
}

.product-stage-cross-sell .pgrid-card--cartridge .pgrid-card__name {
  min-width: 0;
}

.product-stage-cross-sell .pgrid-card--cartridge .pgrid-card__line {
  margin-top: 0.5rem;
  font-size: 0.8125rem;
  line-height: 1.5;
}

@media screen and (max-width: 767.98px) {
  .product-stage-cross-sell .pgrid-cartridges {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 1.5rem;
  }

  .product-stage-cross-sell .pgrid-card--cartridge .product-card__img--front {
    display: none;
  }

  .product-stage-cross-sell .pgrid-card--cartridge .product-card__img--back {
    opacity: 1;
    transform: none;
    clip-path: none;
    filter: none;
  }

  .product-stage-cross-sell .pgrid-card--cartridge .pgrid-card__link {
    display: grid;
    grid-template-columns: 6.5rem minmax(0, 1fr);
    column-gap: 1.25rem;
    align-items: center;
  }

  .product-stage-cross-sell .pgrid-card--cartridge .pgrid-card__meta {
    padding-top: 0;
  }

  .product-stage-cross-sell .pgrid-card--cartridge .pgrid-card__line {
    max-width: none;
    font-size: max(0.8125rem, var(--pdp-floor-body));
  }
}

.product-faq {
  padding-block: clamp(4.5rem, 7vw, 7rem);
  background: var(--p1-bone);
  color: var(--p1-ink);
}

.product-faq__layout {
  display: grid;
  grid-template-columns: minmax(15rem, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(4rem, 9vw, 10rem);
  align-items: start;
}

.product-faq__header {
  display: block;
  position: sticky;
  top: clamp(6rem, 9vw, 8rem);
}

.product-faq__eyebrow {
  margin-bottom: 1.5rem;
  color: var(--ink-muted);
}

.product-faq__title {
  max-width: 9ch;
  margin: 0;
  font-size: clamp(2.75rem, 5vw, 5rem);
  font-weight: 430;
  line-height: 0.94;
  letter-spacing: -0.055em;
  text-wrap: balance;
}

.product-faq__list {
  max-width: none;
}

.product-faq__item {
  border-color: var(--p1-line);
}

.product-faq__trigger {
  min-height: max(5rem, 44px);
  padding-block: 1.5rem;
  color: var(--p1-ink);
  list-style: none;
}

.product-faq__trigger::-webkit-details-marker {
  display: none;
}

.product-faq__trigger::marker {
  content: '';
}

.product-faq__icon::before {
  content: '';
  display: block;
  width: 0.55rem;
  height: 0.55rem;
  border-right: var(--border-thin) solid currentColor;
  border-bottom: var(--border-thin) solid currentColor;
  transform: rotate(45deg) translate(-0.1rem, -0.1rem);
}

.faq-section__item[open].is--closing .faq-section__body,
.faq-section__item[open].is--opening .faq-section__body {
  grid-template-rows: 0fr;
}

.product-faq__item[open] .faq-section__body {
  grid-template-rows: 1fr;
}

.product-faq__item[open] .product-faq__icon {
  transform: rotate(180deg);
}

.product-faq .faq-section__answer {
  max-width: 58ch;
  padding-bottom: 1.75rem;
  color: var(--ink-body);
  font-size: clamp(0.9rem, 1.1vw, 1rem);
  line-height: 1.65;
}

.product-faq__trigger:focus-visible {
  outline: max(2px, calc(var(--border-thin) * 2)) solid var(--accent);
  outline-offset: calc(var(--border-thin) * 2);
}

.product-close {
  padding-block: clamp(4.5rem, 7vw, 7rem);
  background: var(--p1-bone);
  color: var(--p1-ink);
}

.product-close__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(20rem, 0.9fr);
  gap: clamp(4rem, 9vw, 10rem);
  align-items: end;
}

.product-close__title {
  max-width: 10ch;
  margin: 0;
  
  font-size: clamp(2.5rem, 4.2vw, 3.75rem);
  font-weight: 430;
  line-height: 0.98;
  letter-spacing: -0.04em;
  text-wrap: balance;
}

.product-close__range-link {
  display: inline-flex;
  align-items: center;
  min-height: 3rem;
  margin-top: clamp(2rem, 4vw, 3.5rem);
  color: inherit;
  font-size: 0.88rem;
  font-weight: 600;
  text-decoration: none;
  position: relative;
}

.product-close__range-link::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: max(100%, 44px);
  transform: translateY(-50%);
}

.product-close__ask {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 1rem;
}

@media screen and (max-width: 767.98px) {
  .product-close__ask {
    align-items: stretch;
  }
}

@media screen and (min-width: 768px) {
  .product-close__range-link {
    min-height: max(3.9rem, 58px);
  }

  .thermo-close__lead .thermo-close__back {
    min-height: max(3.9rem, 58px);
  }
}

.product-close__range-link:focus-visible {
  outline: max(2px, calc(var(--border-thin) * 2)) solid var(--accent);
  outline-offset: calc(var(--border-thin) * 3);
}

@media screen and (max-width: 1024.98px) {
  .product-faq__layout,
  .product-close__layout {
    gap: clamp(3rem, 7vw, 5rem);
  }
}

@media screen and (max-width: 767.98px) {
  .product-back-half-shell,
  .product-detail--flagship .product-stage-cross-sell .products-range-shell {
    padding-inline: var(--gutter-left) var(--gutter-right);
  }

  .product-film-slot,
  .product-detail--flagship .product-stage-cross-sell,
  .product-faq,
  .product-close {
    padding-block: 3.75rem;
  }

  .product-faq__layout,
  .product-close__layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 2.5rem;
  }

  .product-film-slot__title {
    font-size: clamp(3rem, 14vw, 4.5rem);
  }

  .product-close__title {
    max-width: none;
    font-size: clamp(2.2rem, 9vw, 3rem);
  }

  .product-film-slot__frame {
    margin-inline: 0;
    border-radius: var(--radius-card);
  }

  .product-detail--flagship .product-stage-cross-sell .products-range-stages__head {
    display: grid;
    gap: 1rem;
  }

  .product-faq__header {
    position: static;
  }

  .product-faq__title {
    max-width: 10ch;
    font-size: clamp(3rem, 14vw, 4.25rem);
  }

  .product-faq__trigger {
    min-height: max(4.5rem, 44px);
  }

  .product-close__layout {
    align-items: start;
  }

  .product-close__lead {
    display: contents;
  }

  .product-close__title { order: 1; }
  .product-close__ask { order: 2; }

  .product-close__range-link {
    order: 3;
    justify-self: start;
    margin-top: 0;
  }
}

html.has--zoom-open,
html.has--zoom-open body {
  overflow: hidden;
}

body.body--product-flagship,
body.body--cartridge-pdp,
body.body--products-range,
body.body--home {
  --pdp-floor-meta: 11px;    
  --pdp-floor-body: 12px;    
  --pdp-floor-action: 14px;  
  
  --pdp-floor-name: 38px;    
}

body.body--product-flagship,
body.body--cartridge-pdp,
body.body--thermosteel-pdp {
  
  --pdp-rail-step-lockup: max(clamp(0.5rem, 0.55vw, 0.7rem), 8px);
  --pdp-rail-step-line: max(clamp(0.9rem, 1vw, 1.25rem), 14px);
  --pdp-rail-step-bind: max(clamp(0.6rem, 0.6vw, 0.75rem), 10px);
  --pdp-rail-step-group: max(clamp(1.9rem, 2.4vw, 2.9rem), 28px);
}

@media screen and (max-width: 767.98px) {
  .product-detail--flagship .product-detail__breadcrumb,
  .product-detail--flagship .product-detail__finish-title {
    font-size: max(0.68rem, var(--pdp-floor-meta));
  }

  .product-detail--flagship .product-detail__eyebrow {
    font-size: max(0.64rem, var(--pdp-floor-meta));
  }

  .product-detail--flagship .product-detail__swatch-name {
    font-size: max(0.75rem, var(--pdp-floor-body));
  }

  .product-detail--flagship .product-detail__finish-prompt {
    font-size: max(0.69rem, var(--pdp-floor-body));
  }

  .product-detail .product-detail__reassurance-item {
    font-size: max(0.85rem, 13px);
  }

  .product-detail--flagship .product-detail__button {
    font-size: max(0.93rem, var(--pdp-floor-action));
  }

  .product-detail--flagship .product-detail__button--secondary {
    font-size: max(0.89rem, var(--pdp-floor-action));
  }

  .product-detail__mobile-select-copy {
    font-size: max(0.75rem, var(--pdp-floor-body));
  }

  .product-detail__mobile-select-button {
    font-size: max(0.86rem, var(--pdp-floor-action));
  }

  .body--product-flagship .product-argument__eyebrow,
  .body--product-flagship .product-film-slot__eyebrow,
  .body--product-flagship .product-faq__eyebrow {
    font-size: max(0.7rem, var(--pdp-floor-meta));
  }

  .body--product-flagship .product-specs__stat dt,
  .body--thermosteel-pdp .product-specs__stat dt, .body--cartridge-pdp .product-specs__stat dt {
    font-size: max(0.72rem, var(--pdp-floor-meta));
  }

  .body--product-flagship .product-specs__stat dd > span:not([data-odometer-element]),
  .body--thermosteel-pdp .product-specs__stat dd > span:not([data-odometer-element]), .body--cartridge-pdp .product-specs__stat dd > span:not([data-odometer-element]) {
    font-size: max(0.8rem, var(--pdp-floor-meta));
  }

  .body--product-flagship .product-argument__fact dt {
    font-size: max(0.88rem, var(--pdp-floor-meta));
  }

  .body--product-flagship .product-argument__fact dd {
    font-size: max(0.88rem, var(--pdp-floor-body));
  }

  .body--product-flagship .product-film-slot__caption {
    font-size: max(0.75rem, var(--pdp-floor-body));
  }

  .body--product-flagship .product-argument__copy p {
    font-size: max(clamp(1rem, 1.3vw, 1.15rem), var(--pdp-floor-body));
  }

  .body--product-flagship .product-detail__specs-table,
  .body--cartridge-pdp .product-detail__specs-table {
    font-size: max(var(--text-body), var(--pdp-floor-body));
  }

  .body--product-flagship .product-faq__trigger {
    font-size: max(var(--text-body), var(--pdp-floor-action));
  }

  .body--product-flagship .product-faq .faq-section__answer {
    font-size: max(clamp(0.9rem, 1.1vw, 1rem), var(--pdp-floor-action));
  }

  .body--product-flagship .product-specs__disclosure .faq-section__trigger,
  .body--cartridge-pdp .product-specs__disclosure .faq-section__trigger {
    font-size: max(0.9rem, var(--pdp-floor-action));
  }

  .body--product-flagship .product-close__range-link,
  .body--product-flagship .product-close__replacement-link {
    font-size: max(0.88rem, var(--pdp-floor-action));
  }
}

.gallery-showcase {
  position: fixed;
  inset: 0;
  
  z-index: var(--z-selection-panel);
  
  font-size: max(1rem, 14px);
  color: var(--ink-invert);
  background-color: var(--surface-deep);
  
  background-image: radial-gradient(115% 95% at 50% 28%, var(--surface-tide) 0%, var(--surface-deep) 52%, var(--surface-abyss) 100%);
  -webkit-user-select: none;
  user-select: none;
  overflow: hidden;
  opacity: 0;
}

.gallery-showcase[hidden] {
  display: none;
}

.gallery-showcase.is--open {
  opacity: 1;
}

.gallery-showcase .layered-slider__container {
  position: absolute;
  inset: 0;
  width: 100%;
}

.gallery-showcase .layered-slider__bg-collection {
  z-index: var(--z-base);
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.gallery-showcase .layered-slider__bg-item {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  
  padding:
    clamp(56px, 8dvh, 84px)
    0
    calc(var(--showcase-thumb-height, 100px) + max(12px, env(safe-area-inset-bottom)) + 8px + clamp(20px, 4.5dvh, 40px) + 14px);
}

.gallery-showcase .layered-slider__bg-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  -webkit-user-select: none;
  user-select: none;
}

.gallery-showcase .layered-slider__bg-dark {
  z-index: var(--z-local-2);
  position: absolute;
  inset: 0;
  background-color: transparent;
}

.gallery-showcase .layered-slider__text-collection {
  z-index: var(--z-local-3);
  position: absolute;
  left: 0;
  right: 0;
  bottom: clamp(7.5rem, 24vh, 12rem);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 4em;
}

.gallery-showcase .layered-slider__text-list {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.gallery-showcase .layered-slider__text-item {
  position: absolute;
  max-width: 80%;
  text-align: center;
  cursor: pointer;
}

.gallery-showcase .layered-slider__text-title {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font-family: 'Instrument Sans', Arial, sans-serif;
  font-size: 4em;
  font-weight: 400;
  letter-spacing: -0.045em;
  line-height: 0.8;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  
  mix-blend-mode: difference;
}

.gallery-showcase .layered-slider__text-title:focus-visible {
  outline: calc(var(--border-thin) * 2) solid var(--accent-on-dark);
  outline-offset: calc(var(--border-thin) * 4);
}

.gallery-showcase .layered-slider__mask-collection {
  z-index: var(--z-local-3);
  position: absolute;
  bottom: 0;
  left: 50%;
  aspect-ratio: 4 / 5;
  width: clamp(8em, 20vh, 12em);
  border-radius: var(--radius-card);
  overflow: hidden;
  transform: translate(-50%, 26%);
}

.gallery-showcase .layered-slider__mask-list {
  position: absolute;
  inset: 0;
}

.gallery-showcase .layered-slider__mask-item {
  flex: none;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.gallery-showcase .layered-slider__mask-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
  -webkit-user-select: none;
  user-select: none;
}

.gallery-showcase .layered-slider__overlay {
  z-index: var(--z-above-content);
  position: absolute;
  top: 0;
  bottom: 0;
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 120em;
  margin-left: auto;
  margin-right: auto;
  padding: 2em;
  pointer-events: none;
}

.gallery-showcase .layered-slider__overlay-top {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  pointer-events: auto;
}

.gallery-showcase .layered-slider__span {
  font-size: max(0.72rem, var(--pdp-floor-meta, 11px));
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.08em;
}

.gallery-showcase[data-layered-slider-autoplay="0"] .layered-slider__progress {
  display: none;
}

.gallery-showcase .layered-slider__span--sep {
  color: var(--ink-invert-muted);
}

.gallery-showcase .layered-slider__progress {
  width: 6em;
  height: 2px;
  border-radius: 10em;
  background-color: var(--rule-invert);
  overflow: hidden;
}

.gallery-showcase .layered-slider__progress-inner {
  width: 100%;
  height: 100%;
  transform-origin: 0%;
  transform-style: preserve-3d;
  background-color: var(--ink-invert);
  transform: scale3d(0, 1, 1);
}

.gallery-showcase .layered-slider__overlay-btm {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
}

.gallery-showcase .layered-slider__nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  pointer-events: auto;
}

.gallery-showcase .layered-slider__nav-button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: max(44px, 2.9rem);
  height: max(44px, 2.9rem);
  padding: 0;
  border: none;
  border-radius: 50%;
  background-color: var(--surface-mist);
  box-shadow: 0 0 0 var(--border-thin) var(--rule-strong);
  color: var(--ink);
  cursor: pointer;
}

.gallery-showcase .layered-slider__nav-button:focus-visible {
  outline: max(2px, calc(var(--border-thin) * 2)) solid var(--accent-on-dark);
  outline-offset: calc(var(--border-thin) * 2);
}

.gallery-showcase .layered-slider__nav-icon {
  display: block;
  width: 2.1rem;
  height: 2.1rem;
  transition: transform var(--duration-fast) ease;
}

@media (hover: hover) and (pointer: fine) {
  .gallery-showcase [data-layered-slider-next]:hover .layered-slider__nav-icon {
    transform: translateX(0.25em);
  }

  .gallery-showcase [data-layered-slider-prev]:hover .layered-slider__nav-icon {
    transform: translateX(-0.25em);
  }
}

.gallery-showcase .gallery-showcase__close {
  
  --showcase-close-size: max(44px, 2.9rem);
  position: absolute;
  top: calc(2em + (2.5em - var(--showcase-close-size)) / 2);
  right: calc(2em + (2.5em - var(--showcase-close-size)) / 2);
  z-index: var(--z-above-content-high);
  pointer-events: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--showcase-close-size);
  height: var(--showcase-close-size);
  padding: 0;
  border: none;
  background: transparent;
  color: var(--ink-invert);
  cursor: pointer;
}

.gallery-showcase .gallery-showcase__close-bar {
  background-color: currentColor;
  width: 1.65em;
  height: 0.1em;
  position: absolute;
  transition: transform 0.5s cubic-bezier(.7, 0, .3, 1);
}

.gallery-showcase .gallery-showcase__close-bar:nth-child(1) {
  transform: rotate(45deg);
}

.gallery-showcase .gallery-showcase__close-bar:nth-child(2) {
  transform: rotate(-45deg);
}

@media (hover: hover) and (pointer: fine) {
  .gallery-showcase .gallery-showcase__close:hover .gallery-showcase__close-bar:nth-child(1) {
    transform: rotate(45deg) scale(0.7, 1);
  }

  .gallery-showcase .gallery-showcase__close:hover .gallery-showcase__close-bar:nth-child(2) {
    transform: rotate(-45deg) scale(0.7, 1);
  }
}

.gallery-showcase .gallery-showcase__close:focus-visible {
  outline: max(2px, calc(var(--border-thin) * 2)) solid var(--accent-on-dark);
  outline-offset: calc(var(--border-thin) * 2);
}

@media (prefers-reduced-motion: no-preference) {
  .gallery-showcase:not(.is--reduced-motion) {
    transition: opacity var(--duration-fast) ease;
  }
}

@media screen and (max-width: 767.98px) {
  .gallery-showcase .layered-slider__text-title {
    font-size: 2.5em;
  }

  .gallery-showcase .layered-slider__overlay {
    padding: 1em;
  }

  .gallery-showcase .layered-slider__overlay-btm {
    align-items: center;
    justify-content: center;
  }

  .gallery-showcase .layered-slider__nav {
    align-items: center;
    justify-content: space-between;
    width: 100%;
  }

  .gallery-showcase .gallery-showcase__close {
    top: calc(1em + (2.5em - var(--showcase-close-size)) / 2);
    right: calc(1em + (2.5em - var(--showcase-close-size)) / 2);
  }
}

@media screen and (max-width: 479.98px) {
  .gallery-showcase .layered-slider__mask-collection {
    width: clamp(7em, 16vh, 9em);
  }
}

.pdp-watermark {
  padding-top: clamp(5rem, 8vw, 8rem);
  color: var(--p1-ink);
}

.pdp-watermark__layout {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  column-gap: var(--gutter-left);
  align-items: center;
}

.pdp-watermark__stage {
  grid-column: 1;
  grid-row: 1;
  display: grid;
  place-items: center;
  min-width: 0;
  padding: clamp(3rem, 6vw, 6rem) clamp(1.5rem, 4vw, 4rem);
  border-radius: var(--radius-card);
  background: var(--surface-glacier);
  background:
    radial-gradient(ellipse 75% 65% at 28% 18%, color-mix(in srgb, var(--surface-white) 55%, transparent), transparent 72%),
    var(--surface-glacier);
}

.pdp-watermark__copy {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
}

.pdp-watermark__eyebrow {
  margin: 0 0 1.5rem;
  color: var(--ink-muted);
  font-size: max(0.7rem, var(--pdp-floor-meta, 11px));
  font-weight: 650;
  line-height: 1.2;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.pdp-watermark__title {
  max-width: 10ch;
  margin: 0;
  font-size: clamp(2.5rem, 4.2vw, 3.75rem);
  font-weight: 430;
  line-height: 0.98;
  letter-spacing: -0.04em;
  text-wrap: balance;
}

.pdp-watermark__body {
  max-width: 34ch;
  margin: clamp(1.5rem, 2.5vw, 2.25rem) 0 0;
  font-size: max(clamp(1rem, 1.3vw, 1.15rem), 15px);
  line-height: 1.6;
  text-wrap: pretty;
}

.pdp-watermark__note {
  max-width: 38ch;
  margin: 1.25rem 0 0;
  color: var(--ink-muted);
  font-size: max(0.88rem, 14px);
  line-height: 1.55;
  text-wrap: pretty;
}

.pdp-watermark .pdp-watermark__badge {
  width: max(22rem, 340px);
  max-width: 100%;
  min-height: max(28rem, 432px);
  margin: 0;
  font-size: 1rem;
  border: var(--border-thin) solid rgba(255, 255, 255, 0.72);
  background: rgba(255, 255, 255, 0.5);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.76),
    0 1.5em 4em rgba(36, 78, 92, 0.14);
}

.pdp-watermark .glass-text {
  color: var(--ink);
}

.pdp-watermark .pdp-watermark__badge {
  flex-direction: column;
  align-items: stretch;
  gap: 1.25em;
  padding: 2em 1.75em;
}

.pdp-watermark .pdp-watermark__badge > dl {
  position: relative;
  z-index: var(--z-local-2);
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
  white-space: normal;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 1em;
  row-gap: 0.75em;
  align-items: baseline;
  text-align: left;
  color: var(--ink);
  font-size: max(0.875em, 14px);
}

.pdp-watermark .pdp-watermark__badge > dl dt {
  color: var(--ink-muted);
  font-size: max(0.6875em, 11px);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.pdp-watermark .pdp-watermark__badge > dl dd {
  margin: 0;
  text-align: right;
  overflow-wrap: normal;
}

.pdp-watermark .pdp-watermark__symbol {
  position: relative;
  z-index: var(--z-local-2);
  flex: none;
  align-self: center;
  width: auto;
  height: calc(3.75rem * 450 / 880);
}

.pdp-watermark .pdp-watermark__symbol--standardsmark {
  height: 3.25rem;
}

@media screen and (min-width: 1000px) {
  .pdp-watermark--pair .pdp-watermark__badge:not(.is--lens-on) {
    justify-content: flex-start;
    padding-top: 4.5em;
  }

  .pdp-watermark--pair .pdp-watermark__symbol:not(.pdp-watermark__symbol--standardsmark) {
    margin-top: calc(3.25rem - 3.75rem * 450 / 880);
  }
}

@media screen {
  .pdp-watermark .pdp-watermark__badge.is--lens-on > .pdp-watermark__symbol {
    display: none;
  }
}

.pdp-watermark .pdp-watermark__badge:not(.is--lens-on) > dl > dt:first-of-type,
.pdp-watermark .pdp-watermark__badge:not(.is--lens-on) > dl > dd:first-of-type {
  display: none;
}

@media screen {
  .pdp-watermark .pdp-watermark__badge.is--lens-on > dl {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
  }
}

@media print {
  .pdp-watermark .pdp-watermark__badge > dl > dt:first-of-type,
  .pdp-watermark .pdp-watermark__badge > dl > dd:first-of-type {
    display: none;
  }
}

.pdp-watermark .glass-effect__fill {
  background-color: rgba(244, 248, 250, 0.58);
}

.pdp-watermark .glass-badge--card > .lens-canvas {
  filter: brightness(0) saturate(100%) invert(17%) sepia(22%) saturate(1740%) hue-rotate(148deg) brightness(91%) contrast(96%);
}

@media screen and (max-width: 1024.98px) {
  .pdp-watermark__layout {
    grid-template-columns: minmax(0, 1fr);
    row-gap: clamp(2.5rem, 6vw, 3.5rem);
  }

  .pdp-watermark__stage,
  .pdp-watermark__copy {
    grid-column: 1;
    grid-row: auto;
  }

  .pdp-watermark__copy {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas:
      "eyebrow ."
      "title body"
      "title note";
    column-gap: clamp(2rem, 5vw, 4rem);
    align-items: start;
  }

  .pdp-watermark__eyebrow { grid-area: eyebrow; }
  .pdp-watermark__title { grid-area: title; }
  .pdp-watermark__body { grid-area: body; margin-top: 0; }
  .pdp-watermark__note { grid-area: note; }
}

@media screen and (max-width: 767.98px) {
  .pdp-watermark__copy {
    display: block;
  }

  .pdp-watermark__body {
    margin-top: 1.5rem;
  }
}

@media screen and (max-width: 480.98px) {
  .pdp-watermark__stage {
    padding: 0;
    background: none;
  }

  .pdp-watermark .pdp-watermark__badge {
    width: 100%;
    min-height: 20.5rem;
  }
}

@media screen and (min-width: 1025px) {
  .pdp-watermark--pair .pdp-watermark__layout {
    grid-template-columns: minmax(0, 1fr);
    row-gap: clamp(3rem, 4.5vw, 4.5rem);
  }

  .pdp-watermark--pair .pdp-watermark__stage,
  .pdp-watermark--pair .pdp-watermark__copy {
    grid-column: 1;
    grid-row: auto;
  }

  .pdp-watermark--pair .pdp-watermark__copy {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas:
      "eyebrow ."
      "title body"
      "title note";
    column-gap: clamp(2rem, 5vw, 4rem);
    align-items: start;
  }

  .pdp-watermark--pair .pdp-watermark__eyebrow { grid-area: eyebrow; }
  .pdp-watermark--pair .pdp-watermark__title { grid-area: title; }
  .pdp-watermark--pair .pdp-watermark__body { grid-area: body; margin-top: 0; }
  .pdp-watermark--pair .pdp-watermark__note { grid-area: note; }
}

.pdp-watermark--pair .pdp-watermark__stage {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: clamp(2.5rem, 5vw, 4.5rem);
}

@media screen and (min-width: 1000px) and (max-width: 1099.98px) {
  .pdp-watermark--pair .pdp-watermark__stage {
    padding-inline: 0;
    column-gap: 0;
    justify-content: space-evenly;
  }

  .pdp-watermark--pair .pdp-watermark__badge {
    width: clamp(340px, calc((100% - 7.5rem) / 2), 22rem);
  }
}

@media print {
  .pdp-watermark__layout {
    grid-template-columns: minmax(0, 1fr);
    row-gap: clamp(2.5rem, 6vw, 3.5rem);
  }

  .pdp-watermark__stage,
  .pdp-watermark__copy {
    grid-column: 1;
    grid-row: auto;
  }

  .pdp-watermark__copy {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas:
      "eyebrow ."
      "title body"
      "title note";
    column-gap: clamp(2rem, 5vw, 4rem);
    align-items: start;
  }

  .pdp-watermark__eyebrow { grid-area: eyebrow; }
  .pdp-watermark__title { grid-area: title; }
  .pdp-watermark__body { grid-area: body; margin-top: 0; }
  .pdp-watermark__note { grid-area: note; }

  .pdp-watermark .pdp-watermark__badge {
    break-inside: avoid;
  }
}

.body--products-range {
  
  --range-bone: var(--surface-frost);
  --range-ink: var(--commerce-ink);
  --range-slate: var(--ink);
  --range-night: var(--surface-abyss);
  --range-line: rgba(12, 56, 70, 0.2);
  
  background-color: var(--range-bone);
}

.products-range-shell {
  width: 100%;
  margin-inline: auto;
  padding-left: var(--gutter-left);
  padding-right: var(--gutter-right);
}

.body--products-range .products-range-shell {
  padding-left: max(var(--gutter-left), calc((100% - 76rem) / 2));
  padding-right: max(var(--gutter-right), calc((100% - 76rem) / 2));
}

.products-range-hero {
  padding-block: max(9.5rem, calc(7.5rem + env(safe-area-inset-top, 0px))) clamp(3.25rem, 4.5vw, 4.5rem);
  background-color: var(--range-bone);
  color: var(--range-ink);
}

.products-range-hero__inner {
  display: grid;
  justify-items: center;
  text-align: center;
}

.products-range-hero .products-range-hero__inner {
  padding-right: max(var(--gutter-left), calc((100% - 76rem) / 2));
}

.products-range-hero__title {
  
  margin: 0;
  color: inherit;
  
  font-family: 'Instrument Sans', 'Instrument Sans Fallback Range Title', Arial, sans-serif;
  font-size: clamp(3rem, 6vw, 5.5rem);
  font-weight: 400;
  line-height: 0.92;
  letter-spacing: -0.055em;
  text-wrap: balance;
}

.products-range-hero__title em {
  font-family: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif;
  font-weight: 400;
  font-style: italic;
}

@media (prefers-reduced-motion: no-preference) {
  .products-range-hero__title {
    animation: products-range-title-rise 1.05s cubic-bezier(0.16, 1, 0.3, 1) backwards;
  }
}

@keyframes products-range-title-rise {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
}

.products-range-hero__line {
  margin: 1.1rem 0 0;
  color: var(--ink-muted);
  font-size: max(1rem, 15px);
  line-height: 1.6;
}

.body--products-range .pgrid-zone {
  padding-block: clamp(2.5rem, 4vw, 4rem) 0;
  background-color: var(--range-bone);
  color: var(--range-ink);
}

.body--products-range .pgrid-zone--close {
  padding-bottom: clamp(5rem, 9vw, 9rem);
}

.pgrid-close-line {
  margin: clamp(3rem, 5vw, 4.5rem) 0 0;
  color: var(--range-ink);
  font-size: max(0.95rem, 14px);
  line-height: 1.6;
}

.pgrid-close-line a {
  color: inherit;
  font-weight: 600;
  text-decoration: none;
}

.body--products-range .pgrid-zone + .pgrid-zone {
  padding-block-start: clamp(3.5rem, 7vw, 7rem);
}

.body--products-range .pgrid-zone__label {
  margin: 0;
  color: var(--range-slate);
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

:is(.body--products-range, .product-grid-section) .pgrid-systems {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(1.75rem, 3vw, 3rem);
  align-items: start;
}

:is(.body--products-range, .product-grid-section) .pgrid-cartridges {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
}

:is(.body--products-range, .product-grid-section) .pgrid-card__link {
  display: block;
  color: inherit;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

:is(.body--products-range, .product-grid-section) .pgrid-card__frame {
  aspect-ratio: 4 / 5;
  border-radius: var(--radius-card);
}

:is(.body--products-range, .product-grid-section) .pgrid-card__frame--hydrosteel {
  background-color: var(--pgrid-ground-hydrosteel);
}

:is(.body--products-range, .product-grid-section) .pgrid-card__frame--hydrosteel .product-card__img--back,
:is(.body--products-range, .product-grid-section) .pgrid-card__frame--thermosteel .product-card__img--back {
  background-color: var(--surface-deep); 
  background-image: radial-gradient(
    115% 95% at 50% 28%,
    var(--surface-tide)  0%,
    var(--surface-deep) 52%,
    var(--surface-abyss) 100%
  );
}

:is(.body--products-range, .product-grid-section) .pgrid-card__frame--thermosteel {
  background-color: var(--pgrid-ground-thermosteel);
}

:is(.body--products-range, .product-grid-section) .pgrid-card__img--cutout {
  object-fit: contain;
  padding: 0;
}

:is(.body--products-range, .product-grid-section) .pgrid-card__frame--cartridge,
:is(.body--products-range, .product-grid-section) .pgrid-card__frame--cartridge .product-card__img--back {
  background-color: var(--pgrid-ground-cartridge);
}

.pgrid-card__img--hydrosteel {

  max-width: none;
  width: calc(100% * 1400 / 957);
  height: calc(100% * 1556 / 1196);
  padding: 0;
  top: calc(-100% * 147 / 1196);
  left: calc(-100% * 443 / 957);
  right: auto;
  bottom: auto;
}

:is(.body--products-range, .product-grid-section) .pgrid-card__meta {
  padding-top: clamp(1.1rem, 1.6vw, 1.6rem);
}

:is(.body--products-range, .product-grid-section) .pgrid-card__name {
  margin: 0;
  color: var(--ink);
  font-weight: 400;
}

:is(.body--products-range, .product-grid-section) .pgrid-card__line {
  margin: 0.55rem 0 0;
  color: var(--ink-muted);
  text-wrap: pretty;
}

:is(.body--products-range, .product-grid-section) .pgrid-card__price {
  margin: 0;
  color: var(--ink);
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}

:is(.body--products-range, .product-grid-section) .pgrid-card--system .pgrid-card__price {
  margin-top: 1.1rem;
  font-size: clamp(0.95rem, 1.05vw, 1.05rem);
  line-height: 1.3;
}

@media screen and (min-width: 768px) {
  :is(.body--products-range, .product-grid-section) .pgrid-card--system .pgrid-card__line {
    min-height: calc(2 * 1.55em);
  }

  :is(.body--products-range, .product-grid-section) .pgrid-card--system .pgrid-card__meta:not(:has(.pgrid-card__price))::after {
    content: "";
    display: block;
    margin-top: 1.1rem;
    font-size: clamp(0.95rem, 1.05vw, 1.05rem);
    line-height: 1.3;
    height: 1.3em;
  }
}

:is(.body--products-range, .product-grid-section) .pgrid-card--cartridge .pgrid-card__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.85rem;
}

:is(.body--products-range, .product-grid-section) .pgrid-card--cartridge .pgrid-card__name {
  min-width: 0;
}

:is(.body--products-range, .product-grid-section) .pgrid-card--cartridge .pgrid-card__price {
  flex: 0 0 auto;
  font-size: clamp(0.95rem, 1.05vw, 1.05rem);
  line-height: 1.3;
}

:is(.body--products-range, .product-grid-section) .pgrid-card--cartridge .pgrid-card__line {
  margin-top: 0.5rem;
  font-size: 0.8125rem;
  line-height: 1.5;
}

.products-range-stages {
  background-color: var(--range-bone);
  color: var(--range-ink);
  padding-block: clamp(2rem, 5vw, 5rem) clamp(6rem, 10vw, 10rem);
}

.products-range-stages__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: clamp(2rem, 3.5vw, 3.25rem);
}

.products-range-stages__title {
  margin: 0;
  font-size: clamp(2.75rem, 5vw, 5rem);
  font-weight: 400;
  line-height: 0.95;
  letter-spacing: -0.05em;
  text-wrap: balance;
}

@media screen and (max-width: 1024.98px) {
  .products-range-hero__title {
    font-size: clamp(3rem, 7vw, 4.5rem);
  }

}

@media screen and (max-width: 767.98px) {
  .products-range-shell {
    padding-inline: var(--gutter-left) var(--gutter-right);
  }

  .products-range-hero {
    
    padding-block: max(7.5rem, calc(6rem + env(safe-area-inset-top, 0px))) 2.75rem;
  }

  .products-range-hero__title {
    
    font-size: clamp(2.75rem, 13vw, 4rem);
    line-height: 0.9;
  }

  :is(.body--products-range, .product-grid-section) .pgrid-systems {
    grid-template-columns: minmax(0, 1fr);
    row-gap: clamp(3rem, 6vw, 5rem);
  }

  :is(.body--products-range, .product-grid-section) .pgrid-cartridges {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 1.5rem;
  }

  :is(.body--products-range, .product-grid-section) .pgrid-card--cartridge .pgrid-card__link {
    display: grid;
    grid-template-columns: 6.5rem minmax(0, 1fr);
    column-gap: 1.25rem;
    align-items: center;
  }

  :is(.body--products-range, .product-grid-section) .pgrid-card--cartridge .pgrid-card__meta {
    padding-top: 0;
  }

  :is(.body--products-range, .product-grid-section) .pgrid-card--cartridge .pgrid-card__line {
    max-width: none;
  }

  .body--products-range .pgrid-zone--close {
    padding-bottom: 5rem;
  }

  .products-range-stages {
    padding-block: 1rem 6rem;
  }

  .products-range-stages__head {
    margin-bottom: 2rem;
  }

}

@media screen and (min-width: 568px) and (max-width: 767.98px) and (orientation: landscape) {
  :is(.body--products-range, .product-grid-section) .pgrid-systems {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 767.98px) {
  .body--products-range .pgrid-zone__label {
    
    font-size: max(0.8125rem, 13px);
  }

  :is(.body--products-range, .product-grid-section) .pgrid-card--cartridge .pgrid-card__line {
    font-size: max(0.8125rem, var(--pdp-floor-body));
  }

  :is(.body--products-range, .product-grid-section) .pgrid-card--cartridge .pgrid-card__price {
    font-size: max(clamp(0.95rem, 1.05vw, 1.05rem), var(--pdp-floor-body));
  }

  :is(.body--products-range, .product-grid-section) .pgrid-card--system .pgrid-card__price {
    font-size: max(clamp(0.95rem, 1.05vw, 1.05rem), var(--pdp-floor-body));
  }

}

@media (scripting: none) {
  [data-select-add],
  .bold-nav-full__selection-button {
    display: none !important;
  }
}

.selection-overlay {
  position: fixed;
  inset: 0;
  z-index: var(--z-selection-overlay);
  background-color: transparent;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease, background-color 0.3s ease;
}

.selection-overlay.active {
  
  background-color: color-mix(in srgb, var(--surface-abyss) 50%, transparent);
  opacity: 1;
  pointer-events: auto;
}

.selection-panel {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: var(--z-selection-panel);
  width: 28em;
  max-width: 100%;
  
  background-color: transparent;
  color: var(--color-text);
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.4s cubic-bezier(0.65, 0, 0.35, 1),
              background-color 0s linear 0.4s,
              visibility 0s linear 0.4s;
  
  visibility: hidden;
}

.selection-panel[data-selection-status="active"] {
  background-color: var(--color-bg);
  transform: translateX(0);
  visibility: visible;
  transition: transform 0.4s cubic-bezier(0.65, 0, 0.35, 1),
              background-color 0s linear 0s,
              visibility 0s linear 0s;
}

.selection-panel__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.75em 2em;
  border-bottom: 1px solid var(--color-border);
  flex-shrink: 0;
}

.selection-panel__title {
  font-size: 2em;
  font-weight: 400;
  margin: 0;
}

.selection-panel__title-serif {
  font-family: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif;
  font-style: italic;
  font-weight: 400;
}

.selection-panel__message {
  margin: 0;
  padding: 1em 2em;
  border-bottom: var(--border-thin) solid var(--color-border);
  color: var(--color-text);
  font-size: var(--text-small);
  line-height: 1.4;
}

.selection-panel__message[hidden] {
  display: none;
}

.selection-panel__close {
  background: none;
  border: none;
  cursor: pointer;
  width: 2em;
  height: 2em;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  
  overflow: visible;
}

.selection-panel__close::after,
.selection-panel__remove::after,
.selection-panel__clear-btn::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: max(100%, 44px);
  height: max(100%, 44px);
  transform: translate(-50%, -50%);
}

.selection-panel__close-bar {
  background-color: var(--color-text);
  width: 2em;
  height: 0.125em;
  position: absolute;
  transition: transform 0.5s cubic-bezier(.7, 0, .3, 1);
}

.selection-panel__close-bar:nth-child(1) {
  transform: rotate(45deg) scale(1, 1);
}

.selection-panel__close-bar:nth-child(2) {
  transform: rotate(-45deg) scale(1, 1);
}

@media (hover: hover) and (pointer: fine) {
  .selection-panel__close:hover .selection-panel__close-bar:nth-child(1) {
    transform: rotate(45deg) scale(0.7, 1);
  }

  .selection-panel__close:hover .selection-panel__close-bar:nth-child(2) {
    transform: rotate(-45deg) scale(0.7, 1);
  }
}

.selection-panel__body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding: 1.5em 2em;
  display: flex;
  flex-direction: column;
}

.selection-panel__body::-webkit-scrollbar {
  width: 0.25em;
}

.selection-panel__body::-webkit-scrollbar-thumb {
  background: var(--color-border);
  border-radius: 0.125em;
}

.selection-panel__empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1em;
  margin: auto 0;
  padding: 0 1em;
  text-align: center;
}

.selection-panel__empty-line {
  margin: 0;
  color: var(--ink-muted);
  font-size: 1.05em;
  font-weight: 400;
}

.selection-panel__empty-link {
  color: var(--color-text);
  font-size: 0.9em;
  text-decoration: none;
  position: relative;
}

.selection-panel__empty-link::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: max(100%, 44px);
  height: max(100%, 44px);
  transform: translate(-50%, -50%);
}

.selection-panel__item {
  display: flex;
  gap: 1.25em;
  padding: 1.25em 0;
  border-bottom: 1px solid var(--color-border);
}

.selection-panel__item:last-child {
  border-bottom: none;
}

.selection-panel__item-image {
  width: 7em;
  object-fit: contain;
  border-radius: 0.5em;
  flex-shrink: 0;
  background-color: var(--surface-glacier);
  padding: 0.5em;
}

.selection-panel__item-details {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.25em;
}

.selection-panel__item-top {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.selection-panel__item-name {
  font-weight: 600;
  font-size: var(--text-body);
  margin: 0;
}

.selection-panel__item-colour {
  font-size: 0.8125em;
  color: var(--color-text);
  margin: 0;
}

.selection-panel__item-price {
  font-size: var(--text-body);
  margin: 0;
}

.selection-panel__item-controls {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-top: 0.6em;
}

.selection-panel__remove {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  font-size: 0.8125em;
  color: var(--color-text);
  position: relative;
}

.selection-panel__footer {
  padding: 1.5em 2em;
  border-top: 1px solid var(--color-border);
  flex-shrink: 0;
}

@media (max-height: 30rem) {
  .selection-panel {
    overflow-y: auto;
    overscroll-behavior: contain;
    scroll-padding-bottom: 120px;
  }

  .selection-panel__body {
    flex: 1 0 auto;
    overflow-y: visible;
  }

  .selection-panel__footer {
    position: sticky;
    bottom: 0;
    background-color: var(--color-bg);
  }
}

@media (max-height: 15rem) {
  .selection-panel__footer {
    position: static;
  }
}

.selection-panel__actions {
  display: flex;
  flex-direction: column;
  gap: 0.75em;
}

.selection-panel__enquire-btn {
  position: relative;
  isolation: isolate;
  overflow: clip;
  display: block;
  text-align: center;
  text-decoration: none;
  background: transparent;
  color: var(--color-white);
  border: none;
  cursor: pointer;
  padding: 0.875em 1.5em;
  border-radius: var(--radius-button);
  font-size: var(--text-body);
  font-weight: 500;
}

.selection-panel__enquire-btn .button-046__bg {
  position: absolute;
  inset: 0;
  z-index: var(--z-base);
  border-radius: var(--radius-button);
  background-color: var(--surface-deep);
  transition: background-color 0.25s ease-out;
}

.selection-panel__enquire-btn .button-046__bg-circle {
  position: absolute;
  inset: 0;
  z-index: var(--z-local-1);
  overflow: clip;
  pointer-events: none;
}

.selection-panel__enquire-btn .button-046__circle {
  background-color: var(--accent);
}

.selection-panel__enquire-btn .button-046__inner {
  position: relative;
  z-index: var(--z-local-2);
  display: block;
}

.selection-panel__enquire-btn:focus-visible .button-046__bg {
  background-color: var(--accent);
}

@media (hover: hover) and (pointer: fine) {
  .selection-panel__enquire-btn:not([data-button-046-bound]):hover .button-046__bg {
    background-color: var(--accent);
  }
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: reduce) {
  .selection-panel__enquire-btn:hover .button-046__bg {
    background-color: var(--accent);
  }
}

@media (hover: none), (pointer: coarse) {
  .selection-panel__enquire-btn:active .button-046__bg {
    background-color: var(--accent);
  }
}

.selection-panel__clear-btn {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  align-self: center;
  font-size: 0.8125em;
  color: var(--color-text);
  position: relative;
}

@media screen and (max-width: 767.98px) {
  .selection-panel {
    width: 100%;
    font-size: 16px;
  }
  .selection-panel__header {
    padding: 1.5em 1.25em;
  }
  .selection-panel__message {
    padding: 1em 1.25em;
  }
  .selection-panel__body {
    padding: 1.25em;
  }
  .selection-panel__footer {
    padding: 1.25em;
  }
}

:root {
  --about-section-pad: clamp(3rem, 6vh, 5rem);
  --about-deep: #0C3846;
  --about-slate: #527583;
  --about-chapter-start: #527583;
  --about-chapter-mid: rgb(155, 180.5, 189.5); 
  --about-chapter-end: #E4F4F8;
  --about-chapter-mid-progress: 0.5;
  --about-chapter-ink-flip: 0.727;
  --about-light: #E4F4F8;
  --about-light-soft: var(--surface-glacier);
  --about-near-white: #F4F8FA;
  --about-dark-ink: #0C3846;
  --about-dark-ink-soft: rgba(12, 56, 70, 0.78);
}

.body--about-us:has(.horizontal-scroll[data-field-variant="a"]) {
  --about-chapter-start: #47707F;
  --about-chapter-mid: #4E8598;
  --about-chapter-end: #E4F4F8;
  --about-chapter-mid-progress: 0.5;
  --about-chapter-ink-flip: 0.727;
}

.about-hero {
  width: 100%;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  overflow: hidden; 
  background-color: var(--surface-deep);
  text-align: center;
  padding: var(--about-section-pad) var(--gutter-right) var(--about-section-pad) var(--gutter-left);
  padding-top: max(var(--about-section-pad), env(safe-area-inset-top, 0px));
}

.about-hero__content {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.about-hero__heading {
  font-weight: 400;
  color: var(--color-white);
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.15em;
}

.about-hero__line1 {
  display: block;
  font-size: clamp(1.25rem, 1vw + 1rem, 1.875rem);
  line-height: 1.2;
}

.about-hero__everpure-svg {
  height: 2.667em;
  width: auto;
  max-width: 100%;
  display: block;
  margin: 0.15em auto 0;
}

.about-hero__subtext-wrap {
  width: 100%;
  max-width: 42em;
  padding-bottom: 3em;
}

.about-hero__subtext {
  font-size: clamp(0.9375rem, 0.5vw + 0.8125rem, 1.25rem);
  font-weight: 400;
  color: var(--color-white);
  margin: 0;
  text-align: center;
  line-height: 1.6;
}

.about-hero__content,
.about-hero__subtext-wrap {
  position: relative;
  z-index: var(--z-local-1);
}

.about-hero__wordmark-mask {
  display: block;
  overflow: hidden;
  margin: 0.15em auto 0;
  width: fit-content;
  max-width: 100%;
}
.about-hero__wordmark-mask .about-hero__everpure-svg {
  margin: 0;
}

.about-hero .hero-scroll-cue {
  z-index: var(--z-local-3);
}

@media screen and (max-width: 767.98px) {
  .about-hero__wordmark-mask {
    width: 100%;
  }

  .about-hero__everpure-svg {
    width: 100%;
    height: auto;
  }

  .about-hero__subtext-wrap {
    padding-bottom: 2em;
  }

  .about-hero__subtext br {
    display: none;
  }
}

@media screen and (max-width: 480.98px) {
  .about-hero__subtext-wrap {
    padding-bottom: 1.5em;
  }
}

.about-image-hero {
  width: 100%;
  height: 100vh;
  position: relative;
  overflow: hidden;
  background-color: var(--color-bg);
}

.about-image-hero__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  position: absolute;
  top: 0;
  left: 0;
  transform-origin: center center;
  will-change: transform;
}

@media screen and (max-width: 1024.98px) {
  .about-image-hero__img {
    position: relative;
    top: 0;
    height: 100%;
    will-change: auto;
  }
}

@media screen and (max-width: 767.98px) {
  .about-image-hero__img {
    object-position: 67% center;
  }
}

.about-manifesto {
  width: 100%;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--surface-deep);
  padding: var(--about-section-pad) var(--gutter-right) var(--about-section-pad) var(--gutter-left);
}

.about-manifesto__text {
  font-family: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif;
  font-style: normal;
  font-weight: 400;
  font-size: clamp(2.25rem, 3vw + 1.25rem, 2.75rem);
  color: var(--color-white);
  text-align: center;
  margin: 0;
  max-width: 90vw;
  line-height: 1.35;
}

.about-manifesto__text em {
  font-style: italic;
}

.about-manifesto__text[data-highlight-text] {
  will-change: opacity;
}

@media screen and (max-width: 767.98px) {
  .about-manifesto__text br {
    display: none;
  }
}

.horizontal-scroll {
  position: relative;
  background-color: var(--surface-deep);
  
  padding-top: 45vh;
  padding-top: 45svh;
}

.horizontal__wrap {
  display: block;
  width: 100%;
}

.horizontal__panel {
  position: relative;
  
  height: 200vh;
  height: 200svh;
  background-color: var(--surface-deep);
}

.horizontal__panel:not(:last-child) {
  margin-bottom: 33.33vh;
  margin-bottom: 33.33svh;
}

.horizontal__panel-sticky {
  position: sticky;
  top: 0;
  width: 100%;
  height: 100vh;
  height: 100svh;
  overflow: hidden;
  background-color: var(--surface-deep);
}

.horizontal__panel-media {
  position: absolute;
  inset: 0;
  overflow: hidden;
  transform-origin: center bottom;
  will-change: transform;
  z-index: var(--z-local-2);
}

.horizontal__panel-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transform-origin: center center;
  will-change: transform;
  pointer-events: none;
}

.horizontal__panel-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background:
    radial-gradient(115% 78% at 50% 50%, rgba(12, 56, 70, 0.58) 0%, rgba(12, 56, 70, 0.40) 42%, rgba(12, 56, 70, 0.20) 70%, rgba(12, 56, 70, 0.34) 100%);
  pointer-events: none;
  z-index: var(--z-local-1);
}

.horizontal__keyword {
  position: absolute;
  left: 50%;
  top: 20%;
  transform: translate(-50%, -50%);
  margin: 0;
  width: 100%;
  text-align: center;
  pointer-events: none;
  z-index: var(--z-base);
}

.horizontal__word {
  display: inline-block;
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
  font-weight: 700; 
  text-transform: uppercase;
  font-size: clamp(60px, 11.5vw, 170px);
  line-height: 0.9;
  letter-spacing: -0.01em;
  white-space: nowrap;
  will-change: transform;
}

.horizontal__statement {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(58rem, 64vw);
  text-align: center;
  pointer-events: none;
  z-index: var(--z-local-2);
}

.horizontal__body {
  margin: 0 0 0.9em;
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
  font-weight: 400;
  
  font-size: max(clamp(1.125rem, 0.55vw + 0.95rem, 1.5rem), 14px);
  line-height: 1.5;
  text-wrap: pretty;
  color: var(--color-white);
  
  text-shadow: 0 1px 18px rgba(8, 38, 48, 0.55);
}

.horizontal__body:last-child {
  margin-bottom: 0;
}

.horizontal__pull-line {
  margin: 0.75em 0 0;
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
  font-size: clamp(1.45rem, 1.3vw + 1rem, 2.35rem);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.012em;
  text-wrap: balance;
  color: var(--about-dark-ink);
  text-shadow: 0 1px 16px rgba(228, 244, 248, 0.64);
}

.horizontal__kicker {
  position: absolute;
  left: 0;
  right: 0;
  bottom: clamp(2rem, 6vh, 4rem);
  text-align: center;
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
  font-weight: 600;
  font-size: max(0.8125rem, 11px); 
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.85);
  pointer-events: none;
  z-index: var(--z-local-3);
}

@media screen and (min-width: 768px) and (max-width: 1024.98px) {
  .horizontal__statement { width: 76vw; }
}

@media screen and (max-width: 767.98px) {
  .horizontal__word {
    font-size: clamp(40px, 13vw, 92px);
  }
  .horizontal__statement {
    width: calc(100% - var(--gutter-left) - var(--gutter-right));
  }
  .horizontal__body {
    font-size: max(clamp(1rem, 1vw + 0.85rem, 1.1875rem), 14px);
  }
  .horizontal__keyword { top: 22%; }
}

.horizontal__indicator {
  position: fixed;
  left: var(--gutter-left);
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 0.75em;
  z-index: var(--z-above-content-high);
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
  font-size: 0.8125rem;
  letter-spacing: 0.18em;
  opacity: 0;
  pointer-events: none;
  
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0s linear 0.5s;
}
.horizontal__indicator.is-visible {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
  transition: opacity 0.5s ease, visibility 0s;
}
.horizontal__indicator-item {
  min-width: 44px;
  min-height: 24px;
  margin: 0;
  padding: 4px 0;
  text-align: left;
  border: 0;
  background: none;
  font: inherit;
  letter-spacing: inherit;
  
  color: rgba(255, 255, 255, 0.9);
  text-shadow: 0 0 4px rgba(8, 38, 48, 0.8), 0 0 10px rgba(8, 38, 48, 0.7), 0 1px 18px rgba(8, 38, 48, 0.55);
  cursor: pointer;
  transition: color 0.4s ease, text-shadow 0.4s ease;
}
.horizontal__indicator-item:hover,
.horizontal__indicator-item:focus-visible {
  color: var(--color-white);
}
.horizontal__indicator-item.is-active {
  color: var(--color-white);
  font-weight: 600;
}

.about-manifesto,
.about-origin,
.watermark-cert {
  border-top: var(--border-thin) solid rgba(255, 255, 255, 0.10);
}

.body--about-us .about-grain {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: var(--z-grain);
  opacity: 0.03; 
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 160px 160px;
}

@media screen and (max-width: 1024.98px) {
  
  .horizontal__indicator { display: none; }
}

.about-origin {
  
  min-height: 100vh;
  background-color: var(--surface-deep);
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: var(--about-section-pad) var(--gutter-right) var(--about-section-pad) var(--gutter-left);
}

.about-origin__heading {
  text-align: center;
  font-size: clamp(1.75rem, 2vw + 0.75rem, 2.5rem);
  font-weight: 400;
  color: var(--color-white);
  margin: 0 0 0.8em;
  line-height: 1.2;
  text-wrap: balance;
  flex-shrink: 0;
}

.about-origin__heading-sans {
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
}

.about-origin__heading-serif {
  font-family: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif;
  font-style: italic;
}

.about-origin__inner {
  display: flex;
  align-items: stretch;
  gap: 3.5em;
  max-width: 72em;
  width: 100%;
  flex: 1;
  min-height: 0;
}

.about-origin__image-wrap {
  flex: 1;
  min-height: 0;
  overflow: hidden;
  border-radius: var(--radius-card);
  position: relative;
  
  isolation: isolate;
}

.about-origin__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  position: absolute;
  top: 0;
  left: 0;
  transform-origin: center center;
  will-change: transform;
}

.about-origin__text {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: rgba(255, 255, 255, 0.86);
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
  font-size: 1em;
  font-weight: 400;
  line-height: 1.7;
}

.about-origin__text p {
  margin: 0 0 1em;
  text-wrap: pretty;
}

.about-origin__text p:last-child {
  margin: 1.5em 0 0;
  font-family: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif;
  font-style: italic;
  font-size: 1.3em;
  line-height: 1.4;
  color: var(--color-white);
}

@media screen and (max-width: 1024.98px) {
  .about-origin__inner {
    gap: 2.5em;
  }

  .about-origin__text {
    font-size: 0.9375em;
  }
}

@media screen and (max-width: 767.98px) {
  .about-origin {
    height: auto;
    min-height: 100vh;
  }

  .about-origin__inner {
    flex-direction: column;
    gap: 2em;
    flex: none;
  }

  .about-origin__image-wrap {
    flex: none;
    width: 100%;
    height: 40vh;
    order: 2;
  }

  .about-origin__text {
    order: 1;
  }

  .about-origin__heading {
    margin-bottom: 0.6em;
  }

  .about-origin__text {
    font-size: var(--text-body);
  }
}

@media screen and (max-width: 480.98px) {
  .about-origin__image-wrap {
    height: 35vh;
  }

  .about-origin__text {
    font-size: var(--text-small);
    line-height: 1.55;
  }
}

.watermark-cert {
  height: 100vh;
  background: var(--surface-deep);
  display: flex;
  align-items: center;
  padding: var(--about-section-pad) var(--gutter-right) var(--about-section-pad) var(--gutter-left);
}

.watermark-cert__grid {
  display: grid;
  grid-template-columns: 1.3fr 0.7fr;
  gap: 3em;
  align-items: center;
  max-width: 1400px;
  margin: 0 auto;
}

.watermark-cert__heading {
  font-size: clamp(2rem, 2.5vw + 1rem, 3.5rem);
  font-weight: 400;
  color: var(--color-white);
  margin-bottom: 1em;
  line-height: 1.1;
  letter-spacing: -0.01em;
  text-wrap: balance;
}

.watermark-cert__heading-sans {
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', system-ui, sans-serif;
  font-style: normal;
}

.watermark-cert__heading-serif {
  font-family: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif;
  font-style: italic;
}

.watermark-cert__body {
  max-width: 34em;
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', system-ui, sans-serif;
  font-size: max(var(--text-body), 14px); 
  color: rgba(255, 255, 255, 0.88);
  line-height: 1.7;
  margin-bottom: 1.25em;
  text-wrap: pretty;
}

.watermark-cert__closing {
  max-width: 26em;
  font-family: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif;
  font-style: italic;
  font-size: 1.3em;
  color: var(--color-white);
  margin-top: 1.75em;
  line-height: 1.4;
}

.glass-badge--card {
  border-radius: var(--radius-card);
  padding: 0;
  text-align: center;
  background: transparent;
  border: none;
  min-height: 28em;
}

@media (max-width: 1024.98px) {
  .watermark-cert {
    height: auto;
    min-height: 100vh;
  }

  .watermark-cert__grid {
    grid-template-columns: 1fr;
  }

  .glass-badge--card {
    margin-top: 2em;
    min-height: 22em;
  }
}

@media (max-width: 480.98px) {
  .glass-badge--card {
    min-height: 18em;
  }
}

.about-cta {
  
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background-color: var(--surface-deep);
  padding: var(--about-section-pad) var(--gutter-right) var(--about-section-pad) var(--gutter-left);
  border-top: var(--border-thin) solid rgba(255, 255, 255, 0.10);
}

.about-cta__inner {
  max-width: 40em;
}

.about-cta__chapter {
  display: block;
  margin-bottom: 1.25em;
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
  font-size: max(0.8125rem, 11px); 
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.68);
}

.about-cta__heading {
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
  font-weight: 400;
  font-size: clamp(2.25rem, 4vw + 1rem, 4.5rem);
  letter-spacing: -0.015em;
  line-height: 1.1;
  color: var(--color-white);
  margin: 0 0 1.5em;
  text-wrap: balance;
}

.about-cta__heading em {
  font-family: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif;
  font-style: italic;
  letter-spacing: 0;
}

.about-cta .button-035 {
  --button-035-color: var(--surface-deep);
  --button-035-color-background: var(--color-white);
  --button-035-hover-color: var(--surface-deep);
  --button-035-hover-color-background: var(--color-bg);
  --button-035-color-focus: var(--color-white);
  --button-035-border-radius: 2.5em;
  --button-035-padding: 0.95em 1.7em;
  --button-035-gap: 0.4em;
  --button-035-focus-inset: -0.25em;
  --button-035-hover-scale: 1.04 1.06;
  --button-035-click-scale: 0.97 0.95;
  --button-035-ease-hover: cubic-bezier(0.4, 0.15, 0, 1);
  --button-035-ease-click: cubic-bezier(0.4, 0, 0.2, 1);
  --button-035-ease-focus: cubic-bezier(0.32, 0.72, 0, 1);
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
  font-size: 1rem;
  font-weight: 500;
}

.button-035 {
  -webkit-user-select: none;
  user-select: none;
  background-color: #0000;
  outline-style: none;
  padding: 0;
  line-height: 1;
  text-decoration: none;
  display: inline-grid;
  position: relative;
  -webkit-tap-highlight-color: transparent;
  transition: scale 0.45s var(--button-035-ease-hover), transform 0.15s var(--button-035-ease-click);
}

.button-035::after {
  content: '';
  display: block;
  position: absolute;
  inset: var(--button-035-focus-inset);
  border-radius: var(--button-035-border-radius);
  transition: box-shadow 0.3s var(--button-035-ease-focus);
  pointer-events: none;
  z-index: 1;
}

.button-035:is(:focus-visible)::after {
  box-shadow: 0 0 0 0.125em var(--button-035-color-focus);
}

.button-035:active {
  scale: var(--button-035-click-scale);
}

.button-035__hover {
  width: 100%;
  height: 100%;
  color: var(--button-035-hover-color);
  z-index: 1;
  grid-area: 1 / 1;
  display: grid;
  clip-path: polygon(calc(50% + 1em) 0%, calc(50% + 1em) 0%, calc(50% - 1em) 100%, calc(50% - 1em) 100%);
  transition: clip-path 0.75s var(--button-035-ease-hover);
}

.button-035__bg {
  border-radius: var(--button-035-border-radius);
  grid-area: 1 / 1;
  width: 100%;
  height: 100%;
  padding: 0;
}

.button-035__bg.is--hover {
  background-color: var(--button-035-hover-color-background);
}

.button-035__bg.is--default {
  background-color: var(--button-035-color-background);
  width: calc(100% - 1px);
  height: calc(100% - 1px);
}

.button-035__inner {
  width: 100%;
  height: 100%;
  padding: var(--button-035-padding);
  grid-column-gap: var(--button-035-gap);
  grid-row-gap: var(--button-035-gap);
  grid-area: 1 / 1;
  justify-content: center;
  align-items: center;
  display: flex;
}

.button-035__default {
  width: 100%;
  height: 100%;
  color: var(--button-035-color);
  grid-area: 1 / 1;
  display: grid;
}

.button-035__icon {
  flex: none;
  width: .75em;
  height: .75em;
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .button-035:is(:hover, :focus-visible),
  [data-hover]:is(:hover, :focus-visible) .button-035 {
    scale: var(--button-035-hover-scale);
  }

  .button-035:is(:hover, :focus-visible) .button-035__hover,
  [data-hover]:is(:hover, :focus-visible) .button-035 .button-035__hover {
    clip-path: polygon(-25% 0%, 125% 0%, 125% 100%, -25% 100%);
    transition-delay: 0.05s;
  }
}

.about-hero {
  min-height: 100vh;
  min-height: 100svh;
  background: var(--about-deep);
  isolation: isolate;
}

.about-hero__media,
.about-hero__base,
.about-hero__still,
.about-hero__film,
.about-hero__scrim {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.about-hero__media {
  z-index: var(--z-base);
  overflow: hidden;
  pointer-events: none;
}

.about-hero__base {
  background:
    radial-gradient(72% 65% at 52% 18%, rgba(154, 211, 224, 0.2), transparent 66%),
    linear-gradient(160deg, #143F4C 0%, var(--about-deep) 52%, #082B37 100%);
}

.about-hero__still,
.about-hero__film {
  object-fit: cover;
  object-position: center center;
  opacity: 0;
  transition: opacity 1.1s ease;
}

.about-hero__still.is-loaded,
.about-hero__film.is-ready {
  opacity: 1;
}

.about-hero__film {
  z-index: var(--z-local-1);
}

.about-hero__scrim {
  z-index: var(--z-local-2);
  background:
    linear-gradient(to bottom, rgba(5, 28, 37, 0.18), rgba(5, 28, 37, 0.38)),
    radial-gradient(80% 70% at 50% 42%, transparent 20%, rgba(4, 29, 38, 0.34) 100%);
}

.about-hero__content,
.about-hero__subtext-wrap {
  z-index: var(--z-local-3);
}

.about-hero__line1 {
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
  font-size: clamp(1.5rem, 1.5vw + 1rem, 2.5rem);
}

.about-hero__line1 em {
  display: inline-block;
  padding-bottom: 0.08em;
  font-family: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif;
  font-style: italic;
  line-height: 1.1;
}

.about-hero__subtext-wrap {
  max-width: 28em;
}

.about-manifesto {
  position: relative;
  isolation: isolate;
  min-height: 100vh;
  min-height: 100svh;
  height: auto;
  overflow: hidden;
  background: var(--about-deep);
}

.about-manifesto__ground,
.about-manifesto__scrim {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.about-manifesto__ground {
  z-index: var(--z-base);
  object-fit: cover;
  object-position: center center;
  opacity: 0.62;
  transform: scale(1.04);
}

.about-manifesto__scrim {
  z-index: var(--z-local-1);
  background:
    linear-gradient(rgba(12, 56, 70, 0.74), rgba(12, 56, 70, 0.78)),
    radial-gradient(70% 60% at 50% 40%, rgba(12, 56, 70, 0.24), rgba(5, 33, 42, 0.72));
}

.about-manifesto__text {
  position: relative;
  z-index: var(--z-local-2);
  max-width: 34em;
  color: var(--about-near-white);
  text-wrap: balance;
}

.about-manifesto__visual {
  display: block;
  
  text-wrap: pretty;
}

.about-origin {
  min-height: 120vh;
  min-height: 120svh;
  background: var(--about-deep);
  align-items: flex-start;
  justify-content: center;
}

.about-origin__eyebrow,
.watermark-cert__eyebrow {
  margin: 0 0 1.5em;
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.about-origin__eyebrow {
  color: rgba(244, 248, 250, 0.68);
}

.about-origin__heading {
  max-width: 15em;
  margin: 0 0 1.1em;
  text-align: left;
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
  font-size: clamp(2.25rem, 3vw + 1rem, 4.75rem);
  line-height: 1.06;
}

.about-origin__heading em {
  display: inline-block;
  padding-bottom: 0.08em;
  font-family: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif;
  font-style: italic;
  line-height: 1.1;
}

.about-origin__inner {
  max-width: 86em;
  gap: clamp(2.5rem, 6vw, 7rem);
}

.about-origin__image-wrap {
  min-height: 48em;
  aspect-ratio: 1200 / 1490;
}

.about-origin__image {
  object-position: center 44%;
}

.about-origin__text {
  max-width: 39em;
  color: rgba(244, 248, 250, 0.86);
}

.about-origin__text p:last-child,
.about-origin__closer {
  margin: 1.2em 0 0;
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
  font-style: normal;
  font-size: 1em;
  line-height: 1.7;
  color: rgba(244, 248, 250, 0.86);
}

.about-origin__eyebrow,
.watermark-cert__eyebrow {
  font-size: max(0.75rem, 11px);
}

.about-hero__subtext {
  font-size: max(clamp(0.9375rem, 0.5vw + 0.8125rem, 1.25rem), 16px);
}

.about-origin__text p:not(.about-origin__pull-line) {
  font-size: max(1em, 14px);
}

.about-origin__pull-line {
  margin: 1.35em 0 0.8em !important;
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
  font-size: clamp(1.55rem, 1.6vw + 1rem, 2.7rem);
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: -0.015em;
  color: var(--about-near-white);
}

.about-origin__text .about-origin__pull-line {
  text-wrap: balance;
}

.about-bridge {
  position: relative;
  min-height: 80vh;
  min-height: 80svh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: var(--about-section-pad) var(--gutter-right) var(--about-section-pad) var(--gutter-left);
  background: linear-gradient(to bottom, var(--about-deep) 0%, #244E5C 48%, var(--about-chapter-start) 100%);
}

.about-bridge__statement {
  max-width: 17em;
  margin: 0;
  font-family: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif;
  font-size: clamp(2.5rem, 4.6vw + 1rem, 6.5rem);
  font-weight: 400;
  line-height: 1.06;
  text-align: center;
  text-wrap: balance;
  color: var(--about-near-white);
}

.about-bridge__statement em {
  display: inline-block;
  padding-bottom: 0.08em;
  font-style: italic;
  line-height: 1.1;
}

.horizontal-scroll {
  padding-top: 25vh;
  padding-top: 25svh;
  background-color: var(--about-chapter-start);
  color: var(--about-near-white);
}

.horizontal__wrap {
  background-color: inherit;
}

.horizontal__panel {
  height: 175vh;
  height: 175svh;
  background-color: inherit;
}

.horizontal__panel:not(:last-child) {
  margin-bottom: 15vh;
  margin-bottom: 15svh;
}

.horizontal__panel-sticky {
  height: 100vh;
  height: 100svh;
  height: 100dvh;
  margin-bottom: -100vh;
  margin-bottom: -100svh;
  margin-bottom: -100dvh;
  background-color: inherit;
}

.horizontal__panel:not(:first-child)::before {
  content: '';
  position: absolute;
  right: 0;
  bottom: 100%;
  left: 0;
  height: 15vh;
  height: 15svh;
  background-color: inherit;
}

.horizontal__word {
  color: var(--about-near-white);
  -webkit-text-stroke: 0;
  text-shadow: 0 0.08em 0.5em rgba(5, 33, 42, 0.22);
}

.horizontal__panel--confidence .horizontal__panel-overlay {
  background:
    linear-gradient(to bottom, rgba(228, 244, 248, 0.1), rgba(228, 244, 248, 0.24)),
    radial-gradient(110% 82% at 50% 44%, rgba(12, 56, 70, 0.08), rgba(12, 56, 70, 0.24));
}

.horizontal__panel--craft .horizontal__statement {
  padding: clamp(1.25rem, 2.4vw, 2.5rem);
  background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.055) 48%, rgba(0, 0, 0, 0) 75%);
}

.horizontal__panel--confidence .horizontal__statement {
  top: 20%;
  padding: clamp(1.25rem, 2.5vw, 2.5rem);
  background: radial-gradient(ellipse at center, rgba(228, 244, 248, 0.66) 0%, rgba(228, 244, 248, 0.26) 54%, rgba(228, 244, 248, 0) 78%);
}

.horizontal-scroll.is-light-end .horizontal__panel--confidence .horizontal__word,
.horizontal-scroll.is-light-end .horizontal__panel--confidence .horizontal__body,
.horizontal-scroll.is-light-end .horizontal__panel--confidence .horizontal__pull-line,
.horizontal-scroll.is-light-end .horizontal__panel--confidence .horizontal__kicker {
  color: var(--about-dark-ink);
  text-shadow: 0 1px 16px rgba(228, 244, 248, 0.64);
}

.horizontal-scroll .horizontal__indicator-item.is-on-light {
  color: var(--about-dark-ink);
  text-shadow: 0 1px 16px rgba(228, 244, 248, 0.64);
}

.watermark-cert {
  min-height: 95vh;
  min-height: 95svh;
  height: auto;
  background: linear-gradient(to bottom, var(--about-light) 0%, var(--about-light-soft) 100%);
  color: var(--about-dark-ink);
  border-top-color: rgba(12, 56, 70, 0.1);
}

.watermark-cert__eyebrow {
  color: var(--about-dark-ink-soft);
}

.watermark-cert__heading {
  color: var(--about-dark-ink);
}

.watermark-cert__heading em {
  display: inline-block;
  padding-bottom: 0.08em;
  font-family: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif;
  font-style: italic;
  line-height: 1.1;
}

.watermark-cert__body,
.watermark-cert__closing {
  color: var(--about-dark-ink-soft);
}

.watermark-cert__closing {
  max-width: 30em;
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', system-ui, sans-serif;
  font-style: normal;
  
  font-size: max(1.15em, 16px);
}

.body--about-us #watermark-cert .glass-badge--card {
  border: var(--border-thin) solid rgba(255, 255, 255, 0.72);
  background: rgba(255, 255, 255, 0.5);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.76),
    0 1.5em 4em rgba(36, 78, 92, 0.14);
}

.body--about-us #watermark-cert .glass-text {
  color: var(--about-dark-ink);
}

.body--about-us #watermark-cert .glass-effect__fill {
  background-color: rgba(244, 248, 250, 0.58);
}

.body--about-us #watermark-cert .glass-badge--card > .lens-canvas {
  filter: brightness(0) saturate(100%) invert(17%) sepia(22%) saturate(1740%) hue-rotate(148deg) brightness(91%) contrast(96%);
}

.about-dissolve {
  position: relative;
  height: 250vh;
  height: 250svh;
  background: var(--about-light-soft);
}

.about-dissolve::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  height: 100svh;
  height: 100dvh;
  background: url("data:image/webp;base64,UklGRtYAAABXRUJQVlA4IMoAAAAwBgCdASowABsAPrVKnUmnJCKhMBqqqOAWiWUAspBxB/XNJKKp1smkM84NQWEroagVKUd4r/gzIbzgAPpuq7Pkl0zsQoq40nZRGcHGJhke80yo3wi4Sc4UZcD/2aJ2vIHwPT1m9SZ9Qmx2d+yvM9VSIjS2aGw6FORiI8LIjwFC4X/bdcB72Qz1RNwFK2Dy14JkVe22iwPAGNk7twaJaeXdTLMYK/j7+ac76Mun4tkXEnNwzvbn6Sjrk2D5/YnV7oHrQCZLbeYvzwQA") 50% 50% / cover no-repeat;
  pointer-events: none;
}

.about-dissolve__sticky {
  position: sticky;
  top: 0;
  width: 100%;
  height: 100vh;
  height: 100svh;
  height: 100dvh;
  overflow: hidden;
  isolation: isolate;
}

.about-dissolve__image,
.about-dissolve__veil {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.about-dissolve__image {
  object-fit: cover;
}

.about-dissolve__image--dawn {
  z-index: var(--z-base);
  object-position: 50% 48%;
}

.about-dissolve__image--install {
  z-index: var(--z-local-1);
  
  object-position: 50% 50%;
  will-change: opacity;
}

.about-dissolve__veil {
  z-index: var(--z-local-2);
  pointer-events: none;
  background: linear-gradient(110deg, rgba(228, 244, 248, 0.18), transparent 52%);
}

.about-dissolve__line {
  position: absolute;
  z-index: var(--z-local-3);
  top: clamp(7rem, 17vh, 11rem);
  left: var(--gutter-left);
  right: var(--gutter-right);
  margin: 0;
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
  font-size: 1em;
  font-weight: 400;
  line-height: 1.04;
  color: var(--about-dark-ink);
  text-wrap: balance;
}

.about-dissolve__line em {
  display: inline-block;
  padding-bottom: 0.08em;
  font-family: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif;
  font-style: italic;
  line-height: 1.1;
}

.about-dissolve__line-row {
  display: block;
  max-width: 10em;
  font-size: clamp(2.5rem, 4vw + 1rem, 5.75rem);
  letter-spacing: -0.02em;
  text-shadow: 0 0.08em 0.8em rgba(228, 244, 248, 0.72);
}

.about-manifesto__keep {
  white-space: nowrap;
}

.about-dissolve__keep {
  white-space: nowrap;
}

.about-cta {
  
  min-height: 80vh;
  min-height: 80svh;
  background: linear-gradient(to bottom, var(--about-light-soft), var(--about-light));
  border-top-color: rgba(12, 56, 70, 0.1);
}

.about-cta__chapter {
  color: var(--about-dark-ink-soft);
}

.about-cta__heading {
  color: var(--about-dark-ink);
}

.about-cta .button-035 {
  --button-035-color: var(--about-near-white);
  --button-035-color-background: var(--about-dark-ink);
  --button-035-hover-color: var(--about-dark-ink);
  --button-035-hover-color-background: var(--about-near-white);
  --button-035-color-focus: var(--about-dark-ink);
}

@media screen and (max-width: 1024.98px) {
  .about-origin {
    min-height: 110vh;
    min-height: 110svh;
  }

  .about-origin__image-wrap {
    min-height: 40em;
  }

  .horizontal__panel--confidence .horizontal__statement {
    top: 19%;
  }
}

@media screen and (max-width: 767.98px) {
  .about-hero {
    padding-right: var(--gutter-right);
    padding-left: var(--gutter-left);
  }

  .about-hero__content {
    align-items: center;
  }

  .about-hero__still,
  .about-hero__film {
    object-position: 50% 25%;
  }

  .about-hero__line1 {
    font-size: clamp(1.35rem, 5.5vw, 1.8rem);
  }

  .about-hero__subtext-wrap {
    padding-bottom: 4.5em;
  }

  .about-manifesto__text {
    max-width: 92vw;
    font-size: clamp(1.8rem, 7vw, 2.45rem);
  }

  .about-origin {
    min-height: 0;
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .about-origin__inner {
    flex-direction: column;
  }

  .about-origin__image-wrap {
    order: 1;
    min-height: 0;
    height: auto;
    aspect-ratio: 4 / 5;
  }

  .about-origin__text {
    order: 2;
    max-width: none;
    font-size: 1rem;
    line-height: 1.65;
  }

  .about-bridge {
    min-height: 80vh;
    min-height: 80svh;
  }

  .horizontal__word {
    color: var(--about-near-white);
    -webkit-text-stroke: 0;
  }

  .horizontal__statement {
    width: min(88vw, 34rem);
  }

  .horizontal__panel--confidence .horizontal__statement {
    top: 18%;
  }

  .horizontal__pull-line {
    font-size: clamp(1.35rem, 5.8vw, 1.8rem);
  }

  .watermark-cert {
    min-height: 100vh;
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .about-dissolve__image--dawn {
    object-position: 58% 50%;
  }

  .about-dissolve__line {
    top: clamp(6rem, 15vh, 8rem);
    left: var(--gutter-left);
    right: var(--gutter-right);
  }

  .about-dissolve__line-row {
    max-width: 8.5em;
    font-size: clamp(2.4rem, 11vw, 4.2rem);
  }

  .about-bridge__row {
    display: block;
  }
}

@media screen and (max-width: 1024.98px) and (max-height: 500px) {
  .horizontal__panel--confidence .horizontal__statement {
    top: calc(env(safe-area-inset-top, 0px) + 84px);
    transform: translateX(-50%);
  }
}

@media (scripting: none) {
  .about-hero__film {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce), (scripting: none) {
  .about-hero__still,
  .about-hero__still.is-loaded {
    opacity: 1;
  }

  .horizontal-scroll {
    background: var(--about-chapter-start);
  }

  .horizontal__panel--confidence,
  .horizontal__panel--confidence .horizontal__panel-sticky {
    background: var(--about-light);
  }

  .horizontal__panel--confidence .horizontal__word,
  .horizontal__panel--confidence .horizontal__body,
  .horizontal__panel--confidence .horizontal__pull-line,
  .horizontal__panel--confidence .horizontal__kicker {
    color: var(--about-dark-ink);
    text-shadow: 0 1px 16px rgba(228, 244, 248, 0.64);
  }

  .horizontal-scroll {
    padding-top: 0;
  }

  .horizontal__panel {
    height: auto;
  }

  .horizontal__panel:not(:last-child) {
    margin-bottom: 0;
  }

  .horizontal__panel:not(:first-child)::before {
    content: none;
  }

  .horizontal__panel-sticky {
    position: relative;
    height: auto;
    margin-bottom: 0;
    overflow: visible;
  }

  .horizontal__keyword {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    padding: clamp(4rem, 14vh, 9rem) 0 clamp(2.5rem, 7vh, 4.5rem);
  }

  .horizontal__panel-media {
    position: relative;
    inset: auto;
    height: 100vh;
    height: 100svh;
  }

  .about-dissolve {
    height: auto;
  }

  .about-dissolve__sticky {
    position: relative;
    display: grid;
    grid-template-rows: auto 100vh;
    grid-template-rows: auto 100svh;
    height: auto;
  }

  .about-dissolve::before {
    content: none;
  }

  .about-dissolve__image,
  .about-dissolve__veil,
  .about-dissolve__line {
    grid-column: 1;
    position: relative;
    inset: auto;
  }

  .about-dissolve__image--install {
    grid-row: 1;
    display: block;
    height: auto;
    aspect-ratio: 1920 / 1072;
    opacity: 1;
  }

  .about-dissolve__image--dawn,
  .about-dissolve__veil {
    grid-row: 2;
    height: 100%;
  }

  .about-dissolve__line {
    grid-row: 2;
    align-self: start;
    margin: clamp(6rem, 15vh, 11rem) var(--gutter-right) 0 var(--gutter-left);
    opacity: 1;
  }

  @media screen and (max-width: 767.98px) {
    .about-dissolve__line {
      margin-right: var(--gutter-right);
      margin-left: var(--gutter-left);
    }
  }
}

.is-about-static .horizontal-scroll {
  padding-top: 0;
  background: var(--about-chapter-start);
}

.is-about-static .horizontal__panel--confidence,
.is-about-static .horizontal__panel--confidence .horizontal__panel-sticky {
  background: var(--about-light);
}

.is-about-static .horizontal__panel--confidence .horizontal__word,
.is-about-static .horizontal__panel--confidence .horizontal__body,
.is-about-static .horizontal__panel--confidence .horizontal__pull-line,
.is-about-static .horizontal__panel--confidence .horizontal__kicker {
  color: var(--about-dark-ink);
  text-shadow: 0 1px 16px rgba(228, 244, 248, 0.64);
}

.is-about-static .horizontal__panel {
  height: auto;
}

.is-about-static .horizontal__panel:not(:last-child) {
  margin-bottom: 0;
}

.is-about-static .horizontal__panel:not(:first-child)::before {
  content: none;
}

.is-about-static .horizontal__panel-sticky {
  position: relative;
  height: auto;
  margin-bottom: 0;
  overflow: visible;
}

.is-about-static .horizontal__keyword {
  position: relative;
  left: auto;
  top: auto;
  transform: none;
  padding: clamp(4rem, 14vh, 9rem) 0 clamp(2.5rem, 7vh, 4.5rem);
}

.is-about-static .horizontal__panel-media {
  position: relative;
  inset: auto;
  height: 100vh;
  height: 100svh;
}

.is-about-static .about-dissolve {
  height: auto;
}

.is-about-static .about-dissolve__sticky {
  position: relative;
  display: grid;
  grid-template-rows: auto 100vh;
  grid-template-rows: auto 100svh;
  height: auto;
}

.is-about-static .about-dissolve::before {
  content: none;
}

.is-about-static .about-dissolve__image,
.is-about-static .about-dissolve__veil,
.is-about-static .about-dissolve__line {
  grid-column: 1;
  position: relative;
  inset: auto;
}

.is-about-static .about-dissolve__image--install {
  grid-row: 1;
  display: block;
  height: auto;
  aspect-ratio: 1920 / 1072;
}

.is-about-static .about-dissolve__image--dawn,
.is-about-static .about-dissolve__veil {
  grid-row: 2;
  height: 100%;
}

.is-about-static .about-dissolve__line {
  grid-row: 2;
  align-self: start;
  margin: clamp(6rem, 15vh, 11rem) var(--gutter-right) 0 var(--gutter-left);
}

.body--why-filter .why-filter-enquire {
  position: relative;
  isolation: isolate;
  overflow: clip;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: max(3.9rem, 58px);
  padding: 1.15rem 2rem;
  border: var(--border-thin) solid var(--why-filter-line-light);
  border-radius: var(--radius-button);
  background: transparent;
  color: var(--why-filter-bone);
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
  font-size: max(0.97rem, 15px);
  font-weight: 550;
  line-height: 1;
  letter-spacing: 0.005em;
  text-transform: none;
  text-decoration: none;
  white-space: nowrap;
}

.body--why-filter .why-filter-enquire .button-046__bg {
  position: absolute;
  inset: 0;
  z-index: var(--z-base);
  border-radius: var(--radius-button);
  background-color: var(--surface-deep);
  transition: background-color 0.25s ease-out;
}

.body--why-filter .why-filter-enquire .button-046__bg-circle {
  position: absolute;
  inset: 0;
  z-index: var(--z-local-1);
  overflow: clip;
  pointer-events: none;
}

.body--why-filter .why-filter-enquire .button-046__circle {
  background-color: var(--accent);
}

.body--why-filter .why-filter-enquire .button-046__inner {
  position: relative;
  z-index: var(--z-local-2);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.body--why-filter .why-filter-enquire:focus-visible {
  border-color: var(--accent);
  outline: 2px solid var(--accent-on-dark);
  outline-offset: 4px;
}

.body--why-filter .why-filter-enquire:focus-visible .button-046__bg {
  background-color: var(--accent);
}

@media (hover: hover) and (pointer: fine) {
  .body--why-filter .why-filter-enquire:hover {
    border-color: var(--accent);
  }

  .body--why-filter .why-filter-enquire:not([data-button-046-bound]):hover .button-046__bg {
    background-color: var(--accent);
  }
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: reduce) {
  .body--why-filter .why-filter-enquire:hover .button-046__bg {
    background-color: var(--accent);
  }
}

@media (hover: none), (pointer: coarse) {
  .body--why-filter .why-filter-enquire:active {
    border-color: var(--accent);
  }

  .body--why-filter .why-filter-enquire:active .button-046__bg {
    background-color: var(--accent);
  }
}

.body--why-filter {
  --why-filter-dark: var(--surface-abyss);            
  --why-filter-bone: var(--commerce-bone);            
  --why-filter-luminous: var(--commerce-room-tile);   
  
  --why-filter-scrim: 3, 20, 27;       
  --why-filter-dark-lift: var(--surface-tide);        
  --why-filter-line-dark: rgba(12, 56, 70, 0.16);     
  --why-filter-line-light: rgba(239, 244, 244, 0.22); 
  --why-filter-bone-dim: rgba(239, 244, 244, 0.78);
  --why-filter-dark-dim: rgba(29, 79, 95, 0.85);      
}

body.body--why-filter {
  background-color: var(--why-filter-dark);
}

.why-filter-eyebrow {
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
  font-size: var(--text-small);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0 0 1.5em;
}

.why-filter-h2 {
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
  font-size: 3.2em;
  font-weight: 400;
  line-height: 1.12;
  margin: 0 0 0.6em;
}

.why-filter-nowrap {
  white-space: nowrap;
}

.why-filter-h2 em,
.why-filter-serif-accent {
  font-family: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif;
  font-style: italic;
  font-weight: 400;
}

.why-filter-hero {
  position: relative;
  min-height: 100vh;
  min-height: 100svh;
  min-height: 100dvh;
  display: flex;
  align-items: flex-end;
  padding: 9.5em var(--gutter-right) 5em var(--gutter-left);
  background-color: var(--why-filter-dark);
  color: var(--why-filter-bone);
  overflow: hidden;
}

.why-filter-hero__bg {
  position: absolute;
  inset: -12% 0 0 0; 
  
  z-index: var(--z-base);
}

.why-filter-hero__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.why-filter-hero__film {
  position: absolute;
  
  inset: 0;
  width: 100%;
  height: 100%;
  
  z-index: var(--z-local-1);
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.9s ease;
}

.why-filter-hero__film.is--playing {
  opacity: 1;
}

.why-filter-hero__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: var(--z-local-2); 
  background:
    linear-gradient(to right, rgba(var(--why-filter-scrim), 0.62) 0%, rgba(var(--why-filter-scrim), 0.20) 46%, rgba(var(--why-filter-scrim), 0.06) 100%),
    linear-gradient(to top, rgba(var(--why-filter-scrim), 0.62) 0%, rgba(var(--why-filter-scrim), 0.10) 42%, rgba(var(--why-filter-scrim), 0.24) 100%);
}

.why-filter-hero__content {
  position: relative;
  z-index: var(--z-local-1);
  max-width: 40em;
}

.why-filter-hero__label {
  font-size: var(--text-small);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--why-filter-bone);
  margin: 0 0 2em;
}

.why-filter-hero__heading {
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
  font-size: 4.4em;
  font-weight: 400;
  line-height: 1.08;
  margin: 0 0 0.55em;
}

.why-filter-hero__heading em {
  font-family: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif;
  font-style: italic;
  font-weight: 400;
}

.why-filter-hero__sub {
  font-size: 1.0625em;
  line-height: 1.55;
  max-width: 30em;
  color: var(--why-filter-bone-dim);
  margin: 0;
}

.why-filter-hero .hero-scroll-cue {
  z-index: var(--z-local-1);
}

.why-filter-hero .motion-toggle--corner,
.why-filter-skin__figure .motion-toggle--corner {
  z-index: var(--z-local-3);
}

.why-filter-skin__figure .motion-toggle--corner {
  right: calc(1.25em - 5px);
  bottom: calc(1.25em - 5px);
}

.why-filter-gap {
  background-color: var(--why-filter-dark);
  color: var(--why-filter-bone);
  padding: 9em var(--gutter-right) 8em var(--gutter-left);
  
  overflow-x: clip;
}

.why-filter-gap .why-filter-eyebrow {
  color: var(--why-filter-bone-dim);
}

.why-filter-gap__statement {
  font-family: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif;
  font-size: 2.3em;
  font-weight: 400;
  line-height: 1.45; 
  max-width: 26em;
  margin: 0 0 1.4em;
}

.why-filter-gap__intro {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
  gap: 5em;
  
  align-items: start;
  margin: 0 0 5em;
}

.why-filter-gap__body {
  font-size: var(--text-body);
  line-height: 1.65;
  max-width: 36em;
  margin: 0;
  color: var(--why-filter-bone-dim);
}

.why-filter-gap__source {
  font-size: var(--text-small);
  line-height: 1.6;
  max-width: 36em;
  margin: 1.4em 0 0;
  color: var(--why-filter-bone-dim);
}

.why-filter-gap__source a {
  color: inherit;
  text-decoration: none;
}

.why-filter-gap__source-ref {
  white-space: nowrap;
}

.why-filter-gap__source-ref [data-underline-link] {
  display: inline-block;
  max-width: calc(100% - 0.5em);
  line-height: 1.2;
  white-space: normal;
}

.why-filter-gap__source a:focus-visible {
  outline: 2px solid var(--accent-on-dark);
  outline-offset: 4px;
}

.why-filter-gap__figure {
  margin: 0;
  border-radius: var(--radius-card);
  overflow: hidden;
  aspect-ratio: 3 / 4;
  width: min(100%, 30em);
  justify-self: end;
  position: relative;
}

.why-filter-gap__figure-img {
  position: absolute;
  top: -8%;
  left: 0;
  width: 100%;
  height: 116%;
  object-fit: cover;
}

.why-filter-gap__module-intro {
  font-family: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif;
  font-style: italic;
  font-size: 1.35em;
  margin: 0 0 1.5em;
}

.why-filter-gap__rows {
  list-style: none;
  margin: 0;
  padding: 0;
}

.why-filter-gap__row {
  display: grid;
  
  grid-template-columns: minmax(11em, 15em) minmax(16em, 1fr) minmax(10em, auto);
  gap: 2em;
  padding: 2em 0;
  border-top: var(--border-thin) solid var(--why-filter-line-light);
}

.why-filter-gap__rows .why-filter-gap__row:last-child {
  border-bottom: var(--border-thin) solid var(--why-filter-line-light);
}

.why-filter-gap__term {
  font-size: var(--text-small);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0;
  padding-top: 0.35em;
}

.why-filter-gap__notice {
  font-size: var(--text-body);
  line-height: 1.6;
  max-width: 36em;
  margin: 0;
  color: var(--why-filter-bone-dim);
}

.why-filter-gap__stage {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.6em;
  justify-self: end;
  align-self: start;
  margin: 0;
  font-size: var(--text-xs);
}

.why-filter-gap__chip {
  display: block;
  max-width: 100%;
  font-weight: 600;
  line-height: 1.25;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.6em 1.1em;
  border: var(--border-thin) solid var(--why-filter-line-light);
  border-radius: 1.25em;
  
  white-space: normal;
}

.why-filter-steel {
  background-color: var(--why-filter-bone);
  color: var(--why-filter-dark);
}

.why-filter-steel__stage {
  position: relative;
  height: 200vh;
}

.why-filter-steel__sticky {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0 var(--gutter-right) 0 var(--gutter-left);
}

.why-filter-steel__media {
  position: absolute;
  inset: 0;
  overflow: hidden;
  transform-origin: center 62%;
}

.why-filter-steel__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform-origin: center;
}

.why-filter-steel__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to right,
    rgba(239, 244, 244, 0.94) 0%,
    rgba(239, 244, 244, 0.86) 34%,
    rgba(239, 244, 244, 0.28) 58%,
    rgba(239, 244, 244, 0) 78%);
}

.why-filter-steel__heading-wrap {
  position: relative;
  z-index: var(--z-local-1);
  max-width: 34em;
}

.why-filter-steel__nav-region {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 128px;
  z-index: var(--z-local-1);
}

.why-filter-steel .why-filter-eyebrow {
  color: var(--why-filter-dark-dim);
}

.why-filter-steel__heading-wrap .why-filter-eyebrow {
  color: var(--ink-body);
}

.why-filter-steel__heading {
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
  font-size: 4em;
  font-weight: 400;
  line-height: 1.08;
  margin: 0;
}

.why-filter-steel__heading em {
  font-family: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif;
  font-style: italic;
  font-weight: 400;
}

.why-filter-steel__body {
  padding: 7em var(--gutter-right) 8em var(--gutter-left);
  display: grid;
  
  grid-template-columns: repeat(auto-fit, minmax(min(20em, 100%), 1fr));
  gap: 3em 4em;
  max-width: 82em;
}

.why-filter-steel__copy {
  font-size: var(--text-body);
  line-height: 1.65;
  color: var(--why-filter-dark-dim);
  max-width: 34em;
  margin: 0;
}

.why-filter-steel__ledger {
  grid-column: 1 / -1;
  margin-top: 2em;
}

.why-filter-steel__ledger-rule {
  display: block;
  height: var(--border-thin);
  background-color: var(--why-filter-line-dark);
  transform-origin: left center;
}

.why-filter-steel__ledger-cells {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.why-filter-steel__ledger-cell {
  list-style: none;
  padding: 1.5em 1em 0 0;
}

.why-filter-steel__ledger-cell + .why-filter-steel__ledger-cell {
  border-left: var(--border-thin) solid var(--why-filter-line-dark);
  padding-left: 1.5em;
}

.why-filter-steel__ledger-value {
  display: block;
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
  font-size: clamp(22px, 2.25em, 44px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.015em;
  text-transform: uppercase;
  font-variant-numeric: tabular-nums;
  color: var(--why-filter-dark);
}

.why-filter-steel__ledger-joiner {
  
  text-transform: none;
}

.why-filter-steel__ledger-label {
  display: block;
  margin-top: 0.85em;
  font-size: var(--text-small);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--why-filter-dark-dim);
}

.why-filter-skin {
  background-color: var(--why-filter-dark);
  color: var(--why-filter-bone);
  padding: 9em var(--gutter-right) 9em var(--gutter-left);
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(0, 7fr);
  gap: 5em;
  align-items: center;
}

.why-filter-skin__text {
  grid-column: 1;
  grid-row: 1;
}

.why-filter-skin__figure {
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  border-radius: var(--radius-card);
  overflow: hidden;
  aspect-ratio: 16 / 9;
  position: relative;
}

.why-filter-skin__img {
  position: absolute;
  top: -8%;
  left: 0;
  width: 100%;
  height: 116%;
  object-fit: cover;
}

.why-filter-skin__film {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.9s ease;
}

.why-filter-skin__film.is--playing {
  opacity: 1;
}

.why-filter-skin .why-filter-eyebrow {
  color: var(--why-filter-bone-dim);
}

.why-filter-skin__copy {
  font-size: var(--text-body);
  line-height: 1.65;
  color: var(--why-filter-bone-dim);
  max-width: 32em;
  margin: 0 0 1.4em;
}

.why-filter-skin__copy:last-child {
  margin-bottom: 0;
}

.why-filter-skin__set {
  grid-column: 1 / -1;
  grid-row: 2;
  margin: 2em 0 0;
  border-radius: var(--radius-card);
  overflow: hidden;
  aspect-ratio: 16 / 9;
  position: relative;
}

.why-filter-skin__set-img {
  position: absolute;
  top: -6%;
  left: 0;
  width: 100%;
  height: 112%;
  object-fit: cover;
}

.why-filter-taste {
  background-color: var(--why-filter-luminous);
  color: var(--why-filter-dark);
  padding: 9em 0 7em;
}

.why-filter-taste__lead {
  padding: 0 var(--gutter-right) 0 var(--gutter-left);
  max-width: 42em;
  margin: 0 auto;
  text-align: center;
}

.why-filter-taste .why-filter-eyebrow {
  color: var(--why-filter-dark-dim);
}

.why-filter-taste__heading {
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
  font-size: 3.8em;
  font-weight: 400;
  line-height: 1.1;
  margin: 0 0 0.5em;
}

.why-filter-taste__heading em {
  font-family: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif;
  font-style: italic;
  font-weight: 400;
}

.why-filter-taste__lead-copy {
  font-size: 1.0625em;
  line-height: 1.6;
  color: var(--why-filter-dark-dim);
  max-width: 33em;
  margin: 0 auto 2em;
}

.why-filter-taste__order {
  font-family: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif;
  font-style: italic;
  font-size: 1.35em;
  margin: 0 0 3em;
}

.why-filter-journey {
  --journey-ink: var(--why-filter-dark);
  --journey-ink-dim: var(--why-filter-dark-dim);
  --journey-line: rgba(12, 56, 70, 0.26);
  --journey-line-soft: rgba(12, 56, 70, 0.13);

  --journey-cut-aspect: 0.5071;
  --journey-cut-axis: 0.2306;
  --journey-cut-frame: 1.0921;
  --journey-cut-base: 1.0266;

  --journey-still-h: min(50vh, 34em);
  --journey-still-w: calc(var(--journey-still-h) * var(--journey-cut-aspect));
  
  --journey-stack-media-top: 132px;

  position: relative;
  color: var(--journey-ink);
}

.why-filter-journey__inner {
  padding: 2.5em var(--gutter-right) 2.5em var(--gutter-left);
}

.why-filter-journey__frame {
  max-width: 74em;
  margin: 0 auto;
}

.why-filter-journey__chrome {
  display: none;
}

.why-filter-journey__stages {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 5em;
}

.why-filter-journey__stage {
  display: block;
}

.why-filter-journey__field {
  position: relative;
  height: calc(var(--journey-stack-media-top) + var(--journey-still-h));
  margin-bottom: 2.2em;
}

.why-filter-journey__rule {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: var(--border-thin);
  background-color: var(--journey-line);
}

.why-filter-journey__index {
  position: absolute;
  top: 24px;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  gap: 44px;
  list-style: none;
  margin: 0;
  padding: 0;
  pointer-events: none;
}

.why-filter-journey__index--pinned {
  display: none;                      
}

.why-filter-journey__index-item {
  flex: none;
  text-align: center;
  white-space: nowrap;
  opacity: 0.68;
}

.why-filter-journey__index-item.is-active {
  opacity: 1;
}

.why-filter-journey__index-num {
  display: block;
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
  font-weight: 400;
  font-size: 38px;
  line-height: 1;
  letter-spacing: -0.01em;
  font-variant-numeric: tabular-nums;  
  color: transparent;
  -webkit-text-stroke: 1.2px var(--journey-ink);
}

.why-filter-journey__index-name {
  display: block;
  margin-top: 7px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--journey-ink);
}

.why-filter-journey__figure {
  position: absolute;
  margin: 0;
  top: var(--journey-stack-media-top);
  left: calc(50% - var(--journey-still-w) * var(--journey-cut-axis));
  width: var(--journey-still-w);
  height: var(--journey-still-h);
  z-index: var(--z-local-2);
}

.why-filter-journey__img {
  display: block;
  width: 100%;
  height: 100%;
}

.why-filter-journey__kicker {
  font-size: var(--text-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--journey-ink-dim);
  margin: 0 0 1em;
}

.why-filter-journey__name {
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
  font-size: 2em;
  font-weight: 400;
  line-height: 1.15;
  margin: 0 0 0.6em;
  color: var(--journey-ink);
}

.why-filter-journey__name em {
  font-family: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif;
  font-style: italic;
  font-weight: 400;
}

.why-filter-journey__copy {
  font-size: var(--text-body);
  line-height: 1.6;
  color: var(--journey-ink-dim);
  max-width: 30em;
  margin: 0;
}

.why-filter-journey.is-pinned-mode {
  --journey-obj-h: 60vh;              
  --journey-seq-h: calc(var(--journey-obj-h) * var(--journey-cut-frame));
  --journey-seq-w: calc(var(--journey-seq-h) * var(--journey-cut-aspect));
  --journey-obj-x: 42vw;
  --journey-obj-baseline: 86vh;
  --journey-media-top: calc(var(--journey-obj-baseline) - var(--journey-obj-h) * var(--journey-cut-base));
  --journey-edge: 7.7vw;
  --journey-rule-y: 8vh;
  --journey-index-top: 11.5vh;
  --journey-detail-x: 63vw;
}

.why-filter-journey.is-pinned-mode .why-filter-journey__inner {
  height: 100vh;
  padding: 0;
}

.why-filter-journey.is-pinned-mode .why-filter-journey__frame {
  position: relative;
  height: 100%;
  max-width: none;
}

.why-filter-journey.is-pinned-mode .why-filter-journey__chrome {
  display: block;
  position: absolute;
  left: var(--journey-edge);
  right: var(--journey-edge);
  top: var(--journey-rule-y);
  height: var(--border-thin);
  background-color: var(--journey-line-soft);
}

.why-filter-journey.is-pinned-mode .why-filter-journey__chrome-fill {
  position: absolute;
  inset: 0;
  background-color: var(--journey-ink);
  transform-origin: left;
  transform: scaleX(0);
}

.why-filter-journey.is-pinned-mode .why-filter-journey__stages {
  display: block;
  position: absolute;
  inset: 0;
}

.why-filter-journey.is-pinned-mode .why-filter-journey__stage {
  position: absolute;
  inset: 0;
}

.why-filter-journey.is-pinned-mode .why-filter-journey__field {
  position: static;
  height: auto;
  margin: 0;
}

.why-filter-journey.is-pinned-mode .why-filter-journey__rule {
  display: none;                      
}

.why-filter-journey.is-pinned-mode .why-filter-journey__stage .why-filter-journey__index {
  display: none;
}

.why-filter-journey.is-pinned-mode .why-filter-journey__index--pinned {
  display: flex;
  justify-content: flex-start;
  top: var(--journey-index-top);
  left: var(--journey-edge);
  right: auto;
  gap: 88px;
}

.why-filter-journey.is-pinned-mode .why-filter-journey__index-num {
  font-size: 68px;
  -webkit-text-stroke-width: 1.5px;
}

.why-filter-journey.is-pinned-mode .why-filter-journey__index-name {
  margin-top: 10px;
  font-size: 11px;
}

.why-filter-journey.is-pinned-mode .why-filter-journey__figure {
  top: var(--journey-media-top);
  left: calc(var(--journey-obj-x) - var(--journey-seq-w) * var(--journey-cut-axis));
  width: var(--journey-seq-w);
  height: var(--journey-seq-h);
}

.why-filter-journey.is-pinned-mode .why-filter-journey__detail {
  position: absolute;
  top: 0;
  bottom: 0;
  left: var(--journey-detail-x);
  right: var(--journey-edge);
  max-width: 34em;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.why-filter-journey__seq {
  display: none;
}

.why-filter-journey.is-seq-mode .why-filter-journey__seq {
  display: block;
  position: absolute;
  top: var(--journey-media-top);
  left: calc(var(--journey-obj-x) - var(--journey-seq-w) * var(--journey-cut-axis));
  width: var(--journey-seq-w);
  height: var(--journey-seq-h);
  z-index: var(--z-local-2);          
  pointer-events: none;
}

.why-filter-journey.is-seq-mode .why-filter-journey__shadow,
.why-filter-journey.is-seq-mode .why-filter-journey__canvas {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.why-filter-journey.is-seq-mode .why-filter-journey__figure {
  opacity: 0 !important;
  pointer-events: none;
}

.why-filter-taste__closing {
  font-family: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif;
  font-size: 2em;
  text-align: center;
  padding: 5em var(--gutter-right) 0 var(--gutter-left);
  margin: 0;
}

.why-filter-taste__closing em {
  font-style: italic;
}

.why-filter-taste__cta {
  text-align: center;
  margin: 2em 0 0;
  padding: 0 var(--gutter-right) 0 var(--gutter-left);
}

.why-filter-taste__cta a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 0.5em;
  color: inherit;
  text-decoration: none;
  font-size: var(--text-small);
  font-weight: 600;
  
}

.why-filter-enviro {
  background-color: var(--why-filter-dark);
  color: var(--why-filter-bone);
  padding: 13em var(--gutter-right) 11em var(--gutter-left);
  text-align: center;
}

.why-filter-enviro__statement {
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
  font-size: 2.9em;
  font-weight: 400;
  line-height: 1.2;
  max-width: 17em;
  
  margin: 0 auto 0.8em;
}

.why-filter-enviro__statement em {
  font-family: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif;
  font-style: italic;
  font-weight: 400;
}

.why-filter-enviro__sub {
  font-family: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif;
  font-style: italic;
  font-size: 1.4em;
  
  max-width: 30em;
  text-wrap: balance;
  
  margin: 0 auto 3.2em;
}

.why-filter-enviro__action {
  display: flex;
  justify-content: center;
  margin: 0 auto 2.6em;
}

.why-filter-enviro__note {
  font-size: var(--text-small);
  
  line-height: 1.6;
  color: var(--why-filter-bone-dim);
  margin: 0 auto 9em;
  max-width: 38em;
  text-wrap: balance;
}

.why-filter-enviro__note a {
  color: inherit;
  text-decoration: none;
}

.why-filter-enviro__note [data-underline-link] {
  display: inline;
  max-width: none;
  text-decoration: underline;
  text-decoration-thickness: var(--border-thin);
  text-underline-offset: 0.25em;
}

.why-filter-enviro__note [data-underline-link]::before,
.why-filter-enviro__note [data-underline-link]::after {
  display: none;
}

.why-filter-enviro__note a:focus-visible {
  outline: 2px solid var(--accent-on-dark);
  outline-offset: 2px;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  border-radius: 2px;
}

.why-filter-enviro__figure {
  margin: 0;
  border-radius: var(--radius-card);
  overflow: hidden;
  aspect-ratio: 21 / 9;
  position: relative;
}

.why-filter-enviro__img {
  position: absolute;
  top: -7%;
  left: 0;
  width: 100%;
  height: 114%;
  object-fit: cover;
}

.body--why-filter .bold-nav-full__logo-wrap {
  transition: opacity 0.45s cubic-bezier(0.65, 0, 0.35, 1);
}

.body--why-filter[data-why-filter-nav-stand-down="true"] .bold-nav-full:not(.has-glass) .bold-nav-full__logo-wrap,
.body--why-filter[data-why-filter-nav-stand-down="true"] .bold-nav-full[data-nav-glass="slack"] .bold-nav-full__logo-wrap {
  opacity: 0;
  pointer-events: none;
  transition-duration: 0.14s;
}

.body--why-filter[data-why-filter-nav-stand-down="true"] .bold-nav-full .bold-nav-full__logo-wrap:focus-within {
  opacity: 1;
  pointer-events: auto;
  transition-duration: 0s;
}

.why-filter-faq {
  background-color: var(--why-filter-dark);
  color: var(--why-filter-bone);
  padding: 4em var(--gutter-right) 9em var(--gutter-left);
}

@media screen and (min-width: 1025px) {
  .why-filter-faq {
    display: grid;
    grid-template-columns: minmax(16em, 4fr) minmax(0, 7fr);
    gap: 4em;
    align-items: start;
  }

  .why-filter-faq__head {
    position: sticky;
    top: 8em;
  }

  .why-filter-faq .why-filter-faq__list {
    margin-top: 0.75em;
  }
}

.why-filter-faq .why-filter-eyebrow {
  color: var(--why-filter-bone-dim);
}

.why-filter-faq__list {
  list-style: none;
  margin: 3em 0 0;
  padding: 0;
  max-width: 52em;
}

.why-filter-faq__item {
  border-top: var(--border-thin) solid var(--why-filter-line-light);
}

.why-filter-faq__item:last-child {
  border-bottom: var(--border-thin) solid var(--why-filter-line-light);
}

.why-filter-faq__heading {
  margin: 0;
}

.why-filter-faq__trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2em;
  background: transparent;
  border: none;
  padding: 1.6em 0;
  min-height: 44px;
  cursor: pointer;
  color: inherit;
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
  font-size: 1.0625em;
  font-weight: 600;
  text-align: left;
  line-height: 1.4;
}

.why-filter-faq__chevron {
  flex: none;
  transition: transform 0.4s cubic-bezier(0.65, 0, 0.35, 1);
}

.why-filter-faq__item[data-accordion-status="active"] .why-filter-faq__chevron {
  transform: rotate(180deg);
}

.why-filter-faq__body {
  display: grid;
  grid-template-rows: 0fr;
  visibility: hidden;
  transition: grid-template-rows 0.4s ease, visibility 0s linear 0.4s;
}

.why-filter-faq__item[data-accordion-status="active"] .why-filter-faq__body {
  grid-template-rows: 1fr;
  visibility: visible;
  transition: grid-template-rows 0.4s ease, visibility 0s linear 0s;
}

@media (scripting: none) {
  .why-filter-faq__body {
    grid-template-rows: 1fr;
    visibility: visible;
  }

  .why-filter-faq__chevron {
    display: none;
  }

  .why-filter-faq__trigger {
    cursor: default;
  }
}

.why-filter-faq__list:not([data-accordion-ready]) .why-filter-faq__body {
  animation: accordion-unscripted-open 0s linear 3s forwards;
}

.why-filter-faq__list:not([data-accordion-ready]) .why-filter-faq__chevron {
  animation: accordion-unscripted-hide 0s linear 3s forwards;
}

.why-filter-faq__content {
  overflow: hidden;
  padding-inline: 4px;
  margin-inline: -4px;
}

.why-filter-faq__answer a:focus-visible {
  outline-offset: 0;
}

.why-filter-faq__answer {
  font-size: var(--text-body);
  line-height: 1.65;
  color: var(--why-filter-bone-dim);
  max-width: 40em;
  margin: 0;
  padding: 0 0 1.8em;
}

.why-filter-close {
  background-color: var(--why-filter-dark);
  color: var(--why-filter-bone);
  padding: clamp(48px, 4em, 80px) var(--gutter-right) 8em var(--gutter-left);
  text-align: center;
}

.why-filter-close .why-filter-eyebrow {
  font-size: max(var(--text-small), 11px);
  color: var(--why-filter-bone-dim);
}

.why-filter-close__heading {
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
  font-size: 3.4em;
  font-weight: 400;
  line-height: 1.1;
  margin: 0 0 0.5em;
}

.why-filter-close__heading em {
  font-family: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif;
  font-style: italic;
  font-weight: 400;
}

.why-filter-close__line {
  
  font-size: max(1.0625em, 16px);
  line-height: 1.6;
  color: var(--why-filter-bone-dim);
  max-width: 32em;
  margin: 0 auto;
}

.why-filter-close__commerce .why-filter-close__line {
  margin: 0 auto 0.9em;
}

.why-filter-close__line .why-filter-nowrap {
  display: inline-block;
}

.why-filter-close__statement {
  margin-bottom: 6em;
}

.why-filter-close__button-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: clamp(36px, 3em, 52px);
}

.why-filter-close__pickup {
  font-size: max(var(--text-small), 12px);
  line-height: 1.55;
  color: var(--why-filter-bone-dim);
  margin: 1.1em 0 0;
}

.why-filter-close__evidence {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  
  grid-template-rows: 1fr auto auto 1fr;
  column-gap: 4.5em;
  max-width: 82em;
  margin: 0 auto 6em;
  text-align: left;
}

.why-filter-close__figure {
  display: contents;
}

.why-filter-close__figure-frame {
  grid-column: 1;
  grid-row: 1 / span 4;
  
  align-self: center;
  border-radius: var(--radius-card);
  overflow: hidden;
}

.why-filter-close__figure-img {
  width: 100%;
  height: auto;
  display: block;
}

.why-filter-close__figure-caption {
  grid-column: 2;
  grid-row: 2;
  align-self: end;
  font-size: max(var(--text-xs), 11px);
  color: var(--why-filter-bone);
  text-align: left;
  margin-bottom: 2.2em;
}

.why-filter-close__assurance {
  grid-column: 2;
  grid-row: 3;
  
  align-self: start;
  align-content: start;
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2.5em;
  text-align: left;
}

.why-filter-close__assurance-rule {
  display: block;
  height: 1px;
  margin-bottom: 1.4em;
  background-color: var(--why-filter-line-light);
  transform-origin: left center;
}

.why-filter-close__assurance-title {
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
  font-size: max(var(--text-small), 12px);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0 0 0.6em;
}

.why-filter-close__assurance-line {
  font-size: max(var(--text-small), 12px);
  line-height: 1.55;
  color: var(--why-filter-bone-dim);
  margin: 0;
}

.why-filter-close__signoff {
  font-size: max(var(--text-body), 13px);
  line-height: 1.6;
  color: var(--why-filter-bone);
  margin: 0 0 0.55em;
}

.why-filter-close__support {
  font-size: max(var(--text-small), 12px);
  color: var(--why-filter-bone-dim);
  margin: 0;
}

.why-filter-close__support a {
  color: inherit;
}

.why-filter-close__support a::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: max(100%, 44px);
  transform: translateY(-50%);
}

.body--why-filter .why-filter-handover {
  background-color: var(--why-filter-dark);
  color: var(--why-filter-bone);
  
  padding-block: clamp(2rem, 3vw, 2.5rem) clamp(4.5rem, 7vw, 7rem);
}

.why-filter-handover__shell {
  width: 100%;
  max-width: 90rem;
  margin-inline: auto;
  padding-left: var(--gutter-left);
  padding-right: var(--gutter-right);
}

.body--why-filter .why-filter-handover__plate {
  --ho-h: clamp(400px, min(39vw, 74svh), 38.75rem);
  --ho-pad: clamp(28px, 4vw, 4rem);
  --ho-inset: clamp(8px, 0.9vw, 14px);
  --ho-title: clamp(34px, 3.6vw, 3.25rem);
  --ho-line: clamp(15px, 1.15vw, 1.0625rem);
  --ho-cap: calc(var(--ho-title) * 0.21);
  --ho-foot: calc(var(--ho-line) * 0.42);
  --ho-cab-top: calc(var(--ho-pad) + var(--ho-cap));
  --ho-cab-h: calc(var(--ho-h) - 2 * var(--ho-pad) - var(--ho-cap) - var(--ho-foot));
  
  --ho-stage-w: min(40%, calc(var(--ho-cab-h) * 0.86));
  --ho-cab-frac: 0.5;
  --ho-cab-x: calc(var(--ho-cab-frac) * 100%);
  display: block;
  position: relative;
  border-radius: var(--radius-card);
  color: var(--why-filter-bone);
  
  background-color: var(--surface-deep);
  background-image:
    linear-gradient(to bottom, transparent 72%, color-mix(in srgb, var(--surface-abyss) 50%, transparent) 100%),
    radial-gradient(46% 82% at calc(100% - var(--ho-inset) - var(--ho-stage-w) * 0.58) 32%, var(--surface-tide) 0%, color-mix(in srgb, var(--surface-tide) 55%, var(--surface-deep)) 38%, var(--surface-deep) 100%);
}

.why-filter-handover__link {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) calc(var(--ho-stage-w) + var(--ho-inset));
  grid-template-rows: auto minmax(0, 1fr) auto;
  grid-template-areas:
    "head  stage"
    ".     stage"
    "meta  stage";
  column-gap: clamp(24px, 3vw, 48px);
  height: var(--ho-h);
  color: inherit;
  text-decoration: none;
  border-radius: var(--radius-card);
  -webkit-tap-highlight-color: transparent;
}

.body--why-filter .why-filter-handover .why-filter-handover__link:focus-visible {
  outline: 2px solid var(--accent-on-dark);
  outline-offset: 4px;
}

.why-filter-handover__link:focus-visible [data-underline-link]::before {
  transform-origin: left;
  transform: scaleX(1) rotate(0.001deg);
}

.why-filter-handover__head {
  grid-area: head;
  padding: var(--ho-pad) 0 0 var(--ho-pad);
}

.why-filter-handover__title {
  max-width: 9.5em;
  margin: 0;
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
  font-size: var(--ho-title);
  font-weight: 400;
  line-height: 1.04;
  letter-spacing: -0.04em;
  color: var(--why-filter-bone);
}

.why-filter-handover__title em {
  font-family: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif;
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.01em;
}

.body--why-filter .why-filter-handover .why-filter-handover__stage {
  grid-area: stage;
  width: auto;
  height: auto;
  margin: var(--ho-inset) var(--ho-inset) var(--ho-inset) 0;
  aspect-ratio: auto;
  border-radius: var(--radius-card);
  background-color: transparent;
  z-index: var(--z-local-2);
}

.why-filter-handover__figure {
  position: absolute;
  grid-area: stage;
  inset: 0;
  z-index: var(--z-local-1);
  pointer-events: none;
}

.why-filter-handover__figure::before,
.why-filter-handover__figure::after {
  content: '';
  position: absolute;
  left: calc((100% - var(--ho-inset)) * var(--ho-cab-frac));
  top: calc(var(--ho-cab-top) + var(--ho-cab-h));
  pointer-events: none;
}

.why-filter-handover__figure::before {
  width: calc(var(--ho-cab-h) * 0.66);
  height: calc(var(--ho-cab-h) * 0.075);
  translate: -46.5% -52%;
  background: radial-gradient(closest-side, var(--surface-abyss) 0%, transparent 100%);
  opacity: 0.9;
}

.why-filter-handover__figure::after {
  width: calc(var(--ho-cab-h) * 0.38);
  height: calc(var(--ho-cab-h) * 0.022);
  translate: -48.5% -55%;
  background: radial-gradient(closest-side, var(--surface-abyss) 40%, transparent 100%);
}

.body--why-filter .why-filter-handover .why-filter-handover__unit {
  inset: auto;
  left: calc((100% - var(--ho-inset)) * var(--ho-cab-frac));
  top: calc(var(--ho-cab-top) - var(--ho-cab-h) * 0.1537);
  width: auto;
  max-width: none;
  height: calc(var(--ho-cab-h) / 0.7312);
  translate: -50.85% 0;
  padding: 0;
  object-fit: contain;
}

.body--why-filter .why-filter-handover .why-filter-handover__scene {
  inset: auto;
  left: var(--ho-cab-x);
  top: calc(var(--ho-cab-top) - var(--ho-inset) - var(--ho-cab-h) * 0.2878);
  width: auto;
  max-width: none;
  height: calc(var(--ho-cab-h) / 0.6462);
  translate: -49.94% 0;
  object-fit: cover;
  background-color: var(--surface-abyss);
  z-index: var(--z-local-2);
}

.body--why-filter .why-filter-handover .why-filter-handover__meta {
  grid-area: meta;
  padding: 0 0 var(--ho-pad) var(--ho-pad);
}

.body--why-filter .why-filter-handover .why-filter-handover__name {
  display: flex;
  align-items: center;
  gap: 0.28em;
  margin: 0;
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
  font-size: clamp(26px, 2.5vw, 2.4rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.045em;
  color: var(--why-filter-bone);
}

.why-filter-handover__arrow {
  display: inline-flex;
  align-items: center;
  transition: transform 250ms ease;
}

.why-filter-handover__arrow svg {
  width: 0.6em;
  height: 0.6em;
}

.body--why-filter .why-filter-handover .why-filter-handover__line {
  max-width: 32ch;
  margin: 0.8em 0 0;
  color: var(--why-filter-bone-dim);
  font-size: var(--ho-line);
  line-height: 1.5;
  text-wrap: pretty;
}

.why-filter-handover__keep {
  white-space: nowrap;
}

@media (hover: hover) and (pointer: fine) {
  .why-filter-handover__link:hover .why-filter-handover__arrow,
  .why-filter-handover__link:focus-visible .why-filter-handover__arrow {
    transform: translateX(4px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .why-filter-handover__arrow {
    transition: none;
  }

  .why-filter-handover__link:hover .why-filter-handover__arrow,
  .why-filter-handover__link:focus-visible .why-filter-handover__arrow {
    transform: none;
  }
}

@media screen and (max-width: 767.98px) {
  .body--why-filter .why-filter-handover__plate {
    --ho-pad: clamp(20px, 6vw, 28px);
    --ho-title: clamp(28px, 8.2vw, 34px);
    --ho-line: 15px;
    --ho-inset: 0px;
    --ho-stage-h: clamp(300px, 104vw, 460px);
    --ho-cab-frac: 0.5;
    --ho-cab-top: calc(var(--ho-stage-h) * 0.08);
    --ho-cab-h: calc(var(--ho-stage-h) * 0.83);
    background-image:
      linear-gradient(to bottom, transparent 78%, color-mix(in srgb, var(--surface-abyss) 50%, transparent) 100%),
      radial-gradient(95% 44% at 46% 46%, var(--surface-tide) 0%, var(--surface-deep) 100%);
  }

  .why-filter-handover__link {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    grid-template-areas:
      "head"
      "stage"
      "meta";
    height: auto;
  }

  .why-filter-handover__head {
    padding: var(--ho-pad) var(--ho-pad) 0;
  }

  .body--why-filter .why-filter-handover .why-filter-handover__stage {
    height: var(--ho-stage-h);
  }

  .body--why-filter .why-filter-handover .why-filter-handover__scene {
    inset: 0;
    width: 100%;
    height: 100%;
    translate: none;
  }

  .body--why-filter .why-filter-handover .why-filter-handover__meta {
    padding: 0 var(--ho-pad) var(--ho-pad);
  }

  .body--why-filter .why-filter-handover .why-filter-handover__name {
    font-size: clamp(24px, 6.6vw, 28px);
  }
}

.why-filter-sticky-cta {
  display: none;
}

.why-filter-faq__trigger:focus-visible,
.why-filter-close__support a:focus-visible {
  outline: 2px solid var(--accent-on-dark);
  outline-offset: 4px;
}

.why-filter-sticky-cta:focus-visible {
  outline: 2px solid var(--accent-on-dark);
  outline-offset: -4px;
}

@media screen and (max-width: 1024.98px) {
  
  .why-filter-hero {
    padding-bottom: max(5em, calc(1.75em + 60px + env(safe-area-inset-bottom, 0px)));
  }

  .why-filter-hero__heading { font-size: 3.6em; }
  .why-filter-h2 { font-size: 2.7em; }
  .why-filter-steel__heading { font-size: 3.2em; }
  .why-filter-steel__stage { height: 170vh; }
  .why-filter-taste__heading { font-size: 3.1em; }
  .why-filter-enviro__statement { font-size: 2.4em; }
  .why-filter-close__heading { font-size: 2.8em; }

  .why-filter-steel__ledger-cell { padding-right: 0.7em; }
  .why-filter-steel__ledger-cell + .why-filter-steel__ledger-cell { padding-left: 1.1em; }

  .why-filter-close__evidence { column-gap: 3em; }

  .why-filter-skin {
    grid-template-columns: 1fr;
    gap: 3.5em;
  }

  .why-filter-skin__text,
  .why-filter-skin__figure,
  .why-filter-skin__set {
    grid-column: 1;
    grid-row: auto;
  }

  .why-filter-skin__figure {
    max-width: 40em;
  }

  .why-filter-gap__intro {
    grid-template-columns: 1fr;
    gap: 3em;
  }

  .why-filter-gap__figure {
    justify-self: start;
    width: 100%;
    max-width: 30em;
  }

  .why-filter-enviro {
    padding-top: 9em;
    padding-bottom: 8em;
  }

  .why-filter-enviro__note { margin-bottom: 6em; }

  .why-filter-journey {
    
    --journey-still-h: min(46vh, 38em);
  }

  .why-filter-hero__sub {
    color: rgba(239, 244, 244, 0.93);
  }

  .why-filter-hero__bg::after {
    background:
      linear-gradient(to right, rgba(var(--why-filter-scrim), 0.66) 0%, rgba(var(--why-filter-scrim), 0.42) 55%, rgba(var(--why-filter-scrim), 0.06) 100%),
      linear-gradient(to top, rgba(var(--why-filter-scrim), 0.72) 0%, rgba(var(--why-filter-scrim), 0.45) 30%, rgba(var(--why-filter-scrim), 0.10) 55%, rgba(var(--why-filter-scrim), 0.24) 100%);
  }

  .why-filter-steel__ledger-value {
    font-size: clamp(20px, 2.6vw, 2.25em);
    white-space: nowrap;
  }

  .why-filter-steel__ledger-label {
    white-space: nowrap;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024.98px) {
  .why-filter-gap__row {
    grid-template-columns: minmax(9em, 13em) minmax(0, 1fr);
    gap: 1em 2em;
  }

  .why-filter-gap__stage {
    grid-column: 2;
    justify-self: start;
    align-items: flex-start;
  }
}

@media screen and (max-width: 767.98px) {
  
  .why-filter-hero {
    padding-bottom: max(6.5em, calc(1.75em + 56px + env(safe-area-inset-bottom, 0px)));
  }

  .why-filter-hero__heading { font-size: 2.9em; }
  .why-filter-hero__sub { font-size: 1em; }

  .why-filter-hero__bg::after {
    background:
      linear-gradient(to bottom, rgba(var(--why-filter-scrim), 0.9) 0, rgba(var(--why-filter-scrim), 0.9) 150px, rgba(var(--why-filter-scrim), 0) 300px),
      linear-gradient(to top, rgb(var(--why-filter-scrim)) 0, rgba(var(--why-filter-scrim), 0) 72px),
      linear-gradient(to top,
        rgba(var(--why-filter-scrim), 0.22) 0%,
        rgba(var(--why-filter-scrim), 0.38) 9%,
        rgba(var(--why-filter-scrim), 0.50) 20%,
        rgba(var(--why-filter-scrim), 0.54) 30%,
        rgba(var(--why-filter-scrim), 0.54) 36%,
        rgba(var(--why-filter-scrim), 0.46) 44%,
        rgba(var(--why-filter-scrim), 0.24) 54%,
        rgba(var(--why-filter-scrim), 0.07) 68%,
        rgba(var(--why-filter-scrim), 0) 82%),
      linear-gradient(to top, rgba(var(--why-filter-scrim), 0.62) 0%, rgba(var(--why-filter-scrim), 0.10) 42%, rgba(var(--why-filter-scrim), 0.24) 100%);
  }

  .why-filter-hero__label {
    text-shadow: 0 0 4px rgba(var(--why-filter-scrim), 0.8), 0 0 10px rgba(var(--why-filter-scrim), 0.6);
  }

  .why-filter-h2 { font-size: 2.25em; }
  .why-filter-gap { padding-top: 6em; padding-bottom: 5.5em; }
  .why-filter-gap__statement { font-size: 1.85em; }

  .why-filter-gap__row {
    grid-template-columns: 1fr;
    gap: 0.9em;
  }

  .why-filter-gap__stage {
    justify-self: start;
    align-items: flex-start;
  }

  .why-filter-steel__stage { height: 150vh; }

  .why-filter-steel__media::after {
    background:
      linear-gradient(to bottom, rgba(239, 244, 244, 0.94) 0, rgba(239, 244, 244, 0.94) 72px, rgba(239, 244, 244, 0) 180px),
      linear-gradient(to right, rgba(239, 244, 244, 0.94) 0%, rgba(239, 244, 244, 0.86) 34%, rgba(239, 244, 244, 0.28) 58%, rgba(239, 244, 244, 0) 78%);
  }
  .why-filter-steel__heading { font-size: 2.5em; }
  .why-filter-steel__body { padding-top: 5em; padding-bottom: 6em; }

  .why-filter-skin { padding-top: 6em; padding-bottom: 6em; }

  .why-filter-taste { padding-top: 6em; }
  .why-filter-taste__heading { font-size: 2.5em; }

  .why-filter-journey__stages {
    gap: 4em;
  }

  .why-filter-taste__closing { font-size: 1.6em; padding-top: 4em; }

  .why-filter-enviro { padding-top: 7em; padding-bottom: 7em; }
  .why-filter-enviro__statement { font-size: 2.1em; }
  .why-filter-enviro__sub { font-size: 1.2em; }
  
  .why-filter-enviro__note { font-size: 12px; margin-bottom: 4.5em; }
  .why-filter-enviro__figure { aspect-ratio: 16 / 9; }

  .why-filter-faq { padding-bottom: 6em; }

  .why-filter-steel__ledger-cells { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .why-filter-steel__ledger-cell {
    padding: 1.3em 0.8em 0 0;
  }

  .why-filter-steel__ledger-cell + .why-filter-steel__ledger-cell {
    border-left: 0;
    padding-left: 0;
  }

  .why-filter-steel__ledger-cell:nth-child(2n) {
    border-left: var(--border-thin) solid var(--why-filter-line-dark);
    padding-left: 1.2em;
  }

  .why-filter-steel__ledger-cell:nth-child(n + 3) {
    margin-top: 1.3em;
    border-top: var(--border-thin) solid var(--why-filter-line-dark);
  }

  .why-filter-steel__ledger-label { font-size: 11px; }
  .why-filter-steel__ledger-value { font-size: clamp(22px, 3vw, 2.25em); }

  .why-filter-close { padding-top: clamp(32px, 3em, 48px); padding-bottom: 7em; }
  .why-filter-close__heading { font-size: 2.3em; }
  .why-filter-close__statement { margin-bottom: 4em; }

  .why-filter-close__evidence {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
    margin-bottom: 4.5em;
  }

  .why-filter-close__figure-frame {
    grid-column: 1;
    grid-row: auto;
    width: 100%;
  }

  .why-filter-close__figure-caption {
    grid-column: 1;
    grid-row: auto;
    
    align-self: auto;
    margin-top: 1.4em;
    margin-bottom: 2.4em;
    text-align: left;
  }

  .why-filter-close__assurance {
    grid-column: 1;
    grid-row: auto;
    align-self: start;
    align-content: start;
    gap: 1.75em;
  }

  .why-filter-sticky-cta {
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: var(--z-above-content-high);
    background-color: var(--why-filter-dark);
    transform: translateY(110%);
    visibility: hidden;
    transition: transform 0.45s cubic-bezier(0.65, 0, 0.35, 1), visibility 0s linear 0.45s;
  }

  .why-filter-sticky-cta.is-visible {
    transform: translateY(0);
    visibility: visible;
    transition: transform 0.45s cubic-bezier(0.65, 0, 0.35, 1), visibility 0s linear 0s;
  }

  html:has(.why-filter-sticky-cta) {
    scroll-padding-bottom: calc(var(--p1-sticky-bar-height) + env(safe-area-inset-bottom, 0px) + 8px);
  }

  .why-filter-sticky-cta {
    min-height: var(--p1-sticky-bar-height);
    padding: 0.45rem max(var(--gutter-right), env(safe-area-inset-right)) calc(0.45rem + env(safe-area-inset-bottom, 0px)) max(var(--gutter-left), env(safe-area-inset-left));
    border-top: var(--border-thin) solid var(--why-filter-line-light);
    text-decoration: none;
  }

  .why-filter-sticky-cta__link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: max(3.5rem, var(--control-height-sticky));
    padding: 0.75rem 1rem;
    border: var(--border-thin) solid var(--why-filter-line-light);
    border-radius: var(--radius-button);
    background: var(--surface-deep);
    color: var(--why-filter-bone);
    font-size: max(0.86rem, 14px);
    font-weight: 550;
    line-height: 1.2;
    text-align: center;
    transition: background-color var(--duration-fast) ease, border-color var(--duration-fast) ease;
  }

  .why-filter-sticky-cta:is(:active, :focus-visible) .why-filter-sticky-cta__link {
    background: var(--accent);
    border-color: var(--accent);
  }

  @media (hover: hover) and (pointer: fine) {
    .why-filter-sticky-cta:hover .why-filter-sticky-cta__link {
      background: var(--accent);
      border-color: var(--accent);
    }
  }
}

@media screen and (max-width: 767.98px) and (max-height: 500px) {
  .why-filter-sticky-cta {
    display: none;
  }

  html:has(.why-filter-sticky-cta) {
    scroll-padding-bottom: 0;
  }
}

@media screen and (max-width: 480.98px) {
  
  .why-filter-close__heading {
    line-height: 1.08;
    text-wrap: balance;
  }

  .why-filter-gap__source-ref {
    white-space: normal;
  }

  .why-filter-gap__source-ref [data-underline-link] {
    display: inline;
    max-width: none;
    text-decoration: underline;
    text-decoration-thickness: var(--border-thin);
    text-underline-offset: 0.25em;
  }

  .why-filter-gap__source-ref [data-underline-link]::before,
  .why-filter-gap__source-ref [data-underline-link]::after {
    display: none;
  }
}

@media screen and (max-width: 1024.98px), screen and (hover: none) and (pointer: coarse) {
  .why-filter-gap__body,
  .why-filter-gap__notice,
  .why-filter-steel__copy,
  .why-filter-skin__copy,
  .why-filter-journey__copy,
  .why-filter-faq__answer { font-size: max(var(--text-body), 15px); }

  .why-filter-hero__sub,
  .why-filter-taste__lead-copy,
  .why-filter-faq__trigger { font-size: max(1.0625em, 16px); }

  .why-filter-gap__module-intro,
  .why-filter-taste__order { font-size: max(1.35em, 18px); }

  .why-filter-enviro__sub { font-size: max(1.4em, 16px); }

  .why-filter-eyebrow,
  .why-filter-close .why-filter-eyebrow,
  .why-filter-hero__label,
  .why-filter-gap__term,
  .why-filter-steel__ledger-label,
  .why-filter-taste__cta a,
  .why-filter-gap__source,
  .why-filter-enviro__note { font-size: max(var(--text-small), 12px); }

  .why-filter-gap__stage,
  .why-filter-journey__kicker { font-size: max(var(--text-xs), 11px); }
}

@media screen and (max-width: 767.98px) {
  .why-filter-enviro__sub { font-size: max(1.2em, 16px); }
}

@media screen and (max-width: 1024.98px) {
  .why-filter-hero__heading { font-size: max(3.6em, 44px); }
  .why-filter-close__heading { font-size: max(2.8em, 38px); }
  .body--why-filter .why-filter-handover__plate { --ho-title: clamp(24px, 3.4vw, 3.25rem); }
}

@media screen and (min-width: 1025px) and (max-width: 1366px) and (hover: none) and (pointer: coarse) {
  .body--why-filter .why-filter-handover__plate { --ho-title: clamp(24px, 3.4vw, 3.25rem); }
}

@media screen and (max-width: 767.98px) {
  .why-filter-hero__heading { font-size: clamp(30px, 8.6vw, 40px); }

  .why-filter-h2,
  .why-filter-steel__heading,
  .why-filter-taste__heading { font-size: clamp(24px, 6.6vw, 34px); }

  .why-filter-enviro__statement { font-size: clamp(21px, 6vw, 30px); }
  .why-filter-gap__statement { font-size: clamp(18px, 4.8vw, 24px); }
  .why-filter-taste__closing { font-size: clamp(20px, 5.6vw, 26px); }
  .why-filter-close__heading { font-size: clamp(28px, 7.6vw, 40px); }

  .body--why-filter .why-filter-handover__plate { --ho-title: clamp(22px, 6.4vw, 34px); }
  .why-filter-steel__nav-region { display: none; }
  .body--why-filter .why-filter-handover .why-filter-handover__name { font-size: clamp(20px, 5.4vw, 26px); }
}

@media print {
  .why-filter-hero__bg,
  .why-filter-hero__film,
  .why-filter-skin__film,
  .why-filter-steel__media,
  .why-filter-sticky-cta,
  .why-filter-faq__chevron,
  .why-filter-journey__chrome,
  .why-filter-journey__seq,
  .why-filter-journey__index--pinned {
    display: none !important;
  }

  .why-filter-hero,
  .why-filter-steel__stage,
  .why-filter-steel__sticky,
  .why-filter-journey .pin-spacer {
    min-height: 0 !important;
    height: auto !important;
    padding-bottom: 0 !important;
    position: static !important;
  }

  .why-filter-hero {
    padding-top: 0 !important;
  }

  .why-filter-steel__sticky {
    overflow: visible !important;
  }

  .why-filter-steel__heading-wrap {
    break-inside: avoid;
  }

  .body--why-filter main section {
    background: none !important;
    color: var(--color-text) !important;
  }

  .body--why-filter main section * {
    color: var(--color-text) !important;
  }

  .body--why-filter .why-filter-journey__index-num {
    color: transparent !important;
  }

  [data-why-filter-reveal],
  [data-why-filter-ledger-cell],
  [data-why-filter-ledger-rule],
  [data-why-filter-rule],
  [data-why-filter-highlight],
  [data-why-filter-highlight] *,
  [data-why-filter-hero-label],
  [data-why-filter-hero-heading],
  [data-why-filter-hero-sub],
  .why-filter-journey__detail {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  .why-filter-faq__body {
    grid-template-rows: 1fr !important;
    visibility: visible !important;
    transition: none !important;
  }

  .why-filter-faq__content {
    overflow: visible;
  }

  .why-filter-journey .pin-spacer {
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
  }

  .why-filter-journey__inner {
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    padding: 2.5em var(--gutter-right) 0 var(--gutter-left) !important;
    transform: none !important;
  }

  .why-filter-journey__frame {
    position: static !important;
    height: auto !important;
    max-width: none !important;
  }

  .why-filter-journey__field {
    display: none !important;
  }

  .why-filter-journey__stages {
    position: static !important;
    display: grid !important;
    gap: 2.5em !important;
  }

  .why-filter-journey__stage,
  .why-filter-journey__detail {
    position: static !important;
  }

  .why-filter-journey__detail {
    display: block !important;
    max-width: none !important;
  }

  .why-filter-gap__row {
    grid-template-columns: minmax(9em, 13em) minmax(0, 1fr);
    gap: 1em 2em;
  }

  .why-filter-gap__stage {
    grid-column: 2;
    justify-self: start;
    align-items: flex-start;
  }

  .why-filter-steel__ledger-value {
    font-size: 20px;
    white-space: nowrap;
  }

  .why-filter-steel__ledger-label {
    white-space: nowrap;
  }

  .why-filter-gap__row,
  .why-filter-journey__stage,
  .why-filter-faq__item,
  .why-filter-close__assurance-item {
    break-inside: avoid;
  }
}

.scrub-track {
  
  height: 230vh;
  position: relative;
  background-color: var(--color-bg);
}

.scrub-sticky {
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative;
  padding-left: var(--gutter-left);
  padding-right: var(--gutter-right);
}

body.body--home {
  overflow-anchor: none;
}

.scrub-heading {
  position: absolute;
  top: 16vh;
  left: 0;
  right: 0;
  text-align: center;
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-text);
  opacity: 1;
  margin: 0;
}

.scrub-text-block {
  font-size: clamp(2rem, 5vw, 4.5rem);
  line-height: 1.15;
  text-align: center;
  max-width: 1200px;
  font-family: 'Instrument Serif', 'Instrument Serif Fallback', serif;
  color: var(--color-text, #1D4F5F);
}

.scrub-line {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  white-space: nowrap;
  opacity: 1;
  transform: none;
  will-change: opacity, transform;
}

.scrub-italic {
  font-family: 'Instrument Serif', 'Instrument Serif Fallback', serif;
  font-style: italic;
}

.scrub-img-wrap {
  display: inline-flex;
  
  flex-shrink: 0;
  width: 2em;
  height: 1.15em;
  margin: 0 0.13em;
  overflow: hidden;
  vertical-align: middle;
  border-radius: 4px;
}

.scrub-img-wrap img {
  height: 100%;
  
  width: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}

.scrub-break {
  flex: 0 0 0.25em;
  height: 0;
  overflow: hidden;
}

@media (max-width: 767.98px) {
  .scrub-text-block {
    font-size: clamp(28px, 9vw, 48px);
    max-width: 90vw;
  }

  .scrub-line {
    white-space: normal;
    flex-wrap: wrap;
  }

  .scrub-break {
    flex: 0 0 100%;
    height: 0;
  }
}

.scrub-track.is--static {
  height: auto;
}

@media (min-width: 768px) and (prefers-reduced-motion: no-preference) {
  .scrub-track:not(.is--static) > .scrub-sticky {
    position: sticky;
    top: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .scrub-track {
    height: auto;
  }
}

@media (scripting: none) {
  .scrub-track {
    height: auto;
  }
}

@media (min-width: 768px) {
  .scrub-break:has(+ .scrub-img-wrap) {
    flex-basis: 0;
  }
}

@media (min-width: 768px) and (max-height: 500px) and (orientation: landscape) {
  .scrub-text-block {
    font-size: clamp(1.5rem, 8.5vh, 2.5rem);
  }
}

@media (max-width: 767.98px) {
  .scrub-track {
    height: auto;
    padding: 5em 0 4em;
  }

  .scrub-sticky {
    height: auto;
    overflow: visible;
    display: block;
  }

  .scrub-heading {
    position: static;
    margin-bottom: 2.25em;
  }

  .scrub-line {
    margin-bottom: 0.15em;
  }

  .scrub-img-wrap {
    width: 2.5em;
    height: 1.3em;
  }
}

.home-invite {
  background-color: var(--color-bg);
  color: var(--color-text);
  padding: 9em 2em 6.5em;
  text-align: center;
  position: relative;
  overflow: hidden;
  z-index: var(--z-base);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 100vh;
  min-height: 100svh;
}

.home-invite__media {
  position: absolute;
  inset: 0;
  z-index: var(--z-base);
  pointer-events: none;
}

.home-invite__img,
.home-invite__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}

.home-invite__video {
  opacity: 0;
  transition: opacity 1.2s ease;
}

.home-invite__video.is--playing {
  opacity: 1;
}

.home-invite__scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,
    rgba(228, 244, 248, 0) 42%,
    rgba(228, 244, 248, 0.5) 66%,
    rgba(228, 244, 248, 0.82) 100%);
}

.home-invite__inner {
  max-width: 640px;
  margin: 0 auto;
  position: relative;
  z-index: var(--z-local-1);
}

.home-invite__title {
  font-size: 2.6em;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.005em;
  margin: 0;
}

.home-invite__accent {
  font-family: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif;
  font-style: italic;
  font-weight: 400;
}

.home-invite__cta-row {
  margin: 1.6em 0 0;
}

.home-invite__cta {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55em;
  color: inherit;
  text-decoration: none;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.03em;
  min-height: 48px;
  padding: 0.625em 2.1875em;
  border: none;
  border-radius: 6.25em;
  overflow: hidden;
  background: transparent;
  transition: transform 0.2s ease;
  touch-action: manipulation;
}

@media (hover: hover) and (pointer: fine) {
  .home-invite__cta:hover {
    transform: scale(1.05);
  }
}

.home-invite__cta:active {
  transform: scale(0.97);
}

.home-invite__cta-label,
.home-invite__cta-row .home-invite__cta-arrow {
  position: relative;
  z-index: var(--z-local-2);
}

.glass-effect--frost {
  -webkit-backdrop-filter: saturate(120%) blur(0.75em);
  backdrop-filter: saturate(120%) blur(0.75em);
}

.glass-effect--frost .glass-effect__fill {
  background-color: rgba(244, 248, 250, 0.5);
}

@media (prefers-reduced-motion: reduce) {
  .home-invite__cta,
  .home-invite__cta:active {
    transform: none;
    transition: none;
  }
}

.home-invite__cta:focus-visible,
.home-invite__story-link:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
  border-radius: 2px;
}

.home-invite__cta-arrow {
  display: inline-flex;
  align-items: center;
  transition: transform 250ms ease;
}

.home-invite__cta-arrow svg {
  width: 0.8em;
  height: 0.8em;
}

@media (hover: hover) and (pointer: fine) {
  .home-invite__cta:hover .home-invite__cta-arrow,
  .home-invite__story-link:hover .home-invite__cta-arrow {
    transform: translateX(4px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-invite__cta-arrow {
    transition: none;
  }

  .home-invite__cta:hover .home-invite__cta-arrow,
  .home-invite__story-link:hover .home-invite__cta-arrow {
    transform: none;
  }
}

.home-invite__story {
  margin: 2.75em 0 0;
}

.home-invite__story-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  color: inherit;
  text-decoration: none;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.04em;
  
  min-height: 44px;
}

@media screen and (max-width: 767.98px) {
  .home-invite {
    padding: 6em var(--gutter-right) 4.5em var(--gutter-left);
    min-height: 88vh;
    min-height: 88svh;
  }

  .home-invite .motion-toggle--corner {
    bottom: 4.5em;
  }

  .home-invite__title {
    
    font-size: max(1.6em, 24px);
  }

  .home-invite__scrim {
    background: linear-gradient(180deg,
      rgba(228, 244, 248, 0) 34%,
      rgba(228, 244, 248, 0.56) 60%,
      rgba(228, 244, 248, 0.88) 100%);
  }

  .home-invite__img,
  .home-invite__video {
    object-position: 36% 50%;
  }
}

@media (min-width: 768px) and (max-width: 1024.98px) and (orientation: portrait) {
  .home-invite__img,
  .home-invite__video {
    object-position: 30% 50%;
  }
}

@media (max-height: 500px) and (orientation: landscape) {
  .home-invite {
    padding-top: 4em;
    padding-bottom: 1.75em;
  }

  .home-invite__img,
  .home-invite__video {
    object-position: 36% 88%;
  }

  .home-invite__inner {
    width: min(54%, 640px);
    margin-left: auto;
    margin-right: 0;
  }

  .home-invite .motion-toggle--corner {
    bottom: 1.75em;
  }
}

@media screen and (max-width: 344.98px) {
  .home-invite .motion-toggle--corner {
    top: calc(var(--gutter-right) - 5px);
    bottom: auto;
  }
}

.legal-page-header {
  padding: 8em var(--gutter-right) 2em var(--gutter-left);
  background-color: var(--color-bg);
}

.legal-page-heading {
  font-size: 3em;
  font-weight: 400;
  color: var(--color-text);
  margin: 0 0 1.67em;
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', Arial, sans-serif;
}

.legal-page-subtext {
  font-size: 1.0625em;
  font-weight: 400;
  color: var(--color-text);
  margin: 0;
  line-height: 1.7;
  
  max-width: 47.95em;
}

.legal-expand-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  min-height: 44px;
  margin-top: 2.5em;
  padding: 0;
  font-size: max(1rem, 14px);
  font-weight: 500;
  color: var(--ink-body);
  background: none;
  border: 0;
  border-radius: 0;
  cursor: pointer;
  font-family: inherit;
}

.legal-expand-toggle:focus-visible [data-underline-link]::before {
  transform-origin: left;
  transform: scaleX(1) rotate(0.001deg);
}

.legal-expand-toggle__indicator {
  position: relative;
  display: inline-block;
  width: 0.75em;
  height: 0.75em;
  vertical-align: middle;
  overflow: hidden;
}

.legal-expand-toggle__indicator::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 100%;
  height: 0.125em;
  background-color: currentColor;
}

.legal-expand-toggle__indicator::after {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0.125em;
  height: 100%;
  background-color: currentColor;
  transition: transform 0.35s cubic-bezier(0.65, 0, 0.35, 1);
}

.legal-expand-toggle__indicator.is--active::after {
  transform: translateX(-50%) rotate(90deg);
}

.legal-page-content {
  padding: 3em var(--gutter-right) 5em var(--gutter-left);
  background-color: var(--color-bg);
}

.legal-accordion {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
}

.legal-accordion .faq-section__trigger {
  font-size: 1.375em;
  padding: 1.5em 0;
}

.legal-accordion .faq-section__item {
  border-bottom: 1px solid var(--rule);
}

.legal-accordion .faq-section__item:first-child {
  border-top: 1px solid var(--rule);
}

.legal-accordion .faq-section__body {
  visibility: hidden;
  transition: grid-template-rows 0.4s ease, visibility 0s linear 0.4s;
}

.legal-accordion .faq-section__item[data-accordion-status="active"] .faq-section__body {
  visibility: visible;
  transition: grid-template-rows 0.4s ease, visibility 0s linear 0s;
}

@media (scripting: none) {
  .legal-accordion .faq-section__body,
  .faq-section--deep .faq-section__body {
    grid-template-rows: 1fr;
    visibility: visible;
  }

  .legal-accordion .faq-section__icon,
  .faq-section--deep .faq-section__icon,
  .legal-expand-toggle {
    display: none;
  }

  .legal-accordion .faq-section__trigger,
  .faq-section--deep .faq-section__trigger {
    cursor: default;
  }
}

.legal-accordion:not([data-accordion-ready]) .faq-section__body,
.faq-section--deep .faq-section__list:not([data-accordion-ready]) .faq-section__body {
  animation: accordion-unscripted-open 0s linear 3s forwards;
}

.legal-accordion:not([data-accordion-ready]) .faq-section__icon,
.faq-section--deep .faq-section__list:not([data-accordion-ready]) .faq-section__icon,
main:has([data-legal-accordion]:not([data-accordion-ready])) .legal-expand-toggle {
  animation: accordion-unscripted-hide 0s linear 3s forwards;
}

@keyframes accordion-unscripted-open {
  to {
    grid-template-rows: 1fr;
    visibility: visible;
  }
}

@keyframes accordion-unscripted-hide {
  to {
    visibility: hidden;
  }
}

.legal-accordion__body-text {
  font-size: 1em;
  font-weight: 400;
  color: var(--color-text);
  line-height: 1.75;
  padding-bottom: 2em;
  
  max-width: 47.95em;
}

.legal-accordion__body-text p {
  margin: 0 0 1em 0;
}

.legal-accordion__body-text ul {
  padding-left: 1.25em;
  margin: 0 0 1em 0;
  list-style-type: disc;
}

.legal-accordion__body-text ul li {
  margin-bottom: 0.75em;
}

.legal-accordion__body-text a {
  text-decoration: none;
  position: relative;
}

.legal-accordion__body-text a::before {
  content: "";
  position: absolute;
  bottom: -0.0625em;
  left: 0;
  width: 100%;
  height: var(--border-thin);
  background-color: currentColor;
  transition: var(--transition-underline);
  transform-origin: right;
  transform: var(--transform-reset);
}

@media (hover: hover) and (pointer: fine) {
  .legal-accordion__body-text a:hover::before {
    transform-origin: left;
    transform: scaleX(1) rotate(0.001deg);
  }
}

.legal-accordion__body-text strong {
  font-weight: 600;
}

@media (max-width: 1024.98px) {
  .legal-page-header {
    padding-top: 6em;
  }
  
  .legal-page-heading {
    font-size: max(2.5em, 28px);
    margin-bottom: 1.67em;
  }
  .legal-page-subtext {
    font-size: 1em;
  }
  .legal-accordion .faq-section__trigger {
    font-size: max(1.25em, 16px);
    padding: 1.25em 0;
  }
}

@media (max-width: 1024.98px) {
  .legal-page-subtext,
  .legal-accordion__body-text {
    font-size: max(1em, 14px);
  }
}

@media (max-width: 767.98px) {
  .legal-page-header {
    padding-top: max(6em, 104px);
  }
  .legal-page-heading {
    font-size: max(2.5em, 28px);
  }
}

@media (max-width: 480.98px) {
  .legal-page-header {
    padding-top: max(5.5em, 104px);
  }
  .legal-page-heading {
    font-size: max(2em, 28px);
    margin-bottom: 1.67em;
  }
  .legal-page-subtext {
    font-size: max(0.9375em, 14px);
  }
  .legal-accordion .faq-section__trigger {
    font-size: max(1.125em, 16px);
    padding: 1.125em 0;
  }
  .legal-accordion__body-text {
    font-size: max(0.9375em, 14px);
  }
}

.form-honeypot {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.form-feedback {
  padding: max(0.875rem, 14px) max(1.25rem, 18px);
  margin-top: 1rem;
  border-radius: 0.5rem;
  font-family: 'Instrument Sans', 'Instrument Sans Fallback', sans-serif;
  font-size: max(0.875rem, 15px);
  line-height: 1.5;
  transition: opacity 0.3s ease;
}

.form-feedback {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

.form-feedback__text {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.4em;
}

.form-feedback__aside {
  opacity: 0.85;
}

.form-feedback__aside a {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.form-feedback__dismiss {
  flex-shrink: 0;
  min-width: 44px;
  min-height: 44px;
  margin: -0.6rem -0.75rem -0.6rem 0;
  background: none;
  border: none;
  border-radius: 0.5rem;
  color: inherit;
  font-family: inherit;
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
}

.form-feedback--success {
  background-color: rgba(23, 106, 87, 0.08);
  border: 1px solid rgba(23, 106, 87, 0.2);
  color: var(--success);
}

.form-feedback--error {
  background-color: rgba(139, 0, 0, 0.06);
  background-color: color-mix(in srgb, var(--color-error) 6%, transparent);
  border: 1px solid rgba(139, 0, 0, 0.15);
  border-color: color-mix(in srgb, var(--color-error) 15%, transparent);
  color: var(--color-error);
}

.form-feedback--hiding {
  opacity: 0;
}

.contact-form__submit.is-submitting {
  opacity: 0.6;
  pointer-events: none;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

body.body--cartridge-pdp {
  
  --cartridge-bone: var(--surface-frost);
  --cartridge-bone-deep: var(--surface-glacier);
  --cartridge-ink: var(--commerce-ink);
  --cartridge-slate: var(--ink);
  --cartridge-night: var(--surface-abyss);
  --cartridge-line: rgb(12 56 70 / 20%);
  --commerce-arrival-field: var(--cartridge-bone);
  background-color: var(--cartridge-bone);
}

.body--cartridge-pdp .page-transition.is--active { background-color: var(--cartridge-bone); }

.product-detail--cartridge {
  --p1-bone: var(--cartridge-bone);
  --p1-bone-deep: var(--cartridge-bone-deep);
  --p1-ink: var(--cartridge-ink);
  --p1-slate: var(--cartridge-slate);
  --p1-line: var(--cartridge-line);
  --range-bone: var(--cartridge-bone);
  --range-ink: var(--cartridge-ink);
  --range-slate: var(--cartridge-slate);
  --range-line: var(--cartridge-line);
  
  --pdp-panel-top: clamp(5.75rem, 7.4vw, 7rem);
  --pdp-panel-bottom: clamp(2rem, 3vw, 3rem);
  --pdp-rail-measure: min(29rem, 32.25vw);
  --pdp-rail-pad: clamp(1.5rem, 3vw, 3.25rem);
  
  --pdp-inner-gutter: var(--gutter-left);
  display: block;
  min-height: 0;
  background: var(--cartridge-bone);
  color: var(--cartridge-ink);
}

.cartridge-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) calc(var(--pdp-rail-measure) + var(--pdp-rail-pad) + var(--gutter-right));
  grid-template-rows: auto minmax(0, 1fr);
  align-items: start;
  min-height: 100dvh;
  background: var(--cartridge-bone);
}

.cartridge-hero > .product-detail__breadcrumb {
  grid-column: 2;
  grid-row: 1;
}

.product-detail--cartridge .cartridge-hero__gallery-side {
  grid-column: 1;
  grid-row: 1 / -1;
}

.product-detail--cartridge .cartridge-hero__gallery-side {
  position: relative;
  top: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: auto;
  height: auto;
  min-height: 0;
  
  padding: var(--pdp-panel-top) max(0px, calc(var(--pdp-inner-gutter) - var(--pdp-rail-pad))) 0 var(--gutter-left);
  overflow: visible;
  background: transparent;
}

.product-detail--cartridge {
  
  --p1-room: var(--surface-glacier);
}

.product-detail--cartridge .cartridge-hero__info {
  grid-column: 2;
  grid-row: 2;
  width: auto;
  min-width: 0;
  min-height: 0;
  justify-content: flex-start;
  
  padding: 0 var(--gutter-right) 2rem var(--pdp-rail-pad);
  border: 0;
  background: transparent;
  color: var(--cartridge-ink);
}

@media screen and (min-width: 1025px) {
  .product-detail--cartridge .cartridge-hero__info {
    align-self: start;
  }
}

.product-detail--cartridge .product-detail__breadcrumb {
  margin-bottom: 1.15rem;
  padding: max(clamp(7.5rem, 12.5vw, 11.5rem), calc((100dvh - 29rem) * 0.45)) clamp(1.5rem, 3vw, 3.25rem) 0;
  color: var(--ink-muted);
  font-size: 0.75rem;
}

.product-detail--cartridge .product-detail__eyebrow,
.cartridge-kicker {
  margin: 0 0 var(--pdp-rail-step-lockup);
  color: var(--ink-muted);
  font-size: 0.7rem;
  font-weight: 650;
  line-height: 1.2;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.product-detail--cartridge .product-detail__name {
  margin: 0 0 var(--pdp-rail-step-lockup);
  color: var(--cartridge-ink);
  font-size: clamp(3rem, 4.5vw, 4.4rem);
  font-weight: 450;
  line-height: 0.94;
  letter-spacing: -0.052em;
  text-wrap: balance;
}

@media screen and (min-width: 768px) {
  .product-detail--cartridge .product-detail__name {
    min-height: 1.88em;
  }
}

.product-detail--cartridge .product-detail__price {
  margin: 0 0 var(--pdp-rail-step-line);
  color: var(--ink-muted);
  font-size: max(1.12rem, 17px);
  font-weight: 400;
  font-variant-numeric: tabular-nums;
  line-height: 1.25;
}

.cartridge-hero__fits { margin: 0; color: var(--ink-muted); font-size: max(0.975rem, 14px); line-height: 1.6; text-wrap: pretty; }

.cartridge-hero__fits--swap { margin-top: 0.55rem; max-width: 34ch; }

.product-detail--cartridge .product-detail__buttons {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-content: stretch;
  gap: var(--pdp-rail-step-bind);
  margin: var(--pdp-rail-step-group) 0 0;
}

.product-detail--cartridge .product-detail__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: max(3.9rem, 58px);
  padding: 1.15rem 2rem;
  border: var(--border-thin) solid transparent;
  border-radius: 0;
  font-size: max(0.95rem, 15px);
  font-weight: 550;
  line-height: 1;
  letter-spacing: 0.005em;
  text-transform: none;
  white-space: nowrap;
  visibility: visible;
  opacity: 1;
}

.product-detail--cartridge .product-detail__button--primary { background: var(--surface-deep); color: var(--cartridge-bone); }
.product-detail--cartridge .product-detail__buttons .product-detail__button {
  justify-self: stretch;
  width: 100%;
}

.product-detail--cartridge .product-detail__button--secondary {
  min-height: max(3.5rem, 52px);
  margin-top: 0;
  padding: 1rem 2rem;
  border: var(--border-thin) solid var(--ink-muted);
  background: transparent;
  color: var(--cartridge-ink);
  font-size: max(0.9rem, 15px);
  font-weight: 500;
  text-decoration: none;
}

.product-detail--cartridge .product-detail__button:focus-visible,
.product-detail--cartridge .product-gallery__zoom:focus-visible,
.product-detail--cartridge .cartridge-rhythm__routes a:focus-visible {
  outline: max(2px, calc(var(--border-thin) * 2)) solid var(--accent);
  outline-offset: calc(var(--border-thin) * 3);
}

.cartridge-shell,
.product-detail--cartridge .cartridge-cross-sell .products-range-shell {
  width: 100%;
  
  margin-inline: auto;
  padding-left: var(--gutter-left);
  padding-right: var(--gutter-right);
}

.cartridge-benefit { padding-block: clamp(6rem, 10vw, 10rem); background: var(--cartridge-bone); color: var(--cartridge-ink); }

.cartridge-benefit__layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(15rem, 0.5fr); grid-template-rows: auto 1fr; gap: 0 clamp(3rem, 8vw, 9rem); align-items: start; }
.cartridge-benefit__body { display: contents; }
.cartridge-benefit__layout .cartridge-kicker { grid-column: 1; grid-row: 1; }
.cartridge-benefit__title { grid-column: 1; grid-row: 2; }
.cartridge-benefit__copy { grid-column: 2; grid-row: 1 / span 2; }

.cartridge-benefit__title,
.cartridge-rhythm__title {
  max-width: 12ch;
  margin: 0;
  font-size: clamp(3rem, 6vw, 6rem);
  font-weight: 430;
  line-height: 0.92;
  letter-spacing: -0.055em;
  text-wrap: balance;
}

.cartridge-rhythm__title {
  font-size: clamp(2.5rem, 4.2vw, 3.75rem);
  line-height: 0.98;
  letter-spacing: -0.04em;
}

.cartridge-benefit__title em { font-family: inherit; font-style: normal; font-weight: inherit; }

.cartridge-benefit__title em { display: inline-block; }
.cartridge-rhythm__title em { font-family: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif; font-weight: 400; }
.cartridge-benefit__copy { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; max-width: 34ch; margin-top: 0.5rem; }
.cartridge-benefit__copy p,
.cartridge-rhythm__copy { margin: 0; font-size: clamp(0.95rem, 1.2vw, 1.08rem); line-height: 1.65; }

.product-detail--cartridge .cartridge-specs { margin: 0; padding-block: clamp(5rem, 8vw, 8rem); }

.product-detail--cartridge .cartridge-specs .product-specs__title { max-width: none; }

.product-detail--cartridge .cartridge-cross-sell {
  --range-bone: var(--cartridge-bone);
  --range-ink: var(--cartridge-ink);
  --range-slate: var(--cartridge-slate);
  --range-line: var(--cartridge-line);
  padding-block: clamp(4.5rem, 7vw, 7rem);
  background: var(--cartridge-bone);
  color: var(--cartridge-ink);
}

.product-detail--cartridge .cartridge-cross-sell .products-range-stages__head {
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
}

.product-detail--cartridge .cartridge-cross-sell .pgrid-card__frame--hydrosteel {
  
  background-color: var(--pgrid-ground-hydrosteel);
}

.product-detail--cartridge .cartridge-cross-sell .pgrid-card__frame--hydrosteel .product-card__img--back {
  background-color: var(--surface-deep); 
  background-image: radial-gradient(
    115% 95% at 50% 28%,
    var(--surface-tide)  0%,
    var(--surface-deep) 52%,
    var(--surface-abyss) 100%
  );
}

.product-detail--cartridge .cartridge-cross-sell .pgrid-card--system .pgrid-card__line {
  margin-top: 0.5rem;
  font-size: 0.8125rem;
  line-height: 1.5;
}

@media screen and (max-width: 767.98px) {
  .product-detail--cartridge .cartridge-cross-sell .pgrid-card--system .pgrid-card__link {
    display: grid;
    grid-template-columns: 6.5rem minmax(0, 1fr);
    column-gap: 1.25rem;
    align-items: center;
  }

  .product-detail--cartridge .cartridge-cross-sell .pgrid-card--system .pgrid-card__meta {
    padding-top: 0;
  }

  .product-detail--cartridge .cartridge-cross-sell .pgrid-card--system .pgrid-card__line {
    max-width: none;
    font-size: max(0.8125rem, var(--pdp-floor-body));
  }
}

.cartridge-rhythm { padding-block: clamp(6rem, 10vw, 10rem); background: var(--cartridge-bone); color: var(--cartridge-ink); }

.cartridge-rhythm__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(15rem, 0.5fr);
  grid-template-rows: auto auto 1fr;
  gap: 0 clamp(3rem, 8vw, 9rem);
  align-items: end;
}
.cartridge-rhythm__layout .cartridge-kicker { grid-column: 1; grid-row: 1; align-self: start; }
.cartridge-rhythm__title { grid-column: 1; grid-row: 2; max-width: 11ch; }

.cartridge-rhythm__ask {
  grid-column: 2;
  grid-row: 1 / 4;
  align-self: end;
  display: grid;
  justify-items: start;
}
.cartridge-rhythm__copy { max-width: 28ch; }
.cartridge-rhythm__enquire { margin-top: clamp(1.75rem, 3vw, 2.5rem); }

.cartridge-rhythm__routes { grid-column: 1; grid-row: 3; align-self: end; display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; margin-top: clamp(2rem, 4vw, 3.5rem); }
.cartridge-rhythm__routes a { min-height: 44px; display: inline-flex; align-items: center; color: inherit; font-size: 0.88rem; font-weight: 600; }

.product-detail--cartridge .product-detail__button--inline {
  justify-self: start;
  width: auto;
}

@media screen and (max-width: 1024.98px) {
  
  .product-detail--cartridge {
    --pdp-panel-top: 5.25rem;
    --pdp-panel-bottom: 1.5rem;
    --pdp-rail-pad: 1.5rem;
    
    --pdp-rail-measure: min(23rem, 30.7vw);
  }
  .product-detail--cartridge .cartridge-hero__gallery-side { width: auto; height: auto; }
  .product-detail--cartridge .cartridge-hero__info { width: auto; }
  .product-detail--cartridge .product-detail__breadcrumb { padding-right: var(--gutter-right); padding-left: var(--pdp-rail-pad); }
  .product-detail--cartridge .product-detail__name { font-size: clamp(2.65rem, 5vw, 3.25rem); }
}

@media screen and (max-width: 767.98px) {
  
  .cartridge-hero { grid-template-columns: 1fr; grid-template-rows: auto; min-height: 100svh; }
  .cartridge-hero > .product-detail__breadcrumb,
  .product-detail--cartridge .cartridge-hero__gallery-side,
  .product-detail--cartridge .cartridge-hero__info { grid-column: 1; grid-row: auto; }

  .product-detail--cartridge .cartridge-hero__gallery-side {
    display: block;
    width: 100%;
    height: auto;
    min-height: 0;
    margin: 0;
    padding: 0 var(--gutter-right) 0 var(--gutter-left);
  }
  .product-detail--cartridge .cartridge-hero__info { width: 100%; min-height: 0; justify-content: flex-start; padding: 0.75rem var(--gutter-right) 1.5rem var(--gutter-left); border: 0; }
  .product-detail--cartridge .product-detail__breadcrumb { margin-bottom: 0.45rem; padding: 5.5rem var(--gutter-right) 0 var(--gutter-left); font-size: 0.68rem; }
  .product-detail--cartridge .product-detail__eyebrow { margin-bottom: var(--pdp-rail-step-lockup); font-size: 0.64rem; }
  .product-detail--cartridge .product-detail__name { font-size: max(2.15rem, var(--pdp-floor-name)); }
  
  .product-detail--cartridge .product-detail__price { margin-bottom: var(--pdp-rail-step-line); font-size: max(0.98rem, 15px); }
  .product-detail--cartridge .product-detail__button { min-height: max(3.6rem, 54px); padding: 1rem 1.5rem; font-size: 0.9rem; }
  .product-detail--cartridge .product-detail__button--secondary { min-height: max(3.25rem, 50px); padding: 0.9rem 1.5rem; font-size: 0.86rem; }
  .cartridge-shell,
  .product-detail--cartridge .cartridge-cross-sell .products-range-shell { padding-inline: var(--gutter-left) var(--gutter-right); }
  .cartridge-benefit__layout,
  .cartridge-rhythm__layout { grid-template-columns: 1fr; gap: 2rem; }
  .cartridge-benefit__title,
  .cartridge-rhythm__title { font-size: clamp(3rem, 14vw, 4.5rem); }
  
  .cartridge-rhythm__title { font-size: clamp(2.2rem, 9vw, 3rem); }
  
  .cartridge-benefit__layout .cartridge-kicker,
  .cartridge-benefit__title,
  .cartridge-benefit__copy { grid-column: 1; grid-row: auto; }
  .cartridge-benefit__copy { grid-template-columns: 1fr; max-width: none; margin-top: 0; }
  .cartridge-benefit__layout { grid-template-rows: none; }
  .product-detail--cartridge .cartridge-cross-sell .products-range-stages__head { align-items: flex-start; flex-direction: column; gap: 0; }
  
  .cartridge-rhythm__layout { grid-template-rows: none; }
  .cartridge-rhythm__title,
  .cartridge-rhythm__layout .cartridge-kicker,
  .cartridge-rhythm__ask,
  .cartridge-rhythm__routes { grid-column: 1; grid-row: auto; align-self: auto; }
  .cartridge-rhythm__ask { justify-items: stretch; }
  
  .product-detail--cartridge .cartridge-rhythm__enquire { justify-self: stretch; width: 100%; }
  .cartridge-rhythm__copy { max-width: none; }
  .cartridge-rhythm__routes { margin-top: 0; }
}

@media screen and (min-width: 768px) and (max-width: 1024.98px) {
  .cartridge-benefit__layout,
  .cartridge-rhythm__layout { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; }
  .cartridge-benefit__layout .cartridge-kicker,
  .cartridge-benefit__title,
  .cartridge-benefit__copy,
  .cartridge-rhythm__title,
  .cartridge-rhythm__layout .cartridge-kicker,
  .cartridge-rhythm__ask,
  .cartridge-rhythm__routes { grid-column: 1; grid-row: auto; align-self: auto; }
  .cartridge-benefit__title,
  .cartridge-rhythm__title { max-width: none; }
  
  .cartridge-benefit__copy { max-width: none; margin-top: 2.25rem; }
  .cartridge-benefit__copy p { max-width: 52ch; }
  .cartridge-rhythm__ask { margin-top: 2.25rem; }
  .cartridge-rhythm__copy { max-width: 52ch; }
}

@media screen and (max-width: 767.98px) {
  .product-detail--cartridge .product-detail__breadcrumb {
    font-size: max(0.68rem, var(--pdp-floor-meta));
  }

  .product-detail--cartridge .product-detail__eyebrow {
    font-size: max(0.64rem, var(--pdp-floor-meta));
  }

  .body--cartridge-pdp .cartridge-kicker {
    font-size: max(0.7rem, var(--pdp-floor-meta));
  }

  .cartridge-hero__fits {
    font-size: max(0.975rem, 14px);
    line-height: 1.6;
  }

  .product-detail--cartridge .product-detail__button {
    font-size: max(0.9rem, var(--pdp-floor-action));
  }

  .product-detail--cartridge .product-detail__button--secondary {
    font-size: max(0.86rem, var(--pdp-floor-action));
  }

  .body--cartridge-pdp .cartridge-benefit__copy p,
  .body--cartridge-pdp .cartridge-rhythm__copy {
    font-size: max(clamp(0.95rem, 1.2vw, 1.08rem), var(--pdp-floor-body));
  }

  .body--cartridge-pdp .cartridge-rhythm__routes a {
    font-size: max(0.88rem, var(--pdp-floor-action));
  }
}

@media screen and (min-width: 768px) and (max-width: 1024.98px) {
  body.body--product-flagship,
  body.body--cartridge-pdp,
  body.body--products-range,
  body.body--thermosteel-pdp,
  body.body--home {
    --pdp-tablet-floor-meta: 11px;   
    --pdp-tablet-floor-body: 13px;   
    --pdp-tablet-floor-action: 14px; 
  }

  .product-detail--flagship .product-detail__eyebrow,
  .product-detail--cartridge .product-detail__eyebrow {
    font-size: max(0.72rem, var(--pdp-tablet-floor-meta));
  }

  .product-detail--flagship .product-detail__finish-title {
    font-size: max(0.78rem, var(--pdp-tablet-floor-meta));
  }

  .product-detail--flagship .product-detail__swatch-name {
    font-size: max(0.82rem, var(--pdp-tablet-floor-meta));
  }

  .body--product-flagship .product-argument__eyebrow,
  .body--product-flagship .product-film-slot__eyebrow,
  .body--product-flagship .product-faq__eyebrow,
  .body--cartridge-pdp .cartridge-kicker {
    font-size: max(0.7rem, var(--pdp-tablet-floor-meta));
  }

  .body--product-flagship .product-specs__stat dt,
  .body--thermosteel-pdp .product-specs__stat dt, .body--cartridge-pdp .product-specs__stat dt {
    font-size: max(0.72rem, var(--pdp-tablet-floor-meta));
  }

  .body--product-flagship .product-specs__stat dd > span:not([data-odometer-element]),
  .body--thermosteel-pdp .product-specs__stat dd > span:not([data-odometer-element]), .body--cartridge-pdp .product-specs__stat dd > span:not([data-odometer-element]) {
    font-size: max(0.8rem, var(--pdp-tablet-floor-meta));
  }

  .body--product-flagship .product-argument__copy p {
    font-size: max(clamp(1rem, 1.3vw, 1.15rem), var(--pdp-tablet-floor-body));
  }

  .body--product-flagship .product-argument__fact dt,
  .body--product-flagship .product-argument__fact dd {
    font-size: max(0.88rem, var(--pdp-tablet-floor-body));
  }

  .body--product-flagship .product-detail__specs-table,
  .body--cartridge-pdp .product-detail__specs-table {
    font-size: max(var(--text-body), var(--pdp-tablet-floor-body));
  }

  .body--product-flagship .product-faq .faq-section__answer {
    font-size: max(clamp(0.9rem, 1.1vw, 1rem), var(--pdp-tablet-floor-body));
  }

  .body--product-flagship .product-film-slot__caption {
    font-size: max(0.75rem, var(--pdp-tablet-floor-body));
  }

  .body--cartridge-pdp .cartridge-benefit__copy p,
  .body--cartridge-pdp .cartridge-rhythm__copy {
    font-size: max(clamp(0.95rem, 1.2vw, 1.08rem), var(--pdp-tablet-floor-body));
  }

  .body--products-range .pgrid-zone__label {
    font-size: max(0.8125rem, var(--pdp-tablet-floor-body));
  }

  :is(.body--products-range, .product-grid-section) .pgrid-card--cartridge .pgrid-card__line,
  .product-stage-cross-sell .pgrid-card--cartridge .pgrid-card__line,
  .product-detail--cartridge .cartridge-cross-sell .pgrid-card--system .pgrid-card__line {
    font-size: max(0.8125rem, var(--pdp-tablet-floor-body));
  }

  .product-detail--flagship .product-detail__breadcrumb,
  .product-detail--cartridge .product-detail__breadcrumb {
    font-size: max(var(--text-small), var(--pdp-tablet-floor-action));
  }

  .body--product-flagship .product-faq__trigger {
    font-size: max(var(--text-body), var(--pdp-tablet-floor-action));
  }

  .body--product-flagship .product-specs__disclosure .faq-section__trigger,
  .body--cartridge-pdp .product-specs__disclosure .faq-section__trigger {
    font-size: max(0.9rem, var(--pdp-tablet-floor-action));
  }

  .body--product-flagship .product-close__range-link,
  .body--product-flagship .product-close__replacement-link {
    font-size: max(0.88rem, var(--pdp-tablet-floor-action));
  }

  .body--cartridge-pdp .cartridge-rhythm__routes a {
    font-size: max(0.88rem, var(--pdp-tablet-floor-action));
  }
}

@media screen and (min-width: 768px) and (max-width: 1024.98px) {
  .body--product-flagship .product-argument__copy p,
  .body--product-flagship .product-argument__fact dd,
  .body--product-flagship .product-faq .faq-section__answer,
  .body--cartridge-pdp .cartridge-benefit__copy p,
  .body--cartridge-pdp .cartridge-rhythm__copy,
  .body--thermosteel-pdp .thermo-scene__line {
    font-size: 15px;
  }
}

body.body--thermosteel-pdp {
  --thermo-ground: var(--surface-frost);
  --thermo-night: var(--surface-abyss);
  --thermo-ink: var(--commerce-ink);
  --thermo-ink-strong: var(--ink);
  --thermo-line: rgb(12 56 70 / 20%);
  
  --pdp-floor-meta: 11px;
  --pdp-floor-body: 12px;
  --pdp-floor-action: 14px;
  --pdp-floor-name: 38px;
  --commerce-arrival-field: var(--thermo-ground);
  background-color: var(--thermo-ground);
}

.body--thermosteel-pdp .page-transition.is--active { background-color: var(--thermo-ground); }

.product-detail--thermo {
  
  --p1-bone: var(--thermo-ground);
  --p1-ink: var(--thermo-ink);
  --p1-slate: var(--thermo-ink-strong);
  --p1-line: var(--thermo-line);
  --range-bone: var(--thermo-ground);
  --range-ink: var(--thermo-ink);
  --range-slate: var(--thermo-ink-strong);
  --range-line: var(--thermo-line);
  
  --pdp-panel-top: clamp(5.75rem, 7.4vw, 7rem);
  --pdp-panel-bottom: clamp(2rem, 3vw, 3rem);
  --pdp-rail-measure: min(29rem, 32.25vw);
  --pdp-rail-pad: clamp(1.5rem, 3vw, 3.25rem);
  display: block;
  min-height: 0;
  background: var(--thermo-ground);
  color: var(--thermo-ink);
}

.thermo-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) calc(var(--pdp-rail-measure) + var(--pdp-rail-pad) + var(--gutter-right));
  grid-template-rows: auto minmax(0, 1fr);
  align-items: start;
  background: var(--thermo-ground);
}

@media screen and (min-width: 1025px) {
  .thermo-hero { min-height: 100dvh; }
}

.thermo-hero > .product-detail__breadcrumb { grid-column: 2; grid-row: 1; }

.product-detail--thermo .product-detail__breadcrumb {
  margin-bottom: 1.15rem;
  padding: max(clamp(7.5rem, 12.5vw, 11.5rem), calc((100dvh - 29rem) * 0.45)) clamp(1.5rem, 3vw, 3.25rem) 0;
  color: var(--ink-muted);
  font-size: 0.75rem;
}

.thermo-hero__media {
  grid-column: 1;
  grid-row: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  
  padding: var(--pdp-panel-top) max(0px, calc(var(--gutter-left) - var(--pdp-rail-pad))) 0 var(--gutter-left);
}

.thermo-hero__img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}

.thermo-hero__rail {
  grid-column: 2;
  grid-row: 2;
  padding: 0 var(--gutter-right) 2rem var(--pdp-rail-pad);
}

@media screen and (min-width: 1025px) {
  .thermo-hero__rail {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-self: stretch;
    padding-bottom: var(--pdp-panel-bottom);
  }
}

.product-detail--thermo .product-detail__eyebrow,
.thermo-kicker {
  margin: 0 0 var(--pdp-rail-step-lockup);
  color: var(--ink-muted);
  font-size: 0.7rem;
  font-weight: 650;
  line-height: 1.2;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.thermo-kicker--invert { color: var(--ink-invert-muted); }

.product-detail--thermo .product-detail__name {
  margin: 0 0 var(--pdp-rail-step-lockup);
  
  color: var(--commerce-ink);
  font-size: clamp(3rem, 4.5vw, 4.4rem);
  font-weight: 450;
  line-height: 0.94;
  letter-spacing: -0.052em;
  text-wrap: balance;
}

.thermo-hero__intro {
  max-width: none;
  margin: var(--pdp-rail-step-line) 0 0;
  color: var(--ink-body);
  font-size: max(1.06rem, 16px);
  line-height: 1.65;
  text-wrap: pretty;
}

.product-detail--thermo .product-detail__buttons {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-content: stretch;
  gap: var(--pdp-rail-step-bind);
  margin: var(--pdp-rail-step-group) 0 0;
}

.product-detail--thermo .product-detail__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: max(3.9rem, 58px);
  padding: 1.15rem 2rem;
  border: var(--border-thin) solid transparent;
  border-radius: 0;
  font-size: max(0.95rem, 15px);
  font-weight: 550;
  line-height: 1;
  letter-spacing: 0.005em;
  text-decoration: none;
  text-transform: none;
  white-space: nowrap;
}

.product-detail--thermo .product-detail__button--primary { background: var(--surface-deep); color: var(--thermo-ground); }

.product-detail--thermo .product-detail__buttons .product-detail__button {
  justify-self: stretch;
  width: 100%;
}

.product-detail--thermo .product-detail__button--inline {
  justify-self: start;
  width: auto;
}

.product-detail--thermo .product-detail__button--secondary {
  min-height: max(3.5rem, 52px);
  margin-top: 0;
  padding: 1rem 2rem;
  border: var(--border-thin) solid var(--ink-muted);
  background: transparent;
  
  color: var(--commerce-ink);
  font-size: max(0.9rem, 15px);
  font-weight: 500;
  text-decoration: none;
}

.product-detail--thermo .product-detail__button:focus-visible,
.product-detail--thermo .thermo-close__back:focus-visible {
  outline: max(2px, calc(var(--border-thin) * 2)) solid var(--accent);
  outline-offset: calc(var(--border-thin) * 3);
}

.thermo-scene {
  display: grid;
  
  grid-template-columns: minmax(0, 1fr) minmax(0, 46rem);
  align-items: stretch;
  background: var(--thermo-night);
  color: var(--ink-invert);
}

.thermo-scene__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(4rem, 8vw, 8rem) clamp(2.5rem, 5vw, 5rem) clamp(4rem, 8vw, 8rem) var(--gutter-left);
}

.thermo-scene__title {
  max-width: 11ch;
  margin: 0;
  font-size: clamp(2.6rem, 5vw, 4.6rem);
  font-weight: 430;
  line-height: 0.94;
  letter-spacing: -0.05em;
  text-wrap: balance;
}

.thermo-scene__title em {
  font-family: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif;
  font-weight: 400;
}

.thermo-scene__line {
  max-width: 30ch;
  margin: 1.5rem 0 0;
  color: var(--ink-invert-muted);
  font-size: clamp(0.95rem, 1.2vw, 1.08rem);
  line-height: 1.65;
  text-wrap: pretty;
}

@media screen and (min-width: 768px) and (max-width: 1024.98px) {
  .thermo-scene__line { min-height: calc(1.65em * 3); }
}

.thermo-scene__figure {
  position: relative;
  aspect-ratio: 1289 / 1600;
  
  align-self: start;
  margin: 0;
  overflow: hidden;
}

.thermo-scene__img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}

.thermo-shell {
  width: 100%;
  
  margin-inline: auto;
  padding-left: var(--gutter-left);
  padding-right: var(--gutter-right);
}

.thermo-specs {
  padding-block: clamp(5rem, 9vw, 9rem);
  background: var(--thermo-ground);
  color: var(--thermo-ink);
}

.thermo-specs__head { margin-bottom: clamp(2.5rem, 5vw, 4rem); }

.thermo-close__title {
  max-width: 14ch;
  margin: 0;
  color: var(--commerce-ink);
  font-size: clamp(2.5rem, 4.2vw, 3.75rem);
  font-weight: 430;
  line-height: 0.96;
  letter-spacing: -0.04em;
  text-wrap: balance;
}

.product-detail--thermo .thermo-cross-sell {
  padding-block: clamp(4.5rem, 7vw, 7rem);
  background: var(--thermo-ground);
  color: var(--thermo-ink);
}

.product-detail--thermo .thermo-cross-sell .products-range-shell {
  width: 100%;
  
  margin-inline: auto;
  padding-left: var(--gutter-left);
  padding-right: var(--gutter-right);
}

.thermo-cross-sell__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.92fr);
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: center;
}

.product-detail--thermo .thermo-cross-sell .products-range-stages__head {
  margin-bottom: 0;
}

.product-detail--thermo .thermo-cross-sell .products-range-stages__title {
  max-width: 9ch;
  
  color: var(--commerce-ink);
}

.product-detail--thermo .thermo-cross-sell .pgrid-cartridges {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
}

.product-detail--thermo .thermo-cross-sell .pgrid-card__frame--hydrosteel {
  background-color: var(--pgrid-ground-hydrosteel);
}

.product-detail--thermo .thermo-cross-sell .pgrid-card__frame--hydrosteel .product-card__img--back {
  background-color: var(--surface-deep); 
  background-image: radial-gradient(
    115% 95% at 50% 28%,
    var(--surface-tide)  0%,
    var(--surface-deep) 52%,
    var(--surface-abyss) 100%
  );
}

.product-detail--thermo .thermo-cross-sell .pgrid-card--system .pgrid-card__name {
  font-size: clamp(2rem, 3vw, 2.75rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.045em;
}

.product-detail--thermo .thermo-cross-sell .pgrid-card--system .pgrid-card__line {
  max-width: 30ch;
  margin-top: 0.9rem;
  font-size: clamp(0.95rem, 1.1vw, 1.05rem);
  line-height: 1.55;
}

.thermo-close {
  padding-block: clamp(4.5rem, 8vw, 8rem);
  background: var(--thermo-ground);
  color: var(--thermo-ink);
}

.thermo-close__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(18rem, 0.9fr);
  gap: clamp(3rem, 8vw, 9rem);
  align-items: end;
}

.thermo-close__ask {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 1rem;
}

.thermo-close__lead .thermo-close__back {
  margin-top: clamp(1.75rem, 3vw, 2.5rem);
}

.thermo-close__back {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: inherit;
  
  font-size: 0.88rem;
  font-weight: 600;
  text-decoration: none;
}

@media screen and (max-width: 1024.98px) {
  .product-detail--thermo {
    --pdp-panel-top: 5.25rem;
    --pdp-panel-bottom: 1.5rem;
    --pdp-rail-pad: 1.5rem;
    
    --pdp-rail-measure: min(23rem, 30.7vw);
  }
  
  .product-detail--thermo .product-detail__breadcrumb { padding: var(--pdp-panel-top) var(--gutter-right) 0 var(--pdp-rail-pad); }
  .product-detail--thermo .product-detail__name { font-size: clamp(2.65rem, 5vw, 3.25rem); }
  
  .thermo-hero { padding-bottom: clamp(3rem, 6vw, 5rem); }
  .thermo-scene__copy { padding-right: clamp(2rem, 4vw, 3rem); }

  .thermo-close__layout { gap: clamp(2rem, 5vw, 4rem); grid-template-columns: minmax(0, 1fr) minmax(15rem, 0.85fr); }

  .thermo-cross-sell__layout { grid-template-columns: minmax(0, 0.72fr) minmax(0, 1fr); gap: clamp(2rem, 4vw, 3.5rem); }
}

@media screen and (max-width: 767.98px) {
  
  .thermo-hero { grid-template-columns: 1fr; grid-template-rows: auto; }
  .thermo-hero > .product-detail__breadcrumb,
  .thermo-hero__media,
  .thermo-hero__rail { grid-column: 1; grid-row: auto; }

  .product-detail--thermo .product-detail__breadcrumb { margin-bottom: 0.45rem; padding: 5.5rem var(--gutter-right) 0 var(--gutter-left); font-size: max(0.68rem, var(--pdp-floor-meta)); }
  .thermo-hero__media { display: block; padding: 0 var(--gutter-right) 0 var(--gutter-left); }
  .thermo-hero__rail { padding: 0.85rem var(--gutter-right) 1.5rem var(--gutter-left); }
  .product-detail--thermo .product-detail__eyebrow { margin-bottom: var(--pdp-rail-step-lockup); font-size: max(0.64rem, var(--pdp-floor-meta)); }
  .product-detail--thermo .product-detail__name { font-size: max(2.15rem, var(--pdp-floor-name)); }
  .thermo-hero__intro { max-width: none; margin-top: var(--pdp-rail-step-line); font-size: max(1.02rem, 15px); line-height: 1.62; }
  .product-detail--thermo .product-detail__button { min-height: max(3.6rem, 54px); padding: 1rem 1.5rem; font-size: max(0.9rem, var(--pdp-floor-action)); }
  .product-detail--thermo .product-detail__button--secondary { min-height: max(3.25rem, 50px); padding: 0.9rem 1.5rem; font-size: max(0.86rem, var(--pdp-floor-action)); }

  .thermo-scene { grid-template-columns: 1fr; }
  .thermo-scene__copy { padding: clamp(3.5rem, 12vw, 5rem) var(--gutter-right) clamp(2.5rem, 8vw, 3.5rem) var(--gutter-left); }
  .thermo-scene__title { max-width: none; font-size: clamp(2.6rem, 12vw, 3.75rem); }
  .thermo-scene__line { max-width: none; font-size: max(clamp(0.95rem, 1.2vw, 1.08rem), var(--pdp-floor-body)); }

  .thermo-shell { padding-inline: var(--gutter-left) var(--gutter-right); }
  .thermo-close__title { max-width: none; font-size: clamp(2.2rem, 9vw, 3rem); }
  .thermo-close__back { font-size: max(0.88rem, var(--pdp-floor-action)); }
  
  .thermo-kicker { font-size: max(0.7rem, var(--pdp-floor-meta)); }

  .thermo-close__layout { grid-template-columns: minmax(0, 1fr); gap: 1.75rem; align-items: start; }
  .thermo-close__lead { display: contents; }
  .thermo-close__title { order: 1; }
  .thermo-close__ask { order: 2; align-items: stretch; gap: 0.85rem; }
  .thermo-close__lead .thermo-close__back { order: 3; margin-top: 0; }
  
  .product-detail--thermo .thermo-close__ask .product-detail__button--inline { justify-self: stretch; width: 100%; }

  .thermo-cross-sell__layout { display: block; }
  .product-detail--thermo .thermo-cross-sell .products-range-shell { padding-inline: var(--gutter-left) var(--gutter-right); }
  .product-detail--thermo .thermo-cross-sell .products-range-stages__head { margin-bottom: 1.5rem; }
  .product-detail--thermo .thermo-cross-sell .products-range-stages__title { max-width: none; }

  .product-detail--thermo .thermo-cross-sell .products-range-stages__title {
    font-size: min(clamp(2.4rem, 3.6vw, 3.25rem), 9.5vw);
  }

  .product-detail--thermo .thermo-cross-sell .pgrid-card--system .pgrid-card__link {
    display: grid;
    grid-template-columns: 6.5rem minmax(0, 1fr);
    column-gap: 1.25rem;
    align-items: center;
  }

  .product-detail--thermo .thermo-cross-sell .pgrid-card--system .pgrid-card__meta { padding-top: 0; }

  .product-detail--thermo .thermo-cross-sell .pgrid-card--system .pgrid-card__name {
    font-size: max(clamp(0.95rem, 1.05vw, 1.05rem), var(--pdp-floor-body));
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: -0.005em;
  }

  .product-detail--thermo .thermo-cross-sell .pgrid-card--system .pgrid-card__line {
    max-width: none;
    margin-top: 0.5rem;
    font-size: max(0.8125rem, var(--pdp-floor-body));
    line-height: 1.5;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024.98px) {

  .product-detail--thermo .product-detail__eyebrow,
  .thermo-kicker {
    font-size: max(0.7rem, var(--pdp-tablet-floor-meta));
  }

  .thermo-scene__line {
    font-size: max(clamp(0.95rem, 1.2vw, 1.08rem), var(--pdp-tablet-floor-body));
  }

  .product-detail--thermo .thermo-cross-sell .pgrid-card--system .pgrid-card__line {
    font-size: max(clamp(0.95rem, 1.1vw, 1.05rem), var(--pdp-tablet-floor-body));
  }

  .product-detail--thermo .product-detail__breadcrumb {
    font-size: max(0.75rem, var(--pdp-tablet-floor-action));
  }

  .thermo-close__back {
    font-size: max(0.88rem, var(--pdp-tablet-floor-action));
  }
}

.product-detail--thermo { --p1-room: var(--surface-glacier); }

.product-detail--flagship .product-gallery[data-flagship-gallery] .product-gallery__img:not([data-gallery-role^="scene-"]),
.product-detail--thermo .product-gallery[data-flagship-gallery] .product-gallery__img:not([data-gallery-role^="scene-"]) {
  object-fit: contain;
}

.product-detail--cartridge .product-detail__standfirst--cartridge {
  font-size: max(1rem, 16px);
  margin-bottom: var(--pdp-rail-step-line);
}
.cartridge-hero__fits--swap { max-width: none; }
.product-detail--cartridge .product-detail__name { line-height: 1.02; }
.product-detail--thermo .product-detail__breadcrumb {
  padding-top: var(--pdp-panel-top);
  padding-left: var(--pdp-rail-pad);
  padding-right: var(--gutter-right);
}

.gallery-showcase { --showcase-thumb-height: clamp(32px, 10dvh, 100px); }
.gallery-showcase .layered-slider__mask-collection {
  bottom: max(12px, env(safe-area-inset-bottom));
  width: calc(var(--showcase-thumb-height) * 0.8);
  height: var(--showcase-thumb-height);
  transform: translateX(-50%);
}
.gallery-showcase .layered-slider__mask-img { object-fit: contain; }
.gallery-showcase .layered-slider__text-collection {
  bottom: calc(var(--showcase-thumb-height) + max(12px, env(safe-area-inset-bottom)) + 8px);
  height: clamp(20px, 4.5dvh, 40px);
}
.gallery-showcase .layered-slider__text-title {
  font-size: clamp(20px, 3.5dvh, 34px);
  line-height: 1.15;
}

.body--product-flagship .product-specs__stat dd,
.body--thermosteel-pdp .product-specs__stat dd, .body--cartridge-pdp .product-specs__stat dd {
  font-size: clamp(38px, 4vw, 56px);
  line-height: 1.05;
}
.body--product-flagship .product-specs__stat dd > span:not([data-odometer-element]),
.body--thermosteel-pdp .product-specs__stat dd > span:not([data-odometer-element]), .body--cartridge-pdp .product-specs__stat dd > span:not([data-odometer-element]) {
  font-size: max(0.8rem, 13px);
}
.product-detail .product-specs__table th,
.product-detail .product-specs__table td {
  font-size: max(0.9rem, 14px);
  line-height: 1.6;
  padding-block: max(1rem, 16px);
}
.product-detail--cartridge .cartridge-specs {
  padding-block: clamp(3.5rem, 6vw, 6rem);
}
.product-detail--cartridge .cartridge-specs .product-specs__header {
  margin-bottom: 2rem;
}

.thermo-cross-sell__layout {
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.72fr);
}
.product-detail--thermo .thermo-cross-sell { padding-block: clamp(3rem, 5vw, 5rem); }
.product-detail--thermo .thermo-cross-sell .pgrid-card--system .pgrid-card__link {
  display: block;
}
.product-detail--thermo .thermo-cross-sell .pgrid-card--system .pgrid-card__meta { padding-top: 1.2rem; }
.product-detail--thermo .thermo-cross-sell .pgrid-card--system .pgrid-card__name {
  font-size: clamp(24px, 2vw, 32px);
}
.product-detail--thermo .thermo-cross-sell .products-range-stages__title { max-width: none; }

.thermo-scene {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--gutter-left);
  padding: clamp(3.5rem, 6vw, 6rem) var(--gutter-right) clamp(3.5rem, 6vw, 6rem) var(--gutter-left);
}
.thermo-scene__copy { padding: 0; }
.thermo-scene__figure { border-radius: var(--radius-card); }

.product-detail--flagship .product-argument { padding-block: clamp(4rem, 6vw, 6rem); }
.product-detail--cartridge .cartridge-benefit { padding-block: clamp(4rem, 7vw, 7rem); }
.product-detail--cartridge .cartridge-rhythm { padding-block: clamp(4rem, 7vw, 7rem); }

@media screen and (min-width: 1025px) {
  .product-detail--cartridge .cartridge-hero__gallery-side,
  .product-detail--thermo .thermo-hero__media {
    position: sticky;
    top: 0;
    height: 100dvh;
    max-height: 100dvh;
    min-height: 0;
    align-self: start;
    grid-template-rows: minmax(0, 1fr);
  }
  .product-detail--thermo .thermo-hero__media {
    padding-right: max(0px, calc(var(--gutter-left) - var(--pdp-rail-pad)));
  }
  .product-detail--cartridge .cartridge-hero__info { position: static; }
  .product-detail--thermo .thermo-hero__rail { justify-content: flex-start; padding-top: 1.5rem; }
}

@media screen and (min-width: 768px) and (max-width: 1024.98px) {
  .product-detail--cartridge .product-detail__breadcrumb { padding-top: var(--pdp-panel-top); }
  .product-detail--cartridge .product-detail__name { min-height: 0; }
  .cartridge-hero { min-height: 0; padding-bottom: clamp(3rem, 6vw, 5rem); }
  .product-detail .product-detail__name { font-size: max(3rem, 38px); }
}

@media screen and (min-width: 768px) and (max-width: 1024.98px) and (orientation: portrait) {
  .cartridge-hero, .thermo-hero {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
    min-height: 0;
    align-content: start;
  }
  .cartridge-hero > .product-detail__breadcrumb,
  .thermo-hero > .product-detail__breadcrumb,
  .product-detail--cartridge .cartridge-hero__gallery-side,
  .product-detail--cartridge .cartridge-hero__info,
  .thermo-hero__media, .thermo-hero__rail { grid-column: 1; grid-row: auto; }
  .product-detail--cartridge .product-detail__breadcrumb,
  .product-detail--thermo .product-detail__breadcrumb {
    padding: var(--pdp-panel-top) var(--gutter-right) 0 var(--gutter-left);
    margin-bottom: 0.8rem;
  }
  .product-detail--cartridge .cartridge-hero__gallery-side,
  .thermo-hero__media {
    position: static;
    display: block;
    padding: 0 var(--gutter-right) 1.5rem var(--gutter-left);
  }
  .product-detail--cartridge .product-gallery[data-flagship-gallery],
  .product-detail--thermo .product-gallery[data-flagship-gallery] {
    width: 100%;
    max-height: none;
    aspect-ratio: 4 / 5;
  }
  .product-detail--cartridge .cartridge-hero__info,
  .thermo-hero__rail {
    position: static;
    padding: 0.7rem var(--gutter-right) 2.5rem var(--gutter-left);
  }
  .product-detail .product-detail__name { font-size: 52px; min-height: 0; }
  
  .product-detail .product-detail__breadcrumb { padding-left: 7rem; padding-right: 7.5rem; }
}

@media screen and (max-width: 767.98px) {
  .product-detail .product-detail__name { font-size: 40px; line-height: 1.05; }
  .product-detail .product-detail__standfirst,
  .product-detail .thermo-hero__intro { font-size: 16px; line-height: 1.6; }
  .product-detail--flagship .product-detail__info-side { padding-inline: var(--gutter-left) var(--gutter-right); }
  .product-detail--cartridge .cartridge-hero__info,
  .thermo-hero__rail { padding-top: 2rem; }
  .product-detail--thermo .product-detail__breadcrumb {
    padding: 5.5rem var(--gutter-right) 0 var(--gutter-left);
  }
  .product-detail--thermo .product-gallery[data-flagship-gallery] { max-height: none; }
  .product-detail .product-specs__table th { width: 45%; min-width: 0; }
  .product-detail .product-specs__table td { width: 55%; min-width: 0; }
  .product-detail .product-specs__table { table-layout: fixed; }
  .body--product-flagship .product-specs__stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .body--product-flagship .product-specs__stat,
  .body--thermosteel-pdp .product-specs__stat, .body--cartridge-pdp .product-specs__stat {
    min-height: 0;
    padding: 1.5rem 0;
    border: 0;
  }
  .body--product-flagship .product-specs__stat dt,
  .body--thermosteel-pdp .product-specs__stat dt, .body--cartridge-pdp .product-specs__stat dt { font-size: 12px; min-height: 2.7em; margin-bottom: 0.75rem; }
  .body--product-flagship .product-specs__stat dd,
  .body--thermosteel-pdp .product-specs__stat dd, .body--cartridge-pdp .product-specs__stat dd { font-size: clamp(32px, 9vw, 40px); }
  .body--product-flagship .product-argument__copy p,
  .body--product-flagship .product-faq .faq-section__answer,
  .body--cartridge-pdp .cartridge-benefit__copy p,
  .body--cartridge-pdp .cartridge-rhythm__copy,
  .body--thermosteel-pdp .thermo-scene__line { font-size: 15px; line-height: 1.65; }
  .thermo-scene { grid-template-columns: minmax(0, 1fr); gap: 2.5rem; padding-inline: var(--gutter-left) var(--gutter-right); }
  .product-detail--thermo .thermo-cross-sell .pgrid-card--system .pgrid-card__name { font-size: 18px; }

}

.product-detail--flagship .product-detail__swatch {
  display: grid;
  grid-template-columns: 2.6rem;
  grid-template-rows: 2.6rem auto;
  justify-content: start;
  align-content: center;
  height: auto;
}
.product-detail--flagship .product-detail__swatch-fill {
  grid-area: 1 / 1;
  place-self: center;
}
.product-detail--flagship .product-detail__swatch-ring {
  grid-area: 1 / 1;
  position: relative;
  inset: auto;
  place-self: center;
  transform: rotate(90deg);
}
.product-detail--flagship .product-detail__swatch-name {
  grid-area: 2 / 1;
  place-self: start center;
  margin-left: 0;
}
@media screen and (max-width: 767.98px) {
  
  .product-detail--flagship .product-detail__swatch {
    grid-template-columns: max(2.15rem, 32px);
    grid-template-rows: max(2.15rem, 32px) auto;
    row-gap: max(0.2rem, 5px);
  }

  .product-detail--flagship .product-detail__swatch-fill {
    width: max(2.15rem, 32px);
    height: max(2.15rem, 32px);
    min-width: max(2.15rem, 32px);
    min-height: max(2.15rem, 32px);
  }

  .product-detail--flagship .product-detail__swatch-ring {
    width: max(2.48rem, 37px);
    height: max(2.48rem, 37px);
  }

  .product-detail--flagship .product-detail__swatch-name {
    width: min(6rem, 72px);
  }
}

:is(.product-close, .cartridge-rhythm__routes, .thermo-close) [data-hover]:focus-visible [data-underline-link]::before {
  transform-origin: left;
  transform: scaleX(1) rotate(0.001deg);
}

.product-detail--cartridge .product-gallery[data-flagship-gallery] .product-gallery__img[data-gallery-role="unit"] {
  object-fit: contain;
  padding: 8%;
}

@media screen and (min-width: 1025px) {
  .product-detail .product-detail__breadcrumb {
    padding-top: var(--pdp-panel-top);
    margin-bottom: 1.1rem;
  }
  .product-detail--flagship .product-detail__buy-module {
    position: static;
    top: auto;
  }
  .product-detail--cartridge .cartridge-hero__info,
  .product-detail--thermo .thermo-hero__rail {
    position: static;
    padding-top: 0;
    justify-content: flex-start;
  }
}

@media screen and (min-width: 1025px) and (max-aspect-ratio: 4/3) {
  .product-detail--flagship .product-detail__hero-grid,
  .cartridge-hero,
  .thermo-hero {
    min-height: 0;
  }

  .product-detail--flagship .product-detail__image-side,
  .product-detail--cartridge .cartridge-hero__gallery-side,
  .product-detail--thermo .thermo-hero__media {
    height: auto;
    max-height: none;
    padding-bottom: var(--pdp-panel-bottom);
  }
}

:is(.product-gallery[data-flagship-gallery], .product-card__frame) :is(.product-gallery__img, .product-card__img):is(
  [src*="range-strata-hover-teal-1000.webp"],
  [src*="range-carbon-hover-teal-1000.webp"],
  [src*="range-clarity-hover-teal-1000.webp"]
) {
  width: 105%;
  height: 105%;
  max-width: none;
  max-height: none;
  inset: -2.5% auto auto 0;
  object-position: 50% 50%;
}

.gallery-showcase .layered-slider__bg-img:is(
  [src*="range-strata-hover-teal-1000.webp"],
  [src*="range-carbon-hover-teal-1000.webp"],
  [src*="range-clarity-hover-teal-1000.webp"]
) {
  width: calc(100% + min(4.71vw, 2.66dvh));
  max-width: none;
  clip-path: inset(max(0px, calc(50% - 62.07vw)) 0);
}

.gallery-showcase .layered-slider__mask-img:is(
  [src*="range-strata-hover-teal-1000.webp"],
  [src*="range-carbon-hover-teal-1000.webp"],
  [src*="range-clarity-hover-teal-1000.webp"]
) {
  width: 104.71%;
  max-width: none;
}

.thermo-specs .product-specs__table { table-layout: fixed; width: 100%; }
.thermo-specs .product-specs__table th,
.thermo-specs .product-specs__table td {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: max(0.9rem, 14px);
  line-height: 1.6;
  padding-block: max(1rem, 16px);
}
.thermo-specs__note {
  font-size: max(0.85rem, 14px);
  line-height: 1.6;
  color: var(--ink-muted);
  margin-block: 1rem 2rem;
}
@media (max-width: 767.98px) {
  .thermo-specs .product-specs__table th,
  .thermo-specs .product-specs__table td,
  .thermo-specs__note { font-size: 16px; }
}

.thermo-specs .product-specs__trigger .faq-section__question {
  font-size: max(1rem, 16px);
  line-height: 1.5;
}

.thermo-features { padding-block: clamp(4rem, 8vw, 8rem); background: var(--surface-frost); color: var(--thermo-ink); }
.thermo-features__layout { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(3rem, 8vw, 8rem); align-items: start; }
.thermo-features__lead h2 { font-family: 'Instrument Sans', 'Instrument Sans Fallback', sans-serif; font-size: clamp(36px, 4.5vw, 68px); font-weight: 400; line-height: 1.05; letter-spacing: -0.035em; margin: 1rem 0 1.5rem; text-wrap: balance; }
.thermo-features__lead h2 em { font-family: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif; font-weight: 400; }
.thermo-features__lead > p:last-child { font-size: max(1.1rem, 18px); line-height: 1.6; max-width: 30ch; text-wrap: pretty; }
.thermo-features__details { margin: 0; }
.thermo-features__details > div { padding-block: 1.5rem; border-top: 1px solid rgb(12 56 70 / 0.16); }
.thermo-features__details > div:first-child { padding-top: 0; border-top: 0; }
.thermo-features__details dt { font-size: max(1.2rem, 20px); font-weight: 500; line-height: 1.25; margin-bottom: 0.65rem; }
.thermo-features__details dd { margin: 0; font-size: max(1rem, 16px); line-height: 1.6; color: var(--ink-muted); text-wrap: pretty; }
@media (max-width: 767.98px) {
  .thermo-features__layout { grid-template-columns: 1fr; gap: 2.5rem; }
  .thermo-features__lead > p:last-child { max-width: none; }
}

.body--product-flagship .product-specs__stats,
.body--thermosteel-pdp .product-specs__stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.body--cartridge-pdp .product-specs__stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }

@media (min-width: 768px) {
  .body--thermosteel-pdp .product-specs__stat:nth-child(n+4), .body--cartridge-pdp .product-specs__stat:nth-child(n+5) { border-top: var(--border-thin) solid var(--p1-line); }
  
  .body--thermosteel-pdp .product-specs__stat:nth-child(3n+1) { border-left: 0; padding-left: 0; }
  .body--thermosteel-pdp .product-specs__stat:nth-child(3n) { padding-right: 0; }
}
@media (max-width: 767.98px) {
  .body--thermosteel-pdp .product-specs__stats, .body--cartridge-pdp .product-specs__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
  
  .body--product-flagship .product-specs__stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
}

[data-hover-ready="false"] .product-card__img--back {
  clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%) !important;
  opacity: 0 !important;
  transition: none !important;
}
[data-hover-ready="false"] .product-card__img--front {
  opacity: 1 !important;
}

@media (hover: none), (pointer: coarse) {
  .product-card__img--back {
    display: none;
  }
}

@media (hover: none) and (max-width: 767.98px), (pointer: coarse) and (max-width: 767.98px) {
  .product-stage-cross-sell .pgrid-card--cartridge .product-card__img--back {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .about-hero__wordmark-mask svg {
    height: 4.3825em;
  }
}

.site-footer {
  grid-template-rows: var(--nav-height) 4em auto minmax(4em, 0.8fr) auto minmax(4em, 0.8fr) auto minmax(2em, 1fr);
}

.site-footer[data-footer-fit] {
  grid-template-rows: var(--footer-fit-lead) 0 auto 0 auto calc(var(--footer-fit-rhythm) * 0.8) auto var(--footer-fit-rhythm);
}

@media (hover: hover) and (pointer: fine) and (min-width: 64em) and (max-height: 46.5em),
       (hover: hover) and (pointer: fine) and (min-width: 1025px) and (max-width: 63.99em) and (max-height: 59em),
       (hover: hover) and (pointer: fine) and (min-width: 768px) and (max-width: 1024.98px) and (max-height: 50.5em),
       (min-width: 1025px) and (max-height: 1000px) and (min-aspect-ratio: 2/1) {
  .site-footer[data-footer-fit] {
    grid-template-rows: var(--nav-height) 4em auto minmax(4em, 0.8fr) auto minmax(4em, 0.8fr) auto minmax(2em, 1fr);
  }
}

.site-footer__address .site-footer__link {
  padding-left: 1.5em;
  text-indent: -1.5em;
}

@media screen and (max-width: 1024.98px), screen and (hover: none) and (pointer: coarse) {

  @media screen and (min-width: 768px) {
    .selection-panel { font-size: max(1em, 16px); }
  }
  
  .selection-panel .selection-panel__title { font-size: max(2em, 24px); }
  
  .selection-panel .selection-panel__item-name { font-size: max(var(--text-body), 18px); line-height: 1.25; }

  :is(.body--products-range, .product-grid-section) .pgrid-card--cartridge .pgrid-card__name,
  .product-stage-cross-sell .pgrid-card--cartridge .pgrid-card__name,
  .product-detail--cartridge .cartridge-cross-sell .pgrid-card--system .pgrid-card__name { font-size: max(18px, 1.1rem); }

  .product-grid__cluster-title { font-size: max(1.3em, 20px); }

  .about-hero__heading .about-hero__line1 { font-size: max(clamp(1.5rem, 1.5vw + 1rem, 2.5rem), 30px); text-wrap: balance; }
  .about-origin .about-origin__heading { font-size: max(clamp(2.25rem, 3vw + 1rem, 4.75rem), 24px); }
  .about-bridge .about-bridge__statement { font-size: max(clamp(2.5rem, 4.6vw + 1rem, 6.5rem), 24px); }
  .about-cta .about-cta__heading { font-size: max(clamp(2.25rem, 4vw + 1rem, 4.5rem), 24px); }

  .faq-section--deep .faq-section__trigger,
  .body--product-flagship .product-faq__trigger { font-size: max(var(--text-body), 18px); }
  .why-filter-faq__trigger { font-size: max(1.0625em, 18px); }
  .legal-page-content .legal-accordion .faq-section__trigger { font-size: max(1.375em, 18px); }
  
  .faq-section--deep .faq-section__question,
  .body--product-flagship .product-faq__trigger .faq-section__question,
  .legal-page-content .legal-accordion .faq-section__question { text-wrap: balance; }
  .why-filter-faq__trigger { text-wrap: pretty; }

  .why-filter-journey__name { font-size: max(2em, 18px); }

  body.body--products-range .pgrid-zone__label {
    font-size: max(calc(clamp(2rem, 4.5vw, 2.75rem) * 1.15), 24px);
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -0.01em;
    text-transform: none;
  }

  body:is(.body--product-flagship, .body--cartridge-pdp, .body--thermosteel-pdp) .product-specs__title { font-size: max(clamp(2.45rem, 4.5vw, 4rem), 24px); }
  body:is(.body--product-flagship, .body--cartridge-pdp) .product-stage-cross-sell .products-range-stages__title { font-size: max(clamp(2.4rem, 3.6vw, 3.25rem), 24px); }
  
  body.body--thermosteel-pdp .product-detail--thermo .thermo-cross-sell .products-range-stages__title { font-size: max(min(clamp(2.4rem, 3.6vw, 3.25rem), 9.5vw), 24px); }
  .body--product-flagship .product-argument__title { font-size: max(clamp(2.75rem, 5vw, 4.75rem), 24px); }
  .pdp-watermark .pdp-watermark__title { font-size: max(clamp(2.5rem, 4.2vw, 3.75rem), 24px); }

  .body--why-filter .why-filter-handover__title { font-size: max(24px, var(--ho-title)); }

  @media screen and (max-width: 480.98px) {
    .hero-heading { font-size: max(3em, 30px); }
    
    .contact-hero__heading { font-size: max(3em, 30px); }
    .contact-visit__title,
    .contact-form-section__title,
    .faq-section__title { font-size: max(2.2em, 24px); }
  }

  @media screen and (max-width: 767.98px) {
    .product-grid-section__title,
    .home-orient__title,
    .home-proof__title,
    .home-invite__title { font-size: max(1.95em, 24px, 2.2rem); }
  }
  @media screen and (min-width: 768px) and (max-width: 1024.98px) {
    .product-grid-section__title,
    .home-orient__title,
    .home-proof__title,
    .home-invite__title { font-size: max(2.35em, calc(clamp(2rem, 4.5vw, 2.75rem) * 1.15)); }
  }

  @media screen and (max-width: 1024.98px) {
    .home-orient__stage { font-size: max(1.6em, 18px); }
    .legal-page-header .legal-page-heading { font-size: max(2.5em, 30px); }
    .legal-page-content .legal-accordion .faq-section__trigger { font-size: max(1.25em, 18px); }
  }
  @media screen and (max-width: 767.98px) {
    .home-orient__stage { font-size: max(1.7em, 18px); }
    
    body.body--cartridge-pdp .cartridge-benefit__title { font-size: min(clamp(3rem, 14vw, 4.5rem), 36px); }
    body.body--thermosteel-pdp .thermo-scene__title { font-size: min(clamp(2.6rem, 12vw, 3.75rem), 36px); }
    .body--product-flagship .product-film-slot__title { font-size: min(clamp(3rem, 14vw, 4.5rem), 36px); }
    .body--product-flagship .product-faq__title { font-size: min(clamp(3rem, 14vw, 4.25rem), 36px); }
    
    .body--product-flagship .product-argument__title { font-size: min(clamp(3rem, 14vw, 4.5rem), 36px); }
    .body--product-flagship .product-close__title,
    body.body--cartridge-pdp .cartridge-rhythm__title,
    body.body--thermosteel-pdp .thermo-close__title { font-size: min(clamp(2.2rem, 9vw, 3rem), 34px); }
    body:is(.body--product-flagship, .body--cartridge-pdp, .body--thermosteel-pdp) .product-specs__title { font-size: min(max(clamp(2.45rem, 4.5vw, 4rem), 24px), 34px); }
    .pdp-watermark .pdp-watermark__title { font-size: min(max(clamp(2.5rem, 4.2vw, 3.75rem), 24px), 34px); }
    body:is(.body--product-flagship, .body--cartridge-pdp) .product-stage-cross-sell .products-range-stages__title { font-size: min(max(clamp(2.4rem, 3.6vw, 3.25rem), 24px), 34px); }
    body.body--thermosteel-pdp .product-detail--thermo .thermo-cross-sell .products-range-stages__title { font-size: min(max(min(clamp(2.4rem, 3.6vw, 3.25rem), 9.5vw), 24px), 34px); }
    
    .why-filter-enviro__statement { font-size: clamp(24px, 6vw, 30px); }
    
    .why-filter-close__heading { font-size: clamp(28px, 7.6vw, 36px); }
    .why-filter-journey__name { font-size: min(max(2em, 18px), 28px); }
    
    :is(.body--products-range, .product-grid-section) .pgrid-card--system .pgrid-card__name { font-size: max(clamp(2rem, 4.5vw, 2.75rem), 20px); }
  }
  @media screen and (max-width: 480.98px) {
    .legal-page-header .legal-page-heading { font-size: max(2em, 30px); }
  }
  
  @media screen and (min-width: 768px) and (max-width: 1024.98px) and (orientation: portrait) {
    body.body--cartridge-pdp .cartridge-benefit__title,
    .body--product-flagship .product-film-slot__title { font-size: min(clamp(3rem, 6vw, 6rem), 48px); }
    body.body--thermosteel-pdp .thermo-scene__title { font-size: min(clamp(2.6rem, 5vw, 4.6rem), 48px); }
    .body--product-flagship .product-faq__title { font-size: min(clamp(2.75rem, 5vw, 5rem), 48px); }
    .body--product-flagship .product-argument__title { font-size: min(clamp(2.75rem, 5vw, 4.75rem), 48px); }
  }
  
  @media screen and (min-width: 768px) and (max-width: 1024.98px) and (orientation: landscape) {
    .body--product-flagship .product-argument__title,
    .body--product-flagship .product-film-slot__title,
    .body--product-flagship .product-faq__title,
    body.body--cartridge-pdp .cartridge-benefit__title,
    body.body--thermosteel-pdp .thermo-scene__title,
    body.body--thermosteel-pdp .thermo-features__lead h2 { font-size: calc(max(3rem, 38px) * 0.95); }
    .body--product-flagship .product-close__title,
    body.body--cartridge-pdp .cartridge-rhythm__title,
    body.body--thermosteel-pdp .thermo-close__title,
    .pdp-watermark .pdp-watermark__title { font-size: min(clamp(2.5rem, 4.2vw, 3.75rem), calc(max(3rem, 38px) * 0.9)); }
    body:is(.body--product-flagship, .body--cartridge-pdp, .body--thermosteel-pdp) .product-specs__title { font-size: min(max(clamp(2.45rem, 4.5vw, 4rem), 24px), calc(max(3rem, 38px) * 0.9)); }
    body:is(.body--product-flagship, .body--cartridge-pdp) .product-stage-cross-sell .products-range-stages__title { font-size: min(max(clamp(2.4rem, 3.6vw, 3.25rem), 24px), calc(max(3rem, 38px) * 0.9)); }
    body.body--thermosteel-pdp .product-detail--thermo .thermo-cross-sell .products-range-stages__title { font-size: min(max(min(clamp(2.4rem, 3.6vw, 3.25rem), 9.5vw), 24px), calc(max(3rem, 38px) * 0.9)); }
  }
  
  @media screen and (min-width: 1025px) {
    .body--product-flagship .product-argument__title,
    .body--product-flagship .product-film-slot__title,
    body.body--cartridge-pdp .cartridge-benefit__title,
    body.body--thermosteel-pdp .thermo-scene__title,
    body.body--thermosteel-pdp .thermo-features__lead h2 { font-size: calc(clamp(3rem, 4.5vw, 4.4rem) * 0.95); }
    .body--product-flagship .product-faq__title { font-size: min(3.2rem, calc(clamp(3rem, 4.5vw, 4.4rem) * 0.95)); }
    body:is(.body--product-flagship, .body--cartridge-pdp, .body--thermosteel-pdp) .product-specs__title { font-size: clamp(2.5rem, 4.2vw, 3.75rem); }
    .product-grid-section__title,
    .home-orient__title,
    .home-proof__title,
    .home-invite__title { font-size: 3.2rem; }
  }

  .hero-tagline { font-size: 18px; }

  .about-hero .about-hero__subtext { font-size: max(clamp(0.9375rem, 0.5vw + 0.8125rem, 1.25rem), 18px); }
  .about-origin__text .about-origin__pull-line { font-size: max(clamp(1.55rem, 1.6vw + 1rem, 2.7rem), 18px); }
  
  .about-hero .about-hero__subtext-wrap { max-width: max(28em, 300px); }
  .about-hero .about-hero__subtext { text-wrap: balance; }

  body.body--products-range .products-range-hero__line { font-size: max(1rem, 18px); text-wrap: balance; }

  .contact-hero__pov { font-size: max(1.35em, 18px); }
  .contact-visit__copy { font-size: max(1.15em, 18px); }

  .product-detail--flagship .product-detail__standfirst { font-size: max(0.98rem, 18px); }
  body.body--cartridge-pdp .product-detail .product-detail__standfirst--cartridge { font-size: max(1rem, 18px); }
  body.body--thermosteel-pdp .product-detail .thermo-hero__intro { font-size: max(1.06rem, 18px); }
  body.body--thermosteel-pdp .thermo-scene__line { font-size: max(clamp(0.95rem, 1.2vw, 1.08rem), 18px); line-height: 1.6; }
  .pdp-watermark .pdp-watermark__body { font-size: max(clamp(1rem, 1.3vw, 1.15rem), 18px); }

  .why-filter-hero__sub,
  .why-filter-taste__lead-copy { font-size: max(1.0625em, 18px); }
  .why-filter-enviro__sub { font-size: max(1.4em, 18px); }
  .why-filter-gap__module-intro { font-size: max(1.35em, 18px); }
  .why-filter-taste__order { font-size: max(1.35em, 20px); }
  
  .why-filter-taste__lead-copy,
  .why-filter-taste__order { text-wrap: balance; }
  @media screen and (min-width: 768px) and (max-width: 1023.98px) {
    .why-filter-taste__lead { max-width: max(42em, 600px); }
  }

  .legal-page-header .legal-page-subtext { font-size: max(1.0625em, 18px); text-wrap: pretty; }

  @media screen and (max-width: 480.98px) {
    .contact-hero__pov { font-size: max(1.15em, 18px); }
  }
  
  @media screen and (max-width: 1023.98px) {
    .contact-visit__facts { max-width: calc(30 * max(1.15em, 18px)); }
  }
  @media screen and (max-width: 767.98px) {
    .contact-visit__copy { font-size: max(1.05em, 18px); }
    .contact-visit__facts { max-width: calc(30 * max(1.05em, 18px)); }
    .horizontal-scroll .horizontal__pull-line { font-size: max(clamp(1.35rem, 5.8vw, 1.8rem), 18px); }
    .why-filter-enviro__sub { font-size: max(1.2em, 18px); }
  }

  .product-grid__cluster-line,
  .pgrid-zone__note { font-size: max(0.95rem, 16px); }
  
  body.body--products-range .pgrid-close-line { font-size: max(0.95rem, 16px); text-wrap: balance; }
  body.body--products-range .pgrid-close-line a { white-space: nowrap; }

  .about-origin__text p:not(.about-origin__pull-line) { font-size: max(1em, 16px); }
  .horizontal-scroll .horizontal__body { font-size: max(clamp(1.125rem, 0.55vw + 0.95rem, 1.5rem), 16px); }

  .faq-section--deep .faq-section__answer { font-size: max(var(--text-body), 16px); }
  .contact-form__prefill,
  .contact-form__error { font-size: max(var(--text-xs), 16px); line-height: 1.5; }

  .site-footer .form-feedback,
  .contact-form-section .form-feedback { font-size: max(0.875rem, 16px); }
  
  .site-footer .site-footer__form-error,
  .site-footer .site-footer__form-success { font-size: max(var(--text-body), 16px); line-height: 1.5; }

  .product-detail--flagship .product-detail__finish-prompt { font-size: max(0.77rem, 16px); line-height: 1.5; }
  .body--product-flagship .product-argument__copy p { font-size: max(clamp(1rem, 1.3vw, 1.15rem), 16px); }
  .body--product-flagship .product-argument__fact dd { font-size: max(0.88rem, 16px); }
  .body--product-flagship .product-faq .faq-section__answer { font-size: max(clamp(0.9rem, 1.1vw, 1rem), 16px); }
  body.body--cartridge-pdp .cartridge-benefit__copy p,
  body.body--cartridge-pdp .cartridge-rhythm__copy { font-size: max(clamp(0.95rem, 1.2vw, 1.08rem), 16px); line-height: 1.65; }
  
  .product-detail--cartridge .cartridge-hero__fits { font-size: max(0.975rem, 16px); text-wrap: balance; }
  
  .body--product-flagship .product-argument__copy p,
  .product-faq .faq-section__answer,
  body.body--cartridge-pdp .cartridge-benefit__copy p,
  body.body--cartridge-pdp .cartridge-rhythm__copy,
  .legal-page-content .legal-accordion__body-text :is(p, li) { text-wrap: pretty; }

  .why-filter-gap__body,
  .why-filter-gap__notice,
  .why-filter-steel__copy,
  .why-filter-skin__copy,
  .why-filter-journey__copy,
  .why-filter-faq__answer { font-size: max(var(--text-body), 16px); }

  .legal-page-content .legal-accordion__body-text { font-size: max(1em, 16px); }

  .selection-panel .selection-panel__empty-line { font-size: max(1.05em, 16px); line-height: 1.5; }

  @media screen and (max-width: 767.98px) {
    .horizontal-scroll .horizontal__body { font-size: max(clamp(1rem, 1vw + 0.85rem, 1.1875rem), 16px); }
  }

  .site-footer .site-footer__address,
  .site-footer .site-footer__link { font-size: max(var(--text-body), 14px); }
  .site-footer .site-footer__newsletter-text { font-size: max(var(--text-body), 14px); text-wrap: pretty; }

  .selection-panel .selection-panel__message { font-size: max(var(--text-small), 14px); line-height: 1.5; }
  .selection-panel .selection-panel__item-colour,
  .selection-panel .selection-panel__remove,
  .selection-panel .selection-panel__clear-btn { font-size: max(0.8125em, 14px); }

  :is(.body--products-range, .product-grid-section) .pgrid-card--system .pgrid-card__line { font-size: max(clamp(0.95rem, 1.1vw, 1.05rem), 14px); }
  :is(.body--products-range, .product-grid-section) .pgrid-card--cartridge .pgrid-card__line,
  .product-stage-cross-sell .pgrid-card--cartridge .pgrid-card__line,
  .product-detail--cartridge .cartridge-cross-sell .pgrid-card--system .pgrid-card__line { font-size: max(0.8125rem, 14px); }
  body.body--thermosteel-pdp .product-detail--thermo .thermo-cross-sell .pgrid-card--system .pgrid-card__line { font-size: max(clamp(0.95rem, 1.1vw, 1.05rem), 14px); }

  .home-orient__copy { font-size: 14px; }

  .contact-hero__human { font-size: max(var(--text-small), 14px); }
  .contact-hero__state { font-size: max(var(--text-xs), 14px); }

  .product-detail--flagship .product-detail__breadcrumb,
  body.body--thermosteel-pdp .product-detail--thermo .product-detail__breadcrumb { font-size: max(0.75rem, 14px); }
  body.body--cartridge-pdp .product-detail--cartridge .product-detail__breadcrumb { font-size: max(var(--text-small), 14px); }
  .product-detail .product-detail__reassurance-item { font-size: max(0.895rem, 14px); }
  .body--product-flagship .product-argument__fact dt { font-size: max(0.88rem, 14px); }
  body:is(.body--product-flagship, .body--cartridge-pdp, .body--thermosteel-pdp) .product-specs__stat dd > span:not([data-odometer-element]) { font-size: max(0.8rem, 14px); }
  .body--product-flagship .product-film-slot__caption { font-size: max(0.75rem, 14px); }
  .gallery-showcase .layered-slider__overlay-top .layered-slider__span { font-size: max(0.72rem, 14px); }

  .why-filter-gap__source,
  .why-filter-enviro__note,
  .why-filter-close__assurance-line,
  .why-filter-close__pickup { font-size: max(var(--text-small), 14px); }
  .why-filter-close__support { font-size: max(var(--text-small), 14px); line-height: 1.5; }
  .why-filter-close__signoff { font-size: max(var(--text-body), 14px); }
  .why-filter-close__figure-caption { font-size: max(var(--text-xs), 14px); }
  
  .why-filter-close__pickup { text-wrap: balance; }

  .contact-visit__fact dd { text-wrap: balance; }

  .product-detail .product-specs__table th,
  .product-detail .product-specs__table td { text-wrap: balance; }

  @media screen and (max-width: 767.98px) {
    .product-detail__mobile-select-copy { font-size: max(0.75rem, 14px); }
  }

  .contact-form__label { font-size: max(var(--text-small), 14px); }

  .site-footer .site-footer__col-heading,
  .site-footer .site-footer__bottom { font-size: max(var(--text-xs), 12px); }

  .product-grid-section__eyebrow,
  .home-orient__eyebrow,
  .home-orient__stage-eyebrow,
  .home-proof__eyebrow,
  .home-proof__stat-label,
  .scrub-heading { font-size: 12px; }
  .hero-badges .glass-badge:not(.glass-badge--shop) .glass-text { font-size: max(0.85em, 0.85rem, 12px); }

  .about-origin .about-origin__eyebrow { font-size: max(0.75rem, 12px); }
  .horizontal-scroll .horizontal__kicker,
  .about-cta .about-cta__chapter { font-size: max(0.8125rem, 12px); }
  
  .horizontal-scroll .horizontal__indicator { font-size: max(0.8125rem, 12px); }

  .contact-eyebrow { font-size: max(0.6875em, 12px); }

  .product-detail--flagship .product-detail__eyebrow { font-size: max(0.72rem, 12px); }
  .product-detail--flagship .product-detail__finish-title { font-size: max(0.78rem, 12px); }
  .product-detail--flagship .product-detail__swatch-name { font-size: max(0.82rem, 12px); }
  .body--product-flagship .product-argument__eyebrow,
  .body--product-flagship .product-film-slot__eyebrow,
  .body--product-flagship .product-faq__eyebrow,
  .pdp-watermark .pdp-watermark__eyebrow,
  body.body--cartridge-pdp .product-detail--cartridge .product-detail__eyebrow,
  body.body--thermosteel-pdp .product-detail--thermo .product-detail__eyebrow,
  body.body--cartridge-pdp .cartridge-kicker,
  body.body--thermosteel-pdp .thermo-kicker { font-size: max(0.7rem, 12px); }
  body:is(.body--product-flagship, .body--cartridge-pdp, .body--thermosteel-pdp) .product-specs__stat dt { font-size: max(0.72rem, 12px); }
  .pdp-watermark .pdp-watermark__badge > dl dt { font-size: max(0.6875em, 12px); }

  .why-filter-eyebrow,
  .why-filter-close .why-filter-eyebrow,
  .why-filter-hero__label,
  .why-filter-gap__term,
  .why-filter-steel__ledger-label,
  .why-filter-close__assurance-title { font-size: max(var(--text-small), 12px); }
  .why-filter-gap__stage,
  .why-filter-journey__kicker { font-size: max(var(--text-xs), 12px); }
  .why-filter-journey__index-name,
  .why-filter-journey.is-pinned-mode .why-filter-journey__index-name { font-size: 12px; }

  .bold-nav-full .bold-nav-full__contact-button { font-size: max(1.25em, 15px); }
  .site-footer .site-footer__submit,
  .selection-panel .selection-panel__enquire-btn { font-size: max(var(--text-body), 15px); }
  .selection-panel .selection-panel__empty-link { font-size: max(0.9em, 15px); }

  .hero-badges .glass-badge--shop .glass-text { font-size: max(1em, 15px); }
  .home-orient__teaser-link,
  .home-invite__story-link { font-size: 15px; }

  .contact-hero__anchor-link { font-size: max(var(--text-body), 15px); }

  .product-detail--flagship .product-detail__button { font-size: max(0.97rem, 15px); }
  .product-detail--flagship .product-detail__button--secondary { font-size: max(0.92rem, 15px); }
  body.body--cartridge-pdp .product-detail--cartridge .product-detail__button,
  body.body--thermosteel-pdp .product-detail--thermo .product-detail__button { font-size: max(0.95rem, 15px); }
  body.body--cartridge-pdp .product-detail--cartridge .product-detail__button--secondary,
  body.body--thermosteel-pdp .product-detail--thermo .product-detail__button--secondary { font-size: max(0.9rem, 15px); }
  .body--product-flagship .product-close__range-link { font-size: max(0.88rem, 15px); }
  
  body.body--cartridge-pdp .cartridge-rhythm__routes a { font-size: max(0.88rem, 15px); }
  body.body--thermosteel-pdp .thermo-close__lead .thermo-close__back { font-size: max(0.88rem, 15px); }
  body:is(.body--product-flagship, .body--cartridge-pdp) .product-specs__disclosure .faq-section__trigger { font-size: max(0.9rem, 16px); }

  .why-filter-taste__cta a { font-size: max(var(--text-small), 15px); }
  .why-filter-sticky-cta__link { font-size: max(0.86rem, 15px); }

  .legal-page-header .legal-expand-toggle { font-size: max(1rem, 15px); }

  @media screen and (max-width: 767.98px) {
    .product-detail__mobile-select-button { font-size: max(0.86rem, 15px); }
  }

  @media screen and (max-width: 413.98px) {
    .hero-badges { flex-direction: column; gap: max(0.75em, 12px); }
  }

  @media screen and (max-width: 389.98px) {
    .home-orient__teaser { gap: 8px; flex-wrap: wrap; }
    .home-orient__teaser-link { letter-spacing: 0; }
    .home-orient__teaser .motion-toggle--inline { margin-left: auto; }
  }

  @media screen and (min-width: 768px) and (max-width: 899.98px) {
    .home-orient__panel { aspect-ratio: 3 / 5; }
  }

  .product-argument__title em,
  .cartridge-rhythm__title em { word-spacing: 0.08em; }

  @media screen and (min-width: 48em) {
    .site-footer .site-footer__form-row .site-footer__input { width: 0; min-width: 11.6875em; }
  }
  
  @media screen and (min-width: 1025px) {
    .site-footer .site-footer__columns { grid-template-columns: minmax(max-content, 1fr) 1fr 1fr 1.5fr; }
  }

  @media screen and (min-width: 768px) and (max-width: 1024.98px) {
    .legal-page-header { padding-top: max(6em, 112px); }
  }
  .legal-page-content .legal-accordion__body-text,
  .legal-page-header .legal-page-subtext { max-width: 38em; }

  @media screen and (min-width: 768px) and (hover: hover) and (pointer: fine) {
    .products-range-hero__title { font-size: clamp(3rem, 6vw, 4.5rem); }
    :is(.body--products-range, .product-grid-section) .pgrid-card--system .pgrid-card__name { font-size: clamp(2rem, 3vw, 2.75rem); }
    
    .product-grid-section__title,
    .home-orient__title,
    .home-proof__title,
    .home-invite__title,
    .contact-visit__title,
    .contact-form-section__title,
    .faq-section__title,
    .body--why-filter .why-filter-h2,
    .body--product-flagship .product-faq__title,
    body.body--products-range .pgrid-zone__label { font-size: clamp(2.5rem, 4.2vw, 3.75rem); }
    
    .home-orient__stage { font-size: clamp(1.6em, calc(1.6em + (100vw - 768px) * 0.01875), 1.9em); }
    
    .hero-heading { font-size: clamp(3.5em, 7.25vw + 0.36em, 5em); }
    .body--why-filter .why-filter-hero__heading { font-size: clamp(3.6em, 5vw + 1.2em, 4.4em); }
    .body--why-filter .why-filter-steel__heading { font-size: clamp(3.2em, 5vw + 0.8em, 4em); }
    .body--why-filter .why-filter-taste__heading { font-size: clamp(3.1em, 4.375vw + 1em, 3.8em); }
    .body--why-filter .why-filter-enviro__statement { font-size: clamp(2.4em, 3.125vw + 0.9em, 2.9em); }
    .body--why-filter .why-filter-close__heading { font-size: clamp(2.8em, 3.75vw + 1em, 3.4em); }
    .legal-page-header .legal-page-heading { font-size: clamp(2.5em, 3.125vw + 1em, 3em); }
  }
  
  @media screen and (min-width: 1024px) and (hover: hover) and (pointer: fine) {
    .contact-hero__pov { font-size: max(1.125rem, 18px); }
    .faq-section--deep .faq-section__question { font-size: max(1.25rem, 20px); }
  }
}

@media screen and (min-width: 1025px) and (hover: hover) and (pointer: fine) {

  .product-grid-section__title,
  .home-orient__title,
  .home-proof__title,
  .home-invite__title,
  .contact-visit__title,
  .contact-form-section__title,
  .faq-section__title,
  .body--why-filter .why-filter-h2,
  .body--product-flagship .product-faq__title { font-size: clamp(2.5rem, 4.2vw, 3.75rem); }
  body.body--products-range .pgrid-zone__label {
    font-size: clamp(2.5rem, 4.2vw, 3.75rem);
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -0.01em;
    text-transform: none;
  }

  .product-specs__title { font-size: clamp(2.5rem, 4.2vw, 3.75rem); }
  
  .about-origin .about-origin__heading { font-size: clamp(2.5rem, max(4.2vw, 3vw + 1rem), 3.75rem); }

  .body--product-flagship .product-argument__title,
  .body--product-flagship .product-film-slot__title,
  body.body--cartridge-pdp .cartridge-benefit__title,
  body.body--thermosteel-pdp .thermo-scene__title,
  body.body--thermosteel-pdp .thermo-features__lead h2 { font-size: calc(clamp(3rem, 4.5vw, 4.4rem) * 0.95); }

  .faq-section--deep .faq-section__question,
  .body--product-flagship .product-faq__trigger .faq-section__question,
  .legal-page-content .legal-accordion .faq-section__question { font-size: max(1.25rem, 20px); text-wrap: balance; }
  .why-filter-faq .why-filter-faq__trigger { font-size: max(1.25rem, 20px); }

  :is(.body--products-range, .product-grid-section) .pgrid-card--cartridge .pgrid-card__name,
  .product-stage-cross-sell .pgrid-card--cartridge .pgrid-card__name,
  .product-detail--cartridge .cartridge-cross-sell .pgrid-card--system .pgrid-card__name { font-size: max(1.125rem, 18px); }
  .selection-panel .selection-panel__item-name { font-size: max(1.125rem, 18px); line-height: 1.25; }

  .hero-tagline,
  body.body--products-range .products-range-hero__line,
  .contact-hero__pov,
  .product-detail--flagship .product-detail__standfirst,
  .product-detail--cartridge .product-detail__standfirst--cartridge,
  .product-detail--thermo .thermo-hero__intro,
  .why-filter-hero__sub,
  .why-filter-taste__lead-copy,
  .legal-page-header .legal-page-subtext { font-size: max(1.125rem, 18px); text-wrap: pretty; }
  
  .pdp-watermark .pdp-watermark__body,
  body.body--thermosteel-pdp .thermo-scene__line { font-size: max(clamp(1rem, 1.3vw, 1.15rem), 1.125rem, 18px); }

  .product-grid__cluster-line,
  .pgrid-zone__note,
  .pgrid-close-line,
  .faq-section .faq-section__answer,
  .product-faq .faq-section__answer,
  .why-filter-faq__answer,
  .why-filter-gap__body,
  .why-filter-gap__notice,
  .why-filter-steel__copy,
  .why-filter-skin__copy,
  .why-filter-journey__copy,
  .why-filter-close__line,
  .product-detail--cartridge .cartridge-hero__fits,
  .body--product-flagship .product-argument__fact dd { font-size: max(1rem, 16px); }
  
  .body--product-flagship .product-argument__copy p,
  body.body--cartridge-pdp .cartridge-benefit__copy p,
  body.body--cartridge-pdp .cartridge-rhythm__copy { font-size: max(clamp(0.95rem, 1.2vw, 1.08rem), 1rem, 16px); }
  
  .product-faq .faq-section__answer,
  body.body--cartridge-pdp .cartridge-benefit__copy p,
  body.body--cartridge-pdp .cartridge-rhythm__copy,
  .why-filter-gap__notice,
  .why-filter-skin__copy,
  .why-filter-journey__copy,
  .why-filter-faq__answer,
  .site-footer .site-footer__newsletter-text,
  .legal-page-content .legal-accordion__body-text :is(p, li) { text-wrap: pretty; }
  
  .contact-form__prefill,
  .contact-form__error,
  .site-footer .site-footer__form-error,
  .site-footer .site-footer__form-success { font-size: max(1rem, 16px); line-height: 1.5; }
  .site-footer .form-feedback,
  .contact-form-section .form-feedback { font-size: max(1rem, 16px); }
  .selection-panel .selection-panel__empty-line { line-height: 1.5; }

  .site-footer .site-footer__link { font-size: max(0.9375rem, 15px); }
  .site-footer .site-footer__bottom .site-footer__link,
  .selection-panel .selection-panel__item-colour,
  .selection-panel .selection-panel__remove,
  .selection-panel .selection-panel__clear-btn,
  :is(.body--products-range, .product-grid-section) .pgrid-card--cartridge .pgrid-card__line,
  .product-stage-cross-sell .pgrid-card--cartridge .pgrid-card__line,
  .product-detail--cartridge .cartridge-cross-sell .pgrid-card--system .pgrid-card__line,
  .home-orient__copy,
  .home-proof__stat-line,
  .contact-hero__state,
  .why-filter-close__signoff,
  .product-detail .product-detail__breadcrumb,
  .product-detail .product-detail__reassurance-item,
  .product-detail .product-specs__table th,
  .product-detail .product-specs__table td,
  .pdp-watermark .pdp-watermark__note,
  .body--product-flagship .product-argument__fact dt,
  body:is(.body--product-flagship, .body--cartridge-pdp, .body--thermosteel-pdp) .product-specs__stat dd > span:not([data-odometer-element]),
  .body--product-flagship .product-film-slot__caption,
  .why-filter-close__figure-caption,
  .gallery-showcase .layered-slider__overlay-top .layered-slider__span { font-size: max(0.875rem, 14px); }
  
  .product-detail .product-specs__table th,
  .product-detail .product-specs__table td { text-wrap: balance; }

  .product-grid-section__eyebrow,
  .home-orient__eyebrow,
  .home-orient__stage-eyebrow,
  .home-proof__eyebrow,
  .home-proof__stat-label,
  .scrub-heading,
  .horizontal-scroll .horizontal__kicker,
  .horizontal-scroll .horizontal__indicator,
  .about-cta .about-cta__chapter,
  .contact-eyebrow,
  .product-detail--flagship .product-detail__eyebrow,
  .product-detail--flagship .product-detail__finish-title,
  .product-detail--cartridge .product-detail__eyebrow,
  .product-detail--thermo .product-detail__eyebrow,
  .cartridge-kicker,
  .thermo-kicker,
  .product-argument__eyebrow,
  .product-film-slot__eyebrow,
  .product-faq__eyebrow,
  .pdp-watermark .pdp-watermark__eyebrow,
  body:is(.body--product-flagship, .body--cartridge-pdp, .body--thermosteel-pdp) .product-specs__stat dt,
  .why-filter-eyebrow,
  .why-filter-close .why-filter-eyebrow,
  .why-filter-hero__label,
  .why-filter-gap__term,
  .why-filter-steel__ledger-label,
  .why-filter-close__assurance-title,
  .why-filter-journey .why-filter-journey__index-name,
  .why-filter-journey.is-pinned-mode .why-filter-journey__index-name { font-size: max(0.75rem, 12px); }

  .product-detail--flagship .product-detail__button,
  .product-detail--flagship .product-detail__button--secondary,
  .product-detail--cartridge .product-detail__button,
  .product-detail--cartridge .product-detail__button--secondary,
  .product-detail--thermo .product-detail__button,
  .product-detail--thermo .product-detail__button--secondary,
  .body--why-filter .why-filter-enquire,
  .selection-panel .selection-panel__enquire-btn,
  .site-footer .site-footer__submit,
  .contact-form .contact-form__submit { font-size: max(0.95rem, 15px); }
  
  .home-orient__teaser-link,
  .home-invite__story-link,
  .body--product-flagship .product-close__range-link,
  body.body--cartridge-pdp .cartridge-rhythm__routes a,
  body.body--thermosteel-pdp .thermo-close__back,
  .why-filter-taste__cta a,
  .selection-panel .selection-panel__empty-link { font-size: max(0.9375rem, 15px); }
  
  .home-invite .home-invite__cta { font-size: max(1rem, 16px); }
  
  body:is(.body--product-flagship, .body--cartridge-pdp) .product-specs__disclosure .faq-section__question { font-size: max(1rem, 16px); }

  .home-invite .home-invite__inner { max-width: max(640px, 40rem); }

  .body--product-flagship .product-argument__fact { align-items: baseline; }

  @media (min-width: 64em) {
    .site-footer .site-footer__columns { column-gap: min(3em, 4.4vw); }
    
    .site-footer .site-footer__form-row .site-footer__input { width: 0; min-width: 11.6875em; }
    
    @media (min-width: 1100px) {
      .site-footer .site-footer__columns { grid-template-columns: minmax(max-content, 1fr) 1fr 1fr 1.5fr; }
    }
  }
  .site-footer .site-footer__col:not(.site-footer__col--newsletter) .site-footer__col-heading,
  .site-footer .site-footer__list .site-footer__link { white-space: nowrap; }

  .product-argument__title em,
  .cartridge-rhythm__title em { word-spacing: 0.08em; }

  .body--why-filter .why-filter-faq { grid-template-columns: minmax(min-content, 4fr) minmax(0, 7fr); }
  .body--why-filter .why-filter-faq__head .why-filter-h2 { text-wrap: balance; }

  .legal-page-content .legal-accordion__body-text,
  .legal-page-header .legal-page-subtext { max-width: 38em; }

  .body--why-filter .why-filter-taste__lead { max-width: calc(29.25em + var(--gutter-left) + var(--gutter-right)); }

  .product-detail--flagship .product-detail__standfirst { line-height: 1.5; }
  .product-detail--flagship .product-detail__reassurance-item { padding-block: 0.5rem; }
}

.rename-notice {
  position: fixed;
  z-index: var(--z-header);
  left: var(--gutter-left, 20px);
  bottom: max(24px, calc(env(safe-area-inset-bottom, 0px) + 16px));
  
  width: min(max(31rem, 440px), calc(100vw - 48px));
  pointer-events: none;
}

.rename-notice__card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: start;
  column-gap: 14px;
  padding: 16px 8px 16px 18px;
  
  border: var(--border-thin, 1px) solid rgb(255 255 255 / 0.28);
  border-radius: var(--radius-card);
  background: var(--surface-deep);
  color: var(--ink-invert);
  box-shadow:
    0 18px 40px color-mix(in srgb, var(--surface-abyss) 28%, transparent),
    0 2px 6px color-mix(in srgb, var(--surface-abyss) 18%, transparent);
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.36s ease, transform 0.42s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: auto;
}

.rename-notice.is-visible .rename-notice__card {
  opacity: 1;
  transform: none;
}

.rename-notice--static .rename-notice__card { transition: none; }

.rename-notice__mark {
  display: block;
  width: 30px;
  margin-top: 3px;
  color: var(--ink-invert);
}

.rename-notice__mark svg { display: block; width: 100%; height: auto; }

.rename-notice__copy {
  margin: 0;
  font-family: 'Instrument Sans', sans-serif;
}

.rename-notice__title {
  display: block;
  font-size: max(1rem, 16px);
  font-weight: 500;
  line-height: 1.4;
  color: var(--ink-invert);
  text-wrap: balance;
}

.rename-notice__text {
  display: block;
  margin-top: 4px;
  font-size: max(0.875rem, 14px);
  line-height: 1.5;
  color: var(--ink-invert-muted);
  text-wrap: pretty;
}

.rename-notice__close {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin: -10px 0 -10px 0;
  padding: 0;
  border: 0;
  border-radius: var(--radius-button);
  background: transparent;
  color: var(--ink-invert-muted);
  cursor: pointer;
  transition: color var(--duration-fast) ease;
}

.rename-notice__close svg { width: 20px; height: 20px; }

.rename-notice__close:focus-visible {
  outline: 2px solid var(--accent-on-dark);
  outline-offset: 2px;
  color: var(--ink-invert);
}

@media (hover: hover) and (pointer: fine) {
  .rename-notice__close:hover { color: var(--ink-invert); }
}

@media screen and (max-width: 767.98px) {
  .rename-notice {
    left: 16px;
    right: 16px;
    
    top: calc(env(safe-area-inset-top, 0px) + 5rem + 10px);
    bottom: auto;
    width: auto;
    max-width: 560px;
    margin-inline: auto;
  }

  .rename-notice__card {
    grid-template-columns: 1fr auto;
    padding: 14px 6px 14px 16px;
    transform: translateY(-10px);
  }

  .rename-notice__mark { display: none; }
}

@media screen and (max-width: 480.98px) {
  .rename-notice { top: calc(env(safe-area-inset-top, 0px) + 4.5rem + 10px); }
}

@media (prefers-reduced-motion: reduce) {
  .rename-notice__card { transition: none; }
}
