.tooto-flagship,.tooto-turbo { --tooto-home-accent:#e71f22; --tooto-home-text:#fff; --tooto-home-background:#000; background:var(--tooto-home-background); color:var(--tooto-home-text); }
.tooto-flagship { padding:110px 0 40px; position:relative; isolation:isolate; }
.tooto-flagship::after { content:""; position:absolute; z-index:-1; pointer-events:none; inset:60% 0 -35%; background:radial-gradient(ellipse at center, #ffffff30, transparent 65%); }
.tooto-flagship__inner { width:min(90%,1560px); margin-inline:auto; text-align:center; }
.tooto-flagship .tooto-flagship__logo { display:block; width:103px; height:30px; object-fit:contain; margin:0 auto 22px; }
.tooto-flagship .tooto-home__title,.tooto-turbo .tooto-home__title { color:var(--tooto-home-text); font-family:inherit; font-size:56px; font-weight:700; line-height:1; text-transform:uppercase; margin:0; text-wrap:balance; }
.tooto-flagship__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin:82px 0 74px; }
.tooto-flagship__card { position:relative; min-width:0; aspect-ratio:399/439; display:block; color:#000; text-decoration:none; isolation:isolate; }
.tooto-flagship__surface { position:absolute; inset:0; overflow:hidden; border:1px solid #c4c4c4; border-radius:20px; background:#fff; z-index:-1; }
.tooto-flagship__surface::after { content:""; position:absolute; inset:32% 0 0; background:linear-gradient(transparent, #111 100%); opacity:0; transition:opacity .45s; }
.tooto-flagship .tooto-flagship__vehicle { position:absolute; inset:auto 0 0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .45s; }
.tooto-flagship__surface:has(.tooto-flagship__vehicle)::after { background:linear-gradient(transparent 50%,#0008); }
.tooto-flagship__product { display:block; width:100%; aspect-ratio:1; padding:7%; transition:transform .6s cubic-bezier(.22,.61,.36,1); }
.tooto-flagship .tooto-flagship__product img { display:block; width:100%; height:100%; object-fit:contain; }
.tooto-flagship .tooto-flagship__name { color:inherit; font:600 16px/1.35 var(--theme-font-family,inherit); position:absolute; inset:auto 24px 32px; margin:0; transition:color .3s; overflow-wrap:anywhere; }
.tooto-flagship__card:focus-visible { outline:2px solid var(--tooto-home-accent); outline-offset:7px; border-radius:20px; }
.tooto-flagship__card:focus-visible .tooto-flagship__product { transform:translateY(-28%) scale(.94); }
.tooto-flagship__card:focus-visible .tooto-flagship__surface::after,.tooto-flagship__card:focus-visible .tooto-flagship__vehicle { opacity:1; }
.tooto-flagship__card:focus-visible .tooto-flagship__name { color:#fff; }
.tooto-flagship__all { display:inline-flex; align-items:center; min-height:44px; padding:12px 24px; border-radius:8px; background:var(--tooto-home-accent); color:#fff; font-size:14px; font-weight:500; text-decoration:none; }
.tooto-flagship__all:focus-visible,.tooto-flagship__carousel:focus-visible,.tooto-turbo button:focus-visible { outline:2px solid var(--tooto-home-accent); outline-offset:5px; }
/* Give Elementor flex layout a definite cross-size before it measures this widget. */
.elementor-widget-tooto-turbo-explorer { width:100%; }
/* One proportional stage is shared by all viewport sizes and both poses. */
.tooto-turbo { position:relative; overflow:hidden; --tooto-progress:0; --tooto-handoff:0; }
.tooto-turbo__sticky { position:relative; display:flex; flex-direction:column; align-items:center; padding:72px 0 48px; }
.tooto-turbo__canvas { position:relative; flex:none; width:100%; max-width:1560px; aspect-ratio:1440/662.9; isolation:isolate; overflow:visible; }
.tooto-turbo .tooto-home__title { position:relative; z-index:5; width:min(90%,760px); margin:0 auto 24px; text-align:center; font-size:clamp(30px,3.89vw,68px); text-wrap:balance; }
.tooto-turbo .tooto-turbo__watermark { position:absolute; z-index:0; left:-5%; top:20%; width:110%; height:60%; object-fit:contain; filter:grayscale(1) brightness(2); opacity:calc(.14 * (1 - var(--tooto-progress))); pointer-events:none; }
.tooto-turbo .tooto-turbo__assembled { position:absolute; z-index:2; left:26%; top:1.14%; width:48%; height:98.57%; object-fit:contain; opacity:calc(1 - var(--tooto-handoff)); pointer-events:none; }
.tooto-turbo__rings { position:absolute; z-index:0; width:51.7%; aspect-ratio:1; border-radius:50%; left:24.15%; top:-8.86%; background:radial-gradient(circle,#272727 0 44%,#121212 44% 71%,transparent 71%); opacity:calc(.4 + var(--tooto-progress) * .6); pointer-events:none; }
.tooto-turbo__parts,.tooto-turbo__hotspots { position:absolute; inset:0; pointer-events:none; }
.tooto-turbo__parts { z-index:3; opacity:var(--tooto-handoff); }
.tooto-turbo__hotspots { z-index:4; }
.tooto-turbo .tooto-turbo__part { position:absolute; z-index:var(--tooto-depth); left:var(--tooto-x); top:var(--tooto-y); width:var(--tooto-w); height:var(--tooto-h); object-fit:contain; transform-origin:0 0; transform:translate(calc(var(--tooto-dx) * (1 - var(--tooto-progress))),calc(var(--tooto-dy) * (1 - var(--tooto-progress)))) scale(calc(var(--tooto-scale) + (1 - var(--tooto-scale)) * var(--tooto-progress))); }
.tooto-turbo .tooto-turbo__hotspot { position:absolute; transform:translate(-50%,-50%); width:44px; height:44px; min-height:44px; padding:0; border:0; background:transparent; border-radius:50%; opacity:0; visibility:hidden; pointer-events:none; box-shadow:none; }
.tooto-turbo__hotspot img { display:block; width:42px; height:42px; }
.tooto-turbo.is-open .tooto-turbo__hotspot { opacity:1; visibility:visible; pointer-events:auto; }
.tooto-turbo__hotspot[aria-expanded="true"] { outline:1px solid var(--tooto-home-accent); outline-offset:1px; }
.tooto-turbo__details { position:relative; z-index:5; width:min(calc(100% - 48px),720px); }
.tooto-turbo__description { border-left:1px solid var(--tooto-home-accent); padding-left:18px; margin-top:20px; }
.tooto-turbo__description[hidden] { display:none; }
.tooto-turbo .tooto-turbo__description h3 { color:var(--tooto-home-text); font-size:16px; line-height:1.25; font-weight:500; margin:0 0 12px; }
.tooto-turbo .tooto-turbo__description p { font-size:14px; line-height:1.5; font-weight:300; margin:0; }
.tooto-turbo .tooto-turbo__toggle { position:relative; z-index:5; display:none; align-items:center; justify-content:center; margin:24px auto 0; padding:12px 32px; min-height:48px; border:1px solid transparent; border-radius:999px; background:transparent; color:var(--tooto-home-accent); font:300 18px/1.2 var(--theme-font-family,inherit); box-shadow:none; }
.tooto-turbo.is-ready .tooto-turbo__toggle { display:flex; }
.tooto-turbo__toggle:disabled { cursor:wait; }
.tooto-turbo__toggle span { display:flex; align-items:center; gap:10px; }
.tooto-turbo__toggle img { object-fit:contain; flex:none; }
.tooto-turbo .tooto-turbo__reset { display:none; }
.tooto-turbo:is(.is-open,[data-tooto-state="assembling"]) .tooto-turbo__toggle { border-color:var(--tooto-home-accent); }
.tooto-turbo:is(.is-open,[data-tooto-state="assembling"]) .tooto-turbo__reset { display:flex; }
.tooto-turbo:is(.is-open,[data-tooto-state="assembling"]) .tooto-turbo__explore { display:none; }
@media (hover:hover) and (pointer:fine) {
	.tooto-flagship__card:hover .tooto-flagship__product { transform:translateY(-28%) scale(.94); }
	.tooto-flagship__card:hover .tooto-flagship__surface::after,.tooto-flagship__card:hover .tooto-flagship__vehicle { opacity:1; }
	.tooto-flagship__card:hover .tooto-flagship__name { color:#fff; }
	.tooto-flagship__all:hover { background:color-mix(in srgb,var(--tooto-home-accent),#000 18%); color:#fff; }
	.tooto-turbo__hotspot:hover { outline:1px solid var(--tooto-home-accent); outline-offset:1px; }
	.tooto-turbo .tooto-turbo__toggle:hover { background:#e71f2214; }
}
@media (max-width:1024px) {
	.tooto-flagship { padding-top:80px; }
	.tooto-flagship .tooto-home__title { font-size:44px; }
	.tooto-flagship__grid { gap:18px; margin-top:64px; margin-bottom:48px; }
	.tooto-flagship .tooto-flagship__name { font-size:13px; inset-inline:12px; bottom:20px; }
}
@media (max-width:767px) {
	.tooto-flagship { padding:56px 0 48px; overflow:hidden; }
	.tooto-flagship__inner { width:100%; }
	.tooto-flagship .tooto-flagship__logo { width:52px; height:15px; margin-bottom:13px; }
	.tooto-flagship .tooto-home__title { font-size:clamp(26px,8.53vw,40px); padding-inline:20px; white-space:nowrap; }
	.tooto-flagship__carousel { width:100%; overflow-x:auto; padding:60px 0 8px; scrollbar-width:none; }
	.tooto-flagship__grid { display:flex; gap:11px; margin:0; }
	.tooto-flagship__card { flex:0 0 53.2%; width:53.2%; height:auto; aspect-ratio:399/439; }
	.tooto-flagship__surface { border-radius:10px; }
	.tooto-flagship .tooto-flagship__name { font-size:12px; font-weight:400; bottom:16px; inset-inline:10px; }
	.tooto-flagship.is-mobile-carousel .tooto-flagship__carousel { overflow:hidden; }
	.tooto-flagship.is-mobile-carousel .tooto-flagship__grid { gap:0; }
	.tooto-flagship__card.is-active .tooto-flagship__product { transform:translateY(-28%) scale(.94); }
	.tooto-flagship__card.is-active .tooto-flagship__surface::after,.tooto-flagship__card.is-active .tooto-flagship__vehicle { opacity:1; }
	.tooto-flagship__card.is-active .tooto-flagship__name { color:#fff; }
	.tooto-flagship__all { margin-top:28px; font-size:16px; min-height:48px; padding:12px 20px; }
}
@media (prefers-reduced-motion:reduce) {
	.tooto-flagship__product,.tooto-flagship__surface::after,.tooto-flagship__vehicle,.tooto-flagship__name { transition:none; }
}
@media (max-width:767px) {
	.tooto-turbo__sticky { padding:40px 0; }
	.tooto-turbo .tooto-home__title { width:calc(100% - 48px); font-size:30px; }
	.tooto-turbo__hotspot img { width:28px; height:28px; margin:auto; }
}
