/* TORAVANT / motion & depth. Native CSS, no external runtime. */
:root { --motion-ease:cubic-bezier(.16,1,.3,1); }
html { scroll-behavior:smooth; }
.reading-progress { position:fixed; inset:0 0 auto; height:2px; z-index:50; pointer-events:none; }
.reading-progress span { display:block; height:100%; background:linear-gradient(90deg,#f28b42,#ffe6b9); transform:scaleX(0); transform-origin:left; box-shadow:0 0 14px #f28b4266; }
.site-header { position:sticky; top:0; gap:24px; background:#151717ed; backdrop-filter:blur(18px); transition:background .35s,box-shadow .35s; }
.site-header.is-scrolled { background:#141916e8; box-shadow:0 12px 35px #0002; }
.site-header nav { margin-left:auto; gap:27px; }
.site-header .nav-cta { display:none; }
.site-header nav > a { position:relative; }
.site-header nav > a:after { content:''; position:absolute; bottom:4px; left:0; height:1px; width:100%; background:var(--orange); transform:scaleX(0); transform-origin:left; transition:transform .4s var(--motion-ease); }
.site-header nav > a:hover:after,.site-header nav > a:focus-visible:after { transform:scaleX(1); }
.header-controls { display:flex; align-items:center; gap:16px; }
#motion-toggle { display:flex; align-items:center; gap:9px; min-height:38px; padding:10px 13px; border:1px solid #596153; border-radius:30px; font-size:10px; white-space:nowrap; background:#ffffff04; transition:border-color .3s,background .3s; }
#motion-toggle:hover { background:#ffffff0a; border-color:#c0c7b4; }
.motion-led { width:5px; height:5px; flex:none; border-radius:50%; background:#92988d; }
.motion-enabled .motion-led { background:#f7a567; box-shadow:0 0 9px #ee975aa0; }
.hero { --spot-x:73%; --spot-y:45%; background:radial-gradient(ellipse at 82% 57%,#25221b 0,transparent 57%),#151717; }
.hero-atmosphere { position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:0; }
.hero-aura { position:absolute; inset:-10%; background:radial-gradient(ellipse at var(--spot-x) var(--spot-y),#ec8e442b 0,transparent 40%); opacity:.8; }
.light-orbit { position:absolute; width:73%; height:28%; right:-8%; top:44%; border:1px solid #f5a25b4d; border-radius:50%; transform:rotate(-27deg); box-shadow:0 0 35px #d7843010,inset 0 0 25px #e9a2520a; }
.orbit-one:after { content:''; position:absolute; inset:-5px; border:1px solid #f5c79915; border-radius:inherit; }
.orbit-two { width:68%; height:51%; top:25%; right:-2%; border-color:#cdd7bf15; transform:rotate(-32deg); }
.hero-grid { opacity:.75; transform:perspective(650px) rotateX(12deg); }
.speed-lines { position:absolute; top:22%; bottom:9%; width:72%; right:0; transform:rotate(-24deg); opacity:.7; }
.speed-lines i { position:absolute; height:1px; width:36%; background:linear-gradient(90deg,transparent,#f9bd7e88,transparent); top:20%; left:2%; }
.speed-lines i:nth-child(2) { top:55%; width:24%; left:56%; }
.speed-lines i:nth-child(3) { top:86%; width:43%; left:17%; }
.ambient-particles i { position:absolute; width:3px; height:3px; border-radius:50%; background:#f5c697; box-shadow:0 0 11px #edc39b77; opacity:.45; left:56%; top:27%; }
.ambient-particles i:nth-child(2) { left:72%; top:69%; width:2px; height:2px; }
.ambient-particles i:nth-child(3) { left:89%; top:21%; }
.ambient-particles i:nth-child(4) { left:94%; top:72%; width:2px; height:2px; }
.ambient-particles i:nth-child(5) { left:43%; top:58%; width:2px; height:2px; }
.ambient-particles i:nth-child(6) { left:81%; top:38%; width:2px; height:2px; }
.title-line { display:block; overflow:hidden; padding:0 .08em .085em 0; margin-bottom:-.085em; }
.title-line > span,.title-line > em { display:block; }
.hero-copy h1 { perspective:900px; }
.hero-description { position:relative; }
.car-word { color:#f0e0bc0d; -webkit-text-stroke:1px #d6d4be20; }
.car-glow { background:radial-gradient(ellipse,#e5964940 0,transparent 68%); }
.car-move { animation:none; }
.car { animation:none; }
.automotive { transition:none; }
.hero-bottom .scroll-cue { display:flex; align-items:center; gap:12px; font-size:8px; letter-spacing:.13em; color:#aeb6a5; }
.scroll-cue > i { position:relative; display:block; height:25px; width:15px; border:1px solid #87917e; border-radius:10px; }
.scroll-cue > i:after { content:''; width:2px; height:5px; position:absolute; left:5px; top:5px; background:#f4bf80; border-radius:1px; }
.kinetic-band { position:relative; overflow:hidden; background:#181e19; border-top:1px solid #5e5e403b; border-bottom:1px solid #5e5e403b; padding:25px 0; user-select:none; }
.kinetic-track { display:flex; width:max-content; }
.kinetic-group { display:flex; align-items:center; gap:46px; padding-right:46px; flex:none; }
.kinetic-group span { font-size:42px; font-weight:500; letter-spacing:-1.5px; color:#a1aa92; line-height:1; }
.kinetic-group span:nth-of-type(even) { color:transparent; -webkit-text-stroke:1px #a1aa9280; }
.kinetic-group i { color:#d6a36d; font-size:22px; font-style:normal; }
.vision,.client-section,.events { position:relative; isolation:isolate; }
.vision:before { content:''; pointer-events:none; position:absolute; z-index:-1; width:440px; height:440px; border:1px solid #b5b78915; border-radius:50%; left:-280px; top:-70px; }
.client-section { background:radial-gradient(ellipse at 76% 32%,#31432c25,transparent 70%),#18201c; }
.client-grid { perspective:1000px; }
.client-item { isolation:isolate; transform-style:preserve-3d; }
.client-item:before { content:''; position:absolute; inset:0; pointer-events:none; z-index:-1; background:radial-gradient(500px circle at var(--light-x,50%) var(--light-y,40%),#f0d4a924,transparent 65%); opacity:0; border:1px solid #d2b28100; }
.client-item:after { content:''; position:absolute; inset:auto 22px 0; height:1px; background:linear-gradient(90deg,transparent,#eab57b,transparent); transform:scaleX(0); pointer-events:none; }
.client-item:focus-visible { background:#273329; }
.client-item:focus-visible:before { opacity:.75; }
.vaca-feature { border-bottom:1px solid transparent; padding-bottom:16px; }
.broker summary { position:relative; isolation:isolate; }
.broker summary:before { content:''; position:absolute; inset:0 -18px; background:#dcdcc8; z-index:-1; transform:scaleX(0); transform-origin:left; opacity:.42; }
.broker summary:focus-visible:before { transform:scaleX(1); }
.broker-number { transition:color .3s; }
.event-image { transform-style:preserve-3d; box-shadow:0 15px 45px #0003; }
.event-image:after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(115deg,transparent 30%,#fff7e720 50%,transparent 70%); transform:translateX(-110%); }
.event-image .round-arrow { z-index:2; }
.events { background:radial-gradient(ellipse at 10% 40%,#445e3222,transparent 60%),#151717; }
.button { position:relative; overflow:hidden; isolation:isolate; }
.button:before { content:''; position:absolute; inset:-2px; z-index:-1; pointer-events:none; background:linear-gradient(110deg,transparent 22%,#d5b88b77 50%,transparent 78%); transform:translateX(-110%); }
.closing-line { border-radius:50%; border-color:#8c92785c; width:550px; height:550px; right:12%; top:-60px; }
.closing-line:before,.closing-line:after { content:''; position:absolute; inset:32px; border:1px solid #92987940; border-radius:50%; }
.closing-line:after { inset:80px -70px; transform:rotate(40deg); }

/* Motion starts on every visit. Offscreen loops are suspended to save resources. */
body.motion-enabled .hero-aura { animation:aura-drift 11s ease-in-out infinite alternate; }
body.motion-enabled .orbit-one { animation:orbit-drift 12s ease-in-out infinite alternate; }
body.motion-enabled .orbit-two { animation:orbit-drift 16s ease-in-out -5s infinite alternate-reverse; }
body.motion-enabled .speed-lines i { animation:light-travel 7.5s ease-in-out infinite; }
body.motion-enabled .speed-lines i:nth-child(2) { animation-delay:-3s; animation-duration:9s; }
body.motion-enabled .speed-lines i:nth-child(3) { animation-delay:-5s; animation-duration:11s; }
body.motion-enabled .ambient-particles i { animation:particle-drift 9s ease-in-out infinite alternate; }
body.motion-enabled .ambient-particles i:nth-child(even) { animation-delay:-4s; animation-duration:12s; }
body.motion-enabled .title-line > * { animation:headline-rise 1.1s var(--motion-ease) both; }
body.motion-enabled .title-line:nth-child(2) > * { animation-delay:.13s; }
body.motion-enabled .title-line:nth-child(3) > * { animation-delay:.26s; }
body.motion-enabled .hero-description,body.motion-enabled .hero-copy > .button { animation:copy-arrive .9s var(--motion-ease) .35s both; }
body.motion-enabled .hero-copy > .button { animation-delay:.5s; animation-fill-mode:backwards; }
body.motion-enabled .car-move { animation:car-entrance 1.6s var(--motion-ease) both !important; }
body.motion-enabled .car { animation:car-breathe 7s ease-in-out infinite !important; }
body.motion-enabled .automotive { transform:translate3d(var(--mouse-x,0px),calc(var(--mouse-y,0px) + var(--scroll-lift,0px)),0) scale(var(--scroll-scale,1)) !important; transition:transform .7s var(--motion-ease) !important; }
body.motion-enabled .car-word { transform:translateY(calc(var(--scroll-depth,0) * 55px)); transition:transform .7s var(--motion-ease) !important; }
body.motion-enabled .scroll-cue > i:after { animation:scroll-dot 2s ease-in-out infinite; }
body.motion-enabled .kinetic-track { animation:marquee-pass 34s linear infinite; }
body.motion-enabled .closing-line { animation:closing-orbit 45s linear infinite; }
body.motion-enabled.effects-ready .reveal { opacity:0; transform:translateY(26px); transition:opacity .8s var(--motion-ease) var(--reveal-delay,0ms),transform .8s var(--motion-ease) var(--reveal-delay,0ms) !important; }
body.motion-enabled.effects-ready .reveal.is-revealed,body.motion-enabled.effects-ready .reveal:focus-within { opacity:1; transform:translateY(0); }
body.motion-enabled .site-header,body.motion-enabled .site-header nav > a:after { transition:background .35s,box-shadow .35s,transform .4s var(--motion-ease) !important; }
body.motion-enabled .client-item:before,body.motion-enabled .client-item:after { transition:opacity .35s,transform .5s var(--motion-ease),border-color .4s !important; }
body.motion-enabled .broker summary:before { transition:transform .5s var(--motion-ease) !important; }
body.motion-enabled .button { transition:transform .45s var(--motion-ease),background .25s !important; }
body.motion-enabled .button:before { transition:transform .7s var(--motion-ease) !important; }
body.motion-enabled .button > span { transition:transform .4s var(--motion-ease) !important; }
body.motion-enabled .event-image { transition:transform .5s var(--motion-ease),box-shadow .5s !important; }
body.motion-enabled .event-image > img { transition:transform .85s var(--motion-ease) !important; }
body.motion-enabled .event-image:after { transition:transform .85s var(--motion-ease) !important; }
body.motion-enabled .round-arrow { transition:transform .45s var(--motion-ease),background .25s !important; }
body.motion-enabled .vaca-feature h3 > span { display:inline-block; transition:transform .4s var(--motion-ease) !important; }
@media(hover:hover) and (pointer:fine) {
  body.motion-enabled.effects-ready .client-item.is-revealed.pointer-active { transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-5px); transition:transform .35s var(--motion-ease),background .3s !important; z-index:1; }
  body.motion-enabled .client-item:hover:before { opacity:1; border-color:#d2b28133; }
  body.motion-enabled .client-item:hover:after { transform:scaleX(1); }
  body.motion-enabled .client-item:hover .client-link { color:#f4dcba; }
  body.motion-enabled .broker summary:hover:before { transform:scaleX(1); }
  body.motion-enabled .broker summary:hover .broker-number { color:#ad632e; }
  body.motion-enabled .button:hover { transform:translate(var(--magnet-x,0px),calc(var(--magnet-y,0px) - 3px)); }
  body.motion-enabled .button:hover:before { transform:translateX(110%); }
  body.motion-enabled .button:hover > span { transform:translate(3px,-3px); }
  body.motion-enabled .event-image:hover { transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-4px); box-shadow:0 24px 48px #0005; }
  body.motion-enabled .event-image:hover > img { transform:scale(1.035); }
  body.motion-enabled .event-image:hover:after { transform:translateX(110%); }
  body.motion-enabled .event-image:hover .round-arrow { transform:rotate(45deg); background:#edc59c; }
  body.motion-enabled .vaca-feature:hover h3 > span { transform:translate(5px,-5px); }
}
body.motion-paused *,body.motion-paused *:before,body.motion-paused *:after { animation-play-state:paused !important; }
body.motion-paused *,body.motion-paused *:before,body.motion-paused *:after { transition:none !important; }
html.motion-is-paused { scroll-behavior:auto; }
body.motion-paused .event-image > img,body.motion-paused .broker-name { transform:none !important; }
body.motion-paused .reveal { opacity:1; transform:none; transition:none !important; }
body.motion-paused .automotive,body.motion-paused .client-item,body.motion-paused .event-image,body.motion-paused .button { transform:none !important; }
body.motion-paused .hero-description,body.motion-paused .hero-copy > .button,body.motion-paused .title-line > *,body.motion-paused .car-move { opacity:1; transform:none; }
body.animations-suspended *,body.animations-suspended *:before,body.animations-suspended *:after,.is-offscreen *,.is-offscreen *:after { animation-play-state:paused !important; }
@keyframes headline-rise { from { transform:translateY(105%) rotate(2deg); opacity:.3; } to { transform:translateY(0) rotate(0); opacity:1; } }
@keyframes copy-arrive { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }
@keyframes car-entrance { from { opacity:0; transform:translate3d(100px,28px,0) scale(.94); } to { opacity:1; transform:translate3d(0,0,0) scale(1); } }
@keyframes aura-drift { from { transform:translate(-2%,-1%) scale(.97); opacity:.65; } to { transform:translate(2%,2%) scale(1.07); opacity:1; } }
@keyframes orbit-drift { from { transform:rotate(-31deg) scale(.97); opacity:.55; } to { transform:rotate(-20deg) scale(1.04); opacity:1; } }
@keyframes light-travel { 0% { transform:translateX(65%); opacity:0; } 20%,55% { opacity:.75; } 80%,100% { transform:translateX(-120%); opacity:0; } }
@keyframes particle-drift { from { transform:translate3d(0,0,0); opacity:.2; } to { transform:translate3d(-23px,-22px,0); opacity:.6; } }
@keyframes scroll-dot { 0%,100% { transform:translateY(0); opacity:.45; } 55% { transform:translateY(7px); opacity:1; } }
@keyframes marquee-pass { to { transform:translateX(-50%); } }
@keyframes closing-orbit { to { transform:rotate(400deg); } }
@media(max-width:1100px) { .site-header { gap:18px; } .site-header nav { gap:24px; } .hero-bottom .scroll-cue { display:flex; } }
@media(min-width:721px) and (max-width:1100px) {
  .hero { min-height:790px; }
  .hero-copy { width:62%; padding-top:60px; }
  .automotive { top:210px; bottom:auto; right:0; width:61%; height:450px; }
  .car-word { top:5px; left:15%; }
  .car-caption { bottom:2px; }
  .hero-atmosphere .light-orbit { top:51%; height:25%; }
  .hero-atmosphere .orbit-two { top:35%; height:45%; }
}
@media(max-width:720px) {
  .site-header { gap:12px; }
  .site-header nav { margin-left:0; }
  .site-header .nav-cta { display:none; }
  .header-controls { margin-left:auto; gap:8px; }
  #motion-toggle { padding:9px 10px; font-size:8px; gap:6px; min-height:34px; }
  .motion-led { width:4px; height:4px; }
  .brand { font-size:20px; gap:7px; }
  .brand img { width:27px; height:27px; }
  .menu-toggle { width:31px; padding:3px; }
  .hero-aura { inset:40% -30% -10%; }
  .light-orbit { width:125%; height:18%; top:72%; right:-12%; }
  .orbit-two { width:125%; height:29%; top:59%; right:-18%; }
  .speed-lines { top:52%; bottom:10%; width:100%; }
  .speed-lines i:nth-child(3),.ambient-particles { display:none; }
  .hero-bottom .scroll-cue { font-size:7px; letter-spacing:.03em; gap:8px; }
  .scroll-cue > i { width:12px; height:21px; }
  .scroll-cue > i:after { left:4px; }
  .kinetic-band { padding:20px 0; }
  .kinetic-group { gap:27px; padding-right:27px; }
  .kinetic-group span { font-size:29px; letter-spacing:-1px; }
  .kinetic-group i { font-size:15px; }
  body.motion-enabled .kinetic-track { animation-duration:38s; }
  body.motion-enabled.effects-ready .reveal { transform:translateY(14px); transition-duration:.55s !important; transition-delay:0ms !important; }
  body.motion-enabled.effects-ready .reveal.is-revealed { transform:translateY(0); }
  .closing-line { width:380px; height:380px; right:-170px; top:-15px; }
}
@media(max-width:380px) { .site-header { padding-left:18px; padding-right:18px; } .brand { font-size:18px; } .brand img { width:23px; height:23px; } .header-controls { gap:7px; } #motion-toggle { padding:8px; } }
