/* Studio flow: closed invitation -> doors -> Studio hub -> invitation & storefront -> Studio film. */
.ivf{position:relative;z-index:2;height:calc(var(--invimoo-vh,100svh)*var(--ivf-screens,24.5));background:#fff;color:#204b3b}
.ivf-pin{position:sticky;top:0;height:var(--invimoo-visible-vh,100svh);overflow:hidden;background:#fff}
.ivf-card{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;background:#fff;transform-origin:0 0;will-change:transform;box-shadow:0 24px 70px -30px #173e3059,0 0 0 1px #173e3014}
.ivf-card.is-full{box-shadow:none}
.ivf-skip{position:absolute;left:-9999px;top:1rem;z-index:30;background:#173e30;color:#fff;padding:12px 16px;border-radius:6px;font-size:14px}
.ivf-skip:focus{left:1rem}
.ivf-sr{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}
/* doors */
.ivf-doors{--ivf-seam:0;position:absolute;inset:0;z-index:8;overflow:hidden;pointer-events:none}
.ivf-door{position:absolute;top:0;width:50%;height:100%;overflow:hidden;will-change:transform}
/* inner-edge shadow: depth at the seam once the leaves start to part */
.ivf-door::after{content:"";position:absolute;top:0;bottom:0;width:24px;opacity:var(--ivf-seam);pointer-events:none}
.ivf-door-l::after{right:0;background:linear-gradient(90deg,#0b1a1400,#0b1a1426)}
.ivf-door-r::after{left:0;background:linear-gradient(270deg,#0b1a1400,#0b1a1426)}
.ivf-door picture,.ivf-door>picture img{width:100%;height:100%;display:block}
.ivf-door>picture img{object-fit:cover}
.ivf-door-l{left:0;transform-origin:left center}.ivf-door-l>picture img{object-position:right center}
.ivf-door-r{right:0;transform-origin:right center}.ivf-door-r>picture img{object-position:left center}
.ivf-dcopy{position:absolute;top:50%;width:min(780px,76vw);transform:translate(-50%,-50%);text-align:center;color:#183e2e}
.ivf-door-l .ivf-dcopy{left:100%}.ivf-door-r .ivf-dcopy{left:0}
.ivf-dk{font-size:clamp(10px,1.1vw,14px);line-height:1.5;letter-spacing:.16em;font-weight:600;color:#557560;text-transform:uppercase;filter:url(#ivf-lp)}
.ivf-dh{font-size:clamp(44px,5.4vw,76px);line-height:1.02;letter-spacing:-.055em;font-weight:500;margin:24px 0 18px;color:#1c4737;filter:url(#ivf-lp-lg)}
.ivf-dp{font-size:clamp(16px,1.4vw,20px);line-height:1.45;color:#4d6a59;margin:0 auto;max-width:650px;filter:url(#ivf-lp)}
.ivf-seal{display:block;width:clamp(76px,10vw,136px);height:auto;margin:22px auto 0;filter:drop-shadow(0 7px 8px #1c2f203c)}
/* track */
.ivf-trk{position:absolute;left:0;top:0;display:flex;width:300%;height:100%;z-index:2;will-change:transform;transform-origin:16.6667% 50%}
.ivf-pnl{position:relative;flex:0 0 33.3333%;height:100%;overflow:visible}
.ivf-flow{position:absolute;left:0;top:0;overflow:visible;pointer-events:none;z-index:3}
.ivf-title{position:absolute;left:0;right:0;top:0;margin:0;text-align:center;white-space:nowrap;font-size:clamp(54px,11.4vw,165px);font-weight:700;line-height:.9;letter-spacing:-.065em;color:#204b3b;pointer-events:none;z-index:2}
.ivf-title-bottom{top:auto;bottom:0}
.ivf-wm{line-height:0;display:flex;justify-content:center}
.ivf-wm img{height:.74em;width:auto;display:block;margin:.08em 0}
.ivf-word{display:inline-block}
.ivf-sat{position:absolute;z-index:4;display:flex;align-items:center;gap:9px;padding:7px 15px 7px 7px;background:#fff;border:1px solid #204b3b24;border-radius:999px;box-shadow:0 10px 28px -14px #204b3b55;font-size:14px;font-weight:700;line-height:1;color:#204b3b;white-space:nowrap;opacity:0;transform:translate(-50%,-50%) scale(.85)}
.ivf-sat .ivf-ic{position:relative;width:30px;height:30px;border-radius:50%;background:#d4e8cb;display:grid;place-items:center;color:#204b3b}
.ivf-sat .ivf-ic:after{content:"";position:absolute;right:-1px;bottom:-1px;width:9px;height:9px;border-radius:50%;background:#3f9a62;border:2px solid #fff}
.ivf-sat svg{width:16px;height:16px}
.ivf-p2h{position:absolute;left:6vw;top:9%;width:25vw;z-index:4;color:#204b3b}
.ivf-kick{font:700 12px/1.2 "Courier New",ui-monospace,monospace;letter-spacing:.18em;color:#5b7a68;text-transform:uppercase}
.ivf-p2h .ivf-p2t{margin:.55em 0 .35em;font-size:clamp(30px,3.4vw,54px);font-weight:700;line-height:.98;letter-spacing:-.045em}
.ivf-p2h .ivf-p2t span{color:#7f978a}
.ivf-p2h p{margin:0;font-size:15px;line-height:1.5;color:#55705f;max-width:22em}

.ivf-c{position:absolute;z-index:4;left:36vw;width:34vw;height:37%;background:#fff;border:1px solid #204b3b1f;border-radius:16px;box-shadow:0 30px 70px -40px #204b3b70;color:#204b3b;opacity:0}
.ivf-cu{top:10%}.ivf-cs{top:53%}
.ivf-cmk{position:absolute;inset:-9px;pointer-events:none;z-index:5}
.ivf-cmk i{position:absolute;width:12px;height:12px;border:0 solid #204b3b88}
.ivf-cmk i:nth-child(1){left:0;top:0;border-width:1.5px 0 0 1.5px}.ivf-cmk i:nth-child(2){right:0;top:0;border-width:1.5px 1.5px 0 0}.ivf-cmk i:nth-child(3){left:0;bottom:0;border-width:0 0 1.5px 1.5px}.ivf-cmk i:nth-child(4){right:0;bottom:0;border-width:0 1.5px 1.5px 0}
.ivf-cw{position:absolute;inset:0;border-radius:16px;overflow:hidden;display:grid;grid-template-columns:1.08fr 1fr}
.ivf-mock{position:relative;background:#f3f6ef;display:grid;place-items:center;overflow:hidden}
.ivf-txt{padding:clamp(14px,1.8vw,28px);display:flex;flex-direction:column;justify-content:center;gap:.55em}
.ivf-c h3{margin:0;font-size:clamp(20px,1.9vw,30px);font-weight:700;letter-spacing:-.035em;line-height:1}
.ivf-c p{margin:0;font-size:clamp(12px,.95vw,15px);line-height:1.45;color:#55705f}
.ivf-inv{width:74%;height:84%;background:linear-gradient(#fbf4e6,#fffaf2 55%);border-radius:12px;box-shadow:0 14px 30px -18px #6b5a2f66,0 0 0 1px #c9b78a40;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4px;padding:8px}
.ivf-inv .ivf-k{font-size:clamp(6px,.5vw,8px);letter-spacing:.22em;color:#a28d59}
.ivf-inv .ivf-n{font-family:Georgia,serif;font-size:clamp(16px,1.55vw,26px);color:#1b4a36;line-height:1.1}
.ivf-inv .ivf-d{font-size:clamp(6px,.52vw,9px);color:#8e9f8d;letter-spacing:.08em}
.ivf-inv .ivf-dv{width:38%;height:1px;background:#d6c38f;margin:5px 0;position:relative}
.ivf-inv .ivf-dv:after{content:"";position:absolute;left:50%;top:-3px;width:6px;height:6px;background:#c9a43a;transform:translateX(-50%) rotate(45deg)}
.ivf-inv .ivf-gw{position:relative;width:94%;margin-top:9px}
.ivf-inv .ivf-gt{position:absolute;left:-1.5px;top:-11px;font:normal 700 7px/1 Arial,sans-serif;background:#4f9a6c;color:#fff;padding:2px 4px;border-radius:2px 2px 0 0;z-index:1}
.ivf-inv .ivf-g{font-family:Georgia,serif;font-size:clamp(9px,.78vw,12.5px);color:#204b3b;border:1.5px solid #4f9a6c;border-radius:3px;position:relative;width:100%;height:2.1em;overflow:hidden;box-sizing:border-box}
.ivf-inv .ivf-g span{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);white-space:nowrap;opacity:0}
.ivf-inv .ivf-g span:first-child{opacity:1}
.ivf-inv .ivf-b{margin-top:6px;font-size:clamp(6px,.5vw,8px);letter-spacing:.14em;color:#fff;background:#204b3b;border-radius:999px;padding:5px 11px}
.ivf-shop{width:86%;height:84%;background:#fff;border-radius:10px;box-shadow:0 14px 30px -18px #204b3b66,0 0 0 1px #204b3b1c;overflow:hidden;display:flex;flex-direction:column}
.ivf-shop .ivf-bar{height:20px;background:#eef2ea;display:flex;align-items:center;gap:4px;padding:0 7px}
.ivf-shop .ivf-bar i{width:5px;height:5px;border-radius:50%;background:#c4d1c0}
.ivf-shop .ivf-url{margin-left:6px;flex:1;height:11px;border-radius:6px;background:#fff;font:700 7px/11px Arial,sans-serif;color:#4f6c5b;padding:0 6px}
.ivf-shop .ivf-hero{padding:9px 10px 6px;display:flex;justify-content:space-between;align-items:flex-end}
.ivf-shop .ivf-hero b{font-size:clamp(9px,.82vw,13px);letter-spacing:-.02em;line-height:1.1;color:#204b3b;display:block;max-width:70%}
.ivf-shop .ivf-hero em{font:700 7px/1 Arial,sans-serif;font-style:normal;color:#fff;background:#204b3b;border-radius:999px;padding:4px 7px}
.ivf-shop .ivf-grid{flex:1;display:grid;grid-template-columns:repeat(3,1fr);align-content:center;gap:6px;padding:0 10px 10px}
.ivf-shop .ivf-it{border-radius:6px;background:#f3f6ef;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 0 0 1px #204b3b14}
.ivf-shop .ivf-th{aspect-ratio:4/4.4;display:grid;place-items:center;font-family:Georgia,serif;font-style:italic;font-size:clamp(8px,.7vw,11px)}
.ivf-shop .ivf-it:nth-child(1) .ivf-th{background:#f8efdc;color:#9b8052}.ivf-shop .ivf-it:nth-child(2) .ivf-th{background:#204b3b;color:#e9c349}.ivf-shop .ivf-it:nth-child(3) .ivf-th{background:#dfeadb;color:#204b3b}
.ivf-shop .ivf-lb{font:700 7px/1 Arial,sans-serif;color:#204b3b;padding:5px 5px 6px;display:flex;justify-content:space-between}
.ivf-shop .ivf-lb s{text-decoration:none;color:#3f9a62}
.ivf-pill{position:absolute;z-index:4;left:78vw;top:50%;transform:translate(0,-50%);display:flex;align-items:center;gap:10px;height:52px;padding:0 18px 0 10px;border-radius:14px;background:#204b3b;color:#f8faf6;font:700 12px/1 "Courier New",ui-monospace,monospace;letter-spacing:.16em;box-shadow:0 0 0 6px #d4e8cb66,0 18px 40px -16px #204b3b;white-space:nowrap;opacity:0}
.ivf-pill img{height:16px;width:auto;filter:brightness(0) invert(1)}
.ivf-pill svg{width:14px;height:14px}
.ivf-vf{position:absolute;z-index:5;background:#f4f6f1;overflow:hidden;border-radius:16px;box-shadow:0 30px 80px -40px #204b3b80,0 0 0 1px #204b3b1f;opacity:0}
.ivf-film{position:absolute;left:0;top:0;border:0;display:block;transform-origin:0 0;pointer-events:none;background:#f4f6f1}

/* portrait: panels stack vertically */
.ivf.is-v .ivf-trk{flex-direction:column;width:100%;height:300%;transform-origin:50% 16.6667%}
.ivf.is-v .ivf-pnl{flex:0 0 33.3333%}
.ivf.is-v .ivf-p2h{display:none}
.ivf.is-v .ivf-c{left:6vw;width:88vw;height:calc((100% - 200px)/2)}
.ivf.is-v .ivf-cw{grid-template-columns:1fr;grid-template-rows:1.25fr 1fr}
.ivf.is-v .ivf-cu{top:92px}.ivf.is-v .ivf-cs{top:calc(118px + (100% - 200px)/2)}
.ivf.is-v .ivf-txt{padding:12px 16px;gap:.4em}
.ivf.is-v .ivf-c h3{font-size:20px}
.ivf.is-v .ivf-c p{font-size:12.5px}
.ivf.is-v .ivf-inv{width:62%;height:88%}
.ivf.is-v .ivf-inv .ivf-n{font-size:20px}.ivf.is-v .ivf-inv .ivf-g{font-size:10.5px}.ivf.is-v .ivf-inv .ivf-k,.ivf.is-v .ivf-inv .ivf-d,.ivf.is-v .ivf-inv .ivf-b{font-size:7px}
.ivf.is-v .ivf-shop{width:84%;height:86%}.ivf.is-v .ivf-shop .ivf-hero b{font-size:11px}.ivf.is-v .ivf-shop .ivf-th{font-size:10px}
.ivf.is-v .ivf-pill{left:50%;top:calc(100% - 42px);transform:translate(-50%,-50%);height:40px;font-size:10px;padding:0 14px 0 8px}
.ivf.is-v .ivf-sat{font-size:12px;padding:5px 12px 5px 5px;gap:7px}.ivf.is-v .ivf-sat .ivf-ic{width:24px;height:24px}.ivf.is-v .ivf-sat svg{width:13px;height:13px}

.ivf.is-v .ivf-shop .ivf-th{aspect-ratio:4/3.1}
@media(max-height:720px){.ivf.is-v .ivf-inv{height:92%;gap:2px;padding:5px}.ivf.is-v .ivf-inv .ivf-n{font-size:17px}.ivf.is-v .ivf-inv .ivf-dv{margin:3px 0}.ivf.is-v .ivf-inv .ivf-b{margin-top:3px;padding:4px 10px}.ivf.is-v .ivf-shop .ivf-th{aspect-ratio:4/2.6}.ivf.is-v .ivf-c p{display:none}.ivf.is-v .ivf-cw{grid-template-rows:1.6fr 1fr}.ivf.is-v .ivf-txt{padding:8px 14px}}

@media(max-width:760px){.ivf-dcopy{width:86vw}.ivf-dk{font-size:9px;letter-spacing:.11em}.ivf-dh{font-size:clamp(35px,10vw,50px);margin:20px 0 16px}.ivf-dp{font-size:15px}.ivf-seal{width:90px}.ivf-title{font-size:clamp(46px,11.2vw,82px);letter-spacing:-.055em}}
@media(max-height:500px){.ivf-dh{font-size:clamp(32px,8vh,58px);margin:8px 0}.ivf-seal{width:60px;margin-top:8px}}
@media(max-height:520px){.ivf:not(.is-v) .ivf-cu{top:64px}.ivf:not(.is-v) .ivf-c{height:calc((100% - 100px)/2)}.ivf:not(.is-v) .ivf-cs{top:calc(76px + (100% - 100px)/2)}.ivf-p2h{top:64px}.ivf-p2h .ivf-p2t{font-size:26px}.ivf-p2h p{font-size:13px}.ivf:not(.is-v) .ivf-c p{display:none}}
.intro-flight .ivf{opacity:0}.intro-complete .ivf{opacity:1;transition:opacity .5s}
/* native reduced motion: one static, readable frame */
@media(prefers-reduced-motion:reduce){.ivf{height:auto}.ivf-pin{position:relative;height:var(--invimoo-visible-vh,100svh)}.ivf-doors{display:none}}
