/*!*************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./app/globals.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************/
:root {
  --ink: #101820;
  --muted: #64717c;
  --paper: #f4f7f9;
  --surface: #ffffff;
  --mist: #e5eef3;
  --line: #d8e2e8;
  --stone: #203140;
  --blue: #0e6f8f;
  --blue-soft: #d9f2f8;
  --brass: #c4874b;
  --shadow: 0 12px 36px rgba(23, 41, 55, 0.1);
  --page-max: 1200px;
  --page-max-wide: 1380px;
  --bp-tablet: 768px;
  --bp-desktop: 1024px;
  --touch-min: 44px;
  --text-hero: clamp(2rem, 4.5vw, 3.25rem);
  --text-title: clamp(1.5rem, 2.5vw, 2.25rem);
  --text-section: clamp(1.35rem, 2vw, 1.85rem);
}

* {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  width: 100%;
}

body {
  font-family: var(--font-sans), "Segoe UI", sans-serif;
  margin: 0;
  background:
    radial-gradient(circle at top right, rgba(81, 178, 207, 0.16), transparent 32rem),
    linear-gradient(180deg, #fbfdff 0%, var(--paper) 38%, #eef4f7 100%);
  color: var(--ink);
  overflow-x: hidden;
}

h1,
h2,
.brandMark span {
  font-family: var(--font-display), Georgia, serif;
  font-weight: 700;
}

main {
  width: 100%;
}

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

button,
input {
  font: inherit;
}

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

.siteHeader {
  background: rgba(251, 253, 255, 0.92);
  border-bottom: 1px solid var(--line);
  padding-top: env(safe-area-inset-top, 0);
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 20;
  -webkit-backdrop-filter: blur(16px);
          backdrop-filter: blur(16px);
}

.trustRail {
  align-items: center;
  background: linear-gradient(90deg, #101820, #17384f 52%, #0e6f8f);
  color: #f8fcff;
  display: flex;
  flex-wrap: nowrap;
  font-size: 0.76rem;
  gap: 0.65rem 1.1rem;
  justify-content: center;
  min-height: 36px;
  overflow-x: auto;
  padding: 0.4rem 1rem;
  -webkit-overflow-scrolling: touch;
}

.trustRailItem {
  align-items: center;
  color: inherit;
  display: inline-flex;
  flex-shrink: 0;
  gap: 0.3rem;
  white-space: nowrap;
}

.trustRail a.trustRailItem:hover {
  color: #fff;
  text-decoration: underline;
}

.trustRailItem svg {
  flex-shrink: 0;
}

.navBar {
  align-items: center;
  display: grid;
  grid-gap: 1rem;
  gap: 1rem;
  grid-template-columns: auto minmax(220px, 1fr) auto auto;
  margin: 0 auto;
  max-width: var(--page-max);
  padding: 1rem 1.25rem;
}

.brandMark {
  align-items: center;
  display: inline-flex;
  font-size: 1.65rem;
  font-weight: 800;
  gap: 0.6rem;
  letter-spacing: 0;
}

.searchBox {
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 999px;
  box-shadow: 0 8px 24px rgba(23, 41, 55, 0.05);
  display: flex;
  gap: 0.5rem;
  min-height: 46px;
  padding: 0 1rem;
}

.searchBox input {
  background: transparent;
  border: 0;
  min-width: 0;
  outline: 0;
  width: 100%;
}

.primaryNav {
  display: flex;
  font-size: 0.92rem;
  gap: 1rem;
  white-space: nowrap;
}

.cartButton,
.menuButton,
.iconButton,
.addButton,
.primaryAction,
.secondaryAction,
.textButton {
  align-items: center;
  border: 0;
  cursor: pointer;
  display: inline-flex;
  gap: 0.5rem;
  justify-content: center;
}

.menuButton {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--stone);
  display: none;
  min-height: var(--touch-min);
  min-width: var(--touch-min);
}

.iconButton,
.textButton {
  background: transparent;
  color: var(--stone);
}

.textButton {
  font-weight: 700;
  min-height: auto;
  padding: 0.35rem 0;
}

.primaryAction.disabled {
  cursor: not-allowed;
  opacity: 0.45;
  pointer-events: none;
}

.cartButton {
  background: transparent;
  border: 0;
  flex-shrink: 0;
  height: 48px;
  min-height: 48px;
  min-width: 48px;
  padding: 0;
  position: relative;
  width: 48px;
}

.cartButtonIcon {
  align-items: center;
  background: linear-gradient(145deg, #0e6f8f, #0a5a74);
  border-radius: 50%;
  box-shadow: 0 8px 22px rgba(14, 111, 143, 0.32);
  color: white;
  display: inline-flex;
  height: 48px;
  justify-content: center;
  transition: transform 160ms ease, box-shadow 160ms ease;
  width: 48px;
}

.cartButton:hover .cartButtonIcon {
  box-shadow: 0 10px 28px rgba(14, 111, 143, 0.38);
  transform: scale(1.04);
}

.cartButton.hasItems .cartButtonIcon {
  background: linear-gradient(145deg, #0a5a74, #0e6f8f);
}

.cartButtonBadge {
  align-items: center;
  background: var(--brass);
  border: 2px solid white;
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(196, 135, 75, 0.45);
  color: white;
  display: inline-flex;
  font-size: 0.68rem;
  font-weight: 800;
  height: 22px;
  justify-content: center;
  min-width: 22px;
  padding: 0 0.2rem;
  position: absolute;
  right: -2px;
  top: -2px;
}

.homeStorefront {
  margin-bottom: 0.5rem;
}

.homeStorefrontHero {
  min-height: clamp(520px, 78vh, 760px);
  overflow: hidden;
  position: relative;
}

.homeStorefrontHero > img,
.homeStorefrontHero > .imageFallback {
  height: 100%;
  left: 0;
  min-height: clamp(520px, 78vh, 760px);
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%;
}

.homeStorefrontHeroShade {
  background: linear-gradient(
    105deg,
    rgba(16, 24, 32, 0.9) 0%,
    rgba(16, 24, 32, 0.55) 42%,
    rgba(16, 24, 32, 0.2) 68%,
    rgba(16, 24, 32, 0.55) 100%
  );
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

.homeStorefrontHeroInner {
  align-content: end;
  display: grid;
  grid-gap: 1.5rem;
  gap: 1.5rem;
  margin: 0 auto;
  max-width: var(--page-max-wide);
  min-height: clamp(520px, 78vh, 760px);
  padding: clamp(1.5rem, 4vw, 2.75rem) clamp(1rem, 3vw, 1.75rem) clamp(5.5rem, 10vw, 7rem);
  position: relative;
  z-index: 2;
}

@media (min-width: 1024px) {
  .homeStorefrontHeroInner {
    align-items: end;
    grid-template-columns: minmax(0, 0.92fr) minmax(380px, 1.08fr);
  }
}

.homeStorefrontHeroCopy {
  color: #fff;
  display: grid;
  grid-gap: 0.85rem;
  gap: 0.85rem;
  justify-items: start;
}

.homeStorefrontDealBadge {
  background: var(--brass);
  border-radius: 999px;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  padding: 0.38rem 0.8rem;
  text-transform: uppercase;
}

.homeStorefrontHeroCopy h1 {
  color: #fff;
  font-size: clamp(2.35rem, 6.5vw, 4.25rem);
  letter-spacing: -0.045em;
  line-height: 0.98;
  margin: 0;
}

.homeStorefrontHeroCopy h1 span {
  color: #9ed8eb;
  display: block;
}

.homeStorefrontHeroCopy p {
  color: #d9eef5;
  font-size: clamp(0.95rem, 1.8vw, 1.12rem);
  line-height: 1.5;
  margin: 0;
  max-width: 34rem;
}

.homeStorefrontActions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 0.2rem;
}

.homeStorefrontActions .primaryAction {
  font-size: 1rem;
  min-height: 48px;
  padding: 0.75rem 1.25rem;
}

.homeStorefrontActions .secondaryAction {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.35);
  color: #fff;
  min-height: 48px;
}

.homeStorefrontActions .secondaryAction:hover {
  background: rgba(255, 255, 255, 0.2);
}

.homeOutletSlideshow {
  display: grid;
  grid-gap: 0.65rem;
  gap: 0.65rem;
  min-width: 0;
  width: 100%;
}

.homeOutletSlideshowHead {
  align-items: flex-end;
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
}

.homeOutletSlideshowHead > div {
  display: grid;
  grid-gap: 0.15rem;
  gap: 0.15rem;
}

.homeOutletSlideshowEyebrow {
  color: #fff;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.homeOutletSlideshowHead p {
  color: #d9eef5;
  font-size: 0.82rem;
  line-height: 1.35;
  margin: 0;
  max-width: 18rem;
}

.homeOutletSlideshowHead a {
  color: #fff;
  font-size: 0.86rem;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
  white-space: nowrap;
}

.homeOutletSlideshowStage {
  border-radius: 22px;
  box-shadow: 0 20px 48px rgba(16, 24, 32, 0.28);
  isolation: isolate;
  min-height: clamp(320px, 42vw, 480px);
  overflow: hidden;
  position: relative;
}

.homeOutletSlide {
  border-radius: 22px;
  display: grid;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transition: opacity 0.45s ease;
  z-index: 0;
}

.homeOutletSlide.is-active {
  opacity: 1;
  pointer-events: auto;
  z-index: 1;
}

.homeOutletSlide > img,
.homeOutletSlide > .imageFallback {
  grid-area: 1 / 1;
  height: 100%;
  min-height: clamp(320px, 42vw, 480px);
  object-fit: cover;
  width: 100%;
}

.homeOutletSlideShade,
.homeOutletSlideCopy {
  grid-area: 1 / 1;
}

.homeOutletSlideShade {
  background: linear-gradient(180deg, transparent 28%, rgba(16, 24, 32, 0.88) 100%);
  pointer-events: none;
}

.homeOutletSlideCopy {
  align-self: end;
  color: #fff;
  display: grid;
  grid-gap: 0.25rem;
  gap: 0.25rem;
  padding: 1.15rem 1.2rem 1.25rem;
  z-index: 1;
}

.homeOutletSlideTag {
  background: var(--brass);
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  padding: 0.28rem 0.55rem;
  text-transform: uppercase;
  width: -moz-fit-content;
  width: fit-content;
}

.homeOutletSlideBrand {
  color: #d9eef5;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.homeOutletSlideCopy strong {
  font-size: clamp(1rem, 2vw, 1.25rem);
  line-height: 1.2;
  max-width: 20rem;
}

.homeOutletSlidePrices {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.55rem;
  margin-top: 0.15rem;
}

.homeOutletSlidePrices em {
  font-size: clamp(1.2rem, 2.5vw, 1.55rem);
  font-style: normal;
  font-weight: 800;
}

.homeOutletSlidePrices s {
  color: #d9eef5;
  font-size: 0.95rem;
}

.homeOutletSlideCta {
  align-items: center;
  display: inline-flex;
  font-size: 0.88rem;
  font-weight: 800;
  gap: 0.3rem;
  margin-top: 0.35rem;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.homeOutletSlideshowNav {
  align-items: center;
  background: rgba(255, 255, 255, 0.92);
  border: 0;
  border-radius: 50%;
  box-shadow: 0 6px 18px rgba(16, 24, 32, 0.18);
  color: var(--ink);
  cursor: pointer;
  display: inline-flex;
  height: 42px;
  justify-content: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  z-index: 3;
}

.homeOutletSlideshowNav.is-prev {
  left: 0.75rem;
}

.homeOutletSlideshowNav.is-next {
  right: 0.75rem;
}

.homeOutletSlideshowFooter {
  align-items: center;
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
}

.homeOutletSlideshowDots {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.homeOutletSlideshowDots button {
  background: rgba(255, 255, 255, 0.35);
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  height: 8px;
  padding: 0;
  width: 28px;
}

.homeOutletSlideshowDots button.is-active {
  background: #fff;
  width: 40px;
}

.homeOutletSlideshowCounter {
  color: #d9eef5;
  font-size: 0.78rem;
  font-weight: 700;
}

.homeStorefrontCategories {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 24px 24px 18px 18px;
  box-shadow: var(--shadow);
  margin: -3.5rem auto 0;
  max-width: var(--page-max-wide);
  padding: 1.1rem clamp(1rem, 3vw, 1.5rem) 1.25rem;
  position: relative;
  width: calc(100% - 2rem);
  z-index: 3;
}

.homeStorefrontCategoriesHead {
  align-items: baseline;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 0.75rem;
}

.homeStorefrontCategoriesHead h2 {
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  margin: 0;
}

.homeStorefrontCategoriesHead a {
  color: var(--blue);
  font-size: 0.88rem;
  font-weight: 700;
}

.homeWide {
  max-width: var(--page-max-wide);
}

.homeCategoryGrid {
  display: grid;
  grid-gap: 0.65rem;
  gap: 0.65rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.homeCategoryTile {
  aspect-ratio: 1.08;
  background: var(--stone);
  border-radius: 14px;
  box-shadow: 0 6px 18px rgba(23, 41, 55, 0.08);
  color: #fff;
  overflow: hidden;
  position: relative;
}

.homeCategoryTile::after {
  background: linear-gradient(180deg, transparent 30%, rgba(16, 24, 32, 0.75));
  content: "";
  inset: 0;
  position: absolute;
}

.homeCategoryTile img,
.homeCategoryTile .imageFallback {
  height: 100%;
  object-fit: cover;
  transition: transform 220ms ease;
  width: 100%;
}

.homeCategoryTile:hover img {
  transform: scale(1.04);
}

.homeCategoryTile span {
  bottom: 0.7rem;
  font-size: 0.9rem;
  font-weight: 800;
  left: 0.7rem;
  position: absolute;
  right: 0.7rem;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.5);
  z-index: 1;
}

.homeCampaigns {
  padding-top: 0.5rem;
}

.homeCampaigns .sectionHeader h2 {
  font-size: clamp(1.2rem, 2.2vw, 1.5rem);
  margin: 0;
}

.homeCampaignGrid {
  display: grid;
  grid-gap: 0.7rem;
  gap: 0.7rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.homeCampaignCard {
  border-radius: 16px;
  box-shadow: 0 8px 22px rgba(23, 41, 55, 0.08);
  display: grid;
  min-height: 220px;
  overflow: hidden;
  position: relative;
}

.homeCampaignCard > img,
.homeCampaignCard > .imageFallback {
  grid-area: 1 / 1;
  height: 100%;
  min-height: 220px;
  object-fit: cover;
  transition: transform 220ms ease;
  width: 100%;
}

.homeCampaignCard:hover > img {
  transform: scale(1.03);
}

.homeCampaignCardShade,
.homeCampaignCardCopy {
  grid-area: 1 / 1;
}

.homeCampaignCardShade {
  background: linear-gradient(180deg, transparent 25%, rgba(16, 24, 32, 0.82));
  pointer-events: none;
}

.homeCampaignCardCopy {
  align-self: end;
  color: #fff;
  display: grid;
  grid-gap: 0.25rem;
  gap: 0.25rem;
  padding: 1rem;
  z-index: 1;
}

.homeCampaignCardCopy strong {
  font-size: 1rem;
  line-height: 1.2;
}

.homeCampaignCardCopy p {
  color: #d9e5ec;
  font-size: 0.8rem;
  line-height: 1.35;
  margin: 0;
}

.homeCampaignCardCopy > span {
  align-items: center;
  display: inline-flex;
  font-size: 0.82rem;
  font-weight: 800;
  gap: 0.25rem;
  margin-top: 0.35rem;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.commerceHero {
  margin: 0 auto;
  max-width: var(--page-max);
  padding: 1rem 1.25rem 0.5rem;
}

.heroStage {
  animation: heroReveal 0.55s ease;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 28px;
  box-shadow: var(--shadow);
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
  min-height: min(520px, 78vh);
  overflow: hidden;
}

@keyframes heroReveal {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

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

.heroPanel {
  align-content: center;
  display: grid;
  grid-gap: 0.85rem;
  gap: 0.85rem;
  padding: clamp(1.25rem, 3vw, 2.1rem);
}

.heroBadge {
  background: var(--blue-soft);
  border: 1px solid rgba(14, 111, 143, 0.18);
  border-radius: 999px;
  color: var(--blue);
  display: inline-flex;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  padding: 0.35rem 0.75rem;
  text-transform: uppercase;
  width: -moz-fit-content;
  width: fit-content;
}

.heroPanel h1 {
  font-size: clamp(2rem, 5vw, 3.35rem);
  letter-spacing: -0.045em;
  line-height: 1.02;
  margin: 0;
}

.heroPanel h1 span {
  color: var(--blue);
  display: block;
}

.heroLead {
  color: var(--muted);
  font-size: clamp(0.94rem, 1.6vw, 1.05rem);
  line-height: 1.55;
  margin: 0;
  max-width: 30rem;
}

.heroQuickLinks {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.heroQuickLinks a {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 700;
  min-height: 34px;
  padding: 0.35rem 0.75rem;
}

.heroQuickLinks a:hover {
  border-color: rgba(14, 111, 143, 0.35);
  color: var(--blue);
}

.heroTrust {
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1rem;
  list-style: none;
  margin: 0.15rem 0 0;
  padding: 0;
}

.heroTrust li {
  align-items: center;
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 600;
  gap: 0.3rem;
}

.heroTrust svg {
  color: var(--blue);
  flex-shrink: 0;
}

.heroVisual {
  min-height: 280px;
  position: relative;
}

.heroVisual > img,
.heroVisual > .imageFallback {
  height: 100%;
  min-height: 280px;
  object-fit: cover;
  width: 100%;
}

.heroVisualShade {
  background: linear-gradient(180deg, transparent 30%, rgba(16, 24, 32, 0.55) 100%);
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.heroVisualOverlay {
  bottom: 1rem;
  display: grid;
  grid-gap: 0.55rem;
  gap: 0.55rem;
  left: 1rem;
  position: absolute;
  right: 1rem;
  z-index: 1;
}

.heroSpotlight {
  align-items: center;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: 0 12px 32px rgba(23, 41, 55, 0.14);
  display: grid;
  grid-gap: 0.65rem;
  gap: 0.65rem;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  padding: 0.65rem;
}

.heroSpotlightMedia {
  border-radius: 12px;
  overflow: hidden;
}

.heroSpotlightMedia img,
.heroSpotlightMedia .imageFallback {
  height: 72px;
  object-fit: cover;
  width: 72px;
}

.heroSpotlightCopy {
  display: grid;
  grid-gap: 0.12rem;
  gap: 0.12rem;
  min-width: 0;
}

.heroSpotlightCopy span {
  color: var(--blue);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.heroSpotlightCopy strong {
  font-size: 0.86rem;
  line-height: 1.25;
}

.heroSpotlightCopy em {
  color: var(--ink);
  font-size: 0.92rem;
  font-style: normal;
  font-weight: 800;
}

.heroSpotlightCta {
  align-items: center;
  color: var(--blue);
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 800;
  gap: 0.2rem;
  white-space: nowrap;
}

.heroPromo {
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  background: rgba(16, 24, 32, 0.72);
  border-radius: 16px;
  color: #fff;
  display: grid;
  grid-gap: 0.2rem;
  gap: 0.2rem;
  padding: 0.75rem 0.9rem;
}

.heroPromoTag {
  color: #ffdbe8;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.heroPromo p {
  font-size: 0.84rem;
  line-height: 1.35;
  margin: 0;
}

.heroPromo a {
  color: #fff;
  font-size: 0.84rem;
  font-weight: 800;
  margin-top: 0.15rem;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.sectionEyebrow,
.brandLine,
.articleLine,
.stockLine {
  color: var(--blue);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.heroActions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 0.5rem;
}

.primaryAction,
.secondaryAction {
  border-radius: 999px;
  min-height: 42px;
  padding: 0.65rem 1rem;
  width: auto;
}

.primaryAction {
  background: var(--blue);
  box-shadow: 0 16px 40px rgba(14, 111, 143, 0.26);
  color: white;
}

.primaryAction:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

.secondaryAction {
  background: rgba(255, 255, 255, 0.68);
  border: 1px solid var(--line);
  color: var(--stone);
}

.linkAction {
  width: -moz-fit-content;
  width: fit-content;
}

.categoryBand {
  display: grid;
  grid-gap: 0.65rem;
  gap: 0.65rem;
  grid-template-columns: repeat(auto-fill, minmax(108px, 1fr));
  margin: 0 auto;
  max-width: var(--page-max);
  padding: 0 1.25rem 1rem;
}

.categoryTile {
  background: var(--stone);
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(23, 41, 55, 0.08);
  color: white;
  min-height: 96px;
  overflow: hidden;
  position: relative;
}

.categoryTile::after {
  background: linear-gradient(180deg, transparent 36%, rgba(16, 24, 32, 0.72));
  content: "";
  inset: 0;
  position: absolute;
}

.categoryTile img,
.categoryTile .imageFallback {
  filter: saturate(0.96) contrast(1.02);
  height: 100%;
  object-fit: cover;
  opacity: 0.92;
  transition: transform 220ms ease;
  width: 100%;
}

.categoryTile:hover img {
  transform: scale(1.05);
}

.categoryTile span {
  bottom: 0.85rem;
  font-weight: 800;
  left: 0.85rem;
  position: absolute;
  right: 0.85rem;
  text-shadow: 0 1px 18px rgba(0, 0, 0, 0.46);
  z-index: 1;
}

.serviceStrip,
.pageSection,
.categoryHero,
.catalogShell,
.productPage,
.checkoutPage,
.receiptPage,
.showroomFeature {
  margin: 0 auto;
  max-width: var(--page-max);
  padding: 1.1rem 1.25rem;
}

.serviceStrip {
  display: grid;
  grid-gap: 0.65rem;
  gap: 0.65rem;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}

.serviceStrip article {
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(216, 226, 232, 0.86);
  border-radius: 14px;
  display: grid;
  grid-gap: 0.4rem;
  gap: 0.4rem;
  min-height: 0;
  padding: 0.85rem;
}

.serviceStrip svg {
  color: var(--blue);
}

.serviceStrip span {
  color: var(--muted);
  line-height: 1.45;
}

.showroomFeature {
  align-items: center;
  display: grid;
  grid-gap: 2rem;
  gap: 2rem;
  grid-template-columns: 0.82fr 1.18fr;
  padding-top: 1rem;
}

.showroomImages {
  display: block;
}

.showroomImages img,
.showroomImages .imageFallback {
  border-radius: 16px;
  box-shadow: var(--shadow);
  height: 220px;
  object-fit: cover;
  width: 100%;
}

.showroomCopy {
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 1rem;
}

.showroomCopy h2 {
  font-size: var(--text-title);
  letter-spacing: -0.03em;
  line-height: 1.1;
  margin: 0.35rem 0 0.75rem;
}

.showroomCopy p {
  color: var(--muted);
  font-size: 0.98rem;
  line-height: 1.55;
}

.sectionHeader {
  align-items: flex-end;
  display: flex;
  justify-content: space-between;
  margin-bottom: 1rem;
}

.sectionHeader h2,
.categoryHero h1,
.checkoutPanel h1,
.receiptPanel h1,
.receiptHero h1 {
  font-size: var(--text-section);
  letter-spacing: -0.03em;
  line-height: 1.1;
  margin: 0.25rem 0 0;
}

.productGrid {
  display: grid;
  grid-gap: 0.85rem;
  gap: 0.85rem;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}

.productCard {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(23, 41, 55, 0.06);
  display: grid;
  grid-template-rows: 168px 1fr;
  min-width: 0;
  overflow: hidden;
}

.productMedia {
  background: var(--mist);
  overflow: hidden;
  position: relative;
}

.productMedia img,
.productMedia .imageFallback {
  height: 100%;
  object-fit: cover;
  transition: transform 220ms ease;
  width: 100%;
}

.productCard:hover .productMedia img {
  transform: scale(1.035);
}

.badgeRow {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  left: 0.8rem;
  position: absolute;
  top: 0.8rem;
}

.badgeRow span {
  background: var(--blue);
  border-radius: 999px;
  color: white;
  font-size: 0.74rem;
  font-weight: 800;
  padding: 0.28rem 0.6rem;
}

.productInfo {
  display: grid;
  grid-gap: 0.75rem;
  gap: 0.75rem;
  padding: 1rem;
}

.productInfo h3 {
  font-size: 1.12rem;
  line-height: 1.18;
  margin: 0.22rem 0;
}

.priceRow {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}

.priceRow strong {
  color: var(--ink);
  font-size: 1.24rem;
}

.priceRow span {
  color: var(--muted);
  text-decoration: line-through;
}

.addButton {
  background: var(--stone);
  border-radius: 999px;
  color: white;
  min-height: 42px;
  padding: 0.65rem 0.8rem;
  width: 100%;
}

.categoryHero {
  padding-top: 3.5rem;
}

.categoryHero p {
  color: var(--muted);
  font-size: 1.15rem;
  line-height: 1.55;
  max-width: 720px;
}

.catalogShell {
  align-items: start;
  display: grid;
  grid-gap: 1.2rem;
  gap: 1.2rem;
  grid-template-columns: 250px 1fr;
  padding-top: 0;
}

.filterPanel {
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid var(--line);
  border-radius: 18px;
  display: grid;
  grid-gap: 0.75rem;
  gap: 0.75rem;
  padding: 1rem;
  position: -webkit-sticky;
  position: sticky;
  top: 118px;
}

.filterPanel a,
.filterPanel span {
  color: var(--muted);
}

.resultsBar {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 1rem;
}

.breadcrumbs {
  color: var(--muted);
  display: flex;
  gap: 0.45rem;
  padding-top: 1rem;
}

.productDetail {
  display: grid;
  grid-gap: 1.25rem;
  gap: 1.25rem;
  grid-template-columns: minmax(0, 1fr) minmax(0, 340px);
  padding: 0.75rem 0 1.5rem;
}

.galleryPanel {
  display: grid;
  grid-gap: 0.8rem;
  gap: 0.8rem;
}

.galleryPanel > img,
.galleryPanel > .imageFallback {
  background: var(--mist);
  border-radius: 16px;
  height: min(420px, 52vw);
  max-height: 420px;
  object-fit: cover;
  width: 100%;
}

.thumbRow {
  display: grid;
  grid-gap: 0.8rem;
  gap: 0.8rem;
  grid-template-columns: repeat(4, 1fr);
}

.thumbButton {
  background: transparent;
  border: 2px solid transparent;
  border-radius: 16px;
  cursor: pointer;
  overflow: hidden;
  padding: 0;
}

.thumbButton.selected {
  border-color: var(--blue);
  box-shadow: 0 0 0 1px var(--blue);
}

.thumbRow img,
.thumbRow .imageFallback,
.thumbButton img,
.thumbButton .imageFallback {
  background: var(--mist);
  border-radius: 16px;
  height: 110px;
  object-fit: cover;
  width: 100%;
}

.cartOverlay {
  background: rgba(16, 24, 32, 0.5);
  border: 0;
  cursor: pointer;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  transition: opacity 200ms ease;
  z-index: 40;
}

.cartOverlay.open {
  opacity: 1;
  pointer-events: auto;
}

.cartDrawer {
  background: var(--surface);
  border-left: 1px solid var(--line);
  border-radius: 28px 0 0 28px;
  box-shadow: -12px 0 40px rgba(23, 41, 55, 0.14);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  height: 100dvh;
  max-height: 100dvh;
  max-width: 100%;
  overflow: hidden;
  position: fixed;
  right: 0;
  top: 0;
  transform: translateX(100%);
  transition: transform 240ms cubic-bezier(0.32, 0.72, 0, 1);
  width: min(380px, 100%);
  z-index: 50;
}

.cartDrawer.open {
  transform: translateX(0);
}

.cartDrawerHandle {
  display: none;
}

.cartDrawerHeader {
  align-items: center;
  border-bottom: 1px solid var(--line);
  display: flex;
  flex-shrink: 0;
  gap: 0.75rem;
  justify-content: space-between;
  padding: 0.85rem 1rem;
}

.cartDrawerTitle {
  align-items: center;
  display: flex;
  gap: 0.5rem;
  min-width: 0;
}

.cartDrawerTitle h2 {
  font-size: 1.1rem;
  font-weight: 800;
  margin: 0;
}

.cartDrawerTitle svg {
  color: var(--blue);
  flex-shrink: 0;
}

.cartCountBadge {
  background: var(--blue-soft);
  border-radius: 999px;
  color: var(--blue);
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1;
  min-width: 1.4rem;
  padding: 0.2rem 0.45rem;
  text-align: center;
}

.cartCloseButton {
  align-items: center;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--stone);
  cursor: pointer;
  display: inline-flex;
  flex-shrink: 0;
  height: 40px;
  justify-content: center;
  width: 40px;
}

.cartDrawerBody {
  flex: 1 1;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0;
  -webkit-overflow-scrolling: touch;
}

.cartList {
  list-style: none;
  margin: 0;
  padding: 0;
}

.cartItem {
  border-bottom: 1px solid var(--line);
  display: grid;
  grid-gap: 0.65rem;
  gap: 0.65rem;
  grid-template-columns: 52px minmax(0, 1fr);
  padding: 0.85rem 1rem;
}

.cartItemThumb {
  border-radius: 50%;
  display: block;
  flex-shrink: 0;
  overflow: hidden;
}

.cartItemThumb img,
.cartItemThumb .imageFallback {
  border-radius: 50%;
  height: 52px;
  object-fit: cover;
  width: 52px;
}

.cartItemBody {
  display: grid;
  grid-gap: 0.2rem;
  gap: 0.2rem;
  min-width: 0;
}

.cartItemTop {
  align-items: flex-start;
  display: flex;
  gap: 0.5rem;
  justify-content: space-between;
}

.cartItemName {
  color: var(--ink);
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.25;
  min-width: 0;
}

.cartItemName:hover {
  color: var(--blue);
}

.cartItemTotal {
  color: var(--ink);
  flex-shrink: 0;
  font-size: 0.88rem;
  font-weight: 800;
  white-space: nowrap;
}

.cartItemMeta {
  color: var(--muted);
  font-size: 0.78rem;
}

.cartItemActions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.75rem;
  justify-content: space-between;
  margin-top: 0.25rem;
}

.cartQty {
  align-items: center;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 999px;
  display: inline-flex;
  gap: 0.15rem;
  padding: 0.15rem;
}

.cartQty button {
  align-items: center;
  aspect-ratio: 1;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--stone);
  cursor: pointer;
  display: inline-flex;
  height: 28px;
  justify-content: center;
  width: 28px;
}

.cartQty span {
  font-size: 0.86rem;
  font-weight: 700;
  min-width: 1.25rem;
  text-align: center;
}

.cartRemove {
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--muted);
  cursor: pointer;
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 600;
  gap: 0.25rem;
  padding: 0.2rem 0;
}

.cartRemove:hover {
  color: #b42318;
}

.cartEmpty {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  justify-content: center;
  min-height: 220px;
  padding: 2rem 1.25rem;
  text-align: center;
}

.cartEmptyIcon {
  align-items: center;
  background: var(--blue-soft);
  border-radius: 50%;
  color: var(--blue);
  display: flex;
  height: 72px;
  justify-content: center;
  margin-bottom: 0.25rem;
  width: 72px;
}

.cartEmptyTitle {
  color: var(--ink);
  font-size: 1.05rem;
  font-weight: 800;
  margin: 0;
}

.cartEmptyText {
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.45;
  margin: 0 0 0.5rem;
  max-width: 16rem;
}

.cartDrawerFooter {
  background: linear-gradient(180deg, rgba(244, 247, 249, 0.4), var(--paper));
  border-top: 1px solid var(--line);
  border-radius: 20px 20px 0 0;
  display: grid;
  flex-shrink: 0;
  grid-gap: 0.55rem;
  gap: 0.55rem;
  margin: 0 0.65rem 0.65rem;
  padding: 0.85rem 0.9rem 0.9rem;
}

.cartSummary {
  display: grid;
  grid-gap: 0.35rem;
  gap: 0.35rem;
}

.cartSummaryRow {
  align-items: baseline;
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
}

.cartSummaryRow span {
  color: var(--muted);
  font-size: 0.88rem;
}

.cartSummaryRow strong {
  font-size: 1.15rem;
}

.cartSummaryNote {
  color: var(--muted);
  font-size: 0.74rem;
  line-height: 1.35;
  margin: 0;
}

.cartCheckoutBtn {
  min-height: 46px;
  width: 100%;
}

.cartContinueBtn {
  background: transparent;
  border: 0;
  color: var(--blue);
  cursor: pointer;
  font-size: 0.88rem;
  font-weight: 700;
  min-height: 36px;
  padding: 0.25rem;
  width: 100%;
}

.checkoutPanel .primaryAction,
.receiptPanel .primaryAction,
.mobileNav > .primaryAction {
  width: 100%;
}

.cartToast {
  align-items: center;
  background: var(--stone);
  border-radius: 999px;
  bottom: 1rem;
  box-shadow: var(--shadow);
  color: white;
  display: flex;
  gap: 0.7rem;
  left: 50%;
  max-width: min(520px, calc(100% - 1.5rem));
  padding: 0.75rem 1rem 0.75rem 0.85rem;
  position: fixed;
  transform: translateX(-50%);
  z-index: 60;
}

.demoGuide {
  background: linear-gradient(90deg, #0e6f8f, #17384f);
  color: #f8fcff;
  position: relative;
  z-index: 19;
}

.demoGuideInner {
  align-items: center;
  display: grid;
  grid-gap: 0.65rem 1rem;
  gap: 0.65rem 1rem;
  grid-template-columns: 1fr auto auto;
  margin: 0 auto;
  max-width: var(--page-max);
  padding: 0.55rem 2.5rem 0.55rem 1rem;
  position: relative;
}

.demoGuideCopy {
  align-items: flex-start;
  display: flex;
  gap: 0.55rem;
  min-width: 0;
}

.demoGuideCopy strong {
  display: block;
  font-size: 0.88rem;
}

.demoGuideCopy span {
  color: #d9eef5;
  display: block;
  font-size: 0.78rem;
  line-height: 1.35;
}

.demoGuideSteps {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.demoGuideStep {
  align-items: center;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  color: white;
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 700;
  gap: 0.35rem;
  padding: 0.35rem 0.65rem;
}

.demoGuideStep span {
  align-items: center;
  background: white;
  border-radius: 50%;
  color: var(--blue);
  display: inline-flex;
  font-size: 0.68rem;
  height: 18px;
  justify-content: center;
  width: 18px;
}

.demoGuideTags {
  display: none;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.demoGuideTags span {
  align-items: center;
  display: inline-flex;
  font-size: 0.72rem;
  gap: 0.3rem;
  opacity: 0.9;
}

.demoGuideDismiss {
  align-items: center;
  background: rgba(255, 255, 255, 0.14);
  border: 0;
  border-radius: 50%;
  color: white;
  cursor: pointer;
  display: inline-flex;
  height: 32px;
  justify-content: center;
  position: absolute;
  right: 0.65rem;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
}

.receiptNextSteps {
  background: var(--blue-soft);
  border-radius: 16px;
  display: grid;
  grid-gap: 0.25rem;
  gap: 0.25rem;
  margin: 0.5rem 0 1rem;
  padding: 0.85rem 1rem;
  text-align: left;
  width: 100%;
}

.receiptNextSteps strong {
  color: var(--blue);
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.receiptNextSteps span {
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.specialistEdge .sectionHeader {
  margin-bottom: 0.35rem;
}

.specialistLead {
  color: var(--muted);
  font-size: 0.98rem;
  line-height: 1.55;
  margin: 0 0 1.15rem;
  max-width: 52rem;
}

.specialistGrid {
  display: grid;
  grid-gap: 0.65rem;
  gap: 0.65rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 1rem;
}

.specialistGrid article {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  display: grid;
  grid-gap: 0.45rem;
  gap: 0.45rem;
  padding: 1rem;
}

.specialistCardIcon {
  align-items: center;
  background: var(--paper);
  border-radius: 12px;
  color: var(--blue);
  display: inline-flex;
  height: 40px;
  justify-content: center;
  width: 40px;
}

.specialistGrid article strong {
  font-size: 0.92rem;
  line-height: 1.25;
}

.specialistGrid p {
  color: var(--muted);
  font-size: 0.84rem;
  line-height: 1.45;
  margin: 0;
}

.specialistCta {
  align-items: center;
  background: linear-gradient(135deg, var(--blue-soft), #fff);
  border: 1px solid rgba(14, 111, 143, 0.2);
  border-radius: 20px;
  display: grid;
  grid-gap: 0.85rem 1rem;
  gap: 0.85rem 1rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: 1rem 1.15rem;
}

.specialistCta > svg {
  color: var(--blue);
}

.specialistCtaCopy {
  display: grid;
  grid-gap: 0.2rem;
  gap: 0.2rem;
  min-width: 0;
}

.specialistCtaCopy strong {
  display: block;
  font-size: 0.98rem;
  line-height: 1.3;
}

.specialistCtaCopy p {
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.4;
  margin: 0;
}

.consultationCta {
  align-items: center;
  background: linear-gradient(135deg, var(--blue-soft), #fff);
  border: 1px solid rgba(14, 111, 143, 0.2);
  border-radius: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: space-between;
  margin-top: 1rem;
  padding: 1rem 1.1rem;
}

.consultationCta > div:first-child {
  align-items: flex-start;
  display: flex;
  gap: 0.65rem;
  min-width: min(100%, 280px);
}

.consultationCta svg {
  color: var(--blue);
  flex-shrink: 0;
}

.consultationCta span {
  color: var(--muted);
  display: block;
  font-size: 0.86rem;
  line-height: 1.4;
}

.packageGrid {
  display: grid;
  grid-gap: 1rem;
  gap: 1rem;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

.packageCard {
  background: white;
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: 0 10px 28px rgba(23, 41, 55, 0.07);
  display: grid;
  overflow: hidden;
}

.packageMedia {
  position: relative;
}

.packageMedia img,
.packageMedia .imageFallback {
  height: 160px;
  object-fit: cover;
  width: 100%;
}

.packageTag {
  background: rgba(16, 24, 32, 0.72);
  border-radius: 999px;
  bottom: 0.65rem;
  color: white;
  font-size: 0.72rem;
  font-weight: 800;
  left: 0.65rem;
  padding: 0.28rem 0.55rem;
  position: absolute;
  text-transform: uppercase;
}

.packageBody {
  display: grid;
  grid-gap: 0.55rem;
  gap: 0.55rem;
  padding: 1rem;
}

.packageBody h3 {
  font-size: 1.15rem;
  margin: 0;
}

.packageBody > p {
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.45;
  margin: 0;
}

.packageBody ul {
  color: var(--stone);
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.packageBody li {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 0.76rem;
  padding: 0.28rem 0.55rem;
}

.packageMeta {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: space-between;
}

.packageHighlight {
  color: var(--blue);
  font-size: 0.78rem;
  font-weight: 700;
}

.packageActions {
  display: grid;
  grid-gap: 0.45rem;
  gap: 0.45rem;
  margin-top: 0.25rem;
}

.packageActions .primaryAction,
.packageActions .secondaryAction {
  width: 100%;
}

.installOffer {
  align-items: flex-start;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 16px;
  cursor: pointer;
  display: flex;
  gap: 0.65rem;
  padding: 0.75rem;
}

.installOffer input {
  accent-color: var(--blue);
  margin-top: 0.2rem;
}

.installOffer strong {
  align-items: center;
  display: inline-flex;
  font-size: 0.9rem;
  gap: 0.35rem;
}

.installOffer span {
  color: var(--muted);
  display: block;
  font-size: 0.8rem;
  line-height: 1.35;
  margin-top: 0.15rem;
}

.inspirationLayout {
  display: grid;
  grid-gap: 0.75rem;
  gap: 0.75rem;
}

.inspirationTabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.inspirationTab {
  background: white;
  border: 1px solid var(--line);
  border-radius: 999px;
  cursor: pointer;
  font-size: 0.86rem;
  font-weight: 700;
  padding: 0.45rem 0.85rem;
}

.inspirationTab.active {
  background: var(--blue);
  border-color: var(--blue);
  color: white;
}

.inspirationStage {
  display: grid;
  grid-gap: 1rem;
  gap: 1rem;
  grid-template-columns: minmax(0, 1.4fr) minmax(260px, 0.8fr);
}

.inspirationHero {
  border-radius: 22px;
  overflow: hidden;
  position: relative;
}

.inspirationHero img,
.inspirationHero .imageFallback {
  height: 320px;
  object-fit: cover;
  width: 100%;
}

.inspirationOverlay {
  background: linear-gradient(180deg, transparent 35%, rgba(16, 24, 32, 0.78));
  bottom: 0;
  color: white;
  display: grid;
  grid-gap: 0.2rem;
  gap: 0.2rem;
  left: 0;
  padding: 1.25rem;
  position: absolute;
  right: 0;
}

.inspirationOverlay em {
  font-size: 0.82rem;
  font-style: normal;
  opacity: 0.9;
}

.inspirationSidebar {
  background: white;
  border: 1px solid var(--line);
  border-radius: 22px;
  display: grid;
  grid-gap: 0.65rem;
  gap: 0.65rem;
  padding: 1rem;
}

.inspirationSidebar h3 {
  font-size: 1rem;
  margin: 0;
}

.inspirationSidebar ul {
  display: grid;
  grid-gap: 0.55rem;
  gap: 0.55rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.inspirationSidebar li {
  align-items: center;
  display: grid;
  grid-gap: 0.55rem;
  gap: 0.55rem;
  grid-template-columns: 48px 1fr;
}

.inspirationSidebar li img,
.inspirationSidebar li .imageFallback {
  border-radius: 50%;
  height: 48px;
  object-fit: cover;
  width: 48px;
}

.inspirationSidebar li span {
  color: var(--blue);
  display: block;
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
}

.inspirationSidebar li strong {
  display: block;
  font-size: 0.82rem;
  line-height: 1.25;
}

.inspirationCta {
  width: 100%;
}

.inspirationNote {
  color: var(--muted);
  font-size: 0.76rem;
  margin: 0;
  text-align: center;
}

.estimatorTeaser {
  align-items: center;
  background: linear-gradient(135deg, var(--blue-soft), #fff);
  border: 1px solid rgba(14, 111, 143, 0.2);
  border-radius: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: space-between;
  padding: 1rem 1.1rem;
}

.estimatorTeaserCopy {
  align-items: flex-start;
  display: flex;
  gap: 0.75rem;
  min-width: min(100%, 280px);
}

.estimatorTeaserCopy > svg {
  color: var(--blue);
  flex-shrink: 0;
  margin-top: 0.15rem;
}

.estimatorTeaserCopy strong {
  color: var(--ink);
  display: block;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin: 0.15rem 0 0.25rem;
}

.estimatorTeaserCopy > div > span:last-child {
  color: var(--muted);
  display: block;
  font-size: 0.86rem;
  line-height: 1.4;
}

.estimatorTeaser .primaryAction {
  align-items: center;
  display: inline-flex;
  gap: 0.35rem;
  white-space: nowrap;
}

.estimatorExpand {
  animation: estimatorReveal 0.28s ease;
}

@keyframes estimatorReveal {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }

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

.estimatorHeader {
  align-items: flex-start;
}

.estimatorClose {
  align-items: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--stone);
  cursor: pointer;
  display: inline-flex;
  flex-shrink: 0;
  font-size: 0.84rem;
  font-weight: 700;
  gap: 0.35rem;
  min-height: 40px;
  padding: 0.4rem 0.85rem;
}

.estimatorClose:hover {
  border-color: var(--blue);
  color: var(--blue);
}

.estimatorShell {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 24px;
  box-shadow: var(--shadow);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 300px);
  overflow: hidden;
}

.estimatorMain {
  min-width: 0;
  padding: 1.2rem 1.35rem 1.4rem;
}

.estimatorRail {
  border-bottom: 1px solid var(--line);
  display: grid;
  grid-gap: 0.35rem;
  gap: 0.35rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
}

.estimatorRailStep {
  align-items: center;
  color: var(--muted);
  display: flex;
  font-size: 0.8rem;
  font-weight: 700;
  gap: 0.45rem;
}

.estimatorRailStep.is-active {
  color: var(--ink);
}

.estimatorRailNum {
  align-items: center;
  background: var(--mist);
  border-radius: 50%;
  color: var(--stone);
  display: inline-flex;
  flex-shrink: 0;
  font-size: 0.72rem;
  font-weight: 800;
  height: 26px;
  justify-content: center;
  width: 26px;
}

.estimatorRailStep.is-active .estimatorRailNum {
  background: var(--blue);
  color: #fff;
}

.estimatorConfig {
  display: grid;
  grid-gap: 1.35rem;
  gap: 1.35rem;
}

.estimatorGroup h3 {
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  margin: 0 0 0.35rem;
}

.estimatorGroupLead {
  color: var(--muted);
  font-size: 0.84rem;
  line-height: 1.45;
  margin: 0 0 0.65rem;
}

.estimatorCards {
  display: grid;
  grid-gap: 0.6rem;
  gap: 0.6rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.estimatorCard {
  background: var(--paper);
  border: 0;
  border-radius: 18px;
  box-shadow: inset 0 0 0 1px var(--line);
  cursor: pointer;
  display: grid;
  grid-gap: 0.2rem;
  gap: 0.2rem;
  justify-items: center;
  padding: 1rem 0.65rem 0.9rem;
  position: relative;
  text-align: center;
  transition:
    background 0.15s ease,
    box-shadow 0.15s ease;
}

.estimatorCard:hover {
  box-shadow: inset 0 0 0 1px rgba(14, 111, 143, 0.45);
}

.estimatorCard.is-selected {
  background: var(--blue-soft);
  box-shadow: inset 0 0 0 2px var(--blue);
}

.estimatorCardCheck {
  align-items: center;
  background: var(--blue);
  border-radius: 50%;
  color: #fff;
  display: flex;
  height: 22px;
  justify-content: center;
  position: absolute;
  right: 0.55rem;
  top: 0.55rem;
  width: 22px;
}

.estimatorCardIcon {
  align-items: center;
  background: #fff;
  border-radius: 50%;
  color: var(--blue);
  display: flex;
  height: 44px;
  justify-content: center;
  margin-bottom: 0.15rem;
  width: 44px;
}

.estimatorCardLabel {
  color: var(--ink);
  font-size: 0.9rem;
  font-weight: 800;
  line-height: 1.2;
}

.estimatorCardHint {
  color: var(--muted);
  font-size: 0.72rem;
  line-height: 1.35;
  max-width: 9rem;
}

.estimatorChips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.estimatorChip {
  align-items: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  color: var(--stone);
  cursor: pointer;
  display: inline-flex;
  font-size: 0.86rem;
  font-weight: 700;
  gap: 0.5rem;
  min-height: 48px;
  padding: 0.5rem 0.9rem;
  text-align: left;
  transition:
    background 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease;
}

.estimatorChipsMulti {
  display: grid;
  grid-gap: 0.5rem;
  gap: 0.5rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.estimatorChipText {
  display: grid;
  grid-gap: 0.1rem;
  gap: 0.1rem;
}

.estimatorChipText small {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 600;
}

.estimatorChip.is-selected .estimatorChipText small {
  color: rgba(255, 255, 255, 0.85);
}

.estimatorChip:hover {
  border-color: rgba(14, 111, 143, 0.4);
}

.estimatorChip.is-selected {
  background: var(--blue);
  border-color: var(--blue);
  color: #fff;
}

.estimatorChip.is-selected svg {
  color: #fff;
}

.estimatorQuote {
  background: var(--paper);
  border-left: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  padding: 1.2rem;
}

.estimatorQuoteInner {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: 0 8px 24px rgba(23, 41, 55, 0.06);
  display: grid;
  grid-gap: 0.65rem;
  gap: 0.65rem;
  padding: 1.1rem;
  position: -webkit-sticky;
  position: sticky;
  top: 118px;
}

.estimatorQuoteLabel {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  margin: 0;
  text-transform: uppercase;
}

.estimatorQuotePrice {
  align-items: baseline;
  color: var(--ink);
  display: flex;
  flex-wrap: wrap;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1.35rem, 2.8vw, 1.85rem);
  font-weight: 700;
  gap: 0.35rem;
  letter-spacing: -0.03em;
  line-height: 1.1;
  margin: 0;
}

.estimatorQuotePrice span {
  color: var(--brass);
  font-size: 1.1rem;
}

.estimatorQuoteTags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.estimatorQuoteTags li {
  background: var(--mist);
  border-radius: 999px;
  color: var(--stone);
  font-size: 0.76rem;
  font-weight: 700;
  padding: 0.32rem 0.65rem;
}

.estimatorQuoteFine {
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.45;
  margin: 0;
}

.estimatorQuoteInner .primaryAction,
.estimatorQuoteInner .secondaryAction {
  display: inline-flex;
  justify-content: center;
  margin-top: 0.1rem;
  width: 100%;
}

.estimatorQuoteInner .secondaryAction {
  align-items: center;
  gap: 0.4rem;
}

.brandMarquee {
  margin: 1rem auto 0;
  max-width: var(--page-max);
  overflow: hidden;
  padding: 0 1.25rem;
}

.brandMarquee p {
  color: var(--muted);
  font-size: 0.78rem;
  margin: 0 0 0.55rem;
  text-align: center;
  text-transform: uppercase;
}

.brandMarqueeTrack {
  display: flex;
  gap: 2.5rem;
  animation: brandScroll 28s linear infinite;
  white-space: nowrap;
}

.brandMarqueeTrack span {
  color: var(--stone);
  font-family: var(--font-display), Georgia, serif;
  font-size: 1.35rem;
  font-weight: 700;
  opacity: 0.55;
}

@keyframes brandScroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

.stickyCartBar {
  animation: slideUpBar 220ms ease;
  bottom: 0;
  left: 0;
  position: fixed;
  right: 0;
  z-index: 35;
}

.stickyCartInner {
  align-items: center;
  background: rgba(255, 255, 255, 0.96);
  border-top: 1px solid var(--line);
  box-shadow: 0 -8px 32px rgba(23, 41, 55, 0.12);
  display: flex;
  gap: 0.65rem;
  justify-content: space-between;
  margin: 0 auto;
  max-width: var(--page-max);
  padding: 0.65rem 1rem max(0.65rem, env(safe-area-inset-bottom));
}

.stickyCartInfo {
  align-items: center;
  background: transparent;
  border: 0;
  color: inherit;
  cursor: pointer;
  display: flex;
  gap: 0.55rem;
  min-width: 0;
  padding: 0;
  text-align: left;
}

.stickyCartInfo strong {
  display: block;
  font-size: 0.88rem;
}

.stickyCartInfo em {
  color: var(--blue);
  font-size: 0.86rem;
  font-style: normal;
  font-weight: 800;
}

.stickyCartInner .primaryAction {
  flex-shrink: 0;
  min-height: 42px;
  white-space: nowrap;
}

@keyframes slideUpBar {
  from {
    opacity: 0;
    transform: translateY(100%);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.klarnaSplit {
  background: #fff5f8;
  border-radius: 12px;
  color: var(--stone);
  font-size: 0.84rem;
  margin: 0;
  padding: 0.55rem 0.65rem;
}

.klarnaSplit strong {
  color: #eb6f93;
}

.orderTimeline {
  display: grid;
  grid-gap: 0.55rem;
  gap: 0.55rem;
  list-style: none;
  margin: 1rem 0;
  padding: 0;
  text-align: left;
  width: 100%;
}

.orderTimeline li {
  align-items: center;
  color: var(--muted);
  display: flex;
  gap: 0.55rem;
}

.orderTimeline li.done {
  color: var(--blue);
  font-weight: 700;
}

.cartToast strong,
.cartToast span {
  display: block;
}

.cartToast span {
  color: #d9e5ec;
  font-size: 0.86rem;
}

.mobileNav {
  background: var(--surface);
  border-bottom: 1px solid var(--line);
  box-shadow: 0 16px 40px rgba(23, 41, 55, 0.12);
  display: none;
  gap: 0.75rem;
  grid-template-columns: 1fr;
  left: 0;
  max-height: min(78dvh, 520px);
  overflow-y: auto;
  padding: 0.75rem 0.85rem 1rem;
  padding-bottom: max(1rem, env(safe-area-inset-bottom));
  position: absolute;
  right: 0;
  top: 100%;
  z-index: 30;
}

.mobileNav.open {
  display: grid;
}

.mobileSearch {
  align-items: center;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 14px;
  display: flex;
  gap: 0.5rem;
  min-height: 42px;
  padding: 0 0.75rem;
}

.mobileSearch input {
  background: transparent;
  border: 0;
  min-width: 0;
  outline: 0;
  width: 100%;
}

.mobileNav nav {
  display: grid;
  grid-gap: 0.45rem;
  gap: 0.45rem;
}

.mobileNav nav a,
.mobileCategoryList a {
  border: 1px solid var(--line);
  border-radius: 12px;
  min-height: 42px;
  padding: 0.65rem 0.8rem;
}

.mobileCategoryList {
  display: grid;
  grid-gap: 0.45rem;
  gap: 0.45rem;
}

.mobileCategoryList strong {
  color: var(--muted);
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.emptyState {
  color: var(--muted);
  display: grid;
  grid-gap: 0.8rem;
  gap: 0.8rem;
  justify-items: start;
}

.emptyStateLinks,
.categoryQuickLinks {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.emptyStateLinks a,
.categoryQuickLinks a {
  background: white;
  border: 1px solid var(--line);
  border-radius: 999px;
  min-height: 38px;
  padding: 0.45rem 0.8rem;
}

.searchPage .searchShell {
  padding-top: 0;
}

.buyBox {
  align-self: start;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: var(--shadow);
  display: grid;
  grid-gap: 0.85rem;
  gap: 0.85rem;
  max-width: 340px;
  padding: 1rem;
  position: -webkit-sticky;
  position: sticky;
  top: 118px;
}

.buyBox h1 {
  font-size: var(--text-section);
  letter-spacing: -0.03em;
  line-height: 1.12;
  margin: 0;
}

.productLead {
  color: var(--muted);
  font-size: 1.05rem;
  line-height: 1.55;
}

.productPrice strong {
  font-size: 1.35rem;
}

.variantGroup {
  display: grid;
  grid-gap: 0.6rem;
  gap: 0.6rem;
}

.variantGroup button,
.deliveryOptions button {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  cursor: pointer;
  min-height: 42px;
  padding: 0.6rem 0.75rem;
  text-align: left;
}

.variantGroup button.selected,
.deliveryOptions button.selected {
  border-color: var(--blue);
  box-shadow: inset 0 0 0 1px var(--blue);
}

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

.quantityRow input {
  border: 1px solid var(--line);
  border-radius: 12px;
  min-height: 42px;
  padding: 0.4rem;
  width: 76px;
}

.stockPanel {
  align-items: center;
  background: var(--blue-soft);
  border-radius: 16px;
  color: var(--blue);
  display: flex;
  gap: 0.5rem;
  padding: 0.75rem;
}

.klarnaNote {
  color: var(--muted);
  font-size: 0.9rem;
}

.checkoutLayout {
  align-items: start;
  display: grid;
  grid-gap: 1rem;
  gap: 1rem;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
}

.checkoutPanel,
.summaryPanel,
.receiptPanel {
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: var(--shadow);
  padding: 1rem;
}

.formGrid {
  display: grid;
  grid-gap: 0.8rem;
  gap: 0.8rem;
  grid-template-columns: repeat(2, 1fr);
  margin: 1.5rem 0;
}

.formGrid label {
  color: var(--muted);
  display: grid;
  grid-gap: 0.35rem;
  gap: 0.35rem;
}

.formGrid input {
  border: 1px solid var(--line);
  border-radius: 12px;
  min-height: 44px;
  padding: 0.65rem;
}

.deliveryOptions {
  display: grid;
  grid-gap: 0.7rem;
  gap: 0.7rem;
  grid-template-columns: repeat(2, 1fr);
  margin-bottom: 1rem;
}

.deliveryOptions button {
  align-items: center;
  display: flex;
  gap: 0.5rem;
}

.klarnaBox {
  align-items: center;
  background: #ffdbe8;
  border-radius: 18px;
  display: flex;
  gap: 0.8rem;
  margin-bottom: 1rem;
  padding: 1rem;
}

.klarnaBox p {
  margin: 0.2rem 0 0;
}

.summaryPanel {
  position: -webkit-sticky;
  position: sticky;
  top: 118px;
}

.summaryLine {
  border-top: 1px solid var(--line);
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding: 0.9rem 0;
}

.summaryLine div:first-child {
  display: grid;
  grid-gap: 0.25rem;
  gap: 0.25rem;
}

.summaryLine span {
  color: var(--muted);
}

.lineStepper {
  align-items: center;
  display: flex;
  gap: 0.45rem;
}

.lineStepper button {
  align-items: center;
  aspect-ratio: 1;
  background: var(--mist);
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  width: 28px;
}

.totals {
  border-top: 1px solid var(--line);
  display: grid;
  grid-gap: 0.5rem;
  gap: 0.5rem;
  margin: 1rem 0 0;
  padding-top: 1rem;
}

.totals div {
  display: flex;
  justify-content: space-between;
}

.totals div:last-child {
  font-size: 1.25rem;
  font-weight: 800;
}

.receiptPage {
  min-height: 60vh;
  padding-bottom: 2.5rem;
}

.receiptLayout {
  align-items: start;
  display: grid;
  grid-gap: 1.25rem;
  gap: 1.25rem;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 400px);
  margin-top: 0.5rem;
}

.receiptHero {
  display: grid;
  grid-gap: 0.85rem;
  gap: 0.85rem;
}

.receiptHero h1 {
  font-family: var(--font-display, inherit);
  font-size: clamp(1.85rem, 4vw, 2.65rem);
  letter-spacing: -0.04em;
  line-height: 1.08;
  margin: 0;
}

.receiptLead {
  color: var(--muted);
  font-size: 0.96rem;
  line-height: 1.55;
  margin: 0;
  max-width: 36rem;
}

.receiptSuccessIcon {
  align-items: center;
  background: linear-gradient(145deg, #e8f7ef, #d4f0e2);
  border: 1px solid rgba(22, 128, 88, 0.18);
  border-radius: 50%;
  color: #168058;
  display: inline-flex;
  height: 72px;
  justify-content: center;
  margin-bottom: 0.15rem;
  width: 72px;
}

.receiptMetaGrid {
  display: grid;
  grid-gap: 0.65rem;
  gap: 0.65rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 28rem;
}

.receiptMetaCard {
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: var(--shadow);
  display: grid;
  grid-gap: 0.2rem;
  gap: 0.2rem;
  padding: 0.75rem 0.9rem;
}

.receiptMetaCard span {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.receiptMetaCard strong {
  color: var(--ink);
  font-size: 0.95rem;
}

.receiptOrderNumber {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 1rem !important;
  letter-spacing: 0.02em;
}

.receiptEmailNote {
  align-items: center;
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  font-size: 0.88rem;
  gap: 0.4rem;
  margin: 0;
}

.receiptEmailNote strong {
  color: var(--ink);
}

.receiptKlarnaBadge {
  align-items: flex-start;
  background: linear-gradient(135deg, #fff0f5, #ffe4ec);
  border: 1px solid rgba(235, 111, 147, 0.22);
  border-radius: 16px;
  display: flex;
  gap: 0.75rem;
  max-width: 28rem;
  padding: 0.85rem 1rem;
}

.receiptKlarnaBadge svg {
  color: #eb6f93;
  flex-shrink: 0;
  margin-top: 0.1rem;
}

.receiptKlarnaBadge strong {
  color: var(--ink);
  display: block;
  font-size: 0.9rem;
}

.receiptKlarnaBadge span {
  color: var(--muted);
  display: block;
  font-size: 0.82rem;
  line-height: 1.4;
  margin-top: 0.15rem;
}

.receiptHeroActions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 0.35rem;
}

.receiptHeroActions .secondaryAction {
  align-items: center;
  display: inline-flex;
  gap: 0.35rem;
}

.receiptCard {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: var(--shadow);
  display: grid;
  grid-gap: 0;
  gap: 0;
  overflow: hidden;
  position: -webkit-sticky;
  position: sticky;
  top: 118px;
}

.receiptCardHeader {
  align-items: baseline;
  background: linear-gradient(180deg, var(--paper), rgba(255, 255, 255, 0.6));
  border-bottom: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.1rem;
}

.receiptCardHeader h2 {
  font-size: 1.05rem;
  letter-spacing: -0.02em;
  margin: 0;
}

.receiptCardTotal {
  color: var(--brass);
  font-size: 1.15rem;
  font-weight: 800;
  white-space: nowrap;
}

.receiptLines {
  list-style: none;
  margin: 0;
  max-height: 280px;
  overflow-y: auto;
  padding: 0;
}

.receiptLine {
  border-bottom: 1px solid var(--line);
  display: grid;
  grid-gap: 0.65rem;
  gap: 0.65rem;
  grid-template-columns: 48px minmax(0, 1fr);
  padding: 0.8rem 1.1rem;
}

.receiptLineThumb {
  border-radius: 12px;
  overflow: hidden;
}

.receiptLineThumb img,
.receiptLineThumb .imageFallback {
  border-radius: 12px;
  height: 48px;
  object-fit: cover;
  width: 48px;
}

.receiptLineBody {
  min-width: 0;
}

.receiptLineTop {
  align-items: flex-start;
  display: flex;
  gap: 0.65rem;
  justify-content: space-between;
}

.receiptLineTop strong {
  color: var(--ink);
  display: block;
  font-size: 0.86rem;
  font-weight: 700;
  line-height: 1.25;
}

.receiptLineTop span {
  color: var(--muted);
  display: block;
  font-size: 0.76rem;
  margin-top: 0.15rem;
}

.receiptLineTop em {
  color: var(--ink);
  flex-shrink: 0;
  font-size: 0.86rem;
  font-style: normal;
  font-weight: 800;
}

.receiptEmptyLines {
  color: var(--muted);
  font-size: 0.88rem;
  margin: 0;
  padding: 1rem 1.1rem;
}

.receiptDelivery {
  align-items: start;
  background: var(--blue-soft);
  border-top: 1px solid var(--line);
  display: grid;
  grid-gap: 0.35rem 0.65rem;
  gap: 0.35rem 0.65rem;
  grid-template-columns: auto minmax(0, 1fr);
  padding: 0.9rem 1.1rem;
}

.receiptDelivery > svg {
  color: var(--blue);
  grid-row: span 2;
  margin-top: 0.1rem;
}

.receiptDelivery strong {
  color: var(--ink);
  display: block;
  font-size: 0.9rem;
}

.receiptDelivery > div span {
  color: var(--muted);
  display: block;
  font-size: 0.8rem;
  line-height: 1.4;
  margin-top: 0.1rem;
}

.receiptDeliveryName {
  align-items: center;
  color: var(--muted);
  display: flex;
  font-size: 0.78rem;
  gap: 0.3rem;
  grid-column: 2;
}

.receiptTotals {
  border-top: 1px solid var(--line);
  display: grid;
  grid-gap: 0.45rem;
  gap: 0.45rem;
  padding: 0.9rem 1.1rem;
}

.receiptTotals > div {
  color: var(--muted);
  display: flex;
  font-size: 0.88rem;
  justify-content: space-between;
}

.receiptTotalsGrand {
  border-top: 1px dashed var(--line);
  color: var(--ink) !important;
  font-size: 1.05rem !important;
  font-weight: 800;
  margin-top: 0.25rem;
  padding-top: 0.65rem;
}

.receiptTotalsGrand span:last-child {
  color: var(--brass);
}

.receiptSteps {
  border-top: 1px solid var(--line);
  padding: 0.9rem 1.1rem 1rem;
}

.receiptStepsLabel {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  margin: 0 0 0.65rem;
  text-transform: uppercase;
}

.receiptStepper {
  display: grid;
  grid-gap: 0.5rem;
  gap: 0.5rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}

.receiptStepper li {
  display: grid;
  grid-gap: 0.2rem;
  gap: 0.2rem;
  justify-items: center;
  position: relative;
  text-align: center;
}

.receiptStepper li:not(:last-child)::after {
  background: var(--line);
  content: "";
  height: 2px;
  left: calc(50% + 18px);
  position: absolute;
  top: 15px;
  width: calc(100% - 36px);
  z-index: 0;
}

.receiptStepper li.done:not(:last-child)::after {
  background: var(--blue);
}

.receiptStepIcon {
  align-items: center;
  background: var(--mist);
  border: 2px solid var(--line);
  border-radius: 50%;
  color: var(--muted);
  display: flex;
  height: 32px;
  justify-content: center;
  position: relative;
  width: 32px;
  z-index: 1;
}

.receiptStepper li.done .receiptStepIcon {
  background: var(--blue-soft);
  border-color: var(--blue);
  color: var(--blue);
}

.receiptStepTitle {
  color: var(--ink);
  font-size: 0.72rem;
  font-weight: 700;
}

.receiptStepDetail {
  color: var(--muted);
  font-size: 0.65rem;
  line-height: 1.25;
}

.receiptPlatform {
  align-items: flex-start;
  background: linear-gradient(135deg, rgba(14, 111, 143, 0.08), rgba(196, 135, 75, 0.1));
  border-top: 1px solid var(--line);
  display: flex;
  gap: 0.65rem;
  padding: 0.9rem 1.1rem 1rem;
}

.receiptPlatform svg {
  color: var(--blue);
  flex-shrink: 0;
}

.receiptPlatform strong {
  color: var(--blue);
  display: block;
  font-size: 0.78rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.receiptPlatform span {
  color: var(--muted);
  display: block;
  font-size: 0.82rem;
  line-height: 1.45;
  margin-top: 0.15rem;
}

.imageFallback {
  align-items: center;
  background:
    linear-gradient(135deg, rgba(14, 111, 143, 0.18), rgba(196, 135, 75, 0.16)),
    repeating-linear-gradient(45deg, #e8f0f4 0 12px, #f7fbfd 12px 24px);
  color: var(--stone);
  display: flex;
  font-weight: 800;
  justify-content: center;
  min-height: 100%;
  padding: 1rem;
  text-align: center;
}

.siteFooter {
  background: #101820;
  color: #f8fcff;
  display: grid;
  grid-gap: 1.4rem;
  gap: 1.4rem;
  grid-template-columns: 1.2fr 1fr 1fr 0.8fr;
  margin-top: 3rem;
  padding: 2rem max(1.25rem, calc((100vw - var(--page-max)) / 2 + 1.25rem));
}

.siteFooter h2,
.siteFooter h3,
.siteFooter p {
  margin-top: 0;
}

.siteFooter p,
.siteFooter a {
  color: #d9e5ec;
  display: block;
  line-height: 1.55;
}

.footerDemoNote {
  font-size: 0.78rem;
  margin-top: 0.75rem;
  opacity: 0.75;
}

@media (max-width: 900px) {
  .categoryBand {
    display: flex;
    gap: 0.55rem;
    overflow-x: auto;
    padding-bottom: 0.5rem;
    scrollbar-width: none;
  }

  .categoryTile {
    flex: 0 0 118px;
    min-height: 88px;
  }

  .serviceStrip {
    display: flex;
    gap: 0.6rem;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .serviceStrip article {
    flex: 0 0 200px;
  }
}

@media (max-width: 1023px) {
  .trustRail {
    justify-content: flex-start;
    overflow-x: auto;
  }
}

@media (max-width: 980px) {
  .commerceHero,
  .productDetail,
  .checkoutLayout,
  .catalogShell,
  .siteFooter,
  .showroomFeature {
    grid-template-columns: 1fr;
  }

  .heroStage {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .galleryPanel > img,
  .galleryPanel > .imageFallback {
    height: auto;
    min-height: 0;
  }

  .filterPanel,
  .buyBox,
  .summaryPanel {
    position: static;
  }
}

@media (max-width: 767px) {
  body {
    background: #f6f9fb;
  }

  .navBar {
    position: relative;
  }

  .trustRail {
    font-size: 0.72rem;
    gap: 0.55rem 0.85rem;
    justify-content: flex-start;
  }

  .navBar {
    gap: 0.55rem;
    grid-template-columns: minmax(0, 1fr) 44px 44px;
    justify-content: space-between;
    padding: 0.7rem 0.85rem 0.8rem;
  }

  .brandMark span {
    font-size: 1.35rem;
  }

  .brandMark svg {
    height: 25px;
    width: 25px;
  }

  .cartButton {
    align-self: center;
    grid-column: 3;
    grid-row: 1;
    height: 44px;
    min-height: 44px;
    min-width: 44px;
    width: 44px;
  }

  .cartButtonIcon {
    height: 44px;
    width: 44px;
  }

  .demoGuideInner {
    grid-template-columns: 1fr;
    padding: 0.65rem 2.25rem 0.65rem 0.85rem;
  }

  .demoGuideSteps {
    width: 100%;
  }

  .demoGuideTags {
    display: flex;
  }

  .menuButton {
    display: inline-flex;
    grid-column: 2;
    grid-row: 1;
  }

  .categoryBand {
    margin-left: -0.85rem;
    margin-right: -0.85rem;
    padding-left: 0.85rem;
    padding-right: 0.85rem;
  }

  .searchBox {
    display: none;
  }

  .searchBox input {
    font-size: 0.95rem;
  }

  .primaryNav {
    display: none;
  }

  .commerceHero,
  .serviceStrip,
  .pageSection,
  .categoryHero,
  .catalogShell,
  .productPage,
  .checkoutPage,
  .receiptPage,
  .showroomFeature {
    padding-left: 0.85rem;
    padding-right: 0.85rem;
  }

  .homeStorefrontHero,
  .homeStorefrontHero > img,
  .homeStorefrontHero > .imageFallback,
  .homeStorefrontHeroInner {
    min-height: min(88vh, 680px);
  }

  .homeStorefrontHeroInner {
    grid-template-columns: 1fr;
    padding-bottom: 5rem;
  }

  .homeOutletSlideshowStage {
    min-height: 360px;
  }

  .homeOutletSlide > img,
  .homeOutletSlide > .imageFallback {
    min-height: 360px;
  }

  .homeStorefrontHeroCopy h1 span {
    display: inline;
  }

  .homeStorefrontActions .primaryAction,
  .homeStorefrontActions .secondaryAction {
    flex: 1 1 100%;
    justify-content: center;
    width: 100%;
  }

  .homeStorefrontCategories {
    margin-top: -2.5rem;
    width: calc(100% - 1.7rem);
  }

  .homeCategoryGrid {
    gap: 0.45rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .homeCategoryTile span {
    font-size: 0.72rem;
    left: 0.45rem;
    right: 0.45rem;
  }

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

  .commerceHero {
    padding-bottom: 0.7rem;
    padding-top: 0.85rem;
  }

  .heroStage {
    border-radius: 22px;
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .heroPanel {
    order: 2;
    padding: 1rem 1rem 1.1rem;
  }

  .heroPanel h1 span {
    display: inline;
  }

  .heroVisual {
    min-height: 240px;
    order: 1;
  }

  .heroVisualOverlay {
    left: 0.75rem;
    right: 0.75rem;
  }

  .heroSpotlight {
    grid-template-columns: 64px minmax(0, 1fr);
  }

  .heroSpotlightCta {
    display: none;
  }

  .sectionEyebrow {
    font-size: 0.66rem;
    letter-spacing: 0.06em;
  }

  .heroActions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.25rem;
  }

  .heroActions .primaryAction,
  .heroActions .secondaryAction {
    flex: 1 1 auto;
    justify-content: center;
    min-height: 40px;
    min-width: calc(50% - 0.25rem);
  }

  .heroTrust {
    flex-wrap: nowrap;
    gap: 0.75rem;
    overflow-x: auto;
    padding-bottom: 0.15rem;
  }

  .productInfo .addButton {
    min-height: 40px;
    width: 100%;
  }

  .productGrid {
    gap: 0.7rem;
    grid-template-columns: 1fr;
  }

  .formGrid,
  .deliveryOptions,
  .showroomImages {
    grid-template-columns: 1fr;
  }

  .productCard {
    display: grid;
    grid-template-columns: 118px minmax(0, 1fr);
    border-radius: 16px;
    grid-template-rows: auto;
    min-height: 158px;
  }

  .productMedia {
    min-height: 158px;
  }

  .productInfo {
    align-content: start;
    gap: 0.48rem;
    padding: 0.72rem;
  }

  .productInfo h3 {
    font-size: 0.94rem;
  }

  .brandLine,
  .articleLine,
  .stockLine {
    font-size: 0.65rem;
  }

  .priceRow strong {
    font-size: 1rem;
  }

  .priceRow span {
    font-size: 0.78rem;
  }

  .badgeRow {
    left: 0.45rem;
    top: 0.45rem;
  }

  .badgeRow span {
    font-size: 0.66rem;
    padding: 0.22rem 0.45rem;
  }

  .addButton {
    font-size: 0.84rem;
    min-height: 40px;
    padding: 0.55rem;
  }

  .showroomImages img,
  .showroomImages .imageFallback {
    height: 160px;
    margin-top: 0;
  }

  .showroomFeature {
    gap: 0.9rem;
  }

  .showroomCopy h2,
  .sectionHeader h2,
  .categoryHero h1,
  .checkoutPanel h1,
  .receiptPanel h1,
  .receiptHero h1 {
    font-size: 1.75rem;
    letter-spacing: -0.035em;
  }

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

  .receiptCard {
    position: static;
  }

  .receiptMetaGrid {
    grid-template-columns: 1fr;
    max-width: none;
  }

  .receiptKlarnaBadge {
    max-width: none;
  }

  .receiptHeroActions {
    flex-direction: column;
  }

  .receiptHeroActions .primaryAction,
  .receiptHeroActions .secondaryAction {
    justify-content: center;
    width: 100%;
  }

  .receiptStepper {
    gap: 0.35rem;
  }

  .receiptStepDetail {
    display: none;
  }

  .receiptStepTitle {
    font-size: 0.66rem;
  }

  .showroomCopy p,
  .categoryHero p,
  .productLead {
    font-size: 0.98rem;
    line-height: 1.5;
  }

  .sectionHeader {
    align-items: flex-start;
    gap: 0.8rem;
    flex-direction: column;
  }

  .checkoutPanel,
  .summaryPanel,
  .receiptPanel,
  .buyBox,
  .showroomCopy {
    border-radius: 18px;
    padding: 1rem;
  }

  .catalogShell {
    gap: 0.9rem;
  }

  .filterPanel {
    display: flex;
    gap: 0.5rem;
    margin: 0 -0.85rem;
    overflow-x: auto;
    padding: 0.75rem 0.85rem;
    scrollbar-width: none;
  }

  .filterPanel strong,
  .filterPanel span,
  .filterPanel a {
    background: white;
    border: 1px solid var(--line);
    border-radius: 999px;
    flex: 0 0 auto;
    min-height: 36px;
    padding: 0.5rem 0.75rem;
  }

  .resultsBar {
    font-size: 0.86rem;
  }

  .productDetail {
    gap: 1rem;
  }


  .thumbRow {
    gap: 0.5rem;
  }

  .thumbRow img,
  .thumbRow .imageFallback {
    height: 74px;
  }

  .buyBox {
    max-width: none;
  }

  .buyBox h1 {
    font-size: 1.5rem;
  }

  .galleryPanel > img,
  .galleryPanel > .imageFallback {
    height: 220px;
    max-height: none;
  }

  .checkoutLayout {
    display: flex;
    flex-direction: column;
  }

  .checkoutPanel {
    order: 2;
  }

  .summaryPanel {
    order: 1;
    width: 100%;
  }

  .summaryLine {
    align-items: flex-start;
  }

  .siteFooter {
    gap: 1rem;
    grid-template-columns: 1fr;
    margin-top: 1.4rem;
    padding: 1.5rem 0.85rem;
  }

  .cartToast {
    bottom: max(1rem, env(safe-area-inset-bottom));
    flex-wrap: wrap;
  }

  .cartOverlay.open {
    -webkit-backdrop-filter: blur(3px);
            backdrop-filter: blur(3px);
  }

  .cartDrawer {
    border-left: 0;
    border-radius: 24px 24px 0 0;
    bottom: 0;
    box-shadow: 0 -12px 40px rgba(23, 41, 55, 0.18);
    height: auto;
    left: 0;
    max-height: min(92dvh, 640px);
    right: 0;
    top: auto;
    transform: translateY(100%);
    width: 100%;
  }

  .cartDrawerFooter {
    border-radius: 20px 20px 0 0;
    margin: 0 0.5rem max(0.5rem, env(safe-area-inset-bottom));
  }

  .cartDrawer.open {
    transform: translateY(0);
  }

  .cartDrawerHandle {
    background: var(--line);
    border-radius: 999px;
    display: block;
    flex-shrink: 0;
    height: 4px;
    margin: 0.5rem auto 0;
    width: 36px;
  }

  .cartDrawerHeader {
    padding: 0.65rem 1rem 0.75rem;
  }

  .cartDrawerFooter {
    padding-bottom: max(1rem, env(safe-area-inset-bottom));
  }

  .cartItem {
    grid-template-columns: 52px minmax(0, 1fr);
    padding: 0.75rem 1rem;
  }

  .cartItemThumb img,
  .cartItemThumb .imageFallback {
    height: 52px;
    width: 52px;
  }

  .cartItemName {
    font-size: 0.84rem;
    overflow-wrap: anywhere;
  }

  .cartCheckoutBtn {
    font-size: 0.9rem;
  }

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

  .inspirationHero img,
  .inspirationHero .imageFallback {
    height: 220px;
  }

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

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

  .specialistCta .primaryAction {
    justify-content: center;
    width: 100%;
  }

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

  .estimatorTeaser .primaryAction {
    justify-content: center;
    width: 100%;
  }

  .estimatorHeader {
    flex-direction: column;
    gap: 0.65rem;
  }

  .estimatorClose {
    align-self: flex-start;
  }

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

  .estimatorQuote {
    border-left: 0;
    border-top: 1px solid var(--line);
    padding: 1rem 1.15rem 1.2rem;
  }

  .estimatorQuoteInner {
    position: static;
  }

  .estimatorRail {
    gap: 0.5rem;
    grid-template-columns: 1fr;
  }

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

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

  .estimatorChips:not(.estimatorChipsMulti) {
    display: grid;
    grid-template-columns: 1fr;
  }

  .estimatorChip {
    justify-content: flex-start;
    width: 100%;
  }

  .stickyCartInner {
    flex-wrap: wrap;
  }

  .stickyCartInner .primaryAction {
    width: 100%;
  }
}

@media (max-width: 430px) {
  .brandMark span {
    font-size: 1.25rem;
  }

  .heroPanel h1 {
    font-size: 1.95rem;
  }
}


/* Tablet: stacked nav, 2-col grids */
@media (min-width: 768px) and (max-width: 1023px) {
  .navBar {
    gap: 0.65rem;
    grid-template-columns: auto 1fr auto;
    padding: 0.85rem 1.1rem;
  }

  .menuButton {
    display: none;
  }

  .searchBox {
    display: flex;
    grid-column: 1 / -1;
    min-height: 42px;
  }

  .primaryNav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    grid-column: 1 / -1;
  }

  .primaryNav a {
    background: white;
    border: 1px solid var(--line);
    border-radius: 999px;
    font-size: 0.88rem;
    min-height: 36px;
    padding: 0.4rem 0.7rem;
  }

  .mobileNav {
    display: none !important;
  }

  .categoryBand {
    display: grid !important;
    grid-gap: 0.6rem;
    gap: 0.6rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-left: 0;
    margin-right: 0;
    overflow: visible;
    padding-left: 1.1rem;
    padding-right: 1.1rem;
  }

  .categoryTile {
    flex: unset;
    min-height: 92px;
  }

  .serviceStrip {
    display: grid !important;
    grid-gap: 0.65rem;
    gap: 0.65rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
  }

  .serviceStrip article {
    flex: unset;
  }

  .productGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .productCard {
    grid-template-columns: unset;
    grid-template-rows: 160px 1fr;
  }

  .catalogShell {
    grid-template-columns: 220px 1fr;
  }

  .productDetail {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 320px);
  }

  .checkoutLayout {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 320px);
  }

  .homeCategoryGrid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .homeCampaignGrid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .specialistGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

/* Desktop: full nav row, multi-column layouts */
@media (min-width: 1024px) {
  .navBar {
    gap: 1rem;
    grid-template-columns: auto minmax(220px, 1fr) auto auto;
    padding: 0.9rem 1.25rem;
  }

  .menuButton,
  .mobileNav {
    display: none !important;
  }

  .searchBox {
    display: flex;
    grid-column: auto;
    min-height: 44px;
  }

  .primaryNav {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.85rem;
    grid-column: auto;
  }

  .primaryNav a {
    background: transparent;
    border: 0;
    border-radius: 0;
    font-size: 0.92rem;
    min-height: auto;
    padding: 0;
  }

  .categoryBand {
    display: grid !important;
    grid-gap: 0.7rem;
    gap: 0.7rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: visible;
    padding-bottom: 0;
  }

  .categoryTile {
    flex: unset;
    min-height: 100px;
  }

  .serviceStrip {
    display: grid !important;
    grid-gap: 0.7rem;
    gap: 0.7rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: visible;
  }

  .serviceStrip article {
    flex: unset;
  }

  .showroomFeature {
    align-items: center;
    grid-template-columns: 0.9fr 1.1fr;
  }

  .productGrid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .productCard {
    grid-template-columns: unset;
    grid-template-rows: 168px 1fr;
  }

  .catalogShell {
    grid-template-columns: 230px 1fr;
  }

  .filterPanel {
    position: -webkit-sticky;
    position: sticky;
    top: 108px;
  }

  .productDetail {
    grid-template-columns: minmax(0, 1fr) 340px;
  }

  .buyBox {
    max-width: 340px;
    position: -webkit-sticky;
    position: sticky;
    top: 108px;
  }

  .checkoutLayout {
    grid-template-columns: minmax(0, 1fr) 340px;
  }

  .summaryPanel {
    position: -webkit-sticky;
    position: sticky;
    top: 108px;
  }

  .siteFooter {
    grid-template-columns: 1.2fr 1fr 1fr 0.8fr;
  }

  .cartDrawer {
    height: 100dvh;
    max-height: 100dvh;
    top: 0;
    transform: translateX(100%);
    width: min(380px, calc(100vw - 24px));
  }

  .cartDrawer.open {
    transform: translateX(0);
  }

  .cartDrawerHandle {
    display: none;
  }

  .demoGuideInner {
    grid-template-columns: 1.1fr auto auto;
  }

  .demoGuideTags {
    display: flex;
  }
}

@media (min-width: 1280px) {
  .categoryBand {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .productGrid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[14].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"app/layout.tsx","import":"DM_Sans","arguments":[{"subsets":["latin"],"variable":"--font-sans"}],"variableName":"sans"} ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* latin-ext */
@font-face {
  font-family: '__DM_Sans_0d7163';
  font-style: normal;
  font-weight: 100 1000;
  font-display: swap;
  src: url(/_next/static/media/7ab938503e4547a1-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__DM_Sans_0d7163';
  font-style: normal;
  font-weight: 100 1000;
  font-display: swap;
  src: url(/_next/static/media/13971731025ec697-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: '__DM_Sans_Fallback_0d7163';src: local("Arial");ascent-override: 94.90%;descent-override: 29.66%;line-gap-override: 0.00%;size-adjust: 104.53%
}.__className_0d7163 {font-family: '__DM_Sans_0d7163', '__DM_Sans_Fallback_0d7163';font-style: normal
}.__variable_0d7163 {--font-sans: '__DM_Sans_0d7163', '__DM_Sans_Fallback_0d7163'
}

/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[14].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"app/layout.tsx","import":"Fraunces","arguments":[{"subsets":["latin"],"variable":"--font-display","weight":["600","700"]}],"variableName":"display"} ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* vietnamese */
@font-face {
  font-family: '__Fraunces_48c46e';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/fb526027db1fc1ae-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Fraunces_48c46e';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/4da3161b738b07dd-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Fraunces_48c46e';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: '__Fraunces_48c46e';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/fb526027db1fc1ae-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Fraunces_48c46e';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/4da3161b738b07dd-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Fraunces_48c46e';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: '__Fraunces_Fallback_48c46e';src: local("Times New Roman");ascent-override: 84.71%;descent-override: 22.09%;line-gap-override: 0.00%;size-adjust: 115.45%
}.__className_48c46e {font-family: '__Fraunces_48c46e', '__Fraunces_Fallback_48c46e';font-style: normal
}.__variable_48c46e {--font-display: '__Fraunces_48c46e', '__Fraunces_Fallback_48c46e'
}

