@font-face{font-family:Geist;src:url('fonts/geist-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
*{box-sizing:border-box}
html,body{margin:0;background:#000;color:#fff;overscroll-behavior:none;overflow-x:clip}
html{scroll-behavior:auto}
body{font-family:Geist,Arial,sans-serif}
#flower{height:calc(100svh + var(--scroll-distance,1126.67494svh));overflow-anchor:none}
#flower:is(.reduced,.failed,.flow-copy){height:auto}
.flower-loading,.flower-loading body{overflow:hidden;overscroll-behavior:none}
.flower-loading .stage{touch-action:none}
.stage{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--reading-reserve:clamp(224px,calc(68px + 40vw),240px);--scene-height:min(177.7778vw,100svh,calc((100svh - var(--reading-reserve) - var(--safe-top) - var(--safe-bottom))/.9));position:fixed;inset:0 auto auto 0;width:100%;height:100svh;overflow:hidden;background:#000;touch-action:pan-y pinch-zoom}
.stage video,.poster{position:absolute;width:calc(var(--scene-height)*.5625);height:var(--scene-height);left:50%;top:calc((100% + var(--safe-top) - var(--safe-bottom))/2);transform:translate(-50%,-50%);object-fit:contain;object-position:center;mask-image:linear-gradient(to bottom,transparent,#000 3%,#000 97%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 3%,#000 97%,transparent)}
.stage video{opacity:0}
.ready video{opacity:1}
.ready .poster{visibility:hidden}
.wake-reset-pending .stage>video{opacity:0!important}
.wake-reset-pending .poster{visibility:visible!important}
.wake-reset-pending .scene-copy,.wake-reset-pending .computer-copy,.wake-reset-pending .device-offer{visibility:hidden!important}
.scene-copy{position:absolute;width:min(100vw,56.25svh);height:var(--scene-height);left:50%;top:calc((100% + var(--safe-top) - var(--safe-bottom))/2);transform:translate(-50%,-50%);pointer-events:none}
.copy{position:absolute;margin:0;font-size:clamp(1.5rem,6.2vw,2.2rem);font-weight:500;line-height:1.15;letter-spacing:-.025em;opacity:0;visibility:hidden;text-wrap:balance}
.copy strong{color:#ffe600;font-weight:700}
.copy-welcome{left:5%;top:24%;width:90%;text-align:center;font-size:clamp(2.16rem,9.18vw,3.375rem);font-weight:700}
.diamond-field{display:none;position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.framed .copy{top:0;left:0;bottom:auto;right:auto;will-change:transform,opacity}
.framed .copy{width:90%;text-align:center;transform-origin:center center}
.reduced .diamond-field,.failed .diamond-field,.flow-copy .diamond-field{display:none}
.copy-potential{top:calc((min(177.7778vw,100svh) - 100svh)/2 + 20px);left:5%;width:90%;text-align:center}
.copy-growth,.copy-flower,.copy-phone{left:5%;bottom:calc((min(177.7778vw,100svh) - 100svh)/2 + 24px);width:90%;text-align:center}
.copy-phone{bottom:calc((min(177.7778vw,100svh) - 100svh)/2 + max(12px,env(safe-area-inset-bottom)));font-weight:500;min-height:2.53em}
.copy-phone strong{font-size:1em;color:#ffe600}
.copy-phone.is-visible strong{animation-play-state:running}
@keyframes phone-glow{0%,100%{text-shadow:0 0 4px #ffe60016,0 0 8px #ffe60000}50%{text-shadow:0 0 7px #ffe60040,0 0 12px #ffe60018}}
.copy-form{top:calc((min(177.7778vw,100svh) - 100svh)/2 + 20px);left:5%;width:90%;text-align:center}
.large-copy .stage video,.large-copy .poster{width:min(68vw,38.25svh);height:min(120.8889vw,68svh);top:34%}
.large-copy .copy{left:5%;top:70%;bottom:auto;width:90%;text-align:center}
.static-copy{display:none}
.flow-copy{height:auto!important}
.reduced .scene-copy,.failed .scene-copy,.flow-copy .scene-copy{display:none}
.reduced .stage,.failed .stage,.flow-copy .stage{position:relative;height:auto;min-height:100svh;padding-bottom:30px}
.reduced .poster,.failed .poster,.flow-copy .poster{position:relative;display:block;left:auto;top:auto;transform:none;width:100%;height:50svh;margin:0 auto;mask-image:none;-webkit-mask-image:none;visibility:visible}
.reduced video,.failed video,.flow-copy video{display:none}
.reduced .static-copy,.failed .static-copy,.flow-copy .static-copy{display:block;position:relative;text-align:center;max-width:38rem;margin:auto;padding:0 24px 16px;font-size:1rem;line-height:1.4}
.static-copy h1{font-size:1.5rem}.static-copy strong{color:#ffe600}
.hint{position:absolute;bottom:max(26px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);color:#ffe600;font-size:12px;letter-spacing:.24em;text-align:center;pointer-events:none;opacity:0}
.hint span{display:block;margin-top:8px;font-size:21px;line-height:1;animation:easy-scroll-invitation 2.4s ease-in-out infinite}
@keyframes easy-scroll-invitation{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@media(prefers-reduced-motion:reduce){.hint span{animation:none}}
.status{position:absolute;bottom:28px;width:100%;padding:0 20px;margin:0;text-align:center;font-size:14px;color:#b8b8b8}
.status:empty{display:none}
.status:not(:empty)~.download{bottom:75px}
.download{display:none;position:absolute;bottom:25px;left:50%;transform:translateX(-50%);font-size:14px;color:#ffe600;text-underline-offset:5px;white-space:nowrap}
.failed .download,.reduced .download,.flow-copy .download{display:block;position:static;transform:none;text-align:center;white-space:normal;padding:12px 24px}
.failed .status{position:static;padding:0 24px}
.failed .hint,.reduced .hint,.flow-copy .hint{display:none}
.reduced .status{display:none}
@media(min-aspect-ratio:4/3){
  .stage{--scene-height:min(177.7778vw,100svh,calc((100svh - 264px)/.9))}
  .framed .copy{font-size:clamp(1.125rem,2.6vw,2rem);text-align:center}
}
@media(prefers-reduced-motion:reduce){.hint{display:none}.copy-phone strong{animation:none;background:none;-webkit-text-fill-color:#ffe600;text-shadow:none}}
.stage .computer-video{opacity:0;visibility:hidden;width:calc(var(--scene-height)*2160/3836*var(--computer-framing,1));height:calc(var(--scene-height)*var(--computer-framing,1));mask-image:none;-webkit-mask-image:none}
.computer-poster{position:absolute;left:50%;top:calc((100% + var(--safe-top) - var(--safe-bottom))/2);transform:translate(-50%,-50%);width:calc(var(--scene-height)*2160/3836*var(--computer-framing,1));height:calc(var(--scene-height)*var(--computer-framing,1));opacity:0;visibility:hidden;pointer-events:none}
.computer-copy{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0;visibility:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
.computer-sentence{position:absolute;inset:0;margin:0;width:100%;text-align:center;font-size:clamp(1.5rem,6.2vw,2.2rem);font-weight:500;line-height:1.2;letter-spacing:-.025em;color:#ffe600}
.typed-prefix,.typed-device{display:inline-block;width:max-content;white-space:pre;text-align:left}
.typed-prefix{position:absolute;transform:translate(-50%,-100%);min-height:1.2em}
.typed-device{position:absolute;font-size:1.2em;font-weight:700;color:#ffe600;text-shadow:0 0 6px #ffe60020}
.typing-cursor{display:block;position:absolute;width:2px;height:.88em;background:#ffe600;transform-origin:center}
.device-offer{position:absolute;inset:0;pointer-events:none;--offer-inset:32px}
.device-value,.device-price{position:absolute;left:16px;width:calc(100% - 32px);max-width:36rem;margin:0 auto;right:16px;text-align:center;font-size:clamp(1.5rem,6.2vw,2.2rem);font-weight:500;line-height:1.15;letter-spacing:-.025em;opacity:0;visibility:hidden;text-wrap:balance}
.device-value{top:var(--offer-inset)}
.device-price{top:var(--offer-inset);bottom:auto}
.device-value strong,.device-price strong{color:#ffe600;font-weight:700}
.device-price strong{font-size:1.5em}.device-price span{font-size:.65em;letter-spacing:0}
.reduced .device-offer,.failed .device-offer,.flow-copy .device-offer{display:none}
.reduced .computer-copy,.failed .computer-copy,.flow-copy .computer-copy,.reduced .computer-poster,.failed .computer-poster,.flow-copy .computer-poster{display:none}
/* V13: retain the approved reading rails, enlarge type without translating it. */
.copy:not(.copy-welcome),.device-value,.device-price{font-size:calc(clamp(1.5rem,6.2vw,2.2rem) + 2px)}
.typed-prefix{color:#fff;font-weight:700;font-size:calc(clamp(1.5rem,6.2vw,2.2rem) + 1px)}
.typed-device{--glow-level:1;animation:device-glow 4.8s ease-in-out infinite}
@keyframes device-glow{
  0%,100%{text-shadow:0 0 4px rgb(255 230 0 / calc(.09 * var(--glow-level))),0 0 8px rgb(255 230 0 / 0)}
  50%{text-shadow:0 0 7px rgb(255 230 0 / calc(.25 * var(--glow-level))),0 0 12px rgb(255 230 0 / calc(.095 * var(--glow-level)))}
}
@media(min-aspect-ratio:4/3){.framed .copy:not(.copy-welcome){font-size:calc(clamp(1.125rem,2.6vw,2rem) + 2px)}}
@media(prefers-reduced-motion:reduce){.typed-device{animation:none;text-shadow:none}}
/* V14: same fixed reading rails, independent product playback and price score. */
.stage .device-loop-video,.device-loop-poster{position:absolute;left:50%;top:calc((100% + var(--safe-top) - var(--safe-bottom))/2);width:calc(var(--scene-height)*2160/3836*var(--computer-framing,1));height:calc(var(--scene-height)*var(--computer-framing,1));transform:translate(-50%,-50%);object-fit:contain;mask-image:none;-webkit-mask-image:none;opacity:0;visibility:hidden;pointer-events:none}
.device-price{display:flex;flex-direction:column;align-items:center;gap:3px;text-wrap:nowrap}
.device-price p{margin:0}
.price-caption{font-size:16px;line-height:19px;font-weight:500;color:#ff5059}
.price-countdown{position:absolute;top:var(--offer-inset);left:16px;right:16px;margin:auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:3px;opacity:0;visibility:hidden;transform-origin:center center}
.price-countdown p{margin:0}
.price-question{position:absolute;top:var(--offer-inset);left:16px;right:16px;margin:0;text-align:center;font-size:calc(clamp(1.5rem,6.2vw,2.2rem) + 2px);font-weight:500;line-height:1.15;letter-spacing:-.025em;opacity:0;visibility:hidden;transform-origin:center}
.price-question strong{font-weight:700;color:#ffe600}
.price-countdown .price-caption,.device-price .price-caption{color:#fff}
.price-countdown .price-caption{font-size:11px;line-height:14px;letter-spacing:0;color:#ccc}
.price-amount{position:relative;width:6.5ch;font-size:calc(clamp(1.5rem,6.2vw,2.2rem) + 4px);line-height:1.15;font-weight:700;font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.025em;white-space:nowrap;transform-origin:center center;color:#ed1026}
.reference-price{color:#ffe600}
.device-price .offer-accent{color:#ffe600;font-size:inherit;letter-spacing:inherit}
.price-digits,.price-currency{font-size:1em;letter-spacing:inherit}
.device-price .price-amount{color:#ffe600}
.price-amount sup{position:absolute;top:4px;margin-left:3px;font-size:12px;line-height:1}
.device-price .price-note{order:-1;min-height:14px;font-size:11px;line-height:14px;letter-spacing:0;white-space:normal;color:#ccc}
.loop-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);padding:0;width:44px;height:44px;border:0;background:transparent;color:#aaa;font:500 19px Geist,Arial,sans-serif;cursor:pointer;pointer-events:auto;visibility:hidden;opacity:0}
.loop-toggle:focus-visible{outline:2px solid #ffe600;outline-offset:2px;border-radius:4px}
.price-landed{text-shadow:0 0 8px rgb(255 230 0 / calc(.24 * var(--price-light,0))),0 0 20px rgb(255 230 0 / calc(.12 * var(--price-light,0)))}
@media(prefers-reduced-motion:reduce){.price-landed{animation:none}}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.reduced .device-loop-video,.failed .device-loop-video,.flow-copy .device-loop-video,.reduced .device-loop-poster,.failed .device-loop-poster,.flow-copy .device-loop-poster{display:none}
/* Stationary yellow ink: color lives inside the letters, not in moving light. */
@supports ((background-clip:text) or (-webkit-background-clip:text)){
  .copy strong,.device-value strong,.device-price .offer-accent,.static-copy strong,.typed-device.gold-ink,.price-landed{
    background-image:linear-gradient(110deg,#fff7c2 0%,#ffe600 52%,#ecba28 100%);
    background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
  }
}
@media(forced-colors:active){
  .copy strong,.device-value strong,.device-price .offer-accent,.static-copy strong,.typed-device.gold-ink,.price-landed{
    background:none;color:CanvasText;-webkit-text-fill-color:CanvasText;text-shadow:none;
  }
}
