/* SmartChoice Hub — cinematic editorial visual layer.
   This stylesheet changes presentation only. Content, links, SEO metadata and commerce data remain untouched. */
:root {
  --cin-black: #080a09;
  --cin-ink: #111512;
  --cin-forest: #17352b;
  --cin-sage: #8ca38f;
  --cin-moss: #567061;
  --cin-ivory: #f4f0e7;
  --cin-paper: #fbf8f1;
  --cin-blush: #d8b9ac;
  --cin-champagne: #c8aa68;
  --cin-line: rgba(200, 170, 104, 0.34);
  --cin-line-dark: rgba(17, 21, 18, 0.16);
  --cin-shadow: 0 34px 90px rgba(8, 10, 9, 0.18);
  --cin-ease: cubic-bezier(0.23, 1, 0.32, 1);
  --cin-ease-sculpt: cubic-bezier(0.77, 0, 0.175, 1);
  --cin-display: Georgia, "Times New Roman", serif;
  --cin-sans: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html {
  background: var(--cin-black);
  scroll-behavior: smooth;
}

body.sch-cinematic {
  margin: 0;
  color: var(--cin-ink);
  background: var(--cin-paper);
  font-family: var(--cin-sans);
  font-kerning: normal;
  text-rendering: optimizeLegibility;
  overflow-x: clip;
}

body.sch-cinematic::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 9998;
  pointer-events: none;
  opacity: 0.11;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E");
  mix-blend-mode: soft-light;
}

body.sch-cinematic main {
  isolation: isolate;
  overflow: clip;
}

body.sch-cinematic ::selection {
  color: var(--cin-black);
  background: #d7bd7c;
}

body.sch-cinematic :focus-visible {
  outline: 2px solid var(--cin-champagne) !important;
  outline-offset: 4px !important;
}
body.sch-cinematic .soro-embed-wrapper > .flex > p.text-sm {
  color: #c6cec8 !important;
}
body.sch-cinematic .soro-embed-wrapper.sch-soro-settled > .flex {
  display: none !important;
}

/* Architectural grid and edge marks */
body.sch-cinematic main::before,
body.sch-cinematic main::after {
  content: "";
  position: fixed;
  top: 0;
  bottom: 0;
  z-index: 30;
  width: 1px;
  pointer-events: none;
  background: linear-gradient(to bottom, transparent, rgba(200, 170, 104, 0.19) 18%, rgba(200, 170, 104, 0.19) 82%, transparent);
}
body.sch-cinematic main::before { left: max(18px, calc((100vw - 1440px) / 2)); }
body.sch-cinematic main::after { right: max(18px, calc((100vw - 1440px) / 2)); }

.sch-cinematic-progress {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  width: 100%;
  height: 2px;
  transform: scaleX(var(--sch-progress, 0));
  transform-origin: left center;
  pointer-events: none;
  background: var(--cin-champagne);
  box-shadow: 0 0 18px rgba(200, 170, 104, 0.55);
}

.sch-cinematic-wipe {
  position: fixed;
  inset: 0;
  z-index: 9997;
  pointer-events: none;
  background: var(--cin-black);
  transform-origin: top;
  animation: sch-wipe-away 980ms var(--cin-ease-sculpt) 100ms both;
}
@keyframes sch-wipe-away {
  0% { transform: scaleY(1); }
  100% { transform: scaleY(0); }
}
.sch-cinematic-wipe.is-leaving {
  animation: none;
  transform: scaleY(1);
  transform-origin: bottom;
  transition: transform 280ms var(--cin-ease-sculpt);
}

