:root {
  --c-primary: #0564a8;
  --c-teal: #33cccc;
  --c-navy: #163247;
  --c-body: #4a6475;
  --c-muted: #5f7a8b;
  --c-navlink: #38586d;
  --c-page: #f4fbfc;
  --c-tint: #eaf8fa;
  --c-tint-soft: #f7fcfd;
  --c-bubble: #e4f6f8;
  --c-bubble-soft: #eff9fb;
  --g-mark: linear-gradient(135deg, #0564a8 0%, #33cccc 100%);
  --g-bubble: linear-gradient(135deg, #33cccc 0%, #0564a8 100%);
  --g-visual: linear-gradient(145deg, #ffffff 0%, #ddf5f8 100%);
  --g-channels: linear-gradient(145deg, #0564a8 0%, #0295c3 100%);
  --g-art-a: linear-gradient(135deg, #eaf8fa 0%, #ffffff 100%);
  --g-art-b: linear-gradient(135deg, #f5fcfd 0%, #ddf5f8 100%);
  --sh-nav: 0 14px 36px rgba(5, 100, 168, 0.08);
  --sh-visual: 0 24px 70px rgba(5, 100, 168, 0.16);
  --sh-panel: 0 18px 50px rgba(5, 100, 168, 0.1);
  --f-display: "Anuphan", "Sarabun", sans-serif;
  --f-body: "Sarabun", sans-serif;
  --page-max: 1120px;
  --radius-section: 36px; }

@font-face {
  font-family: "Anuphan";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/gfonts/anuphan-600.woff2") format("woff2"); }

@font-face {
  font-family: "Anuphan";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/gfonts/anuphan-700.woff2") format("woff2"); }

@font-face {
  font-family: "Sarabun";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/gfonts/sarabun-400.woff2") format("woff2"); }

@font-face {
  font-family: "Sarabun";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/gfonts/sarabun-500.woff2") format("woff2"); }

@font-face {
  font-family: "Sarabun";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/gfonts/sarabun-600.woff2") format("woff2"); }

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

html {
  scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--c-page);
  color: var(--c-body);
  font-family: var(--f-body);
  font-size: 18px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased; }

h1,
h2,
h3,
p {
  margin: 0;
  font-feature-settings: "blwf", "cv03", "cv04", "cv09", "cv11"; }

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

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

.page {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 100vh; }

.shell {
  width: 100%;
  max-width: var(--page-max); }

.kicker {
  white-space: nowrap;
  font-family: var(--f-display);
  font-weight: 600;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--c-primary); }

.section-title {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: 38px;
  line-height: 1.16;
  letter-spacing: -0.025em;
  color: var(--c-navy); }

.card-title {
  font-family: var(--f-display);
  font-weight: 600;
  font-size: 22px;
  line-height: 1.25;
  letter-spacing: -0.01em;
  color: var(--c-navy); }

.icon {
  flex-shrink: 0; }
  .icon svg {
    width: 100%;
    height: 100%; }

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 999px;
  font-family: var(--f-display);
  font-weight: 600;
  font-size: 16px;
  line-height: 1; }
  .btn .icon {
    width: 16px;
    height: 16px; }

.btn--primary {
  background: var(--c-primary);
  color: #fff;
  padding: 15px 22px; }

.btn--ghost {
  background: #fff;
  color: var(--c-primary);
  padding: 15px 20px; }
  .btn--ghost .icon {
    width: 17px;
    height: 17px; }

.btn--tint {
  gap: 8px;
  background: var(--c-tint);
  color: var(--c-primary);
  border-radius: 18px;
  padding: 14px 16px;
  align-self: stretch; }

.btn--card {
  gap: 8px;
  background: #fff;
  color: var(--c-primary);
  border-radius: 18px;
  padding: 14px 16px;
  align-self: stretch; }

.btn--pill-white {
  gap: 8px;
  background: #fff;
  color: var(--c-primary);
  font-size: 15px;
  padding: 14px 18px; }

.site-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 22px 44px;
  background: rgba(255, 255, 255, 0.78);
  border-radius: 0 0 28px 28px;
  box-shadow: var(--sh-nav); }

.brand {
  display: flex;
  align-items: center;
  gap: 12px; }

.brand__logo {
  display: block;
  width: auto;
  height: 60px;
  object-fit: contain; }

.site-nav {
  display: flex;
  align-items: center;
  gap: 28px;
  font-weight: 500;
  font-size: 15px;
  line-height: 1.35;
  color: var(--c-navlink); }

.site-header__actions {
  display: flex;
  align-items: center;
  gap: 12px; }

.lang-switch {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 3px;
  border-radius: 999px;
  background: var(--c-tint); }

.lang-switch__item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 12px;
  border-radius: 999px;
  font-family: var(--f-display);
  font-weight: 600;
  font-size: 13px;
  line-height: 1;
  color: var(--c-navlink); }

.lang-switch__item--active {
  background: #fff;
  color: var(--c-primary);
  box-shadow: 0 1px 4px rgba(5, 100, 168, 0.14); }

.line-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 18px;
  border-radius: 999px;
  background: var(--c-primary);
  color: #fff;
  font-family: var(--f-display);
  font-weight: 600;
  font-size: 14px;
  line-height: 1; }
  .line-cta .icon {
    width: 17px;
    height: 17px; }

.site-footer {
  display: flex;
  flex-direction: column;
  gap: 28px;
  width: 100%;
  margin-top: auto;
  padding: 46px 44px;
  background: var(--c-navy);
  border-radius: var(--radius-section) var(--radius-section) 0 0;
  color: #fff; }

.site-footer__top {
  display: flex;
  align-items: center;
  justify-content: space-between; }

.site-footer__brand {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  max-width: 420px; }

.site-footer__logo {
  display: block;
  flex: none;
  width: auto;
  height: 44px;
  object-fit: contain; }

.site-footer__descriptor {
  font-size: 16px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.7); }

.site-footer__links {
  display: flex;
  align-items: center;
  gap: 22px;
  font-weight: 500;
  font-size: 15px;
  line-height: 1.35;
  color: rgba(255, 255, 255, 0.78); }

.site-footer__bottom {
  display: flex;
  align-items: center;
  gap: 24px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.12); }

.site-footer__copyright {
  flex: 1;
  font-size: 14px;
  line-height: 1.2;
  color: rgba(255, 255, 255, 0.58); }

.site-footer__line {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  font-family: var(--f-display);
  font-weight: 600;
  font-size: 14px;
  line-height: 1; }
  .site-footer__line .icon {
    width: 16px;
    height: 16px; }

.opening {
  display: flex;
  align-items: center;
  gap: 48px;
  padding: 72px 44px 88px; }

.opening__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 26px;
  flex: 1; }

.opening__kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 13px;
  border-radius: 999px;
  background: #fff; }
  .opening__kicker .icon {
    width: 18px;
    height: 18px;
    color: var(--c-teal); }

.opening__title,
.opening__body,
.families__header h2,
.families__header p {
  text-wrap: balance; }

.opening__title {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: 46px;
  line-height: 1.16;
  letter-spacing: -0.035em;
  color: var(--c-navy); }

.opening__actions {
  display: flex;
  align-items: center;
  gap: 14px; }

.hero-visual {
  display: flex;
  flex-direction: column;
  gap: 18px;
  width: 430px;
  flex-shrink: 0;
  padding: 24px;
  border-radius: 34px;
  background: var(--g-visual);
  box-shadow: var(--sh-visual); }

.care-card {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 18px;
  border-radius: 24px;
  background: #fefeff; }

.care-card__bubble {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 76px;
  height: 76px;
  flex-shrink: 0;
  border-radius: 26px;
  background: var(--g-bubble);
  color: #fff; }
  .care-card__bubble .icon {
    width: 34px;
    height: 34px; }
  .care-card__bubble.care-card__bubble--photo {
    background: none; }
    .care-card__bubble.care-card__bubble--photo img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: contain; }

.care-card__copy {
  display: flex;
  flex-direction: column;
  gap: 5px; }

.snapshot-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px; }

.snapshot {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  padding: 18px;
  border-radius: 22px;
  background: #fefeff; }
  .snapshot .icon {
    width: 28px;
    height: 28px;
    color: var(--c-primary); }
  .snapshot .snapshot__img {
    display: block;
    width: 60px;
    height: 60px;
    object-fit: contain; }

.snapshot__label {
  font-weight: 600;
  font-size: 16px;
  line-height: 1.25;
  color: var(--c-navy); }

.families {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 36px;
  padding: 84px 44px;
  border-radius: var(--radius-section);
  background: #fff; }

.families__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  max-width: 760px;
  text-align: center; }

.families__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  width: 100%; }

.family-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  padding: 22px;
  border-radius: 28px;
  background: var(--c-tint-soft); }

.family-card__bubble {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 18px;
  background: var(--c-bubble);
  color: var(--c-primary); }
  .family-card__bubble .icon {
    width: 26px;
    height: 26px; }
  .family-card__bubble.family-card__bubble--photo {
    align-self: center;
    width: 76px;
    height: 76px;
    border-radius: 999px;
    background: #f8fafc; }
    .family-card__bubble.family-card__bubble--photo img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: contain;
      border-radius: 999px; }

.family-card__copy {
  display: flex;
  flex-direction: column;
  gap: 8px; }

.family-card__more {
  font-family: var(--f-display);
  font-weight: 600;
  font-size: 15px;
  line-height: 1.2;
  color: var(--c-primary); }

.story {
  display: flex;
  align-items: flex-start;
  gap: 28px;
  padding: 88px 44px; }

.story__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 22px;
  flex: 1;
  padding: 42px;
  border-radius: 34px;
  background: var(--c-primary);
  color: #fff; }

.story__label {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0.08em;
  color: #bfeff4; }

.story__title {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: 36px;
  line-height: 1.2;
  letter-spacing: -0.025em; }

.story__body {
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.82); }

.story__highlights {
  display: flex;
  align-items: center;
  gap: 14px;
  align-self: stretch; }

.highlight {
  display: flex;
  align-items: center;
  gap: 16px;
  flex: 1;
  padding: 20px 22px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15); }

.highlight__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 68px;
  height: 68px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  border: 2px solid rgba(255, 255, 255, 0.3); }
  .highlight__icon img {
    display: block;
    width: 40px;
    height: 40px;
    object-fit: contain; }

