
  /* ---- fullscreen carousel (scoped to index page) ---- */
  .carousel{
    position:relative;
    height:calc(100vh - var(--nav-h));
    min-height:480px;
    overflow:hidden;
    background:var(--color-white);
  }
  .carousel-track{
    height:100%;
    display:flex;
    transition:transform .6s cubic-bezier(.65,0,.35,1);
  }
  .carousel-slide{
    flex:0 0 100%;
    height:100%;
    display:flex;
    align-items:center;
    position:relative;
    overflow:hidden;
  }
  .carousel::after{
    content:"";
    position:absolute; left:0; right:0; bottom:0;
    height:20px;
    background: repeating-linear-gradient(
      90deg,
     var(--color-orange),
     var(--color-black)
    );
  }
  .carousel-slide.tone-black{ background:var(--color-black); }
  .carousel-slide.tone-orange{ background:linear-gradient(135deg,var(--color-orange),var(--color-orange-deep)); }
  .carousel-slide.tone-paper{ background:var(--color-paper); }
  .carousel-slide.tone-paper .carousel-copy h2,
  .carousel-slide.tone-paper .eyebrow{ color:var(--color-ink); }
  .carousel-slide.tone-paper .carousel-copy p{ color:#5c554c; }

  .carousel-copy{
    position:relative;
    z-index:2;
    max-width:640px;
    padding:0 60px;
    color:var(--color-white);
  }
  .carousel-copy h2{
    font-size:clamp(2.1rem,4.6vw,3.6rem);
    line-height:1.05;
    color:var(--color-white);
  }
  .carousel-copy p{ color:#EDE7DC; max-width:44ch; font-size:1.05rem; }
  .carousel-mark{
    position:absolute;
    right:-60px; top:50%; transform:translateY(-50%);
    width:min(46vw,460px);
    opacity:.18;
    z-index:1;
  }
  .carousel-mark path{ fill:none; stroke:var(--color-white); stroke-width:1.2; }
  .tone-paper .carousel-mark path{ stroke:var(--color-orange-deep); }

  .carousel-arrow{
    position:absolute; top:50%; transform:translateY(-50%);
    width:52px; height:52px;
    border-radius:50%;
    border:1.5px solid rgba(251,248,243,.5);
    background:rgba(21,18,15,.3);
    color:var(--color-white);
    display:flex; align-items:center; justify-content:center;
    z-index:5;
    transition:background .2s ease, border-color .2s ease;
  }
  .carousel-arrow:hover{ background:var(--color-orange); border-color:var(--color-orange); }
  .carousel-arrow.prev{ left:24px; }
  .carousel-arrow.next{ right:24px; }

  .carousel-dots{
    position:absolute; bottom:26px; left:0; right:0;
    z-index:5;
    display:flex; justify-content:center; gap:10px;
  }
  .carousel-dot{
    width:10px; height:10px; border-radius:50%;
    background:rgba(25, 22, 18, 0.4);
    border:none; padding:0;
  }
  .carousel-dot.is-active{ background:var(--color-orange); width:28px; border-radius:100px; transition:width .25s ease; }

  @media (max-width:760px){
    .carousel{ height:100vh; }
    .carousel-copy{ padding:0 30px; }
    .carousel-arrow{ width:42px; height:42px; }
    .carousel-mark{ opacity:.12; }
  }