/* Premium navigation */
body.sch-cinematic header[role="banner"] {
  min-height: 76px;
  color: white;
  background: linear-gradient(to bottom, rgba(8, 10, 9, 0.78), rgba(8, 10, 9, 0.12)) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  transition: background-color 320ms var(--cin-ease), border-color 320ms var(--cin-ease), transform 320ms var(--cin-ease) !important;
}
body.sch-cinematic header[role="banner"].sch-cinematic-scrolled {
  background: rgba(8, 10, 9, 0.88) !important;
  border-color: rgba(200, 170, 104, 0.25);
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.16);
  backdrop-filter: blur(18px) saturate(120%);
  -webkit-backdrop-filter: blur(18px) saturate(120%);
}
body.sch-cinematic header[role="banner"] > div {
  max-width: 1480px !important;
  padding-inline: clamp(1.25rem, 3vw, 3.5rem) !important;
}
body.sch-cinematic header[role="banner"] a[aria-label*="Home"] {
  gap: 0.7rem !important;
}
body.sch-cinematic header[role="banner"] a[aria-label*="Home"] > span:last-child {
  color: white !important;
  font-family: var(--cin-display);
  font-size: clamp(1.15rem, 1.7vw, 1.5rem) !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
}
body.sch-cinematic header[role="banner"] a[aria-label*="Home"] > span:first-child {
  color: var(--cin-champagne) !important;
}
body.sch-cinematic header nav[aria-label="Main navigation"] > a,
body.sch-cinematic header nav[aria-label="Main navigation"] > div > a {
  position: relative;
  color: rgba(255,255,255,.82) !important;
  font-size: 0.68rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.15em !important;
}
body.sch-cinematic header nav[aria-label="Main navigation"] > a::after,
body.sch-cinematic header nav[aria-label="Main navigation"] > div > a::after {
  content: "";
  position: absolute;
  right: .75rem;
  bottom: .28rem;
  left: .75rem;
  height: 1px;
  background: var(--cin-champagne);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 280ms var(--cin-ease);
}
body.sch-cinematic header nav[aria-label="Main navigation"] a:hover::after,
body.sch-cinematic header nav[aria-label="Main navigation"] a:focus-visible::after {
  transform: scaleX(1);
  transform-origin: left;
}
body.sch-cinematic header button {
  color: white !important;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.05) !important;
  transition: border-color 220ms var(--cin-ease), background-color 220ms var(--cin-ease), transform 220ms var(--cin-ease) !important;
}
body.sch-cinematic header button:hover {
  border-color: var(--cin-champagne);
  background: rgba(200,170,104,.12) !important;
}
body.sch-cinematic #search-dropdown > div,
body.sch-cinematic header [id^="dropdown-"] > div {
  color: var(--cin-ink);
  background: rgba(250, 247, 239, .97) !important;
  border: 1px solid rgba(200,170,104,.32) !important;
  border-radius: 0 !important;
  box-shadow: 0 28px 90px rgba(0,0,0,.3) !important;
}

/* Scene system */
body.sch-cinematic main > section {
  position: relative;
  border-top: 1px solid rgba(200, 170, 104, .16);
}
body.sch-cinematic main > section[data-cinematic-word]::before {
  content: attr(data-cinematic-word);
  position: absolute;
  top: clamp(1.5rem, 5vw, 5rem);
  right: -0.03em;
  z-index: 0;
  max-width: 100%;
  overflow: hidden;
  color: transparent;
  font-family: var(--cin-display);
  font-size: clamp(4.5rem, 13vw, 13rem);
  font-style: italic;
  font-weight: 400;
  line-height: .78;
  letter-spacing: -0.075em;
  text-transform: uppercase;
  white-space: nowrap;
  -webkit-text-stroke: 1px rgba(200,170,104,.15);
  opacity: .82;
  pointer-events: none;
}
body.sch-cinematic main > section > :not([class*="absolute"]) {
  position: relative;
  z-index: 1;
}
body.sch-cinematic main h1,
body.sch-cinematic main h2,
body.sch-cinematic main h3 {
  text-wrap: balance;
}
body.sch-cinematic main h1,
body.sch-cinematic main h2 {
  font-family: var(--cin-display) !important;
  font-weight: 500 !important;
  letter-spacing: -0.045em !important;
}
body.sch-cinematic main h2 {
  font-size: clamp(2.8rem, 7vw, 7.8rem) !important;
  line-height: .92 !important;
}
body.sch-cinematic main .eyebrow,
body.sch-cinematic main [class*="uppercase"][class*="tracking"] {
  letter-spacing: .24em !important;
}
body.sch-cinematic .container-cinematic,
body.sch-cinematic main > section > [class*="max-w-"] {
  width: min(100% - clamp(2.5rem, 8vw, 8rem), 1440px);
  margin-inline: auto;
}

/* Global buttons: architectural, not pill-heavy */
body.sch-cinematic main a[class*="btn-"],
body.sch-cinematic main a[class*="inline-flex"][class*="uppercase"],
body.sch-cinematic main button[class*="uppercase"] {
  position: relative;
  min-height: 3rem;
  border-radius: 0 !important;
  letter-spacing: .16em !important;
  overflow: hidden;
  transition: color 240ms var(--cin-ease), border-color 240ms var(--cin-ease), background-color 240ms var(--cin-ease), transform 240ms var(--cin-ease) !important;
}
body.sch-cinematic main a[class*="btn-"]::before,
body.sch-cinematic main a[class*="inline-flex"][class*="uppercase"]::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--cin-champagne);
  transform: translateX(-102%);
  transition: transform 360ms var(--cin-ease);
}
body.sch-cinematic main a[class*="btn-"]:hover::before,
body.sch-cinematic main a[class*="inline-flex"][class*="uppercase"]:hover::before {
  transform: translateX(0);
}
body.sch-cinematic main a:active,
body.sch-cinematic main button:active {
  transform: scale(.975);
}
body.sch-cinematic main button[class*="group-hover/carousel:opacity-100"] {
  opacity: .82 !important;
}