.highlight__copy {
  display: flex;
  flex-direction: column;
  gap: 4px; }

.highlight__title {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: 18px;
  line-height: 1.3;
  color: #fff; }

.highlight__body {
  font-size: 14px;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.65); }

.trust {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  width: 380px;
  flex-shrink: 0;
  padding: 28px;
  border-radius: 34px;
  background: #fff;
  box-shadow: var(--sh-panel); }

.trust__list {
  display: flex;
  flex-direction: column;
  gap: 14px; }

.trust__item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 16px;
  line-height: 1.45; }
  .trust__item .icon {
    width: 22px;
    height: 22px;
    color: var(--c-teal); }

.recommended {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 34px;
  padding: 84px 44px;
  border-radius: var(--radius-section);
  background: var(--c-tint); }

.recommended__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  width: 100%; }

.recommended__titles {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  max-width: 650px; }

.recommended__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  width: 100%; }

.product-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  padding: 20px;
  border-radius: 26px;
  background: #fff; }

.product-card__art {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 128px;
  border-radius: 22px;
  background: var(--g-art-a);
  color: var(--c-primary); }
  .product-card__art .icon {
    width: 44px;
    height: 44px; }

.product-card--alt .product-card__art {
  background: var(--g-art-b);
  color: var(--c-teal); }

.product-card__body {
  font-size: 16px;
  line-height: 1.45; }

.recommended__spacer {
  width: 100%;
  height: 560px; }

.channels {
  display: flex;
  align-items: flex-start;
  gap: 28px;
  padding: 84px 44px;
  background: #fff; }

.channels__online {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 26px;
  flex: 1;
  padding: 40px;
  border-radius: 34px;
  background: var(--g-channels);
  color: #fff; }

.channels__label {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0.08em;
  color: #c9f5f7; }

.channels__title {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: 34px;
  line-height: 1.2;
  letter-spacing: -0.02em; }

.channels__body {
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.82); }

.channels__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  align-self: stretch; }

.channel {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 15px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.14);
  font-family: var(--f-display);
  font-weight: 600;
  font-size: 15px;
  line-height: 1; }
  .channel .icon {
    width: 20px;
    height: 20px; }

.locator {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 22px;
  width: 360px;
  flex-shrink: 0;
  padding: 32px;
  border-radius: 34px;
  background: var(--c-tint-soft); }

.locator__bubble {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 22px;
  background: var(--c-bubble);
  color: var(--c-primary); }
  .locator__bubble .icon {
    width: 30px;
    height: 30px; }

.icon--primary {
  color: var(--c-primary); }

.icon--teal {
  color: var(--c-teal); }

.about-opening {
  display: flex;
  align-items: center;
  gap: 44px;
  padding: 82px 44px 72px; }

.about-opening__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  flex: 1; }

.about-opening__body {
  text-wrap: balance; }

.proof-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  width: 410px;
  flex-shrink: 0;
  padding: 28px;
  border-radius: 34px;
  background: var(--g-visual);
  box-shadow: 0 24px 70px rgba(5, 100, 168, 0.14); }

.proof-card__mark {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 76px;
  height: 76px;
  border-radius: 26px;
  background: var(--g-mark);
  color: #fff; }
  .proof-card__mark .icon {
    width: 34px;
    height: 34px; }

.proof-card__row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  align-self: stretch; }

.proof-tile {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 14px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.68); }

.proof-tile__big {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: 28px;
  line-height: 1; }

.proof-tile__big--primary {
  color: var(--c-primary); }

