/* Pennova's palette, presented as a cinematic editorial journey. */
html{scroll-behavior:smooth;scroll-snap-type:y proximity;scroll-padding-top:84px}
body.pn-demo{isolation:isolate;background:#f9f5ed;overflow-x:clip}
#cinema-background{position:fixed;inset:0;z-index:-1;pointer-events:none}
.cinema-world{position:absolute;inset:0;opacity:0;transition:opacity .2s ease-in-out}
.cinema-world.active{opacity:1}
.cinema-world[data-world=ivory]{background:linear-gradient(90deg,#fffaf0a6,#faf2e7ed),url('/assets/demo/backgrounds/planning-v2.webp');background-size:cover;background-position:center}
.cinema-world[data-world=plum]{background:linear-gradient(90deg,#49313c88,#503745ce),url('/assets/demo/backgrounds/invitations-v2.webp');background-size:cover;background-position:center}
.cinema-world[data-world=rose]{background:linear-gradient(90deg,#fff9ef9c,#f7ede3ed),url('/assets/demo/backgrounds/seating-v2.webp');background-size:cover;background-position:center}
.cinema-world[data-world=sage]{background:linear-gradient(90deg,#f7f3e4b5,#f3eee5ed),url('/assets/demo/backgrounds/celebration-v2.webp');background-size:cover;background-position:center}
.demo-header{position:fixed;inset:0 0 auto;z-index:30;background:transparent;border:0;padding:23px clamp(20px,4vw,60px);transition:padding .3s,color .2s;color:#604251}
.demo-header.is-scrolled{padding-block:12px}.demo-brand small{color:inherit}.demo-header .demo-button{border-radius:50px}
body[data-world=plum] .demo-header{color:#fff9ee}.demo-header .demo-primary{background:#704d60;border-color:#b18f9f}
.pn-overview{max-width:none;padding:0;--ov-deep:#4d3543}
.ov-hero{min-height:100svh;margin:0;padding:116px max(24px,calc((100vw - 1180px)/2)) 50px;border:0;border-radius:0;background:transparent;scroll-snap-align:start;overflow:visible}
.ov-hero-copy{max-width:920px}.ov-hero h1{font-size:clamp(42px,6.5vw,86px);letter-spacing:-.055em;line-height:1.02}
.ov-hero-copy>p:not(.ov-kicker){font-size:15px}.ov-hero-copy>.demo-button{border-radius:50px;padding:12px 30px}
.ov-live-studio{max-width:1120px;margin:auto;filter:drop-shadow(0 25px 35px #4e35431c)}
.studio-demo{color:#473440}.studio-stage{border-radius:18px}.studio-heading{margin-top:5px}
.ov-index{position:relative;margin:0;padding:20px;gap:20px}.ov-index a{background:transparent;border:0;border-radius:0;border-bottom:1px solid #ac8d79;font-size:12px}
.ov-section{position:relative;isolation:isolate;min-height:100svh;max-width:1500px;margin:auto;padding:112px clamp(28px,6vw,100px) 70px;border:0;gap:7vw;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);scroll-snap-align:start;overflow:clip}
.ov-section .ov-copy,.ov-section:nth-of-type(odd) .ov-copy{grid-column:2;grid-row:1;order:2;position:relative;z-index:3}
.ov-section .ov-visual{grid-column:1;grid-row:1;order:1;background:transparent;padding:0;overflow:visible;perspective:1000px;border-radius:0;will-change:transform}
.ov-section h2{font-size:clamp(44px,5.6vw,80px);letter-spacing:-.055em;line-height:1.06;margin:18px 0}
.ov-summary{font-size:clamp(15px,1.3vw,18px);font-weight:350;line-height:1.7;max-width:30ch}
.ov-icon{display:none}.ov-kicker{font-size:10px;letter-spacing:.2em}
.ov-card{color:#fff9ee;--ov-deep:#fff9ee;--ov-gold:#ead5b4;--muted:#eee0e5}
.cinema-word{position:absolute;z-index:-1;top:50%;left:50%;transform:translate(-50%,-50%) scale(.9);font:700 clamp(110px,23vw,360px)/.8 Georgia,serif;letter-spacing:-.08em;text-transform:uppercase;color:currentColor;opacity:0;pointer-events:none;white-space:nowrap}
.cinema-invitation{position:relative;display:grid;place-items:center;padding:20px 4% 65px;min-height:580px}
#cinema-finished-card{position:relative;width:min(82%,370px);height:auto;transform:rotate(-6deg);box-shadow:0 32px 60px #281c3a66;z-index:2;transition:transform 1.2s}
.cinema-envelope{position:absolute;width:85%;aspect-ratio:1.45;bottom:10px;right:-4%;transform:rotate(8deg);border-radius:5px;background:linear-gradient(145deg,transparent 49.5%,#bfa88a 50%,transparent 50.5%),linear-gradient(215deg,#eee1ca 49.5%,#bfa88a 50%,#e5d3b8 50.5%);box-shadow:0 20px 45px #281c3a55;display:grid;place-items:center}
.cinema-envelope img{width:22%;filter:drop-shadow(0 6px 7px #5d3b3966);z-index:3}
.ov-device{box-shadow:0 30px 65px #49324333;border-color:#fdf7ed;border-width:7px}.ov-tablet{width:100%;transform:rotate(-4deg)}
.ov-mini-phone{width:45%;right:-3%;bottom:-18%;transform:rotate(7deg)}
.ov-planner-device{width:100%;transform:rotate(-4deg)}.ov-planner{gap:18px;padding:22px}.ov-planner>div{padding:18px 16px}
.ov-party .ov-visual{gap:24px}.ov-game-device{transform:rotate(-6deg)}.ov-game{padding:40px 12px;min-height:260px;display:flex;flex-direction:column;justify-content:center}.ov-vendors{gap:15px}.ov-vendors>div{grid-template-columns:1fr;padding:8px;gap:8px;box-shadow:0 15px 30px #4d303318}.ov-vendors img{width:100%;height:120px;object-fit:cover}.ov-vendors span{font-size:12px;padding:5px}
.cinema-particles{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.cinema-particles i{position:absolute;left:var(--x);top:var(--y);width:var(--s);height:var(--s);border-radius:50%;background:#bc9b67;opacity:.3;animation:cinema-dust var(--d) ease-in-out var(--delay) infinite alternate}
.ov-card .cinema-particles i{background:#eddbb5}
@keyframes cinema-dust{to{transform:translate3d(22px,-95px,0);opacity:.05}}
@media(prefers-reduced-motion:no-preference){
 .ov-section .ov-copy{opacity:0;transform:translateX(50px);transition:opacity 1.2s .6s,transform 1.5s .6s cubic-bezier(.16,1,.3,1)}
 .ov-section .ov-visual{opacity:0;translate:-65px 0;transition:opacity 1.2s .4s,translate 1.5s .4s cubic-bezier(.16,1,.3,1)}
 .ov-section.is-cinema-visible .ov-copy{opacity:1;transform:none}.ov-section.is-cinema-visible .ov-visual{opacity:1;translate:0 0;animation:none}
 .ov-section.is-cinema-visible .cinema-word{opacity:.065;transform:translate(-50%,-50%) scale(1);transition:opacity 1.5s .2s,transform 1.5s .2s}
 .ov-section.is-cinema-visible .ov-visual>*{animation:cinema-float 6s ease-in-out infinite}
 @keyframes cinema-float{50%{translate:0 -12px}}
}
@media(min-width:1000px) and (min-height:800px){html{scroll-snap-type:y mandatory}}
@media(max-width:760px){
 .demo-header{padding:15px 16px}.demo-brand{font-size:24px}.demo-brand img{width:33px;height:33px}.demo-header-actions{gap:5px}.demo-header .demo-button{padding:7px 11px;font-size:12px}
 .ov-hero{padding:95px 12px 35px;gap:24px}.ov-hero h1{font-size:46px}.ov-hero-copy>p:not(.ov-kicker){font-size:13px;padding-inline:15px}
 .ov-index{gap:5px;padding:12px}.ov-index a{font-size:11px}
 .ov-section{grid-template-columns:1fr;align-content:center;min-height:100svh;gap:30px;padding:100px 26px 56px}
 .ov-section .ov-copy,.ov-section:nth-of-type(odd) .ov-copy{grid-column:1;grid-row:1;text-align:center}
 .ov-section .ov-visual{grid-column:1;grid-row:2;max-width:480px;width:100%;margin:auto}
 .ov-section h2{font-size:clamp(36px,10vw,52px);margin:12px 0}.ov-summary{margin:0 auto;max-width:33ch;font-size:14px}
 .cinema-word{font-size:31vw;top:57%}.cinema-invitation{min-height:360px;padding:0 10% 40px}#cinema-finished-card{width:min(74%,255px)}.cinema-envelope{width:73%;right:4%}
 .ov-guest-devices{padding-bottom:55px}.ov-mini-phone{bottom:0;right:0}.ov-party .ov-visual{gap:15px}.ov-game{min-height:210px}.ov-vendors img{height:85px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;scroll-snap-type:none}.cinema-word{opacity:.06}.cinema-particles{display:none}.cinema-world{transition:none}}

/* Hidden until the visitor chooses Try now; prevent other display rules overriding hidden. */
#cinema-live[hidden]{display:none!important}
