/* Excelsior Group — Homepage */
body.home{background:var(--scene)}

/* ---------- Cenas (secções fotográficas) ---------- */
.scene{position:relative;min-height:max(100svh,720px);height:900px;max-height:1100px;overflow:hidden;background:var(--scene);color:var(--snow);isolation:isolate}
.scene + .scene{border-top:0}
.scene--carisma{margin-top:39px}
.scene__photo{position:absolute;inset:0;z-index:-3}
.scene__photo img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%);transform:scale(1.06);transition:transform 2.4s var(--ease)}
.scene.in-view .scene__photo img{transform:scale(1)}
.scene__veil{position:absolute;inset:0;z-index:-2;
  background:
    linear-gradient(to top,rgba(0,33,51,0.59) 0%,rgba(0,33,51,0.0) 20%,rgba(0,33,51,0.0) 69%,rgba(0,33,51,0.24) 100%),
    linear-gradient(to right,rgba(0,33,51,0.62) 0%,rgba(0,33,51,0.51) 27%,rgba(0,33,51,0.24) 56%,rgba(0,33,51,0.08) 100%)}
.scene--hero .scene__veil{background:
    linear-gradient(to top,rgba(0,33,51,0.56) 0%,rgba(0,33,51,0.0) 30%,rgba(0,33,51,0.14) 100%),
    linear-gradient(to right,rgba(0,33,51,0.56) 0%,rgba(0,33,51,0.32) 50%,rgba(0,33,51,0.03) 100%)}
.scene__glow{position:absolute;inset:0;z-index:-1;opacity:.32;background:radial-gradient(ellipse 109% 109% at 77% 77%,rgba(154,181,189,.08) 0,rgba(154,181,189,0) 44%)}

.scene__inner{position:relative;height:100%;display:flex;flex-direction:column;padding:145px var(--pad-x) 0}
.scene--hero .scene__inner{padding-top:257px}

