/** Shopify CDN: Minification failed

Line 9:8 Expected identifier but found whitespace
Line 9:9 Unexpected "clamp("
Line 72:0 Unexpected "}"

**/
/* sora-css-part2-20260729 */
    gap: clamp(1.5rem, 3vw, 2.5rem);
  }

  .pdp__story--split .pdp__story-visual {
    min-height: 280px;
    max-height: min(520px, 52vh);
  }

  .pdp__linked {
    grid-column: 1 / -1;
  }

  .pdp__carousel {
    max-width: none;
    width: 100%;
  }

  .pdp__carousel-viewport {
    max-width: none;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3;
    max-height: 550px !important;
  }

  .pdp__buy-inner {
    position: relative;
    top: auto;
  }

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

  .pdp__linked-item {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .pdp__linked-item img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1;
  }

  .linked {
    grid-column: 1 / -1;
  }

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

  .linked-item {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .linked-item__media {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
  }
}

@media (min-width: 980px) {
  .hero:not(.hero--cinema) {
    grid-template-columns: 1.1fr 0.9fr;
    align-items: center;
  }

  .hero--cinema:not([data-sora-hero-cinema]) {
    grid-template-columns: 1fr;
    aspect-ratio: auto;
    height: min(var(--hero-viewport-cap, calc(100svh - 4.6rem)), calc(100vw * 9 / 16));
    min-height: 0;
    max-height: var(--hero-viewport-cap, calc(100svh - 4.6rem));
  }

  [data-sora-hero-cinema].hero--cinema {
    grid-template-columns: 1fr;
    aspect-ratio: 3 / 2;
    height: auto;
    max-height: none;
  }

  .split {
    grid-template-columns: 1.2fr 0.8fr;
    align-items: center;
  }

  .product-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.85rem;
  }

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

@media (min-width: 1200px) {
  .product-grid--dense {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

/* ——— SORA Applied (major plant) ——— */
.applied-hero {
  display: grid;
  gap: 1.5rem;
  padding: clamp(2rem, 5vw, 3.5rem) clamp(1.25rem, 4vw, 3rem) 2rem;
  max-width: 1120px;
  margin: 0 auto;
}

.applied-hero h1 {
  font-family: var(--font-display);
  font-size: clamp(1.7rem, 3.6vw, 2.55rem);
  line-height: 1.15;
  margin: 0 0 0.85rem;
  max-width: 20ch;
  letter-spacing: -0.02em;
}

.applied-hero__stat {
  padding: 1.25rem 1.35rem;
  background: var(--ink);
  color: #f4f8fa;
  border-radius: 14px;
}

.applied-hero__stat-label {
  margin: 0 0 0.75rem;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 700;
  color: rgba(126, 184, 201, 0.95);
}

.applied-hero__stat ul {
  margin: 0;
  padding-left: 1.1rem;
}

.applied-hero__stat li {
  margin: 0.4rem 0;
  color: rgba(244, 248, 250, 0.9);
}

.applied-section {
  padding: clamp(2.25rem, 5vw, 3.5rem) clamp(1.25rem, 4vw, 3rem);
  max-width: 1120px;
  margin: 0 auto;
}

.applied-section--dark {
  max-width: none;
  background: #0c1419;
  color: #f4f8fa;
}

.applied-section--dark .edge-section__head,
.applied-section--dark .applied-rfq {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
}

.applied-section--dark .edge-kicker {
  color: rgba(126, 184, 201, 0.95);
}

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

.applied-tile {
  display: grid;
  grid-template-rows: auto 1fr;
  text-align: left;
  border: 1px solid rgba(12, 20, 25, 0.08);
  background: rgba(255, 255, 255, 0.82);
  border-radius: 12px;
  overflow: hidden;
  cursor: pointer;
  padding: 0;
  font: inherit;
  color: inherit;
  transition: transform 0.2s ease, border-color 0.2s ease;
}

.applied-tile:hover {
  transform: translateY(-2px);
  border-color: rgba(47, 111, 126, 0.45);
}

.applied-tile__media {
  aspect-ratio: 4 / 3;
  display: grid;
  place-items: center;
  background: var(--media-plate);
}

.applied-tile__glyph {
  width: 3rem;
  height: 3rem;
  border-radius: 10px;
  display: grid;
  place-items: center;
  font-family: var(--font-display);
  font-size: 1.4rem;
  font-weight: 700;
  color: #f4f8fa;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.applied-tile__body {
  display: grid;
  gap: 0.25rem;
  padding: 0.75rem 0.8rem 0.9rem;
}

.applied-tile__body strong {
  font-size: 0.88rem;
  line-height: 1.3;
}

.applied-tile__meta {
  font-size: 0.74rem;
  color: var(--glacier);
  font-weight: 600;
}

.applied-tile__cta {
  margin-top: 0.25rem;
  font-size: 0.78rem;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.applied-rfq {
  display: grid;
  gap: 1.5rem;
  padding: 0 clamp(1.25rem, 4vw, 3rem);
}

.applied-rfq h2 {
  font-family: var(--font-display);
  margin: 0 0 0.55rem;
  font-size: clamp(1.45rem, 3vw, 2rem);
}

.applied-rfq__lede {
  margin: 0 0 1rem;
  color: rgba(244, 248, 250, 0.85);
  max-width: 46ch;
}

.applied-rfq__lines {
  display: grid;
  gap: 0.45rem;
}

.applied-line {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 0.65rem;
  align-items: center;
  padding: 0.65rem 0.75rem;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 0.88rem;
}

.applied-line button {
  border: 0;
  background: transparent;
  color: rgba(244, 248, 250, 0.75);
  font: inherit;
  font-size: 0.78rem;
  text-decoration: underline;
  cursor: pointer;
}

.applied-form {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
}

.applied-form label {
  display: grid;
  gap: 0.3rem;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(244, 248, 250, 0.7);
}

.applied-form input,
.applied-form select,
.applied-form textarea {
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
  border-radius: 10px;
  padding: 0.7rem 0.8rem;
  font: inherit;
  font-size: 0.95rem;
  text-transform: none;
  letter-spacing: normal;
  font-weight: 400;
}

.applied-form option {
  color: #0c1419;
}

.applied-form__full {
  grid-column: 1 / -1;
}

.applied-section--dark .btn-primary {
  background: #fff;
  color: var(--ink);
}

@media (min-width: 720px) {
  .applied-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .applied-form {
    grid-template-columns: 1fr 1fr;
  }
}

@media (min-width: 980px) {
  .applied-hero {
    grid-template-columns: 1.35fr 0.75fr;
    align-items: end;
  }

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

  .applied-rfq {
    grid-template-columns: 0.95fr 1.05fr;
    align-items: start;
    gap: 2rem;
  }
}

/* ——— SORA Edge Cooling (commercial) ——— */
.edge {
  padding-bottom: 2rem;
}

.edge-hero {
  display: grid;
  gap: 1.5rem;
  padding: clamp(2rem, 5vw, 3.5rem) clamp(1.25rem, 4vw, 3rem) 2rem;
  max-width: 1120px;
  margin: 0 auto;
}

.edge-kicker {
  margin: 0 0 0.5rem;
  font-size: 0.75rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--glacier);
}

.edge-hero h1 {
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 3.8vw, 2.6rem);
  line-height: 1.15;
  margin: 0 0 0.85rem;
  max-width: 22ch;
  letter-spacing: -0.02em;
}

.edge-lede {
  margin: 0 0 1.25rem;
  color: var(--ink-soft);
  max-width: 48ch;
  font-size: 1.02rem;
}

.edge-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-bottom: 0.85rem;
}

.edge-fine {
  margin: 0;
  font-size: 0.8rem;
  color: var(--glacier);
}

.edge-hero__panel {
  padding: 1.25rem 1.35rem;
  background: var(--ink);
  color: #f4f8fa;
  border-radius: 14px;
}

.edge-hero__panel h2 {
  font-family: var(--font-display);
  font-size: 1.2rem;
  margin: 0 0 0.75rem;
}

.edge-hero__panel ul {
  margin: 0 0 1rem;
  padding-left: 1.1rem;
  color: rgba(244, 248, 250, 0.88);
}

.edge-hero__panel li {
  margin: 0.35rem 0;
}

.edge-hero__panel .edge-fine {
  color: rgba(126, 184, 201, 0.95);
}

.edge-strip {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-block: 1px solid rgba(12, 20, 25, 0.08);
  background: rgba(255, 255, 255, 0.55);
}

.edge-strip p {
  margin: 0;
  padding: 0.95rem 0.75rem;
  text-align: center;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--glacier);
  border-right: 1px solid rgba(12, 20, 25, 0.06);
}

.edge-strip p:nth-child(2n) {
  border-right: 0;
}

.edge-section {
  padding: clamp(2.25rem, 5vw, 3.5rem) clamp(1.25rem, 4vw, 3rem);
  max-width: 1120px;
  margin: 0 auto;
}

.edge-section--alt {
  max-width: none;
  background: rgba(255, 255, 255, 0.42);
  border-block: 1px solid rgba(12, 20, 25, 0.05);
}

.edge-section--alt .edge-section__head,
.edge-section--alt .edge-kit,
.edge-section--alt .edge-scope {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
}

.edge-section__head {
  margin-bottom: 1.35rem;
  max-width: 640px;
}

.edge-section__head h2 {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  margin: 0 0 0.5rem;
}

.edge-section__head p {
  margin: 0;
  color: var(--ink-soft);
}

.edge-steps {
  display: grid;
  gap: 0.85rem;
}

.edge-steps article {
  padding: 1.1rem 1.15rem;
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid rgba(12, 20, 25, 0.07);
  border-radius: 14px;
}

.edge-step-num {
  margin: 0 0 0.35rem;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  font-weight: 700;
  color: var(--glacier);
}

.edge-steps h3 {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
}

.edge-steps p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 0.92rem;
}

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

.edge-card {
  display: grid;
  text-decoration: none;
  color: inherit;
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(12, 20, 25, 0.07);
  border-radius: 14px;
  overflow: hidden;
}

.edge-card__media {
  aspect-ratio: 1;
  background: var(--media-plate);
}

.edge-card__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 2%;
  box-sizing: border-box;
  display: block;
  background: transparent;
}

.edge-card__body {
  padding: 0.75rem 0.85rem 0.95rem;
}

.edge-card__badge {
  margin: 0 0 0.25rem;
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--glacier);
}

.edge-card h3 {
  margin: 0 0 0.35rem;
  font-size: 0.92rem;
  line-height: 1.3;
}

.edge-card__price {
  margin: 0;
  font-weight: 700;
}

.edge-cta {
  display: grid;
  gap: 1.25rem;
  padding: 1.35rem;
  background: var(--ink);
  color: #f4f8fa;
  border-radius: 16px;
}

.edge-cta h2 {
  font-family: var(--font-display);
  margin: 0 0 0.55rem;
  font-size: clamp(1.45rem, 3vw, 2rem);
}

.edge-cta > div > p {
  margin: 0 0 0.85rem;
  color: rgba(244, 248, 250, 0.88);
}

.edge-checklist {
  margin: 0;
  padding-left: 1.1rem;
  color: rgba(244, 248, 250, 0.88);
}

.edge-cta__actions {
  display: grid;
  gap: 0.65rem;
  align-content: start;
}

.edge-cta__price {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.8rem;
  font-weight: 600;
}

.edge-cta .btn-primary {
  background: #fff;
  color: var(--ink);
}

.edge-cta .btn-ghost {
  border-color: rgba(255, 255, 255, 0.35);
  color: #fff;
}

.edge-scope {
  display: grid;
  gap: 0.85rem;
}

.edge-scope article {
  padding: 1.1rem 1.15rem;
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid rgba(12, 20, 25, 0.07);
  border-radius: 14px;
}

.edge-scope h3 {
  margin: 0 0 0.35rem;
  font-family: var(--font-display);
}

.edge-scope p {
  margin: 0;
  color: var(--ink-soft);
}

@media (min-width: 720px) {
  .edge-strip {
    grid-template-columns: repeat(4, 1fr);
  }

  .edge-strip p {
    border-right: 1px solid rgba(12, 20, 25, 0.06);
  }

  .edge-strip p:last-child {
    border-right: 0;
  }

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

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

  .edge-scope {
    grid-template-columns: 1fr 1fr;
  }
}

@media (min-width: 980px) {
  .edge-hero {
    grid-template-columns: 1.35fr 0.75fr;
    align-items: end;
  }

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

  .edge-cta {
    grid-template-columns: 1.3fr 0.7fr;
    align-items: center;
  }
}

body.sora-skin #header-group,
body.sora-skin .shopify-section-group-header-group,
body.sora-skin .shopify-section-group-footer-group,
body.sora-skin .header-section,
body.sora-skin .shopify-section-header { display:none!important }
.product-media,.sora-product-media,.product-hero-media,.linked-item__media,.thumb{aspect-ratio:1/1!important;overflow:hidden!important;background:var(--media-plate)!important;border:none!important;box-shadow:none!important}
.product-media img,.sora-product-media img,.product-hero-media img,.linked-item__media img,.cart-line img,.compare-card img,.thumb img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;display:block!important;background:transparent!important;padding:2%!important}

/* Flat PDP gallery — lifestyle slides must cover full frame (not contain+pad) */
.pdp--flat-gallery .product-gallery__img--lifestyle,
.pdp--flat-gallery .pdp__slide--lifestyle .product-gallery__img,
.pdp__slide--flat.pdp__slide--lifestyle .product-gallery__img {
  object-fit: cover !important;
  object-position: center !important;
  padding: 0 !important;
  mix-blend-mode: normal !important;
  background: transparent !important;
}
.pdp--flat-gallery .product-gallery__img--packshot,
.pdp--flat-gallery .pdp__slide--packshot .product-gallery__img {
  object-fit: contain !important;
  object-position: center !important;
  padding: 3% !important;
  filter: none !important;
}

