html,body{margin:0;height:100%;background:#07110c;color:#f4ead2;font-family:Mulish,system-ui,sans-serif}
.pf-stage{position:fixed;inset:0;overflow:auto;background:#07110c center/cover no-repeat;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:calc(76px + env(safe-area-inset-top)) 18px calc(28px + env(safe-area-inset-bottom));box-sizing:border-box;isolation:isolate;animation:pf-in .7s ease-out}
.pf-stage::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(5,10,6,.55),rgba(5,10,6,.05) 30%,rgba(5,10,6,.7))}
@keyframes pf-in{from{opacity:0}to{opacity:1}}
.pf-top{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:calc(14px + env(safe-area-inset-top)) 18px 14px;z-index:5}
.pf-back,.pf-website{font:600 15px Mulish,sans-serif;color:#f4e6c4;background:rgba(7,17,12,.72);border:1px solid rgba(224,196,140,.45);border-radius:999px;padding:10px 18px;text-decoration:none;cursor:pointer}
.pf-back:focus-visible,.pf-website:focus-visible,.pf-open:focus-visible,.pf-continue:focus-visible{outline:3px solid #fff;outline-offset:3px}
.pf-bubble{max-width:640px;width:100%;box-sizing:border-box;background:rgba(10,20,14,.86);border:1px solid rgba(224,196,140,.45);border-radius:18px;padding:24px 26px 18px;box-shadow:0 18px 50px rgba(0,0,0,.5);text-align:center;animation:pf-rise .6s ease-out}
@keyframes pf-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.pf-speaker{margin:0;color:#e0c48c;font:700 12px Mulish,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.pf-chapter{margin:6px 0 10px;color:#cdbf9f;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18px}
.pf-bubble h1{margin:0 0 10px;font-family:Cinzel,serif;font-size:clamp(22px,3vw,30px);line-height:1.25;color:#f7ecd0}
.pf-text{margin:0 0 16px;font-size:16px;line-height:1.6}
.pf-bullets{list-style:none;margin:0 auto 16px;padding:0;max-width:440px;text-align:left}
.pf-bullets li{padding:7px 0 7px 26px;position:relative;font-size:16px}
.pf-bullets li::before{content:'✦';position:absolute;left:0;color:#e0c48c}
.pf-continue,.pf-open{font:700 17px Mulish,sans-serif;color:#1c1608;background:linear-gradient(135deg,#8c7038,#e0c48c 50%,#b8954f);border:0;border-radius:999px;padding:15px 30px;cursor:pointer;box-shadow:0 0 26px rgba(224,196,140,.45)}
.pf-dots{margin:12px 0 0;font-size:12px;letter-spacing:.14em;color:#b9ab8c}
.pf-door{justify-content:center;text-align:center}
.pf-door-copy{position:absolute;top:calc(78px + env(safe-area-inset-top));left:0;right:0;padding:0 18px}
.pf-door-copy h1{margin:0 auto;display:inline-block;font-family:Cinzel,serif;font-size:clamp(26px,4vw,44px);color:#f7ecd0;background:rgba(7,17,12,.72);padding:10px 22px;border-radius:14px}
.pf-door-copy p{margin:10px auto 0;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:21px;color:#f4ead2;background:rgba(7,17,12,.72);display:table;padding:4px 16px;border-radius:10px}
.pf-open{font-size:19px;padding:20px 38px;position:relative;z-index:2}
.pf-light{position:absolute;left:50%;top:50%;width:min(60vw,420px);aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none}
.pf-light i{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(255,240,200,0),rgba(255,236,190,.45),rgba(255,240,200,0) 40%,rgba(255,226,160,.35),rgba(255,240,200,0) 80%);filter:blur(18px);animation:pf-swirl 9s linear infinite}
.pf-light i:nth-child(2){inset:14%;animation-duration:6s;animation-direction:reverse;opacity:.8}
.pf-light i:nth-child(3){inset:30%;background:radial-gradient(circle,rgba(255,248,225,.85),rgba(255,230,170,0) 70%);filter:none;animation:pf-breathe 3.2s ease-in-out infinite}
@keyframes pf-swirl{to{transform:rotate(360deg)}}
@keyframes pf-breathe{0%,100%{opacity:.5;transform:scale(.9)}50%{opacity:1;transform:scale(1.12)}}
.pf-star{position:absolute;left:50%;top:50%;color:#ffe9a8;pointer-events:none;animation:pf-fly 1.2s ease-out forwards;z-index:3}
@keyframes pf-fly{0%{opacity:1;transform:translate(-50%,-50%) scale(.4)}100%{opacity:0;transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty))) scale(1.4)}}
.pf-stage.is-opening::after{content:'';position:absolute;inset:0;background:radial-gradient(circle,rgba(255,246,220,.96),rgba(255,246,220,0) 72%);animation:pf-in 1.3s ease-in forwards;z-index:4}
@media(max-width:600px){.pf-back,.pf-website{font-size:14px;padding:9px 14px}.pf-bubble{padding:20px 18px 14px}}
@media(prefers-reduced-motion:reduce){.pf-light i,.pf-stage,.pf-bubble{animation:none}}
body:has(.public-navigation){--portal-header-height:104px}
body:has(.public-navigation) .pf-stage{top:var(--portal-header-height)}
body:has(.public-navigation) .pf-top{top:var(--portal-header-height)}
.pf-door-actions{display:flex;flex-direction:column;align-items:center;gap:18px;position:relative;z-index:2;max-width:100%}
.pf-member{color:inherit;background:rgba(7,17,12,.9);border:1px solid rgba(224,196,140,.45);border-radius:8px;padding:12px 18px;text-decoration:none;font-size:15px;text-align:center;max-width:100%;box-sizing:border-box}
.pf-member:focus-visible{outline:3px solid currentColor;outline-offset:3px}
@media(max-width:700px){body:has(.public-navigation){--portal-header-height:132px}.pf-open{font-size:17px;padding:16px 22px}.pf-door-copy{top:70px}.pf-door-copy h1{font-size:26px}}
/* Owl screens mirror the experience's Master Owl scenes: headline top-left, white speech bubble, owl, Continue below. */
.pf-owl-scene{justify-content:flex-start;align-items:stretch;padding:0;animation:none}
.pf-owl-title{margin:calc(90px + env(safe-area-inset-top)) 50px 0;max-width:560px;font:700 clamp(28px,4.2vw,40px)/1.2 Mulish,sans-serif;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.6)}
.pf-say{position:relative;margin:auto auto 0;width:min(740px,calc(100% - 36px));box-sizing:border-box;background:#fffdf3;color:#24302a;border-radius:18px;padding:16px 20px;box-shadow:0 10px 30px rgba(0,0,0,.35);text-align:left;animation:pf-rise .5s ease-out}
.pf-say::after{content:'';position:absolute;right:18%;bottom:-11px;border:12px solid transparent;border-bottom:0;border-top-color:#fffdf3}
.pf-say-name{margin:0 0 4px;font:600 12px Mulish,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#6d5a33}
.pf-say-text{margin:0;font:400 17px/1.5 Mulish,sans-serif}
.pf-say-note{margin:14px auto 0;background:#fffdf3;color:#24302a;border-radius:18px;padding:12px 20px;box-shadow:0 10px 30px rgba(0,0,0,.35);font-weight:600;animation:pf-rise .5s ease-out}
.pf-owl{display:block;width:min(150px,30vw);margin:14px 18% 0 auto;filter:drop-shadow(0 6px 14px rgba(0,0,0,.5))}
.pf-owl-foot{margin-top:auto;padding:22px 18px calc(18px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(9,40,26,0),#0b2a1b 40%);text-align:center}
.pf-owl-foot .pf-continue{width:min(350px,100%);font-weight:500;color:#2b2414;background:linear-gradient(180deg,#f3dfa6,#d9b770)}
@media(max-width:600px){.pf-owl-title{margin:calc(80px + env(safe-area-inset-top)) 20px 0}.pf-owl{width:110px}}
