:root{--ipsf-purple:#382f91;--ipsf-gold:#f5a044;--ipsf-saffron:#ff8a27;--ipsf-green:#28a765;--ipsf-ink:#080a17}
body.ipsf-launch-page{overflow:hidden!important;background:var(--ipsf-ink)!important}body.ipsf-launch-page #masthead,body.ipsf-launch-page .site-header,body.ipsf-launch-page header.site-header,body.ipsf-launch-page #colophon,body.ipsf-launch-page .site-footer,body.ipsf-launch-page footer.site-footer{display:none!important}body.ipsf-launch-page #page,body.ipsf-launch-page #content,body.ipsf-launch-page .site-content,body.ipsf-launch-page main.site-main{margin:0!important;padding:0!important;max-width:none!important;width:100%!important}
.ipsf-launch{position:fixed;inset:0;z-index:999999;width:100vw;height:100dvh;min-height:520px;overflow:hidden;background:radial-gradient(ellipse at 50% 43%,#242052 0%,#101126 48%,#070914 100%);color:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;display:flex;flex-direction:column;align-items:center;isolation:isolate}.ipsf-launch *{box-sizing:border-box}.ipsf-grain{position:absolute;inset:0;z-index:-1;opacity:.12;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.25'/%3E%3C/svg%3E")}.ipsf-orb{position:absolute;width:40vw;height:40vw;border-radius:50%;filter:blur(75px);opacity:.16;z-index:-1;pointer-events:none}.orb-one{background:#4536b1;top:10%;left:-18%}.orb-two{background:#b66a23;bottom:-28%;right:-12%}.ipsf-topbar{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:clamp(16px,3vw,34px) clamp(18px,5vw,70px);z-index:5}.ipsf-brand{display:flex;align-items:center;gap:12px;font-size:11px;font-weight:800;letter-spacing:.14em;color:#e9e8f4}.ipsf-mini-mark{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:var(--ipsf-purple);border:2px solid var(--ipsf-gold);font-family:Georgia,serif;font-size:11px;color:#fff;letter-spacing:-.04em}.ipsf-live{font-size:9px;letter-spacing:.18em;color:#c9c6df;font-weight:800}.ipsf-live i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#54d58a;margin-right:8px;box-shadow:0 0 12px #54d58a}.ipsf-intro{width:min(100%,1100px);height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:76px 22px 64px;transition:opacity .7s ease,transform .7s ease}.ipsf-eyebrow{font-size:clamp(9px,1.1vw,12px);letter-spacing:.28em;font-weight:800;color:var(--ipsf-gold);margin-bottom:13px}.ipsf-intro h1{font-size:clamp(35px,6.2vw,76px);line-height:.93;letter-spacing:-.055em;font-weight:900;margin:0;color:#fff}.ipsf-intro h1 em{font-style:normal;color:#f5b76e;text-shadow:0 0 35px #e99a4240}.ipsf-intro>p{font-size:clamp(11px,1.4vw,15px);letter-spacing:.045em;color:#c4c2d7;margin:15px 0 0}.ipsf-logo-stage{position:relative;width:min(34vw,330px);min-width:190px;max-height:27vh;aspect-ratio:842/550;margin:clamp(8px,2vh,22px) auto 5px;display:grid;place-items:center}.ipsf-logo-aura{position:absolute;inset:12%;border-radius:50%;background:radial-gradient(circle,#f7b45a42 0%,#4a3bb044 44%,transparent 72%);filter:blur(16px);opacity:.5;transition:opacity 1s,transform 1s}.ipsf-final-logo,.ipsf-logo-pieces{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.ipsf-final-logo{opacity:0;filter:drop-shadow(0 0 20px #f5a04490);transition:opacity .8s ease,filter .8s ease}.ipsf-logo-pieces{overflow:visible}.ipsf-piece{position:absolute;inset:0;width:100%;height:100%;background-image:var(--logo);background-size:100% 100%;background-repeat:no-repeat;opacity:0;transform:translate(var(--from-x,0),var(--from-y,0)) rotate(var(--from-rotate,0deg)) scale(.55);transition:transform 1.9s cubic-bezier(.16,1,.3,1),opacity .65s ease;filter:drop-shadow(0 0 4px #f5a04460);will-change:transform,opacity}.ipsf-logo-stage.assembling .ipsf-piece{opacity:1;transform:translate(0,0) rotate(0deg) scale(1)}.ipsf-logo-stage.assembled .ipsf-final-logo{opacity:1;filter:drop-shadow(0 0 12px #f5a044) drop-shadow(0 0 35px #f5a04490)}.ipsf-logo-stage.assembled .ipsf-piece{opacity:0;transition:opacity .35s ease .3s}.ipsf-logo-stage.assembled .ipsf-logo-aura{opacity:1;transform:scale(1.35)}.ipsf-product-lockup{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:5px;color:#c8c5dd;font-size:9px;font-weight:800;letter-spacing:.12em}.ipsf-product-lockup b{font-size:20px;letter-spacing:-.04em;color:#fff}.ipsf-product-lockup i{font-style:normal;color:var(--ipsf-gold);font-size:19px}.ipsf-launch-controls{margin-top:clamp(13px,2vh,22px);display:flex;flex-direction:column;align-items:center;gap:9px}.ipsf-launch-button{border:1px solid #ffd18d;background:linear-gradient(110deg,#f3a044,#ffd28d 50%,#e58b31);color:#171321;border-radius:999px;padding:15px 28px;font-size:12px;font-weight:950;letter-spacing:.12em;box-shadow:0 0 0 5px #f5a04417,0 10px 35px #e99a4240;cursor:pointer;transition:transform .2s,box-shadow .2s}.ipsf-launch-button:hover{transform:translateY(-2px);box-shadow:0 0 0 7px #f5a04420,0 12px 45px #e99a4260}.ipsf-launch-button:disabled{opacity:.6;cursor:wait}.button-icon{margin-right:9px}.button-arrow{margin-left:12px;font-size:17px}.ipsf-control-caption,.ipsf-admin-note{font-size:10px;color:#a8a5bf;letter-spacing:.04em}.ipsf-admin-note{color:#9ce2b7}.ipsf-reset-button{background:transparent;color:#d9d5e9;border:1px solid #ffffff38;border-radius:20px;padding:6px 12px;font-size:10px;cursor:pointer}.ipsf-sound-row{display:flex;align-items:center;gap:10px;margin-top:12px;color:#85829d;font-size:9px}.ipsf-sound-row button{background:transparent;border:0;color:#c8c3df;text-decoration:underline;text-underline-offset:3px;font-size:10px;cursor:pointer}.ipsf-announcement{position:absolute;z-index:4;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:25px;opacity:0;transform:scale(.92);pointer-events:none}.ipsf-announcement-kicker{font-size:clamp(9px,1.2vw,13px);letter-spacing:.25em;color:#f3b768;font-weight:800}.ipsf-announcement-rule{width:min(180px,30vw);height:1px;background:linear-gradient(90deg,transparent,#f5a044,transparent);margin:20px auto}.ipsf-official{font-size:clamp(15px,2.5vw,28px);font-weight:900;letter-spacing:.2em;color:#fff;text-shadow:0 0 25px #f5a04460}.ipsf-announcement h2{font-size:clamp(70px,14vw,160px);line-height:.95;letter-spacing:-.08em;margin:15px 0;color:#fff;text-shadow:0 0 45px #f5a04475}.ipsf-announcement h2 small{font-size:.38em;color:#f4b15f;vertical-align:middle}.ipsf-announcement p{font-size:clamp(10px,1.6vw,16px);letter-spacing:.16em;color:#e2dfed;font-weight:800}.ipsf-countdown{margin-top:30px;color:#f5b768;font-size:10px;letter-spacing:.25em;font-weight:800}.ipsf-launch.is-announcing .ipsf-intro{opacity:0;transform:scale(1.04);pointer-events:none}.ipsf-launch.is-announcing .ipsf-announcement{opacity:1;transform:scale(1);transition:opacity .8s ease,transform 1s cubic-bezier(.16,1,.3,1)}.ipsf-launch.is-announcing .ipsf-announcement h2{animation:ipsf-title-glow 2s ease-in-out infinite alternate}.ipsf-fireworks{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}.ipsf-footer{position:absolute;bottom:0;left:0;right:0;padding:17px 28px;display:flex;justify-content:space-between;color:#817e9a;font-size:9px;letter-spacing:.18em;font-weight:800;z-index:5}.ipsf-footer b{color:var(--ipsf-gold);margin:0 5px}.ipsf-error{position:absolute;z-index:9;bottom:48px;left:50%;transform:translateX(-50%);background:#521e2a;border:1px solid #e67d88;color:#fff;padding:12px 18px;border-radius:10px;font-size:12px;max-width:90%;text-align:center}.ipsf-launch.is-running .ipsf-launch-button,.ipsf-launch.is-running .ipsf-reset-button{display:none}@keyframes ipsf-title-glow{from{text-shadow:0 0 15px #f5a04450}to{text-shadow:0 0 45px #f5a044,0 0 90px #e48c3c80}}
@media(max-width:640px){.ipsf-topbar{padding:14px 16px}.ipsf-brand{font-size:8px;letter-spacing:.08em;gap:7px}.ipsf-mini-mark{width:29px;height:29px}.ipsf-live{font-size:7px;letter-spacing:.1em}.ipsf-intro{padding:72px 18px 58px}.ipsf-logo-stage{width:min(66vw,290px);max-height:25vh}.ipsf-product-lockup{gap:7px;font-size:7px;letter-spacing:.07em}.ipsf-product-lockup b{font-size:17px}.ipsf-launch-button{padding:14px 19px;font-size:10px}.ipsf-sound-row{flex-direction:column;gap:4px}.ipsf-footer{padding:12px 15px;font-size:7px;letter-spacing:.1em}.ipsf-announcement-kicker{letter-spacing:.12em}.ipsf-announcement p{line-height:1.7;letter-spacing:.1em}}
@media(max-height:680px) and (min-width:641px){.ipsf-intro{padding-top:60px;padding-bottom:45px}.ipsf-intro h1{font-size:48px}.ipsf-logo-stage{width:220px;max-height:23vh;margin:8px auto 0}.ipsf-launch-controls{margin-top:8px}.ipsf-launch-button{padding:11px 23px}}
@media(prefers-reduced-motion:reduce){.ipsf-piece,.ipsf-final-logo,.ipsf-intro,.ipsf-announcement{transition-duration:.01ms!important;animation-duration:.01ms!important}.ipsf-fireworks{display:none}}

/* IPSF launch refinement: keep the emblem visible while it assembles. */
.ipsf-launch.is-running .ipsf-intro{opacity:1;transform:none;pointer-events:none}
.ipsf-launch.is-announcing .ipsf-intro{opacity:0;transform:scale(1.04);transition:opacity .75s ease,transform .75s ease}
.ipsf-logo-stage{isolation:isolate}
.ipsf-logo-stage:before,.ipsf-logo-stage:after{content:"";position:absolute;inset:-9%;border-radius:50%;pointer-events:none;opacity:0;z-index:-1;transition:opacity .7s ease}
.ipsf-logo-stage:before{background:conic-gradient(from 15deg,transparent 0 12%,#ff9933 13% 20%,transparent 21% 43%,#fff 44% 51%,transparent 52% 72%,#138808 73% 81%,transparent 82% 100%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px));filter:drop-shadow(0 0 8px #f5a044)}
.ipsf-logo-stage:after{inset:-15%;border:1px solid #f5b76870;box-shadow:0 0 22px #f5a04455,inset 0 0 22px #f5a04425}
.ipsf-logo-stage.assembling:before{opacity:.95;animation:ipsf-ring-spin 5s linear infinite}
.ipsf-logo-stage.assembled:after{opacity:1;animation:ipsf-ring-pulse 2.4s ease-in-out infinite}
@keyframes ipsf-ring-spin{to{transform:rotate(360deg)}}
@keyframes ipsf-ring-pulse{0%,100%{transform:scale(.97);opacity:.55}50%{transform:scale(1.05);opacity:1}}
.ipsf-announcement-products{display:flex;align-items:center;justify-content:center;gap:clamp(12px,3vw,38px);margin:16px 0 8px;flex-wrap:wrap}
.ipsf-announcement-products>div:not(.ipsf-announcement-plus){display:flex;flex-direction:column;gap:6px;align-items:center;padding:16px 22px;border:1px solid #f5b76870;border-radius:14px;background:linear-gradient(145deg,#ffffff12,#f5a0440b);box-shadow:0 0 25px #f5a04418}
.ipsf-announcement-products strong{font-size:clamp(8px,1vw,12px);letter-spacing:.12em;color:#e5dfef}
.ipsf-announcement-products span{font-size:clamp(30px,5vw,58px);font-weight:950;letter-spacing:-.06em;color:#f5b768;text-shadow:0 0 24px #f5a04470}
.ipsf-announcement-plus{font-size:32px;color:#f5b768}
.ipsf-announcement p{max-width:850px;line-height:1.8}
.ipsf-home-link{color:#c9c4df;text-decoration:none;border-bottom:1px solid #f5a04480;padding-bottom:3px}
.ipsf-home-link:hover{color:#ffd28d}
@media(max-width:640px){.ipsf-announcement-products{gap:8px}.ipsf-announcement-products>div:not(.ipsf-announcement-plus){padding:12px 10px}.ipsf-announcement-products strong{max-width:135px;text-align:center;font-size:7px}.ipsf-announcement-plus{font-size:20px}.ipsf-footer{gap:8px;flex-wrap:wrap}.ipsf-home-link{font-size:7px}}

/* Expired rehearsal recovery: expose the authorized reset control. */
.ipsf-launch.is-expired .ipsf-reset-button{display:inline-flex!important;align-items:center;justify-content:center}
.ipsf-launch.is-expired .ipsf-countdown{color:#ffd28d}

/* Fragment-assembly fix: starting transforms are CSS variables, so the assembled state can override them. */
.ipsf-logo-stage.assembling .ipsf-piece{transform:translate3d(0,0,0) rotate(0deg) scale(1);}


/* v1.0.3: force the ceremony to own the complete browser viewport */
body:has(#ipsf-launch), html:has(#ipsf-launch) { overflow:hidden!important; }
body:has(#ipsf-launch) { margin:0!important; padding:0!important; }
body:has(#ipsf-launch) #wpadminbar,
body:has(#ipsf-launch) #masthead,
body:has(#ipsf-launch) .site-header,
body:has(#ipsf-launch) header.site-header,
body:has(#ipsf-launch) #colophon,
body:has(#ipsf-launch) .site-footer,
body:has(#ipsf-launch) footer.site-footer,
body:has(#ipsf-launch) .social-navigation,
body:has(#ipsf-launch) .social-links,
body:has(#ipsf-launch) .elementor-location-header,
body:has(#ipsf-launch) .elementor-location-footer { display:none!important; }
body:has(#ipsf-launch) #page,
body:has(#ipsf-launch) #content,
body:has(#ipsf-launch) .site,
body:has(#ipsf-launch) .site-content,
body:has(#ipsf-launch) .content-area,
body:has(#ipsf-launch) .entry-content,
body:has(#ipsf-launch) .wp-site-blocks,
body:has(#ipsf-launch) main.site-main { width:100%!important; max-width:none!important; min-width:0!important; margin:0!important; padding:0!important; transform:none!important; }
body:has(#ipsf-launch) #ipsf-launch,
body.ipsf-launch-page #ipsf-launch { position:fixed!important; inset:0!important; left:0!important; top:0!important; width:100vw!important; max-width:none!important; height:100vh!important; height:100dvh!important; min-height:100vh!important; margin:0!important; padding:0!important; border:0!important; border-radius:0!important; z-index:2147483000!important; }
.ipsf-launch.is-expired .ipsf-intro { opacity:1!important; transform:none!important; pointer-events:auto!important; }
.ipsf-launch.is-expired .ipsf-launch-button { opacity:.55; }