.pdp--flat-gallery .pdp__slide--packshot,
.pdp--flat-gallery .pdp__slide--packshot .product-gallery__slide {
  background: #ffffff !important;
}
.pdp__carousel-viewport,.pdp__slide,.pdp__thumb{background:var(--media-plate)!important;border:none!important;box-shadow:none!important}
.pdp__slide--packshot img{object-fit:contain!important;padding:3%!important;background:transparent!important}
.pdp__slide--lifestyle:not(.pdp__slide--composite) .product-media__lifestyle-bg{object-fit:cover!important;padding:0!important;mix-blend-mode:normal!important;filter:none!important;background:transparent!important}
.pdp__slide--composite .product-media__flattened-canvas{object-fit:cover!important;padding:0!important;mix-blend-mode:normal!important;filter:none!important;background:transparent!important;width:100%!important;height:100%!important;aspect-ratio:1/1!important}
.pdp__thumb img,.pdp__linked-item img,.bag__media img{object-fit:contain!important;padding:6%!important;background:transparent!important}

/* ═══════════════════════════════════════════════════════════════════
   Editorial catalogue — warm wash, asymmetric grid, layered depth,
   hover micro-interactions, quick add  (design-magazine treatment)
   ═══════════════════════════════════════════════════════════════════ */

.shop-all {
  background: var(--wash-warm, #faf7f2);
  border-radius: 28px;
  padding: clamp(1.4rem, 4vw, 3rem) clamp(0.9rem, 3vw, 2.4rem) clamp(1.8rem, 4vw, 3.2rem);
}

.product-grid,
.product-grid--dense {
  grid-auto-flow: dense;
}

/* Apple-quiet cards — base hairline rules win; no editorial shadow override */

/* whole-card link overlay (cards are <article> so quick-add form stays valid) */
.product-card__link {
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: inherit;
}

/* ——— 2×2 editorial feature cards ——— */
.product-card--feature {
  grid-column: span 2;
  grid-row: span 2;
  display: flex;
  flex-direction: column;
}

.product-card--feature .product-media {
  aspect-ratio: auto !important;
  flex: 1;
  min-height: 0;
}

.product-card--feature .product-media img {
  object-fit: cover !important;
  padding: 0 !important;
  mix-blend-mode: normal !important;
  filter: none !important;
}

/* Fresh-air / tower heroes: product.featured_image packshot, not wall lifestyle */
.product-card--feature-packshot .product-media {
  background: var(--media-plate, #f3f1ec) !important;
}
.product-card--feature-packshot .product-media img {
  object-fit: contain !important;
  padding: 6% !important;
}

/* Feature cards: image above, copy below — no gradient overlay */
.product-card--feature .product-body {
  position: static;
  padding: 1rem 1.15rem 1.1rem;
  background: #ffffff;
  pointer-events: auto;
}

.product-card--feature .product-body h3 {
  font-size: clamp(1rem, 1.6vw, 1.15rem);
  -webkit-line-clamp: 2;
}

.product-card--feature .product-body__foot {
  margin-top: 0.65rem;
}

/* ——— quick add ——— in-flow beside price; solid minimal CTA */
.product-card .quick-add {
  position: relative;
  z-index: 3;
  margin: 0;
  flex-shrink: 0;
  opacity: 1;
  transform: none;
  pointer-events: auto;
}

.product-card .quick-add__btn {
  width: auto;
  min-width: 3.25rem;
  border: none;
  cursor: pointer;
  font: 500 0.8125rem/1 var(--font-body, "Sora", sans-serif);
  letter-spacing: 0.01em;
  text-transform: none;
  color: #ffffff;
  background: var(--ink, #0c1419);
  padding: 0.42rem 0.85rem;
  border-radius: 980px;
  backdrop-filter: none;
  transition: background 0.18s ease, opacity 0.18s ease;
}

.product-card .quick-add__btn:hover {
  background: var(--glacier, #2f6f7e);
}

/* Accessory cards keep hover-reveal overlay pattern */
.acc-card .quick-add {
  position: absolute;
  left: 0.6rem;
  right: 0.6rem;
  bottom: 0.6rem;
  z-index: 3;
  margin: 0;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.3s ease, transform 0.3s ease;
  pointer-events: none;
}

.acc-card:hover .quick-add,
.acc-card:focus-within .quick-add {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.acc-card .quick-add__btn {
  width: 100%;
  border: none;
  cursor: pointer;
  font: 600 0.76rem/1 var(--font-body);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #fff;
  background: rgba(12, 20, 25, 0.88);
  padding: 0.72rem 1rem;
  border-radius: 999px;
  backdrop-filter: blur(6px);
  transition: background 0.2s ease;
}

.acc-card .quick-add__btn:hover {
  background: var(--glacier);
}

@media (hover: none) {
  .acc-card .quick-add {
    opacity: 1;
    transform: none;
    pointer-events: auto;
  }
}

/* ——— Uniform product-image plates (kill nested grey/white JPG boxes) ——— */
.product-media,
.sora-product-media,
.product-hero-media,
.pdp__carousel,
.pdp__carousel-viewport,
.pdp__carousel-track,
.pdp__slide,
.pdp__thumb,
.linked-item__media,
.chapter--product .chapter__media,
.cart-line > a,
.bag__media,
.acc-card__media,
.thumb,
.compare-card .sora-product-media {
  background-color: #f4f4f6 !important;
  border: none !important;
  box-shadow: none !important;
  outline: none;
  isolation: isolate;
}

.product-media img,
.sora-product-media img,
.product-hero-media img,
.product-media__packshot,
.pdp__thumb--packshot img,
.pdp__thumb:not(.pdp__thumb--lifestyle) img,
.linked-item__media img,
.chapter--product .chapter__media img,
.cart-line img,
.bag__media img,
.acc-card__media img,
.thumb img,
.compare-card img {
  mix-blend-mode: multiply !important;
  filter: none !important;
  object-fit: contain !important;
  object-position: center center !important;
  width: 100% !important;
  height: 100% !important;
  padding: 4% !important;
  box-sizing: border-box;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Flat PDP lifestyle — never multiply (packshot multiply in terminal block) */
.pdp--flat-gallery .pdp__slide--lifestyle .product-gallery__img,
.pdp--flat-gallery .product-gallery__img--lifestyle {
  mix-blend-mode: normal !important;
}

/* PDP packshot: slightly tighter pad so product fills the plate */
.pdp__slide--packshot img {
  padding: 3% !important;
}

/* exclusions — editorial / lifestyle full-bleed surfaces: cover, no blend/filter */
.product-card--feature .product-media img,
.product-card--has-lifestyle .product-media__lifestyle,
.chapter--scene .chapter__img,
.residences__tile img,
.mood-living__hero img,
.mood-living__tile img,
.air-board__cell img,
.heatwave-band__media img,
.pdp__slide--lifestyle:not(.pdp__slide--composite) .product-media__lifestyle-bg,
.pdp__slide--composite .product-media__flattened-canvas,
.pdp__slide--flat.pdp__slide--lifestyle .product-gallery__img,
.pdp--flat-gallery .product-gallery__img--lifestyle,
.pdp__thumb--lifestyle img,
.nav-cat__media img {
  mix-blend-mode: normal !important;
  filter: none !important;
  object-fit: cover !important;
  padding: 0 !important;
}

/* Fresh-air tower heroes bind product.featured_image — keep packshot contain */
.product-card--feature-packshot .product-media img {
  object-fit: contain !important;
  padding: 6% !important;
}

/* ——— Category bands + jump chips (luxury lineup IA) ——— */
.shop-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.55rem;
  margin: 0 0 1.6rem;
  padding: 0;
}

.shop-chip {
  display: inline-flex;
  align-items: center;
  font: 600 0.72rem/1 var(--font-body, "Sora", sans-serif);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--ink-soft, #5a6368);
  border-bottom: 1px solid transparent;
  padding: 0.35rem 0.1rem;
  transition: color 0.2s ease, border-color 0.2s ease;
}

.shop-chip:hover,
.shop-chip.is-active {
  color: var(--ink, #0c1419);
  border-bottom-color: var(--glacier, #2f6f7e);
}

.shop-band {
  scroll-margin-top: 5.5rem;
  margin: 0 0 2.4rem;
}

.shop-band:last-of-type {
  margin-bottom: 0.4rem;
}

.shop-band__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.45rem 1.25rem;
  margin: 0 0 0.95rem;
  padding-top: 0.35rem;
  border-top: 1px solid rgba(12, 20, 25, 0.08);
}

.shop-band:first-of-type .shop-band__head {
  border-top: none;
  padding-top: 0;
}

.shop-band__copy {
  flex: 1 1 16rem;
  min-width: 0;
}

.shop-band__head h3 {
  margin: 0;
  font-family: var(--font-display, "Fraunces", Georgia, serif);
  font-size: clamp(1.25rem, 2.4vw, 1.55rem);
  font-weight: 500;
  letter-spacing: -0.02em;
  color: var(--ink, #0c1419);
}

.shop-band__head p {
  margin: 0.35rem 0 0;
  max-width: 36rem;
  font-size: 0.86rem;
  line-height: 1.45;
  color: var(--ink-soft, #5a6368);
}

.shop-band__cta {
  flex: 0 0 auto;
  font: 600 0.78rem/1.2 var(--font-body, "Sora", sans-serif);
  color: var(--glacier, #2f6f7e);
  text-decoration: none;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

.shop-band__cta:hover {
  color: var(--ink, #0c1419);
}

/* ── Collection PLP (quiet-luxury Apple/Currys hybrid) ── */
.plp {
  padding: clamp(1.35rem, 3.5vw, 2.5rem) clamp(1.15rem, 4vw, 3rem) clamp(3rem, 7vw, 5.5rem);
  max-width: 1440px;
  margin: 0 auto;
}

.plp-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
  margin: 0 0 1.35rem;
  font: 500 0.75rem/1.3 var(--font-body, "Sora", sans-serif);
  letter-spacing: 0.02em;
  color: var(--ink-soft, #5a6368);
}

.plp-breadcrumb a {
  color: inherit;
  text-decoration: none;
}

.plp-breadcrumb a:hover {
  color: var(--ink, #0c1419);
}

.plp-breadcrumb__sep {
  opacity: 0.4;
}

.plp__head {
  max-width: 46rem;
  margin-bottom: 1.5rem;
}

.plp__eyebrow {
  margin: 0 0 0.55rem;
  font: 600 0.7rem/1 var(--font-body, "Sora", sans-serif);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--glacier, #2f6f7e);
}

.plp__head h1 {
  font-family: var(--font-display, "Fraunces", Georgia, serif);
  font-weight: 600;
  letter-spacing: -0.03em;
  margin: 0 0 0.7rem;
  font-size: clamp(2.05rem, 5vw, 3.15rem);
  line-height: 1.08;
  color: var(--ink, #0c1419);
}

.plp__desc {
  margin: 0;
  color: var(--ink-soft, #5a6368);
  font-size: clamp(0.98rem, 1.6vw, 1.08rem);
  line-height: 1.5;
  max-width: 40rem;
}

.plp__desc p {
  margin: 0 0 0.5rem;
}

.plp__count {
  margin: 0.85rem 0 0;
  font: 600 0.78rem/1 var(--font-body, "Sora", sans-serif);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(12, 20, 25, 0.45);
}

.plp__aside-link {
  margin: 0.85rem 0 0;
  font-size: 0.88rem;
}

.plp__aside-link a {
  color: var(--glacier, #2f6f7e);
  text-decoration: none;
  font-weight: 600;
}

.plp__aside-link a:hover {
  color: var(--ink, #0c1419);
}

.plp__chips-wrap {
  position: sticky;
  top: 3.6rem;
  z-index: 40;
  margin: 0 -0.15rem 1.5rem;
  padding: 0.55rem 0.15rem 0.65rem;
  background: linear-gradient(180deg, rgba(244, 248, 250, 0.97) 55%, rgba(244, 248, 250, 0.88) 100%);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(12, 20, 25, 0.06);
}

.plp__chips {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.35rem 0.15rem;
  margin: 0;
  padding: 0 0.1rem 0.15rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.plp__chips::-webkit-scrollbar {
  display: none;
}

.plp__chips .shop-chip {
  flex: 0 0 auto;
  padding: 0.45rem 0.7rem;
  border: 1px solid transparent;
  border-radius: 999px;
  border-bottom: 1px solid transparent;
  letter-spacing: 0.06em;
  white-space: nowrap;
}

.plp__chips .shop-chip:hover,
.plp__chips .shop-chip.is-active {
  color: var(--ink, #0c1419);
  background: #fff;
  border-color: rgba(12, 20, 25, 0.1);
  border-bottom-color: rgba(12, 20, 25, 0.1);
  box-shadow: 0 4px 14px rgba(12, 20, 25, 0.05);
}

.plp__grid {
  margin-top: 0.15rem;
}

.plp__empty {
  padding: clamp(2.75rem, 8vw, 4.5rem) 1rem;
  text-align: center;
  background: #fff;
  border: 1px solid rgba(12, 20, 25, 0.06);
  border-radius: 20px;
}

.plp__empty-title {
  margin: 0 0 0.55rem;
  font-family: var(--font-display, "Fraunces", Georgia, serif);
  font-size: clamp(1.35rem, 3vw, 1.7rem);
  font-weight: 500;
  letter-spacing: -0.02em;
  color: var(--ink, #0c1419);
}

.plp__empty-copy {
  margin: 0 auto 1.45rem;
  max-width: 32rem;
  color: var(--ink-soft, #5a6368);
  font-size: 0.98rem;
  line-height: 1.5;
}

.plp__empty-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.55rem;
}

.plp-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.85rem 1.25rem;
  margin-top: 2.5rem;
}

.plp-pagination__status {
  font-size: 0.85rem;
  color: var(--ink-soft, #5a6368);
}

.plp-cat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
  gap: 0.9rem;
}

.plp-cat-card {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 0.35rem;
  min-height: 9.5rem;
  padding: 1.35rem 1.25rem;
  background:
    linear-gradient(160deg, rgba(255, 255, 255, 0.96), rgba(247, 250, 251, 0.98)),
    #fff;
  border-radius: 18px;
  text-decoration: none;
  color: inherit;
  border: 1px solid rgba(12, 20, 25, 0.07);
  transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.plp-cat-card:hover {
  border-color: rgba(47, 111, 126, 0.35);
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(12, 20, 25, 0.06);
  color: inherit;
}

.plp-cat-card__title {
  font-family: var(--font-display, "Fraunces", Georgia, serif);
  font-size: 1.22rem;
  font-weight: 500;
  letter-spacing: -0.02em;
}

.plp-cat-card__meta {
  font-size: 0.8rem;
  color: var(--ink-soft, #5a6368);
}

@media (max-width: 719px) {
  .plp {
    padding-top: 1.1rem;
  }

  .plp__chips-wrap {
    top: 3.35rem;
    margin-inline: -1.15rem;
    padding-inline: 1rem;
  }

  .plp__head h1 {
    font-size: clamp(1.85rem, 8.5vw, 2.35rem);
  }

  .nav-bar {
    padding: 0.7rem 1rem;
    gap: 0.45rem;
  }

  .nav-links {
    justify-content: flex-start;
    gap: 0.75rem;
    font-size: 0.78rem;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    mask-image: linear-gradient(to right, #000 0%, #000 calc(100% - 1.25rem), transparent);
  }

  .nav-links::-webkit-scrollbar {
    display: none;
  }

  .nav-actions {
    gap: 0.3rem;
  }

  .nav-products__toggle--mobile {
    display: none;
  }

  .nav-products-panel__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem 0.65rem;
    padding: 0.9rem 1rem 1.15rem;
  }

  .nav-cat {
    padding: 0.45rem 0.25rem 0.55rem;
  }

  .nav-cat__label {
    font-size: 0.78rem;
  }

  .cart-link,
  .search-link {
    padding: 0.55rem 0.65rem;
    font-size: 0.86rem;
  }
}

@media (min-width: 720px) {
  .plp__chips-wrap {
    position: static;
    background: transparent;
    backdrop-filter: none;
    border-bottom: 0;
    margin: 0 0 1.75rem;
    padding: 0;
  }

  .plp__chips {
    flex-wrap: wrap;
    overflow: visible;
    gap: 0.4rem 0.45rem;
    padding: 0;
  }
}

/* ── Search (modal + results page) ── */
body.sora-skin .search-modal__content {
  border-radius: 18px;
  border: 1px solid rgba(12, 20, 25, 0.08);
  box-shadow: 0 28px 60px rgba(12, 20, 25, 0.18);
  background: #fff;
}

body.sora-skin .search-modal .search-input,
body.sora-skin .sora-search-page .search-input,
body.sora-skin .sora-search-page input[type="search"] {
  font-family: inherit;
  color: var(--ink);
  border-color: rgba(12, 20, 25, 0.14);
}

body.sora-skin .search-modal .search-input:focus,
body.sora-skin .sora-search-page .search-input:focus,
body.sora-skin .sora-search-page input[type="search"]:focus {
  outline: none;
  border-color: var(--glacier);
  box-shadow: 0 0 0 3px rgba(47, 111, 126, 0.16);
}

body.sora-skin .sora-search-page {
  padding-inline: clamp(1.25rem, 4vw, 3rem);
}

body.sora-skin .sora-search-page .search-page__header h3 {
  font-family: var(--font-display);
  font-weight: 500;
  letter-spacing: -0.02em;
  color: var(--ink);
}

body.sora-skin .product-grid-container {
  padding-inline: clamp(1.25rem, 4vw, 3rem);
}

/* ——— SORA Critical cooling ——— */
.cc {
  padding-bottom: 2rem;
}

.cc-hero__veil {
  background:
    linear-gradient(180deg, rgba(12, 20, 25, 0.52) 0%, rgba(12, 20, 25, 0.22) 34%, rgba(12, 20, 25, 0.88) 100%),
    linear-gradient(105deg, rgba(12, 20, 25, 0.88) 0%, rgba(12, 20, 25, 0.48) 42%, transparent 66%);
}

.cc-strip {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-block: 1px solid rgba(12, 20, 25, 0.08);
  background: rgba(255, 255, 255, 0.55);
}

.cc-strip p {
  margin: 0;
  padding: 0.95rem 0.75rem;
  text-align: center;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--glacier);
  border-right: 1px solid rgba(12, 20, 25, 0.06);
}

.cc-strip p:nth-child(2n) {
  border-right: 0;
}

.cc-section {
  padding: clamp(2.25rem, 5vw, 3.5rem) clamp(1.25rem, 4vw, 3rem);
  max-width: 1120px;
  margin: 0 auto;
}

.cc-section--alt {
  max-width: none;
  background: rgba(255, 255, 255, 0.42);
  border-block: 1px solid rgba(12, 20, 25, 0.05);
}

.cc-section--alt .cc-section__head,
.cc-section--alt .cc-kit {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
}

.cc-section__head {
  margin-bottom: 1.35rem;
  max-width: 640px;
}

.cc-section__head h2 {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  margin: 0 0 0.5rem;
}

.cc-section__head p {
  margin: 0;
  color: var(--ink-soft);
}

.cc-eyebrow {
  margin: 0 0 0.45rem;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--glacier);
}

.cc-eyebrow--on-dark {
  color: rgba(126, 184, 201, 0.95);
}

.cc-inline {
  color: var(--glacier);
  font-weight: 600;
}

.cc-steps {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 1.15rem;
}

.cc-steps li {
  padding: 0 0 0 1.15rem;
  border-left: 2px solid rgba(47, 111, 126, 0.35);
}

.cc-step-num {
  display: block;
  margin: 0 0 0.35rem;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  font-weight: 700;
  color: var(--glacier);
}

.cc-steps h3 {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
}

.cc-steps p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 0.92rem;
}

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

.cc-kit__item {
  display: grid;
  text-decoration: none;
  color: inherit;
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(12, 20, 25, 0.07);
  border-radius: 14px;
  overflow: hidden;
}

.cc-kit__media {
  aspect-ratio: 1;
  background: var(--media-plate);
  display: block;
}

.cc-kit__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 2%;
  box-sizing: border-box;
  display: block;
  background: transparent;
}

.cc-kit__body {
  padding: 0.75rem 0.85rem 0.95rem;
  display: grid;
  gap: 0.25rem;
}

.cc-kit__type {
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--glacier);
}

.cc-kit__title {
  font-size: 0.92rem;
  line-height: 1.3;
}

.cc-kit__price {
  font-weight: 700;
}

.cc-cta {
  display: grid;
  gap: 1.25rem;
  padding: clamp(1.35rem, 3vw, 2rem);
  background: var(--ink);
  color: #f4f8fa;
  border-radius: 16px;
}

.cc-cta h2 {
  font-family: var(--font-display);
  margin: 0 0 0.55rem;
  font-size: clamp(1.45rem, 3vw, 2rem);
}

.cc-cta > div > p {
  margin: 0;
  color: rgba(244, 248, 250, 0.88);
}

.cc-cta__actions {
  display: grid;
  gap: 0.65rem;
  align-content: start;
}

.cc-cta .btn-primary {
  background: #fff;
  color: var(--ink);
}

.cc-cta .btn-ghost {
  border-color: rgba(255, 255, 255, 0.35);
  color: #fff;
}

.cc-home-band {
  width: 100%;
  background: var(--ink);
  color: #f4f8fa;
  padding: clamp(2.5rem, 6vw, 4rem) clamp(1.25rem, 4vw, 3rem);
}

.cc-home-band__inner {
  max-width: 720px;
  margin: 0 auto;
}

.cc-home-band__eyebrow {
  margin: 0 0 0.5rem;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 700;
  color: rgba(126, 184, 201, 0.95);
}

.cc-home-band h2 {
  font-family: var(--font-display);
  font-size: clamp(1.55rem, 3.2vw, 2.15rem);
  margin: 0 0 0.65rem;
  letter-spacing: -0.02em;
}

.cc-home-band p {
  margin: 0 0 1.25rem;
  color: rgba(244, 248, 250, 0.88);
  max-width: 48ch;
  line-height: 1.45;
}

.cc-home-band__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.cc-home-band .btn-primary {
  background: #fff;
  color: var(--ink);
}

.cc-home-band .btn-ghost {
  border-color: rgba(255, 255, 255, 0.35);
  color: #fff;
}

@media (min-width: 720px) {
  .cc-strip {
    grid-template-columns: repeat(4, 1fr);
  }

  .cc-strip p {
    border-right: 1px solid rgba(12, 20, 25, 0.06);
  }

  .cc-strip p:last-child {
    border-right: 0;
  }

  .cc-steps {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
  }

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

  .cc-cta {
    grid-template-columns: 1.3fr 0.7fr;
    align-items: center;
  }
}

@media (min-width: 980px) {
  .cc-kit {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* ——— SORA Trade / Specify ——— */
.trade {
  padding-bottom: 2rem;
}

.trade-hero__veil {
  background:
    linear-gradient(180deg, rgba(12, 20, 25, 0.5) 0%, rgba(12, 20, 25, 0.2) 36%, rgba(12, 20, 25, 0.88) 100%),
    linear-gradient(105deg, rgba(12, 20, 25, 0.86) 0%, rgba(12, 20, 25, 0.45) 44%, transparent 68%);
}

.trade-strip {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-block: 1px solid rgba(12, 20, 25, 0.08);
  background: rgba(255, 255, 255, 0.55);
}

.trade-strip p {
  margin: 0;
  padding: 0.95rem 0.75rem;
  text-align: center;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--glacier);
  border-right: 1px solid rgba(12, 20, 25, 0.06);
}

.trade-strip p:nth-child(2n) {
  border-right: 0;
}

.trade-section {
  padding: clamp(2.25rem, 5vw, 3.5rem) clamp(1.25rem, 4vw, 3rem);
  max-width: 1120px;
  margin: 0 auto;
}

.trade-section--alt {
  max-width: none;
  background: rgba(255, 255, 255, 0.42);
  border-block: 1px solid rgba(12, 20, 25, 0.05);
}

.trade-section--alt .trade-section__head,
.trade-section--alt .trade-bim,
.trade-section--alt .trade-form {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
}

.trade-section__head {
  margin-bottom: 1.5rem;
  max-width: 640px;
}

.trade-section__head h2 {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  margin: 0 0 0.5rem;
}

.trade-section__head p {
  margin: 0;
  color: var(--ink-soft);
}

.trade-eyebrow {
  margin: 0 0 0.45rem;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--glacier);
}

.trade-roles {
  display: grid;
  gap: 1.25rem;
}

.trade-roles article {
  padding: 0 0 0 1.15rem;
  border-left: 2px solid rgba(47, 111, 126, 0.35);
}

.trade-roles h3 {
  font-family: var(--font-display);
  font-size: 1.2rem;
  margin: 0 0 0.35rem;
}

.trade-roles p {
  margin: 0;
  color: var(--ink-soft);
}

.trade-bim {
  display: grid;
  gap: 1.25rem;
}

.trade-bim__item {
  display: grid;
  gap: 0.85rem;
}

.trade-bim__preview {
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(12, 20, 25, 0.06);
  overflow: hidden;
}

.trade-bim__preview img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 280px;
  object-fit: contain;
  background: #f4f8fa;
}

.trade-bim__body h3 {
  font-family: var(--font-display);
  margin: 0 0 0.25rem;
  font-size: 1.15rem;
}

.trade-bim__body p {
  margin: 0 0 0.55rem;
  color: var(--ink-soft);
  font-size: 0.92rem;
}

.trade-bim__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
}

.trade-bim__links a {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--glacier);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.trade-fine {
  margin: 1.25rem 0 0;
  font-size: 0.85rem;
  color: var(--ink-soft);
  max-width: 640px;
}

.trade-terms {
  display: grid;
  gap: 1.35rem;
}

.trade-terms__stat {
  margin: 0 0 0.35rem;
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  letter-spacing: -0.02em;
  color: var(--ink);
}

.trade-terms h3 {
  margin: 0 0 0.35rem;
  font-family: var(--font-display);
  font-size: 1.15rem;
}

.trade-terms p {
  margin: 0;
  color: var(--ink-soft);
}

.trade-terms code {
  font-size: 0.85em;
  color: var(--ink);
}

.trade-form__grid {
  display: grid;
  gap: 0.95rem;
}

.trade-form label {
  display: grid;
  gap: 0.35rem;
}

.trade-form label span {
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--ink-soft);
}

.trade-form input,
.trade-form select,
.trade-form textarea {
  width: 100%;
  border: 1px solid rgba(12, 20, 25, 0.14);
  background: rgba(255, 255, 255, 0.85);
  color: var(--ink);
  padding: 0.75rem 0.85rem;
  font: inherit;
  border-radius: 0;
}

.trade-form input:focus,
.trade-form select:focus,
.trade-form textarea:focus {
  outline: none;
  border-color: var(--glacier);
  box-shadow: 0 0 0 3px rgba(47, 111, 126, 0.16);
}

.trade-form__checks {
  display: grid;
  gap: 0.65rem;
  margin: 1.15rem 0;
}

.trade-check {
  display: flex !important;
  align-items: flex-start;
  gap: 0.65rem;
  font-size: 0.95rem;
  color: var(--ink-soft);
}

.trade-check input {
  width: auto;
  margin-top: 0.2rem;
}

.trade-form__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
}

.trade-form__status {
  margin: 0.85rem 0 0;
  min-height: 1.25rem;
  color: var(--glacier);
  font-size: 0.92rem;
}

.trade-cta {
  display: grid;
  gap: 1.25rem;
  padding: clamp(1.5rem, 4vw, 2.25rem);
  background: rgba(12, 20, 25, 0.92);
  color: #e8f1f4;
}

.trade-cta h2 {
  font-family: var(--font-display);
  margin: 0 0 0.45rem;
  font-size: clamp(1.4rem, 2.5vw, 1.85rem);
}

.trade-cta p {
  margin: 0;
  color: rgba(232, 241, 244, 0.82);
}

.trade-cta .trade-eyebrow {
  color: rgba(126, 184, 201, 0.95);
}

.trade-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

@media (min-width: 720px) {
  .trade-strip {
    grid-template-columns: repeat(4, 1fr);
  }

  .trade-strip p {
    border-right: 1px solid rgba(12, 20, 25, 0.06);
  }

  .trade-strip p:last-child {
    border-right: 0;
  }

  .trade-roles {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
  }

  .trade-roles article {
    padding: 0;
    border-left: 0;
    border-top: 2px solid rgba(47, 111, 126, 0.35);
    padding-top: 1rem;
  }

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

  .trade-terms {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
  }

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

  .trade-form__wide {
    grid-column: 1 / -1;
  }

  .trade-cta {
    grid-template-columns: 1.3fr 0.7fr;
    align-items: center;
  }
}

@media (min-width: 980px) {
  .trade-bim {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* —— SORA Aura Care (filter monetization) —— */
.pdp__aura-care {
  max-width: 920px;
  margin: 0 auto;
  padding: 2.5rem 1.25rem 1rem;
}

.pdp__aura-care h2 {
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 2.4vw, 2.15rem);
  font-weight: 500;
  margin: 0.35rem 0 0.75rem;
  color: var(--ink);
}

.pdp__aura-care__lede {
  margin: 0 0 1.25rem;
  max-width: 54ch;
  color: var(--ink-soft);
  line-height: 1.55;
}

.pdp__aura-care__lede em {
  font-style: italic;
  color: var(--glacier);
}

.pdp__aura-care__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  align-items: center;
}

.pdp__aura-care__remind {
  font-size: 0.92rem;
  color: var(--glacier);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.pdp__pure-air-club,
.pure-air-club-strip,
.pure-air-club-page-wrap {
  font-family: var(--font-body);
}

.pdp__pure-air-club {
  max-width: 920px;
  margin: 0 auto;
  padding: 2.5rem 1.25rem 1rem;
}

.pdp__pure-air-club h2 {
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 2.4vw, 2.15rem);
  font-weight: 500;
  margin: 0.35rem 0 0.75rem;
  color: var(--ink);
}

.pdp__pure-air-club__lede {
  margin: 0 0 1.25rem;
  max-width: 54ch;
  color: var(--ink-soft);
  line-height: 1.55;
}

.pdp__pure-air-club__lede em {
  font-style: italic;
  color: var(--glacier);
}

.pdp__pure-air-club__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  align-items: center;
}

.pdp__pure-air-club__learn {
  font-size: 0.92rem;
  color: var(--glacier);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.pure-air-club-strip {
  background: linear-gradient(135deg, rgba(15, 42, 68, 0.04), rgba(72, 130, 150, 0.08));
  border-block: 1px solid rgba(15, 42, 68, 0.08);
  padding: 2rem 1.25rem;
}

.pure-air-club-strip__inner {
  max-width: 960px;
  margin: 0 auto;
  text-align: center;
}

.pure-air-club-strip__eyebrow {
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--glacier);
  margin: 0 0 0.5rem;
}

.pure-air-club-strip__title {
  font-family: var(--font-display);
  font-size: clamp(1.35rem, 2.5vw, 1.85rem);
  margin: 0 0 0.65rem;
}

.pure-air-club-strip__copy {
  max-width: 52ch;
  margin: 0 auto 1.1rem;
  color: var(--ink-soft);
  line-height: 1.55;
}

.pure-air-club-strip__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
}

.pure-air-club-page-wrap {
  max-width: 960px;
  margin: 0 auto;
  padding: 3rem 1.25rem 5rem;
}

.pure-air-club-hero__eyebrow {
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--glacier);
}

.pure-air-club-hero h1 {
  font-family: var(--font-display);
  font-size: clamp(2rem, 4vw, 2.75rem);
  margin: 0.35rem 0 0.85rem;
}

.pure-air-club-hero__lede {
  max-width: 56ch;
  line-height: 1.6;
  color: var(--ink-soft);
  margin-bottom: 1.5rem;
}

.pure-air-club-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 2.5rem;
}

.pure-air-club-grid {
  display: grid;
  gap: 1.25rem;
}

@media (min-width: 780px) {
  .pure-air-club-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.pure-air-club-card {
  background: var(--surface);
  border: 1px solid rgba(15, 42, 68, 0.08);
  border-radius: 12px;
  padding: 1.25rem 1.35rem;
}

.pure-air-club-card h2 {
  font-family: var(--font-display);
  font-size: 1.15rem;
  margin: 0 0 0.65rem;
}

.pure-air-club-card ul,
.pure-air-club-card ol {
  margin: 0;
  padding-left: 1.15rem;
  color: var(--ink-soft);
  line-height: 1.55;
}

.aura-care {
  max-width: 960px;
  margin: 0 auto;
  padding: 4.5rem 1.25rem 5rem;
}

.aura-care__hero h1 {
  font-family: var(--font-display);
  font-size: clamp(2rem, 4vw, 2.85rem);
  font-weight: 500;
  margin: 0.4rem 0 0.9rem;
}

.aura-care__lede {
  max-width: 52ch;
  color: var(--ink-soft);
  line-height: 1.6;
  margin: 0 0 2.5rem;
}

.aura-care__grid {
  display: grid;
  gap: 1.5rem;
}

@media (min-width: 780px) {
  .aura-care__grid {
    grid-template-columns: 1fr 1fr;
  }
}

.aura-care__card {
  padding: 1.4rem 1.35rem 1.55rem;
  background: linear-gradient(165deg, rgba(255, 255, 255, 0.88), rgba(238, 243, 245, 0.9));
  border: 1px solid rgba(47, 111, 126, 0.14);
}

.aura-care__card h2 {
  font-family: var(--font-display);
  font-size: 1.35rem;
  font-weight: 500;
  margin: 0 0 0.55rem;
}

.aura-care__card p {
  margin: 0 0 1rem;
  color: var(--ink-soft);
  line-height: 1.5;
  font-size: 0.95rem;
}

.aura-care__card .pdp__story-buy {
  display: inline-flex;
  margin: 0 0.5rem 0.55rem 0;
}

.aura-care__form {
  display: grid;
  gap: 0.75rem;
}

.aura-care__form label {
  display: grid;
  gap: 0.3rem;
  font-size: 0.82rem;
  color: var(--ink-soft);
}

.aura-care__form input {
  font: inherit;
  padding: 0.65rem 0.75rem;
  border: 1px solid rgba(12, 20, 25, 0.14);
  background: #fff;
  color: var(--ink);
}

.aura-care__form-status {
  margin: 0.25rem 0 0;
  font-size: 0.9rem;
  color: var(--glacier);
}

.aura-care__note {
  margin-top: 2.75rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(12, 20, 25, 0.08);
}

.aura-care__note h2 {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 500;
  margin: 0 0 0.75rem;
}

.aura-care__note ul {
  margin: 0;
  padding-left: 1.1rem;
  color: var(--ink-soft);
  line-height: 1.55;
}

.aura-care__note li + li {
  margin-top: 0.45rem;
}

/* Homepage BTU sizing calculator */
.btu-calc {
  padding: 4.5rem 1.25rem 5rem;
  max-width: 1100px;
  margin: 0 auto;
}

.btu-calc__head {
  max-width: 40rem;
  margin-bottom: 1.75rem;
}

.btu-calc__eyebrow {
  margin: 0 0 0.45rem;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--glacier);
}

.btu-calc__head h2 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.75rem, 3.5vw, 2.45rem);
  margin: 0 0 0.65rem;
}

.btu-calc__head p {
  margin: 0;
  color: var(--ink-soft);
  line-height: 1.55;
  max-width: 48ch;
}

.btu-calc__panel {
  display: grid;
  gap: 1.15rem;
  padding: 1.5rem 1.35rem 1.65rem;
  background: linear-gradient(165deg, rgba(255, 255, 255, 0.92), rgba(236, 242, 244, 0.95));
  border: 1px solid rgba(47, 111, 126, 0.14);
  border-radius: 18px;
}

@media (min-width: 780px) {
  .btu-calc__panel {
    grid-template-columns: 1fr 1.2fr;
    align-items: start;
  }
  .btu-calc__actions,
  .btu-calc__status {
    grid-column: 1 / -1;
  }
}

.btu-calc__field {
  display: grid;
  gap: 0.45rem;
  margin: 0;
  border: 0;
  padding: 0;
  font-size: 0.92rem;
}

.btu-calc__field > span:first-child {
  font-weight: 600;
  font-size: 0.82rem;
  letter-spacing: 0.04em;
}

.btu-calc__field input[type="number"] {
  width: 100%;
  max-width: 12rem;
  padding: 0.7rem 0.85rem;
  border: 1px solid rgba(12, 20, 25, 0.12);
  border-radius: 10px;
  font: inherit;
  background: #fff;
}

.btu-calc__field .btu-calc__hint {
  font-weight: 400;
  font-size: 0.8rem;
  letter-spacing: 0;
  line-height: 1.45;
  color: var(--ink-soft);
  max-width: 36ch;
}

.btu-calc__result {
  padding: 1rem 1.1rem;
  border-radius: 14px;
  background: rgba(47, 111, 126, 0.08);
}

.btu-calc__fit {
  margin: 0 0 0.35rem;
  font-family: var(--font-display);
  font-size: 1.35rem;
  font-weight: 500;
  line-height: 1.3;
}

.btu-calc__pkg {
  margin: 0.35rem 0 0;
  color: var(--ink);
  font-size: 0.98rem;
}

.btu-calc__tech {
  margin: 0.55rem 0 0;
  color: var(--ink-soft);
  font-size: 0.78rem;
  letter-spacing: 0.01em;
  opacity: 0.85;
}

.btu-calc__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.btu-calc__status {
  margin: 0;
  font-size: 0.9rem;
  color: var(--glacier);
}

/* Marketplace apply page */
.mkt-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.5rem;
  justify-content: center;
  padding: 1.1rem 1.25rem;
  border-bottom: 1px solid rgba(12, 20, 25, 0.06);
  font-size: 0.85rem;
  color: var(--ink-soft);
}

.mkt-section {
  max-width: 960px;
  margin: 0 auto;
  padding: 3.5rem 1.25rem;
}

.mkt-section--alt {
  background: linear-gradient(180deg, rgba(236, 242, 244, 0.55), transparent);
}

.mkt-eyebrow {
  margin: 0 0 0.45rem;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--glacier);
}

.mkt-section__head h2 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  margin: 0 0 0.65rem;
}

.mkt-section__head p {
  margin: 0;
  color: var(--ink-soft);
  line-height: 1.55;
  max-width: 52ch;
}

.mkt-steps {
  list-style: none;
  margin: 2rem 0 0;
  padding: 0;
  display: grid;
  gap: 1.25rem;
}

@media (min-width: 780px) {
  .mkt-steps {
    grid-template-columns: repeat(3, 1fr);
  }
}

.mkt-steps li {
  padding: 1.2rem 1.15rem;
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid rgba(47, 111, 126, 0.12);
  border-radius: 14px;
}

.mkt-step-num {
  display: block;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  font-weight: 700;
  color: var(--glacier);
  margin-bottom: 0.45rem;
}

.mkt-steps h3 {
  margin: 0 0 0.4rem;
  font-size: 1.1rem;
}

.mkt-steps p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 0.92rem;
  line-height: 1.5;
}

.mkt-form {
  margin-top: 1.75rem;
  display: grid;
  gap: 1.25rem;
}

.mkt-form__grid {
  display: grid;
  gap: 0.9rem;
}

@media (min-width: 700px) {
  .mkt-form__grid {
    grid-template-columns: 1fr 1fr;
  }
  .mkt-form__full {
    grid-column: 1 / -1;
  }
}

.mkt-form label {
  display: grid;
  gap: 0.35rem;
  font-size: 0.85rem;
  font-weight: 600;
}

.mkt-form input,
.mkt-form textarea {
  font: inherit;
  font-weight: 400;
  padding: 0.7rem 0.85rem;
  border: 1px solid rgba(12, 20, 25, 0.12);
  border-radius: 10px;
  background: #fff;
}

.mkt-form__status {
  margin: 0;
  color: var(--glacier);
  font-size: 0.92rem;
}

/* ——— Editorial people bands ———
   Brand/editorial imagery only (assets/lifestyles/_editorial). These slots are
   never product media — PDP galleries stay packshot #1 + lifestyle #2. */

/* Homepage hero slideshow: hero-nav-safe-20260727 (see end-of-file slideshow track). */

.install-band {
  display: grid;
  gap: clamp(1.35rem, 3.5vw, 2.75rem);
  align-items: center;
  padding: clamp(2.75rem, 6vw, 4.75rem) clamp(1.25rem, 4vw, 3rem);
}

@media (min-width: 900px) {
  .install-band {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  }
}

.install-band__media {
  margin: 0;
  overflow: hidden;
  border-radius: 14px;
  background: #e4ebe8;
  aspect-ratio: 3 / 2;
}

.install-band__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.install-band__eyebrow {
  margin: 0 0 0.45rem;
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--glacier);
}

