/* Compatibility and campaign-carousel overrides loaded after the main stylesheet. */
[hidden]{display:none!important}

.hero-carousel{height:calc(100svh - 196px);min-height:620px;max-height:none;background:#161616}
.hero-track,.hero-slide{position:absolute;inset:0}
.hero-slide{opacity:0;visibility:hidden;transition:opacity .45s ease;pointer-events:none}
.hero-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:1}
.hero-slide>img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-slide:after{display:none}
.hero-slide .hero-content{z-index:2}
.hero-slide .hero-content{color:var(--ink)}
.hero-slide h1,.hero-slide h2{font-size:clamp(50px,5vw,74px);line-height:.94;margin:0 0 24px;letter-spacing:0;max-width:650px}
.hero-slide .text-link{color:var(--ink)}
.hero-price{display:inline-block;font-size:1.32em;line-height:.86;color:#cf1821;font-weight:900}
.hero-controls{position:absolute;z-index:4;left:max(24px,5vw);bottom:28px;display:flex;align-items:center;gap:14px;color:var(--ink)}
.hero-carousel[data-theme="light"] .hero-controls{color:var(--ink)}
.hero-arrow{width:38px;height:38px;border:1px solid currentColor;border-radius:0;background:transparent;color:inherit;font-size:18px;cursor:pointer}
.hero-dots{display:flex;align-items:center;gap:8px}
.hero-dots button{width:26px;height:3px;padding:0;border:0;border-radius:0;background:currentColor;opacity:.35;cursor:pointer}
.hero-dots button.is-active{opacity:1}
.hero-count{min-width:46px;font-size:11px;font-weight:800}
.hero-carousel:focus-within .hero-slide,.hero-carousel:hover .hero-slide{transition-duration:.25s}

.direction-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule);border-left:1px solid var(--rule)}
.direction-grid figure{margin:0;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);background:#fff}
.direction-grid img{width:100%;aspect-ratio:3/2;object-fit:cover}
.direction-grid figcaption{padding:14px 16px;font-size:11px;font-weight:800}

.process-grid li{padding:0;min-width:0}
.process-grid li>img{width:100%;aspect-ratio:4/3;object-fit:cover;border-bottom:1px solid var(--rule)}
.process-copy{padding:22px 22px 28px;min-height:210px}
.process-grid h3{margin-top:42px}

@media(min-width:961px){
  .value-strip div{height:128px;min-height:128px}
}

@media(max-width:960px){
  .hero-slide>img{object-position:center}
  .hero-slide .hero-content{right:24px}
  .direction-grid{grid-template-columns:1fr}
}

@media(max-width:620px){
  .process-grid li{min-height:0}
  .process-copy{min-height:0;padding:20px 18px 26px}
  .process-grid h3{margin-top:28px}
  .hero-carousel{height:690px;min-height:690px;display:block;background:#111}
  .hero-track,.hero-slide{position:absolute;inset:0}
  .hero-slide{display:grid;grid-template-rows:250px 440px;background:#111}
  .hero-slide>img{position:static;grid-row:1;width:100%;height:250px;object-fit:cover;object-position:72% center;background:#111}
  .hero-slide:after{display:none}
  .hero-slide .hero-content{position:static;grid-row:2;transform:none;padding:22px 24px 70px;max-width:none;background:#111;color:#fff}
  .hero-slide:nth-child(n+3) .hero-content{color:#fff}
  .hero-slide h1,.hero-slide h2{font-size:39px;line-height:.92;margin-bottom:14px;max-width:340px}
  .hero-slide .text-link,.hero-slide:nth-child(n+3) .text-link{color:#fff}
  .hero-price{font-size:1.2em;color:#ffd31a}
  .hero-content>p:not(.eyebrow){font-size:14px;line-height:1.5;max-width:340px}
  .hero-actions{margin-top:18px;flex-direction:row;align-items:center;gap:16px}
  .hero-controls{left:24px;right:24px;bottom:18px;justify-content:space-between;color:#fff}
  .hero-dots{gap:6px}
  .hero-dots button{width:18px}
  .hero-arrow{width:34px;height:34px}
}

@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}

/* Mobile campaign treatment: complete banner first, copy and controls below. */
@media(max-width:800px){
  .hero-carousel{
    height:calc(100svh - 68px);
    min-height:0;
    max-height:calc(100svh - 68px);
    display:block;
    background:#111;
  }
  .hero-track,.hero-slide{position:absolute;inset:0}
  .hero-slide{
    display:grid;
    grid-template-rows:42svh minmax(0,1fr);
    background:#111;
  }
  .hero-slide>img{
    position:static;
    grid-row:1;
    width:100%;
    max-width:100%;
    height:42svh;
    aspect-ratio:auto;
    object-fit:cover;
    object-position:right center;
    transform:none;
    background:#f2f2ef;
  }
  .hero-slide .hero-content{
    position:relative;
    grid-row:2;
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
    width:100%;
    max-width:none;
    transform:none;
    padding:20px 24px 88px;
    background:#111;
    color:#fff;
  }
  .hero-slide:nth-child(n+3) .hero-content{color:#fff}
  .hero-slide h1,.hero-slide h2{
    max-width:360px;
    margin:0 0 12px;
    font-size:clamp(32px,8.8vw,36px);
    line-height:.94;
  }
  .hero-content>p:not(.eyebrow){max-width:350px;font-size:14px;line-height:1.45}
  .hero-slide .text-link,.hero-slide:nth-child(n+3) .text-link{color:#fff}
  .hero-price{font-size:1.18em;color:#ffd31a}
  .hero-actions{
    position:absolute;
    left:24px;
    right:24px;
    bottom:88px;
    margin:0;
    display:flex;
    flex-direction:row;
    align-items:center;
    gap:14px;
  }
  .hero-actions .button{padding:12px 14px;font-size:11px;white-space:nowrap}
  .hero-actions .text-link{font-size:11px;white-space:nowrap}
  .hero-controls{
    left:24px;
    right:24px;
    bottom:18px;
    justify-content:space-between;
    color:#fff;
  }
  .hero-dots{gap:6px}
  .hero-dots button{width:18px}
  .hero-arrow{width:34px;height:34px}
}

@media(max-width:380px){
  .hero-carousel{height:calc(100svh - 68px);min-height:0;max-height:calc(100svh - 68px)}
  .hero-slide .hero-content{padding-left:18px;padding-right:18px}
  .hero-actions{left:18px;right:18px}
  .hero-controls{left:18px;right:18px}
  .hero-actions{gap:10px}
  .hero-actions .button{padding-left:11px;padding-right:11px}
}