.proof-tile__big--teal {
  color: var(--c-teal); }

.proof-tile__small {
  font-size: 14px;
  line-height: 1.3; }

.origin {
  display: flex;
  align-items: flex-start;
  gap: 28px;
  padding: 84px 44px;
  border-radius: var(--radius-section);
  background: #fff; }

.origin__narrative {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  flex: 1; }
  .origin__narrative h2 {
    text-wrap: balance; }

.origin__highlight {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  align-self: stretch;
  padding: 20px;
  border-radius: 24px;
  background: var(--c-tint); }
  .origin__highlight .icon {
    width: 28px;
    height: 28px;
    color: var(--c-primary); }
  .origin__highlight p {
    font-weight: 500;
    font-size: 17px;
    line-height: 1.55;
    color: var(--c-navlink); }

.testing {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  width: 380px;
  flex-shrink: 0;
  padding: 28px;
  border-radius: 34px;
  background: var(--c-tint-soft);
  box-shadow: 0 18px 50px rgba(5, 100, 168, 0.08); }

.testing__list {
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-self: stretch; }

.testing__item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 16px;
  border-radius: 18px;
  background: #fff; }
  .testing__item .icon {
    width: 23px;
    height: 23px; }
  .testing__item p {
    font-size: 15px;
    line-height: 1.45; }

.categories {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 34px;
  padding: 84px 44px;
  border-radius: var(--radius-section);
  background: var(--c-tint); }

.categories__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  max-width: 760px;
  text-align: center; }
  .categories__header h2,
  .categories__header p {
    text-wrap: balance; }

.categories__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  width: 100%; }

.category-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  padding: 26px;
  border-radius: 28px;
  background: #fff; }
  .category-card > .icon {
    width: 34px;
    height: 34px; }
  .category-card p {
    font-size: 16px;
    line-height: 1.5; }

.flagship {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 26px;
  padding: 84px 44px; }

.story-card {
  display: flex;
  align-items: center;
  gap: 28px;
  width: 100%;
  padding: 32px;
  border-radius: 34px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(5, 100, 168, 0.08); }

.story-card__art {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 330px;
  height: 280px;
  flex-shrink: 0;
  padding: 28px;
  border-radius: 28px;
  background: linear-gradient(145deg, #eaf8fa 0%, #ffffff 100%);
  color: var(--c-primary); }
  .story-card__art > .icon {
    width: 58px;
    height: 58px; }

.story-card__caption {
  max-width: 274px;
  font-family: var(--f-display);
  font-weight: 600;
  font-size: 18px;
  line-height: 1.3;
  text-align: center;
  text-wrap: balance;
  color: var(--c-navlink); }

.story-card__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  flex: 1; }
  .story-card__copy h2 {
    text-wrap: balance; }

.story-card__title-inverse {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: 36px;
  line-height: 1.2;
  letter-spacing: -0.025em;
  text-wrap: balance;
  color: #fff; }

.btn--pill-tint {
  gap: 8px;
  background: var(--c-tint);
  color: var(--c-primary);
  font-size: 15px;
  padding: 14px 18px; }

.story-card__stat {
  display: flex;
  align-items: center;
  gap: 14px;
  align-self: stretch;
  padding: 16px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.12); }

.story-card__stat-big {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: 34px;
  line-height: 1;
  white-space: nowrap;
  color: #fff; }

.story-card__stat-text {
  font-size: 15px;
  line-height: 1.35;
  color: rgba(255, 255, 255, 0.76); }

.story-card--blue {
  background: var(--c-primary);
  box-shadow: 0 18px 50px rgba(5, 100, 168, 0.12); }
  .story-card--blue .story-card__number {
    font-weight: 700;
    color: #bfeff4; }
  .story-card--blue .story-card__body {
    color: rgba(255, 255, 255, 0.82); }
  .story-card--blue .story-card__art {
    background: rgba(255, 255, 255, 0.12);
    color: #fff; }
  .story-card--blue .story-card__caption {
    color: #fff; }

.about-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 72px 44px;
  border-radius: var(--radius-section);
  background: #fff; }

.about-cta__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  max-width: 640px; }
  .about-cta__copy h2 {
    text-wrap: balance; }

.about-cta__actions {
  display: flex;
  align-items: center;
  gap: 12px; }

.btn--compact {
  font-size: 15px;
  padding: 15px 20px; }

.btn--line {
  padding: 15px 18px; }
  .btn--line .icon {
    width: 16px;
    height: 16px; }

.dealer-opening {
  display: flex;
  align-items: center;
  gap: 44px;
  padding: 82px 44px 72px; }

.dealer-opening__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  flex: 1; }

.dealer-opening__body {
  text-wrap: balance; }

.guide {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 34px;
  padding: 76px 44px;
  border-radius: var(--radius-section);
  background: #fff; }

.guide__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  max-width: 740px;
  text-align: center; }
  .guide__header h2,
  .guide__header p {
    text-wrap: balance; }

.guide__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  width: 100%; }

.guide-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  padding: 26px;
  border-radius: 28px;
  background: var(--c-tint-soft); }
  .guide-card > .icon {
    width: 34px;
    height: 34px; }
  .guide-card p {
    font-size: 16px;
    line-height: 1.5; }

.areas {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  padding: 76px 44px;
  border-radius: var(--radius-section);
  background: var(--c-tint); }

.areas__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  max-width: 800px;
  text-align: center; }
  .areas__header h2 {
    text-wrap: balance; }

.areas__chips {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  width: 100%; }

.area-chip {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 999px;
  background: #fff; }
  .area-chip .icon {
    width: 18px;
    height: 18px; }
  .area-chip p {
    font-weight: 500;
    font-size: 15px;
    line-height: 1.2;
    color: var(--c-navlink); }

.dealers {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 34px;
  padding: 84px 44px;
  border-radius: var(--radius-section);
  background: #fff; }

.dealers__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  max-width: 780px;
  text-align: center; }
  .dealers__header h2,
  .dealers__header p {
    text-wrap: balance; }

.dealers__group {
  display: flex;
  flex-direction: column;
  gap: 18px;
  width: 100%;
  scroll-margin-top: 28px; }
  .dealers__group + .dealers__group {
    margin-top: 10px; }

.dealers__area {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--c-tint); }
  .dealers__area .icon {
    width: 22px;
    height: 22px; }

.dealers__area-title {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: 22px;
  line-height: 1.25;
  color: var(--c-navy); }

.dealers__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: 1fr;
  gap: 18px;
  width: 100%; }

.dealer-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  padding: 24px;
  border-radius: 26px;
  background: var(--c-tint-soft); }
  .dealer-card .dealer-card__head > .icon {
    width: 26px;
    height: 26px;
    flex-shrink: 0; }