/* Homepage opening */
body.sch-page-home main > section:first-of-type {
  min-height: 100svh !important;
  max-height: none !important;
  border: 0;
  background: var(--cin-black);
}
body.sch-page-home main > section:first-of-type::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  background:
    linear-gradient(90deg, transparent 11%, rgba(200,170,104,.18) 11%, rgba(200,170,104,.18) calc(11% + 1px), transparent calc(11% + 1px), transparent 89%, rgba(200,170,104,.18) 89%, rgba(200,170,104,.18) calc(89% + 1px), transparent calc(89% + 1px)),
    linear-gradient(180deg, rgba(8,10,9,.22), rgba(8,10,9,.4) 46%, rgba(8,10,9,.9));
}
body.sch-page-home main > section:first-of-type::after {
  content: "";
  position: absolute;
  left: clamp(1.25rem, 4vw, 4.5rem);
  bottom: clamp(1.6rem, 5vw, 4.5rem);
  z-index: 12;
  width: 2.75rem;
  height: 1px;
  background: rgba(255,255,255,.45);
}
body.sch-page-home main > section:first-of-type video,
body.sch-page-home main > section:first-of-type > div > img {
  filter: saturate(.58) contrast(1.12) brightness(.75);
  will-change: transform;
  transform: scale(1.08) translate3d(0, var(--sch-hero-shift, 0px), 0) !important;
}
body.sch-page-home main > section:first-of-type > .relative.z-10 {
  width: min(100% - 2.5rem, 1300px) !important;
  max-width: none !important;
  text-align: left !important;
  padding-top: 7rem;
}
body.sch-page-home main > section:first-of-type h1 {
  max-width: 9ch;
  color: var(--cin-ivory) !important;
  font-size: clamp(4.2rem, 10.6vw, 10.8rem) !important;
  line-height: .77 !important;
  letter-spacing: -.07em !important;
  text-shadow: 0 18px 60px rgba(0,0,0,.28);
}
body.sch-page-home main > section:first-of-type h1 span {
  display: inline-block;
  margin-left: clamp(1rem, 9vw, 9rem);
  color: var(--cin-ivory) !important;
  font-weight: 400 !important;
}
body.sch-page-home main > section:first-of-type .eyebrow {
  width: fit-content;
  margin-bottom: 1.4rem !important;
  color: #dcc37f !important;
}
body.sch-page-home main > section:first-of-type .w-16 {
  margin-inline: 0 !important;
  width: min(38vw, 28rem) !important;
  height: 1px !important;
  background: var(--cin-champagne) !important;
}
body.sch-page-home main > section:first-of-type p.max-w-xl {
  max-width: 34rem !important;
  margin-inline: 0 !important;
  margin-left: clamp(0rem, 25vw, 22rem) !important;
  color: rgba(255,255,255,.72) !important;
  font-size: clamp(1rem, 1.5vw, 1.28rem) !important;
}
body.sch-page-home main > section:first-of-type .relative.z-10 > .flex {
  justify-content: flex-start !important;
  margin-left: clamp(0rem, 25vw, 22rem) !important;
}
body.sch-page-home main > section:first-of-type .relative.z-10 > .mt-16 {
  justify-content: flex-start !important;
  margin-top: 3.5rem !important;
  margin-left: clamp(0rem, 25vw, 22rem) !important;
}
body.sch-page-home main > section:first-of-type .absolute.bottom-10.left-1\/2 {
  left: auto !important;
  right: clamp(1.25rem, 4vw, 4.5rem) !important;
  transform: none !important;
}

