@font-face {
  font-family: "About Manrope";
  src: url("/assets/fonts/manrope-regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
.about-page {
  --about-header-height: 72px;
  --about-section-gap: 64px;
  --about-major-gap: 96px;
  --about-muted: rgba(0, 0, 0, .55);
  --about-placeholder: #e5e7eb;
  background: #fff;
  overflow-x: clip;
}
.page.about-page { padding-top: 72px; }
.about-page > .site-header {
  background: rgba(255, 255, 255, .95);
  min-height: 72px;
  padding-block: 12px;
}
.about-page .site-header__inner { min-height: 48px; }
@media (min-width: 1920px) {
  .about-page { --about-header-height: 88px; }
  .page.about-page { padding-top: 88px; }
  .about-page > .site-header { min-height: 88px; }
  .about-page .site-header__inner { min-height: 64px; }
}
.about-container { width: min(calc(100% - 40px), 1200px); margin-inline: auto; }
.about-page h1, .about-page h2, .about-page h3, .about-page p { margin: 0; }
.about-placeholder { display: grid; place-items: center; background: var(--about-placeholder); color: #646b76; border-radius: 16px; text-align: center; }
.about-placeholder span { font-size: 12px; padding: 16px; }
.about-hero { position: relative; height: 520px; background: #142131; }
.about-hero__media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: center bottom; }
/* Fade the photo itself into the white page, including the narrow gutters.
   The overlapping content panel remains fully opaque. */
.about-hero::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  height: clamp(80px, 8vw, 160px);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0), #fff);
  pointer-events: none;
}
.about-hero__copy { position: relative; width: min(calc(100% - 40px), 1000px); margin: auto; padding-top: 64px; }
.about-hero h1 { font: 400 44px/1.15 var(--font-display); text-align: center; color: #fff; text-transform: uppercase; }
.about-hero__mobile-break { display: none; }
.about-hero__copy p { font-size: 18px; line-height: 1.5; margin-top: 24px; text-align: center; color: #fff; }
/* Rounded frosted intro fades to solid white before the lower sections. */
.about-page { --about-panel-overlap: clamp(32px, 4.5vw, 116px); }
.about-intro-panel {
  --about-frost-height: clamp(320px, 51.5625vw, 1320px);
  isolation: isolate;
  position: relative;
  width: calc(100% - clamp(16px, 3.90625vw, 100px));
  margin: calc(32px - var(--about-panel-overlap)) auto 0;
  border-radius: clamp(24px, 3.90625vw, 100px) clamp(24px, 3.90625vw, 100px) 0 0;
  background: linear-gradient(180deg, transparent var(--about-frost-height), #fff var(--about-frost-height));
}
.about-intro-panel::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: var(--about-frost-height);
  z-index: -1;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(255, 255, 255, .26), #fff);
  -webkit-backdrop-filter: blur(50px);
  backdrop-filter: blur(50px);
  pointer-events: none;
}
.about-intro-panel .about-container { width: min(calc(100% - 32px), 1200px); }
.about-belief { position: relative; padding-block: 56px 64px; display: grid; gap: 32px; }
.about-belief h2, .about-display { font: 400 28px/1.3 var(--font-display); }
.about-belief__copy > p, .about-story__copy > p { color: var(--about-muted); font-size: 14px; line-height: 1.6; margin-top: 20px; }
.about-belief__copy > p { line-height: 1.75; }
.about-belief__copy { border-bottom: 1px solid #e6e6e6; padding-bottom: 32px; }
.about-values { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; align-items: center; }
.about-value { position: relative; overflow: hidden; min-width: 0; min-height: 260px; border-radius: 12px; background: #253044; color: rgba(255, 255, 255, .95); display: flex; flex-direction: column; justify-content: flex-end; }
.about-value > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.about-value::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 20%, rgba(0, 0, 0, .5)); }
.about-value--comfort { justify-content: flex-start; }
.about-value--comfort::before { background: linear-gradient(180deg, rgba(0, 0, 0, .5), transparent 85%); }
.about-value > div { position: relative; padding: 12px; }
.about-value h3 { font-size: 15px; }
.about-value p { color: rgba(255, 255, 255, .9); font-size: 12px; line-height: 1.5; margin-top: 12px; }
.about-value p::before { content: "“"; display: block; font-size: 22px; line-height: 1; margin-bottom: 8px; }
.about-design > h2 { text-align: center; margin-bottom: 40px; }
.about-story { display: grid; gap: 28px; margin-bottom: var(--about-section-gap); align-items: center; }
.about-story:last-child { margin-bottom: var(--about-major-gap); }
.about-story__media { aspect-ratio: 1009 / 656; }
.about-story > img.about-story__media { width: 100%; height: auto; border-radius: 16px; }
/* Figma: 1009×656 photo with a separate 435×613 lamp at (645, 205).
   Reserve the lamp's 162px overhang so the next section cannot overlap it. */
.about-human-media { aspect-ratio: auto; padding-bottom: 16.06%; align-self: start; }
.about-human-media__scene { position: relative; aspect-ratio: 1009 / 656; }
.about-human-media__photo { width: 100%; height: auto; border-radius: 16px; }
.about-human-media__lamp { position: absolute; top: 31.25%; left: 63.9247%; width: 43.112%; max-width: none; height: auto; }
.about-story__copy { padding-bottom: 32px; border-bottom: 1px solid #e6e6e6; min-width: 0; }
.about-story h3 { font-size: 22px; font-weight: 600; line-height: 1.3; }
.about-awards { padding-bottom: 64px; }
.about-awards > h2 { margin-bottom: 28px; }
.about-awards__layout { display: grid; gap: 20px; align-items: start; }
.about-awards__picture { display: block; min-width: 0; }
.about-awards__image { aspect-ratio: 626 / 656; width: 100%; max-width: 315px; height: auto; border-radius: 16px; }
.about-awards__carousel { min-width: 0; }
.about-awards__track { --about-media-gap: 10px; position: relative; display: flex; gap: var(--about-media-gap); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.about-awards__track::-webkit-scrollbar { display: none; }
.about-media-page { flex: 0 0 100%; min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; scroll-snap-align: start; }
.about-media-card { display: flex; flex-direction: column; justify-content: center; border-radius: 15px; background: #f0f0f0; padding: 24px; min-height: 170px; }
.about-media-card h3 { font-size: 18px; margin-bottom: 10px; }
.about-media-card__logo { display: flex; align-items: center; flex-shrink: 0; height: 50px; }
.about-media-card__logo img { width: var(--about-logo-width); height: var(--about-logo-height); max-width: 100%; object-fit: contain; object-position: left center; }
.about-media-card p { color: rgba(0, 0, 0, .5); font-size: 12px; font-weight: 400; line-height: 1.4; }
.about-media-card:nth-child(n + 3) h3 { margin-bottom: 12px; }
.about-awards__controls { display: flex; justify-content: center; gap: 0; margin-top: 24px; }
.about-awards__controls button { display: grid; place-items: center; background: transparent; border: 0; padding: 0; width: 17px; height: 32px; cursor: pointer; }
.about-awards__controls button::after { content: ""; height: 6px; width: 6px; border-radius: 50%; background: #b4b4b4; }
.about-awards__controls button[aria-pressed="true"]::after { background: #111; }
.about-page button:focus-visible, .about-awards__track:focus-visible { outline: 2px solid #333; outline-offset: 2px; }
.about-reading { background: transparent; padding-block: 48px; }
.about-reading h2 { font-size: 18px; font-weight: 700; text-transform: uppercase; margin-bottom: 24px; scroll-margin-top: 112px; }
.about-reading__grid { display: grid; gap: 32px 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.about-reading__image { aspect-ratio: 16 / 9; border-radius: 8px; margin-bottom: 16px; }
.about-reading__grid h3 { font-size: 16px; line-height: 1.4; margin-block: 8px; }
.about-reading__grid p { font-size: 12px; color: var(--about-muted); }
.about-reading__grid .about-reading__category { color: #0052d1; }
.about-page .site-footer { background: #fff; }
/* Mobile About Us, Figma 1749:1198: copy precedes each story image.
   Keep these overrides below 768px so the desktop composition is unchanged. */
@media (max-width: 767px) {
  .about-page > .site-header--hero-mobile {
    min-height: 72px;
    padding: 16px var(--header-mobile-inset) 12px;
  }
  .about-page .site-header--hero-mobile .site-header__inner { min-height: 44px; }
  .about-page > .site-header--hero-mobile:not([data-open="true"]) {
    background: #fff;
    color: #000;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  .about-page > .site-header--hero-mobile.site-header--hero-mobile-scrolled:not([data-open="true"]) {
    background: rgba(255, 255, 255, .8);
    -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
  }
  .about-page .site-header--hero-mobile .site-logo img { filter: none; }
  .about-page .site-header--hero-mobile:not([data-open="true"]) .mobile-menu-button { filter: invert(1); }
  .about-page > .site-header--hero-mobile[data-open="true"] {
    background: #fff;
    min-height: 100dvh;
    padding-bottom: 0;
  }
  .about-page .site-header--hero-mobile[data-open="true"] .site-nav { background: #fff; }
  .about-page { --about-section-gap: 32px; --about-major-gap: 32px; font-family: "About Manrope", var(--font-heading); }
  .about-container { width: calc(100% - 32px); }
  /* Header bottom 276, photo bottom 1364, panel top 1213 on the
     1125px mobile canvas: 1088px hero and 151px panel overlap. */
  .about-hero { container-type: inline-size; height: auto; aspect-ratio: 1125 / 1088; overflow: hidden; background: #03070b; }
  /* The supplied 1125px square starts 37px behind the design's header. */
  .about-hero__media { inset: -3.400735% 0 auto; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
  .about-hero::after { content: none; }
  .about-hero__copy { width: 85.511111%; margin-left: 6.222222%; padding-top: 9.6%; }
  .about-hero h1 { font: 400 14px/20px "About Manrope", var(--font-sans); margin: 0; text-align: right; text-transform: none; }
  .about-hero__copy p { font: 400 20px/1.3 var(--font-display); text-align: left; text-transform: uppercase; margin-top: 13px; }
  .about-hero__copy .about-hero__mobile-break { display: block; }
  /* Inset the actual frosted panel, exposing the hero on both sides.
     The supplied mobile image already includes its bottom fade. */
  .about-intro-panel { width: calc(100% - 14px); margin: -13.422222% auto 0; border-radius: 20px 20px 0 0; }
  .about-intro-panel .about-container { width: calc(100% - 20px); }
  .about-belief { padding-block: 20px 26px; gap: 26px; border-bottom: 1px solid #e6e6e6; margin-bottom: 32px; }
  .about-belief h2, .about-display { font-size: 18px; line-height: 1.4; }
  .about-belief h2 { text-align: center; }
  /* New 375px frame 1778:8042 specifies CSS-sized type directly. */
  .about-belief__copy { border: 0; padding: 0; }
  .about-belief__copy > p, .about-story__copy > p {
    font-size: 12px;
    line-height: 1.3333;
    color: rgba(0, 0, 0, .7);
    margin-top: 0;
  }
  .about-belief__copy > h2 + p { margin-top: 16px; }
  .about-belief__copy > p + p { margin-top: 16px; }
  .about-values { container-type: inline-size; gap: 2.34375%; align-items: stretch; }
  .about-value { min-height: 146px; aspect-ratio: auto; border-radius: 10px; }
  .about-value > div { position: relative; width: 100%; padding: 8px 7px; }
  .about-value--usability { justify-content: flex-start; }
  .about-value--usability > div { padding-top: 23px; }
  .about-value h3 { font-size: 10.667px; line-height: 1.375; }
  .about-value p { font-size: 10px; line-height: 1.4; margin-top: 4px; }
  .about-value p::before { font-size: 10.765px; line-height: 1; margin-bottom: 0; }
  .about-design > h2 { margin-bottom: 32px; }
  .about-story { gap: 26px; }
  .about-story__copy { order: -1; padding: 0; border: 0; }
  .about-story__copy > h3 + p { margin-top: 10px; }
  .about-story--reverse .about-story__copy > p + p { margin-top: 1.4em; }
  .about-story h3 { font-size: 16px; line-height: 1.375; }
  .about-human-media { width: 94%; }
  .about-story:last-child { padding-bottom: 28px; border-bottom: 1px solid #e6e6e6; }
  .about-awards { padding-bottom: 0; }
  .about-awards > h2 { text-align: center; }
  .about-awards__layout { gap: 12px; }
  .about-awards__image { max-width: none; aspect-ratio: 1008 / 826; height: auto; object-fit: cover; object-position: center; border-radius: 12px; }
  /* Updated reviews are ~177×110px with 12px copy, clamped to three lines. */
  .about-intro-panel .about-awards { width: calc(100% - 2px); }
  .about-awards__carousel { container-type: inline-size; }
  .about-media-page { gap: 10px 4px; }
  .about-media-card { padding: 12px 17px; min-height: 110px; aspect-ratio: auto; border-radius: 7px; }
  .about-media-card h3, .about-media-card:nth-child(n + 3) h3 { margin-bottom: 5px; }
  .about-media-card__logo { height: 24px; }
  .about-media-card__logo img { width: var(--about-logo-mobile-width); height: auto; max-height: 24px; object-fit: contain; }
  .about-media-card p { font-size: 12px; line-height: 16px; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
  .about-awards__controls { margin-top: 0; }
  .about-awards__controls button { width: 32px; min-height: 44px; }
  /* Match the ~5px dots and 11px centre spacing, retaining larger tap areas. */
  .about-awards__controls button::after { width: 4.762px; height: 4.762px; }
  .about-awards__controls button:first-child::after { transform: translateX(10.444px); }
  .about-awards__controls button:last-child::after { transform: translateX(-10.444px); }
  /* These bands extend past the intro panel's 7px gutters to the screen edges. */
  .about-reading { width: calc(100% + 14px); margin-inline: -7px; background: #f8f8f8; border-radius: 13px 13px 0 0; padding-block: 20px; }
  .about-intro-panel .about-reading > .about-container { width: calc(100% - 40px); container-type: inline-size; }
  .about-reading h2 { font-size: 12px; font-weight: 500; text-transform: none; margin-bottom: 16px; }
  .about-reading__grid { display: grid; grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 187px; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .about-reading__grid::-webkit-scrollbar { display: none; }
  .about-reading__grid > article { min-width: 0; scroll-snap-align: start; }
  .about-reading__image { margin-bottom: 10px; }
  .about-reading__grid h3 { font-size: 14px; font-weight: 600; line-height: 1.357; margin-block: 10px; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
  .about-reading__grid p { font-size: 12px; line-height: 16px; }
  .about-reading__grid .about-reading__category { font-size: 10px; line-height: 1.1; font-weight: 600; }
  .about-page .footer-download h2, .about-page .footer-link-group summary, .about-page .footer-signup h2 { font-size: 12px; }
  .about-page .footer-download__item { font-size: 10px; }
  .about-page .site-footer { --footer-gutter: 20px; width: calc(100% + 14px); margin-inline: -7px; background: #f8f8f8; }
}
@media (min-width: 768px) {
  .about-page { --about-major-gap: 128px; }
  /* Coordinates share the 2560px Figma canvas: header 150, photo bottom
     1804, panel top 1571. Keep this composition independent of viewport height. */
  .about-hero { height: auto; aspect-ratio: 2560 / 1654; }
  .about-hero__media { object-fit: cover; object-position: center bottom; }
  .about-hero__copy { position: absolute; inset: 18.14% 0 auto; width: 100%; padding: 0; }
  .about-hero h1 { font: 400 clamp(18px, 2.34375vw, 60px)/1.33 var(--font-sans); text-align: right; margin: 0; }
  .about-hero__copy { left: 23.2421875%; width: 76.7578125%; }
  .about-hero__copy p { font: 400 clamp(24px, 3.125vw, 80px)/1.25 var(--font-display); color: #1c2438; text-transform: uppercase; text-align: left; margin: min(1.1328125vw, 29px) 0 0; }
  .about-hero__copy p span { color: #fff; }
  .about-page { --about-panel-overlap: 9.1015625vw; }
  .about-intro-panel { margin-top: calc(-1 * var(--about-panel-overlap)); }
  .about-belief { grid-template-columns: 38% minmax(0, 1fr); gap: 48px; padding-block: clamp(32px, 3.6vw, 92px) 80px; align-items: start; }
  /* Narrow only the body column; preserve the existing typography. */
  .about-belief__copy > p { max-width: 95.14%; }
  /* The content stops at 1200px; its card offset must stop growing too. */
  .about-values { gap: 12px; margin-top: clamp(84px, 11vw, 132px); }
  .about-value { aspect-ratio: 423 / 571; min-height: 270px; }
  .about-value--privacy > div { margin-top: auto; }
  .about-design > h2 { margin-bottom: 48px; }
  /* Figma's image and copy are deliberately unequal columns. The generous
     central gutter is part of the composition, not leftover text width. */
  .about-intro-panel .about-design { max-width: 1120px; }
  .about-story { grid-template-columns: minmax(0, 45%) minmax(0, 37.3%); column-gap: 13.75%; align-items: start; }
  .about-story__copy { padding-bottom: 40px; }
  .about-story__copy > p { margin-top: 0; line-height: 1.45; }
  .about-story__copy > h3 + p { margin-top: 16px; }
  .about-story--reverse { grid-template-columns: minmax(0, 42.6%) minmax(0, 45%); column-gap: 12.4%; }
  .about-story--reverse .about-story__copy { padding-left: 12px; }
  .about-story--reverse .about-story__copy > p + p { margin-top: 16px; }
  .about-story--reverse .about-story__media { order: 2; }
  .about-story--reverse > img.about-story__media { margin-top: 44px; }
  .about-awards__layout { grid-template-columns: 30% minmax(0, 1fr); gap: 20px; }
  .about-awards > h2 { margin-bottom: 48px; }
  .about-reading h2 { margin-bottom: 40px; }
  .about-reading__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 1280px) {
  .about-container { width: min(calc(100% - 120px), 1200px); }
  .about-intro-panel .about-container { width: min(calc(100% - 64px), 1200px); }
  .about-belief { gap: 56px; }
  .about-belief h2, .about-display { font-size: 34px; }
  .about-value { min-height: 300px; }
  .about-value h3 { font-size: 22px; }
  .about-value p { font-size: 15px; }
  .about-value > div { padding: 20px; }
  .about-media-card { min-height: 160px; padding: 20px 28px; }
}
@media (min-width: 1024px) {
  /* Figma media cards are 693×320. At a 160px row height their intended
     width is ~347px, so cap the composition instead of stretching the cards. */
  .about-intro-panel .about-awards { max-width: 1032px; }
  .about-awards > h2 { margin-left: -24px; }
  /* Match the two 160px review rows plus their 10px gap. The image's
     intrinsic dimensions must not grow the awards composition. */
  .about-awards__layout { grid-template-columns: minmax(0, 315px) minmax(0, 1fr); gap: 12px; }
  .about-awards__image { height: 330px; object-fit: contain; }
  .about-awards__track { min-height: 330px; }
  .about-awards__track { --about-media-gap: 8px; }
  .about-media-page { grid-template-rows: repeat(2, minmax(160px, auto)); gap: 10px 8px; }
  .about-media-card { min-height: 160px; padding: 20px 36px; }
}
/* Content widths stop growing at 1200px. Keep their internal spacing tied
   to that composition as well, rather than the ultrawide viewport. */
.about-hero__lead { width: fit-content; max-width: 100%; }
.about-hero__lead h1 { text-transform: none; }
.about-hero__copy .about-hero__continuation { margin-top: 0; }
