/* S.T.A.R. V9 CINEMATIC EXPERIENCE — progressive enhancements over V8 */
:root{--v9-ivory:#f5f0ec;--v9-copper:#c9afa0;--v9-red:#b94f4c}
.v9-loader{display:none}
html.v9-preparing .v9-loader{display:flex}
.v9-loader{position:fixed;z-index:9999;inset:0;align-items:center;justify-content:center;flex-direction:column;gap:0;color:#fbf8f5;background:#07080c;isolation:isolate;transition:opacity .7s cubic-bezier(.18,.65,.36,1),visibility .7s;overflow:hidden}
.v9-loader:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,rgba(113,119,137,.13),transparent 56%);pointer-events:none}
.v9-loader-logo{position:relative;display:flex;align-items:center;gap:22px;transform:translateY(8px);animation:v9-logo-up 1.1s ease forwards}
.v9-loader-mark{width:55px;height:55px;fill:none;stroke:#f5f0ec;stroke-width:1.4;stroke-dasharray:190;stroke-dashoffset:190;animation:v9-draw 1.15s .08s ease forwards}
.v9-loader-mark .v9-dot{fill:#c04f49;stroke:none;opacity:0;animation:v9-light .6s .8s ease forwards}
.v9-loader-word{font-size:clamp(27px,5vw,49px);font-weight:620;letter-spacing:.22em;opacity:0;transform:translateY(9px);animation:v9-text-in .7s .34s ease forwards}
.v9-loader-caption{position:relative;margin-top:25px;font-size:10px;letter-spacing:.24em;color:#b4aba8;opacity:0;animation:v9-light .6s .7s ease forwards;text-align:center;padding:0 24px}
.v9-loader-line{position:relative;width:min(270px,58vw);height:1px;background:#ffffff1f;margin-top:34px;overflow:hidden}
.v9-loader-line:before{content:"";display:block;width:50%;height:100%;background:linear-gradient(90deg,transparent,#ddc0a8,transparent);animation:v9-bar 1.6s ease-in-out infinite}
.v9-loader-skip{position:absolute;right:clamp(20px,4vw,50px);bottom:clamp(23px,4vw,40px);border:0;background:none;color:#a7a5aa;cursor:pointer;font-size:12px;letter-spacing:.08em;padding:12px}
.v9-loader.is-exiting{opacity:0;visibility:hidden;pointer-events:none}
@keyframes v9-draw{to{stroke-dashoffset:0}}
@keyframes v9-light{to{opacity:1}}
@keyframes v9-logo-up{to{transform:translateY(0)}}
@keyframes v9-text-in{to{opacity:1;transform:translateY(0)}}
@keyframes v9-bar{0%{transform:translateX(-105%)}100%{transform:translateX(230%)}}
/* Hero entrance: fade is restrained and never moves the product stage */
html.v9-preparing .hero-v8 .hero-kicker,html.v9-preparing .hero-v8 h1,html.v9-preparing .hero-v8 .hero-content p,html.v9-preparing .hero-v8 .hero-action-dock{opacity:0;transform:translateY(17px)}
html.v9-ready .hero-v8 .hero-kicker{animation:v9-hero-appear .85s .05s both}
html.v9-ready .hero-v8 h1{animation:v9-hero-appear .9s .16s both}
html.v9-ready .hero-v8 .hero-content p{animation:v9-hero-appear .9s .33s both}
html.v9-ready .hero-v8 .hero-action-dock{animation:v9-hero-appear .9s .46s both}
@keyframes v9-hero-appear{from{opacity:0;transform:translateY(17px)}to{opacity:1;transform:translateY(0)}}
.hero-v8 .hero-scenes::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(107deg,transparent 20%,#ffefe903 47%,#fff0e605 49%,transparent 54%);opacity:.5}
/* Premium product lighting on scroll and details */
.product-stage{isolation:isolate}
.product-stage-glow{transition:transform 1.4s ease,opacity 1.4s ease}
.product-stage.is-visible .product-stage-glow{transform:scale(1.05);opacity:1}
.product-stage img{transition:filter 1.25s cubic-bezier(.22,.65,.4,1)}
.product-stage.is-visible img{filter:brightness(1.04) contrast(1.015)}
.feature-photo img,.rescue-image img{transition:transform 1.3s cubic-bezier(.22,.65,.4,1)}
.feature-photo.is-visible img,.rescue-image.is-visible img{transform:scale(1.02)}
.process-step:after{content:"";position:absolute;inset:auto 0 0 0;width:0;height:1px;background:linear-gradient(90deg,#b94f4c,#cbb6a7);transition:width .8s ease}
.process-step.is-visible:after{width:100%}
/* timeline indicator follows actual scroll (not a simulated project-completion state) */
.roadmap-section .roadmap-timeline{position:relative;--v9-timeline-progress:0}
@media(min-width:701px){.roadmap-section .roadmap-timeline:after{content:"";position:absolute;left:0;top:0;width:calc(var(--v9-timeline-progress)*100%);height:1px;max-width:100%;background:linear-gradient(90deg,#bba18d,#ece0da);pointer-events:none;transition:width .12s linear}}
@media(max-width:700px){.roadmap-section .roadmap-timeline:after{content:"";position:absolute;top:0;left:0;width:1px;height:calc(var(--v9-timeline-progress)*100%);max-height:100%;background:linear-gradient(#bba18d,#ece0da);pointer-events:none;transition:height .12s linear}}
/* Onboarding and privacy controls */
.v9-install-nudge{position:fixed;z-index:520;right:20px;bottom:24px;width:min(365px,calc(100vw - 40px));background:#101217f5;color:#f7f4f1;border:1px solid #ffffff30;box-shadow:0 22px 90px #0008;backdrop-filter:blur(16px);padding:20px 20px 17px;display:none;gap:14px;align-items:flex-start}
.v9-install-nudge.is-visible{display:flex;animation:v9-toast-in .46s ease both}
.v9-install-icon{flex:0 0 36px;width:36px;height:36px;border:1px solid #ffffff50;display:grid;place-items:center;color:#e6d0bf;font-size:19px}
.v9-install-copy{flex:1;font-size:13px;line-height:1.55;color:#bbc1ca}
.v9-install-copy strong{display:block;color:#f8f6f2;font-size:14px;font-weight:620;margin-bottom:3px}
.v9-install-actions{display:flex;align-items:center;gap:14px;margin-top:10px}
.v9-install-actions button{background:transparent;border:0;color:#e5c9b8;text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:5px 0;font-size:12px}
.v9-install-actions button:last-child{color:#9ba1a9}
@keyframes v9-toast-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.v9-footer-tools{display:flex;flex-wrap:wrap;gap:22px;padding:3px 0 25px;color:#b1b2bb;font-size:12px}
.v9-footer-tools button,.v9-footer-tools a{border:0;background:none;color:inherit;cursor:pointer;padding:9px 0;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#ffffff42}
.v9-footer-tools button:hover,.v9-footer-tools a:hover{color:white}
.v9-cookie-banner{position:fixed;z-index:8000;left:clamp(14px,3vw,34px);right:clamp(14px,3vw,34px);bottom:clamp(14px,2vw,28px);max-width:1040px;margin:auto;background:#14151afa;color:#fff;border:1px solid #ffffff35;box-shadow:0 25px 100px #000b;backdrop-filter:blur(20px);display:none;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:27px;padding:25px 29px}
.v9-cookie-banner.is-visible{display:grid;animation:v9-toast-in .48s ease both}
.v9-cookie-copy strong{display:block;font-size:19px;font-weight:620;letter-spacing:-.025em;margin-bottom:9px}
.v9-cookie-copy p{font-size:13px;line-height:1.65;color:#c9cbd0;max-width:575px;margin:0}
.v9-cookie-copy a{color:#f2d4bd;text-decoration:underline;text-underline-offset:3px}
.v9-cookie-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.v9-cookie-actions button,.v9-dialog-buttons button,.v9-install-dialog button.v9-action{cursor:pointer;font-size:12px;font-weight:650;padding:13px 16px;min-height:43px;border:1px solid #ffffff4b;background:transparent;color:#f4f1ee;white-space:nowrap}
.v9-cookie-actions .v9-accept,.v9-dialog-buttons .v9-save,.v9-install-dialog .v9-action{background:#efe9e4;color:#101114;border-color:#efe9e4}
.v9-cookie-actions button:hover,.v9-dialog-buttons button:hover{border-color:#ffffffbd}
.v9-modal{border:1px solid #ffffff4d;background:#15171d;color:#f7f4f1;padding:0;width:min(560px,calc(100vw - 26px));max-height:90dvh;box-shadow:0 30px 110px #000d}
.v9-modal::backdrop{background:rgba(1,2,4,.76);backdrop-filter:blur(9px)}
.v9-modal-inner{padding:clamp(22px,4vw,35px)}
.v9-modal h2{font-size:clamp(23px,4vw,34px);font-weight:580;letter-spacing:-.04em;line-height:1.1;margin:0 0 18px}
.v9-modal p{color:#c1c3c9;font-size:13px;line-height:1.8;margin:0 0 19px}
.v9-modal a{color:#f1d1bd;text-decoration:underline}
.v9-modal-top{display:flex;align-items:start;gap:12px;justify-content:space-between}
.v9-modal-close{border:1px solid #ffffff55;background:transparent;color:#fff;font-size:22px;width:36px;height:36px;cursor:pointer;flex:0 0 36px}
.v9-toggle-row{border-top:1px solid #ffffff22;padding:19px 0;display:flex;gap:20px;align-items:center;justify-content:space-between}
.v9-toggle-row:last-of-type{border-bottom:1px solid #ffffff22;margin-bottom:22px}
.v9-toggle-copy strong{display:block;font-size:14px;font-weight:610;margin-bottom:4px}
.v9-toggle-copy span{color:#afb0b8;font-size:12px;line-height:1.5;display:block}
.v9-toggle-row input{accent-color:#bf9d86;width:20px;height:20px;flex:0 0 20px}
.v9-dialog-buttons{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.v9-install-steps{padding-left:21px;margin:14px 0 23px;color:#d6d4d5;font-size:14px;line-height:1.8}
.v9-install-dialog button.v9-action{width:100%}
@media(max-width:800px){.v9-cookie-banner{grid-template-columns:1fr;gap:17px;padding:20px}.v9-cookie-actions{justify-content:stretch}.v9-cookie-actions button{flex:1;min-width:0;padding:12px 10px}.v9-cookie-copy strong{font-size:17px}.v9-cookie-copy p{font-size:12px}}
@media(max-width:480px){.v9-cookie-actions{display:grid;grid-template-columns:1fr 1fr}.v9-cookie-actions .v9-preferences{grid-column:1 / -1;grid-row:2}.v9-dialog-buttons button{flex:1}.v9-modal-inner{padding:23px}.v9-install-nudge{bottom:14px;right:14px;width:calc(100vw - 28px)}}
@media(prefers-reduced-motion:reduce){.v9-loader,.v9-loader-logo,.v9-loader-mark,.v9-loader-word,.v9-loader-caption,.v9-loader-line:before,.hero-v8 .hero-content>*,.hero-v8 .hero-action-dock{animation:none!important;transition:none!important;opacity:1!important;transform:none!important}.v9-install-nudge,.v9-cookie-banner{animation:none!important}.product-stage img,.feature-photo img,.rescue-image img{transform:none!important;transition:none!important}}