/* Homepage editorial rhythm */
body.sch-page-home main > section:nth-of-type(2) {
  min-height: 78svh;
  display: grid;
  place-items: center;
  color: var(--cin-ivory);
  background: var(--cin-black) !important;
}
body.sch-page-home main > section:nth-of-type(2) blockquote {
  max-width: 17ch;
  margin-inline: auto;
  font-size: clamp(2.4rem, 5.6vw, 6.4rem) !important;
  line-height: .98 !important;
  text-align: left;
}
body.sch-page-home main > section:nth-of-type(3),
body.sch-page-home main > section:nth-of-type(5),
body.sch-page-home main > section:nth-of-type(7) {
  background: var(--cin-paper) !important;
}
body.sch-page-home main > section:nth-of-type(4),
body.sch-page-home main > section:nth-of-type(8),
body.sch-page-home main > section:nth-of-type(9),
body.sch-page-home main > section:nth-of-type(10) {
  color: var(--cin-ivory);
  background: var(--cin-black) !important;
}
body.sch-page-home main > section:nth-of-type(6) {
  color: var(--cin-ivory);
  background: var(--cin-forest) !important;
}
body.sch-page-home main > section:nth-of-type(6) .stagger-target {
  background: var(--cin-forest) !important;
}
body.sch-page-home main > section:nth-of-type(3) .grid > a {
  border-radius: 0 !important;
  box-shadow: var(--cin-shadow);
  transition: transform 700ms var(--cin-ease), filter 700ms var(--cin-ease) !important;
}
body.sch-page-home main > section:nth-of-type(3) .grid > a:nth-child(2) {
  transform: translateY(clamp(0rem, 5vw, 5rem));
}
body.sch-page-home main > section:nth-of-type(3) .grid > a:nth-child(3) {
  transform: translateY(clamp(0rem, 2.2vw, 2.2rem));
}
body.sch-page-home main > section:nth-of-type(3) .grid > a:hover {
  transform: translateY(-.75rem) !important;
  filter: saturate(1.08);
}
body.sch-page-home main > section:nth-of-type(4) h2,
body.sch-page-home main > section:nth-of-type(8) h2,
body.sch-page-home main > section:nth-of-type(10) h2,
body.sch-page-home main > section:nth-of-type(6) h2 {
  color: var(--cin-ivory) !important;
}
body.sch-page-home main > section:nth-of-type(5) .grid > a,
body.sch-page-home main > section:nth-of-type(7) .grid > a {
  border-radius: 0 !important;
  border-color: var(--cin-line-dark) !important;
  box-shadow: none !important;
}
body.sch-page-home main > section:nth-of-type(5) .grid > a:nth-child(even),
body.sch-page-home main > section:nth-of-type(7) .grid > a:nth-child(even) {
  transform: translateY(clamp(0rem, 3vw, 3rem));
}
body.sch-page-home main > section:nth-of-type(6) img {
  clip-path: inset(0 9% 0 0 round 48% 48% 0 0);
  filter: saturate(.62) contrast(1.08);
}
body.sch-page-home main > section:nth-of-type(9) [class*="grid"] > div {
  position: relative;
  padding-top: 3rem;
  border-top: 1px solid var(--cin-line-dark);
}
body.sch-page-home main > section:nth-of-type(9) [class*="grid"] > div::before {
  content: counter(sch-trust, decimal-leading-zero);
  counter-increment: sch-trust;
  position: absolute;
  top: .7rem;
  left: 0;
  color: var(--cin-champagne);
  font-size: .65rem;
  letter-spacing: .2em;
}
body.sch-page-home main > section:nth-of-type(9) [class*="grid"] {
  counter-reset: sch-trust;
}

/* Soro as a cinematic editorial archive */
body.sch-cinematic #soro-blog .soro-blog-list {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: stretch !important;
  gap: clamp(1rem, 2vw, 1.75rem) !important;
  margin-inline: calc(clamp(1.25rem, 4vw, 4rem) * -1);
  padding: .25rem clamp(1.25rem, 4vw, 4rem) 1.5rem !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory;
  overscroll-behavior-inline: contain;
  scrollbar-color: var(--cin-champagne) rgba(255,255,255,.08);
  scrollbar-width: thin;
  background: transparent;
}
body.sch-cinematic #soro-blog .soro-blog-card {
  display: flex !important;
  flex: 0 0 clamp(18rem, 30vw, 27rem) !important;
  flex-direction: column !important;
  min-width: 0 !important;
  scroll-snap-align: start;
  padding: clamp(1.4rem, 2.6vw, 2.5rem) !important;
  color: var(--cin-ivory) !important;
  background: var(--cin-black) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: color 340ms var(--cin-ease), background-color 340ms var(--cin-ease), transform 340ms var(--cin-ease) !important;
}
body.sch-cinematic #soro-blog .soro-blog-card-image {
  width: 100% !important;
  height: clamp(12rem, 20vw, 18rem) !important;
  flex: 0 0 auto !important;
  object-fit: cover !important;
  filter: saturate(.7) contrast(1.06);
}
body.sch-cinematic #soro-blog .soro-blog-card-content {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  width: 100% !important;
  padding: 1.35rem 0 0 !important;
}
body.sch-cinematic #soro-blog .soro-blog-card:hover {
  z-index: 2;
  color: var(--cin-black) !important;
  background: var(--cin-champagne) !important;
  transform: translateY(-4px);
}
body.sch-cinematic #soro-blog .soro-blog-card h2,
body.sch-cinematic #soro-blog .soro-blog-card h3,
body.sch-cinematic #soro-blog .soro-blog-card-title {
  color: inherit !important;
  font-family: var(--cin-display) !important;
  font-size: clamp(1.35rem, 2vw, 2.4rem) !important;
  line-height: 1 !important;
}
body.sch-cinematic #soro-blog .soro-blog-card p,
body.sch-cinematic #soro-blog .soro-blog-card-date {
  color: currentColor !important;
  opacity: .7;
}