.install-band__copy h2 {
  margin: 0 0 0.55rem;
  font-family: var(--font-display);
  font-size: clamp(1.55rem, 3vw, 2.2rem);
  letter-spacing: -0.02em;
}

.install-band__copy > p {
  margin: 0;
  color: var(--ink-soft);
}

.install-band__points {
  list-style: none;
  margin: 1.1rem 0 0;
  padding: 0;
  display: grid;
  gap: 0.6rem;
}

.install-band__points li {
  position: relative;
  padding-left: 1rem;
  font-size: 0.9rem;
  line-height: 1.45;
  color: var(--ink-soft);
}

.install-band__points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--glacier);
}

.install-band__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 1.35rem;
}

/* Homepage heatwave list — full-bleed cinematic band (heatwave-list-redesign-20260727) */
.heatwave-band {
  padding: 0;
  margin: clamp(2rem, 5vw, 3.5rem) 0 0;
}

.heatwave-band__plane {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  isolation: isolate;
  overflow: hidden;
  min-height: clamp(400px, 52vw, 540px);
  background: #0c1419;
}

picture.heatwave-band__media,
.heatwave-band__media,
.heatwave-band__media img {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  display: block;
  line-height: 0;
}

.heatwave-band__media img {
  object-fit: cover;
  /* Cirro unit centre-left + figure right — keep product in frame above dock */
  object-position: 42% 40%;
}