.dealer-card--white {
  background: #fff; }
  .dealer-card--white .dealer-card__map {
    background: var(--c-tint-soft); }

.dealer-card__head {
  display: flex;
  align-items: flex-start;
  gap: 12px; }

.dealer-card__names {
  display: flex;
  flex-direction: column;
  gap: 4px; }

.dealer-card__area {
  font-weight: 600;
  font-size: 15px;
  line-height: 1.25;
  color: var(--c-primary); }

.dealer-card__lines {
  font-size: 15px;
  line-height: 1.45; }

.dealer-card__map {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 13px;
  border-radius: 999px;
  background: #fff;
  font-family: var(--f-display);
  font-weight: 600;
  font-size: 14px;
  line-height: 1;
  color: var(--c-primary); }

.provinces {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 34px;
  padding: 84px 44px;
  border-radius: var(--radius-section);
  background: var(--c-tint); }

.provinces__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  max-width: 760px;
  text-align: center; }
  .provinces__header h2,
  .provinces__header p {
    text-wrap: balance; }

.order {
  display: flex;
  align-items: center;
  gap: 28px;
  padding: 84px 44px;
  border-radius: var(--radius-section);
  background: #fff; }

.order__main {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 22px;
  flex: 1;
  padding: 34px;
  border-radius: 34px;
  background: linear-gradient(135deg, #0564a8 0%, #00a8c6 100%);
  color: #fff; }

.order__label {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0.08em;
  color: #bfeff4; }

.order__title {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: 36px;
  line-height: 1.2;
  letter-spacing: -0.025em;
  text-wrap: balance; }

.order__body {
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.82); }

.order__channels {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  align-self: stretch; }

.order-channel {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.14);
  font-family: var(--f-display);
  font-weight: 600;
  font-size: 16px;
  line-height: 1; }
  .order-channel .icon {
    width: 18px;
    height: 18px; }

.support {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 18px;
  width: 350px;
  flex-shrink: 0;
  padding: 34px;
  border-radius: 34px;
  background: var(--c-tint-soft); }

.support__icon {
  width: 38px;
  height: 38px; }

.btn--support {
  gap: 8px;
  font-size: 15px;
  padding: 14px 18px; }
  .btn--support .icon {
    width: 16px;
    height: 16px; }

.areas__chips--faq {
  grid-template-columns: repeat(3, 1fr); }

.faq-shortcuts {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-self: stretch; }

.faq-shortcut {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 18px;
  background: #fff; }
  .faq-shortcut > .icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0; }
  .faq-shortcut p {
    flex: 1;
    font-family: var(--f-display);
    font-weight: 600;
    font-size: 15px;
    line-height: 1.3;
    color: var(--c-navy); }

.faq-shortcut__caret {
  width: 14px;
  height: 14px; }

.faq-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 34px;
  padding: 84px 44px;
  border-radius: var(--radius-section);
  scroll-margin-top: 28px; }

.faq-section--white {
  background: #fff; }

.faq-section--tint {
  background: var(--c-tint); }

.faq-section__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  max-width: 760px;
  text-align: center; }
  .faq-section__header h2,
  .faq-section__header p {
    text-wrap: balance; }

.faq-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
  max-width: 980px; }

.faq-item {
  border-radius: 22px;
  background: var(--c-tint-soft); }
  .faq-section--tint .faq-item {
    background: #fff; }

.faq-item__question {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 24px;
  cursor: pointer;
  list-style: none; }
  .faq-item__question::-webkit-details-marker {
    display: none; }

.faq-item__q {
  flex: 1;
  font-family: var(--f-display);
  font-weight: 600;
  font-size: 18px;
  line-height: 1.4;
  color: var(--c-navy); }

.faq-item__chevron {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  transition: transform 0.2s ease; }

.faq-item[open] .faq-item__chevron {
  transform: rotate(90deg); }

.faq-item__answer {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 0 24px 22px; }
  .faq-item__answer p {
    font-size: 16px;
    line-height: 1.65; }

.faq-cta {
  display: flex;
  align-items: center;
  gap: 18px;
  width: 100%;
  max-width: 980px;
  padding: 26px 30px;
  border-radius: 26px;
  background: linear-gradient(135deg, #0564a8 0%, #00a8c6 100%);
  color: #fff; }

.faq-cta__text {
  flex: 1;
  font-family: var(--f-display);
  font-weight: 600;
  font-size: 18px;
  line-height: 1.4;
  text-wrap: balance; }

.faq-links {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  width: 100%; }
  .faq-links .btn {
    background: var(--c-tint);
    color: var(--c-primary);
    padding: 15px 20px; }

.support--wide {
  width: 100%;
  align-items: center;
  text-align: center; }

.products-page {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 84px;
  padding: 72px 0 84px; }

.kicker--teal {
  color: var(--c-teal); }

.card-title--primary,
.section-title--primary {
  color: var(--c-primary); }

.btn--small {
  font-size: 15px;
  padding: 12px 18px; }

.btn--soft {
  background: var(--c-tint-soft);
  color: var(--c-primary); }

.catalog-opening {
  display: flex;
  align-items: center;
  gap: 44px;
  width: 100%;
  padding: 44px;
  border-radius: 34px;
  background: var(--g-visual);
  box-shadow: 0 14px 36px rgba(5, 100, 168, 0.1); }

.catalog-opening__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  flex: 1; }

.catalog-opening__title {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: 56px;
  line-height: 1.05;
  letter-spacing: -0.03em;
  text-wrap: balance;
  color: var(--c-primary); }

.catalog-opening__body {
  line-height: 1.55;
  text-wrap: balance; }

.catalog-opening__chips {
  display: flex;
  align-items: center;
  gap: 12px; }

.family-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 14px;
  border-radius: 999px;
  background: #fff;
  font-family: var(--f-display);
  font-weight: 600;
  font-size: 14px;
  line-height: 1;
  color: var(--c-primary); }

.catalog-summary {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  width: 360px;
  flex-shrink: 0;
  padding: 28px;
  border-radius: 26px;
  background: #fff; }
  .catalog-summary p {
    line-height: 1.55; }

.catalog {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 28px;
  width: 100%; }

.catalog__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  max-width: 760px;
  text-align: center; }
  .catalog__header h2,
  .catalog__header p {
    text-wrap: balance; }
  .catalog__header p {
    line-height: 1.55; }

.catalog__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  width: 100%; }

.catalog-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  padding: 18px;
  border-radius: 26px;
  background: #fff; }

.catalog-card__image {
  display: block;
  width: 100%;
  height: 260px;
  border-radius: 20px;
  overflow: hidden; }
  .catalog-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

.catalog-card__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px; }
  .catalog-card__copy p {
    line-height: 1.55; }

.catalog-card__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--c-tint-soft);
  font-family: var(--f-display);
  font-weight: 600;
  font-size: 12px;
  line-height: 1;
  color: var(--c-teal); }

.buy-channels {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 28px;
  width: 100%;
  padding: 44px;
  border-radius: 34px;
  background: var(--c-primary); }

.buy-channels__title {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: 38px;
  line-height: 1.16;
  letter-spacing: -0.025em;
  text-align: center;
  text-wrap: balance;
  color: #fff; }

.buy-channels__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  align-self: stretch; }