/* Interior-page hero language */
body.sch-cinematic:not(.sch-page-home) main > section:first-of-type {
  min-height: clamp(30rem, 62svh, 47rem);
  display: flex;
  align-items: flex-end;
  padding-top: 8rem !important;
  padding-bottom: clamp(4rem, 8vw, 8rem) !important;
  color: var(--cin-ivory);
  background-color: var(--cin-black) !important;
  background-image:
    radial-gradient(circle at 76% 34%, rgba(86,112,97,.25), transparent 32%),
    linear-gradient(115deg, rgba(200,170,104,.08), transparent 38%) !important;
  overflow: hidden;
}
body.sch-cinematic:not(.sch-page-home) main > section:first-of-type::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, transparent 12%, rgba(200,170,104,.17) 12%, rgba(200,170,104,.17) calc(12% + 1px), transparent calc(12% + 1px)),
    linear-gradient(transparent 74%, rgba(200,170,104,.17) 74%, rgba(200,170,104,.17) calc(74% + 1px), transparent calc(74% + 1px));
}
body.sch-cinematic:not(.sch-page-home) main > section:first-of-type h1 {
  max-width: 12ch;
  color: var(--cin-ivory) !important;
  font-size: clamp(3.8rem, 9vw, 9.5rem) !important;
  line-height: .83 !important;
  letter-spacing: -.065em !important;
}
body.sch-cinematic:not(.sch-page-home) main > section:first-of-type p,
body.sch-cinematic:not(.sch-page-home) main > section:first-of-type nav,
body.sch-cinematic:not(.sch-page-home) main > section:first-of-type a {
  color: rgba(255,255,255,.72);
}

/* Product library */
body.sch-page-products main > section:nth-of-type(2),
body.sch-page-products main > section:nth-of-type(3) {
  background: var(--cin-paper) !important;
}
body.sch-page-products main > section:nth-of-type(2) {
  z-index: 3;
  margin: -3.5rem clamp(1rem, 4vw, 4rem) 0;
  border: 1px solid var(--cin-line-dark);
  background: rgba(251,248,241,.94) !important;
  box-shadow: 0 25px 80px rgba(8,10,9,.12);
  backdrop-filter: blur(16px);
}
body.sch-page-products main > section:nth-of-type(2) input,
body.sch-page-products main > section:nth-of-type(2) select,
body.sch-page-products main > section:nth-of-type(2) button {
  border-radius: 0 !important;
}
body.sch-page-products main > section:nth-of-type(3) > div > div > .grid:has(> article) {
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: clamp(1rem, 2.4vw, 2.2rem) !important;
}
body.sch-page-products article,
body.sch-page-category article,
body.sch-page-best article {
  color: var(--cin-ink);
  background: #f8f4eb !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: translateZ(0);
  transition: transform 520ms var(--cin-ease), box-shadow 520ms var(--cin-ease), background-color 520ms var(--cin-ease) !important;
}
body.sch-page-products article {
  content-visibility: auto;
  contain-intrinsic-size: auto 620px;
}
body.sch-page-products article:nth-child(9n+1) {
  grid-row: span 1;
  background: #ece4d5 !important;
}
body.sch-page-products article:nth-child(9n+5) {
  background: #dfe5de !important;
}
body.sch-page-products article:hover,
body.sch-page-category article:hover,
body.sch-page-best article:hover {
  z-index: 2;
  transform: translateY(-10px) !important;
  box-shadow: var(--cin-shadow) !important;
}
body.sch-page-products article > a:first-child,
body.sch-page-category article > a:first-child,
body.sch-page-best article > a:first-child {
  border-radius: 0 !important;
  background: rgba(255,255,255,.58) !important;
  overflow: hidden;
}
body.sch-page-products article img,
body.sch-page-category article img,
body.sch-page-best article img {
  transform: scale(.92);
  transition: transform 800ms var(--cin-ease), filter 800ms var(--cin-ease) !important;
}
body.sch-page-products article:hover img,
body.sch-page-category article:hover img,
body.sch-page-best article:hover img {
  transform: scale(1.02) rotate(.45deg) !important;
}
body.sch-page-products article h3,
body.sch-page-category article h3,
body.sch-page-best article h3 {
  font-family: var(--cin-display) !important;
  font-size: clamp(1.25rem, 1.65vw, 1.75rem) !important;
  line-height: 1.02 !important;
}
body.sch-page-products article .sch-commerce-panel,
body.sch-page-category article .sch-commerce-panel,
body.sch-page-best article .sch-commerce-panel {
  border-radius: 0;
  background: rgba(255,255,255,.44);
}

