.home-hero{display:grid;grid-template-columns:1.2fr 1fr;position:relative;min-height:780px;gap:6%;align-items:center;padding-top:35px;padding-bottom:70px}.home-hero-copy{padding-bottom:40px}.home-hero .p-title{font-size:clamp(42px,4.7vw,74px);line-height:1.5}.home-hero .p-title span{color:#68d8d4}.home-hero .p-lead{max-width:580px;font-size:17px}.home-portrait{margin:0;position:relative;align-self:stretch;min-height:640px;overflow:hidden;border-radius:160px 160px 16px 16px}.home-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;max-height:760px}.home-portrait figcaption{position:absolute;bottom:25px;right:25px;left:25px;padding:14px 18px;background:#022123dd;border-inline-start:1px solid #ff870e;font-size:20px}.home-portrait figcaption span{display:block;font-size:12px;color:#a7c4c2}.hero-meta{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:42px;font-size:11px;color:#a7c4c2}.hero-meta span:before{content:'•';color:#ff870e;margin-inline-end:8px}.hero-text-link{font-size:14px}.home-scroll{position:absolute;bottom:25px;right:0;font-size:12px;text-decoration:none;color:#a7c4c2}.home-scroll span{margin-inline-start:16px}.home-story-intro{border-top:1px solid #326368}.home-story-intro h2{font-size:clamp(36px,4vw,58px)}.home-collections{padding-bottom:60px}.home-chapter{display:grid;grid-template-columns:1fr 1fr;gap:12%;min-height:90vh;padding:65px 0;border-top:1px solid #326368;align-items:center}.home-chapter-copy{position:sticky;top:140px;align-self:start;margin-top:60px}.chapter-index{font-size:12px;color:#a7c4c2;display:block;margin-bottom:35px}.home-chapter h2{font-size:clamp(36px,4vw,58px);margin:0}.home-chapter h3{font-size:22px;font-weight:500;margin:8px 0 24px}.home-chapter-copy>p:not(.p-kicker){color:#a7c4c2;margin-bottom:32px}.home-chapter-image{margin:0;position:relative}.home-chapter-image img{display:block;width:100%;max-height:720px;object-fit:cover;border-radius:100px 100px 12px 12px}.home-chapter-image figcaption{font-size:11px;color:#a7c4c2;text-align:center;padding:12px}.home-studio{background:#022123;overflow:hidden}.home-studio>.p-wrap{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.home-studio h2{font-size:clamp(40px,5vw,72px)}.home-studio img{border-radius:180px 180px 0 0;max-height:650px;width:100%;object-fit:cover}.home-fineprint{font-size:11px;color:#a7c4c2;margin-top:18px}.home-journal{display:grid;grid-template-columns:1fr 1fr;gap:12%;border-top:1px solid #326368;align-items:center}@media(max-width:760px){.home-hero{grid-template-columns:1fr;padding-top:30px;gap:28px;min-height:0;padding-bottom:60px}.home-hero-copy{padding-bottom:0}.home-hero .p-title{font-size:40px}.home-hero .p-lead{font-size:15px}.hero-meta{margin-top:25px;gap:8px 16px}.home-portrait{min-height:0;height:480px;border-radius:100px 100px 12px 12px}.home-portrait img{object-position:50% 25%}.home-scroll{bottom:15px}.home-chapter{grid-template-columns:1fr;gap:28px;min-height:0;padding:45px 0}.home-chapter-copy{position:static;margin:0}.chapter-index{margin-bottom:18px}.home-chapter h2{font-size:36px}.home-chapter h3{font-size:19px}.home-chapter-image img{max-height:520px;border-radius:80px 80px 12px 12px}.home-chapter-copy>p:not(.p-kicker){font-size:14px}.home-studio>.p-wrap,.home-journal{grid-template-columns:1fr;gap:30px}.home-studio img{max-height:480px}.home-studio h2{font-size:42px}.home-journal h2{font-size:30px}}
/* The finished page is the default: no script/timeline support is required. */
.home-story-intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: start;
  gap: 8%;
  border: 0;
  padding-bottom: 32px;
}
.home-story-intro .p-lead { margin-top: 18px; }
.home-price-shortcut, .home-family-links a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  gap: 14px;
}
.home-family-links { display: flex; flex-wrap: wrap; gap: 4px 24px; margin-top: 20px; }
.home-family-links a { font-size: 14px; color: #f7f2e8; }
.home-collections { position: relative; padding-bottom: 48px; }
.home-cafe-stage { display: none; }
.home-chapter {
  border: 0;
  gap: 8%;
  padding: 48px 0;
  scroll-margin-top: 24px;
}
.home-chapter-copy { position: static; margin-top: 0; align-self: center; min-width: 0; }
.home-chapter h2 { line-height: 1.5; }
.home-chapter h3 { line-height: 1.8; }
.home-chapter-copy > p { font-size: 16px; }
.home-chapter-visual { min-width: 0; }
.home-chapter-image { background: #022123; border-radius: 20px; overflow: clip; }
.home-chapter-image img { border-radius: 0; transform-origin: 50% 65%; }
.home-chapter-image figcaption {
  position: relative;
  background: #022123;
  color: #c2d6d3;
  font-size: 12px;
  padding: 12px 16px;
}

@media (prefers-reduced-motion: no-preference) {
  /* One held café stage. Text and all product links remain in native flow.
     Four 95svh chapters give a bounded 3.8-screen story, not four long pins. */
  .home-collections.cinematic-desktop {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr);
    column-gap: 7%;
    padding-bottom: 0;
    isolation: isolate;
  }
  .cinematic-desktop .home-chapter {
    grid-column: 1;
    display: flex;
    align-items: center;
    min-height: 95vh;
    min-height: 95svh;
    padding: 48px 0;
  }
  .cinematic-desktop .home-chapter-visual { display: none; }
  .cinematic-desktop .home-cafe-stage {
    display: block;
    grid-column: 2;
    align-self: start;
    position: sticky;
    top: 6vh;
    top: 6svh;
    height: 88vh;
    height: 88svh;
    min-width: 0;
    overflow: clip; /* hidden would create a nested scroll container */
    border-radius: 24px;
    background: #022123;
    isolation: isolate;
  }
  .home-cafe-backdrop {
    position: absolute;
    inset: 0;
    background: url('/assets/images/cinematic/auth-cafe-v1.webp') 50% 65% / cover no-repeat;
    opacity: .6;
    pointer-events: none;
  }
  .cinematic-desktop .home-chapter-image {
    position: absolute;
    inset: 12% 13% 13%;
    margin: 0;
    opacity: 0;
    pointer-events: none;
    border-radius: 12px;
    background: #022123;
  }
  .cinematic-desktop .home-chapter-image:first-of-type { opacity: 1; }
  .cinematic-desktop .home-chapter-image img {
    width: 100%;
    height: calc(100% - 48px);
    max-height: none;
    object-fit: cover;
    object-position: 50% 65%;
  }
  .cinematic-desktop .home-chapter-image figcaption {
    position: absolute;
    inset: auto 0 0;
    min-height: 48px;
    display: grid;
    place-items: center;
    line-height: 1.7;
    padding: 8px 12px;
  }
  .home-stage-price {
    position: absolute;
    inset: 18px 22px auto auto;
    z-index: 2;
    display: inline-flex;
    gap: 24px;
    align-items: center;
    min-height: 44px;
    padding: 6px 16px;
    background: #032b2d;
    color: #f7f2e8;
    border-radius: 8px;
    text-decoration: none;
    font-size: 15px;
  }
  .home-stage-price .p-icon { color: #ff870e; }
  .home-stage-count {
    position: absolute;
    inset: auto 0 20px;
    z-index: 2;
    margin: 0;
    text-align: center;
    color: #f7f2e8;
    font-size: 15px;
    font-variant-numeric: tabular-nums;
    pointer-events: none;
  }
  /* A phone is a vertical story, with a substantial 72px / 1.14-scale reveal.
     There is no sticky scene, rotation, text opacity or invisible CTA. */
  .cinematic-mobile .home-chapter-image { transform-origin: 50% 70%; }
  .cinematic-mobile .home-chapter-visual { padding-bottom: 8px; }
}

@media (max-width: 999px) {
  .home-story-intro { grid-template-columns: 1fr; gap: 0; }
  .home-story-intro h2 { margin-bottom: 4px; }
  .home-chapter { grid-template-columns: 1fr; gap: 28px; min-height: 0; padding: 36px 0 52px; }
  .home-chapter-copy { max-width: 650px; }
  .home-chapter-copy > p:not(.p-kicker) { font-size: 16px; margin-bottom: 24px; }
  .home-chapter-image { border-radius: 18px; }
  .home-chapter-image img { height: auto; max-height: 620px; object-position: 50% 65%; }
}
@media (max-width: 760px) {
  .home-story-intro { padding-top: 48px; padding-bottom: 12px; }
  .home-family-links { gap: 4px 20px; }
  .home-chapter h2 { font-size: clamp(30px, 8vw, 38px); }
  .home-chapter h3 { font-size: 19px; margin-bottom: 18px; }
  .home-chapter-image img { max-height: 520px; border-radius: 0; }
}

/* A runtime preference change is immediately safe, even before JS restores
   the original figure parents. Normal static flow is restored by the controller. */
@media (prefers-reduced-motion: reduce) {
  .home-chapter-image, .home-chapter-image img, .home-cafe-backdrop {
    transform: none !important;
    opacity: 1 !important;
    will-change: auto !important;
  }
}
@media print {
  .home-collections.cinematic-desktop { display: block; }
  .home-cafe-stage { display: none !important; }
  .home-chapter { break-inside: avoid; min-height: 0 !important; }
}