.heatwave-band__veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(
      180deg,
      rgba(12, 20, 25, 0.08) 0%,
      rgba(12, 20, 25, 0.18) 38%,
      rgba(12, 20, 25, 0.72) 72%,
      rgba(12, 20, 25, 0.92) 100%
    ),
    linear-gradient(
      90deg,
      rgba(12, 20, 25, 0.42) 0%,
      rgba(12, 20, 25, 0.12) 42%,
      rgba(12, 20, 25, 0.04) 100%
    );
}

.heatwave-band__dock {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: clamp(1rem, 3vw, 1.75rem) clamp(1rem, 3vw, 2rem);
  padding-top: clamp(6rem, 24vw, 9rem);
}

.heatwave-band__grid {
  display: grid;
  gap: clamp(1rem, 2.5vw, 1.5rem);
  max-width: 1180px;
  margin: 0 auto;
}

@media (min-width: 900px) {
  .heatwave-band__plane {
    min-height: clamp(440px, 40vw, 560px);
  }

  .heatwave-band__media img {
    object-position: 44% 38%;
  }

  .heatwave-band__grid {
    grid-template-columns: minmax(0, 1.22fr) minmax(0, 1fr);
    align-items: end;
    gap: clamp(1.5rem, 3vw, 2.25rem);
  }

  .heatwave-band__intro {
    padding-right: 0.5rem;
  }
}

