/* ============================================================
   CONCEPT L — "MagicLens, the best of the best"
   Brand-accurate (periwinkle-dominant) navigable rooms SPA.
   Evolved framing: human-first (the innate drive to create /
   imagine / express), made easy via THREE WAYS TO CREATE on one
   platform (three PRODUCTS, NOT steps; the continuum is internal
   only — customers are never told it's steps/a continuum). Each
   way shown by PRODUCT NAME + LOGO. MagicLens Studio at FULL BREADTH — Story Studio + Brand
   Studio (characters, videos, comics, logos, animated logos,
   brand designs); personalizing a Momento is the on-ramp only.
   Deploy loop expressed in user language: what you build becomes
   what others make and create from — and you earn.
   User-facing names ONLY: Momentos · MagicLens Studio · MagicLens
   Studio Pro. No Make/Create/Build as product labels. No film
   metaphor. Approved copy (press release v11 + current site).
   Tooth Fairy is a Momento. Time Machine dropped. 1 credit = $0.05.
   One self-contained file. Video slots are gradient placeholders
   (data-video paths) → 0 console errors. DB-launch-001.
   ============================================================ */
:root{
  --peri:#7E88D0; --peri-2:#8B8FBE; --peri-deep:#6A70B6; --peri-ink:#4A5290;
  --lav:#C4B8D4; --lav-soft:#D8CFE4;
  --gold:#D9B455; --gold-light:#E8D48A; --gold-deep:#B98A2E;
  --night:#2C3646; --night-2:#3D4A5C; --night-3:#4E5D70;
  --slate:#7A8494; --ink:#3D4A5C; --ink-soft:#4E5D70;
  --ivory:#F5F0E3; --ivory-lift:#FBF8F1; --paper:#FFFFFF;
  --font-display:'Philosopher',Georgia,serif;
  --font-body:'Nunito',system-ui,sans-serif;
  --r-sm:8px; --r-md:14px; --r-lg:22px; --r-xl:32px; --r-pill:999px;
  --sh-soft:0 6px 22px rgba(44,54,70,.10);
  --sh-card:0 18px 44px rgba(44,54,70,.14);
  --sh-lift:0 30px 70px rgba(44,54,70,.20);
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
  --maxw:1200px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--ink-soft);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;
  background:
    radial-gradient(58% 48% at 86% -4%,rgba(126,136,208,.22),transparent 60%),
    radial-gradient(52% 42% at -6% 10%,rgba(196,184,212,.20),transparent 60%),
    var(--ivory);
  background-attachment:fixed}
h1,h2,h3,h4,h5{font-family:var(--font-display);color:var(--ink);line-height:1.12;text-wrap:balance}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.center{text-align:center}
.eyebrow{font-weight:800;letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;color:var(--peri-deep)}
.muted{color:var(--slate)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.5em;font-family:var(--font-body);font-weight:800;font-size:.98rem;
  padding:13px 24px;border-radius:var(--r-pill);border:0;cursor:pointer;transition:.22s}
.btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--night);box-shadow:0 6px 18px rgba(217,180,85,.34)}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(217,180,85,.5)}
.btn-peri{background:linear-gradient(135deg,var(--peri),var(--peri-deep));color:var(--ivory);box-shadow:0 6px 18px rgba(106,112,182,.32)}
.btn-peri:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(106,112,182,.46)}
.btn-night{background:var(--night-2);color:var(--ivory)}
.btn-night:hover{transform:translateY(-2px);background:var(--night)}
.btn-ghost{background:transparent;color:var(--ivory);border:1.5px solid rgba(245,240,227,.55)}
.btn-ghost:hover{background:rgba(245,240,227,.12)}
.btn-soft{background:var(--paper);color:var(--ink);box-shadow:var(--sh-soft)}
.btn-soft:hover{transform:translateY(-2px);box-shadow:var(--sh-card)}
.play-glyph{width:1.05em;height:1.05em;flex:none}

/* ribbon */
.ribbon{background:var(--night);color:var(--ivory);font-size:.74rem;letter-spacing:.02em;padding:7px 16px;text-align:center}
.ribbon b{color:var(--gold-light)}

/* nav — floating pill */
.nav{position:sticky;top:14px;z-index:80;padding:0 16px;margin-bottom:-78px}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:18px;height:64px;max-width:var(--maxw);margin:0 auto;
  padding:0 14px 0 20px;background:rgba(251,248,241,.84);backdrop-filter:blur(14px);
  border:1px solid rgba(126,136,208,.20);border-radius:var(--r-pill);transition:box-shadow .25s}