/* Product detail: campaign-style split composition */
body.sch-page-product main > section:first-of-type {
  min-height: 84svh;
  align-items: center;
}
body.sch-page-product main > section:first-of-type [class*="grid"] {
  gap: clamp(2rem, 7vw, 8rem) !important;
}
body.sch-page-product main > section:first-of-type img {
  background: var(--cin-paper);
  box-shadow: 0 40px 120px rgba(0,0,0,.35);
  clip-path: inset(0 0 0 0 round 46% 46% 4px 4px);
  transition: clip-path 800ms var(--cin-ease), transform 800ms var(--cin-ease) !important;
}
body.sch-page-product main > section:first-of-type img:hover {
  clip-path: inset(2% 2% 2% 2% round 4px);
  transform: scale(1.015);
}
body.sch-page-product main > section:not(:first-of-type):nth-of-type(even) {
  background: var(--cin-paper) !important;
}
body.sch-page-product main > section:not(:first-of-type):nth-of-type(odd) {
  color: var(--cin-ivory);
  background: var(--cin-forest) !important;
}
body.sch-page-product main > section:nth-of-type(odd) h2,
body.sch-page-product main > section:nth-of-type(odd) h3,
body.sch-page-product main > section:nth-of-type(odd) p,
body.sch-page-product main > section:nth-of-type(odd) li {
  color: inherit !important;
}
body.sch-page-product .sch-commerce-panel {
  border: 1px solid rgba(200,170,104,.42);
  border-left: 1px solid rgba(200,170,104,.42);
  border-radius: 0;
  background: rgba(244,240,231,.98);
}

/* Category identities */
body.sch-page-category main > section:first-of-type {
  min-height: 76svh;
}
body.sch-page-category.sch-category-skincare main > section:first-of-type {
  background-image: radial-gradient(circle at 78% 38%, rgba(140,163,143,.38), transparent 35%) !important;
}
body.sch-page-category.sch-category-makeup main > section:first-of-type {
  background-image: radial-gradient(circle at 78% 38%, rgba(150,65,75,.34), transparent 35%) !important;
}
body.sch-page-category.sch-category-haircare main > section:first-of-type {
  background-image: radial-gradient(circle at 78% 38%, rgba(184,133,74,.29), transparent 35%) !important;
}
body.sch-page-category main > section:nth-of-type(even) {
  background: var(--cin-paper) !important;
}
body.sch-page-category main > section:nth-of-type(odd):not(:first-of-type) {
  color: var(--cin-ivory);
  background: var(--cin-black) !important;
}
body.sch-page-category main > section:nth-of-type(odd):not(:first-of-type) h2,
body.sch-page-category main > section:nth-of-type(odd):not(:first-of-type) h3,
body.sch-page-category main > section:nth-of-type(odd):not(:first-of-type) p {
  color: inherit !important;
}
body.sch-page-category main > section [class*="grid"]:has(> article) {
  gap: clamp(1rem,2vw,2rem) !important;
}

/* Editorial archive and reading pages */
body.sch-page-editorial main > section:nth-of-type(even) {
  background: var(--cin-paper) !important;
}
body.sch-page-editorial main > section:nth-of-type(odd):not(:first-of-type) {
  color: var(--cin-ivory);
  background: var(--cin-black) !important;
}
body.sch-page-editorial main article {
  border-radius: 0 !important;
  overflow: hidden;
}
body.sch-page-editorial main article img {
  filter: saturate(.68) contrast(1.08);
  transition: filter 600ms var(--cin-ease), transform 900ms var(--cin-ease) !important;
}
body.sch-page-editorial main article:hover img {
  filter: saturate(1) contrast(1.02);
  transform: scale(1.055);
}
body.sch-page-editorial main article h2,
body.sch-page-editorial main article h3 {
  font-family: var(--cin-display) !important;
  line-height: .98 !important;
}
body.sch-page-article main > section,
body.sch-page-guide-detail main > section {
  background: var(--cin-paper) !important;
}
body.sch-page-article main article,
body.sch-page-guide-detail main article,
body.sch-page-article main [class*="prose"],
body.sch-page-guide-detail main [class*="prose"] {
  max-width: 72rem !important;
  margin-inline: auto;
}
body.sch-page-article main [class*="prose"] > p,
body.sch-page-guide-detail main [class*="prose"] > p {
  max-width: 44rem;
  margin-inline: auto;
  color: #303632 !important;
  font-size: clamp(1.02rem,1.25vw,1.16rem);
  line-height: 1.85;
}
body.sch-page-article main [class*="prose"] > h2,
body.sch-page-guide-detail main [class*="prose"] > h2 {
  max-width: 13ch;
  margin-top: clamp(5rem,10vw,10rem) !important;
  margin-bottom: 2.2rem !important;
}
body.sch-page-article main [class*="prose"] > blockquote,
body.sch-page-guide-detail main [class*="prose"] > blockquote {
  width: min(100%, 58rem);
  margin: clamp(4rem,8vw,8rem) auto !important;
  padding: clamp(2.5rem,6vw,6rem) !important;
  color: var(--cin-ivory) !important;
  background: var(--cin-forest) !important;
  border: 0 !important;
  font-family: var(--cin-display);
  font-size: clamp(1.8rem,3.5vw,3.5rem);
  line-height: 1.08;
}