.heatwave-band__intro {
  color: #f4f8fa;
}

.heatwave-band__eyebrow {
  margin: 0 0 0.45rem;
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
  color: rgba(244, 248, 250, 0.78);
}

.heatwave-band__intro h2 {
  margin: 0 0 0.65rem;
  font-family: var(--font-display);
  font-size: clamp(1.65rem, 3.4vw, 2.35rem);
  letter-spacing: -0.02em;
  line-height: 1.12;
  color: #fff;
}

.heatwave-band__lede {
  margin: 0;
  max-width: 58ch;
  color: rgba(244, 248, 250, 0.86);
  font-size: clamp(0.95rem, 1.6vw, 1.02rem);
  line-height: 1.55;
}

.heatwave-band__perks {
  list-style: none;
  margin: 0.85rem 0 0;
  padding: 0;
  display: grid;
  gap: 0.4rem;
}

.heatwave-band__perks li {
  position: relative;
  padding-left: 1rem;
  font-size: 0.9rem;
  line-height: 1.45;
  color: rgba(244, 248, 250, 0.82);
}

.heatwave-band__perks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.58em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(244, 248, 250, 0.72);
}

.heatwave-band__panel {
  padding: clamp(0.85rem, 2vw, 1.1rem);
  border-radius: calc(var(--radius) + 2px);
  background: rgba(247, 247, 249, 0.94);
  border: 1px solid rgba(255, 255, 255, 0.22);
  box-shadow: 0 18px 40px rgba(12, 20, 25, 0.2);
  backdrop-filter: blur(10px);
  align-self: end;
}

.heatwave-band__form {
  margin: 0;
}

.heatwave-band__row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: stretch;
}

.heatwave-band__row input[type="email"] {
  flex: 1 1 180px;
  min-width: 0;
  min-height: 2.75rem;
  border-radius: 999px;
  border: 1px solid rgba(12, 20, 25, 0.16);
  padding: 0.7rem 1.1rem;
  font: inherit;
  font-size: 0.95rem;
  background: #fff;
  color: var(--ink);
}

.heatwave-band__row .btn-primary {
  flex: 0 0 auto;
  min-height: 2.75rem;
  padding: 0.7rem 1.25rem;
  font-size: 0.95rem;
  border-radius: 999px;
  white-space: nowrap;
}

@media (min-width: 640px) {
  .heatwave-band__row {
    flex-wrap: nowrap;
  }
}

.heatwave-band__legal {
  margin: 0.55rem 0 0;
  font-size: 0.75rem;
  line-height: 1.5;
  color: #3a3a3a;
}

.heatwave-band__legal a {
  color: #3a3a3a;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.heatwave-band__legal a:hover {
  color: var(--ink);
}

.heatwave-band__success {
  margin: 0;
  padding: 0.85rem 1rem;
  border-radius: 12px;
  background: rgba(47, 111, 126, 0.12);
  color: var(--ink);
  font-size: 0.95rem;
  font-weight: 600;
}

.heatwave-band__error {
  margin: 0 0 0.65rem;
  color: #9b2c2c;
  font-size: 0.88rem;
}

.heatwave-band__reach {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  margin-top: 0.85rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(12, 20, 25, 0.08);
}

.heatwave-band__reach-label {
  margin: 0 0 0.2rem;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--fog);
}

.heatwave-band__reach-item a {
  font-weight: 600;
  color: var(--ink);
  text-decoration: none;
}

.heatwave-band__reach-item a:hover {
  color: var(--glacier);
}

@media (max-width: 899px) {
  .heatwave-band__panel {
    align-self: stretch;
  }
}

@media (max-width: 520px) {
  .heatwave-band__plane {
    min-height: auto;
  }

  .heatwave-band__dock {
    padding-top: clamp(8rem, 46vw, 11rem);
  }

  .heatwave-band__row {
    flex-direction: column;
  }

  .heatwave-band__row input[type="email"],
  .heatwave-band__row .btn-primary {
    width: 100%;
    flex: 1 1 auto;
  }
}

html.sora-reveal-ready [data-sora-reveal].is-revealed .heatwave-band__dock {
  animation: soraRevealUp 0.72s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@media (prefers-reduced-motion: reduce) {
  html.sora-reveal-ready [data-sora-reveal].is-revealed .heatwave-band__dock {
    animation: none;
  }
}

.plp__people {
  margin: 0 0 1.5rem;
  overflow: hidden;
  border-radius: 14px;
  background: #e4ebe8;
  aspect-ratio: 21 / 9;
}

@media (max-width: 700px) {
  .plp__people {
    aspect-ratio: 16 / 9;
  }
}

.plp__people img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.plp__people--installer img {
  object-position: center 6%;
}

.plp__people--focus img {
  object-position: center 30%;
}

/* ==========================================================================
   Header alignment + lux utilities (2026-07-27)
   Nav + Search / Shop / Cart share one geometry: height, padding scale, radius,
   vertical centre line. Quiet-luxury emphasis: white hairline capsules for
   Search and Cart, charcoal primary Shop with inset highlight, refined badge.
   Scoped under .nav so shared .btn / .btn-ghost elsewhere are unaffected.
   ========================================================================== */
.nav {
  --nav-control-h: 2.375rem;
  --nav-control-pad: 0.875rem;
  --nav-control-radius: 999px;
  --nav-control-font: 0.8125rem;
  --nav-util-track: 0.045em;
  --nav-icon-stroke: 1.25;
}

.nav .nav-bar {
  align-items: center;
  gap: clamp(0.75rem, 2vw, 1.75rem);
  padding-block: 1rem;
}

/* ---- Nav links: one line each, uniform gaps, shared centre line ---- */
.nav .nav-links {
  align-items: center;
  gap: clamp(0.8rem, 1.7vw, 1.35rem);
  font-size: clamp(0.82rem, 1.15vw, 0.92rem);
}

.nav .nav-links > * {
  flex: 0 0 auto;
}

.nav .nav-links a,
.nav .nav-links .nav-products__toggle {
  display: inline-flex;
  align-items: center;
  height: var(--nav-control-h);
  padding: 0;
  font-size: inherit;
  line-height: 1;
  white-space: nowrap;
}

/* ---- The control set: identical box, different emphasis ---- */
.nav .nav-actions {
  align-items: center;
  gap: 0.5rem;
}

/* `display` is deliberately not set here: the Shop CTA keeps its own
   responsive display rules (hidden below 900px), so the shared geometry must
   not force it visible on mobile. */
.nav .search-link,
.nav .cart-link {
  display: inline-flex;
}

.nav .search-link,
.nav .nav-cta,
.nav .cart-link {
  align-items: center;
  justify-content: center;
  gap: 0.38rem;
  height: var(--nav-control-h);
  padding: 0 var(--nav-control-pad);
  border-radius: var(--nav-control-radius);
  border-width: 1px;
  border-style: solid;
  font-size: var(--nav-control-font);
  font-weight: 500;
  letter-spacing: var(--nav-util-track);
  line-height: 1;
  white-space: nowrap;
  box-shadow: none;
  transform: none;
  transition:
    background 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    box-shadow 0.2s ease;
}

/* Search + Cart: white editorial capsules with hairline border */
.nav .search-link,
.nav .cart-link {
  background: var(--white);
  border-color: rgba(12, 20, 25, 0.11);
  color: var(--ink);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

/* Shop: charcoal primary with inset highlight, not a flat blob */
.nav .nav-cta {
  background: linear-gradient(180deg, var(--ink-soft) 0%, var(--ink) 100%);
  border-color: var(--ink);
  color: var(--white);
  letter-spacing: 0.055em;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.1),
    0 1px 2px rgba(12, 20, 25, 0.14);
}

.nav .search-link__icon {
  width: 0.9rem;
  height: 0.9rem;
}

.nav .search-link__icon svg {
  --icon-stroke-width: var(--nav-icon-stroke);
}

/* ---- Consistent states across the set (no per-button bounce) ---- */
.nav .nav-cta:hover {
  transform: none;
  background: var(--ink);
  border-color: var(--ink);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 2px 4px rgba(12, 20, 25, 0.16);
}

.nav .search-link:hover,
.nav .cart-link:hover {
  background: var(--white);
  border-color: rgba(12, 20, 25, 0.22);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.nav .search-link:active,
.nav .nav-cta:active,
.nav .cart-link:active {
  transform: translateY(1px);
}

.nav .search-link:focus-visible,
.nav .nav-cta:focus-visible,
.nav .cart-link:focus-visible,
.nav .nav-links a:focus-visible,
.nav .nav-products__toggle:focus-visible {
  outline: 2px solid var(--glacier);
  outline-offset: 2px;
}

/* ---- Cart count sits inside the pill, not clipped to its corner ---- */
.nav .cart-link {
  gap: 0.45rem;
}

.nav .cart-badge {
  position: static;
  top: auto;
  right: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0.95rem;
  height: 0.95rem;
  padding: 0 0.22rem;
  font-size: 0.6rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  background: var(--glacier);
  color: var(--white);
  border-radius: 999px;
}

/* ---- Narrow desktop / tablet: tighten so no label ever wraps ---- */
@media (min-width: 720px) and (max-width: 959px) {
  .nav {
    --nav-control-h: 2.25rem;
    --nav-control-pad: 0.7rem;
    --nav-control-font: 0.8rem;
  }

  .nav .nav-bar {
    gap: 0.7rem;
    padding-inline: clamp(1rem, 2.2vw, 1.5rem);
  }

  .nav .nav-actions {
    gap: 0.4rem;
  }
}

@media (max-width: 719px) {
  .nav {
    --nav-control-h: 2.15rem;
    --nav-control-pad: 0.55rem;
    --nav-control-font: 0.75rem;
  }

  .nav .nav-bar {
    padding-block: 0.65rem;
    gap: 0.4rem;
  }

  .nav .nav-links {
    gap: 0.65rem;
    font-size: 0.78rem;
  }

  .nav .nav-links a,
  .nav .nav-links .nav-products__toggle {
    height: var(--nav-control-h);
  }

  .nav .nav-actions {
    gap: 0.3rem;
  }

  .nav .nav-cta {
    padding: 0 var(--nav-control-pad);
  }
}



/* Wide-viewport crop safety for the editorial bands (owner redline 2026-07-25).
   These containers change aspect ratio with the viewport, so a product composed
   near an edge is the first thing object-fit: cover throws away. */
.chapter__plane .chapter__picture {
  display: block;
  position: absolute;
  inset: 0;
  z-index: 0;
}

/* Air-board rows are minmax(140px, 22vw): the cell is ~1.2:1 on a phone and
   ~2.15:1 at 1920px. Bias the crop to the portable unit and desk, not the
   ceiling. */
.air-board__cell--editorial img {
  /* The mosaic is a 3-column grid, so this cell is portrait (~0.69:1) at 768px
     and landscape (~1.71:1) at 1920px. 40% keeps the portable unit inside the
     portrait crop instead of shaving its left edge. */
  object-position: 40% 43% !important;
}

/* At 390px the split band's copy needs ~250px of a 280px plane, which put the
   heading straight across the wall unit. More height below 600px lets the unit
   sit clear above the first line of type — no type or spacing changes. */
@media (max-width: 599px) {
  .chapter--split.chapter--scene .chapter__plane {
    min-height: 420px;
  }
}


/* fullscreen-hero-glitch-20260725 */
/* Single-image split band — one painted <img>, plane locked ~2:1 at desktop */
.chapter--split.chapter--scene .chapter__plane {
  aspect-ratio: 2 / 1;
  max-height: min(92vh, 980px);
  height: auto;
}
.chapter--split.chapter--scene .chapter__plane .chapter__img,
.chapter--split.chapter--scene .chapter__plane img.chapter__img {
  object-fit: cover !important;
  object-position: 50% 30% !important;
  filter: none !important;
}

/* hero-nav-safe-20260727 — homepage slideshow track (full 3:2 plane + nav-safe lower copy) */
[data-sora-hero-cinema] .hero-cinema__slides {
  position: absolute;
  inset: 0;
  z-index: 0;
}

[data-sora-hero-cinema] .hero-cinema__slides img {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  transform: none !important;
  border: 0;
  opacity: 0;
  transition: opacity 0.85s ease;
  pointer-events: none;
}

[data-sora-hero-cinema] .hero-cinema__slides img.is-active {
  opacity: 1;
  z-index: 1;
}

/* hero-ticks-bottom-20260727 — bottom-center of hero plane (not viewport-cap mid-image) */
[data-sora-hero-cinema] .hero-cinema__ticks {
  position: absolute;
  left: 50%;
  bottom: clamp(1rem, 2.5vh, 2.5rem);
  transform: translateX(-50%);
  z-index: 6;
  display: flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
}

[data-sora-hero-cinema] .hero-cinema__tick {
  width: 1.65rem;
  height: 3px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.38);
  cursor: pointer;
  transition: width 0.35s ease, background 0.35s ease;
}

[data-sora-hero-cinema] .hero-cinema__tick.is-active {
  width: 2.55rem;
  background: rgba(255, 255, 255, 0.92);
}

[data-sora-hero-cinema] .hero-cinema__tick:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.85);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  [data-sora-hero-cinema] .hero-cinema__slides img {
    transition: none;
  }
}

