/* ============================================================
   HOME PAGE — Warm carousel
   ============================================================ */
body.home { overflow: hidden; }

.home-carousel { position: fixed; inset: 0; overflow: hidden; background: var(--paper); }
.home-slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1.2s var(--ease-smooth); pointer-events: none; }
.home-slide.active { opacity: 1; pointer-events: auto; }
.home-slide-inner { position: absolute; inset: 116px 44px 96px 44px; overflow: hidden; border-radius: 3px; display: block; text-decoration: none; cursor: pointer; }
.home-slide-image { position: absolute; inset: 0; background-size: cover; background-position: center; transform: scale(1.04); transition: transform 7s cubic-bezier(.25,.46,.45,.94); }
.home-slide.active .home-slide-image { transform: scale(1); }
.home-slide-wash { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(38,36,31,0) 45%, rgba(38,36,31,0.42) 100%); }

.home-slide-caption { position: absolute; left: 0; bottom: 0; padding: 38px 40px; z-index: 2; color: var(--paper); transform: translateY(14px); opacity: 0; transition: opacity .8s ease .6s, transform .8s ease .6s; }
.home-slide.active .home-slide-caption { opacity: 1; transform: translateY(0); }
.home-slide-caption .num { display: inline-block; font-size: 9.5px; letter-spacing: 0.3em; text-transform: uppercase; font-weight: 600; color: var(--blue); background: var(--paper); padding: 6px 12px; border-radius: 2px; margin-bottom: 16px; }
.home-slide-caption h2 { font-family: var(--font-sans); font-weight: 400; font-size: clamp(26px, 3.2vw, 40px); line-height: 1.05; letter-spacing: 0.01em; text-transform: uppercase; color: var(--paper); }
.home-slide-caption h2 strong { font-weight: 700; }
.home-slide-caption .view { display: inline-flex; align-items: center; gap: 12px; margin-top: 18px; font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 500; color: var(--paper); border-bottom: 1px solid rgba(244,241,234,.5); padding-bottom: 4px; }

.home-tagline { position: fixed; left: 44px; bottom: 40px; z-index: 150; opacity: 0; animation: fadeUp 1s ease 1s forwards; }
.home-tagline img { height: 40px; width: auto; display: block; }

.home-index { position: fixed; right: 46px; top: 50%; transform: translateY(-50%); z-index: 150; display: flex; flex-direction: column; gap: 14px; align-items: center; opacity: 0; animation: fadeIn 1.2s ease 1.1s forwards; }
.home-dot { width: 8px; height: 8px; border-radius: 50%; border: 1px solid var(--blue); background: transparent; cursor: pointer; padding: 0; transition: background .3s; }
.home-dot.active { background: var(--blue); }

.home-controls { position: fixed; right: 44px; bottom: 34px; z-index: 150; display: flex; align-items: center; gap: 16px; opacity: 0; animation: fadeUp 1s ease 1s forwards; }
.home-counter { font-family: var(--font-sans); font-size: 13px; color: var(--soft); min-width: 54px; text-align: center; }
.home-counter strong { color: var(--blue); font-weight: 400; }
.home-cbtn { width: 38px; height: 38px; border-radius: 50%; border: 1px solid rgba(38,36,31,0.2); background: none; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: border-color .3s, background .3s; }
.home-cbtn:hover { border-color: var(--blue); background: var(--blue-tint); }
.home-cbtn svg { width: 12px; height: 12px; stroke: var(--blue); fill: none; stroke-width: 1.5; }

@media (max-width: 768px) {
  .home-slide-inner { inset: 96px 16px 120px 16px; }
  .home-tagline { bottom: 66px; left: 22px; }
  .home-tagline img { height: 30px; }
  .home-controls { right: 22px; bottom: 60px; }
  .home-index { display: none; }
}