/* Utility, policy and error pages */
body.sch-page-utility main > section:not(:first-of-type),
body.sch-page-error main > section:not(:first-of-type) {
  background: var(--cin-paper) !important;
}
body.sch-page-utility main [class*="prose"] {
  max-width: 56rem !important;
  color: #2f3531;
}
body.sch-page-utility main [class*="prose"] h2 {
  margin-top: clamp(3rem,7vw,6rem) !important;
  padding-top: 1.2rem;
  border-top: 1px solid var(--cin-line-dark);
  font-size: clamp(2rem,4vw,4.6rem) !important;
}

/* Footer: final black editorial plate */
body.sch-cinematic footer {
  position: relative;
  color: var(--cin-ivory) !important;
  background: var(--cin-black) !important;
  border-top: 1px solid var(--cin-line);
  overflow: hidden;
}
body.sch-cinematic footer::before {
  content: "SMARTCHOICE";
  display: block;
  width: min(100% - 2rem, 1500px);
  margin: 0 auto;
  padding-top: clamp(4rem,8vw,8rem);
  color: transparent;
  font-family: var(--cin-display);
  font-size: clamp(4rem,14vw,14rem);
  line-height: .7;
  letter-spacing: -.065em;
  -webkit-text-stroke: 1px rgba(200,170,104,.22);
  white-space: nowrap;
}
body.sch-cinematic footer > div {
  max-width: 1440px !important;
}
body.sch-cinematic footer h3 {
  color: var(--cin-champagne) !important;
  font-size: .65rem !important;
  letter-spacing: .22em !important;
}
body.sch-cinematic footer a {
  color: rgba(255,255,255,.66) !important;
}
body.sch-cinematic footer a:hover {
  color: white !important;
}

/* Scroll reveal and optical motion; content stays visible until JS explicitly enables motion. */
.sch-motion-enabled .sch-reveal {
  opacity: 1;
  transform: translate3d(0, 42px, 0);
  filter: saturate(.82) contrast(.96);
  transition: transform 900ms var(--cin-ease), filter 900ms var(--cin-ease);
  transition-delay: var(--sch-delay, 0ms);
}
.sch-motion-enabled .sch-reveal.sch-reveal-left {
  transform: translate3d(-46px, 0, 0);
}
.sch-motion-enabled .sch-reveal.sch-reveal-scale {
  transform: scale(.965);
}
.sch-motion-enabled .sch-reveal.is-visible {
  opacity: 1;
  transform: translate3d(0,0,0) scale(1);
  filter: none;
}
.sch-cinematic-parallax {
  will-change: transform;
  transform: translate3d(0, var(--sch-image-shift, 0px), 0);
}
.sch-cinematic-spotlight {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9996;
  width: 26rem;
  height: 26rem;
  border-radius: 50%;
  pointer-events: none;
  opacity: .16;
  filter: blur(14px);
  transform: translate3d(calc(var(--sch-pointer-x, -500px) - 50%), calc(var(--sch-pointer-y, -500px) - 50%), 0);
  background: radial-gradient(circle, rgba(214,190,130,.45), rgba(214,190,130,0) 66%);
  mix-blend-mode: soft-light;
}

/* Responsive composition */
@media (max-width: 1023px) {
  body.sch-cinematic header[role="banner"] { min-height: 64px; }
  body.sch-page-products main > section:nth-of-type(3) > div > div > .grid:has(> article) { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  body.sch-cinematic #mobile-menu > div:not([aria-hidden="true"]) {
    width: min(92vw, 30rem) !important;
    color: var(--cin-ivory);
    background: rgba(8,10,9,.98) !important;
    border-left: 1px solid var(--cin-line);
    border-radius: 0 !important;
  }
  body.sch-cinematic #mobile-menu a { color: var(--cin-ivory) !important; }
  body.sch-cinematic #mobile-menu button { color: white !important; }
}