@media (max-width: 719px) {
  [data-sora-hero-cinema] .hero-cinema__ticks {
    bottom: clamp(0.75rem, 2vh, 1.5rem);
  }
}

.hero-cinema__copy a,
.hero-cinema__copy .btn {
  pointer-events: auto;
}

/* mobile-scroll-header-fix-20260725 */
/* BUG1 header: hamburger below 720px so SORA never collides with Products.
   BUG2 scroll: class-based lock + gallery touch-action already pan-y.
   BUG3 mosaic: equal gutters; wide tile must not shrink width via aspect-ratio. */

.nav-menu-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: var(--nav-control-h, 2.5rem);
  height: var(--nav-control-h, 2.5rem);
  margin: 0;
  padding: 0;
  border: 1px solid rgba(12, 20, 25, 0.18);
  border-radius: var(--nav-control-radius, 10px);
  background: transparent;
  color: var(--ink, #0c1419);
  cursor: pointer;
}

.nav-menu-toggle__bars,
.nav-menu-toggle__bars::before,
.nav-menu-toggle__bars::after {
  display: block;
  width: 1rem;
  height: 1.5px;
  background: currentColor;
  border-radius: 1px;
  position: relative;
}

.nav-menu-toggle__bars::before,
.nav-menu-toggle__bars::after {
  content: "";
  position: absolute;
  left: 0;
}

.nav-menu-toggle__bars::before {
  top: -5px;
}

.nav-menu-toggle__bars::after {
  top: 5px;
}

.nav.is-nav-open .nav-menu-toggle__bars {
  background: transparent;
}

.nav.is-nav-open .nav-menu-toggle__bars::before {
  top: 0;
  transform: rotate(45deg);
}

.nav.is-nav-open .nav-menu-toggle__bars::after {
  top: 0;
  transform: rotate(-45deg);
}

html.sora-scroll-lock,
html.sora-scroll-lock body {
  overflow: hidden !important;
}

@media (max-width: 719px) {
  .nav {
    position: sticky;
    top: 0;
  }

  .nav .nav-bar {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.45rem;
    padding: 0.65rem 0.85rem;
  }

  .nav .logo {
    flex-shrink: 0;
    margin-right: 0.35rem;
  }

  .nav .logo-mark {
    font-size: 1.28rem;
    letter-spacing: 0.03em;
  }

  .nav .logo-sub {
    display: inline;
    font-size: 0.68rem;
    letter-spacing: 0.14em;
  }

  .nav .nav-menu-toggle {
    display: inline-flex;
    order: 2;
  }

  .nav .nav-actions {
    order: 3;
    margin-left: auto;
    gap: 0.3rem;
    flex-shrink: 0;
  }

  .nav .nav-links {
    display: none !important;
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    z-index: 70;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    margin: 0;
    padding: 0.35rem 0.85rem 0.85rem;
    background: rgba(255, 255, 255, 0.98);
    border-bottom: 1px solid rgba(12, 20, 25, 0.08);
    box-shadow: 0 16px 28px rgba(12, 20, 25, 0.08);
    overflow: visible !important;
    mask-image: none !important;
    flex: none !important;
    min-width: 0;
    justify-content: flex-start;
  }

  .nav.is-nav-open .nav-links {
    display: flex !important;
  }

  .nav .nav-links > * {
    flex: 0 0 auto;
    width: 100%;
  }

  .nav .nav-links a,
  .nav .nav-links .nav-products__toggle {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 2.75rem;
    padding: 0.55rem 0.15rem;
    font-size: 0.95rem;
    white-space: normal;
    border-bottom: 1px solid rgba(12, 20, 25, 0.06);
  }

  .nav .nav-products__toggle--mobile {
    display: none !important;
  }

  .nav .search-link__label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .nav .search-link,
  .nav .cart-link {
    padding-inline: 0.55rem;
  }

  .nav .nav-cta,
  .nav .nav-util--shop {
    display: none !important;
  }

  /* Air-board mosaic — explicit tracks, equal gaps, no grey ghost */
  .air-board__mosaic {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto minmax(168px, 44vw) minmax(168px, 44vw) auto;
    grid-auto-rows: unset;
    gap: 0.5rem;
    padding: 0 1rem;
    align-items: stretch;
    justify-items: stretch;
  }

  .air-board__cell {
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    min-height: 0;
    background: transparent;
    justify-self: stretch;
    align-self: stretch;
  }

  .air-board__cell--wide {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    aspect-ratio: 16 / 9;
    width: 100% !important;
    min-height: 0 !important;
    max-height: none;
    height: auto;
  }

  .air-board__cell--tall {
    grid-column: 1 / 2 !important;
    grid-row: 2 / span 2 !important;
  }

  .air-board__cell:nth-child(3) {
    grid-column: 2 / 3 !important;
    grid-row: 2 / 3 !important;
  }

  .air-board__cell:nth-child(4) {
    grid-column: 2 / 3 !important;
    grid-row: 3 / 4 !important;
  }

  .air-board__cell--span {
    grid-column: 1 / -1 !important;
    grid-row: 4 !important;
    aspect-ratio: 16 / 9;
    min-height: 0;
  }

  .air-board__cell img {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    object-fit: cover !important;
    display: block;
  }

  .air-board__caption {
    z-index: 2;
  }
}

@media (min-width: 720px) {
  .nav .nav-menu-toggle {
    display: none !important;
  }
}

/* Room-intent SEO landing pages (P0-03) */
.room-intent__hero {
  display: grid;
  gap: clamp(1.5rem, 4vw, 2.5rem);
  padding: clamp(2rem, 5vw, 3.5rem) clamp(1.25rem, 4vw, 3rem);
  max-width: 1120px;
  margin: 0 auto;
  align-items: center;
}

@media (min-width: 900px) {
  .room-intent__hero {
    grid-template-columns: 1fr 1.05fr;
  }
}

.room-intent__hero-copy h1 {
  font-family: Fraunces, Georgia, serif;
  font-size: clamp(1.85rem, 4vw, 2.75rem);
  line-height: 1.12;
  margin: 0.35rem 0 0.75rem;
}

.room-intent__hero-media img {
  width: 100%;
  height: auto;
  border-radius: 12px;
  display: block;
  object-fit: cover;
  aspect-ratio: 3 / 2;
}

.room-intent__cross {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding: 0 clamp(1.25rem, 4vw, 3rem) clamp(2.5rem, 6vw, 4rem);
  max-width: 1120px;
  margin: 0 auto;
}

/* ═══ packshot-multiply-blend-20260726 — Apple-seamless studio plates ═══
   Owner redline: off-white/grey JPG square vs theme pure white (#ffffff).
   multiply on packshot slot #1 only; parent plate MUST be #ffffff (not #f4f4f6).
   Prior pdp-empty-gallery-fix used grey plate + normal blend — two-tone seam returned.
   Lifestyle slot #2: mix-blend-mode normal always. */
.pdp--flat-gallery .pdp__carousel-viewport,
.pdp--flat-gallery .pdp__carousel-track {
  background-color: #ffffff !important;
  border: none !important;
  box-shadow: none !important;
}

.pdp--flat-gallery .pdp__slide--packshot,
.pdp--flat-gallery .pdp__slide--packshot .product-gallery__slide {
  background-color: #ffffff !important;
  border: none !important;
  box-shadow: none !important;
}

.pdp--flat-gallery .product-gallery__img--packshot,
.pdp--flat-gallery .pdp__slide--packshot .product-gallery__img,
.pdp--flat-gallery .pdp__slide--packshot img {
  mix-blend-mode: multiply !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
  object-fit: contain !important;
  object-position: center center !important;
  padding: clamp(0.75rem, 2vw, 1.25rem) !important;
  width: 100% !important;
  height: 100% !important;
}

.pdp--flat-gallery .product-gallery__img--lifestyle,
.pdp--flat-gallery .pdp__slide--lifestyle .product-gallery__img,
.pdp--flat-gallery .pdp__slide--lifestyle img {
  mix-blend-mode: normal !important;
  filter: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  padding: 0 !important;
}

.pdp--flat-gallery .pdp__thumb--packshot {
  background-color: #ffffff !important;
  border: none !important;
  box-shadow: none !important;
}

