body.home-epic{
  --epic-bg:#f7f1ea;
  --epic-surface:rgba(255,255,255,.54);
  --epic-surface-strong:rgba(255,255,255,.8);
  --epic-stroke:rgba(118,88,67,.09);
  --epic-stroke-strong:rgba(118,88,67,.16);
  --epic-text:#261814;
  --epic-muted:#6f594a;
  --epic-soft:#8d7563;
  --epic-gold:#d2a170;
  --epic-gold-deep:#aa6a34;
  --epic-blush:#f5dce0;
  --epic-ivory:#f6ebde;
  --epic-pearl:#eef2fa;
  --epic-noir:#d6dce8;
  --epic-shadow:0 24px 80px rgba(97,67,46,.12);
  --epic-shadow-deep:0 44px 140px rgba(85,58,38,.18);
  background:
    radial-gradient(900px 550px at 10% 0%, rgba(255,255,255,.72), transparent 60%),
    radial-gradient(820px 520px at 100% 8%, rgba(245,223,205,.84), transparent 60%),
    linear-gradient(180deg, #fbf6f1 0%, #f6eee5 45%, #faf5ee 100%);
  color:var(--epic-text);
  overflow-x:hidden;
}

.home-epic main{
  position:relative;
  z-index:2;
}

.home-epic .lead{
  font-size:clamp(18px, 1.9vw, 24px);
  line-height:1.45;
  color:#5e483d;
}

.home-epic .eyebrow{
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#8c715c;
}

.home-epic .brand-mark{
  object-fit:contain;
}

.home-epic .epic-section{
  position:relative;
  padding:clamp(86px, 9vw, 144px) clamp(20px, 4vw, 56px);
}

.home-epic .epic-section-head{
  position:relative;
  z-index:2;
  text-align:center;
  max-width:1180px;
  margin:0 auto 34px;
}

.home-epic .epic-section-head h2{
  margin:14px 0 0;
  font-size:clamp(44px, 6.3vw, 96px);
  line-height:1.02;
  letter-spacing:-.045em;
  text-wrap:balance;
  overflow:visible;
}

#moods .epic-section-head h2{max-width:15ch;margin-inline:auto}
#montage .epic-section-head h2{max-width:18ch;margin-inline:auto}
#sequence .epic-section-head h2{max-width:18ch;margin-inline:auto}
#flow .epic-section-head h2{max-width:16ch;margin-inline:auto}
#partner .partner-section-head h2{max-width:18ch;margin-inline:auto}

.epic-noise{
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.14;
  background-image:
    radial-gradient(circle at 24% 36%, rgba(255,255,255,.54) 0 1px, transparent 1.6px),
    radial-gradient(circle at 80% 62%, rgba(66,44,31,.06) 0 1px, transparent 1.8px);
  background-size:180px 180px, 260px 260px;
  mix-blend-mode:soft-light;
}

.epic-haze{
  position:fixed;
  inset:auto;
  z-index:0;
  pointer-events:none;
  border-radius:50%;
  transition:opacity .45s ease, transform .45s ease;
}

.haze-a{
  top:4%;
  left:-2%;
  width:34vw;
  height:34vw;
  background:radial-gradient(circle, rgba(255,224,198,.65), transparent 72%);
}

.haze-b{
  top:28%;
  right:-6%;
  width:28vw;
  height:28vw;
  background:radial-gradient(circle, rgba(223,217,255,.55), transparent 70%);
}

.haze-c{
  bottom:-2%;
  left:38%;
  width:26vw;
  height:26vw;
  background:radial-gradient(circle, rgba(255,237,214,.62), transparent 74%);
}

.epic-cursor{
  position:fixed;
  left:0;
  top:0;
  width:340px;
  height:340px;
  border-radius:50%;
  pointer-events:none;
  z-index:1;
  transform:translate(-50%, -50%);
  background:radial-gradient(circle, rgba(255,236,216,.55), rgba(255,255,255,0) 68%);
  opacity:.9;
  transition:opacity .28s ease;
}

.epic-cursor.hidden{opacity:0}

.epic-preloader{
  position:fixed;
  inset:0;
  z-index:80;
  display:grid;
  place-items:center;
  gap:22px;
  background:
    radial-gradient(circle at 50% 24%, rgba(255,255,255,.72), transparent 38%),
    linear-gradient(180deg, rgba(20,14,12,.92), rgba(43,30,24,.94));
  color:#fff8f1;
  transition:opacity .75s ease, visibility .75s ease;
}

.site-ready .epic-preloader{
  opacity:0;
  visibility:hidden;
}

.epic-preloader-world{
  position:relative;
  width:min(50vw, 330px);
  aspect-ratio:1;
}

.preload-shell{
  position:absolute;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.24);
}

.shell-a{
  inset:10%;
  transform:rotate(-18deg);
  animation:epicSpin 8.4s linear infinite;
}

.shell-b{
  inset:22%;
  transform:rotate(24deg);
  animation:epicSpinReverse 11s linear infinite;
}

.preload-orb{
  position:absolute;
  border-radius:50%;
  background:radial-gradient(circle at 28% 26%, rgba(255,255,255,.96), rgba(221,195,168,.48));
  box-shadow:0 16px 34px rgba(0,0,0,.22);
}

.preload-orb.orb-a{width:58px;height:58px;top:14%;right:9%}
.preload-orb.orb-b{width:44px;height:44px;left:12%;bottom:14%}
.preload-orb.orb-c{width:26px;height:26px;right:24%;bottom:22%}

.preload-mark{
  position:absolute;
  inset:26%;
  display:grid;
  place-items:center;
  border-radius:34%;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 18px 44px rgba(0,0,0,.2);
}

.preload-mark img{width:100%;height:100%;object-fit:contain}