.buy-channel {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 22px;
  border-radius: 24px;
  background: #fff;
  text-align: center; }

.buy-channel__title {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: 18px;
  line-height: 1.2;
  color: var(--c-primary); }

.buy-channel__sub {
  font-weight: 500;
  font-size: 15px;
  line-height: 1.35; }

.product-help {
  display: flex;
  align-items: center;
  gap: 18px;
  width: 100%;
  padding: 34px;
  border-radius: 34px;
  background: #fff; }

.product-help__title {
  flex: 1; }

.product-help__actions {
  display: flex;
  align-items: center;
  gap: 12px; }

.product-detail {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 84px;
  padding: 72px 0 84px; }
  .product-detail p {
    line-height: 1.55; }

.pd-hero {
  display: flex;
  align-items: center;
  gap: 44px;
  width: 100%;
  padding: 44px;
  border-radius: 34px;
  background: var(--g-visual);
  box-shadow: 0 14px 36px rgba(5, 100, 168, 0.1); }

.pd-hero__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  flex: 1; }

.pd-hero__body {
  text-wrap: balance; }

.pd-hero__actions {
  display: flex;
  align-items: center;
  gap: 12px; }

.btn--white {
  background: #fff; }

.pd-hero__image {
  display: block;
  width: 460px;
  height: 360px;
  flex-shrink: 0;
  border-radius: 28px;
  overflow: hidden; }
  .pd-hero__image img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

.pd-tech {
  display: flex;
  align-items: flex-start;
  gap: 28px;
  width: 100%; }

.pd-tech__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  flex: 1;
  padding: 34px;
  border-radius: 34px;
  background: #fff; }
  .pd-tech__copy h2 {
    text-wrap: balance; }

.pd-tech__stats {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 360px;
  flex-shrink: 0; }

.pd-stat {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 22px;
  border-radius: 26px; }

.pd-stat--soft {
  background: var(--c-tint-soft); }

.pd-stat--white {
  background: #fff; }

.pd-stat--primary {
  background: var(--c-primary);
  color: #fff; }
  .pd-stat--primary .pd-stat__big {
    color: #fff; }

p.pd-stat__big {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: 34px;
  line-height: 1;
  color: var(--c-primary); }

.pd-benefits {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 28px;
  width: 100%;
  padding: 44px;
  border-radius: 34px;
  background: #fff; }

.pd-benefits__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  max-width: 760px;
  text-align: center; }
  .pd-benefits__header h2,
  .pd-benefits__header p {
    text-wrap: balance; }

.pd-benefits__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: 1fr;
  gap: 14px;
  width: 1032px;
  max-width: 100%; }

.pd-benefit {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 18px;
  border-radius: 22px;
  background: var(--c-tint-soft); }
  .pd-benefit .icon {
    width: 22px;
    height: 22px; }

.pd-benefit--wide {
  grid-column: 1 / -1; }

.pd-range {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 28px;
  width: 100%; }

.pd-range__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  max-width: 760px;
  text-align: center; }
  .pd-range__header h2 {
    text-wrap: balance; }

.pd-range__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  width: 100%; }

.pd-range-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  padding: 20px;
  border-radius: 26px;
  background: #fff; }

.pd-range-card__image {
  display: block;
  width: 100%;
  height: 210px;
  border-radius: 20px;
  overflow: hidden; }
  .pd-range-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

.pd-proof {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 28px;
  width: 100%;
  padding: 44px;
  border-radius: 34px;
  background: #fff; }

.pd-proof__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  max-width: 820px;
  text-align: center; }
  .pd-proof__header h2,
  .pd-proof__header p {
    text-wrap: balance; }

.pd-proof__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  width: 1032px;
  max-width: 100%; }

.pd-proof__image {
  display: block;
  height: 260px;
  border-radius: 22px;
  overflow: hidden; }
  .pd-proof__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 0; }

.pd-cta {
  display: flex;
  align-items: center;
  gap: 24px;
  width: 100%;
  padding: 34px;
  border-radius: 34px;
  background: var(--c-primary);
  color: #fff; }

.pd-cta__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  flex: 1; }

.pd-cta__title {
  font-family: var(--f-display);
  font-weight: 600;
  font-size: 22px;
  line-height: 1.25;
  letter-spacing: -0.01em; }

.pd-cta__actions {
  display: flex;
  align-items: center;
  gap: 12px; }

.pd-cta__btn-white {
  background: #fff;
  color: var(--c-primary); }

.pd-cta__btn-ghost {
  background: rgba(255, 255, 255, 0.14);
  color: #fff; }

.eye-page {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 84px;
  padding: 72px 0 84px;
  color: #42566a;
  --c-cyan: #1db8cd; }

.icon--cyan {
  color: var(--c-cyan); }

.ec-h2 {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: 38px;
  line-height: 1.15;
  letter-spacing: -0.02em;
  text-align: center;
  text-wrap: balance;
  color: var(--c-navy); }

.ec-opening {
  display: flex;
  align-items: center;
  gap: 40px;
  width: 100%;
  padding: 64px 44px;
  border-radius: 36px;
  background: #fff; }

.ec-opening__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  flex: 1; }

.ec-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 14px;
  border-radius: 999px;
  background: var(--c-tint);
  font-family: var(--f-display);
  font-weight: 700;
  font-size: 14px;
  line-height: 1.2;
  white-space: nowrap;
  color: var(--c-primary); }
  .ec-label .icon {
    width: 18px;
    height: 18px; }

.ec-opening__title {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: 56px;
  line-height: 1.05;
  letter-spacing: -0.03em;
  text-wrap: balance;
  color: var(--c-navy); }

.ec-opening__body {
  font-size: 20px;
  line-height: 1.65;
  text-wrap: balance; }

.ec-opening__actions {
  display: flex;
  align-items: center;
  gap: 12px; }

.ec-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 13px 18px;
  border-radius: 999px;
  background: var(--c-primary);
  color: #fff;
  font-family: var(--f-display);
  font-weight: 700;
  font-size: 15px;
  line-height: 1; }
  .ec-btn-primary .icon {
    width: 16px;
    height: 16px; }

.ec-btn-tint {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 18px;
  border-radius: 999px;
  background: var(--c-tint);
  color: var(--c-primary);
  font-family: var(--f-display);
  font-weight: 700;
  font-size: 15px;
  line-height: 1; }

.ec-media {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  width: 470px;
  flex-shrink: 0; }

.ec-media__banner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  height: 180px;
  border-radius: 28px;
  background: linear-gradient(135deg, #eaf8fa 0%, #ffffff 55%, #d8f0f4 100%);
  box-shadow: 0 18px 45px rgba(5, 100, 168, 0.12); }
  .ec-media__banner > .icon {
    width: 42px;
    height: 42px; }
  .ec-media__banner p {
    font-family: var(--f-display);
    font-weight: 700;
    font-size: 24px;
    line-height: 1.2;
    white-space: nowrap;
    color: var(--c-primary); }