@media (max-width: 767px) {
  body.sch-cinematic::before { opacity: .07; }
  body.sch-cinematic main::before,
  body.sch-cinematic main::after { display: none; }
  body.sch-cinematic main > section[data-cinematic-word]::before {
    top: 2rem;
    font-size: clamp(4rem, 22vw, 7rem);
    opacity: .55;
  }
  body.sch-page-home main > section:first-of-type {
    min-height: 100svh !important;
    align-items: flex-end !important;
    padding-bottom: 4.8rem;
  }
  body.sch-page-home main > section:first-of-type > .relative.z-10 {
    padding-top: 7rem;
    text-align: left !important;
  }
  body.sch-page-home main > section:first-of-type h1 {
    font-size: clamp(3.75rem, 18vw, 6.3rem) !important;
    line-height: .82 !important;
  }
  body.sch-page-home main > section:first-of-type h1 span { margin-left: 0; }
  body.sch-page-home main > section:first-of-type p.max-w-xl,
  body.sch-page-home main > section:first-of-type .relative.z-10 > .flex,
  body.sch-page-home main > section:first-of-type .relative.z-10 > .mt-16 {
    margin-left: 0 !important;
  }
  body.sch-page-home main > section:first-of-type .relative.z-10 > .mt-16 {
    display: grid !important;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: .8rem !important;
    margin-top: 2rem !important;
  }
  body.sch-page-home main > section:first-of-type .relative.z-10 > .mt-16 span {
    display: block !important;
    font-size: .65rem !important;
  }
  body.sch-page-home main > section:first-of-type .relative.z-10 > .flex {
    align-items: stretch !important;
  }
  body.sch-page-home main > section:first-of-type .relative.z-10 > .flex a {
    width: 100%;
  }
  body.sch-page-home main > section:first-of-type .absolute.bottom-10.left-1\/2 { display: none !important; }
  body.sch-page-home main > section:nth-of-type(2) { min-height: 70svh; }
  body.sch-page-home main > section:nth-of-type(2) blockquote { font-size: clamp(2.25rem,10vw,4rem) !important; }
  body.sch-page-home main > section:nth-of-type(3) .grid > a:nth-child(2),
  body.sch-page-home main > section:nth-of-type(3) .grid > a:nth-child(3),
  body.sch-page-home main > section:nth-of-type(5) .grid > a:nth-child(even),
  body.sch-page-home main > section:nth-of-type(7) .grid > a:nth-child(even) { transform: none; }
  body.sch-cinematic:not(.sch-page-home) main > section:first-of-type {
    min-height: 68svh;
    padding-top: 7rem !important;
    padding-bottom: 3.5rem !important;
  }
  body.sch-cinematic:not(.sch-page-home) main > section:first-of-type h1 {
    font-size: clamp(3.4rem,16vw,6.2rem) !important;
  }
  body.sch-page-products main > section:nth-of-type(2) {
    margin: -2rem .75rem 0;
  }
  body.sch-page-products main > section:nth-of-type(3) > div > div > .grid:has(> article) {
    grid-template-columns: 1fr !important;
  }
  body.sch-page-products article,
  body.sch-page-category article,
  body.sch-page-best article { transform: none !important; }
  body.sch-cinematic #soro-blog .soro-blog-list {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 1rem !important;
    margin-inline: -1.25rem;
    padding: 0 1.25rem 1.25rem !important;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    overscroll-behavior-inline: contain;
    background: transparent;
    scrollbar-width: thin;
  }
  body.sch-cinematic #soro-blog .soro-blog-card,
  body.sch-cinematic #soro-blog .soro-blog-card:nth-child(7n+1) {
    flex: 0 0 min(82vw, 22rem);
    min-height: 23rem;
    scroll-snap-align: center;
    border: 1px solid var(--cin-line) !important;
  }
  body.sch-cinematic footer::before {
    font-size: 20vw;
    padding-top: 4rem;
  }
  .sch-cinematic-spotlight { display: none; }
}

@media (max-width: 430px) {
  body.sch-page-home main > section:first-of-type h1 { font-size: clamp(3.5rem,18.5vw,5rem) !important; }
  body.sch-page-home main > section:first-of-type .eyebrow { font-size: .58rem !important; }
  body.sch-cinematic main h2 { font-size: clamp(2.6rem,14vw,4.6rem) !important; }
  body.sch-page-products main > section:nth-of-type(2) { margin-inline: .5rem; }
}

@media (pointer: coarse) {
  body.sch-cinematic main a:hover,
  body.sch-cinematic main article:hover { transform: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .sch-cinematic-wipe,
  .sch-cinematic-spotlight { display: none !important; }
  .sch-motion-enabled .sch-reveal,
  .sch-motion-enabled .sch-reveal.is-visible,
  .sch-cinematic-parallax,
  body.sch-page-home main > section:first-of-type video,
  body.sch-page-home main > section:first-of-type > div > img {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
  }
}