.epic-preloader-copy{
  text-align:center;
  display:grid;
  gap:8px;
}

.epic-preloader-copy strong{
  font-size:clamp(18px, 2vw, 28px);
  letter-spacing:-.03em;
}

@keyframes epicSpin{
  from{transform:rotate(-18deg)}
  to{transform:rotate(342deg)}
}

@keyframes epicSpinReverse{
  from{transform:rotate(24deg)}
  to{transform:rotate(-336deg)}
}

.epic-topbar{
  position:fixed;
  top:18px;
  left:50%;
  transform:translateX(-50%);
  width:min(calc(100% - 36px), 1420px);
  z-index:40;
  background:rgba(255,255,255,.62);
  border:1px solid var(--epic-stroke);
  box-shadow:0 18px 56px rgba(111,79,51,.12);
}

.epic-topbar .actions{gap:12px}

.home-epic .section-reveal{
  opacity:0;
  transform:translateY(36px);
  transition:opacity .9s ease, transform .9s cubic-bezier(.2,.8,.2,1);
}

.home-epic .section-reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}

.epic-hero{
  min-height:100vh;
  display:grid;
  align-items:center;
  padding-top:142px;
}

.epic-hero-shell{
  display:grid;
  grid-template-columns:minmax(0, 1.05fr) minmax(420px, .95fr);
  gap:52px;
  align-items:center;
}

.hero-copy{
  max-width:720px;
}

.hero-copy h1{
  margin:16px 0 22px;
  font-size:clamp(70px, 10vw, 172px);
  line-height:.84;
  letter-spacing:-.1em;
  text-wrap:balance;
}

.hero-copy h1 > span{
  display:block;
  max-width:none;
  color:#4e3428;
  margin-top:8px;
}

.hero-copy .lead{
  max-width:18ch;
  margin-bottom:24px;
}

.hero-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  align-items:center;
}

.hero-actions .btn.big{
  min-height:60px;
  padding-inline:28px;
}

.hero-stage{
  position:relative;
  min-height:780px;
  transform-style:preserve-3d;
}

.hero-stage-screen,
.hero-stage-aura,
.hero-stage-ribbon,
.hero-stage-ring,
.hero-stage-orb,
.hero-stage-floor,
.hero-stage-phrase{
  position:absolute;
}

.hero-stage-screen{
  inset:5%;
  border-radius:56px;
  background:linear-gradient(180deg, rgba(255,255,255,.74), rgba(255,255,255,.22));
  border:1px solid rgba(136,105,84,.12);
  box-shadow:var(--epic-shadow-deep);
}

.hero-stage-aura{
  border-radius:50%;
}

.aura-a{
  width:280px;
  height:280px;
  left:-20px;
  top:12%;
  background:radial-gradient(circle, rgba(255,222,198,.86), transparent 72%);
}

.aura-b{
  width:280px;
  height:280px;
  right:-30px;
  bottom:18%;
  background:radial-gradient(circle, rgba(223,217,255,.62), transparent 72%);
}

.hero-stage-ribbon{
  border-radius:999px;
  border:1px solid rgba(255,255,255,.42);
  box-shadow:0 20px 60px rgba(173,135,106,.16);
  background:linear-gradient(180deg, rgba(255,255,255,.72), rgba(220,192,169,.26));
}

.hero-stage-ribbon.ribbon-a{
  width:190px;
  height:380px;
  right:16%;
  top:10%;
  transform:translateY(var(--parallax-offset, 0px)) rotate(26deg);
}

.hero-stage-ribbon.ribbon-b{
  width:150px;
  height:300px;
  left:12%;
  bottom:18%;
  transform:translateY(var(--parallax-offset, 0px)) rotate(-24deg);
}

.hero-stage-ring{
  border-radius:999px 999px 0 0;
  border-bottom:none;
}

.hero-stage-ring.ring-a{
  width:430px;
  height:430px;
  left:50%;
  top:14%;
  transform:translateX(-50%) translateY(var(--parallax-offset, 0px));
  border:14px solid rgba(73,53,44,.2);
}

.hero-stage-ring.ring-b{
  width:344px;
  height:344px;
  left:50%;
  top:20%;
  transform:translateX(-50%) translateY(calc(var(--parallax-offset, 0px) * .75));
  border:8px solid rgba(255,255,255,.46);
}

.hero-stage-orb{
  border-radius:50%;
  background:
    radial-gradient(circle at 30% 28%, rgba(255,255,255,.98), rgba(230,211,198,.64) 58%, rgba(160,118,86,.18));
  box-shadow:0 28px 60px rgba(120,84,55,.18);
  transform:translateY(var(--parallax-offset, 0px));
}

.hero-stage-orb.orb-a{width:118px;height:118px;top:16%;left:16%}
.hero-stage-orb.orb-b{width:86px;height:86px;top:44%;right:16%}
.hero-stage-orb.orb-c{width:62px;height:62px;bottom:24%;left:24%}

.hero-stage-floor{
  left:50%;
  bottom:12%;
  width:74%;
  height:118px;
  transform:translateX(-50%);
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 18%, rgba(255,255,255,.95), rgba(214,202,194,.9) 58%, rgba(154,126,106,.82) 100%);
  box-shadow:0 30px 90px rgba(95,66,42,.16);
}

.hero-stage-phrase{
  font-size:clamp(26px, 3vw, 46px);
  line-height:.9;
  letter-spacing:-.06em;
  color:rgba(52,33,24,.26);
}

.phrase-a{left:10%;top:14%}
.phrase-b{right:8%;top:28%}
.phrase-c{left:16%;bottom:18%}

.hero-scroll-hint{
  position:absolute;
  left:50%;
  bottom:6%;
  transform:translateX(-50%);
  display:grid;
  justify-items:center;
  gap:10px;
  color:#6a5647;
}