.ec-media__product {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  height: 300px;
  border-radius: 28px;
  background: linear-gradient(135deg, #f7efea 0%, #ffffff 60%, #eaf8fa 100%); }
  .ec-media__product > .icon {
    width: 84px;
    height: 84px; }
  .ec-media__product p {
    font-family: var(--f-display);
    font-weight: 700;
    font-size: 28px;
    line-height: 1.2;
    white-space: nowrap;
    color: var(--c-navy); }

.ec-highlights {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  width: 100%;
  padding: 64px 44px;
  border-radius: 36px;
  background: var(--c-tint); }

.ec-highlights__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: 1fr;
  gap: 18px;
  width: 100%; }

.ec-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  padding: 22px;
  border-radius: 28px;
  background: #fff; }
  .ec-card > .icon {
    width: 28px;
    height: 28px; }
  .ec-card p {
    font-size: 16px;
    line-height: 1.55; }

.ec-card__title {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: 20px;
  line-height: 1.25;
  color: var(--c-navy); }

.ec-gallery {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 26px;
  width: 100%;
  padding: 64px 44px;
  border-radius: 36px;
  background: #fff; }

.ec-h2--gallery {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: 36px;
  line-height: 1.15;
  letter-spacing: normal;
  text-align: center;
  text-wrap: balance;
  color: var(--c-navy); }

.ec-gallery__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  width: 100%; }

.ec-tile {
  height: 240px;
  border-radius: 26px; }

.ec-contact {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  width: 100%;
  padding: 64px 44px;
  border-radius: 36px;
  background: var(--c-tint); }

.ec-contact__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  flex: 1; }

.ec-h2--contact {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: 36px;
  line-height: 1.15;
  text-wrap: balance;
  color: var(--c-primary); }

.ec-contact__copy > p {
  font-size: 18px;
  line-height: 1.65;
  text-wrap: balance; }

.ec-contact__links {
  display: flex;
  align-items: center;
  gap: 12px; }

.ec-contact__images {
  display: flex;
  align-items: center;
  gap: 14px; }

.ec-support-box {
  display: block;
  width: 150px;
  height: 150px;
  border-radius: 24px;
  background: #fff; }

.ec-related {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 410px;
  flex-shrink: 0; }

.ec-related__item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px;
  border-radius: 24px;
  background: #fff; }
  .ec-related__item .icon {
    width: 22px;
    height: 22px; }
  .ec-related__item p {
    font-family: var(--f-display);
    font-weight: 700;
    font-size: 17px;
    line-height: 1.35;
    color: var(--c-navy); }

.kd-opening {
  display: flex;
  align-items: center;
  gap: 44px;
  width: 100%;
  padding: 64px 44px;
  border-radius: 36px;
  background: #fff; }

.kd-title {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: 46px;
  line-height: 1.12;
  letter-spacing: -0.03em;
  text-wrap: balance;
  color: var(--c-navy); }

.kd-cover {
  display: block;
  width: 460px;
  height: 300px;
  flex-shrink: 0;
  border-radius: 30px;
  overflow: hidden;
  box-shadow: 0 18px 45px rgba(5, 100, 168, 0.12); }
  .kd-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

.kd-gallery {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  width: 100%; }

.kd-gallery__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-align: center; }
  .kd-gallery__heading p {
    font-size: 18px;
    line-height: 1.6;
    text-wrap: balance; }

.kd-gallery__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  width: 100%; }

.kd-gallery__image {
  display: block;
  height: 250px;
  border-radius: 28px;
  overflow: hidden; }
  .kd-gallery__image img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

.kd-benefits__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 1fr;
  gap: 18px;
  width: 100%; }

.kd-details {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  width: 100%; }

.kd-details__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  flex: 1;
  padding: 38px;
  border-radius: 32px;
  background: #fff; }
  .kd-details__copy p {
    line-height: 1.65;
    text-wrap: balance; }

.kd-details__title {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: 34px;
  line-height: 1.15;
  text-wrap: balance;
  color: var(--c-navy); }

.kd-details__cards {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 420px;
  flex-shrink: 0; }

.kd-channels {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 28px;
  width: 100%;
  padding: 64px 44px;
  border-radius: 36px;
  background: #fff; }

.kd-channels__title {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: 38px;
  line-height: 1.15;
  letter-spacing: -0.02em;
  text-align: center;
  text-wrap: balance;
  color: var(--c-primary); }

.kd-channels__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  width: 100%; }

.kd-channel {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  height: 170px;
  padding: 22px;
  border-radius: 28px;
  background: var(--c-tint);
  text-align: center; }
  .kd-channel .icon {
    width: 30px;
    height: 30px; }
  .kd-channel p {
    font-family: var(--f-display);
    font-weight: 700;
    font-size: 18px;
    line-height: 1.2;
    color: var(--c-navy); }

.gc-title {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: 48px;
  line-height: 1.1;
  letter-spacing: -0.03em;
  text-wrap: balance;
  color: var(--c-navy); }

.gc-media {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  width: 470px;
  flex-shrink: 0; }

.gc-media__product {
  display: block;
  width: 100%;
  height: 300px;
  border-radius: 30px;
  overflow: hidden;
  box-shadow: 0 18px 45px rgba(5, 100, 168, 0.12); }
  .gc-media__product img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

.gc-media__detail {
  display: block;
  width: 100%;
  height: 160px;
  border-radius: 24px;
  overflow: hidden; }
  .gc-media__detail img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

.gc-features__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: 1fr;
  gap: 18px;
  width: 100%; }
  .gc-features__grid .ec-card {
    min-height: 205px; }

.gc-specs {
  display: flex;
  align-items: center;
  gap: 28px;
  width: 100%;
  padding: 64px 44px;
  border-radius: 36px;
  background: #fff; }

.gc-specs__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  flex: 1; }
  .gc-specs__copy p {
    font-size: 18px;
    line-height: 1.65;
    text-wrap: balance; }

.gc-specs__title {
  text-align: start; }

.gc-specs__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: 1fr;
  gap: 14px;
  width: 430px;
  flex-shrink: 0; }

.gc-spec {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding: 20px;
  border-radius: 24px;
  background: var(--c-page); }
  .gc-spec .icon {
    width: 24px;
    height: 24px; }
  .gc-spec h3 {
    font-family: var(--f-display);
    font-weight: 700;
    font-size: 18px;
    line-height: 1.2;
    color: var(--c-navy); }
  .gc-spec p {
    font-size: 15px;
    line-height: 1.45; }

.gc-care {
  display: flex;
  align-items: center;
  gap: 28px;
  width: 100%;
  padding: 64px 44px;
  border-radius: 36px;
  background: var(--c-tint); }

.gc-care__image {
  display: block;
  width: 430px;
  height: 320px;
  flex-shrink: 0;
  border-radius: 30px;
  overflow: hidden; }
  .gc-care__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 0; }

