@font-face {
  font-family: 'Thornevick Editorial';
  src: url('/assets/editorial-sans.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
:root {
  --black: #000;
  --surface: #242424;
  --white: #fff;
  --accent: var(--champagne);
  --champagne: #c4ae7e;
  --ivory: #f5f2ec;
  --muted: #a8a8a8;
  --line: rgba(255,255,255,.18);
  --sans: 'Thornevick Editorial','Helvetica Neue',Arial,sans-serif;
  --serif: Georgia,'Times New Roman',serif;
  color-scheme: dark;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
body { margin: 0; background: var(--black); color: var(--white); font: 400 1rem/1.5 var(--sans); -webkit-font-smoothing: antialiased; }
body { background-image: radial-gradient(ellipse at 85% 0%,#171819 0%,#070809 44%,#000 80%); background-size: 100% 100svh; background-repeat: no-repeat; }
button,a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; cursor: pointer; }
button:disabled { cursor: default; }
img { display: block; max-width: 100%; height: auto; }
button,summary { touch-action: manipulation; }
button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
h1,h2,h3,p,ul,dl,dd { margin: 0; }
h1,h2,h3 { font-weight: 400; line-height: 1.08; }
em { font-family: var(--serif); font-weight: 400; }
[hidden] { display: none !important; }
::selection { background: var(--accent); color: #000; }
.shell { width: min(1240px,calc(100% - 96px)); margin-inline: auto; }
.content-shell { max-width: 1100px; }
.sr-only,.skip-link:not(:focus) { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.skip-link:focus { position: fixed; left: 20px; top: 20px; z-index: 100; background: var(--accent); color: #000; padding: 12px 20px; }

/* The hero extends behind the clear header; smoked glass appears after scrolling. */
.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 20;
  isolation: isolate;
  max-height: 100vh;
  max-height: 100svh;
  overflow-y: auto;
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  border: 0;
  box-shadow: none;
  transition: none;
}
/* Fade a dedicated glass layer so blur and tint arrive and leave together. */
.header::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: rgba(0,0,0,.84);
  opacity: 0;
  transition: opacity .45s cubic-bezier(.22,1,.36,1);
}
.header.is-scrolled { --header-link: #eeeae3; }
.header.is-scrolled::before { opacity: 1; }
@supports ((backdrop-filter: blur(24px)) or (-webkit-backdrop-filter: blur(24px))) {
  .header::before {
    background: rgba(0,0,0,.48);
    -webkit-backdrop-filter: blur(24px) saturate(140%);
    backdrop-filter: blur(24px) saturate(140%);
  }
}
.header-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 32px; min-height: 88px; padding-block: 18px; width: min(1600px,calc(100% - 96px)); }
.brand { display: inline-flex; align-items: center; gap: 12px; flex-shrink: 0; }
.brand img { width: 40px; height: 40px; }
.brand-lockup { display: grid; gap: 7px; }
.brand-lockup>span { font-size: .875rem; letter-spacing: .2em; line-height: 1; }
.desktop-nav { display: flex; gap: 23px; align-items: center; margin-inline: auto; }
.desktop-nav>span { color: #5d5e5b; font-size: .875rem; }
.desktop-nav a { color: var(--header-link,#b8b8b8); font-size: .875rem; transition: color .2s; }
.desktop-nav a:hover,.desktop-nav a[aria-current] { color: #fff; }
.header-actions { display: flex; align-items: center; gap: 16px; }
.pill { display: inline-flex; align-items: center; justify-content: center; gap: 24px; min-height: 44px; border-radius: 99px; padding: 11px 23px; font-size: .875rem; line-height: 1.4; transition: background .3s,color .3s; }
.pill-white { background: #fff; color: #000; }
.pill-white:hover { background: var(--accent); }
.header-cta { background: rgba(255,255,255,.06); color: #e4e4e0; border-radius: 5px; min-height: 42px; padding: 9px 16px; gap: 18px; }
.header-cta:hover { color: #111; }
.pill-black { background: #000; color: #fff; }
.pill-black:hover { background: #202020; }
.menu-toggle { display: none; align-items: center; justify-content: center; gap: 14px; min-height: 44px; padding: 10px 18px; border: 1px solid #555; border-radius: 99px; background: transparent; font-size: .875rem; }
.menu-icon { font-size: 1.25rem; line-height: 1; transition: transform .25s; }
.menu-toggle[aria-expanded=true] .menu-icon { transform: rotate(45deg); }
.mobile-nav { padding-block: 18px 28px; display: grid; gap: 14px; }
.mobile-nav a { font-size: 1.5rem; line-height: 1.4; }

.hero {
  --header-height: 88px;
  position: relative;
  isolation: isolate;
  overflow: clip;
  display: flex;
  flex-direction: column;
  min-height: max(calc(480px + var(--header-height)),100vh);
  min-height: max(calc(480px + var(--header-height)),100svh);
  padding-top: var(--header-height);
  background:
    linear-gradient(to bottom,transparent 68%,#000 100%),
    linear-gradient(12deg,transparent 24%,rgba(210,207,197,.035) 27%,transparent 30%),
    radial-gradient(ellipse at 88% 0%,#151617 0%,#070809 40%,#000 78%);
}
.hero .hero-copy {
  width: min(1600px,calc(100% - 96px));
  display: grid;
  grid-template-columns: minmax(0,1.35fr) minmax(0,1fr);
  align-items: center;
  gap: clamp(24px,3vw,56px);
  text-align: left;
  position: relative;
  z-index: 2;
  flex: 1;
  padding-block: clamp(40px,7svh,92px);
}
.hero-message { min-width: 0; }
.hero-emblem { display: flex; align-items: center; justify-content: center; min-width: 0; }
.hero h1 {
  width: fit-content;
  max-width: 100%;
  margin: 0;
  font-size: clamp(3.625rem,6.65vw,7.5rem);
  letter-spacing: -.052em;
  line-height: 1.04;
  overflow-wrap: break-word;
  color: var(--white);
}
.hero-line { display: block; }
.hero-description { max-width: 510px; margin-top: 24px; font-size: clamp(1rem,1.12vw,1.125rem); line-height: 1.6; color: #a3a5a3; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 25px; margin-top: 22px; width: fit-content; }
.hero-button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 11px 19px; border-radius: 5px; background: var(--champagne); color: #14130f; font-size: .875rem; line-height: 1.5; transition: background .25s,box-shadow .25s; }
.hero-button:hover { background: #d8c69f; box-shadow: 0 6px 26px rgba(196,174,126,.12); }
.hero-learn { display: inline-flex; align-items: center; gap: 12px; min-height: 46px; padding-block: 10px; font-size: .875rem; color: #e7e7e2; }
.hero-learn:hover { color: var(--champagne); }
.hero-learn > span[aria-hidden="true"] { position: relative; top: -2px; }
.company-section { padding-top: 66px; background: var(--black); }
.company-numbers { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 62px; }
.company-number>p { font-size: clamp(2.5rem,4.5vw,4.5rem); letter-spacing: -.055em; line-height: 1.05; }
.company-number>p>span { font-family: var(--serif); font-size: 1.7em; line-height: .85; color: var(--accent); letter-spacing: -.09em; margin-right: .1em; }
.company-number>div { margin-top: 16px; font-size: .875rem; color: #b8b8b8; }
.company-number--home>p>span { font-size: 1.35em; font-style: italic; letter-spacing: -.07em; }
.manifesto { padding-top: 215px; padding-bottom: 170px; max-width: 1110px; }
.manifesto-text { font-size: clamp(2rem,4.35vw,4.2rem); line-height: 1.17; letter-spacing: -.045em; margin-bottom: 100px; }
.manifesto-text:last-child { margin-bottom: 0; }
.section-title { font-size: clamp(2rem,3vw,2.85rem); letter-spacing: -.05em; text-align: center; }
.section-intro { font-size: 1rem; color: var(--muted); text-align: center; margin-top: 18px; }

.products-section { background: #fff; color: #080808; padding: 98px 0 80px; color-scheme: light; }
.product-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; align-items: start; margin-top: 52px; }
.product-card { overflow: hidden; border-radius: 28px; scroll-margin-top: 40px; }
.product-card--jest { background: #e8dfca; }
.product-card--speilo { background: #e7edee; }
.product-card-top { padding: 28px 30px 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.product-card h3 { font-size: 2.7rem; letter-spacing: -.065em; }
.product-card--jest h3 { font-weight: 700; letter-spacing: -.06em; }
.product-tag { font-size: .75rem; border: 1px solid #0003; border-radius: 99px; padding: 5px 13px; line-height: 1.4; }
.product-intro { font-size: 1.125rem; line-height: 1.35; margin: 19px 30px 10px; letter-spacing: -.025em; }
.product-highlights { font-size: .875rem; line-height: 1.65; padding-left: 17px; margin: 0 30px 27px; min-height: 70px; }
.product-art { position: relative; height: 460px; overflow: hidden; margin-inline: 0; background: #111; color: #fff; }
.product-editorial { width: 100%; height: 100%; object-fit: cover; }
.product-art::after { content: ''; position: absolute; inset: 0; background: linear-gradient(rgba(0,0,0,.4),transparent 40%); pointer-events: none; }
.product-art-label { position: absolute; top: 22px; left: 27px; right: 27px; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 15px; font-size: .75rem; }
.product-art-label>span:first-child { font-size: 1.375rem; letter-spacing: -.04em; }
.product-card-bottom { padding: 25px 30px 28px; }
.product-card-bottom>p { font-size: clamp(1.7rem,2.45vw,2.4rem); letter-spacing: -.05em; line-height: 1.12; min-height: 2.4em; }
.product-card-bottom>p em { letter-spacing: -.04em; }
.product-details { margin-top: 28px; }
summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
summary::-webkit-details-marker { display: none; }
summary>span[aria-hidden] { font-size: 1.5rem; line-height: 1; flex: none; transition: transform .25s; }
details[open]>summary>span[aria-hidden] { transform: rotate(45deg); }
.product-details>summary { font-size: .875rem; padding-block: 12px; border-top: 1px solid #0003; }
.product-details-body { padding-top: 12px; font-size: 1rem; line-height: 1.5; }
.product-details-body>p+p { margin-top: 16px; }
.product-details-body dl { margin-block: 24px; }
.product-details-body dl>div+div { margin-top: 20px; }
.product-details-body dt { font-weight: 700; margin-bottom: 5px; }
.product-details-body dd { color: #36332d; }
.products-section a:focus-visible,.products-section summary:focus-visible { outline-color: #111; }
.section-footnote { text-align: center; font-size: .875rem; margin-top: 45px; }

.approach-section { padding: 120px 0 88px; background: var(--surface); }
.approach-section .content-shell { max-width: 1180px; }
.approach-section .section-title { font-size: clamp(2.4rem,3.8vw,3.6rem); }
.standards-section .section-title { font-size: clamp(2.4rem,3.8vw,3.6rem); }
.approach-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 36px; margin-top: 70px; }
.approach-card { position: relative; overflow: hidden; isolation: isolate; background: #000; border-radius: 26px; padding: 44px 36px 38px; text-align: center; box-shadow: 0 28px 60px rgba(0,0,0,.38),0 12px 24px rgba(0,0,0,.22); }
.approach-number { position: absolute; top: 27px; left: 26px; color: #909090; font-size: .75rem; }
.approach-card h3 { font-family: var(--serif); font-size: clamp(1.9rem,2.5vw,2.3rem); line-height: 1.2; }
.approach-card>p { margin-top: 10px; font-size: 1rem; color: #8f8f8f; }
.approach-art { width: min(100%,360px); aspect-ratio: 1; margin: 48px auto 0; background-image: url('/assets/approach-sculptures-monochrome.webp'); background-repeat: no-repeat; background-size: 300% 200%; }
.approach-art--1 { background-position: 0 0; }
.approach-art--2 { background-position: 50% 0; }
.approach-art--3 { background-position: 100% 0; }
.approach-art--4 { background-position: 0 100%; }
.approach-art--5 { background-position: 50% 100%; }
.approach-art--6 { background-position: 100% 100%; }
.approach-card-note { position: relative; font-size: .875rem; line-height: 1.45; color: #b0b0b0; max-width: 340px; margin: 0 auto; }
.approach-section .section-footnote { display:flex; align-items:center; justify-content:center; gap:32px; margin-top:88px; color:#c6c9cf; font-size:1.2rem; font-weight:500; letter-spacing:-.02em; }
.approach-section .section-footnote::before,.approach-section .section-footnote::after { content:""; flex:0 0 54px; width:54px; height:2px; }
.approach-section .section-footnote::before { background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.18) 52%,rgba(255,255,255,.18) 100%); }
.approach-section .section-footnote::after { background:linear-gradient(90deg,rgba(255,255,255,.18) 0%,rgba(255,255,255,.18) 48%,transparent 100%); }

.standards-section { padding: 96px 0 64px; overflow: hidden; }
/* Wide center card and recessed neighbors follow the supplied carousel reference. */
.values-carousel { margin-top: 70px; }
.values-track {
  --card-width: min(66.6667vw,80rem);
  --card-gap: clamp(16px,2vw,40px);
  display: flex;
  gap: var(--card-gap);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding-inline: calc((100% - var(--card-width))/2);
  overscroll-behavior-x: contain;
  outline-offset: -4px !important;
}
.values-track::-webkit-scrollbar { display: none; }
.value-card {
  position: relative;
  isolation: isolate;
  flex: 0 0 var(--card-width);
  width: var(--card-width);
  aspect-ratio: 16/9;
  min-height: 22.5rem;
  scroll-snap-align: center;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: clamp(32px,4vw,72px);
  border-radius: clamp(24px,2.1vw,40px);
  padding: clamp(28px,2.5vw,48px) clamp(28px,3vw,56px);
  overflow: hidden;
  background: #201e1a;
}
.values-track.is-looping {
  position: relative;
  display: block;
  height: var(--carousel-height);
  padding: 0;
  overflow: hidden;
  scroll-snap-type: none;
  touch-action: pan-y pinch-zoom;
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
}
.values-track.is-looping .value-card {
  position: absolute;
  left: 50%;
  top: 50%;
  height: var(--carousel-height);
  transform: translate(calc(-50% + var(--card-offset,0px)),-50%) scale(var(--card-scale,1));
  opacity: var(--card-opacity,1);
}
.values-track.is-looping .value-card:not([data-active="true"]) { cursor: pointer; }
.values-track.is-dragging,.values-track.is-dragging .value-card { cursor: grabbing; }
.value-card--purpose { background: #252321; }
.value-card--care { background: #1c1c1c; }
.value-category { position: relative; z-index: 2; font-size: .875rem; color: #d2cab9; }
.value-visual { position: absolute; z-index: 0; inset: 0; pointer-events: none; }
.value-visual img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.value-card::after { content: ""; position: absolute; z-index: 1; inset: 0; pointer-events: none; background: linear-gradient(180deg,rgba(0,0,0,.28) 0%,rgba(0,0,0,.06) 28%,rgba(0,0,0,.52) 58%,rgba(0,0,0,.89) 100%),linear-gradient(90deg,rgba(0,0,0,.18),transparent 75%); }
.value-card--purpose .value-visual img { object-position: 63% center; }
.value-card h3 { position: relative; z-index: 2; font-size: clamp(2.2rem,4.6vw,4rem); letter-spacing: -.055em; line-height: 1.08; }
.value-card h3 em { color: var(--accent); }
.value-card p { position: relative; z-index: 2; font-size: 1.125rem; line-height: 1.45; color: #c5c1b9; max-width: 440px; margin-top: 24px; }
.carousel-controls { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: clamp(28px,3vw,56px); }
.carousel-button { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 56px; padding: 0; border: 1px solid #525252; background: transparent; border-radius: 50%; width: 56px; height: 56px; line-height: 1; transition: background .25s,color .25s,border-color .25s; }
.carousel-button svg { display: block; width: 22px; height: 22px; flex: none; }
.carousel-button:hover:not(:disabled) { background: var(--accent); border-color: var(--accent); color: #000; }
.carousel-button:disabled { opacity: .28; }
.carousel-position { font-size: .75rem; color: #aaa; min-width: 38px; text-align: center; }

.questions-section { padding: 70px 0 112px; }
.questions-layout { display: grid; grid-template-columns: .95fr 1.2fr; gap: 75px; }
.eyebrow { font-size: .875rem; line-height: 1.4; }
.questions-layout .eyebrow { color: var(--muted); margin-bottom: 24px; }
.questions-layout h2 { font-size: clamp(2.3rem,3.5vw,3.4rem); letter-spacing: -.045em; line-height: 1.1; }
.questions-layout h2 em { color: var(--accent); }
.questions-list>details { border-bottom: 1px solid #333; }
.questions-list>details:first-child { border-top: 1px solid #333; }
.questions-list summary { padding-block: 22px; font-size: 1rem; line-height: 1.4; }
.questions-list summary>span { color: var(--accent); }
.questions-list details>div { padding-bottom: 23px; color: #bcbcbc; font-size: 1rem; line-height: 1.55; }
.questions-list details p+p { margin-top: 18px; }
.answer-links { display: flex; flex-wrap: wrap; gap: 24px; color: var(--accent); }
.closing-section { background: var(--accent); color: #000; padding: 84px 0 48px; text-align: center; color-scheme: light; }
.closing-inner>h2 { font-size: clamp(3.5rem,7.2vw,7.4rem); letter-spacing: -.065em; line-height: .99; margin-top: 40px; }
.closing-inner>h2 em { letter-spacing: -.065em; }
.closing-inner>.pill { margin-top: 40px; }
.closing-location { font-size: .75rem; margin-top: 55px; }
.closing-section a:focus-visible { outline-color: #000; }
.footer { padding: 58px 0 30px; overflow: hidden; }
.footer-columns { display: flex; align-items: flex-start; justify-content: space-between; gap: 40px; }
.footer-columns h2 { font-size: .75rem; color: #8d8d8d; margin-bottom: 18px; line-height: 1.5; }
.footer-columns nav { display: flex; flex-direction: column; align-items: flex-start; }
.footer-columns a,.footer-columns p { font-size: .875rem; line-height: 1.65; color: #ddd; }
.footer-columns a+a { margin-top: 6px; }
.footer-columns a:hover { color: var(--accent); }
.footer-about>a { display: inline-block; margin-top: 20px; }
.footer-about>a + a { display: block; margin-top: 10px; }
.footer-legal { display: flex; justify-content: space-between; gap: 24px; color: #999; font-size: .75rem; margin-top: 53px; }
.footer-wordmark { display: block; font-size: min(19.95vw,17rem); letter-spacing: -.04em; line-height: 1.05; margin-left: -.025em; margin-top: 28px; white-space: nowrap; }
.footer-wordmark-t { display: inline-block; transform: scaleY(1.0441); transform-origin: 50% 100%; }
.footer-tagline { font-size: clamp(1rem,1.65vw,1.5rem); letter-spacing: -.02em; line-height: 1.4; }
.footer-tagline em { color: var(--accent); }

/* Arrow glyphs move independently; each link and button keeps its position. */
.pill>span[aria-hidden="true"],.hero-learn>span[aria-hidden="true"],
.footer-about>a>span[aria-hidden="true"] { display:inline-block; }
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .pill>span[aria-hidden="true"],.hero-learn>span[aria-hidden="true"],
  .footer-about>a>span[aria-hidden="true"] {
    transition:transform .32s cubic-bezier(.2,.7,.2,1);
  }
  .pill:is(:hover,:focus-visible)>span[aria-hidden="true"] { transform:translate(1.5px,-1.5px); }
  .hero-learn:is(:hover,:focus-visible)>span[aria-hidden="true"] { transform:translateX(2px); }
  .footer-about>a:is(:hover,:focus-visible)>span[aria-hidden="true"] { transform:translateY(-2px); }
}

@media (max-width:1150px) {
  .shell { width:calc(100% - 64px); }
  .desktop-nav { gap:14px; }
  .header-inner { gap:22px; }
  .header-inner,.hero .hero-copy { width:calc(100% - 64px); }
  .header-cta { padding-inline:18px; }
  .product-card-top { padding-inline:24px; }
  .product-intro,.product-highlights { margin-inline:24px; }
  .product-art { height:400px; }
  .product-card-bottom { padding-inline:24px; }
  .approach-art { width:min(100%,245px); }
  .questions-layout { gap:45px; }
  .manifesto { padding-top:175px; padding-bottom:135px; }
}
@media (max-width:900px) {
  .desktop-nav { display:none; }
  .menu-toggle { display:inline-flex; }
  .header-actions { margin-left:auto; }
  .header-inner { min-height:82px; }
  .hero { --header-height:82px; }
  .hero .hero-copy { grid-template-columns:1fr; gap:36px; padding-top:45px; padding-bottom:48px; }
  .hero h1 { max-width:100%; font-size:clamp(3.5rem,9vw,5.5rem); }
  .hero-description { max-width:560px; }
  .company-section { padding-top:45px; }
  .company-numbers { gap:50px; }
  .manifesto-text { font-size:clamp(2rem,4.8vw,3.2rem); margin-bottom:75px; }
  .product-grid { gap:20px; }
  .product-card { border-radius:21px; }
  .product-card h3 { font-size:2.3rem; }
  .product-card-top { padding:24px 21px 0; gap:12px; }
  .product-tag { padding:4px 9px; }
  .product-intro { min-height:2.7em; margin-inline:21px; }
  .product-highlights { min-height:90px; margin-inline:21px; }
  .product-art { height:370px; }
  .product-art-label { left:20px; right:20px; align-items:flex-start; }
  .product-art-label>span:last-child { max-width:100px; text-align:right; }
  .product-card-bottom { padding:24px 21px; }
  .product-card-bottom>p { font-size:1.7rem; min-height:2.6em; }
  .approach-card { padding-inline:24px; }
  .approach-art { width:min(100%,220px); }
  .questions-layout { grid-template-columns:1fr; gap:38px; }
  .questions-layout h2 br { display:none; }
  .questions-layout h2 em { display:block; }
  .footer-columns { display:grid; grid-template-columns:1fr 1fr; gap:34px; }
  .footer-about { grid-column:1 / -1; }
  .footer-wordmark { font-size:19.5vw; }
  .values-track { --card-width:80vw; }
}
@media (max-width:600px) {
  html { scroll-padding-top:90px; }
  .shell { width:calc(100% - 40px); }
  .header-inner { min-height:72px; gap:12px; }
  .header-inner,.hero .hero-copy { width:calc(100% - 40px); }
  .brand { gap:8px; }
  .brand img { width:32px; height:32px; }
  .brand-lockup { gap:5px; }
  .brand-lockup>span { font-size:.75rem; letter-spacing:.18em; }
  .header-cta { display:none; }
  .menu-toggle { padding:8px 15px; gap:12px; font-size:.75rem; }
  .hero { --header-height:80px; padding-bottom:16px; }
  .hero h1 { font-size:clamp(2.75rem,11.5vw,4.125rem); line-height:1.06; letter-spacing:-.045em; }
  .hero .hero-copy { gap:30px; padding-top:36px; padding-bottom:36px; }
  .hero-description { max-width:360px; margin-top:20px; }
  .hero-actions { gap:10px 20px; margin-top:24px; }
  .company-section { padding-top:60px; }
  .company-numbers { gap:47px; }
  .company-number>p { font-size:2.45rem; }
  .company-number>div { font-size:.75rem; line-height:1.4; margin-top:13px; }
  .company-number--home>p { font-size:2.1rem; }
  .manifesto { padding-top:125px; padding-bottom:105px; }
  .manifesto-text { font-size:clamp(1.9rem,6.8vw,2.5rem); line-height:1.18; letter-spacing:-.042em; margin-bottom:66px; }
  .products-section { padding:65px 0 52px; }
  .section-title { font-size:2rem; }
  .product-grid { grid-template-columns:1fr; gap:25px; margin-top:32px; }
  .product-card { border-radius:23px; }
  .product-card-top { padding:25px 24px 0; }
  .product-card h3 { font-size:2.6rem; }
  .product-intro { margin:18px 24px 11px; min-height:0; }
  .product-highlights { margin:0 24px 23px; min-height:0; }
  .product-art { height:420px; }
  .product-art-label>span:last-child { max-width:none; }
  .product-card-bottom { padding:24px; }
  .product-card-bottom>p { font-size:2rem; min-height:0; }
  .product-details { margin-top:23px; }
  .section-footnote { font-size:.75rem; margin-top:33px; }
  .approach-section .section-footnote { gap:32px; margin-top:72px; font-size:1.05rem; }
  .approach-section { padding:96px 0 72px; }
  .approach-section .section-title { font-size:2.4rem; }
  .section-intro { font-size:.875rem; margin-top:13px; }
  .approach-grid { grid-template-columns:1fr; gap:18px; margin-top:48px; }
  .approach-card { border-radius:18px; padding:36px 22px 32px; }
  .approach-number { position:static; display:block; line-height:1; margin-bottom:12px; }
  .approach-card h3 { font-size:1.8rem; }
  .approach-card>p { font-size:.875rem; line-height:1.3; min-height:2.6em; }
  .approach-art { width:min(100%,280px); margin:38px auto 0; }
  .approach-card-note { font-size:.875rem; line-height:1.4; }
  .standards-section { padding:64px 0 40px; }
  .values-carousel { margin-top:48px; }
  .values-track { --card-width:86vw; --card-gap:16px; }
  .value-card { aspect-ratio:4/5; border-radius:24px; min-height:360px; padding:28px 25px 40px; gap:32px; }
  .value-card::after { background: linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.16) 20%,rgba(0,0,0,.72) 52%,rgba(0,0,0,.92)); }
  .value-card h3 { font-size:2.25rem; }
  .value-card p { font-size:1rem; margin-top:20px; }
  .value-category { font-size:.75rem; }
  .questions-section { padding:45px 0 65px; }
  .questions-layout { gap:27px; }
  .questions-layout h2 { font-size:2.4rem; }
  .questions-layout .eyebrow { font-size:.75rem; margin-bottom:18px; }
  .questions-list summary { padding-block:20px; font-size:1rem; }
  .closing-section { padding:65px 0 30px; }
  .closing-inner>.eyebrow { font-size:.75rem; }
  .closing-inner>h2 { font-size:clamp(3.4rem,13vw,5rem); margin-top:30px; }
  .closing-inner>.pill { margin-top:32px; }
  .closing-location { margin-top:37px; }
  .footer { padding:40px 0 25px; }
  .footer-columns { gap:28px 25px; }
  .footer-columns a,.footer-columns p { font-size:.875rem; }
  .footer-columns h2 { margin-bottom:12px; }
  .footer-legal { flex-direction:column; gap:5px; margin-top:35px; }
  .footer-wordmark { font-size:19.2vw; margin-top:27px; }
  .footer-tagline { font-size:1rem; max-width:280px; }
  .footer-tagline em { white-space:nowrap; }
}

@media (min-width:901px) and (max-width:1150px) {
  .footer-columns,.footer-legal,.footer-tagline { width:calc(100% - (12.14vw - 64px)); }
}

@media (min-width:1151px) {
  .footer-columns,.footer-legal,.footer-tagline { width:calc(100% - 15px); }
}

@media (max-width:360px) {
  .shell { width:calc(100% - 32px); }
  .header-inner,.hero .hero-copy { width:calc(100% - 32px); }
  .brand-lockup>span { letter-spacing:.1em; }
  .header-inner { gap:8px; }
  .header-actions { gap:0; }
  .menu-toggle { padding-inline:11px; }
  .hero h1 { font-size:2.5rem; }
  .hero-actions { gap:8px 16px; }
  .hero-button { padding-inline:14px; }
  .hero-learn { gap:8px; }
  .footer-wordmark { font-size:18.5vw; }
  .approach-grid { grid-template-columns:1fr; }
  .approach-card>p { min-height:0; }
  .approach-art { width:170px; }
  .approach-card-note { max-width:230px; }
  .product-art { height:350px; }
  .product-art-label>span:last-child { max-width:130px; text-align:right; }
  .product-card-bottom>p { font-size:1.75rem; }
}
@media (max-height:600px) and (min-width:901px) {
  .hero { min-height:max(calc(460px + var(--header-height)),100svh); }
  .hero .hero-copy { padding-block:26px; }
  .hero h1 { font-size:clamp(3.25rem,5.8vw,6rem); }
  .hero-description { margin-top:14px; }
  .hero-actions { margin-top:18px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none !important; transition:none !important; }
}
@media print {
  html,body { background:white; color:black; }
  .hero { display:block; min-height:0; padding:24px 0; background:white; }
  .hero .hero-copy { display:block; width:100%; padding:0; }
  .hero h1 { max-width:100%; font-size:32pt; transform:none; }
  .header,.hero-emblem,.hero-actions,.carousel-controls,.closing-section .pill,.footer-wordmark { display:none !important; }
  .hero-description { color:#333; }
  .hero h1 { color:#000; }
  .shell { width:100%; max-width:none; }
  .company-section,.manifesto,.products-section,.approach-section,.standards-section,.questions-section,.closing-section,.footer { padding:25px 0; background:#fff; color:#000; }
  .hero h1 em,.company-number>p>span,.value-card h3 em { color:#000; }
  .company-numbers { gap:20px; }
  .manifesto-text { font-size:20pt; margin-bottom:25px; }
  .product-grid,.approach-grid { gap:20px; }
  .product-card,.approach-card { break-inside:avoid; }
  .values-track,.values-track.is-looping { overflow:visible; display:block; padding:0; height:auto; }
  .value-card,.values-track.is-looping .value-card { position:relative; left:auto; top:auto; width:100%; height:auto; aspect-ratio:auto; min-height:0; transform:none; opacity:1; background:white; color:#000; padding:20px 0; break-inside:avoid; }
  .value-card p,.approach-card-note,.section-intro,.footer-columns p,.footer-columns a { color:#333; }
  .value-visual,.value-card::after { display:none; }
  .product-art { height:200px; }
  .approach-card { background:#eee; }
  .approach-art { width:150px; }
  .questions-layout { display:block; }
  .questions-list details>div { color:#333; }
}