.hero-scroll-hint span{
  width:32px;
  height:52px;
  border-radius:999px;
  border:1px solid rgba(123,94,66,.18);
  position:relative;
}

.hero-scroll-hint span::before{
  content:"";
  position:absolute;
  left:50%;
  top:10px;
  width:6px;
  height:12px;
  margin-left:-3px;
  border-radius:999px;
  background:var(--epic-gold);
  animation:epicScrollPulse 1.9s ease infinite;
}

@keyframes epicScrollPulse{
  0%{transform:translateY(0);opacity:0}
  20%{opacity:1}
  80%{transform:translateY(16px);opacity:1}
  100%{transform:translateY(20px);opacity:0}
}

.epic-statement{
  padding-top:36px;
  padding-bottom:52px;
}

.statement-shell{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:30px;
  align-items:end;
  min-height:58vh;
}

.statement-copy h2{
  display:grid;
  gap:6px;
  margin:12px 0 0;
  font-size:clamp(64px, 10vw, 174px);
  line-height:.82;
  letter-spacing:-.1em;
}

.statement-copy h2 span:nth-child(2){color:#5b4032}
.statement-copy h2 span:nth-child(3){color:#89634a}

.statement-side{
  display:flex;
  flex-wrap:wrap;
  gap:12px 18px;
  justify-content:flex-end;
  align-content:flex-end;
  max-width:360px;
  margin-left:auto;
}

.statement-side span{
  padding:0 0 0 14px;
  color:#6c5748;
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  position:relative;
}

.epic-moods{padding-top:56px}

.mood-scene{
  display:grid;
  grid-template-columns:minmax(420px, 1fr) minmax(0, .92fr);
  gap:32px;
  align-items:start;
}

.mood-visual{
  position:sticky;
  top:128px;
  min-height:74vh;
  border-radius:42px;
  overflow:hidden;
  border:1px solid var(--epic-stroke);
  box-shadow:var(--epic-shadow-deep);
}

.mood-visual,
.mood-visual-back,
.mood-visual-mid,
.mood-visual-front{
  transition:background .6s ease, transform .6s ease, opacity .6s ease;
}

.mood-visual[data-mood="birthday"]{
  background:
    radial-gradient(circle at 22% 24%, rgba(255,244,249,.95), transparent 28%),
    radial-gradient(circle at 74% 28%, rgba(255,224,220,.68), transparent 34%),
    linear-gradient(160deg, #fff3f4, #f7e6e3 85%);
}

.mood-visual[data-mood="baby"]{
  background:
    radial-gradient(circle at 22% 24%, rgba(255,255,255,.95), transparent 28%),
    radial-gradient(circle at 74% 28%, rgba(235,238,255,.66), transparent 34%),
    linear-gradient(160deg, #f9fbff, #eceff9 85%);
}

.mood-visual[data-mood="wedding"]{
  background:
    radial-gradient(circle at 22% 24%, rgba(255,246,238,.95), transparent 28%),
    radial-gradient(circle at 74% 28%, rgba(255,232,212,.62), transparent 34%),
    linear-gradient(160deg, #fbf3ea, #efe3d7 85%);
}

.mood-visual[data-mood="reveal"]{
  background:
    radial-gradient(circle at 22% 24%, rgba(255,243,255,.92), transparent 28%),
    radial-gradient(circle at 74% 28%, rgba(215,223,255,.62), transparent 34%),
    linear-gradient(160deg, #faf1ff, #eceefb 85%);
}

.mood-visual[data-mood="corporate"]{
  background:
    radial-gradient(circle at 22% 24%, rgba(240,240,244,.92), transparent 28%),
    radial-gradient(circle at 74% 28%, rgba(119,132,160,.26), transparent 34%),
    linear-gradient(160deg, #edeef4, #d8dbe6 85%);
}

.mood-visual-back,
.mood-visual-mid,
.mood-visual-front{
  position:absolute;
  inset:auto;
  border-radius:999px;
}

.mood-visual-back{
  width:56%;
  height:56%;
  right:10%;
  top:20%;
  background:radial-gradient(circle, rgba(255,255,255,.78), rgba(214,192,173,.44) 70%, transparent 72%);
}

.mood-visual-mid{
  width:220px;
  height:440px;
  right:20%;
  bottom:18%;
  background:linear-gradient(180deg, rgba(255,255,255,.68), rgba(223,188,168,.28));
  border:1px solid rgba(255,255,255,.44);
  box-shadow:0 28px 80px rgba(125,87,58,.16);
  transform:rotate(24deg);
}

.mood-visual-front{
  left:18%;
  bottom:8%;
  width:48%;
  height:110px;
  background:radial-gradient(circle at 50% 20%, rgba(255,255,255,.92), rgba(214,202,194,.9) 58%, rgba(154,126,106,.82) 100%);
  box-shadow:0 30px 90px rgba(95,66,42,.16);
}

.mood-visual-words{
  position:absolute;
  inset:10% 10% auto;
  display:grid;
  gap:10px;
  z-index:3;
}

.mood-word{
  font-size:clamp(36px, 5vw, 82px);
  line-height:.9;
  letter-spacing:-.08em;
  color:rgba(49,31,24,.28);
  transition:transform .35s ease, color .35s ease;
}

.mood-word.active{
  color:#2f1e17;
  transform:translateX(18px);
}

.mood-visual[data-mood="corporate"] .mood-word.active{
  color:#1a1a1f;
}

.mood-particle-grid span{
  position:absolute;
  border-radius:50%;
  display:block;
  background:rgba(255,255,255,.75);
  box-shadow:0 14px 30px rgba(116,87,65,.12);
}

.mood-particle-grid span:nth-child(1){width:18px;height:18px;right:17%;top:18%}
.mood-particle-grid span:nth-child(2){width:10px;height:10px;right:28%;top:34%}
.mood-particle-grid span:nth-child(3){width:24px;height:24px;right:13%;top:46%}
.mood-particle-grid span:nth-child(4){width:16px;height:16px;left:18%;bottom:24%}
.mood-particle-grid span:nth-child(5){width:12px;height:12px;left:28%;bottom:34%}
.mood-particle-grid span:nth-child(6){width:32px;height:32px;left:22%;top:16%}

.mood-track{
  display:grid;
  gap:20px;
  padding-block:10px 10vh;
}

.mood-chapter{
  min-height:64vh;
  display:grid;
  align-content:center;
  gap:10px;
  padding:34px 36px;
  border-radius:34px;
  background:rgba(255,255,255,.46);
  border:1px solid var(--epic-stroke);
  box-shadow:var(--epic-shadow);
  opacity:.34;
  transition:opacity .36s ease, transform .36s ease;
}

.mood-chapter.active{
  opacity:1;
  transform:translateX(8px);
}

.mood-chapter h3{
  margin:0;
  font-size:clamp(40px, 5vw, 78px);
  line-height:.92;
  letter-spacing:-.07em;
}

.epic-valuewall{
  padding-top:34px;
  padding-bottom:44px;
}

.valuewall-shell{
  display:grid;
  gap:10px;
}

.valuewall-line{
  font-size:clamp(64px, 11vw, 188px);
  line-height:.8;
  letter-spacing:-.1em;
  color:#241713;
}

.valuewall-line.muted{color:#64483a}
.valuewall-line.faint{color:rgba(93,69,56,.36)}

.epic-montage{padding-top:56px}

.montage-shell{
  display:grid;
  grid-template-columns:repeat(12, minmax(0, 1fr));
  gap:18px;
}

.montage-atmosphere{
  position:relative;
  min-height:220px;
  margin:0 auto 26px;
  width:min(100%, 1080px);
  pointer-events:none;
}

.montage-atmosphere-orb,
.montage-atmosphere-arch{
  position:absolute;
  display:block;
}

.montage-atmosphere-orb{
  border-radius:50%;
  background:
    radial-gradient(circle at 30% 28%, rgba(255,255,255,.96), rgba(231,213,198,.68) 58%, rgba(186,153,127,.18));
  box-shadow:0 28px 70px rgba(120,84,55,.12);
}

.montage-atmosphere-orb.orb-a{width:92px;height:92px;left:10%;top:28%}
.montage-atmosphere-orb.orb-b{width:54px;height:54px;left:34%;top:12%}
.montage-atmosphere-orb.orb-c{width:110px;height:110px;right:14%;bottom:12%}

.montage-atmosphere-arch{
  border-radius:999px 999px 0 0;
  border-bottom:none;
  border:12px solid rgba(84,62,50,.16);
}

.montage-atmosphere-arch.arch-a{
  left:50%;
  top:4%;
  width:320px;
  height:210px;
  transform:translateX(-50%);
}

.montage-atmosphere-arch.arch-b{
  left:50%;
  top:18%;
  width:250px;
  height:156px;
  transform:translateX(-50%);
  border-width:6px;
  border-color:rgba(255,255,255,.56);
}

.montage-card{
  position:relative;
  min-height:320px;
  padding:34px;
  border-radius:40px;
  border:1px solid var(--epic-stroke);
  box-shadow:var(--epic-shadow-deep);
  overflow:hidden;
  color:#261914;
  transform:translateY(var(--parallax-offset, 0px));
}

.montage-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 80% 18%, rgba(255,255,255,.78), transparent 24%),
    linear-gradient(130deg, rgba(255,255,255,.26), transparent 40%);
  pointer-events:none;
}

.montage-card h3{
  margin:10px 0 0;
  font-size:clamp(38px, 4.6vw, 72px);
  line-height:.92;
  letter-spacing:-.08em;
  max-width:11ch;
  position:relative;
  z-index:2;
}

.montage-card.tall{grid-column:span 4;min-height:500px}
.montage-card.wide{grid-column:span 4}
.montage-card.compact{grid-column:span 4}
.montage-card.noir{grid-column:span 6}
.montage-card.champagne{grid-column:span 6}
.montage-card.blush{background:linear-gradient(150deg,#fdecee,#f6d7dd)}
.montage-card.ivory{background:linear-gradient(150deg,#fbf3eb,#f3e2d3)}
.montage-card.pearl{background:linear-gradient(150deg,#f8fbff,#e8eef7)}
.montage-card.noir{background:linear-gradient(150deg,#dce0eb,#c6cddb)}
.montage-card.champagne{background:linear-gradient(150deg,#fff7ef,#f2dfc6)}

.montage-sculpture{
  position:absolute;
  inset:auto auto 18px 22px;
  width:180px;
  height:128px;
  pointer-events:none;
  z-index:1;
}

.montage-sculpture span{
  position:absolute;
  display:block;
}

.montage-sculpture.type-pearls span{
  border-radius:50%;
  background:radial-gradient(circle at 30% 28%, rgba(255,255,255,.96), rgba(228,210,196,.7) 58%, rgba(179,143,116,.18));
  box-shadow:0 14px 30px rgba(112,78,55,.12);
}

.montage-sculpture.type-pearls span:nth-child(1){width:68px;height:68px;left:0;bottom:0}
.montage-sculpture.type-pearls span:nth-child(2){width:42px;height:42px;left:56px;bottom:46px}
.montage-sculpture.type-pearls span:nth-child(3){width:28px;height:28px;left:104px;bottom:22px}

.montage-sculpture.type-arch span:nth-child(1),
.montage-sculpture.type-stage span:nth-child(1){
  width:120px;
  height:94px;
  left:12px;
  bottom:14px;
  border-radius:999px 999px 0 0;
  border:8px solid rgba(88,64,50,.18);
  border-bottom:none;
}

.montage-sculpture.type-arch span:nth-child(2),
.montage-sculpture.type-stage span:nth-child(2){
  width:88px;
  height:22px;
  left:28px;
  bottom:0;
  border-radius:999px;
  background:radial-gradient(circle at 50% 20%, rgba(255,255,255,.92), rgba(212,198,188,.9) 58%, rgba(160,128,108,.82) 100%);
}

.montage-sculpture.type-veil span{
  inset:auto;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.44);
  background:linear-gradient(180deg, rgba(255,255,255,.68), rgba(222,198,214,.24));
}

.montage-sculpture.type-veil span:nth-child(1){
  width:118px;
  height:42px;
  left:10px;
  bottom:36px;
  transform:rotate(-24deg);
}

.montage-sculpture.type-veil span:nth-child(2){
  width:86px;
  height:32px;
  left:64px;
  bottom:10px;
  transform:rotate(18deg);
}

.montage-sculpture.type-noir span{
  background:linear-gradient(180deg, rgba(62,75,98,.34), rgba(255,255,255,.12));
  border:1px solid rgba(68,80,100,.14);
  border-radius:18px;
  box-shadow:0 16px 32px rgba(55,64,78,.08);
}

.montage-sculpture.type-noir span:nth-child(1){width:44px;height:94px;left:0;bottom:0}
.montage-sculpture.type-noir span:nth-child(2){width:44px;height:126px;left:54px;bottom:0}
.montage-sculpture.type-noir span:nth-child(3){width:44px;height:74px;left:108px;bottom:0}

.montage-actions{
  display:flex;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:30px;
}

.epic-filmstrip{
  padding-top:34px;
  padding-bottom:40px;
}

.filmstrip-shell{
  position:relative;
  min-height:66vh;
  border-radius:44px;
  overflow:hidden;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,245,236,.94), transparent 26%),
    radial-gradient(circle at 80% 70%, rgba(233,223,255,.44), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.56), rgba(244,234,226,.74));
  border:1px solid var(--epic-stroke);
  box-shadow:var(--epic-shadow-deep);
}

.filmstrip-track{
  display:flex;
  gap:34px;
  width:max-content;
  padding:26px 0 0;
  animation:filmTrack 36s linear infinite;
}

.filmstrip-track span{
  font-size:clamp(44px, 6vw, 96px);
  line-height:.88;
  letter-spacing:-.08em;
  color:rgba(48,31,23,.12);
  text-transform:lowercase;
}

@keyframes filmTrack{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

.filmstrip-frames{
  position:absolute;
  inset:18% 8% 10%;
}

.film-frame{
  position:absolute;
  border-radius:36px;
  border:1px solid var(--epic-stroke);
  box-shadow:var(--epic-shadow);
  overflow:hidden;
  transform:translateY(var(--parallax-offset, 0px));
}

.film-frame::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 70% 18%, rgba(255,255,255,.8), transparent 24%),
    linear-gradient(140deg, rgba(255,255,255,.24), transparent 42%);
}

.film-frame-a{
  left:0;
  bottom:8%;
  width:34%;
  height:62%;
  background:linear-gradient(150deg, #fde9eb, #f5d8db);
}

.film-frame-b{
  left:34%;
  top:0;
  width:32%;
  height:78%;
  background:linear-gradient(150deg, #fbf4ea, #ead7c6);
}

.film-frame-c{
  right:0;
  bottom:0;
  width:28%;
  height:56%;
  background:linear-gradient(150deg, #e6ebf6, #cfd8e7);
}

.epic-world{padding-top:56px}

.world-section-head{
  max-width:min(1320px, calc(100% - 48px));
  margin:0 auto 36px;
  text-align:left;
}

.world-title{
  margin:0;
  max-width:12ch;
  text-wrap:balance;
  line-height:1.02;
  letter-spacing:-.04em;
  overflow:visible;
}

.world-shell{
  display:grid;
  grid-template-columns:minmax(560px, 1.08fr) minmax(320px, .78fr);
  gap:clamp(28px, 3vw, 56px);
  align-items:start;
}

.world-stage-shell{
  align-self:stretch;
  min-height:calc(100vh + 34vh);
}

.world-stage-sticky{
  position:sticky;
  top:118px;
  min-height:calc(100vh - 132px);
}

.world-canvas-card{
  position:relative;
  min-height:calc(100vh - 132px);
  height:calc(100vh - 132px);
  padding:18px;
  border-radius:42px;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.34));
  border:1px solid var(--epic-stroke);
  box-shadow:var(--epic-shadow-deep);
}

.world-glow{
  position:absolute;
  border-radius:50%;
}

.world-glow.glow-a{
  left:8%;
  top:8%;
  width:240px;
  height:240px;
  background:radial-gradient(circle, rgba(255,233,211,.84), transparent 70%);
}

.world-glow.glow-b{
  right:0;
  bottom:14%;
  width:240px;
  height:240px;
  background:radial-gradient(circle, rgba(226,221,255,.6), transparent 70%);
}

#renderCanvas{
  width:100%;
  height:100%;
  display:block;
}

.world-stage-copy{
  position:absolute;
  left:26px;
  bottom:28px;
  max-width:420px;
  padding:22px 24px;
  border-radius:28px;
  background:rgba(255,255,255,.74);
  border:1px solid var(--epic-stroke);
  box-shadow:var(--epic-shadow);
}

.world-stage-progress{
  display:flex;
  gap:10px;
  align-items:center;
  color:#705748;
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.world-stage-progress span:first-child{
  color:var(--epic-gold-deep);
  font-weight:700;
}

.world-callout{
  position:absolute;
  padding:18px 20px;
  border-radius:24px;
  max-width:220px;
  background:rgba(255,255,255,.68);
  border:1px solid var(--epic-stroke);
  box-shadow:var(--epic-shadow);
  opacity:0;
  transform:translateY(12px);
  transition:opacity .35s ease, transform .35s ease;
}

.world-callout.active{
  opacity:1;
  transform:translateY(0);
}

.world-callout h3{
  margin:8px 0 0;
  font-size:20px;
  line-height:1.06;
}

#callout1{left:24px;top:26%}
#callout2{right:24px;top:36%}
#callout3{left:40px;top:10%}

.world-feature-lines{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
}

.world-feature-lines path{
  fill:none;
  stroke:rgba(152,117,89,.55);
  stroke-width:2;
  stroke-linecap:round;
  stroke-dasharray:8 8;
  opacity:0;
}

.world-track{
  display:grid;
  gap:22px;
  padding-block:0 16vh;
}

.world-panel{
  min-height:calc(100vh - 176px);
  display:grid;
  align-content:center;
  gap:12px;
  padding:34px 36px;
  border-radius:34px;
  background:rgba(255,255,255,.42);
  border:1px solid var(--epic-stroke);
  box-shadow:var(--epic-shadow);
  opacity:.34;
  transition:opacity .35s ease, transform .35s ease;
}

.world-panel.active{
  opacity:1;
  transform:translateX(8px);
}

.world-panel h3{
  margin:0;
  font-size:clamp(38px, 4.8vw, 74px);
  line-height:.92;
  letter-spacing:-.08em;
}

.epic-flow{padding-top:56px}

.flow-shell{
  display:grid;
  grid-template-columns:minmax(0, .94fr) minmax(360px, .9fr);
  gap:32px;
  align-items:start;
}

.flow-track{order:1}
.flow-visual{order:2}

.flow-visual{
  position:sticky;
  top:118px;
  min-height:72vh;
  border-radius:42px;
  overflow:hidden;
  border:1px solid var(--epic-stroke);
  background:
    radial-gradient(circle at 50% 30%, rgba(255,255,255,.9), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,.7), rgba(246,236,229,.84));
  box-shadow:var(--epic-shadow-deep);
}

.flow-orbit{
  position:absolute;
  left:50%;
  top:50%;
  border-radius:50%;
  transform:translate(-50%, -50%);
}

.orbit-a{
  width:360px;
  height:360px;
  border:1px solid rgba(118,88,67,.14);
}

.orbit-b{
  width:250px;
  height:250px;
  border:1px solid rgba(118,88,67,.22);
}

.flow-core{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%, -50%);
  width:min(74%, 320px);
  aspect-ratio:1;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.84);
  border:1px solid var(--epic-stroke);
  box-shadow:var(--epic-shadow);
}

.flow-core span{
  position:absolute;
  font-size:clamp(18px, 2vw, 26px);
  letter-spacing:-.04em;
  color:#5f4a3d;
  transition:transform .5s ease, opacity .5s ease, color .5s ease;
}

.flow-core span:nth-child(1){top:16%;left:50%;transform:translateX(-50%)}
.flow-core span:nth-child(2){right:16%;top:50%;transform:translateY(-50%)}
.flow-core span:nth-child(3){bottom:16%;left:50%;transform:translateX(-50%)}
.flow-core span:nth-child(4){left:16%;top:50%;transform:translateY(-50%)}

.flow-visual[data-flow-step="1"] .flow-core span:nth-child(1),
.flow-visual[data-flow-step="2"] .flow-core span:nth-child(2),
.flow-visual[data-flow-step="3"] .flow-core span:nth-child(3),
.flow-visual[data-flow-step="4"] .flow-core span:nth-child(4){
  color:#2f1d16;
  transform:scale(1.08) translateY(0);
}

.flow-track{
  display:grid;
  gap:20px;
  padding-block:10px 10vh;
}

.flow-card{
  min-height:56vh;
  display:grid;
  align-content:center;
  gap:14px;
  padding:36px 38px;
  border-radius:36px;
  background:rgba(255,255,255,.48);
  border:1px solid var(--epic-stroke);
  box-shadow:var(--epic-shadow);
  opacity:.34;
  transition:opacity .35s ease, transform .35s ease;
}

.flow-card.active{
  opacity:1;
  transform:translateX(8px);
}

.flow-card b{
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg, rgba(201,154,102,.18), rgba(201,154,102,.4));
  color:var(--epic-gold-deep);
}

.flow-card h3{
  margin:0;
  font-size:clamp(38px, 4.6vw, 70px);
  line-height:.94;
  letter-spacing:-.08em;
  max-width:11ch;
}

.flow-actions{
  display:flex;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:30px;
}

.epic-offers{padding-top:56px}

.offers-shell{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}

.offer-card{
  padding:34px 30px;
  border-radius:38px;
  background:rgba(255,255,255,.58);
  border:1px solid var(--epic-stroke);
  box-shadow:var(--epic-shadow);
}

.offer-card h3{
  margin:10px 0 14px;
  font-size:clamp(36px, 4vw, 60px);
  line-height:.94;
  letter-spacing:-.08em;
}

.offer-card ul{
  display:grid;
  gap:10px;
  margin:14px 0 20px;
  padding:0;
  list-style:none;
}

.offer-card.featured{
  background:
    radial-gradient(circle at 70% 18%, rgba(255,255,255,.78), transparent 22%),
    linear-gradient(160deg, rgba(244,223,200,.92), rgba(255,248,240,.88));
  border-color:rgba(181,131,88,.2);
}

.epic-trust{padding-top:56px}

.trust-marquee{
  overflow:hidden;
  margin-bottom:24px;
  border-block:1px solid var(--epic-stroke);
  background:rgba(255,255,255,.36);
}

.trust-marquee-track{
  display:flex;
  gap:18px;
  width:max-content;
  padding:14px 0;
  animation:trustTrack 28s linear infinite;
}

.trust-marquee-track span{
  padding:10px 16px;
  border-radius:999px;
  background:rgba(255,255,255,.74);
  border:1px solid var(--epic-stroke);
  color:#6e5848;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:12px;
}

@keyframes trustTrack{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

.trust-shell{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}

.trust-quote{
  padding:32px 30px;
  border-radius:34px;
  background:rgba(255,255,255,.52);
  border:1px solid var(--epic-stroke);
  box-shadow:var(--epic-shadow);
  display:grid;
  gap:20px;
}

.trust-quote strong{
  font-size:clamp(24px, 2.8vw, 40px);
  line-height:1.02;
  letter-spacing:-.05em;
}

.trust-quote span{
  color:var(--epic-soft);
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:12px;
}

.epic-partner{padding-top:56px}

.partner-shell{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(420px, .92fr);
  gap:32px;
  align-items:center;
  padding:clamp(12px, 2vw, 18px) 0 0;
}

.partner-section-head{
  margin-bottom:18px;
}

.partner-copy{
  padding-top:8px;
}

.partner-intro{
  margin:0 0 24px;
  max-width:26ch;
  font-size:clamp(22px, 2vw, 30px);
  line-height:1.18;
  letter-spacing:-.04em;
  color:#4f392d;
}

.partner-benefits{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

.partner-benefits span{
  padding:16px 18px;
  border-radius:22px;
  background:rgba(255,255,255,.68);
  border:1px solid var(--epic-stroke);
}

.partner-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:22px;
}

.partner-interest-form{
  gap:18px;
}

.partner-form-grid{
  margin-top:6px;
}

.partner-form-grid label{
  display:grid;
  gap:8px;
}

.partner-form-grid label span{
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#7d5f4e;
}

.partner-form-grid input,
.partner-form-grid textarea{
  width:100%;
  border:none;
  border-radius:20px;
  padding:16px 18px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(126,92,69,.14);
  box-shadow:0 16px 34px rgba(113,83,61,.08);
  color:#24150f;
  font:inherit;
}

.partner-form-grid textarea{
  resize:vertical;
  min-height:110px;
}

.partner-form-grid input:focus,
.partner-form-grid textarea:focus{
  outline:none;
  border-color:rgba(192,129,82,.34);
  box-shadow:0 18px 42px rgba(113,83,61,.12);
}

.partner-form-actions{
  margin-top:6px;
}

.partner-existing-note{
  margin:4px 0 0;
  color:#6f584b;
  line-height:1.7;
}

.partner-existing-note a{
  color:#2e1a12;
  text-decoration:none;
  border-bottom:1px solid rgba(126,92,69,.24);
}

.partner-interest-form .soft-guide{
  margin:0;
}

.partner-interest-form .soft-guide.success{
  background:rgba(120,171,121,.12);
  border-color:rgba(89,137,90,.18);
  color:#2b5a31;
}

.partner-visual{
  position:relative;
  min-height:640px;
  border-radius:38px;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 18%, rgba(255,244,232,.94), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,.52), rgba(245,233,225,.78));
  border:1px solid var(--epic-stroke);
  box-shadow:var(--epic-shadow);
  transform:translateY(var(--parallax-offset, 0px));
}

.partner-visual-aura{
  position:absolute;
  left:50%;
  top:12%;
  width:52%;
  height:52%;
  transform:translateX(-50%);
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,234,214,.9), transparent 72%);
  filter:saturate(1.04);
}

.partner-visual-stage{
  position:absolute;
  inset:0;
}

.partner-visual-ring{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  border-radius:999px 999px 0 0;
  border:16px solid rgba(74,55,44,.22);
  border-bottom:none;
}

.partner-visual-ring.ring-outer{
  top:14%;
  width:58%;
  height:58%;
}

.partner-visual-ring.ring-inner{
  top:20%;
  width:46%;
  height:46%;
  border-width:8px;
  border-color:rgba(255,255,255,.56);
}

.partner-visual-column,
.partner-visual-plinth,
.partner-visual-cluster{
  position:absolute;
  display:block;
}

.partner-visual-column{
  width:16px;
  height:220px;
  bottom:19%;
  border-radius:999px;
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(151,122,101,.56));
  box-shadow:0 18px 34px rgba(101,72,54,.16);
}

.partner-visual-column.column-left{left:26%}
.partner-visual-column.column-right{right:26%}

.partner-visual-plinth{
  left:50%;
  bottom:12%;
  width:56%;
  height:92px;
  transform:translateX(-50%);
  border-radius:50%;
  background:radial-gradient(circle at 50% 20%, rgba(255,255,255,.95), rgba(212,199,190,.92) 58%, rgba(158,130,110,.82) 100%);
  box-shadow:0 32px 80px rgba(101,72,54,.18);
}

.partner-visual-cluster{
  border-radius:50%;
  background:radial-gradient(circle at 30% 28%, rgba(255,255,255,.98), rgba(228,210,196,.7) 58%, rgba(177,144,118,.18));
  box-shadow:
    26px 8px 0 -2px rgba(238,224,214,.78),
    48px 34px 0 4px rgba(232,218,206,.68),
    72px 4px 0 -10px rgba(226,212,200,.76),
    18px 54px 0 -8px rgba(228,212,198,.74);
}

.partner-visual-cluster.cluster-left{
  width:62px;
  height:62px;
  left:18%;
  top:22%;
}

.partner-visual-cluster.cluster-right{
  width:70px;
  height:70px;
  right:18%;
  bottom:18%;
}

.partner-visual-card{
  position:absolute;
  max-width:292px;
  padding:22px;
  border-radius:26px;
  background:rgba(255,255,255,.7);
  border:1px solid var(--epic-stroke);
  box-shadow:var(--epic-shadow);
}

.partner-visual-card.top{left:8%;top:12%}
.partner-visual-card.bottom{right:8%;bottom:10%}

.epic-final{
  padding-top:86px;
  padding-bottom:120px;
}

.final-shell{
  position:relative;
  min-height:740px;
  display:grid;
  place-items:center;
  border-radius:48px;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 32%, rgba(255,255,255,.9), transparent 28%),
    linear-gradient(180deg, #f9f0e7 0%, #f4e5d4 100%);
  border:1px solid var(--epic-stroke);
  box-shadow:var(--epic-shadow-deep);
}

.final-aura{
  position:absolute;
  left:50%;
  top:18%;
  width:60%;
  height:60%;
  transform:translateX(-50%);
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,240,222,.98), transparent 72%);
}

.final-copy{
  position:relative;
  z-index:1;
  max-width:980px;
  text-align:center;
  padding:20px;
}

.final-copy h2{
  margin:16px 0 0;
  font-size:clamp(58px, 8vw, 132px);
  line-height:.96;
  letter-spacing:-.05em;
  overflow:visible;
}

.final-actions{
  display:flex;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:28px;
}

.final-actions .btn.big{
  min-height:60px;
  padding-inline:28px;
}

.epic-footer{
  position:relative;
  z-index:2;
  background:rgba(255,255,255,.44);
  border-top:1px solid var(--epic-stroke);
}

@media (max-width: 1320px){
  .epic-hero-shell,
  .mood-scene,
  .world-shell,
  .flow-shell,
  .partner-shell{grid-template-columns:1fr}
  .offers-shell,
  .trust-shell{grid-template-columns:repeat(2, minmax(0, 1fr))}
  .statement-shell{grid-template-columns:1fr}
  .statement-side{justify-items:start}
  .montage-card.tall,.montage-card.wide,.montage-card.compact{grid-column:span 6}
  .world-stage-sticky,.mood-visual,.flow-visual{top:108px}
  .film-frame-a,.film-frame-b,.film-frame-c{width:calc(50% - 10px)}
  .film-frame-a{left:0}
  .film-frame-b{left:auto;right:0}
  .film-frame-c{display:none}
}

@media (max-width: 920px){
  .epic-topbar{top:10px;width:calc(100% - 20px)}
  .epic-cursor{display:none}
  .home-epic .epic-section{padding-inline:18px}
  .epic-hero{min-height:auto;padding-top:134px}
  .hero-stage{min-height:560px}
  .hero-stage-screen{inset:2%;border-radius:34px}
  .hero-stage-ring.ring-a{width:300px;height:300px}
  .hero-stage-ring.ring-b{width:240px;height:240px}
  .hero-stage-floor{height:86px}
  .mood-visual{position:relative;top:auto;min-height:520px}
  .mood-track{padding-top:0}
  .mood-chapter{min-height:auto}
  .valuewall-line{font-size:clamp(54px, 14vw, 92px)}
  .montage-shell{grid-template-columns:1fr}
  .montage-card.tall,.montage-card.wide,.montage-card.compact{grid-column:auto;min-height:280px}
  .filmstrip-shell{min-height:48vh}
  .filmstrip-frames{inset:28% 5% 10%}
  .film-frame-a,.film-frame-b{width:100%;height:30%}
  .film-frame-a{top:0;left:0}
  .film-frame-b{bottom:0;right:0}
  .world-section-head{text-align:center}
  .world-title{max-width:16ch;margin-inline:auto}
  .world-stage-shell{min-height:auto}
  .world-stage-sticky{position:relative;top:auto;min-height:auto}
  .world-canvas-card{min-height:620px;height:auto}
  #renderCanvas{height:560px}
  .world-stage-copy,.world-callout{position:relative;left:auto;right:auto;top:auto;bottom:auto;margin:12px 0 0;max-width:none}
  .world-feature-lines{display:none}
  .world-panel{min-height:auto}
  .flow-visual{position:relative;top:auto;min-height:520px}
  .flow-track{padding-top:0}
  .flow-card{min-height:auto}
  .offers-shell,.trust-shell,.partner-benefits{grid-template-columns:1fr}
  .partner-visual{min-height:520px}
  .partner-visual-card{max-width:240px}
  .final-shell{min-height:560px}
}

@media (max-width: 640px){
  .home-epic .epic-section{padding-top:76px;padding-bottom:76px}
  .hero-copy h1{font-size:clamp(58px, 16vw, 98px)}
  .hero-actions,.montage-actions,.flow-actions,.partner-actions,.final-actions{flex-direction:column;align-items:stretch}
  .hero-actions .btn,.montage-actions .btn,.flow-actions .btn,.partner-actions .btn,.final-actions .btn{width:100%}
  .hero-stage{min-height:500px}
  .hero-stage-phrase{font-size:clamp(20px, 7vw, 28px)}
  .hero-stage-ribbon.ribbon-a{width:150px;height:280px}
  .hero-stage-ribbon.ribbon-b{width:116px;height:220px}
  .statement-copy h2{font-size:clamp(54px, 15vw, 98px)}
  .mood-visual-words{inset:8% 8% auto}
  .mood-word{font-size:clamp(30px, 10vw, 56px)}
  .mood-chapter h3,.world-panel h3,.flow-card h3,.montage-card h3,.offer-card h3,.trust-quote strong,.partner-copy h2{font-size:clamp(32px, 10vw, 50px)}
  .final-copy h2{font-size:clamp(46px, 13vw, 68px)}
}

@media (prefers-reduced-motion: reduce){
  .home-epic *,
  .home-epic *::before,
  .home-epic *::after{
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
}