.eyebrow{display:flex;align-items:center;gap:16px;font-size:10px;line-height:13px;font-weight:700;letter-spacing:2.7px;text-transform:uppercase;color:#eef1f3;margin:0}
.eyebrow::before{content:"";width:34px;height:1px;background:rgba(255,255,255,.78);flex:none}
.eyebrow .dot{width:3px;height:3px;border-radius:50%;background:#fff;opacity:.6;flex:none}

.scene__logo{display:block;margin-top:16px;width:fit-content}
.scene__logo img{height:auto}
.logo-chillauto img{width:312px}
.logo-imporvip img{width:374px}
.logo-sprint img{width:345px}
.logo-carisma img{width:292px}

.display{font-family:'Russo One',sans-serif;font-weight:400;color:var(--snow);margin:0;}
.display--xl{font-size:clamp(40px,5.6vw,80px);line-height:1.12;margin-top:18px}
.display--lg{font-size:clamp(34px,4.6vw,66px);line-height:1.12}
.scene__body{margin-top:auto;padding-bottom:0}
.scene__content{margin-top:clamp(48px,10vh,140px)}
.lede{font-size:19px;font-weight:500;line-height:1.75;color:#eef1f3;margin:22px 0 0;max-width:36em}
.scene--hero .lede{font-size:20px;line-height:1.76;color:#eef1f3;margin-top:34px;max-width:none}

.text-link{display:inline-flex;align-items:center;gap:24px;margin-top:32px;padding:19px 0 18px;border-bottom:1px solid rgba(255,255,255,.7);font-size:11px;line-height:14px;font-weight:700;letter-spacing:1.87px;text-transform:uppercase;color:#fff}
.text-link .arrow{width:12px;height:12px;transition:transform .3s var(--ease)}
.text-link:hover .arrow{transform:translate(3px,-3px)}

.scene__foot{position:absolute;left:clamp(24px,6vw,86px);bottom:43px;display:flex;align-items:center;gap:17px;font-size:10px;line-height:13px}
.scene__foot .crumb{letter-spacing:1.4px;text-transform:uppercase;color:rgba(255,255,255,.85)}
.scene__foot .line{width:70px;height:1px;background:rgba(255,255,255,.48)}
.scene__foot .tags{letter-spacing:.7px;color:rgba(255,255,255,.62);margin-left:11px}

.hero-scroll{margin:0;cursor:default;position:absolute;left:clamp(24px,11.2vw,161px);bottom:36px;display:flex;align-items:center;gap:23px;font-size:14px;letter-spacing:1.4px;text-transform:uppercase;color:rgba(255,255,255,.85)}
.hero-scroll::before{content:"";width:1px;height:55px;background:linear-gradient(to bottom,#fff,rgba(255,255,255,0))}
.hero-brands{position:absolute;right:130px;bottom:51px;font-size:10px;line-height:13px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.85);opacity:.7}

/* revelação suave */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.in-view .reveal{opacity:1;transform:none}
.in-view .reveal.d1{transition-delay:.08s}.in-view .reveal.d2{transition-delay:.16s}.in-view .reveal.d3{transition-delay:.24s}.in-view .reveal.d4{transition-delay:.32s}

/* ---------- O Grupo ---------- */
.group{position:relative;background:var(--paper);color:var(--ink);padding:65px var(--pad-x) 0;padding-left:clamp(24px,8.33vw,120px);padding-right:clamp(24px,8.96vw,129px)}
.group .eyebrow{color:#356a7a}
.group .eyebrow::before{background:#356a7a}
.group__title{font-family:'Russo One',sans-serif;font-weight:400;font-size:clamp(36px,5vw,72px);line-height:1.15;margin:11px 0 0;color:var(--ink)}
.group__title span{color:var(--muted);display:block}
.group__text{font-size:16px;line-height:1.8;color:var(--grey-text);max-width:564px;margin:41px 0 0 10px}
.dark-link{display:inline-flex;align-items:center;gap:9px;margin:47px 0 0 2px;padding-bottom:4px;border-bottom:1px solid var(--ink-2);font-size:11px;line-height:14px;font-weight:700;letter-spacing:1.87px;text-transform:uppercase;color:var(--ink-2)}
.dark-link .arrow{width:12px;height:12px;transition:transform .3s var(--ease)}
.dark-link:hover .arrow{transform:translate(3px,-3px)}
.logo-strip{margin:158px 0 0 10px;border-top:1px solid rgba(0,33,51,.22);border-bottom:1px solid rgba(0,33,51,.16);min-height:171px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;justify-items:center;gap:24px;padding:0}
.logo-strip a{display:block;transition:opacity .3s,transform .3s var(--ease)}
.logo-strip a:hover{opacity:.75}
.logo-strip img{width:210px;max-width:100%;height:auto}
.logo-strip .l-chillauto img{width:180px}
.group-foot{margin-left:10px;display:flex;align-items:center;justify-content:space-between;min-height:80px;padding:12px 0 22px}
.group-foot .brand img{width:210px}
.group-foot .foot-legal{display:flex;flex-wrap:wrap;align-items:center;gap:8px 28px;font-size:10px;line-height:13px;letter-spacing:1.1px;text-transform:uppercase;color:#4a5960}
.group-foot .foot-legal a:hover{color:var(--ink)}
.back-top{font-size:10px;letter-spacing:1.1px;text-transform:uppercase;color:#4a5960;white-space:nowrap}
.back-top:hover{color:var(--ink)}

/* ---------- Conta-rotações ---------- */
.tacho{--n:var(--needle);position:fixed;right:14px;bottom:14px;z-index:30;width:100px;height:77px;color:#ffffff;filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.55));transition:color .5s,filter .5s}
.tacho.is-light{--n:var(--needle-light);color:#002133;filter:none}
.tacho svg{width:100%;height:100%;overflow:visible}
.tacho .scale{opacity:.78}
.tacho.is-light .scale{opacity:.7}
.tacho .num{font-family:'Jura',sans-serif;font-weight:700;font-size:9.5px;fill:currentColor;cursor:pointer}
.tacho .num-hit{fill:transparent;cursor:pointer}
.tacho .needle{transform-origin:50px 48px;transition:transform 1s cubic-bezier(.34,1.3,.5,1)}

/* ---------- Responsivo ---------- */
@media (max-width:1100px){
  .hero-brands{display:none}
}
@media (max-width:900px){
  .scene{height:auto;min-height:100svh;max-height:none}
  .scene__inner{min-height:100svh;padding-top:120px;padding-bottom:110px}
  .scene--hero .scene__inner{padding-top:150px}
  .scene__content{margin-top:auto;padding-top:64px}
  .scene__veil{background:
    linear-gradient(to top,rgba(0,33,51,0.64) 0%,rgba(0,33,51,0.39) 38%,rgba(0,33,51,0.1) 70%,rgba(0,33,51,0.32) 100%),
    linear-gradient(to right,rgba(0,33,51,0.42),rgba(0,33,51,0.14))}
  .scene--hero .scene__veil{background:linear-gradient(to top,rgba(0,33,51,0.63) 0%,rgba(0,33,51,0.28) 45%,rgba(0,33,51,0.21) 100%)}
  .scene--carisma{margin-top:0}
  .lede,.scene--hero .lede{font-size:16px;line-height:1.7}
  .lede br{display:none}
  .scene__foot{bottom:36px;flex-wrap:wrap;row-gap:8px;padding-right:110px}
  .scene__foot .tags{margin-left:0;flex-basis:100%}
  .hero-scroll{bottom:40px;font-size:12px}
  .group{padding-top:72px}
  .group__text{margin-left:0}
  .logo-strip{margin-top:88px;margin-left:0;grid-template-columns:1fr 1fr;gap:40px 24px;padding:40px 0}
  .group-foot{margin-left:0;padding-right:96px}
}
@media (max-width:600px){
  .scene__inner{padding-left:24px;padding-right:24px}
  .eyebrow{gap:10px;letter-spacing:2.2px;font-size:9.5px;flex-wrap:wrap}
  .eyebrow::before{width:22px}
  .logo-chillauto img{width:220px}.logo-imporvip img{width:270px}.logo-sprint img{width:250px}.logo-carisma img{width:220px}
  .display--xl{font-size:clamp(34px,10vw,48px)}
  .display--lg{font-size:clamp(30px,8.6vw,42px)}
  .scene__foot{left:24px;bottom:30px}
  .scene__foot .line{width:40px}
  .hero-scroll{left:24px}
  .text-link{margin-top:28px}
  .group__title{font-size:clamp(30px,9vw,44px)}
  .logo-strip img{width:140px}
  .logo-strip .l-chillauto img{width:120px}
  .logo-strip a:nth-child(odd){justify-self:start}
  .logo-strip a:nth-child(even){justify-self:center}
  .group-foot .brand img{width:150px}
  .group-foot{padding-right:88px;gap:16px;flex-wrap:wrap}
  .tacho{width:78px;height:60px;right:10px;bottom:10px}
}

/* Mobile compacto */
@media (max-width: 600px) {
  .scene { min-height: 0; }
  .scene__inner { min-height: 68svh; padding-top: 104px; padding-bottom: 56px; }
  .scene--hero .scene__inner { min-height: 82svh; }
  .display--xl { font-size: clamp(32px, 9.2vw, 40px); }
  .display--lg { font-size: clamp(26px, 7.6vw, 34px); }
  .lede { font-size: 15px; line-height: 1.55; margin-top: 14px; }
  .text-link { margin-top: 18px; padding: 12px 0; }
  .group { padding-top: 44px; }
  .group__text { margin-top: 12px; }
  .logo-strip { gap: 20px 24px; margin-top: 28px; }
}
@media (max-width: 600px) {
  body .scene:not(.scene--hero) .scene__inner { min-height: 0; padding-top: 72px; padding-bottom: 44px; }
  body .scene--hero .scene__inner { min-height: 70svh; }
  body .scene__photo img { object-position: center; }
}
@media (max-width:600px){ body .scene:not(.scene--hero) .scene__inner{padding-bottom:104px} .scene__foot{bottom:22px} }