.gc-care__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  flex: 1; }
  .gc-care__copy h2 {
    font-family: var(--f-display);
    font-weight: 700;
    font-size: 36px;
    line-height: 1.15;
    text-wrap: balance;
    color: var(--c-navy); }
  .gc-care__copy > p {
    font-size: 18px;
    line-height: 1.65;
    text-wrap: balance; }

.gc-care__points {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-self: stretch; }

.gc-point {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  border-radius: 22px;
  background: #fff; }
  .gc-point .icon {
    width: 22px;
    height: 22px; }
  .gc-point p {
    font-family: var(--f-display);
    font-weight: 700;
    font-size: 16px;
    line-height: 1.35;
    color: var(--c-navy); }

.gc-contact {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  width: 100%;
  padding: 64px 44px;
  border-radius: 36px;
  background: #fff; }
  .gc-contact .ec-contact__copy {
    gap: 16px; }

.ec-related__item--page {
  background: var(--c-page); }

.water-page .gc-spec {
  min-height: 150px;
  padding: 22px; }
  .water-page .gc-spec p {
    font-size: 16px;
    line-height: 1.45; }

.water-page .gc-care__image img {
  object-position: 50% 50%; }

.pillow-page .gc-spec {
  min-height: 171px;
  padding: 22px; }

.pillow-page .pillow-care__image {
  height: 340px; }
  .pillow-page .pillow-care__image img {
    object-position: 50% 50%; }

.pillow-gallery {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 26px;
  width: 100%;
  padding: 64px 44px;
  border-radius: 36px;
  background: #fff; }

.pillow-gallery__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  width: 100%; }

.pillow-gallery__image {
  display: block;
  height: 260px;
  border-radius: 26px;
  overflow: hidden; }
  .pillow-gallery__image img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

.cs-title {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: 52px;
  line-height: 1.08;
  letter-spacing: -0.03em;
  text-wrap: balance;
  color: var(--c-navy); }

.carry-page .cs-media__product {
  height: 260px; }

.carry-page .cs-media__detail {
  height: 180px; }

.cs-benefits__grid .ec-card {
  min-height: 230px; }

.cs-sizes {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  width: 100%; }

.cs-sizes__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: 1fr;
  gap: 18px;
  width: 100%; }

.cs-size {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  padding: 26px;
  border-radius: 30px;
  background: #fff; }
  .cs-size h3 {
    font-family: var(--f-display);
    font-weight: 700;
    font-size: 44px;
    line-height: 1;
    color: var(--c-primary); }
  .cs-size p {
    font-size: 16px;
    line-height: 1.7; }

.cs-howto {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  width: 100%;
  padding: 64px 44px;
  border-radius: 36px;
  background: #fff; }

.cs-howto__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: 1fr;
  gap: 18px;
  width: 1032px;
  max-width: 100%; }

.cs-howto-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  padding: 24px;
  border-radius: 30px;
  background: var(--c-page); }
  .cs-howto-card h3 {
    font-family: var(--f-display);
    font-weight: 700;
    font-size: 24px;
    line-height: 1.2;
    color: var(--c-primary); }
  .cs-howto-card p {
    font-size: 17px;
    line-height: 1.65; }

.cs-howto-card__image {
  display: block;
  width: 100%;
  height: 260px;
  border-radius: 24px;
  overflow: hidden; }
  .cs-howto-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

.cs-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  width: 1032px;
  max-width: 100%; }

.cs-strip__image {
  display: block;
  height: 190px;
  border-radius: 22px;
  overflow: hidden; }
  .cs-strip__image img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

.cs-awards {
  display: flex;
  align-items: center;
  gap: 28px;
  width: 100%;
  padding: 64px 44px;
  border-radius: 36px;
  background: var(--c-tint); }

.cs-awards__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  flex: 1; }
  .cs-awards__copy h2 {
    font-family: var(--f-display);
    font-weight: 700;
    font-size: 36px;
    line-height: 1.15;
    text-wrap: balance;
    color: var(--c-navy); }
  .cs-awards__copy > p {
    font-size: 18px;
    line-height: 1.65;
    text-wrap: balance; }

.cs-awards__list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-self: stretch; }

.cs-awards__image {
  display: block;
  width: 360px;
  height: 360px;
  flex-shrink: 0;
  border-radius: 30px;
  overflow: hidden;
  box-shadow: 0 18px 45px rgba(5, 100, 168, 0.12); }
  .cs-awards__image img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

.ss-hero__image {
  display: block;
  width: 470px;
  height: 470px;
  flex-shrink: 0;
  border-radius: 30px;
  overflow: hidden;
  box-shadow: 0 18px 45px rgba(5, 100, 168, 0.12); }
  .ss-hero__image img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

.ss-care__image {
  height: 430px; }
  .ss-care__image img {
    object-position: 50% 50%; }

.ss-contact__links {
  flex-wrap: wrap;
  max-width: 598px; }

.contact-page {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 84px;
  padding: 72px 0 84px; }

.contact-opening {
  display: flex;
  align-items: center;
  gap: 44px;
  width: 100%;
  padding: 44px;
  border-radius: 34px;
  background: var(--g-visual);
  box-shadow: 0 14px 36px rgba(5, 100, 168, 0.1); }

.contact-opening__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  flex: 1; }

.contact-opening__title {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: 46px;
  line-height: 1.16;
  letter-spacing: -0.035em;
  text-wrap: balance;
  color: var(--c-primary); }

.contact-opening__body {
  text-wrap: balance; }

.contact-opening__actions {
  display: flex;
  align-items: center;
  gap: 12px; }

.contact-btn {
  gap: 10px; }
  .contact-btn .icon {
    width: 18px;
    height: 18px; }

.btn--white {
  background: #fff;
  color: var(--c-primary); }

.contact-summary {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  width: 360px;
  flex-shrink: 0;
  padding: 28px;
  border-radius: 26px;
  background: #fff; }

.contact-summary__hours {
  display: flex;
  align-items: center;
  gap: 10px; }
  .contact-summary__hours .icon {
    width: 18px;
    height: 18px; }

.contact-channels {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 28px;
  width: 100%; }

.contact-channels__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  max-width: 760px;
  text-align: center; }
  .contact-channels__header h2,
  .contact-channels__header p {
    text-wrap: balance; }

.contact-channels__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: 1fr;
  gap: 18px;
  width: 100%; }

.contact-channel-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  padding: 24px;
  border-radius: 26px;
  background: #fff; }
  .contact-channel-card > .icon {
    width: 28px;
    height: 28px; }

.contact-channel-card--tint {
  background: var(--c-tint-soft); }

.contact-company {
  display: flex;
  align-items: flex-start;
  gap: 28px;
  width: 100%;
  padding: 34px;
  border-radius: 34px;
  background: #fff; }

.contact-company__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  flex: 1; }
  .contact-company__copy h2 {
    text-wrap: balance; }