.nav.scrolled .nav-in{box-shadow:var(--sh-card)}
.nav .namelock{height:34px;width:auto}
.nav-links{display:flex;align-items:center;gap:24px;font-weight:800}
.nav-links a{position:relative;color:var(--ink-soft);transition:color .2s;padding:4px 0;cursor:pointer}
.nav-links a:hover{color:var(--peri-deep)}
.nav-links a.active{color:var(--ink)}
.nav-links a.active::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--peri),var(--peri-deep))}
.nav-links .navlock{display:inline-flex;align-items:center;gap:8px}
.nav-links .navlock img{height:22px;width:auto;display:block}
/* Momentos nav dropdown (admin-controlled items + See all) */
.nav-dd{position:relative}
.nav-dd .dd-caret{width:13px;height:13px;margin-left:1px;opacity:.65;transition:transform .2s}
.nav-dd:hover .dd-caret,.nav-dd:focus-within .dd-caret{transform:rotate(180deg)}
.nav-dd-panel{position:absolute;top:calc(100% + 6px);left:-8px;min-width:226px;background:var(--ivory-lift);border:1px solid rgba(61,74,92,.12);border-radius:14px;box-shadow:0 20px 54px rgba(61,74,92,.20);padding:8px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .18s,transform .18s,visibility .18s;z-index:60}
.nav-dd:hover .nav-dd-panel,.nav-dd:focus-within .nav-dd-panel{opacity:1;visibility:visible;transform:translateY(0)}
.nav-dd-item,.nav-dd-all{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:9px;white-space:nowrap;cursor:pointer;font-weight:700}
.nav-dd-item{color:var(--ink-soft)}
.nav-dd-item:hover{background:rgba(126,136,208,.12);color:var(--peri-deep)}
.nav-dd-sep{height:1px;background:rgba(61,74,92,.1);margin:6px 8px}
.nav-dd-all{color:var(--peri-deep);font-weight:800}
.nav-dd-all:hover{background:rgba(126,136,208,.14)}
/* Surfaced Momento shelves (landing) */
.msf-shelf{margin-bottom:30px}
.msf-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:14px}
.msf-head h2{font-size:1.3rem;margin:0}
.msf-all{font-weight:800;color:var(--peri-deep);white-space:nowrap;cursor:pointer}
.msf-all:hover{text-decoration:underline}
.msf-camp .msf-head h2{color:#b8923a}
.msf-row{display:grid;grid-auto-flow:column;grid-auto-columns:86%;gap:18px;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
@media(min-width:560px){.msf-row{grid-auto-columns:320px;justify-content:start}}
.msf-row .g-item,.msf-row .mcard{scroll-snap-align:start;min-width:0}
/* Campaign surfaces (homepage banner + dedicated campaign page) — admin-driven from catalog campaigns */
.camp-band{display:grid;grid-template-columns:1.15fr .85fr;gap:0;border-radius:var(--r-lg);overflow:hidden;
  background:linear-gradient(120deg,rgba(217,180,85,.16),rgba(126,136,208,.12)),var(--ivory-lift);
  border:1.5px solid rgba(217,180,85,.45);box-shadow:var(--sh-soft)}
.camp-band .cb-copy{padding:clamp(22px,3.4vw,38px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:10px}
.camp-band .cb-copy h2{font-size:clamp(1.4rem,2.8vw,1.9rem);margin:0}
.camp-band .cb-copy p{margin:0;max-width:46ch}
.camp-band .cb-cta{margin-top:8px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.camp-band .cb-visual{position:relative;min-height:220px}
.camp-band .cb-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.camp-band .cb-visual .scene{position:absolute;inset:0}
.camp-chip{display:inline-flex;align-items:center;gap:7px;background:rgba(217,180,85,.18);border:1px solid rgba(217,180,85,.5);
  border-radius:var(--r-pill);padding:5px 13px;font-weight:800;font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;color:#8a6a18}
.camp-chip .cdot{width:8px;height:8px;border-radius:50%;background:var(--gold);flex:none}
@media(max-width:760px){.camp-band{grid-template-columns:1fr}.camp-band .cb-visual{min-height:180px;order:-1}}
/* campaign page hero */
.camp-hero{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(22px,4vw,48px);align-items:center}
.camp-hero .ch-copy h1{font-size:clamp(1.9rem,4.4vw,3rem);line-height:1.1}
.camp-hero .ch-copy .sub{margin:14px 0 0;max-width:50ch}
.camp-hero .ch-cta{margin-top:22px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
@media(max-width:860px){.camp-hero{grid-template-columns:1fr}}
.camp-empty{padding:60px 0;text-align:center;color:var(--slate)}
.back-link{display:inline-block;font-weight:800;color:var(--peri-deep);margin-bottom:12px;cursor:pointer}
.back-link:hover{text-decoration:underline}
.nav-right{display:flex;align-items:center;gap:14px}
.nav-login{font-weight:800;color:var(--ink-soft);cursor:pointer;transition:color .2s}
.nav-login:hover{color:var(--peri-deep)}
.credits-pill{display:inline-flex;align-items:center;gap:7px;background:var(--ivory-lift);border:1px solid rgba(126,136,208,.26);
  border-radius:var(--r-pill);padding:8px 13px;font-weight:800;font-size:.84rem;color:var(--ink)}
.credits-pill .dot{width:8px;height:8px;border-radius:50%;background:var(--gold)}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.burger span{width:22px;height:2px;background:var(--ink);border-radius:2px}

/* page routing */
.page{display:none;animation:fade .45s ease}
.page.on{display:block}
.page:focus{outline:none}
/* a11y: keyboard skip link + visible focus indicator (brand gold) */
.skip-link{position:absolute;left:8px;top:-52px;z-index:300;background:#2C3646;color:#F5F0E3;padding:10px 16px;border-radius:8px;font-weight:700;transition:top .2s ease}
.skip-link:focus{top:8px}
a:focus-visible,button:focus-visible{outline:3px solid #D9B455;outline-offset:2px;border-radius:4px}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* section shell */
.sec{padding:84px 0;position:relative}
.sec.tight{padding:56px 0}
.sec.dark{background:linear-gradient(170deg,var(--night),var(--night-2));color:var(--ivory)}
.sec.dark h2,.sec.dark h3{color:var(--ivory)}
.sec.lift{background:var(--ivory-lift)}
.sec-head{max-width:680px;margin:0 auto 50px;text-align:center}
.sec-head h2{font-size:clamp(2rem,3.6vw,2.9rem)}
.sec-head h2 .u{position:relative;white-space:nowrap;z-index:0}
.sec-head h2 .u::after{content:"";position:absolute;left:0;right:0;bottom:.04em;height:.32em;background:rgba(217,180,85,.42);border-radius:6px;z-index:-1}
.sec-head p{margin-top:14px;font-size:1.1rem;color:var(--slate)}
.sec.dark .sec-head p{color:rgba(245,240,227,.78)}

/* reveal */
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}.d4{transition-delay:.32s}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* video media slot (gradient placeholder; drop real mp4 at data-video) */
.vslot{position:relative;overflow:hidden;background:var(--night)}
.vslot .scene{position:absolute;inset:0}
.vslot .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(44,54,70,.05),rgba(44,54,70,.6))}
.vslot .grain{position:absolute;inset:0;background-image:var(--grain);background-size:180px;opacity:.06;mix-blend-mode:overlay;pointer-events:none}
.vbadge{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;gap:6px;background:rgba(44,54,70,.6);
  backdrop-filter:blur(6px);color:var(--ivory);font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  padding:5px 10px;border-radius:var(--r-pill);z-index:3}
.vbadge .d{width:6px;height:6px;border-radius:50%;background:var(--gold);animation:blink 1.8s infinite}
@keyframes blink{50%{opacity:.3}}
.playbtn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;
  background:rgba(251,248,241,.92);display:grid;place-items:center;box-shadow:var(--sh-lift);z-index:3;transition:.22s}
.playbtn svg{margin-left:3px}
.vslot:hover .playbtn{transform:translate(-50%,-50%) scale(1.08)}

/* filmstrip-free frame (soft periwinkle rim) */
.frame{position:relative;border-radius:var(--r-md);padding:8px;background:linear-gradient(135deg,rgba(126,136,208,.5),rgba(196,184,212,.5));box-shadow:var(--sh-card)}
.frame .inner{overflow:hidden;border-radius:10px}

/* scenes (CSS gradient stand-ins, periwinkle/night palette) */
.sc-fairy{background:radial-gradient(90% 70% at 50% 30%,rgba(196,184,212,.7),transparent 65%),linear-gradient(160deg,#7E88D0,#2C3646)}
.sc-santa{background:radial-gradient(90% 70% at 60% 20%,rgba(196,184,212,.55),transparent 60%),linear-gradient(160deg,#5A6480,#2C3646)}
.sc-bunny{background:radial-gradient(80% 60% at 30% 20%,rgba(232,212,138,.5),transparent 60%),linear-gradient(160deg,#8B8FBE,#3D4A5C)}
.sc-toy{background:radial-gradient(80% 60% at 50% 80%,rgba(217,180,85,.42),transparent 60%),linear-gradient(160deg,#8086C6,#3D4A5C)}
.sc-meadow{background:radial-gradient(90% 70% at 40% 80%,rgba(196,184,212,.55),transparent 60%),linear-gradient(160deg,#9AA0CE,#3D4A5C)}
.sc-snow{background:radial-gradient(90% 70% at 50% 20%,rgba(245,240,227,.6),transparent 60%),linear-gradient(160deg,#7E89A8,#2C3646)}
.sc-studio{background:radial-gradient(90% 80% at 30% 20%,rgba(232,212,138,.5),transparent 60%),linear-gradient(150deg,#8B8FBE,#4A5290)}
.sc-story{background:radial-gradient(85% 70% at 65% 25%,rgba(196,184,212,.65),transparent 60%),linear-gradient(160deg,#8086C6,#3D4A5C)}
.sc-brand{background:radial-gradient(85% 70% at 35% 30%,rgba(232,212,138,.45),transparent 60%),linear-gradient(150deg,#6A70B6,#2C3646)}
.sc-future{background:radial-gradient(80% 70% at 60% 30%,rgba(126,136,208,.6),transparent 60%),linear-gradient(160deg,#3D4A5C,#181d28)}
.sc-era{background:radial-gradient(85% 70% at 50% 25%,rgba(217,180,85,.4),transparent 62%),linear-gradient(160deg,#6E6A8E,#2C3646)}
.sc-art{background:radial-gradient(70% 60% at 35% 30%,rgba(232,212,138,.5),transparent 55%),radial-gradient(70% 60% at 70% 70%,rgba(126,136,208,.55),transparent 60%),linear-gradient(150deg,#7E88D0,#3D4A5C)}

/* HERO */
.hero{position:relative}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:46px;align-items:center;padding-top:120px}
.hero-copy h1{font-size:clamp(2.3rem,4.9vw,4rem);margin:12px 0 16px;letter-spacing:-.5px;color:var(--ink)}
.hero-copy h1 em{font-style:normal;color:var(--peri-deep)}
.hero-copy .eyebrow{font-size:.82rem}
.hero-copy p{font-size:1.22rem;max-width:48ch;color:var(--peri-deep);font-weight:700}
.hero-cta{display:flex;gap:14px;margin-top:26px;flex-wrap:wrap}
.hero-note{margin-top:16px;font-size:.94rem;font-weight:700;color:var(--peri-deep)}
.hero-note b{color:var(--ink)}
.hero-stage{position:relative}
.hero-film{position:relative;transform:rotate(-1.4deg)}
.hero-film .vslot{aspect-ratio:4/3;border-radius:10px}
.hero-stk{position:absolute;z-index:5;background:var(--paper);border-radius:var(--r-pill);box-shadow:var(--sh-card);
  font-weight:800;font-size:.82rem;color:var(--ink);padding:9px 15px;display:inline-flex;align-items:center;gap:8px}
.hero-stk .em{font-size:1.05rem}
.hero-stk.s1{top:-16px;left:-14px;transform:rotate(-6deg)}
.hero-stk.s2{bottom:18px;right:-16px;transform:rotate(5deg);background:var(--gold)}
.confetti{position:absolute;width:12px;height:12px;border-radius:3px;opacity:.85;animation:bob 4s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(-12px) rotate(20deg)}}

/* statement band */
.statement{background:linear-gradient(160deg,var(--peri-deep),var(--night-2));color:var(--ivory);text-align:center;border-radius:var(--r-xl)}
.statement h2{color:var(--ivory);font-size:clamp(1.9rem,3.4vw,2.7rem)}
.statement p{max-width:60ch;margin:16px auto 26px;color:rgba(245,240,227,.92);font-size:1.12rem}
.statement .mico{width:58px;margin:0 auto 12px}

/* three simple steps (continuum) */
.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;position:relative}
.s3{background:var(--paper);border:1px solid rgba(126,136,208,.16);border-radius:var(--r-lg);overflow:hidden;
  box-shadow:var(--sh-soft);transition:.3s;display:flex;flex-direction:column;position:relative;cursor:pointer}
.s3::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;z-index:4;
  background:linear-gradient(90deg,var(--peri),var(--peri-deep));transform:scaleX(0);transform-origin:left;transition:transform .45s}
.s3:hover{transform:translateY(-8px);box-shadow:var(--sh-card)}
.s3:hover::before{transform:scaleX(1)}
.s3 .top{position:relative;aspect-ratio:16/9}
.s3 .top .vslot{position:absolute;inset:0}
.s3 .stepno{position:absolute;top:14px;left:14px;z-index:4;width:30px;height:30px;border-radius:50%;
  background:var(--ivory);color:var(--peri-deep);display:grid;place-items:center;font-weight:800;font-size:.92rem;box-shadow:var(--sh-soft)}
.s3 .logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:4;height:74px;width:74px;box-sizing:border-box;padding:14px;object-fit:contain;background:rgba(255,255,255,.95);border-radius:20px;box-shadow:0 12px 28px rgba(0,0,0,.32)}
.s3 .body{padding:18px 22px 22px;flex:1;display:flex;flex-direction:column}
.s3 .name{font-family:var(--font-display);font-size:1.7rem;font-weight:800;letter-spacing:-.5px;color:var(--ink)}
.s3 .who{margin-top:4px;font-weight:800;color:var(--peri-deep);font-size:.86rem}
.s3 .vp{margin-top:10px;color:var(--slate);flex:1}
.s3 .go{margin-top:16px;font-weight:800;color:var(--ink);display:inline-flex;align-items:center;gap:6px}
.s3 .go::after{content:"→";transition:transform .2s}
.s3:hover .go::after{transform:translateX(4px)}
.continuum{text-align:center;margin-top:26px;font-weight:700;color:var(--peri-deep)}

/* ---- pitch card design options (pick a winner) ---- */
.pcopt{margin-bottom:48px}
.pcopt:last-child{margin-bottom:0}
.pcopt-tag{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:800;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--peri-deep);background:rgba(126,136,208,.12);border:1px solid rgba(126,136,208,.28);padding:7px 16px;border-radius:var(--r-pill);margin-bottom:20px}
.pcrow{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pcrow-stack{display:flex;flex-direction:column;gap:16px}
/* Option 1 — Logo Hero */
.pcv1{background:var(--paper);border:1px solid rgba(126,136,208,.16);border-radius:var(--r-lg);box-shadow:var(--sh-soft);overflow:hidden;display:flex;flex-direction:column;cursor:pointer;transition:.3s}
.pcv1:hover{transform:translateY(-8px);box-shadow:var(--sh-card)}
.pcv1 .cap{aspect-ratio:16/10;background:linear-gradient(155deg,#eef0fb,#dfe3f7 58%,#cfd5f1);display:grid;place-items:center}
.pcv1 .cap img{width:118px;height:118px;object-fit:contain;filter:drop-shadow(0 16px 34px rgba(61,74,92,.26))}
.pcv1 .body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}
.pcv1 .verb{font-family:var(--font-display);font-weight:800;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--peri-deep)}
.pcv1 .who{margin-top:6px;font-family:var(--font-display);font-size:1.5rem;font-weight:800;letter-spacing:-.5px;color:var(--ink);line-height:1.15}
.pcv1 .vp{margin-top:10px;color:var(--slate);font-size:.95rem;flex:1}
.pcv1 .go{margin-top:16px;font-weight:800;color:var(--ink)}
.pcv1 .go::after,.pcv2 .go::after,.pcv3 .go::after{content:" →";transition:transform .2s;display:inline-block}
.pcv1:hover .go::after,.pcv2:hover .go::after,.pcv3:hover .go::after{transform:translateX(4px)}
/* Option 2 — Spotlight */
.pcv2{background:var(--paper);border:1px solid rgba(126,136,208,.16);border-radius:var(--r-lg);box-shadow:var(--sh-soft);overflow:hidden;display:flex;flex-direction:column;cursor:pointer;transition:.3s}
.pcv2:hover{transform:translateY(-8px);box-shadow:var(--sh-card)}
.pcv2 .cap{position:relative;aspect-ratio:2.6/1;background:#fff;overflow:visible}
.pcv2 .cap .vslot,.pcv2 .cap .veil{display:none}
.pcv2 .logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:4;width:94px;height:94px;box-sizing:border-box;padding:18px;object-fit:contain;background:#fff;border-radius:24px;box-shadow:0 18px 40px rgba(0,0,0,.42)}
.pcv2 .logo.namelock{width:62%;max-width:220px;height:auto;top:40%;padding:6px 16px;border-radius:14px;box-shadow:none}
.pcv2 .verbpill{position:absolute;left:50%;bottom:-15px;transform:translateX(-50%);z-index:5;font-family:var(--font-display);font-weight:900;font-size:1.12rem;letter-spacing:.1em;text-transform:uppercase;color:#2c3646;background:linear-gradient(135deg,#f0d27a,var(--gold));padding:9px 26px;border-radius:var(--r-pill);box-shadow:0 10px 24px rgba(217,180,85,.5)}
.pcv2 .body{padding:30px 24px 24px;display:flex;flex-direction:column;flex:1;text-align:center}
.pcv2 .who{font-family:var(--font-display);font-size:1.5rem;font-weight:800;letter-spacing:-.5px;color:var(--ink);line-height:1.15}
.pcv2 .vp{margin-top:10px;color:var(--slate);font-size:.95rem;flex:1}
.pcv2 .go{margin-top:16px;font-weight:800;color:var(--ink)}
/* Option 3 — Editorial Row */
.pcv3{background:var(--paper);border:1px solid rgba(126,136,208,.16);border-radius:var(--r-lg);box-shadow:var(--sh-soft);overflow:hidden;display:grid;grid-template-columns:150px 1fr;cursor:pointer;transition:.3s}
.pcv3:hover{transform:translateY(-6px);box-shadow:var(--sh-card)}
.pcv3 .cap{background:linear-gradient(155deg,#eef0fb,#d7dcf3);display:grid;place-items:center;padding:18px}
.pcv3 .cap img{width:88px;height:88px;object-fit:contain;filter:drop-shadow(0 10px 22px rgba(61,74,92,.28))}
.pcv3 .body{padding:20px 26px;display:flex;flex-direction:column;justify-content:center}
.pcv3 .verb{font-family:var(--font-display);font-weight:800;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--peri-deep)}
.pcv3 .who{margin-top:4px;font-family:var(--font-display);font-size:1.34rem;font-weight:800;letter-spacing:-.4px;color:var(--ink);line-height:1.15}
.pcv3 .vp{margin-top:8px;color:var(--slate);font-size:.92rem;max-width:62ch}
.pcv3 .go{margin-top:12px;font-weight:800;color:var(--ink);font-size:.92rem}
@media(max-width:860px){.pcrow{grid-template-columns:1fr}.pcv3{grid-template-columns:104px 1fr}}

/* ---- eyebrow namelock (replaces text eyebrow with product logo) ---- */
.eyebrow-lock{height:50px;width:auto;margin:0 auto 16px;display:block;filter:drop-shadow(0 6px 14px rgba(61,74,92,.12))}
.bs-subhead .eyebrow-lock{height:56px;margin:0 auto 16px;filter:drop-shadow(0 8px 18px rgba(0,0,0,.3))}
.eyebrow-lock.eyebrow-lock-lg{height:72px}

/* ---- Studio: three product cards ---- */
.studio-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:0 0 64px}
.studio-card{background:var(--paper);border:1px solid rgba(126,136,208,.16);border-radius:var(--r-xl);box-shadow:var(--sh-soft);padding:28px 26px 26px;display:flex;flex-direction:column;text-align:center;transition:.28s}
.studio-card:hover{transform:translateY(-6px);box-shadow:var(--sh-card)}
.sc-lockwrap{background:#fff;border:1px solid rgba(126,136,208,.14);border-radius:var(--r-md);padding:18px 16px;display:grid;place-items:center;min-height:88px;margin-bottom:18px}
.sc-lock{height:48px;width:auto;max-width:90%;object-fit:contain}
.studio-card:nth-child(2) .sc-lock{height:58px}
.studio-card p{color:var(--slate);font-size:.95rem;line-height:1.55;flex:1}
.sc-cta{margin:20px auto 0;align-self:center}
@media(max-width:860px){.studio-cards{grid-template-columns:1fr;gap:16px}}

/* ---- Story Studio: full-bleed character tiles + storyboard ---- */
.bs-tile.bs-char{padding:0}
.bs-tile.bs-char img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bs-tile.bs-char .bs-lbl{z-index:2;color:#fff;background:rgba(44,54,70,.6);padding:3px 8px;border-radius:6px;opacity:1}
/* character model sheet */
.cs-board{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0 24px}
.cs-row-lbl,.cs-tag{font-size:.58rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--peri-deep)}
.cs-row-lbl{display:block;margin-bottom:6px}
.cs-hero{position:relative;background:radial-gradient(120% 90% at 50% 30%,#1b2030,#0a0d15);border:1px solid rgba(126,136,208,.22);border-radius:var(--r-md);overflow:hidden;min-height:300px}
.cs-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:12px;mix-blend-mode:screen}
.cs-tag{position:absolute;top:10px;left:10px;z-index:2;color:#fff;background:rgba(44,54,70,.7);padding:3px 8px;border-radius:6px}
.cs-faces{display:flex;flex-direction:column}
.cs-facegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.cs-face2{position:relative;aspect-ratio:1;background:radial-gradient(120% 100% at 50% 20%,#1b2030,#0a0d15);border:1px solid rgba(126,136,208,.22);border-radius:10px;overflow:hidden}
.cs-face2 img{position:absolute;left:50%;top:0;width:300%;height:auto;transform:translateX(-50%);mix-blend-mode:screen}
.cs-wardrobe,.cs-angles{grid-column:1/-1}
.cs-objgrid,.cs-anglegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.cs-obj{position:relative;aspect-ratio:16/11;background:radial-gradient(120% 100% at 50% 30%,#1b2030,#0a0d15);border:1px solid rgba(126,136,208,.22);border-radius:10px;overflow:hidden}
.cs-obj img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:7px;mix-blend-mode:screen}
.cs-angle{position:relative;aspect-ratio:3/4;background:radial-gradient(120% 100% at 50% 25%,#1b2030,#0a0d15);border:1px solid rgba(126,136,208,.22);border-radius:10px;overflow:hidden;display:flex;align-items:flex-end;justify-content:center}
.cs-angle img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:7px;mix-blend-mode:screen}
.cs-angle b{position:relative;z-index:2;font-size:.56rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:rgba(44,54,70,.7);padding:2px 7px;border-radius:5px;margin-bottom:7px}
@media(max-width:560px){.cs-board{grid-template-columns:1fr}.cs-hero{min-height:240px}}
/* storyboard */
.story-board{display:grid;grid-template-columns:repeat(2,1fr);gap:11px;margin-top:2px}
.sb-frame{margin:0}
.sb-shot{position:relative;aspect-ratio:16/10;border-radius:7px;overflow:hidden;background:#10131c;border:1.5px solid rgba(126,136,208,.3);box-shadow:0 2px 8px rgba(0,0,0,.25)}
.sb-shot img{width:100%;height:100%;object-fit:cover;display:block}
.sb-no{position:absolute;top:6px;left:6px;z-index:2;width:19px;height:19px;border-radius:5px;background:rgba(44,54,70,.85);color:var(--ivory);font-weight:800;font-size:.66rem;display:grid;place-items:center;font-family:var(--font-display)}
.sb-frame figcaption{margin-top:5px;font-size:.58rem;font-weight:700;letter-spacing:.01em;color:var(--slate);font-family:ui-monospace,'SFMono-Regular',Menlo,monospace;line-height:1.35}

/* ---- Studio: make-your-own fairy (simulator-style) ---- */
.fyChips{display:flex;gap:10px;flex-wrap:wrap}
.fchip2{display:flex;flex-direction:column;align-items:center;gap:7px;padding:8px 8px 10px;border:1.5px solid rgba(126,136,208,.25);border-radius:var(--r-md);background:#fbfbfe;cursor:pointer;width:96px;transition:.2s}
.fchip2:hover{transform:translateY(-2px);box-shadow:var(--sh-soft)}
.fchip2.on{border-color:var(--peri-deep);box-shadow:0 0 0 2px rgba(126,136,208,.25)}
.fchip2-th{width:74px;height:74px;border-radius:12px;overflow:hidden;background:#10131c;display:block}
.fchip2-th img{width:100%;height:100%;object-fit:cover}
.fchip2-n{font-size:.8rem;font-weight:800;color:var(--ink)}
.fy-make{display:flex;flex-direction:column;gap:12px;margin-top:4px}
.fy-upload{display:flex;align-items:center;gap:12px;cursor:pointer}
.fy-upbtn{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:var(--r-pill);border:1.5px dashed var(--peri-deep);color:var(--peri-deep);font-weight:800;font-size:.92rem;background:rgba(126,136,208,.06);transition:.2s}
.fy-upload:hover .fy-upbtn{background:rgba(126,136,208,.14)}
.fy-upname{font-size:.78rem;color:var(--slate)}
.fy-prompt{display:flex;gap:8px}
.fyText{flex:1;min-width:0;padding:11px 14px;border-radius:var(--r-pill);border:1.5px solid rgba(126,136,208,.3);font-family:var(--font-body);font-size:.9rem;color:var(--ink);background:#fff}
.fyText:focus{outline:none;border-color:var(--peri-deep);box-shadow:0 0 0 3px rgba(126,136,208,.18)}
.fy-conjure{flex:none;padding:11px 18px;border-radius:var(--r-pill);border:none;background:linear-gradient(135deg,var(--peri),var(--peri-deep));color:var(--ivory);font-weight:800;font-size:.9rem;cursor:pointer;transition:.2s}
.fy-conjure:hover{filter:brightness(1.06);transform:translateY(-1px)}
.fy-stage{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3;background:#0a0d15;box-shadow:inset 0 0 60px rgba(0,0,0,.6)}
.fy-room{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.fy-fairy{position:absolute;right:5%;top:50%;transform:translateY(-50%);height:88%;width:auto;object-fit:contain;mix-blend-mode:screen;filter:drop-shadow(0 0 30px rgba(126,136,208,.5));transition:opacity .4s}
.fy-fairy.fy-custom{mix-blend-mode:normal;height:74%;border-radius:12px;filter:drop-shadow(0 12px 30px rgba(0,0,0,.6))}
.fy-badge{position:absolute;top:12px;left:12px;z-index:3;background:rgba(126,136,208,.92);color:var(--ivory);font-weight:800;font-size:.74rem;padding:5px 11px;border-radius:var(--r-pill);max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fy-cap{position:absolute;bottom:12px;left:14px;z-index:3;display:flex;align-items:center;gap:7px;font-size:.76rem;font-weight:700;color:rgba(245,240,227,.92)}
.fy-shimmer::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(110deg,transparent 30%,rgba(232,212,138,.45) 50%,transparent 70%);animation:fyShim .9s ease}
@keyframes fyShim{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
@media(max-width:620px){.fchip2{width:84px}.fchip2-th{width:64px;height:64px}}

/* ---- Brand Studio ---- */
.bs-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.bs-col{background:var(--paper);border:1.5px solid #3D4A5C;border-radius:var(--r-xl);box-shadow:var(--sh-soft);padding:30px;display:flex;flex-direction:column}
.bs-col-head .bs-kicker{font-family:var(--font-display);font-weight:800;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--peri-deep)}
.bs-col-head h3{margin:8px 0 6px;font-family:var(--font-display);font-size:1.55rem;font-weight:800;letter-spacing:-.5px;color:var(--ink)}
.bs-col-head p{color:var(--slate);font-size:.96rem}
.bs-cta{margin-top:auto;align-self:flex-start}
/* new-brand board */
.bs-board{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0 24px}
.bs-tile{position:relative;border-radius:var(--r-md);border:1px solid rgba(126,136,208,.18);background:linear-gradient(160deg,#fbfbfe,#eef0fb);padding:16px;min-height:118px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.bs-lbl{position:absolute;top:10px;left:12px;font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--peri-deep);opacity:.8}
.bs-logo{padding:0}
.bs-logo .bs-logo-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%}
.bs-logo .bs-logo-mark{position:relative;z-index:1;width:72px;height:72px;object-fit:contain;margin:auto;filter:drop-shadow(0 8px 20px rgba(0,0,0,.45))}
.bs-logo .bs-lbl{z-index:2;color:#fff;background:rgba(44,54,70,.55);padding:3px 8px;border-radius:6px;opacity:1}
.bs-sw{display:flex;gap:7px;margin-top:14px}
.bs-sw i{flex:1;height:38px;border-radius:8px;border:1px solid rgba(0,0,0,.06)}
.bs-aa{font-family:var(--font-display);font-weight:800;font-size:2.4rem;line-height:1;color:var(--ink);margin-top:10px}
.bs-fonts{margin-top:6px;font-size:.72rem;color:var(--slate);line-height:1.5}
.bs-fonts b{color:var(--ink)}
.bs-sysgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:14px}
.bs-sysgrid span{aspect-ratio:1;border-radius:6px;background:linear-gradient(135deg,var(--peri),var(--peri-deep));opacity:.85}
.bs-sysgrid span:nth-child(2){background:linear-gradient(135deg,#E8D48A,#C99A2E)}
.bs-sysgrid span:nth-child(3){background:linear-gradient(135deg,#C4B8D4,#8a6bbf)}
/* existing-brand animation card */
.bs-anim{position:relative;border-radius:var(--r-md);background:linear-gradient(150deg,#2b3145,#3d4a5c);min-height:150px;display:grid;place-items:center;margin:22px 0 16px;overflow:hidden}
.bs-anim-stage{display:grid;place-items:center}
.bs-anim-vid{width:100%;height:100%;object-fit:cover;display:block}
.bs-spin{width:92px;height:92px;object-fit:contain;animation:bsSpin 6s ease-in-out infinite;filter:drop-shadow(0 0 26px rgba(126,136,208,.7))}
@keyframes bsSpin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.12)}100%{transform:rotate(360deg) scale(1)}}
.bs-anim-cap{position:absolute;bottom:12px;left:14px;display:flex;align-items:center;gap:7px;font-size:.74rem;font-weight:700;color:rgba(245,240,227,.85)}
.bs-dot{width:8px;height:8px;border-radius:50%;background:#E8D48A;box-shadow:0 0 0 0 rgba(232,212,138,.7);animation:bsPulse 1.6s infinite}
@keyframes bsPulse{0%{box-shadow:0 0 0 0 rgba(232,212,138,.6)}70%{box-shadow:0 0 0 8px rgba(232,212,138,0)}100%{box-shadow:0 0 0 0 rgba(232,212,138,0)}}
/* new-brand: logo-in-scene composite */
.bs-scene{position:relative;border-radius:var(--r-md);background:#10131c;min-height:150px;height:150px;display:grid;place-items:center;margin:22px 0 16px;overflow:hidden}
.bs-scene.bs-scene-sq{aspect-ratio:1/.7;height:auto;min-height:0;margin:20px 0 18px}
.bs-scene-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 64%;display:block;filter:brightness(.86)}
.bs-scene-mark{position:relative;z-index:1;width:auto;height:64%;max-width:62%;object-fit:contain;filter:drop-shadow(0 10px 28px rgba(0,0,0,.55))}
.bs-scene-cap{position:absolute;bottom:12px;left:14px;z-index:2;display:flex;align-items:center;gap:7px;font-size:.74rem;font-weight:700;color:rgba(245,240,227,.9)}
/* new-brand: brand mark + logo tile (normal half-width tile) */
.bs-brandmark-row{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:4px 2px}
.bs-bm-full{height:22px;width:auto;max-width:58%;object-fit:contain}
.bs-bm-icon{height:28px;width:auto;object-fit:contain}
.bs-bm-div{width:1px;align-self:stretch;min-height:24px;background:rgba(126,136,208,.35)}
/* icon-set widget */
.bs-widget{border:1px solid rgba(126,136,208,.18);border-radius:var(--r-md);padding:16px;margin-bottom:22px;background:#fbfbfe}
.bs-widget-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}
.bs-widget-head span:first-child{font-family:var(--font-display);font-weight:800;color:var(--ink);font-size:.98rem}
.bs-widget-sub{font-size:.72rem;color:var(--slate)}
.bs-palrow{display:flex;gap:9px;margin-bottom:14px}
.bs-pchip{width:30px;height:30px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;box-shadow:0 2px 6px rgba(0,0,0,.18);transition:.18s}
.bs-pchip:hover{transform:scale(1.08)}
.bs-pchip.on{border-color:var(--ink);box-shadow:0 0 0 2px #fff,0 0 0 4px var(--ink)}
.bs-iconset{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.bs-icn{display:grid;place-items:center;aspect-ratio:1;padding:8px;background:var(--bs-tint,#fff);border:1px solid var(--bs-tint-bd,rgba(126,136,208,.14));border-radius:12px;box-shadow:0 4px 12px rgba(61,74,92,.08);transition:background .35s,border-color .35s}
.bs-icn img{width:100%;height:100%;object-fit:contain}
@media(max-width:760px){.bs-grid{grid-template-columns:1fr}}

/* studio intro sub-head */
.bs-subhead{margin:30px 0 26px;text-align:center;background:linear-gradient(155deg,var(--night-2,#2C3646),#3D4A5C);border-radius:var(--r-xl);padding:40px 28px 36px;box-shadow:var(--sh-card)}
.bs-subhead .eyebrow{margin-bottom:8px}
.bs-subhead h3{font-family:var(--font-display);font-size:2.05rem;font-weight:800;letter-spacing:-.5px;color:var(--ivory,#F5F0E3);line-height:1.16}
.bs-subhead h3 .u::after{opacity:.85}
.bs-subhead p{max-width:640px;margin:12px auto 0;color:#CFC6DD;font-size:1.02rem}

/* ---- Studio Pro: node-based workflow ---- */
.flow{position:relative;display:grid;grid-template-columns:.82fr 34px 1.55fr 34px .82fr;align-items:start;gap:0;margin-top:6px;
  background-color:var(--night-2);
  border:1px solid rgba(126,136,208,.32);border-radius:var(--r-xl);box-shadow:0 22px 60px rgba(44,54,70,.34);padding:42px 22px 28px;
  background-image:radial-gradient(rgba(126,136,208,.20) 1px,transparent 1px);background-size:20px 20px}
.flow::before{content:"Example workflow";position:absolute;top:13px;left:22px;font-family:var(--font-display);font-weight:800;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(245,240,227,.62)}
.flow::after{content:"";position:absolute;top:16px;right:22px;width:34px;height:8px;border-radius:var(--r-pill);background:rgba(245,240,227,.18)}
.flow-col{position:relative;z-index:2;display:flex;flex-direction:column;gap:12px}
.flow-wires{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;overflow:visible}
.flow-tag{font-family:var(--font-display);font-weight:800;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:4px;align-self:flex-start;padding:5px 11px;border-radius:var(--r-pill)}
.flow-tag.in{color:#cdd2f5;background:rgba(126,136,208,.24)}
.flow-tag.wf{color:#fff;background:linear-gradient(135deg,var(--peri),var(--peri-deep))}
.flow-tag.out{color:#f0d489;background:rgba(217,180,85,.20)}
.node{position:relative;display:flex;gap:11px;align-items:flex-start;background:#fff;border:1px solid rgba(126,136,208,.2);border-radius:var(--r-md);padding:12px 14px;box-shadow:0 4px 14px rgba(61,74,92,.06)}
.node-b{display:flex;flex-direction:column;gap:2px;min-width:0}
.node-b b{font-family:var(--font-display);font-size:.98rem;color:var(--ink);line-height:1.15}
.node-b span{color:var(--slate);font-size:.8rem;line-height:1.35}
.node-model{align-self:flex-start;margin:2px 0 1px;font-family:var(--font-body);font-weight:800;font-size:.68rem;letter-spacing:.02em;color:var(--peri-deep)!important;background:rgba(126,136,208,.12);padding:2px 8px;border-radius:var(--r-pill)}
.node-ico{flex:none;width:18px;height:18px;border-radius:6px;margin-top:2px}
.node-ico.in{background:#7E88D0;border-radius:5px}
.node-ico.ag{background:linear-gradient(150deg,#F0DD92,var(--gold));border-radius:4px}
.node-ico.vr{background:linear-gradient(150deg,#C4B8D4,#8a6bbf)}
.node-ico.rf{background:linear-gradient(150deg,#E8D48A,var(--gold));border-radius:50%}
.node.agent{border-color:rgba(126,136,208,.45);box-shadow:0 8px 20px rgba(126,136,208,.16)}
.node.var{border-style:dashed;border-color:rgba(138,107,191,.5)}
.node.ref{padding:10px 12px;background:linear-gradient(160deg,#fffdf4,#fbf3da);border-color:rgba(217,180,85,.5)}
.node.ref .node-b b{font-size:.86rem}
.node.out{align-items:center}
.node-x{flex:none;display:grid;place-items:center;min-width:30px;height:26px;padding:0 7px;border-radius:var(--r-pill);background:linear-gradient(135deg,var(--peri),var(--peri-deep));color:#fff;font-family:var(--font-display);font-weight:800;font-size:.82rem}
.node-form{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0 2px}
.node-form span{font-size:.7rem;font-weight:700;color:var(--peri-deep);background:rgba(126,136,208,.12);border:1px solid rgba(126,136,208,.22);border-radius:var(--r-pill);padding:2px 8px}
.node-note{font-style:italic;color:var(--slate);font-size:.74rem!important}
.ref-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.ref-row .node.ref:first-child{grid-column:1 / -1}
.flow-rail{position:relative;align-self:stretch;min-height:60px}
.flow-rail::before{content:"";position:absolute;left:50%;top:30px;bottom:18px;width:3px;transform:translateX(-50%);background:repeating-linear-gradient(180deg,#aab2ec 0 7px,transparent 7px 14px);border-radius:2px;opacity:.85}
.flow-rail::after{content:"";position:absolute;left:50%;bottom:6px;transform:translateX(-50%);border-top:9px solid #aab2ec;border-left:6px solid transparent;border-right:6px solid transparent;opacity:.95}
/* intra-column logical connectors — workflow production is a sequence, inputs/outputs are parallel */
.wfcol > div{position:relative}
.wfcol > div + div::before{content:"";position:absolute;left:50%;top:-13px;width:2px;height:13px;transform:translateX(-50%);background:repeating-linear-gradient(180deg,#aab2ec 0 4px,transparent 4px 8px);opacity:.85}
.wf-refs{margin:2px 0 -2px;padding-top:13px;font-family:var(--font-display);font-weight:800;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(245,240,227,.6);text-align:center}
/* card → canvas bridge (ties the intro cards to the example) */
.sp-bridge{display:flex;flex-direction:column;align-items:center;margin:20px 0 0}
.sp-bridge span{font-family:var(--font-display);font-weight:800;font-size:.92rem;letter-spacing:.06em;color:var(--peri-deep);background:rgba(126,136,208,.14);padding:8px 18px;border-radius:var(--r-pill)}
.sp-bridge::after{content:"";width:2px;height:20px;margin-top:9px;background:repeating-linear-gradient(180deg,var(--peri-deep) 0 5px,transparent 5px 10px);opacity:.55}
/* desktop: SVG wires carry the cross-column connections, so hide the generic dashed rails */
@media(min-width:921px){.flow-rail::before,.flow-rail::after{display:none}}
@media(max-width:920px){
  .flow{grid-template-columns:1fr;padding:38px 16px 22px}
  .flow-wires{display:none}
  .flow-rail{min-height:34px}
  .flow-rail::before{left:50%;top:8px;bottom:14px}
  .flow-rail::after{bottom:2px}
}
/* Studio Pro summary cards */
.sp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:26px}
.sp-card{background:var(--paper);border:1px solid rgba(126,136,208,.16);border-radius:var(--r-lg);padding:24px 24px 22px;box-shadow:var(--sh-soft)}
.sp-card-head{display:flex;align-items:center;gap:11px;margin-bottom:10px}
.sp-card-ico{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:#fff}
.sp-card-ico svg{width:18px;height:18px}
.sp-card-ico.in{background:#7E88D0}
.sp-card-ico.wf{background:linear-gradient(150deg,var(--peri),var(--peri-deep))}
.sp-card-ico.out{background:linear-gradient(150deg,#E8D48A,var(--gold));color:#5e4708}
.sp-card-head h3{margin:0}
.sp-card h3{font-family:var(--font-display);font-size:1.5rem;font-weight:800;color:var(--ink);margin-bottom:12px}
.sp-card-intro{color:var(--slate);font-size:.9rem;line-height:1.45;margin-bottom:14px}
.sp-card ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.sp-card li{position:relative;padding-left:18px;color:var(--slate);font-size:.92rem;line-height:1.4}
.sp-card li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:50%;background:var(--peri)}
@media(max-width:860px){.sp-cards{grid-template-columns:1fr}}
/* Studio Pro benefit / proof-point cards */
.spb-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:26px}
.spb{position:relative;background:var(--paper);border:1px solid rgba(126,136,208,.16);border-radius:var(--r-lg);padding:26px 22px 24px;box-shadow:var(--sh-soft);overflow:hidden;transition:.22s}
.spb:hover{transform:translateY(-5px);box-shadow:var(--sh-lift)}
.spb::before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,var(--peri),var(--gold))}
.spb-k{display:inline-block;font-family:var(--font-body);font-weight:800;font-size:.6rem;letter-spacing:.13em;text-transform:uppercase;color:var(--peri-deep);background:rgba(126,136,208,.12);padding:5px 11px;border-radius:var(--r-pill);margin-bottom:14px}
.spb h3{font-family:var(--font-display);font-size:1.22rem;font-weight:800;color:var(--ink);margin-bottom:8px}
.spb p{color:var(--slate);font-size:.9rem;line-height:1.5}
@media(max-width:860px){.spb-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.spb-grid{grid-template-columns:1fr}}

/* ---- free-credits band ---- */
.fc-band{background:linear-gradient(160deg,var(--peri-deep),var(--night-2));border-radius:var(--r-xl);padding:48px 40px;box-shadow:var(--sh-card);color:var(--ivory)}
.fc-band .sec-head{margin-bottom:34px}
.fc-band .eyebrow{color:#E8D48A}
.fc-gift{display:inline-flex;align-items:center;gap:8px}
.fc-gift::before{content:"";display:inline-block;width:24px;height:24px;flex:none;background:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Crect%20x='3'%20y='10'%20width='18'%20height='3.6'%20rx='0.8'%20fill='%23E8C76A'/%3E%3Crect%20x='4.5'%20y='13.4'%20width='15'%20height='7.8'%20rx='1'%20fill='%23D9B455'/%3E%3Crect%20x='10.3'%20y='10'%20width='3.4'%20height='11.2'%20fill='%23D14A3A'/%3E%3Crect%20x='10.3'%20y='10'%20width='3.4'%20height='3.6'%20fill='%23E25C49'/%3E%3Cpath%20d='M12%209.6C12%207%209.8%205%208.2%206.1%206.8%207%208.2%209.6%2012%209.6Z'%20fill='%23E25C49'/%3E%3Cpath%20d='M12%209.6C12%207%2014.2%205%2015.8%206.1%2017.2%207%2015.8%209.6%2012%209.6Z'%20fill='%23E25C49'/%3E%3Ccircle%20cx='12'%20cy='9'%20r='1.2'%20fill='%23C0392B'/%3E%3C/svg%3E") center/contain no-repeat;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}
.fc-gift svg{display:none}
.fc-band h2{color:var(--ivory)}
.fc-band .sec-head p{color:rgba(245,240,227,.88)}
.fc-band .sec-head p b{color:#E8D48A}
.fc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:34px}
.fc-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:var(--r-lg);padding:26px 24px;transition:.25s}
.fc-card:hover{transform:translateY(-6px);background:rgba(255,255,255,.12)}
.fc-cr{display:inline-block;font-family:var(--font-display);font-weight:800;font-size:1.02rem;color:var(--night-2);background:linear-gradient(135deg,#E8D48A,#d9b455);padding:6px 16px;border-radius:var(--r-pill);margin-bottom:16px;box-shadow:0 8px 20px rgba(232,212,138,.3)}
.fc-card h3{font-family:var(--font-display);font-size:1.16rem;color:var(--ivory);margin-bottom:8px}
.fc-card p{color:rgba(245,240,227,.82);font-size:.93rem}
@media(max-width:760px){.fc-cards{grid-template-columns:1fr}}

/* builder bench */
.bench{display:grid;grid-template-columns:1.05fr .95fr;gap:0;background:var(--paper);border:1px solid rgba(126,136,208,.18);
  border-radius:var(--r-xl);box-shadow:var(--sh-card);overflow:hidden}
.b-controls{padding:38px}
.b-step{margin-bottom:24px}
.b-step .lbl{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--ink);margin-bottom:12px}
.b-step .lbl .n{width:24px;height:24px;border-radius:50%;background:var(--peri-deep);color:var(--ivory);display:grid;place-items:center;font-size:.8rem;flex:none}
.chiprow{display:flex;flex-wrap:wrap;gap:9px}
.bchip{display:inline-flex;align-items:center;gap:8px;background:var(--ivory);border:2px solid transparent;border-radius:var(--r-pill);
  padding:9px 15px;font-weight:700;font-size:.9rem;cursor:pointer;transition:.18s;color:var(--ink-soft)}
.bchip:hover{border-color:rgba(126,136,208,.42)}
.bchip.on{border-color:var(--peri-deep);background:rgba(126,136,208,.14);color:var(--peri-deep)}
.bchip .sw{width:20px;height:20px;border-radius:5px}
.mchip{gap:10px}
.mchip .mtag{font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:3px 7px;border-radius:var(--r-pill);line-height:1}
.mchip .mtag-video{background:rgba(217,180,85,.2);color:#9a7b1f}
.mchip .mtag-image{background:rgba(126,136,208,.18);color:var(--peri-deep)}
.mchip.on .mtag-video{background:rgba(217,180,85,.32)}
.mchip.on .mtag-image{background:rgba(126,136,208,.28)}
.hbCta{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;margin-bottom:18px}
.hbCtaBtn{display:inline-flex;align-items:center;background:linear-gradient(135deg,var(--gold-light,#E8D48A),var(--gold));color:#3D4A5C;font-weight:800;font-size:.95rem;padding:12px 24px;border-radius:var(--r-pill);cursor:pointer;text-decoration:none;box-shadow:0 10px 24px rgba(217,180,85,.42);transition:.2s}
.hbCtaBtn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(217,180,85,.55)}
.hbCredits{display:inline-flex;align-items:center;gap:7px;font-weight:800;font-size:.9rem;color:var(--gold)}
.hbCredits .gift{font-size:1.1rem}
.fmtgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px} /* taxonomy v2: Image | Video only */
.fchip{text-align:center;background:var(--ivory);border:2px solid transparent;border-radius:var(--r-md);padding:11px 6px;cursor:pointer;transition:.18s}
.fchip:hover{border-color:rgba(126,136,208,.42)}
.fchip.on{border-color:var(--gold);background:rgba(217,180,85,.14)}
.fchip b{display:block;font-family:var(--font-display);font-size:1.02rem;color:var(--ink)}
.fchip small{color:var(--slate);font-size:.72rem}
.doorsw{display:inline-flex;background:var(--ivory);border-radius:var(--r-pill);padding:5px;box-shadow:inset 0 2px 5px rgba(44,54,70,.12)}
.doorsw button{font-family:var(--font-body);font-weight:800;border:0;background:none;cursor:pointer;padding:9px 16px;border-radius:var(--r-pill);color:var(--slate);transition:.2s;font-size:.86rem}
.doorsw button.on{background:var(--paper);color:var(--ink);box-shadow:var(--sh-soft)}
.b-ingredients{margin-top:14px;overflow:hidden;max-height:0;opacity:0;transition:max-height .35s ease,opacity .3s}
.b-ingredients.show{max-height:220px;opacity:1}
.b-ingredients .hint{font-size:.85rem;color:var(--slate);margin-bottom:10px}
.b-preview{background:linear-gradient(160deg,var(--night-2),var(--night));color:var(--ivory);padding:34px;display:flex;flex-direction:column}
.b-frame{position:relative;border-radius:var(--r-md);overflow:hidden;aspect-ratio:4/5;box-shadow:var(--sh-lift);margin-bottom:auto}
.b-frame .scene{position:absolute;inset:0;transition:opacity .4s}
.b-frame .mark{position:absolute;width:46%;left:50%;top:48%;transform:translate(-50%,-50%);filter:drop-shadow(0 12px 22px rgba(0,0,0,.4));transition:.3s}
.b-frame .lyr{position:absolute;inset:0;display:grid;place-items:center;opacity:0;transition:.3s}
.b-frame .lyr.on{opacity:1}
.b-frame .lyr svg{width:54%;height:54%}
.b-frame .fmtbadge{position:absolute;top:12px;left:12px;background:rgba(44,54,70,.66);backdrop-filter:blur(6px);color:var(--ivory);font-weight:800;font-size:.72rem;padding:5px 11px;border-radius:var(--r-pill)}
.b-frame .doorbadge{position:absolute;bottom:12px;left:12px;font-weight:800;font-size:.72rem;padding:5px 11px;border-radius:var(--r-pill)}
.b-readout{margin-top:24px;background:rgba(245,240,227,.08);border:1px solid rgba(245,240,227,.16);border-radius:var(--r-lg);padding:20px}
.b-readout .row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}
.b-readout .cost{font-family:var(--font-display);font-size:2.6rem;color:var(--gold-light);line-height:1}
.b-readout .usd{font-weight:800;color:rgba(245,240,227,.85)}
.b-readout .what{font-size:.9rem;color:rgba(245,240,227,.78);margin-top:4px}
.b-readout .btn{margin-top:16px;width:100%;justify-content:center}
.b-readout .trial{display:block;text-align:center;margin-top:10px;font-size:.82rem;color:var(--gold-light);font-weight:700}

/* before/after */
.ba{max-width:780px;margin:0 auto;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-lift);position:relative;aspect-ratio:16/10;user-select:none;touch-action:none;cursor:ew-resize}
.ba .half{position:absolute;inset:0}
.ba .half .photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba .after{clip-path:inset(0 0 0 50%)}
.ba .lbl{position:absolute;top:14px;font-weight:800;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;
  background:rgba(44,54,70,.62);backdrop-filter:blur(6px);color:var(--ivory);padding:5px 11px;border-radius:var(--r-pill)}
.ba .lbl.l{left:14px}.ba .lbl.r{right:14px}
.ba .mark{position:absolute;width:38%;left:50%;top:50%;transform:translate(-50%,-50%);filter:drop-shadow(0 10px 20px rgba(0,0,0,.35))}
.ba .handle{position:absolute;top:0;bottom:0;left:50%;width:3px;background:var(--ivory);box-shadow:0 0 14px rgba(0,0,0,.4)}
.ba .grip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;
  background:var(--ivory);box-shadow:var(--sh-lift);display:grid;place-items:center;z-index:6;color:var(--ink);font-weight:800}

/* home live builder (momento-first) */
.hbBA{max-width:none;margin:0;aspect-ratio:4/5}
.hbBA .ph,.hbBA video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hbBA .hlyr{position:absolute;inset:0;display:grid;place-items:center;opacity:0;transition:.3s;pointer-events:none}
.hbBA .hlyr.on{opacity:1}.hbBA .hlyr svg{width:54%;height:54%}
.b-step .hint{font-size:.86rem;color:var(--ink-soft);margin:0}
.b-thumbs{display:flex;gap:9px;flex-wrap:wrap}
.b-thumb{width:62px;height:62px;border-radius:var(--r-sm);border:2px solid transparent;overflow:hidden;background:var(--ivory);cursor:pointer;padding:0;position:relative;flex:none}
.b-thumb img{width:100%;height:100%;object-fit:cover}
.b-thumb span{position:absolute;left:0;right:0;bottom:0;font-size:.6rem;font-weight:800;background:rgba(44,54,70,.66);color:var(--ivory);padding:2px}
.b-thumb:hover{border-color:rgba(126,136,208,.45)}
.b-thumb.on{border-color:var(--peri-deep)}
.b-thumb .sw{position:absolute;inset:0}
/* big card-style selection chips (Make-up FX, Artistic Style, Choose Era) */
.b-thumb.bigchip{width:112px;height:auto;border-radius:12px;border:2px solid #e6e1d4;background:var(--ivory);display:flex;flex-direction:column;align-items:center;padding:10px 9px 11px;overflow:visible}
.b-thumb.bigchip:hover{border-color:rgba(126,136,208,.55)}
.b-thumb.bigchip.on{border-color:var(--gold);background:#fff;box-shadow:0 6px 16px rgba(217,180,85,.28)}
.b-thumb.bigchip .ch-thumb{position:relative;width:100%;aspect-ratio:1;border-radius:8px;overflow:hidden;background:#ede9dd;margin-bottom:7px}
.b-thumb.bigchip .ch-thumb img{width:100%;height:100%;object-fit:cover}
.b-thumb.bigchip .ch-thumb svg{position:absolute;inset:0;width:100%;height:100%;padding:13px;box-sizing:border-box}
.b-thumb.bigchip .ch-thumb .sw{position:absolute;inset:0}
.b-thumb.bigchip .ch-label{position:static;background:none;color:var(--ink);font-size:.72rem;font-weight:800;letter-spacing:.2px;line-height:1.12;text-align:center;padding:0}
.b-thumb.bigchip.locked{cursor:default}
.b-thumb.bigchip.locked .ch-thumb::after{content:"✓";position:absolute;top:4px;right:4px;width:16px;height:16px;border-radius:50%;background:var(--gold);color:#2c3646;font-size:.62rem;font-weight:900;display:grid;place-items:center;z-index:2;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.sampleonly{font-weight:400;font-size:.78rem;color:rgba(245,240,227,.5);letter-spacing:0;text-transform:none}
.hbBA .hlyr.fxfull svg{width:100%;height:100%}
.hbBA .hlyr.fxfull img{width:100%;height:100%;object-fit:cover}
/* simulator flow steps (data-driven, Standard §2) */
.hb-swatches{display:flex;flex-wrap:wrap;gap:9px}
.hb-swatch{display:inline-flex;align-items:center;gap:7px;background:var(--ivory);border:2px solid #e6e1d4;border-radius:var(--r-pill);
  padding:6px 13px 6px 7px;cursor:pointer;font-weight:800;font-size:.8rem;color:var(--ink);transition:.18s}
.hb-swatch:hover{border-color:rgba(126,136,208,.55)}
.hb-swatch.on{border-color:var(--gold);background:#fff;box-shadow:0 5px 14px rgba(217,180,85,.26)}
.hb-swatch .sw-dot{width:22px;height:22px;border-radius:50%;flex:none;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
.hb-swatch .sw-dot-custom{display:grid;place-items:center;background:rgba(126,136,208,.18);color:var(--peri-deep);font-size:.78rem}
.hb-custom-wrap{margin-top:9px}
.hb-custom-in{width:100%;max-width:340px;border:1.5px solid rgba(126,136,208,.4);border-radius:var(--r-sm);padding:9px 12px;font:inherit;font-size:.88rem;background:var(--ivory-lift);color:var(--ink)}
.hb-custom-in:focus{outline:2px solid var(--gold);outline-offset:1px}
/* delight loop (Standard §6) */
@keyframes hbPulse{0%,100%{transform:translateY(0);box-shadow:0 10px 24px rgba(217,180,85,.42)}25%{transform:translateY(-2px) scale(1.04);box-shadow:0 0 0 4px rgba(217,180,85,.55),0 14px 30px rgba(217,180,85,.6)}50%{transform:translateY(0)}75%{transform:translateY(-2px) scale(1.04);box-shadow:0 0 0 4px rgba(217,180,85,.55),0 14px 30px rgba(217,180,85,.6)}}
.hbCtaBtn.hb-pulse{animation:hbPulse 1.2s ease}
.hbCtaBtn.hb-glow{box-shadow:0 0 0 3px var(--gold),0 10px 24px rgba(217,180,85,.42)}
@keyframes hbSwing{0%{transform:rotate(0)}20%{transform:rotate(-22deg) scale(1.18)}45%{transform:rotate(16deg) scale(1.18)}70%{transform:rotate(-8deg) scale(1.1)}100%{transform:rotate(0) scale(1)}}
.hbCredits .gift.hb-swing{display:inline-block;animation:hbSwing .9s ease;transform-origin:bottom center}
.hb-confetti{position:absolute;left:8px;top:50%;width:7px;height:7px;border-radius:1.5px;pointer-events:none;z-index:5;opacity:1;
  animation:hbConfetti .9s ease-out forwards}
@keyframes hbConfetti{0%{transform:translate(0,0) scale(1) rotate(0);opacity:1}100%{transform:translate(var(--dx),var(--dy)) scale(.4) rotate(180deg);opacity:0}}
@media (prefers-reduced-motion:reduce){.hbCtaBtn.hb-pulse{animation:none}.hbCredits .gift.hb-swing{animation:none}.hb-confetti{display:none}}
/* sticky "Make this Momento" bar (home only) */
.makeBar{position:fixed;left:0;right:0;bottom:0;z-index:80;display:none;align-items:center;justify-content:space-between;gap:14px;
  padding:12px clamp(14px,4vw,40px);background:rgba(44,54,70,.96);backdrop-filter:blur(10px);
  border-top:1px solid rgba(217,180,85,.4);box-shadow:0 -8px 28px rgba(44,54,70,.34)}
body.home-active .makeBar{display:flex}
body.home-active{padding-bottom:76px}
@media (max-width:430px){body.home-active{padding-bottom:128px}}
.makeBar .mb-lbl{color:var(--ivory);font-weight:800;font-size:.96rem;line-height:1.2;min-width:0;overflow:hidden;text-overflow:ellipsis}
.makeBar .mb-lbl b{color:var(--gold-light)}
.makeBar .mb-btn{flex:none;background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--night);font-weight:800;font-size:.9rem;
  text-decoration:none;padding:11px 22px;border-radius:var(--r-pill);box-shadow:0 8px 20px rgba(217,180,85,.4);transition:.2s}
.makeBar .mb-btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(217,180,85,.55)}
@media (max-width:430px){.makeBar{flex-wrap:wrap;justify-content:center;text-align:center}.makeBar .mb-lbl{flex-basis:100%;text-align:center}}

/* deploy loop band */
.loop{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;position:relative}
.loop .node{background:rgba(245,240,227,.06);border:1px solid rgba(245,240,227,.16);border-radius:var(--r-lg);padding:28px 24px;text-align:center;position:relative}
.loop .node .ic{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;background:rgba(126,136,208,.22);font-size:1.5rem}
.loop .node h3{color:var(--ivory);font-size:1.25rem}
.loop .node p{color:rgba(245,240,227,.8);margin-top:8px;font-size:.96rem}
.loop .node .arr{position:absolute;right:-16px;top:50%;transform:translateY(-50%);z-index:3;color:var(--gold-light);font-size:1.6rem;font-weight:800}
.loop .node:last-child .arr{display:none}

/* gallery + facets */
.facet-group{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin-bottom:18px}
.glabel{font-weight:800;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--slate)}
.facets{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.facet{background:var(--paper);border:1.5px solid rgba(126,136,208,.24);border-radius:var(--r-pill);padding:8px 15px;
  font-weight:700;font-size:.84rem;cursor:pointer;transition:.18s;color:var(--ink-soft)}
.facet:hover{border-color:var(--peri-deep)}
.facet.on{background:var(--peri-deep);color:var(--ivory);border-color:var(--peri-deep)}
.grid-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
/* ============ MOMENTO CARD STANDARD v1 (Momento_Card_Standard_v1.md) ============
   Landscape card, global standard form = BEFORE photo + AFTER (image/video) with a drag
   handle; lens chip top-left; signature LOGO (not text) top-right; campaign sticker;
   media fallback ladder: before+after slider → after image → scene gradient. */
.mcard{border-radius:var(--r-md);overflow:hidden;background:var(--paper);box-shadow:var(--sh-soft);transition:.25s;display:flex;flex-direction:column}
.mcard:hover{transform:translateY(-5px);box-shadow:var(--sh-card)}
.mc-media{position:relative;aspect-ratio:16/10;background:#222a38;overflow:hidden}
.mc-media .scene{position:absolute;inset:0}
.mc-before,.mc-after,.mc-after-only{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.mc-after{clip-path:inset(0 0 0 50%)}
.mc-split{position:absolute;top:0;bottom:0;left:50%;width:2px;background:rgba(245,240,227,.9);box-shadow:0 0 8px rgba(0,0,0,.35);pointer-events:none}
.mc-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:30px;height:30px;border-radius:50%;
  background:var(--ivory);color:var(--peri-deep);display:grid;place-items:center;font-weight:800;font-size:.85rem;
  box-shadow:0 3px 9px rgba(0,0,0,.32);cursor:ew-resize;touch-action:none;z-index:4;user-select:none}
.mc-balbl{position:absolute;bottom:8px;background:rgba(44,54,70,.7);color:var(--ivory);font-weight:800;font-size:.6rem;
  letter-spacing:.05em;text-transform:uppercase;padding:3px 8px;border-radius:var(--r-pill);pointer-events:none}
.mc-balbl.l{left:8px}.mc-balbl.r{right:8px}
.mc-lens{position:absolute;top:8px;right:8px;z-index:3}
.mc-lens img{width:26px;height:26px;object-fit:contain;display:block;filter:drop-shadow(0 2px 5px rgba(0,0,0,.45))}
.mc-lens img.mc-sigimg{width:38px;height:38px} /* signature logo replaces the lens icon, slightly larger */
.mc-sticker{position:absolute;top:10px;left:8px;z-index:3;background:linear-gradient(135deg,var(--peri),var(--peri-deep));
  color:var(--ivory);font-weight:800;font-size:.64rem;letter-spacing:.03em;padding:5px 11px;border-radius:4px;
  border:2px solid #fff;box-shadow:0 3px 8px rgba(0,0,0,.3);transform:rotate(-7deg)}
.mc-typeic{width:20px;height:20px;object-fit:contain;display:inline-block;vertical-align:-5px;margin-left:6px;
  filter:drop-shadow(0 1px 3px rgba(0,0,0,.35))}
.mc-typeonly{position:absolute;bottom:8px;right:8px;z-index:2}
.mc-typeonly .mc-typeic{width:24px;height:24px;margin-left:0}
.mc-info{padding:10px 13px 12px;display:flex;flex-direction:column;gap:7px}
.mc-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.mc-nm{font-weight:800;color:var(--ink);font-size:.94rem;line-height:1.25}
.mc-cr{display:inline-flex;align-items:center;gap:5px;font-weight:800;font-size:.74rem;color:var(--ink);white-space:nowrap}
.mc-cr .cdot{width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold-light));flex:none}
.mc-ctas{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.mc-make{margin-left:auto;background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--night);font-weight:800;font-size:.78rem;
  text-decoration:none;padding:6px 14px;border-radius:var(--r-pill);transition:.2s;box-shadow:0 4px 10px rgba(217,180,85,.3)}
.mc-make:hover{filter:brightness(1.06);transform:translateY(-1px)}
.mc-studio{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:.76rem;color:var(--peri-deep);text-decoration:none}
.mc-studio img{height:18px;width:auto;display:block}
.mc-studio:hover{color:var(--peri-ink);text-decoration:underline}
/* ============ COMMON MOMENTO FINDER (search + taxonomy filters, one compact row) ============ */
.finder{display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:var(--ivory-lift);border:1px solid rgba(126,136,208,.2);
  border-radius:var(--r-md);padding:9px 10px}
.finder .fnd-logo{height:24px;width:auto;flex:none;display:block}
/* sticky Momento finder on the catalog page — butts FLUSH under the floating nav (nav bottom = 78px, no gap) */
#page-momentos-all #momFilter{position:sticky;top:78px;z-index:40}
#page-momentos-all #momFilter .finder{box-shadow:0 6px 18px rgba(61,74,92,.12)}
/* first-scroll "pause" is handled by a deterministic JS one-shot (see catalogFirstScrollSnap),
   not CSS scroll-snap — CSS proximity fought the SPA's route scroll-to-top and rested pre-scrolled. */
.fnd-search{flex:1 1 190px;display:inline-flex;align-items:center;gap:7px;background:var(--paper);border:1.5px solid rgba(126,136,208,.28);
  border-radius:var(--r-pill);padding:6px 13px;min-width:160px}
.fnd-search svg{width:14px;height:14px;flex:none;opacity:.55}
.fnd-search input{border:none;outline:none;background:none;font-family:var(--font-body);font-size:.86rem;color:var(--ink);width:100%;font-weight:700}
.fnd-sel{border:1.5px solid rgba(126,136,208,.28);border-radius:var(--r-pill);background:var(--paper);color:var(--ink-soft);
  font-family:var(--font-body);font-weight:800;font-size:.78rem;padding:6px 9px;cursor:pointer;max-width:170px}
.fnd-sel:focus{outline:none;border-color:var(--peri-deep)}
.fnd-sel.fnd-on{border-color:var(--peri-deep);color:var(--peri-ink);background:rgba(126,136,208,.1)}
.fnd-camp.fnd-on{border-color:var(--gold);background:rgba(217,180,85,.14);color:#8a6a18}
/* experience sub-facet selects (taxonomy v2.1) — dashed border marks the drill-down tier */
.fnd-sub{border-style:dashed;border-color:rgba(126,136,208,.45)}
.fnd-sub.fnd-on{border-style:solid;border-color:var(--peri-deep);background:rgba(126,136,208,.14)}
.fnd-clear{border:none;background:none;color:var(--peri-deep);font-weight:800;font-size:.78rem;cursor:pointer;font-family:var(--font-body);padding:6px 8px}
.fnd-clear:hover{text-decoration:underline}
@media(max-width:640px){.fnd-sel{flex:1 1 44%}.fnd-search{flex-basis:100%}}
.g-item{position:relative;aspect-ratio:4/5;border-radius:var(--r-md);overflow:hidden;box-shadow:var(--sh-soft);cursor:pointer;transition:.25s}
.g-item:hover{transform:translateY(-6px);box-shadow:var(--sh-card)}
.g-item .scene{position:absolute;inset:0}
.g-item .mark{position:absolute;width:48%;left:50%;top:46%;transform:translate(-50%,-50%);filter:drop-shadow(0 8px 16px rgba(0,0,0,.35))}
.g-item .sig{position:absolute;top:10px;left:10px;background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--night);font-weight:800;font-size:.66rem;letter-spacing:.04em;padding:4px 9px;border-radius:var(--r-pill)}
.g-item .fmt{position:absolute;top:10px;right:10px;background:rgba(44,54,70,.6);backdrop-filter:blur(6px);color:var(--ivory);font-weight:800;font-size:.66rem;padding:4px 9px;border-radius:var(--r-pill)}
.g-item .over{position:absolute;left:0;right:0;bottom:0;padding:30px 14px 14px;background:linear-gradient(180deg,transparent,rgba(44,54,70,.85));
  display:flex;flex-direction:column;gap:3px;opacity:0;transform:translateY(8px);transition:.25s}
.g-item:hover .over{opacity:1;transform:none}
.g-item .nm{color:var(--ivory);font-weight:800}
.g-item .opn{color:var(--gold-light);font-weight:800;font-size:.82rem}
.g-item .mio{align-self:flex-start;margin-top:8px;background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--night);font-weight:800;font-size:.78rem;text-decoration:none;padding:6px 12px;border-radius:var(--r-pill);transition:.2s}
.g-item .mio:hover{filter:brightness(1.06);transform:translateY(-1px)}
/* return-path toast (contract ml.return/v1) */
.ml-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(12px);z-index:9999;
  display:flex;align-items:center;gap:12px;max-width:min(92vw,460px);padding:13px 16px;
  background:var(--ivory-lift);color:var(--night);border:1.5px solid var(--gold);border-radius:var(--r-md);
  box-shadow:var(--sh-card);font-weight:600;font-size:.92rem;opacity:0;transition:opacity .3s,transform .3s}
.ml-toast.on{opacity:1;transform:translateX(-50%) translateY(0)}
.ml-toast .mlt-x{background:none;border:0;color:var(--night);font-size:1.1rem;font-weight:800;cursor:pointer;line-height:1;padding:0 2px;opacity:.6}
.ml-toast .mlt-x:hover{opacity:1}
/* faceted catalog (Momentos page) */
.cat-filter{background:var(--paper);border:1px solid rgba(126,136,208,.16);border-radius:var(--r-lg);padding:22px 24px;box-shadow:var(--sh-soft);margin-bottom:26px}
.facet-row{display:grid;grid-template-columns:118px 1fr;align-items:start;gap:14px;padding:12px 0;border-bottom:1px solid rgba(126,136,208,.12)}
.facet-row:last-child{border-bottom:none}
.facet-row .glabel{padding-top:8px}
.facet-row .facets{justify-content:flex-start}
.cat-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px;flex-wrap:wrap}
.cat-count{font-family:var(--font-body);font-weight:800;color:var(--slate);font-size:.9rem}
.cat-count b{color:var(--peri-deep)}
.cat-clear{font-family:var(--font-body);font-weight:800;font-size:.82rem;color:var(--peri-deep);background:none;border:none;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.cat-clear:hover{color:var(--ink)}
.g-empty{grid-column:1/-1;text-align:center;color:var(--slate);padding:48px 0;font-weight:700}
.facet-row.cat-campaign{border-top:2px solid rgba(217,180,85,.4);margin-top:6px;padding-top:16px}
.facet-row.cat-campaign .glabel{color:var(--gold)}
.facet-row.cat-campaign .facet.on{background:var(--gold);border-color:var(--gold);color:#3D2E00}
@media(max-width:640px){.facet-row{grid-template-columns:1fr;gap:8px}.facet-row .glabel{padding-top:0}}
/* marquee band (Time Machine / Masterpiece) */
.marq{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:30px}
.marq-card{position:relative;border-radius:var(--r-lg);overflow:hidden;min-height:300px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:var(--sh-card);color:var(--ivory);padding:30px 28px;cursor:pointer;transition:.25s}
.marq-card:hover{transform:translateY(-5px);box-shadow:var(--sh-lift)}
.marq-card .scene{position:absolute;inset:0;z-index:0}
.marq-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 28%,rgba(44,54,70,.86));z-index:1}
.marq-card>:not(.scene){position:relative;z-index:2}
.marq-card .meyebrow{font-family:var(--font-body);font-weight:800;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-light);margin-bottom:8px}
.marq-card h3{font-family:var(--font-display);font-size:1.5rem;color:var(--ivory);margin-bottom:8px}
.marq-card p{color:rgba(245,240,227,.88);font-size:.95rem;line-height:1.55;max-width:42ch}
.marq-card .opn{margin-top:14px;color:var(--gold-light);font-weight:800;font-size:.85rem}
@media(max-width:760px){.marq{grid-template-columns:1fr}}

/* steps (how it works) */
.howsteps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.howstep{text-align:center;padding:10px}
.howstep .ic{width:78px;height:78px;border-radius:50%;background:var(--paper);box-shadow:var(--sh-soft);display:grid;place-items:center;margin:0 auto 16px}
.howstep .ic img{width:40px;height:40px;object-fit:contain}
.howstep h3{font-size:1.2rem}
.howstep p{margin-top:8px;color:var(--slate)}

/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center}
.split-logo{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.split-logo img{height:40px;width:auto}
.sigtag{display:inline-flex;background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--night);font-weight:800;font-size:.72rem;padding:5px 11px;border-radius:var(--r-pill)}
.split .copy h2{font-size:clamp(1.8rem,3.2vw,2.5rem)}
.split .copy p{margin-top:14px;color:var(--ink-soft)}
.split .media .vslot{aspect-ratio:4/3;border-radius:var(--r-lg);box-shadow:var(--sh-card)}
.erarow{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0}
.erarow span{background:var(--paper);border:1px solid rgba(126,136,208,.2);border-radius:var(--r-pill);padding:7px 14px;font-weight:700;font-size:.86rem;color:var(--ink-soft)}

/* works grid (studio workspaces) */
.works{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.work{background:var(--paper);border:1px solid rgba(126,136,208,.16);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-soft);transition:.3s}
.work:hover{transform:translateY(-6px);box-shadow:var(--sh-card)}
.work .vslot{aspect-ratio:16/9}
.work .verb{position:absolute;top:14px;background:rgba(44,54,70,.62);backdrop-filter:blur(6px);color:var(--ivory);font-weight:800;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border-radius:var(--r-pill);z-index:4}
.work .body{padding:24px 26px 28px}
.work .body h3{font-size:1.4rem}
.work .tags{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.work .tags span{background:var(--ivory);border-radius:var(--r-pill);padding:5px 11px;font-weight:700;font-size:.78rem;color:var(--peri-deep)}
.work .body p{color:var(--slate);margin-top:6px}

/* lockbox */
.lockbox{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:880px;margin:0 auto}
.lockcard{background:var(--paper);border:1px solid rgba(126,136,208,.16);border-radius:var(--r-lg);padding:30px;box-shadow:var(--sh-soft)}
.lockcard .ic{font-size:2rem;margin-bottom:10px}
.lockcard h3{font-size:1.3rem}
.lockcard p{color:var(--slate);margin-top:8px}
.lockcard .tag{display:inline-flex;margin-top:14px;font-weight:800;font-size:.78rem;padding:6px 12px;border-radius:var(--r-pill)}
.lockcard .tag.open{background:rgba(126,136,208,.16);color:var(--peri-deep)}
.lockcard .tag.locked{background:rgba(217,180,85,.18);color:var(--gold-deep)}

/* pro strip */
.pro-strip{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:26px;background:linear-gradient(135deg,var(--night),var(--night-2));
  color:var(--ivory);border-radius:var(--r-xl);padding:30px 34px;box-shadow:var(--sh-card)}
.pro-strip .pro-lock{height:42px;width:auto}
.pro-strip .pro-copy h3{color:var(--ivory);font-size:1.3rem}
.pro-strip .pro-copy p{color:rgba(245,240,227,.78);margin-top:4px}
.pro-strip .pro-price{text-align:right}
.pro-strip .pp b{font-family:var(--font-display);font-size:1.8rem;color:var(--gold-light)}
.pro-strip .pp span{color:rgba(245,240,227,.7)}
.pro-strip .pp-free{font-size:.82rem;color:rgba(245,240,227,.7)}

/* plans */
.lto{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px;background:linear-gradient(135deg,rgba(217,180,85,.16),rgba(232,212,138,.1));
  border:1px solid rgba(217,180,85,.34);border-radius:var(--r-lg);padding:18px 24px;margin-bottom:30px}
.lto-tag{background:var(--gold);color:var(--night);font-weight:800;font-size:.72rem;padding:5px 11px;border-radius:var(--r-pill)}
.lto-copy{font-weight:700;color:var(--ink)}
.plans{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.plan{background:var(--paper);border:1px solid rgba(126,136,208,.16);border-radius:var(--r-lg);padding:28px 22px;box-shadow:var(--sh-soft);display:flex;flex-direction:column;text-align:center;transition:.3s}
.plan:hover{transform:translateY(-6px);box-shadow:var(--sh-card)}
.plan.best{border-color:var(--gold);box-shadow:0 0 0 2px rgba(217,180,85,.35),var(--sh-card)}
.plan-eyebrow{font-weight:800;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--peri-deep);margin-bottom:8px}
.plan-eyebrow.save{color:var(--gold-deep)}
.plan h3{font-size:1.3rem}
.plan-contents{color:var(--slate);margin-top:6px;font-size:.92rem;flex:1}
.plan-bonus{color:var(--peri-deep);font-weight:800;font-size:.84rem;margin-top:8px}
.plan-price{font-family:var(--font-display);font-size:2.1rem;color:var(--ink);margin:12px 0 14px}
.plan .btn{width:100%;justify-content:center}
.plan-foot{text-align:center;color:var(--slate);font-size:.86rem;margin-top:22px}

/* free credits */
.fcred{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.fc{background:var(--paper);border:1px solid rgba(126,136,208,.16);border-radius:var(--r-lg);padding:28px 24px;text-align:center;box-shadow:var(--sh-soft);position:relative}
.fc .amt{font-family:var(--font-display);font-size:2.4rem;color:var(--peri-deep)}
.fc .when{font-weight:800;color:var(--ink);margin:4px 0 8px}
.fc p{color:var(--slate);font-size:.92rem}
.fc .plus{position:absolute;right:-14px;top:50%;transform:translateY(-50%);z-index:3;color:var(--gold);font-size:1.6rem;font-weight:800}
.fc:last-child .plus{display:none}
.fctot{text-align:center;margin-top:24px;font-weight:700;color:var(--ink);font-size:1.05rem}
.fctot b{color:var(--peri-deep)}

/* FAQ */
.faq{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.faq details{background:var(--paper);border:1px solid rgba(126,136,208,.16);border-radius:var(--r-md);padding:18px 22px;box-shadow:var(--sh-soft)}
.faq summary{font-weight:800;color:var(--ink);cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:right;color:var(--peri-deep);font-size:1.3rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq p{margin-top:12px;color:var(--slate)}

/* shelf */
.shelf-toggle{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:22px;font-weight:800;color:var(--ink)}
.switch{width:46px;height:26px;border-radius:var(--r-pill);background:rgba(126,136,208,.3);border:0;cursor:pointer;position:relative;transition:.2s}
.switch::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--paper);box-shadow:var(--sh-soft);transition:.2s}
.switch.on{background:var(--peri-deep)}
.switch.on::after{left:23px}
.shelf{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.acard{background:var(--paper);border:1px solid rgba(126,136,208,.16);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--sh-soft);transition:.25s}
.acard:hover{transform:translateY(-5px);box-shadow:var(--sh-card)}
.acard .thumb{position:relative;aspect-ratio:4/3}
.acard .thumb .scene{position:absolute;inset:0}
.acard .thumb .mark{position:absolute;width:44%;left:50%;top:48%;transform:translate(-50%,-50%);filter:drop-shadow(0 8px 14px rgba(0,0,0,.35))}
.acard .kind{position:absolute;top:10px;left:10px;font-weight:800;font-size:.66rem;padding:4px 9px;border-radius:var(--r-pill);color:var(--ivory)}
.acard .kind.final{background:rgba(126,136,208,.92)}
.acard .kind.inter{background:rgba(122,132,148,.92)}
.acard .lockch{position:absolute;top:10px;right:10px;background:rgba(44,54,70,.6);backdrop-filter:blur(6px);color:var(--ivory);font-weight:800;font-size:.66rem;padding:4px 9px;border-radius:var(--r-pill)}
.acard .meta{padding:16px 18px 18px}
.acard .meta h4{font-size:1.02rem;color:var(--ink)}
.acard .mrow{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.acard .mrow span{background:var(--ivory);border-radius:var(--r-pill);padding:3px 9px;font-weight:700;font-size:.72rem;color:var(--peri-deep)}
.acard .open{font-weight:800;font-size:.84rem;color:var(--peri-deep)}

/* testimonial + privacy */
.tp{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:stretch}
.testi,.privacy{background:var(--paper);border:1px solid rgba(126,136,208,.16);border-radius:var(--r-lg);padding:34px;box-shadow:var(--sh-soft)}
.testi-photo{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:center 30%;border-radius:var(--r-md);margin-bottom:20px;box-shadow:var(--sh-soft)}
.testi .stars{color:var(--gold);font-size:1.2rem;letter-spacing:3px}
.testi blockquote{font-family:var(--font-display);font-size:1.4rem;color:var(--ink);margin:14px 0;line-height:1.3}
.testi cite{color:var(--slate);font-style:normal;font-weight:700}
.privacy img{width:40px;height:40px;margin-bottom:12px}
.privacy h3{font-size:1.3rem}
.privacy p{color:var(--slate);margin-top:10px}
/* combined testimonial + privacy box */
.pcombo{display:grid;grid-template-columns:300px 1fr;gap:34px;align-items:center;background:var(--paper);border:1px solid rgba(126,136,208,.16);border-radius:var(--r-lg);padding:34px;box-shadow:var(--sh-soft)}
.pcombo-photo{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 28%;border-radius:var(--r-md);box-shadow:var(--sh-soft)}
.pcombo-body .stars{color:var(--gold);font-size:1.2rem;letter-spacing:3px}
.pcombo-body blockquote{font-family:var(--font-display);font-size:1.4rem;color:var(--ink);margin:12px 0;line-height:1.3}
.pcombo-body cite{color:var(--slate);font-style:normal;font-weight:700}
.pcombo-priv{display:flex;gap:14px;align-items:flex-start;margin-top:22px;padding-top:22px;border-top:1px solid rgba(126,136,208,.16)}
.pcombo-priv img{width:34px;height:34px;flex:none;margin-top:2px}
.pcombo-priv h3{font-size:1.12rem;color:var(--ink)}
.pcombo-priv p{color:var(--slate);margin-top:6px;font-size:.92rem}
@media(max-width:720px){.pcombo{grid-template-columns:1fr;gap:22px}.pcombo-photo{max-width:240px;margin:0 auto}}

/* cta */
.cta{text-align:center;max-width:680px;margin:0 auto;background:linear-gradient(160deg,var(--peri-deep),var(--night-2));color:var(--ivory);border-radius:var(--r-xl);padding:56px 34px;box-shadow:var(--sh-card)}
.cta h2{color:var(--ivory);font-size:clamp(1.8rem,3.2vw,2.5rem)}
.cta p{color:rgba(245,240,227,.88);margin:14px auto 24px;max-width:48ch}

/* momentos: recreated "Looks Real" feature (bedroom bg + circular video) */
.feat-real{position:relative;overflow:hidden;border-radius:var(--r-xl);margin-top:34px;padding:64px 48px;display:flex;align-items:center;justify-content:center;gap:54px;flex-wrap:wrap;background:url('assets/images/hero/bedroom-night-wide_web.webp') center/cover;color:var(--ivory);box-shadow:var(--sh-card)}
.feat-real::before{content:"";position:absolute;inset:0;background:rgba(44,54,70,.72)}
.feat-real>*{position:relative;z-index:1}
.feat-real-text{max-width:460px}
.feat-real-text h2{font-family:var(--font-display);font-size:clamp(1.8rem,3.2vw,2.4rem);color:var(--ivory)}
.feat-real-text h2 .u{color:var(--ivory)}
.feat-real-text p{margin-top:14px;color:rgba(245,240,227,.86);font-size:1.05rem;line-height:1.6}
.feat-real-visual{width:300px;height:300px;flex:none;border-radius:50%;background:#000;display:grid;place-items:center;border:3px solid var(--peri-deep);box-shadow:0 0 60px rgba(126,136,208,.3);overflow:hidden}
.feat-real-visual video{width:82%;height:82%;object-fit:cover;border-radius:50%}
@media(max-width:720px){.feat-real{padding:44px 24px;gap:34px}.feat-real-visual{width:220px;height:220px}}

/* momentos: plain steps (no circle, larger icons) */
.howsteps-plain .ic{background:none;box-shadow:none;width:auto;height:auto;margin:0 auto 14px}
.howsteps-plain .ic img{width:96px;height:96px}

/* momentos: inline make + free-credits */
.mk-cta{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap}
.mk-credits{display:inline-flex;align-items:center;gap:8px;font-weight:800;color:var(--ink)}
.mk-credits .gift-svg{width:26px;height:26px;flex:none;filter:drop-shadow(0 2px 4px rgba(0,0,0,.25))}

/* momentos: recreated bunny CTA band */
.cta-bunny{position:relative;overflow:hidden;border-radius:var(--r-xl);background:url('assets/images/hero/living-room-front_web.webp') center/cover;padding:72px 0;box-shadow:var(--sh-card)}
.cta-bunny::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(44,54,70,.86) 0%,rgba(44,54,70,.6) 45%,rgba(44,54,70,.15) 70%,rgba(44,54,70,0) 100%)}
.cta-bunny-art{position:absolute;right:2%;top:0;bottom:0;width:46%;display:flex;align-items:flex-end;justify-content:center;z-index:1;pointer-events:none}
.cta-bunny-art img{max-height:100%;max-width:100%;width:auto;object-fit:contain;filter:drop-shadow(0 20px 40px rgba(0,0,0,.4));transform:scaleX(-1)}
.cta-bunny-copy{position:relative;z-index:2;max-width:560px;margin-left:8%;color:var(--ivory);padding-right:24px}
.cta-bunny-copy h2{font-family:var(--font-display);color:var(--ivory);font-size:clamp(1.8rem,3.2vw,2.5rem)}
.cta-bunny-copy p{color:rgba(245,240,227,.92);margin:14px 0 24px;max-width:48ch}
@media(max-width:720px){.cta-bunny-art{opacity:.4;width:78%}.cta-bunny-copy{margin-left:6%;padding-right:16px}}

/* footer */
.foot{background:var(--night);color:rgba(245,240,227,.82);padding:60px 0 30px}
.foot .namelock{height:32px;margin-bottom:14px}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:30px}
.foot-grid p{font-size:.92rem;color:rgba(245,240,227,.66);max-width:34ch}
.foot h5{color:var(--ivory);font-size:.96rem;margin-bottom:12px}
.foot ul{list-style:none}
.foot li{margin-bottom:8px}
.foot li a{color:rgba(245,240,227,.72);font-size:.92rem;cursor:pointer}
.foot li a:hover{color:var(--gold-light)}
.foot .bar{display:flex;justify-content:space-between;border-top:1px solid rgba(245,240,227,.14);margin-top:34px;padding-top:20px;font-size:.84rem;color:rgba(245,240,227,.6)}

/* responsive */
@media(max-width:980px){
  .nav-links{display:none}
  .nav-links.open{display:flex;position:absolute;flex-direction:column;top:100%;left:16px;right:16px;background:var(--ivory-lift);
    padding:14px;border-radius:var(--r-lg);box-shadow:var(--sh-lift);align-items:flex-start;margin-top:8px}
  .burger{display:flex}
  .nav-dd{width:100%}
  .nav-dd .dd-caret{display:none}
  .nav-dd-panel{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;padding:4px 0 4px 14px;min-width:0;background:transparent}
  .hero-grid{grid-template-columns:1fr;gap:30px;padding-top:100px}
  .steps3,.loop,.plans,.grid-gal,.shelf,.fcred,.howsteps{grid-template-columns:1fr 1fr}
  .works,.lockbox,.tp,.split{grid-template-columns:1fr}
  .bench{grid-template-columns:1fr}
  .pro-strip{grid-template-columns:1fr;text-align:center;gap:16px}
  .pro-strip .pro-price{text-align:center}
  .foot-grid{grid-template-columns:1fr 1fr}
  .loop .node .arr{display:none}
}
@media(max-width:620px){
  .steps3,.plans,.grid-gal,.shelf,.fcred,.howsteps,.loop{grid-template-columns:1fr}
  .fmtgrid{grid-template-columns:repeat(3,1fr)}
  .foot-grid{grid-template-columns:1fr}
  .b-controls,.b-preview{padding:26px}
}

/* ===== Rotating video hero banner (Momentos page) ===== */
.video-banner{position:relative;width:100%;background:var(--night);overflow:hidden}
.video-banner-stage{position:relative;width:100%;aspect-ratio:16/9;max-height:74vh;overflow:hidden;background:var(--night)}
.video-banner-slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;pointer-events:none}
.video-banner-slide.active{opacity:1;pointer-events:auto}
.video-banner-slide video,.video-banner-slide img{width:100%;height:100%;object-fit:cover}
.video-banner-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(44,54,70,.1) 0%,rgba(44,54,70,.1) 50%,rgba(44,54,70,.85) 100%);pointer-events:none}
.video-banner-caption{position:absolute;bottom:128px;top:auto;left:6%;right:6%;z-index:2;color:var(--ivory)}
.video-banner-eyebrow{font-family:var(--font-body);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.16em;color:var(--gold-light);margin-bottom:10px;display:inline-block}
.video-banner-caption h1{font-family:var(--font-display);font-size:clamp(1.8rem,4.5vw,3.4rem);font-weight:700;line-height:1.1;color:var(--ivory);margin-bottom:12px;text-shadow:0 2px 16px rgba(0,0,0,.4);white-space:nowrap}
.video-banner-controls{position:absolute;bottom:0;left:0;right:0;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:16px 40px;background:linear-gradient(180deg,transparent,rgba(44,54,70,.6))}
.video-banner-thumbs{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;flex:1;padding:8px 0}
.video-banner-thumbs::-webkit-scrollbar{display:none}
.video-banner-thumb{flex:0 0 auto;width:140px;height:78px;border-radius:var(--r-sm);border:2px solid rgba(245,240,227,.25);overflow:hidden;cursor:pointer;background:var(--night-2);position:relative;transition:border-color .15s ease,transform .15s ease;padding:0}
.video-banner-thumb.active{border-color:var(--gold);transform:translateY(-3px)}
.video-banner-thumb img{width:100%;height:100%;object-fit:cover}
.video-banner-thumb-label{position:absolute;bottom:0;left:0;right:0;padding:4px 8px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.75));color:var(--ivory);font-size:10px;font-weight:700;letter-spacing:.5px;text-align:left}
.video-banner-arrow{background:rgba(44,54,70,.6);border:1px solid rgba(245,240,227,.25);color:var(--ivory);width:44px;height:44px;border-radius:50%;display:grid;place-items:center;cursor:pointer;flex-shrink:0;margin:0 12px;transition:background .15s ease,border-color .15s ease}
.video-banner-arrow:hover{background:var(--gold);border-color:var(--gold);color:var(--night)}
.video-banner-arrow svg{width:20px;height:20px}
@media(max-width:620px){
  .video-banner-caption{bottom:108px}
  .video-banner-thumb{width:104px;height:60px}
  .video-banner-controls{padding:12px 14px}
}
