/* Lunet-inspired luminous surfaces, with restrained, accessible motion. */
.drive-scene{position:relative;isolation:isolate;overflow:hidden;scroll-margin-top:100px;height:420px;border:1px solid var(--line);border-radius:24px;background:radial-gradient(ellipse at 50% 100%,#153e56 0,transparent 65%),#091320}
.drive-caption{position:absolute;top:24px;left:0;width:100%;text-align:center;color:var(--cyan);font-size:10px;letter-spacing:3px;padding:0 16px;box-sizing:border-box}
.drive-words{position:absolute;inset:72px 24px auto;display:flex;justify-content:center;gap:clamp(12px,3vw,48px);font-size:clamp(22px,4.6vw,58px);font-weight:850;letter-spacing:-.045em;line-height:1.2;color:#effaff}
.drive-words span{display:block}
.drive-words span:last-child{color:var(--cyan)}
.drive-road{position:absolute;left:0;right:0;bottom:68px;height:2px;background:linear-gradient(90deg,transparent,#67eaff80,transparent);box-shadow:0 0 25px #58d9ff30}
.drive-road:after{content:'';position:absolute;top:16px;left:-100%;width:200%;height:1px;background:repeating-linear-gradient(90deg,#8ab6d44d 0 40px,transparent 40px 100px)}
.drive-car{position:absolute;bottom:56px;left:0;width:48%;transform:translateX(54%);filter:drop-shadow(0 12px 9px #0008)}
.drive-car img{display:block;width:100%;height:auto}
.drive-toggle{position:absolute;right:18px;bottom:14px;border:1px solid #729ab54d;border-radius:30px;background:#0b1727;color:#c6d8e5;padding:8px 14px;font:inherit;font-size:11px;cursor:pointer;min-height:36px}
.drive-toggle:hover{border-color:var(--cyan);color:white}
.drive-toggle:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
@media(prefers-reduced-motion:no-preference){
 .drive-car{animation:mustang-pass 12s linear infinite}
 .drive-words span{animation:drive-word 12s ease-out infinite both}
 .drive-words span:nth-child(2){animation-name:drive-connect}
 .drive-words span:nth-child(3){animation-name:drive-move}
 .drive-road:after{animation:road-pass 1.6s linear infinite}
 .drive-scene:not(.is-visible) *,.drive-scene:not(.is-visible) *:after,.drive-scene.is-paused *,.drive-scene.is-paused *:after{animation-play-state:paused}
}
@keyframes mustang-pass{0%{transform:translateX(-110%)}20%{transform:translateX(-15%)}55%{transform:translateX(62%)}78%{transform:translateX(115%)}94%,100%{transform:translateX(215%)}}
@keyframes drive-word{0%,10%{opacity:0;transform:translateY(14px)}20%,86%{opacity:1;transform:translateY(0)}96%,100%{opacity:0;transform:translateY(-8px)}}
@keyframes drive-connect{0%,30%{opacity:0;transform:translateY(14px)}40%,86%{opacity:1;transform:translateY(0)}96%,100%{opacity:0;transform:translateY(-8px)}}
@keyframes drive-move{0%,50%{opacity:0;transform:translateY(14px)}60%,86%{opacity:1;transform:translateY(0)}96%,100%{opacity:0;transform:translateY(-8px)}}
@keyframes road-pass{to{transform:translateX(-100px)}}
@media(max-width:600px){.drive-scene{height:290px;border-radius:18px}.drive-caption{font-size:8px;letter-spacing:1.8px}.drive-words{inset:76px 12px auto;font-size:clamp(19px,5.5vw,32px);gap:12px}.drive-car{width:80%;bottom:56px;transform:translateX(12%)}.drive-road{bottom:65px}}
@media(prefers-reduced-motion:reduce){.drive-toggle{display:none}}
.policy-body{max-width:800px;padding-block:32px 80px;color:var(--muted);font-size:16px;line-height:1.85}
.policy-body h2{font-size:25px;letter-spacing:-.025em;line-height:1.25;color:var(--text);margin:36px 0 14px}
.policy-body a{color:var(--cyan);overflow-wrap:anywhere}
.policy-page .page-hero{padding-block:65px 35px}
.policy-page h1{font-size:clamp(36px,6vw,68px);line-height:1.1}
@media(max-width:600px){.policy-body{font-size:15px;padding-block:12px 48px}.policy-body h2{font-size:23px}.policy-page .page-hero{padding-block:36px 18px}}
.use-grid .incident-card{padding:0;min-height:0;display:flex;flex-direction:column}
.incident-image{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-bottom:1px solid var(--line)}
.incident-copy{padding:24px}
.incident-copy .eyebrow{display:block;font-size:9px;letter-spacing:1px;margin-bottom:14px}
.incident-copy .eyebrow:before{display:none}
.incident-copy h3{font-size:19px;margin-bottom:10px}
.incident-copy p{line-height:1.7;margin-bottom:0}
.image-disclosure{font-size:11px;color:var(--muted);margin:14px 0 0;line-height:1.5}
@media(max-width:600px){.incident-copy{padding:22px}.incident-copy p{font-size:14px}}
.hero{position:relative;isolation:isolate}
.hero:before{content:'';position:absolute;inset:0 -12px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 80% 42%,#137db023,transparent 58%)}
.hero h1 span{background:linear-gradient(110deg,#63eff4,#b9e9ff 55%,#78aaff);background-clip:text;-webkit-background-clip:text;color:transparent}
.feature-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:64px;border-block:1px solid var(--line)}
.feature-strip>div{position:relative;padding:28px 24px 24px;border-right:1px solid var(--line)}
.feature-strip>div:last-child{border:0}
.feature-number{font-size:10px;letter-spacing:2px;color:var(--cyan);display:block;margin-bottom:10px}
.feature-strip strong{font-size:26px;letter-spacing:-1px}
.feature-strip p{font-size:13px;line-height:1.6;color:var(--muted);margin:7px 0 0;max-width:250px}
.feature-strip>div:before{content:'';position:absolute;top:-1px;left:24px;width:35px;height:2px;background:var(--cyan);box-shadow:0 0 14px #62edf766}
.card,.mode{position:relative;overflow:hidden}
.card:after,.mode:after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(ellipse at 100% 0,#62edf715,transparent 60%);opacity:.35;transition:opacity .35s}
.card:hover:after,.mode:hover:after{opacity:1}
.card .icon{box-shadow:0 6px 26px #62edf709}
.section.dark{background:linear-gradient(145deg,#0b1320,#090e18 65%)}
.cta{position:relative;overflow:hidden}
.cta:before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 35%,#8ccaff08 49%,transparent 63%);background-size:240% 100%}
.lunet-section{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:center;padding:64px 48px;margin-block:35px 80px;border:1px solid #68bbef35;border-radius:24px;background:radial-gradient(ellipse at 0 50%,#16406770,transparent 65%),#0c1422;position:relative;overflow:hidden}
.lunet-identity{min-width:0}
.lunet-identity .eyebrow{display:block;font-size:10px;margin-bottom:25px}
.lunet-identity img{display:block;width:100%;max-width:330px;height:auto;filter:drop-shadow(0 0 20px #198ed52a)}
.lunet-section h2{font-size:clamp(30px,3.5vw,44px);margin:0 0 18px}
.lunet-section p{font-size:15px;line-height:1.8;color:#aebed3;max-width:450px;margin-bottom:24px}
.footer>div:first-child>b{color:var(--cyan)}
@media(prefers-reduced-motion:no-preference){
 .scroll-reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease var(--reveal-delay,0ms),transform .65s ease var(--reveal-delay,0ms)}
 .scroll-reveal.in-view{opacity:1;transform:none}
 .card.in-view:hover{transform:translateY(-5px)}
 .hero:before{animation:hero-glow 8s ease-in-out infinite alternate}
 .cta:before{animation:cta-sheen 9s ease-in-out infinite}
 .feature-strip>div:before{animation:feature-signal 4s ease-in-out infinite}
 .feature-strip>div:nth-child(2):before{animation-delay:1s}
 .feature-strip>div:nth-child(3):before{animation-delay:2s}
 @keyframes hero-glow{from{opacity:.45}to{opacity:1}}
 @keyframes cta-sheen{0%,25%{background-position:100% 0}75%,100%{background-position:0 0}}
 @keyframes feature-signal{0%,100%{opacity:.35}50%{opacity:1}}
}
@media(max-width:800px){.lunet-section{gap:34px;padding:40px 28px;grid-template-columns:1fr}.lunet-identity img{max-width:260px}.lunet-section h2 br{display:none}.feature-strip>div{padding:22px 16px}}
@media(max-width:600px){
 .feature-strip{margin-bottom:32px;gap:0}
 .feature-strip>div{padding:18px 9px}
 .feature-strip>div:before{left:9px;width:25px}
 .feature-strip strong{font-size:21px;letter-spacing:-.7px}
 .feature-strip p{font-size:11px;line-height:1.65}
 .feature-number{font-size:9px;margin-bottom:8px}
 .lunet-section{padding:32px 22px;margin-block:16px 48px;border-radius:18px;gap:32px}
 .lunet-identity .eyebrow{font-size:9px;letter-spacing:1px}
 .lunet-section p{font-size:14px}
 .lunet-section .button{width:100%}
}
@media(prefers-reduced-motion:reduce){.scroll-reveal{opacity:1;transform:none}}