.contact-company__details {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 420px;
  flex-shrink: 0;
  padding: 24px;
  border-radius: 26px;
  background: var(--c-tint-soft); }

.contact-detail {
  display: flex;
  align-items: center;
  gap: 12px; }
  .contact-detail .icon {
    width: 18px;
    height: 18px; }

.contact-guidance {
  display: flex;
  align-items: center;
  gap: 18px;
  width: 100%;
  padding: 28px 34px;
  border-radius: 34px;
  background: var(--c-primary); }

.contact-guidance__title {
  flex: 1;
  font-family: var(--f-display);
  font-weight: 600;
  font-size: 22px;
  line-height: 1.25;
  letter-spacing: -0.01em;
  color: #fff; }

.btn--white-solid {
  gap: 10px;
  background: #fff;
  color: var(--c-primary); }

@media (max-width: 1199.98px) {
  .shell {
    max-width: 100%; }
  .site-header {
    flex-direction: column;
    gap: 18px;
    padding: 20px 28px;
    border-radius: 0 0 24px 24px; }
  .site-nav {
    flex-wrap: wrap;
    justify-content: center;
    gap: 18px 24px; }
  .line-cta {
    align-self: stretch; }
  .site-footer {
    padding: 40px 28px;
    border-radius: 0; }
  .site-footer__top {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px; }
  .opening,
  .about-opening,
  .dealer-opening,
  .catalog-opening,
  .contact-opening,
  .ec-opening,
  .kd-opening,
  .story,
  .origin,
  .channels,
  .order,
  .gc-specs,
  .gc-care,
  .gc-contact,
  .ec-contact,
  .cs-awards,
  .kd-details,
  .about-cta,
  .contact-company,
  .pd-tech,
  .pd-hero,
  .story-card,
  .pd-cta {
    flex-direction: column;
    align-items: stretch;
    padding-left: 32px;
    padding-right: 32px; }
  .contact-guidance,
  .product-help {
    padding-left: 32px;
    padding-right: 32px; }
  .hero-visual,
  .proof-card,
  .trust,
  .testing,
  .locator,
  .support,
  .catalog-summary,
  .contact-summary,
  .ec-media,
  .ec-related,
  .kd-cover,
  .kd-details__cards,
  .gc-media,
  .gc-specs__grid,
  .gc-care__image,
  .ss-hero__image,
  .ss-care__image,
  .cs-awards__image,
  .pd-hero__image,
  .pd-tech__stats,
  .story-card__art,
  .contact-company__details,
  .pillow-care__image {
    width: 100%; }
  .families__grid,
  .recommended__grid,
  .categories__grid,
  .guide__grid,
  .dealers__grid,
  .catalog__grid,
  .buy-channels__grid,
  .gc-features__grid,
  .kd-benefits__grid,
  .cs-benefits__grid,
  .ec-highlights__grid,
  .kd-channels__grid,
  .cs-sizes__grid,
  .pd-range__grid,
  .contact-channels__grid {
    grid-template-columns: repeat(2, 1fr); }
  .areas__chips,
  .pd-proof__grid,
  .kd-gallery__grid,
  .cs-strip {
    grid-template-columns: repeat(2, 1fr); }
  .recommended__spacer {
    height: 270px; } }

@media (max-width: 809.98px) {
  .site-header {
    gap: 16px;
    padding: 18px; }
  .site-nav {
    gap: 12px 16px; }
  .site-footer {
    padding: 34px 20px; }
  .site-footer__links {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px; }
  .site-footer__bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px; }
  .opening,
  .families,
  .story,
  .recommended,
  .channels,
  .about-opening,
  .origin,
  .categories,
  .flagship,
  .about-cta,
  .dealer-opening,
  .guide,
  .areas,
  .dealers,
  .provinces,
  .order,
  .faq-section,
  .ec-opening,
  .ec-highlights,
  .ec-gallery,
  .ec-contact,
  .kd-opening,
  .kd-channels,
  .gc-specs,
  .gc-care,
  .gc-contact,
  .cs-howto,
  .cs-awards,
  .pillow-gallery,
  .buy-channels,
  .catalog-opening,
  .contact-opening,
  .contact-company,
  .contact-guidance,
  .product-help,
  .pd-hero,
  .pd-benefits,
  .pd-proof,
  .pd-cta {
    padding: 48px 20px; }
  .contact-guidance,
  .product-help,
  .pd-cta,
  .contact-company,
  .faq-cta {
    flex-direction: column;
    align-items: flex-start;
    gap: 18px; }
  .families__grid,
  .recommended__grid,
  .categories__grid,
  .guide__grid,
  .dealers__grid,
  .catalog__grid,
  .buy-channels__grid,
  .gc-features__grid,
  .kd-benefits__grid,
  .cs-benefits__grid,
  .ec-highlights__grid,
  .kd-channels__grid,
  .cs-sizes__grid,
  .pd-range__grid,
  .contact-channels__grid,
  .cs-howto__grid,
  .kd-gallery__grid,
  .pd-proof__grid,
  .cs-strip,
  .areas__chips {
    grid-template-columns: 1fr;
    gap: 14px; }
  .snapshot-grid,
  .channels__grid,
  .order__channels,
  .proof-card__row {
    grid-template-columns: repeat(2, 1fr); }
  .dealers__grid {
    grid-auto-rows: auto; }
  .opening__actions,
  .ec-opening__actions,
  .contact-opening__actions,
  .pd-hero__actions,
  .about-cta__actions,
  .ec-contact__links,
  .product-help__actions {
    flex-wrap: wrap; }
  .opening__kicker {
    max-width: 100%;
    overflow: hidden; }
  .story__copy {
    padding: 42px; }
  .opening {
    gap: 28px; }
  .families,
  .story,
  .recommended,
  .channels {
    padding: 52px 20px; }
  .recommended__spacer {
    height: 315px; }
  .ec-media,
  .gc-media {
    width: 100%; } }

@media (max-width: 1199.98px) {
  .page {
    gap: 28px; }
  .products-page,
  .product-detail,
  .eye-page,
  .contact-page {
    gap: 64px;
    padding: 48px 28px 64px; } }

@media (max-width: 809.98px) {
  .page {
    gap: 24px; }
  .products-page,
  .product-detail,
  .eye-page,
  .contact-page {
    gap: 52px;
    padding: 36px 20px 56px; }
  .ec-opening,
  .kd-opening,
  .pd-hero,
  .catalog-opening,
  .contact-opening {
    padding: 36px 20px; }
  .ec-highlights,
  .ec-gallery,
  .ec-contact,
  .kd-channels,
  .gc-specs,
  .gc-care,
  .gc-contact,
  .cs-howto,
  .cs-awards,
  .pillow-gallery,
  .buy-channels,
  .pd-benefits,
  .pd-proof,
  .contact-company {
    padding: 42px 20px; }
  .story-card {
    padding: 24px;
    gap: 20px; }
  .gc-media {
    gap: 12px; }
  .gc-media__product,
  .cs-media__product {
    height: 220px; } }