.pdp--flat-gallery .pdp__thumb--packshot img {
  mix-blend-mode: multiply !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.pdp--flat-gallery .pdp__thumb--lifestyle img {
  mix-blend-mode: normal !important;
}

.pdp--flat-gallery .product-gallery__slide {
  display: block !important;
  position: absolute;
  inset: 0;
}

/* pdp-sticky-scroll-fix-20260726 — gallery scrolls with page; sticky overlapped story copy */
@media (min-width: 720px) {
  .pdp--flat-gallery:not(.pdp--meta-scroll) .pdp__gallery {
    position: relative;
    top: auto;
    align-self: start;
  }

  /* Cap widescreen stage height without sticky overlap on full-width story row below */
  .pdp--flat-gallery:not(.pdp--meta-scroll) .pdp__carousel-viewport {
    aspect-ratio: 4 / 3;
    max-height: 550px !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0;
  }
}

/* ═══ pdp-meta-scroll-layout-20260726 — Meta-style PDP: scroll left, sticky buy right ═══
   Reference: meta.com Starfire Kylie Edition — left ~2/3 rich content scrolls;
   right ~1/3 buy card stays sticky. Gallery + story stack in one column; no white void. */
.pdp--meta-scroll {
  --pdp-buy-sticky-top: calc(var(--sora-sticky-nav-offset, 4.6rem) + 0.65rem);
}

@media (min-width: 720px) {
  .pdp--meta-scroll {
    display: grid;
    grid-template-columns: minmax(0, 1.68fr) minmax(280px, 0.92fr);
    grid-template-areas: "scroll buy";
    grid-template-rows: auto;
    gap: clamp(1.15rem, 2.2vw, 1.85rem);
    align-items: start;
    padding-top: 1.15rem;
  }

  .pdp--meta-scroll .pdp__scroll {
    grid-area: scroll;
    display: flex;
    flex-direction: column;
    gap: clamp(0.45rem, 1.1vw, 0.75rem);
    min-width: 0;
  }

  .pdp--meta-scroll .pdp__gallery {
    grid-column: auto;
    grid-row: auto;
    position: relative;
    top: auto;
    width: 100%;
    max-width: none;
    align-self: stretch;
  }

  .pdp--meta-scroll .pdp__buy {
    grid-area: buy;
    grid-column: auto;
    grid-row: auto;
    position: relative;
    align-self: start;
    min-width: 0;
  }

  .pdp--meta-scroll .pdp__buy-inner {
    position: sticky;
    top: var(--pdp-buy-sticky-top);
    max-height: calc(100vh - var(--pdp-buy-sticky-top) - 0.75rem);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
  }

  .pdp--meta-scroll .pdp__carousel,
  .pdp--meta-scroll .pdp__carousel-viewport {
    max-width: none;
    width: 100%;
  }

  .pdp--meta-scroll .pdp__carousel-viewport {
    aspect-ratio: 4 / 3;
    width: 100% !important;
    height: auto !important;
    max-height: 550px !important;
    min-height: 0;
  }

  .pdp--meta-scroll .pdp__story {
    grid-column: auto;
    grid-row: auto;
    width: 100%;
    max-width: none;
    padding-top: 0;
    margin-top: 0;
    border-top: none;
  }

  /* Copy-only story (2-media SKUs): readable line length, no dead visual column */
  .pdp--meta-scroll .pdp__story:not(.pdp__story--split) .pdp__story-copy {
    max-width: min(750px, 100%);
  }

  .pdp--meta-scroll .pdp__story-inner {
    gap: clamp(0.5rem, 1.1vw, 0.8rem);
  }

  .pdp--meta-scroll .pdp__story--split .pdp__story-inner {
    grid-template-columns: 1fr;
    align-items: stretch;
    gap: clamp(0.4rem, 0.9vw, 0.65rem);
  }

  .pdp--meta-scroll .pdp__story-head {
    gap: 0.3rem;
  }

  .pdp--meta-scroll .pdp__story-copy {
    gap: 0.55rem;
  }

  .pdp--meta-scroll .pdp__story-body {
    gap: 0.55rem;
    font-size: 1rem;
    line-height: 1.55;
  }

  .pdp--meta-scroll .pdp__story-body ul,
  .pdp--meta-scroll .pdp-copy__proof {
    gap: 0.4rem;
  }

  .pdp--meta-scroll .pdp__story-visual {
    margin-top: 0.1rem;
    border-radius: 12px;
    aspect-ratio: 16 / 10;
    min-height: 180px;
    max-height: none;
  }

  .pdp--meta-scroll .pdp__story--split .pdp__story-visual {
    min-height: 200px;
    max-height: min(480px, 46vh);
  }

  .pdp--meta-scroll .pdp__story-foot {
    padding-top: 0.1rem;
    gap: 0.55rem 0.85rem;
  }

  .pdp--meta-scroll .pdp-copy__delivery,
  .pdp--meta-scroll .pdp__story-body p:has(strong),
  .pdp--meta-scroll .pdp__story-body .pdp-copy__delivery {
    padding-top: 0.45rem;
    margin-top: 0;
  }
}

@media (max-width: 719px) {
  .pdp--meta-scroll {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas:
      "gallery"
      "buy"
      "story";
    gap: 1rem;
    padding-top: 0.85rem;
  }

  .pdp--meta-scroll .pdp__scroll {
    display: contents;
  }

  .pdp--meta-scroll .pdp__gallery {
    grid-area: gallery;
  }

  .pdp--meta-scroll .pdp__buy {
    grid-area: buy;
  }

  .pdp--meta-scroll .pdp__story {
    grid-area: story;
    border-top: none;
    padding-top: 0;
  }

  .pdp--meta-scroll .pdp__buy-inner {
    position: relative;
    top: auto;
    max-height: none;
    overflow: visible;
  }

  .pdp--meta-scroll .pdp__story--split .pdp__story-inner {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
}

/* Tighter handoff from PDP story into cinema band */
.pdp--meta-scroll + .sora-cine .sora-cine__intro {
  padding-top: clamp(1.75rem, 4vw, 3rem);
}

/* ═══ pdp-gallery-widescreen-20260726 — landscape 4:3 PDP carousel ═══
   Owner redline: square 1:1 viewport trapped packshots in narrow white box
   and cropped lifestyle into vertical postage stamp. Cinema (sora-interactive)
   unchanged — this block targets .pdp__gallery carousel only. */
.pdp__carousel-viewport,
.pdp--flat-gallery .pdp__carousel-viewport,
.pdp--meta-scroll .pdp__carousel-viewport {
  aspect-ratio: 4 / 3 !important;
  width: 100% !important;
  height: auto !important;
  max-height: 550px !important;
  min-height: 0 !important;
}

.pdp__carousel-track,
.pdp__slide {
  height: 100% !important;
}

.pdp__slide--packshot,
.pdp__slide--packshot .product-gallery__slide {
  background-color: #ffffff !important;
}

.pdp--flat-gallery .pdp__slide--packshot .product-gallery__img,
.pdp--flat-gallery .pdp__slide--packshot img,
.pdp__slide--packshot .product-gallery__img,
.pdp__slide--packshot img {
  object-fit: contain !important;
  object-position: center center !important;
  mix-blend-mode: multiply !important;
  padding: clamp(0.5rem, 1.5vw, 1rem) !important;
  width: 100% !important;
  height: 100% !important;
  background: transparent !important;
}

.pdp--flat-gallery .pdp__slide--lifestyle .product-gallery__img,
.pdp--flat-gallery .pdp__slide--lifestyle img,
.pdp__slide--lifestyle .product-gallery__img,
.pdp__slide--lifestyle img,
.pdp__slide--flat.pdp__slide--lifestyle .product-gallery__img {
  object-fit: cover !important;
  object-position: center center !important;
  mix-blend-mode: normal !important;
  padding: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

@media (max-width: 719px) {
  .pdp--meta-scroll .pdp__gallery,
  .pdp__gallery,
  .pdp__carousel {
    max-width: 100% !important;
    width: 100% !important;
  }

  .pdp__carousel-viewport,
  .pdp--meta-scroll .pdp__carousel-viewport {
    max-width: 100% !important;
    aspect-ratio: 4 / 3 !important;
    max-height: min(550px, 58vh) !important;
  }
}

/* ═══ dyson-lifestyle-crop-fix-20260726 — tall tower gallery contain ═══
   Owner redline: widescreen 4:3 + object-fit:cover clipped Dyson TP11 head/base
   on desktop fullscreen. Tall fans/purifiers/dehumidifiers/portables: lifestyle
   contain + neutral plate so full product stays in frame. Wall splits keep cover.
   Cinema band unchanged (sora-interactive.css contain #121212). Packshot unchanged.
   Selectors mirror is_portable via #product-root data attrs (class fallback too). */
#product-root[data-product-type*="Air quality"] .pdp__carousel-viewport,
#product-root[data-product-type*="Fans"] .pdp__carousel-viewport,
#product-root[data-product-type*="Fan"] .pdp__carousel-viewport,
#product-root[data-product-type*="Dehumidifier"] .pdp__carousel-viewport,
#product-root[data-product-type*="Portable"] .pdp__carousel-viewport,
#product-root[data-product-handle*="-fan"] .pdp__carousel-viewport,
#product-root[data-product-handle*="purifier"] .pdp__carousel-viewport,
#product-root[data-product-handle*="dehumid"] .pdp__carousel-viewport,
#product-root[data-product-handle*="portable"] .pdp__carousel-viewport,
.pdp--tall-lifestyle .pdp__carousel-viewport,
#product-root[data-product-type*="Air quality"] .pdp__carousel-track,
#product-root[data-product-type*="Fans"] .pdp__carousel-track,
#product-root[data-product-type*="Fan"] .pdp__carousel-track,
#product-root[data-product-type*="Dehumidifier"] .pdp__carousel-track,
#product-root[data-product-type*="Portable"] .pdp__carousel-track,
#product-root[data-product-handle*="-fan"] .pdp__carousel-track,
#product-root[data-product-handle*="purifier"] .pdp__carousel-track,
#product-root[data-product-handle*="dehumid"] .pdp__carousel-track,
#product-root[data-product-handle*="portable"] .pdp__carousel-track,
.pdp--tall-lifestyle .pdp__carousel-track,
#product-root[data-product-type*="Air quality"] .pdp__slide--lifestyle,
#product-root[data-product-type*="Fans"] .pdp__slide--lifestyle,
#product-root[data-product-type*="Fan"] .pdp__slide--lifestyle,
#product-root[data-product-type*="Dehumidifier"] .pdp__slide--lifestyle,
#product-root[data-product-type*="Portable"] .pdp__slide--lifestyle,
#product-root[data-product-handle*="-fan"] .pdp__slide--lifestyle,
#product-root[data-product-handle*="purifier"] .pdp__slide--lifestyle,
#product-root[data-product-handle*="dehumid"] .pdp__slide--lifestyle,
#product-root[data-product-handle*="portable"] .pdp__slide--lifestyle,
.pdp--tall-lifestyle .pdp__slide--lifestyle,
#product-root[data-product-type*="Air quality"] .pdp__slide--lifestyle .product-gallery__slide,
#product-root[data-product-type*="Fans"] .pdp__slide--lifestyle .product-gallery__slide,
#product-root[data-product-type*="Fan"] .pdp__slide--lifestyle .product-gallery__slide,
#product-root[data-product-type*="Dehumidifier"] .pdp__slide--lifestyle .product-gallery__slide,
#product-root[data-product-type*="Portable"] .pdp__slide--lifestyle .product-gallery__slide,
#product-root[data-product-handle*="-fan"] .pdp__slide--lifestyle .product-gallery__slide,
#product-root[data-product-handle*="purifier"] .pdp__slide--lifestyle .product-gallery__slide,
#product-root[data-product-handle*="dehumid"] .pdp__slide--lifestyle .product-gallery__slide,
#product-root[data-product-handle*="portable"] .pdp__slide--lifestyle .product-gallery__slide,
.pdp--tall-lifestyle .pdp__slide--lifestyle .product-gallery__slide {
  background-color: var(--media-plate, #f4f4f6) !important;
}

#product-root[data-product-type*="Air quality"] .product-gallery__img--lifestyle,
#product-root[data-product-type*="Air quality"] .pdp__slide--lifestyle .product-gallery__img,
#product-root[data-product-type*="Air quality"] .pdp__slide--lifestyle img,
#product-root[data-product-type*="Fans"] .product-gallery__img--lifestyle,
#product-root[data-product-type*="Fans"] .pdp__slide--lifestyle .product-gallery__img,
#product-root[data-product-type*="Fans"] .pdp__slide--lifestyle img,
#product-root[data-product-type*="Fan"] .product-gallery__img--lifestyle,
#product-root[data-product-type*="Fan"] .pdp__slide--lifestyle .product-gallery__img,
#product-root[data-product-type*="Fan"] .pdp__slide--lifestyle img,
#product-root[data-product-type*="Dehumidifier"] .product-gallery__img--lifestyle,
#product-root[data-product-type*="Dehumidifier"] .pdp__slide--lifestyle .product-gallery__img,
#product-root[data-product-type*="Dehumidifier"] .pdp__slide--lifestyle img,
#product-root[data-product-type*="Portable"] .product-gallery__img--lifestyle,
#product-root[data-product-type*="Portable"] .pdp__slide--lifestyle .product-gallery__img,
#product-root[data-product-type*="Portable"] .pdp__slide--lifestyle img,
#product-root[data-product-handle*="-fan"] .product-gallery__img--lifestyle,
#product-root[data-product-handle*="-fan"] .pdp__slide--lifestyle .product-gallery__img,
#product-root[data-product-handle*="-fan"] .pdp__slide--lifestyle img,
#product-root[data-product-handle*="purifier"] .product-gallery__img--lifestyle,
#product-root[data-product-handle*="purifier"] .pdp__slide--lifestyle .product-gallery__img,
#product-root[data-product-handle*="purifier"] .pdp__slide--lifestyle img,
#product-root[data-product-handle*="dehumid"] .product-gallery__img--lifestyle,
#product-root[data-product-handle*="dehumid"] .pdp__slide--lifestyle .product-gallery__img,
#product-root[data-product-handle*="dehumid"] .pdp__slide--lifestyle img,
#product-root[data-product-handle*="portable"] .product-gallery__img--lifestyle,
#product-root[data-product-handle*="portable"] .pdp__slide--lifestyle .product-gallery__img,
#product-root[data-product-handle*="portable"] .pdp__slide--lifestyle img,
.pdp--tall-lifestyle.pdp--flat-gallery .product-gallery__img--lifestyle,
.pdp--tall-lifestyle.pdp--flat-gallery .pdp__slide--lifestyle .product-gallery__img,
.pdp--tall-lifestyle.pdp--flat-gallery .pdp__slide--lifestyle img,
.pdp--tall-lifestyle .pdp__slide--lifestyle .product-gallery__img,
.pdp--tall-lifestyle .pdp__slide--lifestyle img,
.pdp--tall-lifestyle .pdp__slide--flat.pdp__slide--lifestyle .product-gallery__img,
.pdp--tall-lifestyle .product-gallery__img--lifestyle {
  object-fit: contain !important;
  object-position: center center !important;
  mix-blend-mode: normal !important;
  padding: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: transparent !important;
  filter: none !important;
}

#product-root[data-product-type*="Air quality"] .pdp__slide--lifestyle:not(.pdp__slide--composite) .product-media__lifestyle-bg,
#product-root[data-product-type*="Fans"] .pdp__slide--lifestyle:not(.pdp__slide--composite) .product-media__lifestyle-bg,
#product-root[data-product-type*="Fan"] .pdp__slide--lifestyle:not(.pdp__slide--composite) .product-media__lifestyle-bg,
#product-root[data-product-type*="Dehumidifier"] .pdp__slide--lifestyle:not(.pdp__slide--composite) .product-media__lifestyle-bg,
#product-root[data-product-type*="Portable"] .pdp__slide--lifestyle:not(.pdp__slide--composite) .product-media__lifestyle-bg,
#product-root[data-product-handle*="-fan"] .pdp__slide--lifestyle:not(.pdp__slide--composite) .product-media__lifestyle-bg,
#product-root[data-product-handle*="purifier"] .pdp__slide--lifestyle:not(.pdp__slide--composite) .product-media__lifestyle-bg,
#product-root[data-product-handle*="dehumid"] .pdp__slide--lifestyle:not(.pdp__slide--composite) .product-media__lifestyle-bg,
#product-root[data-product-handle*="portable"] .pdp__slide--lifestyle:not(.pdp__slide--composite) .product-media__lifestyle-bg,
.pdp--tall-lifestyle .pdp__slide--lifestyle:not(.pdp__slide--composite) .product-media__lifestyle-bg {
  object-fit: contain !important;
  object-position: center center !important;
}

/* ═══ packshot-white-balance-20260728 — unify collection card studio plates ═══
   Owner payload 2026-07-28: stronger filter + !important (prior 20260727 filter lost to
   global `filter: none !important` on .product-media img — muddy grey plates stayed).
   Scope: ALL .product-grid catalog thumbs (+ Dawn-compat card selectors) — NOT lifestyle
   hover, NOT feature/editorial, NOT PDP gallery, NOT heatwave/air-board/mood bands.
   Pure-white plate + multiply + filter pulls cream/grey JPG studios onto card white.
   Dark-finish SKUs: normal blend (multiply milks black bodies). */
.product-grid .product-card:not(.product-card--feature) .product-media,
.plp .product-grid .product-card:not(.product-card--feature) .product-media,
.shop-all .product-grid .product-card:not(.product-card--feature) .product-media {
  background-color: #ffffff !important;
}

/* SORA custom cards — whole-site product grids */
.product-grid .product-card:not(.product-card--feature) .product-media > img:not(.product-media__lifestyle),
.product-grid .product-card:not(.product-card--feature) .product-media__packshot,
/* Dawn / Horizon compat (no-op on SORA markup; safe if native cards appear) */
[class*="grid"] .card__media img,
.product-card__image-wrapper img {
  mix-blend-mode: multiply !important;
  background-color: transparent !important;
  filter: brightness(1.05) contrast(1.04) saturate(0.85) !important;
  image-rendering: -webkit-optimize-contrast !important;
}

/* Hard exclusions — never flatten rich lifestyle / editorial / heroes via owner payload */
.product-card--feature .product-media img,
.product-card--has-lifestyle .product-media__lifestyle,
.product-grid .product-card .product-media__lifestyle,
.heatwave-band__media img,
.air-board__cell img,
.mood-living__hero img,
.mood-living__tile img,
.chapter--scene .chapter__img,
.residences__tile img,
.nav-cat__media img,
.pdp__slide--lifestyle img,
.pdp__thumb--lifestyle img,
.product-gallery__img--lifestyle {
  mix-blend-mode: normal !important;
  filter: none !important;
  background-color: transparent !important;
}

/* Dark-finish heroes: multiply + brighten crushes black bodies — normal blend, mild lift */
.product-grid .product-card:not(.product-card--feature):is(
    [data-product-handle="xiaomi-tower-fan"],
    [data-product-handle="xiaomi-purify-fan"],
    [data-product-handle="xiaomi-bladeless-pro"],
    [data-product-handle="xiaomi-mijia-fresh-pro"],
    [data-product-handle="ecoflow-wave-3"],
    [data-product-handle="gree-clivia"],
    [data-product-handle="gree-clivia-35"],
    [data-product-handle="lg-artcool-mirror"],
    [data-product-handle="lg-dualcool"],
    [data-product-handle="dreame-mf10"],
    [data-product-handle="dyson-hp09-purifying-heater"],
    [data-product-handle="dyson-hushjet-hj10"],
    [data-product-handle="dyson-tp11-cool-purifier"],
    [data-product-handle="hisense-display-freezer"],
    [data-product-handle="hisense-fl37-beverage"]
  ) .product-media > img:not(.product-media__lifestyle),
.product-grid .product-card:not(.product-card--feature):is(
    [data-product-handle="xiaomi-tower-fan"],
    [data-product-handle="xiaomi-purify-fan"],
    [data-product-handle="xiaomi-bladeless-pro"],
    [data-product-handle="xiaomi-mijia-fresh-pro"],
    [data-product-handle="ecoflow-wave-3"],
    [data-product-handle="gree-clivia"],
    [data-product-handle="gree-clivia-35"],
    [data-product-handle="lg-artcool-mirror"],
    [data-product-handle="lg-dualcool"],
    [data-product-handle="dreame-mf10"],
    [data-product-handle="dyson-hp09-purifying-heater"],
    [data-product-handle="dyson-hushjet-hj10"],
    [data-product-handle="dyson-tp11-cool-purifier"],
    [data-product-handle="hisense-display-freezer"],
    [data-product-handle="hisense-fl37-beverage"]
  ) .product-media__packshot {
  mix-blend-mode: normal !important;
  filter: brightness(1.02) contrast(1.02) saturate(0.96) !important;
  background-color: transparent !important;
  image-rendering: -webkit-optimize-contrast !important;
}

/* cassette-media-mismatch-fix-20260727 — search + CC cassette contain */
body.sora-skin .search-modal .resource-card__image,
body.sora-skin .search-modal .resource-card__image--secondary,
body.sora-skin .predictive-search-results__card--product .resource-card__image {
  object-fit: contain !important;
  object-position: center center !important;
  background: #f7f7f9;
  padding: 6% !important;
  box-sizing: border-box;
}

body.sora-skin .search-modal .resource-card__media {
  background: #f7f7f9;
  aspect-ratio: 1 / 1;
}

.cc .product-card .product-media__packshot,
.cc .product-card .product-media > img:not(.product-media__lifestyle),
.plp .product-grid .product-card[data-product-handle*="-cassette"] .product-media__packshot,
.plp .product-grid .product-card[data-product-handle*="-cassette"] .product-media > img:not(.product-media__lifestyle),
.shop-all .product-grid .product-card[data-product-handle*="-cassette"] .product-media__packshot,
.shop-all .product-grid .product-card[data-product-handle*="-cassette"] .product-media > img:not(.product-media__lifestyle) {
  object-fit: contain !important;
  object-position: center center !important;
  padding: 5% !important;
}

.cc .product-card[data-product-handle*="cassette"].product-card--has-lifestyle:hover .product-media__lifestyle,
.cc .product-card[data-product-handle*="cassette"].product-card--has-lifestyle:focus-within .product-media__lifestyle {
  opacity: 0;
}
.cc .product-card[data-product-handle*="cassette"].product-card--has-lifestyle:hover .product-media__packshot,
.cc .product-card[data-product-handle*="cassette"].product-card--has-lifestyle:focus-within .product-media__packshot {
  opacity: 1;
}

/* ==========================================================================
   Account nav-util + track-order page (2026-07-27)
   ========================================================================== */
.nav .nav-util--account {
  display: none;
  background: var(--white);
  border-color: rgba(12, 20, 25, 0.11);
  color: var(--ink);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

@media (min-width: 900px) {
  .nav .nav-util--account {
    display: inline-flex;
  }
}

.nav .nav-util--account:hover {
  background: var(--white);
  border-color: rgba(12, 20, 25, 0.22);
}

.sora-track {
  font-family: Sora, system-ui, sans-serif;
  color: var(--ink);
  padding: clamp(2rem, 6vw, 4rem) 1.25rem 5rem;
  background: linear-gradient(180deg, #f7f9fa 0%, #fff 42%);
}

.sora-track__inner {
  max-width: 640px;
  margin: 0 auto;
}

.sora-track__eyebrow {
  font-size: 0.75rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--glacier, #2f6f7e);
  margin: 0 0 0.5rem;
}

.sora-track__title {
  font-family: Fraunces, Georgia, serif;
  font-weight: 500;
  font-size: clamp(1.75rem, 4vw, 2.35rem);
  margin: 0 0 0.75rem;
}

.sora-track__lede {
  margin: 0 0 2rem;
  color: rgba(12, 20, 25, 0.72);
  line-height: 1.6;
}

.sora-track__form {
  background: var(--white);
  border: 1px solid rgba(12, 20, 25, 0.08);
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: 0 1px 2px rgba(12, 20, 25, 0.04);
}

.sora-track__fields {
  display: grid;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

@media (min-width: 540px) {
  .sora-track__fields {
    grid-template-columns: 1fr 1fr;
  }
}

.sora-track__label {
  display: block;
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(12, 20, 25, 0.55);
  margin-bottom: 0.35rem;
}

.sora-track__input {
  width: 100%;
  padding: 0.75rem 0.875rem;
  border: 1px solid rgba(12, 20, 25, 0.14);
  border-radius: 8px;
  font: inherit;
  background: #fff;
}

.sora-track__input:focus {
  outline: 2px solid var(--glacier, #2f6f7e);
  outline-offset: 1px;
}

.sora-track__submit {
  width: 100%;
}

.sora-track__hint {
  margin: 0.75rem 0 0;
  font-size: 0.875rem;
  color: #9b3d3d;
}

.sora-track__result {
  margin-top: 2rem;
}

.sora-track__status-card {
  background: var(--white);
  border: 1px solid rgba(12, 20, 25, 0.08);
  border-radius: 12px;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
}

.sora-track__status-label {
  font-family: Fraunces, Georgia, serif;
  font-size: 1.5rem;
  margin: 0.35rem 0;
}

.sora-track__carrier,
.sora-track__eta,
.sora-track__updated {
  margin: 0.25rem 0 0;
  font-size: 0.875rem;
  color: rgba(12, 20, 25, 0.65);
}

.sora-track__timeline {
  list-style: none;
  margin: 0;
  padding: 0;
  border-left: 2px solid rgba(12, 20, 25, 0.08);
  margin-left: 0.65rem;
}

.sora-track__step {
  position: relative;
  padding: 0 0 1.25rem 1.25rem;
  color: rgba(12, 20, 25, 0.45);
}

.sora-track__step.is-complete {
  color: var(--ink);
}

.sora-track__step.is-current {
  color: var(--ink);
  font-weight: 500;
}

.sora-track__step-dot {
  position: absolute;
  left: -0.45rem;
  top: 0.35rem;
  width: 0.65rem;
  height: 0.65rem;
  border-radius: 50%;
  background: rgba(12, 20, 25, 0.15);
  border: 2px solid #fff;
}

.sora-track__step.is-complete .sora-track__step-dot {
  background: var(--glacier, #2f6f7e);
}

.sora-track__step.is-current .sora-track__step-dot {
  background: var(--ink);
  box-shadow: 0 0 0 3px rgba(47, 111, 126, 0.25);
}

.sora-track__step-time {
  display: block;
  font-size: 0.75rem;
  color: rgba(12, 20, 25, 0.5);
  margin-top: 0.15rem;
}

.sora-track__items {
  margin: 1.5rem 0 0;
  padding-left: 1.25rem;
  color: rgba(12, 20, 25, 0.7);
  font-size: 0.9rem;
}

.sora-track__club {
  margin-top: 2.5rem;
  padding: 1.5rem;
  border-radius: 12px;
  background: rgba(47, 111, 126, 0.06);
  border: 1px solid rgba(47, 111, 126, 0.12);
}

.sora-track__club-title {
  font-family: Fraunces, Georgia, serif;
  font-size: 1.25rem;
  margin: 0 0 0.5rem;
}

.sora-track__club-lede {
  margin: 0 0 1rem;
  font-size: 0.9rem;
  line-height: 1.55;
}

.sora-track__club-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}


/* ==========================================================================
   Branded order tracking + account incentive (2026-07-27)
   ========================================================================== */
.sora-track-page {
  max-width: 960px;
  margin: 0 auto;
  padding: clamp(2rem, 5vw, 4rem) clamp(1.25rem, 4vw, 2rem) 5rem;
}

.sora-track-page__eyebrow {
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sora-muted, #5a6b72);
  margin: 0 0 0.5rem;
}

.sora-track-page__hero h1 {
  font-family: Fraunces, Georgia, serif;
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  margin: 0 0 0.75rem;
}

.sora-track-page__lede {
  color: var(--sora-muted, #5a6b72);
  max-width: 38rem;
  margin: 0 0 2rem;
  line-height: 1.55;
}

.sora-track-page__grid {
  display: grid;
  gap: 1.5rem;
  margin-bottom: 2.5rem;
}

@media (min-width: 768px) {
  .sora-track-page__grid {
    grid-template-columns: 1fr 1fr;
    align-items: start;
  }
}

.sora-track-form {
  display: grid;
  gap: 1rem;
  padding: 1.5rem;
  border: 1px solid rgba(12, 20, 25, 0.1);
  border-radius: 12px;
  background: #fff;
}

.sora-track-form__field span {
  display: block;
  font-size: 0.8125rem;
  font-weight: 500;
  margin-bottom: 0.35rem;
}

.sora-track-form__field input {
  width: 100%;
  padding: 0.65rem 0.85rem;
  border: 1px solid rgba(12, 20, 25, 0.14);
  border-radius: 8px;
  font: inherit;
}

.sora-track-form__error {
  color: #9b3b3b;
  font-size: 0.875rem;
  margin: 0;
}

.sora-track-form__loading {
  font-size: 0.875rem;
  color: var(--sora-muted, #5a6b72);
  margin: 0;
}

.sora-account-incentive {
  padding: 1.5rem;
  border-radius: 12px;
  background: linear-gradient(145deg, #f6f8f9 0%, #eef3f5 100%);
  border: 1px solid rgba(12, 20, 25, 0.06);
}

.sora-account-incentive__eyebrow {
  font-size: 0.6875rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--sora-muted, #5a6b72);
  margin: 0 0 0.35rem;
}

.sora-account-incentive__title {
  font-family: Fraunces, Georgia, serif;
  font-size: 1.35rem;
  margin: 0 0 0.75rem;
}

.sora-account-incentive__list {
  margin: 0 0 1.25rem;
  padding-left: 1.1rem;
  font-size: 0.9375rem;
  line-height: 1.5;
  color: #1a2328;
}

.sora-account-incentive__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.sora-track-timeline {
  padding: 1.75rem;
  border: 1px solid rgba(12, 20, 25, 0.1);
  border-radius: 12px;
  background: #fff;
}

.sora-track-timeline__order {
  font-size: 0.8125rem;
  color: var(--sora-muted, #5a6b72);
  margin: 0 0 0.25rem;
}

.sora-track-timeline__status {
  font-family: Fraunces, Georgia, serif;
  font-size: 1.5rem;
  margin: 0 0 0.35rem;
}

.sora-track-timeline__detail {
  color: var(--sora-muted, #5a6b72);
  margin: 0 0 1.5rem;
}

.sora-track-timeline__steps {
  list-style: none;
  margin: 0 0 1.5rem;
  padding: 0;
  display: grid;
  gap: 0;
}

.sora-track-step {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.85rem;
  padding: 0.85rem 0;
  border-left: 2px solid rgba(12, 20, 25, 0.08);
  margin-left: 0.55rem;
  padding-left: 1.25rem;
  position: relative;
}

.sora-track-step:last-child {
  border-left-color: transparent;
}

.sora-track-step__dot {
  position: absolute;
  left: -0.45rem;
  top: 1.1rem;
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 50%;
  background: #fff;
  border: 2px solid rgba(12, 20, 25, 0.2);
}

.sora-track-step.is-complete .sora-track-step__dot {
  background: #0c1419;
  border-color: #0c1419;
}

.sora-track-step.is-active .sora-track-step__dot {
  border-color: #2f6f7e;
  box-shadow: 0 0 0 3px rgba(47, 111, 126, 0.2);
}

.sora-track-step.is-exception .sora-track-step__dot {
  border-color: #9b3b3b;
  background: #9b3b3b;
}

.sora-track-step__body strong {
  display: block;
  font-size: 0.9375rem;
}

.sora-track-step__body p {
  margin: 0.25rem 0 0;
  font-size: 0.875rem;
  color: var(--sora-muted, #5a6b72);
}

.sora-track-step__body time {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.75rem;
  color: var(--sora-muted, #5a6b72);
}

.sora-track-timeline__items {
  list-style: none;
  margin: 0 0 1rem;
  padding: 0;
  display: grid;
  gap: 0.65rem;
}

.sora-track-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.875rem;
}

.sora-track-item img {
  border-radius: 6px;
  object-fit: cover;
}

.sora-track-timeline__account-hint {
  font-size: 0.875rem;
  margin: 0;
}

.sora-track-timeline__account-hint a {
  color: #2f6f7e;
}

.nav .nav-util--account {
  letter-spacing: var(--nav-util-track, 0.045em);
  font-size: var(--nav-control-font, 0.8125rem);
  white-space: nowrap;
}

@media (max-width: 480px) {
  .nav .nav-util--account {
    padding-inline: 0.65rem;
  }
  .nav .nav-util--account .search-link__label,
  .nav .nav-util--account .cart-link__label {
    display: none;
  }
}
