/* Search-topic and watch-page layer. Keeps the approved rose liquid-glass language. */
.topic-body{min-height:100vh;background:radial-gradient(circle at 15% 8%,rgba(235,174,194,.20),transparent 28%),radial-gradient(circle at 85% 14%,rgba(195,217,241,.19),transparent 28%),linear-gradient(135deg,#fff9fa,#fffdfb 52%,#f5f7fb);color:var(--ink)}
.topic-nav{position:sticky;top:0;z-index:20;padding:16px 20px;background:rgba(255,250,251,.76);backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);border-bottom:1px solid rgba(121,77,95,.08)}
.topic-nav .inner{width:var(--wrap);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.topic-nav .home{font-family:var(--font-brand);font-weight:500;font-size:20px}.topic-nav .trail{display:flex;gap:18px;flex-wrap:wrap;font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#7b6871}.topic-nav a:hover{color:var(--wine)}
.topic-main{width:var(--wrap);margin:auto;padding:72px 0 110px}.breadcrumb{font-size:10px;text-transform:uppercase;letter-spacing:.17em;color:#9b6574;margin-bottom:28px}.topic-hero{border-radius:36px;padding:clamp(36px,6vw,80px);background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(255,247,249,.39));border:1px solid rgba(255,255,255,.88);box-shadow:var(--glass-shadow);backdrop-filter:blur(26px) saturate(142%);-webkit-backdrop-filter:blur(26px) saturate(142%)}
.topic-kicker{margin:0 0 18px;font-size:10px;text-transform:uppercase;letter-spacing:.21em;color:#a45f71;font-weight:500}.topic-hero h1{margin:0;font-family:var(--font-brand);font-size:clamp(50px,7.4vw,108px);line-height:.9;letter-spacing:-.045em;font-weight:500;text-wrap:balance}.topic-hero h1 em{font-family:var(--font-soul);font-style:italic;color:#a75f71;font-weight:400}.topic-lead{max-width:880px;margin:30px 0 0;font-family:var(--font-brand);font-size:clamp(22px,2.3vw,34px);line-height:1.3;color:#55464d}.topic-def{margin:18px 0 0;max-width:900px;font-size:17px;line-height:1.75;color:#6b5d64}
.topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:26px}.topic-card{padding:34px;border-radius:28px;background:rgba(255,255,255,.63);border:1px solid rgba(255,255,255,.86);box-shadow:0 18px 50px rgba(107,69,85,.075),inset 0 1px 0 #fff}.topic-card h2,.topic-card h3{font-family:var(--font-brand);font-weight:500;margin:0 0 14px;text-wrap:balance}.topic-card h2{font-size:36px}.topic-card h3{font-size:28px}.topic-card p,.topic-card li{font-size:15px;line-height:1.7;color:#6e6067}.topic-card ul{padding-left:20px;margin-bottom:0}
.topic-wide{margin-top:16px}.topic-wide .topic-card{padding:42px}.topic-wide blockquote{font-family:var(--font-soul);font-style:italic;font-size:30px;color:#99586a;margin:12px 0 0}
.topic-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.topic-links a{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border-radius:999px;border:1px solid rgba(137,87,106,.15);background:rgba(255,255,255,.65);font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:500;box-shadow:inset 0 1px 0 #fff}.topic-links a:hover{transform:translateY(-1px);box-shadow:0 9px 22px rgba(116,74,90,.08),inset 0 1px 0 #fff}.portfolio-copy>.topic-links{margin-top:24px}
.topic-disclosure{margin-top:28px;padding-top:18px;border-top:1px solid rgba(113,74,90,.13);font-size:12px;line-height:1.65;color:#7d6c74}.topic-contact{margin-top:28px;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 32px;border-radius:26px;background:linear-gradient(145deg,#3a2031,#241421);color:#fff}.topic-contact strong{font-family:var(--font-brand);font-size:26px;font-weight:500}.topic-contact a{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#f2c8d3}
.watch-shell{max-width:1160px;margin:0 auto}.watch-card{position:relative;overflow:hidden;padding:18px;border-radius:34px;background:linear-gradient(145deg,rgba(61,31,49,.92),rgba(33,19,31,.88));box-shadow:0 36px 110px rgba(41,21,35,.28);border:1px solid rgba(255,255,255,.22)}.watch-card video{display:block;width:100%;border-radius:24px;background:#10080f}.watch-card.landscape video{aspect-ratio:16/9}.watch-card.portrait{max-width:540px;margin-inline:auto}.watch-card.portrait video{aspect-ratio:9/16;max-height:74vh;object-fit:contain}.watch-meta{margin:24px auto 0;max-width:900px;text-align:center}.watch-meta h1{font-family:var(--font-brand);font-size:clamp(40px,5vw,72px);line-height:.95;margin:0}.watch-meta p{font-size:16px;line-height:1.7;color:#6e6067}.watch-meta .soul{font-family:var(--font-soul);font-style:italic;color:#9d5a6c;font-size:24px}

/* One rendering path for all ten concept-film scene numbers. This opaque overlay masks the baked-in badge in the MP4. */
.film-page-indicator{
  position:absolute;
  z-index:4;
  right:3.4%;
  bottom:4.8%;
  width:clamp(132px,19%,232px);
  min-height:clamp(44px,5.7vw,72px);
  padding:0 clamp(18px,2.4vw,30px);
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.22em;
  box-sizing:border-box;
  pointer-events:none;
  opacity:0;
  color:#fffaf8;
  background:linear-gradient(180deg,rgba(88,79,83,.99),rgba(22,18,20,.995));
  border:1px solid rgba(255,255,255,.20);
  box-shadow:0 12px 28px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.24);
  font-family:var(--font-ui);
  font-size:clamp(17px,2.2vw,30px);
  font-style:normal;
  font-weight:400;
  line-height:1;
  letter-spacing:.01em;
  font-variant-numeric:lining-nums tabular-nums;
  font-feature-settings:"lnum" 1,"tnum" 1;
  font-synthesis:none;
  text-rendering:geometricPrecision;
}
.has-page-counter>.film-page-indicator{opacity:1}
.film-page-separator{opacity:.64;margin:0 .03em}

@media(max-width:760px){.topic-nav .trail{display:none}.topic-main{padding-top:42px}.topic-grid{grid-template-columns:1fr}.topic-hero{border-radius:28px}.topic-contact{align-items:flex-start;flex-direction:column}.watch-card{padding:10px;border-radius:24px}.watch-card video{border-radius:18px}.film-page-indicator{right:3.2%;bottom:5.8%;width:clamp(98px,24%,150px);min-height:clamp(36px,8vw,50px);padding:0 14px;font-size:clamp(14px,4.2vw,20px)}}

@media(max-width:480px){
  .topic-nav{padding:12px 10px}
  .topic-nav .home{font-size:17px}
  .topic-nav .home::before{width:30px;height:30px;flex-basis:30px}
  .topic-main{padding:34px 0 76px}
  .topic-hero{padding:28px 22px;border-radius:24px}
  .topic-hero h1{font-size:clamp(42px,13.5vw,56px);line-height:.94}
  .topic-lead{font-size:22px;margin-top:22px}
  .topic-def{font-size:15px;line-height:1.65}
  .topic-card{padding:26px 22px}
  .topic-card h2{font-size:30px}
  .topic-card h3{font-size:25px}
  .topic-contact{padding:24px 22px}
  .topic-contact strong{font-size:23px;line-height:1.15}
  .topic-contact a{max-width:100%;overflow-wrap:anywhere;word-break:break-word}
  .watch-meta h1{text-wrap:balance}
}
