/* V43: scoped to the homepage's two revised sections. The approved brand stays. */
.v43-home-hero, .v43-showcase {
  --v43-coral: #E9907D; --v43-ink: #392D2B; --v43-paper: #fcf8f5;
  --v43-muted: #6c5d56; --v43-line: #dfd5cf; --v43-blush: #f5dfd6;
  color: var(--v43-ink);
}
.v43-home-hero { padding-block: clamp(28px, 4vw, 64px) 0; background: var(--v43-paper); }
.v43-hero-layout { display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); align-items:center; gap:clamp(28px,4.5vw,76px); }
.v43-home-hero .v43-eyebrow, .v43-showcase .v43-eyebrow { margin:0 0 18px; color:var(--v43-muted); font-size:14px; font-weight:600; line-height:1.5; letter-spacing:.025em; }
.v43-hero-copy { min-width:0; padding-block:18px 30px; }
.v43-home-hero h1 { max-width:690px; margin:0 0 25px; font-size:clamp(38px,4.1vw,66px); line-height:1.06; font-weight:650; letter-spacing:-.045em; text-wrap:balance; }
.v43-home-hero .v43-hero-intro { max-width:580px; margin:0; color:var(--v43-muted); font-size:17px; line-height:1.65; }
.v43-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.v43-hero-actions .v33-btn { min-height:50px; padding:14px 20px; font-size:15px; }
.v43-hero-actions .v33-btn-primary { background:var(--v43-ink); color:white; }
.v43-hero-actions .v33-btn-secondary { background:transparent; border-color:var(--v43-line); }
.v43-hero-actions svg { width:18px; height:18px; flex-shrink:0; }
.v43-hero-stage { min-width:0; }
.v43-hero-image { position:relative; margin:0; border-radius:18px 18px 0 0; overflow:hidden; background:var(--v43-blush); }
.v43-hero-image > img { width:100%; height:auto; aspect-ratio:3/2; object-fit:contain; display:block; direction:ltr; }
.v43-hero-image figcaption { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:50px; padding:5px 18px; background:var(--v43-blush); color:var(--v43-ink); font-size:13px; }
.v43-hero-image figcaption button { display:inline-flex; align-items:center; gap:9px; min-height:44px; background:none; border:0; color:inherit; cursor:pointer; }
.v43-hero-image figcaption svg { width:17px; height:17px; }
.v43-scene-tabs { display:flex; align-items:stretch; background:white; border-radius:0 0 18px 18px; overflow:hidden; border:1px solid var(--v43-line); border-top:0; }
.v43-scene-tabs button { flex:1; min-width:0; min-height:54px; padding:12px 8px; background:none; border:0; color:var(--v43-muted); font-size:14px; cursor:pointer; line-height:1.4; }
.v43-scene-tabs button[aria-selected="true"] { color:var(--v43-ink); box-shadow:inset 0 -3px var(--v43-coral); font-weight:650; }
.v43-service-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:clamp(24px,4vw,54px); border-top:1px solid var(--v43-line); }
.v43-service-strip a { display:flex; gap:14px; align-items:center; min-height:90px; padding:20px 26px; color:var(--v43-ink); font-size:16px; text-decoration:none; }
.v43-service-strip a:first-child { padding-inline-start:0; }
.v43-service-strip a:last-child { padding-inline-end:0; }
.v43-service-strip a + a { border-inline-start:1px solid var(--v43-line); }
.v43-service-strip svg { width:22px; height:22px; flex-shrink:0; }
.v43-service-strip svg:last-child { width:18px; height:18px; margin-inline-start:auto; }
.v43-service-strip a:hover { text-decoration:underline; text-underline-offset:5px; }
.v43-showcase { padding-block:clamp(56px,6vw,96px); }
.v43-showcase-heading { display:flex; align-items:end; justify-content:space-between; gap:36px; margin-bottom:30px; }
.v43-showcase-heading > div { max-width:760px; }
.v43-showcase h2 { margin:0 0 16px; max-width:720px; font-size:clamp(30px,3.5vw,48px); line-height:1.1; text-wrap:balance; }
.v43-showcase-heading p:not(.v43-eyebrow) { max-width:620px; color:var(--v43-muted); font-size:16px; margin:0; }
.v43-catalogue-link { display:inline-flex; align-items:center; gap:10px; flex-shrink:0; color:var(--v43-ink); font-size:15px; padding-block:12px; text-decoration:underline; text-underline-offset:5px; }
.v43-catalogue-link svg { width:18px; height:18px; }
.v43-showcase-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:26px; border-bottom:1px solid var(--v43-line); }
.v43-category-tabs { display:flex; flex-wrap:wrap; gap:8px 26px; }
.v43-category-tabs button { padding:14px 0; border:0; border-bottom:3px solid transparent; color:var(--v43-muted); background:none; font-size:16px; min-height:50px; cursor:pointer; }
.v43-category-tabs button[aria-selected="true"] { border-color:var(--v43-coral); color:var(--v43-ink); font-weight:700; }
.v43-product-track { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 24px; }
.v43-design-card { min-width:0; display:flex; flex-direction:column; border-bottom:1px solid var(--v43-line); background:white; }
.v43-product-photo { display:grid; place-items:center; width:100%; padding:20px; border:1px solid #eee8e3; border-radius:12px; aspect-ratio:1.55; background:#fff; cursor:pointer; }
.v43-product-photo img { display:block; width:100%; height:100%; max-height:260px; object-fit:contain; direction:ltr; }
.v43-product-photo:hover { border-color:var(--v43-coral); }
.v43-product-copy { display:flex; flex-direction:column; flex:1; padding:20px 0 0; }
.v43-product-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.v43-product-heading h3 { font-size:23px; margin:0; line-height:1.25; }
.v43-product-heading h3 button { border:0; background:none; padding:0; color:var(--v43-ink); font-weight:650; cursor:pointer; text-align:start; min-height:44px; }
.v43-compare { border:1px solid var(--v43-line); border-radius:8px; padding:8px 12px; min-height:44px; background:transparent; color:var(--v43-ink); font-size:13px !important; cursor:pointer; }
.v43-compare[aria-pressed="true"] { background:var(--v43-blush); border-color:var(--v43-coral); }
.v43-product-copy > p { margin:8px 0 12px; font-size:16px; color:var(--v43-muted); line-height:1.5; }
.v43-facts { display:flex; flex-wrap:wrap; gap:7px 12px; list-style:none; margin:auto 0 0; padding:0; min-height:27px; color:var(--v43-muted); font-size:14px; }
.v43-facts li + li { border-inline-start:1px solid var(--v43-line); padding-inline-start:12px; }
.v43-card-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding-block:12px; margin-top:10px; }
.v43-card-actions button, .v43-card-actions a { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0; background:none; border:0; color:var(--v43-ink); cursor:pointer; font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.v43-card-actions svg { width:17px; height:17px; }
.v43-showcase .v43-showcase-note { margin:25px 0 0; max-width:780px; color:var(--v43-muted); font-size:14px; line-height:1.6; }
.v43-rail-controls { display:flex; align-items:center; gap:8px; }
.v43-rail-controls[hidden] { display:none; }
.v43-rail-controls button { display:grid; place-items:center; width:44px; height:44px; border:1px solid var(--v43-line); border-radius:50%; background:white; color:var(--v43-ink); cursor:pointer; }
.v43-rail-controls button:disabled { opacity:.4; cursor:not-allowed; }
.v43-rail-controls svg { width:18px; height:18px; }
.v43-rail-count { min-width:42px; text-align:center; font-size:14px; white-space:nowrap; }
.v43-empty { grid-column:1/-1; padding-block:24px; }
:is(.v43-home-hero,.v43-showcase) :is(button,a):focus-visible { outline:3px solid var(--v43-ink); outline-offset:4px; }
[dir="rtl"] .v43-rail-controls svg { rotate:180deg; }
[dir="rtl"] .v43-hero-image figcaption { direction:rtl; text-align:start; }
@media (min-width:768px) and (max-width:1050px) {
  .v43-hero-layout { gap:26px; }
  .v43-home-hero h1 { font-size:42px; }
  .v43-hero-actions { flex-direction:column; align-items:start; }
  .v43-product-track { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px) {
  .v43-hero-layout { grid-template-columns:minmax(0,1fr); gap:25px; }
  .v43-hero-copy { padding:6px 0 0; }
  .v43-home-hero h1 { max-width:590px; font-size:clamp(34px,8vw,48px); line-height:1.1; letter-spacing:-.035em; }
  .v43-home-hero .v43-hero-intro { font-size:16px; }
  .v43-hero-actions { margin-top:22px; gap:10px; }
  .v43-hero-actions .v33-btn { padding:13px 16px; }
  .v43-hero-image { border-radius:12px 12px 0 0; }
  .v43-hero-image figcaption { font-size:13px; padding-inline:12px; }
  .v43-scene-tabs button { font-size:14px; min-height:56px; }
  .v43-service-strip { grid-template-columns:minmax(0,1fr); margin-top:24px; }
  .v43-service-strip a { min-height:62px; padding:14px 0; font-size:15px; }
  .v43-service-strip a + a { border-inline-start:0; border-top:1px solid var(--v43-line); }
  .v43-showcase-heading { display:block; margin-bottom:18px; }
  .v43-catalogue-link { margin-top:12px; }
  .v43-showcase-toolbar { flex-wrap:wrap; gap:8px; padding-bottom:12px; }
  .v43-category-tabs { gap:4px 20px; flex:1 0 100%; }
  .v43-category-tabs button { font-size:15px; }
  .v43-rail-controls { margin-inline-start:auto; }
  .v43-product-viewport { overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:var(--v43-coral) transparent; padding-bottom:8px; }
  .v43-product-track { display:flex; gap:16px; touch-action:auto; }
  .v43-product-viewport[data-enhanced="true"] { overflow:hidden; scroll-snap-type:none; }
  .v43-product-viewport[data-enhanced="true"] .v43-product-track { touch-action:pan-y pinch-zoom; }
  .v43-design-card { flex:0 0 86%; scroll-snap-align:start; }
  .v43-product-track[data-count="1"] .v43-design-card { flex-basis:100%; max-width:440px; }
  .v43-product-photo { aspect-ratio:1.2; padding:18px; }
  .v43-product-photo img { max-height:260px; }
  .v43-product-heading { flex-wrap:wrap; gap:4px 10px; }
  .v43-product-heading h3 { font-size:22px; }
  .v43-facts { font-size:14px; }
}
@media (prefers-reduced-motion:reduce) {
  .v43-home-hero *, .v43-showcase * { scroll-behavior:auto !important; animation:none !important; transition:none !important; }
}
