:root{--blue:#2028da;--deep:#141a83;--yellow:#f5f530;--ink:#171936;--muted:#656579;--paper:#f5f6fa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.6}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #ef7953;outline-offset:6px}.wrap{width:min(1200px,calc(100% - 80px));margin:auto}header{position:sticky;top:0;background:#ffffffed;backdrop-filter:blur(16px);z-index:20;border-bottom:1px solid #ececf2}.nav{display:flex;align-items:center;justify-content:space-between;height:94px;gap:25px}.brand{display:flex;align-items:center;height:75px;width:150px}.brand img{display:block;width:100%;height:auto;max-height:75px;object-fit:contain;transform:none}nav{display:flex;gap:35px;font-size:14px;font-weight:600}nav a{text-decoration:none}nav a:hover{color:var(--blue)}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:white;border-radius:7px;padding:17px 27px;text-decoration:none;font-weight:700;transition:transform .25s,box-shadow .25s;line-height:1.3}.button:hover{transform:translateY(-3px);box-shadow:0 10px 25px #161c8b26}.button.small{padding:13px 21px;font-size:14px}.button.yellow{background:var(--yellow);color:var(--ink)}.hero{background:var(--blue);color:white;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.04fr 1fr;gap:55px;padding-top:75px;padding-bottom:65px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;margin:0 0 24px}.blue{color:var(--blue)}h1,h2,h3{font-family:'Outfit',sans-serif;line-height:1.05;letter-spacing:-1.5px;margin:0;font-weight:600}h1{font-size:clamp(64px,6.8vw,100px);letter-spacing:-4px}h1 span{color:var(--yellow)}.intro{font-size:19px;line-height:1.65;margin:26px 0 30px;color:#e2e3ff}.micro{font-size:12px;color:#d2d5ff;margin-top:16px}.hero-foot{margin-top:49px;border-top:1px solid #ffffff36;padding-top:22px;display:flex;gap:25px;align-items:center;font-size:12px}.hero-foot span:first-child{font-weight:700;letter-spacing:1px}.hero-visual{position:relative;padding:0 25px 30px 0;align-self:stretch}.photo-frame{position:relative;height:100%;min-height:450px;overflow:hidden;border-radius:140px 14px 14px 14px;background:#ced7e8}.photo-frame>img{height:100%;width:100%;position:absolute;object-fit:cover;object-position:42% center;animation:photo-in 1.2s ease both}.photo-frame:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#10194bcc)}.photo-caption{position:absolute;z-index:1;bottom:34px;left:32px}.photo-caption span{display:block;font-size:11px;letter-spacing:2px;margin-bottom:8px}.photo-caption strong{font-family:'Outfit',sans-serif;font-size:30px;font-weight:500}.category-stamp{position:absolute;right:-15px;bottom:2px;z-index:2;background:var(--yellow);color:var(--ink);padding:20px 25px;transform:rotate(-6deg);box-shadow:0 12px 30px #10144b25;border-radius:5px;animation:stamp-in 1s ease both}.category-stamp span{display:block;font-size:10px;font-weight:700}.category-stamp strong{font-family:'Outfit',sans-serif;font-size:55px;line-height:1.1}.side-label{position:absolute;right:-17px;top:20px;writing-mode:vertical-rl;font-size:10px;letter-spacing:2px}.ribbon{overflow:hidden;background:var(--yellow);padding:18px 0;font-family:'Outfit',sans-serif;font-weight:600;font-size:17px;letter-spacing:1px}.ribbon>div{display:flex;align-items:center;gap:42px;white-space:nowrap;width:max-content;animation:marquee 38s linear infinite}.ribbon span{font-size:25px;line-height:1}.section{padding-top:105px;padding-bottom:95px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:44px}h2{font-size:clamp(36px,4vw,55px);letter-spacing:-2px}.section-heading>p{color:var(--muted);margin:0;max-width:420px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service{padding:30px;background:var(--paper);border:1px solid #e7e8f0;border-radius:12px;text-decoration:none;transition:transform .3s,box-shadow .3s}.service:hover{transform:translateY(-7px);box-shadow:0 16px 40px #171b6320}.service.featured{background:var(--blue);color:white;border-color:var(--blue)}.card-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:45px}.card-top>span:first-child{font-size:10px;font-weight:700;letter-spacing:1.1px}.category{border:1px solid #c9ccd9;border-radius:8px;width:46px;height:51px;display:grid;place-items:center;font-size:27px;font-family:'Outfit',sans-serif}.featured .category{border-color:#777ded;color:var(--yellow)}.category.ab{font-size:20px}.service h3{font-size:29px;line-height:1.16;letter-spacing:-.8px}.service p{font-size:14px;color:var(--muted);line-height:1.8;margin:20px 0 29px}.featured p{color:#e1e2ff}.card-link{font-size:13px;font-weight:700;display:block;padding-top:20px;border-top:1px solid #dfe1eb}.featured .card-link{border-color:#ffffff36;color:var(--yellow)}.other-services{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:15px;margin-top:30px;font-size:13px}.other-services>span{font-weight:600;margin-right:10px}.other-services a{padding:6px 13px;border-radius:30px;border:1px solid #dedfea;text-decoration:none}.other-services a:hover{background:var(--paper)}.about{background:var(--deep);color:white;padding:85px 0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:105px}.about h2{font-size:47px;line-height:1.1}.about h2 span{color:var(--yellow)}.about p{color:#d1d3f3;max-width:410px;margin:26px 0}.text-link{display:inline-block;text-underline-offset:6px;font-weight:600;font-size:14px}.advantages article{display:flex;gap:25px;padding:26px 0;border-bottom:1px solid #ffffff26}.advantages article:first-child{padding-top:0}.advantages article>span{color:var(--yellow);font-size:13px;font-weight:700}.advantages h3{font-size:25px;letter-spacing:-.5px}.advantages p{font-size:14px;line-height:1.8;margin:13px 0 0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.steps article{border-top:2px solid var(--blue);padding-top:24px}.steps span{color:var(--blue);font-size:11px;letter-spacing:1.4px;font-weight:700}.steps h3{font-size:25px;letter-spacing:-.6px;margin-top:27px}.steps p{font-size:14px;color:var(--muted);max-width:310px}.faq-section{background:var(--paper);padding:85px 0}.faq-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}.faq-grid>div>p:not(.eyebrow){color:var(--muted);margin:25px 0}details{border-bottom:1px solid #dadce7;padding:23px 0}details:first-child{padding-top:0}summary{font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font-size:16px}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:23px;color:var(--blue);line-height:1}details[open] summary:after{content:'−'}details p{color:var(--muted);font-size:14px;margin-bottom:0;max-width:490px}.contact{background:var(--blue);color:white;padding:80px 0 55px}.contact-top{text-align:center;padding-bottom:60px}.contact-top h2{font-size:clamp(48px,6vw,80px);line-height:1.05;margin-bottom:30px}.contact-top h2 span{color:var(--yellow)}.contact-grid{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid #ffffff30;padding-top:40px;gap:30px}.contact-grid p{font-size:14px}.contact-grid .eyebrow{font-size:10px;margin-bottom:15px;color:#c6caff}.contact-grid a{font-size:14px;text-underline-offset:5px}.contact-grid p:not(.eyebrow){margin:0 0 12px}footer{display:flex;justify-content:space-between;gap:20px;padding-top:28px;padding-bottom:30px;font-size:12px;color:var(--muted)}footer>span:first-child{font-weight:700;color:var(--ink)}.floating-contact{position:fixed;z-index:25;right:22px;bottom:22px;background:#12844f;box-shadow:0 5px 20px #102f3035;color:white;display:flex;align-items:center;gap:9px;padding:14px 18px;border-radius:50px;text-decoration:none;font-size:13px;font-weight:700}.floating-contact svg{width:24px;height:24px}.skip{position:fixed;top:-100px;left:20px;z-index:50;background:white;padding:10px}.skip:focus{top:10px}.reveal.ready{opacity:0;transform:translateY(24px);transition:opacity .65s,transform .65s}.reveal.ready.visible{opacity:1;transform:none}@keyframes marquee{to{transform:translateX(-35%)}}@keyframes photo-in{from{transform:scale(1.08)}to{transform:scale(1)}}@keyframes stamp-in{from{opacity:0;translate:0 30px}to{opacity:1;translate:0 0}}@media(min-width:1000px){.service:nth-child(2){transition-delay:.08s}.service:nth-child(3){transition-delay:.16s}}@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.hero-grid{gap:30px}.hero h1{font-size:76px}.hero-foot{flex-wrap:wrap;gap:10px}.hero-visual{padding-right:12px}.category-stamp{right:0}.about-grid{gap:45px}.service{padding:23px}.service h3{font-size:25px}.faq-grid{gap:40px}.side-label{right:-10px}}@media(max-width:700px){.wrap{width:calc(100% - 40px)}.nav{height:78px;gap:10px}.brand{width:130px;height:65px}.brand img{width:100%;height:auto;max-height:65px;transform:none}nav{display:none}.button.small{font-size:12px;padding:12px 14px}.hero-grid{grid-template-columns:1fr;padding-top:43px;padding-bottom:40px;gap:34px}.hero h1{font-size:76px}.eyebrow{font-size:10px;letter-spacing:1.5px;margin-bottom:20px}.intro{font-size:17px;margin:22px 0}.micro{max-width:270px}.hero-foot{margin-top:28px;justify-content:space-between;font-size:10px}.hero-visual{padding:0 14px 22px 0}.photo-frame{height:365px;min-height:0;border-top-left-radius:95px}.photo-frame>img{object-position:center 40%}.category-stamp{padding:15px 20px}.category-stamp strong{font-size:43px}.photo-caption{left:24px;bottom:28px}.photo-caption strong{font-size:25px}.side-label{right:-4px}.ribbon{padding:15px 0;font-size:14px}.section{padding-top:65px;padding-bottom:60px}.section-heading{display:block;margin-bottom:30px}.section-heading>p,.section-heading>.button{margin-top:25px}.services,.steps,.about-grid,.faq-grid,.contact-grid{grid-template-columns:1fr}.services{gap:15px}.service{padding:26px}.card-top{margin-bottom:28px}.service h3{font-size:31px}.service p{margin:16px 0 23px}.other-services{justify-content:flex-start;gap:10px}.other-services>span{width:100%;margin:5px 0}.about{padding:60px 0}.about-grid{gap:40px}.about h2{font-size:40px}.steps{gap:25px}.steps h3{margin-top:17px}.steps p{max-width:none}.faq-section{padding:60px 0}.faq-grid{gap:36px}summary{font-size:15px}.contact{padding-top:60px}.contact-grid{gap:28px}.contact-top{padding-bottom:40px}footer{flex-wrap:wrap;padding-bottom:100px}footer>span:nth-child(2){display:none}.floating-contact{padding:13px;right:16px;bottom:16px}.floating-contact span{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal.ready{opacity:1;transform:none}}

/* Localização com mapa incorporado. */
.contact-grid { grid-template-columns: minmax(0, 2.3fr) minmax(0, 1fr) minmax(0, 1fr); }
.contact-grid > div { min-width: 0; }
.location-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); align-items: start; gap: 24px; }
.location-details a { display: inline-block; margin-top: 4px; }
.location-map { min-width: 0; overflow: hidden; border: 1px solid #ffffff40; border-radius: 12px; background: #f5f6fa; box-shadow: 0 10px 30px #10144b20; }
.location-map iframe { display: block; width: 100%; height: 220px; border: 0; }
@media (max-width: 1000px) {
  .contact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
  .location-card { grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); align-items: center; }
  .location-map iframe { height: 240px; }
}
@media (max-width: 700px) {
  .contact-grid { grid-template-columns: minmax(0, 1fr); }
  .location-card { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .location-map iframe { height: 230px; }
}

/* Fotos reais e moto com silhueta transparente. */
.photo-frame > .hero-school-photo { object-position: center 48%; }
.photo-caption strong { font-size: clamp(24px, 2.1vw, 30px); }
.fleet { padding-top: 20px; }
.fleet-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 36px; align-items: stretch; }
.fleet-photo { position: relative; min-height: 580px; margin: 0; border-radius: 14px 100px 14px 14px; overflow: hidden; background: #cdd6e9; }
.fleet-photo > img { position: absolute; width: 100%; height: 100%; object-fit: cover; object-position: center bottom; }
.fleet-photo::after { content: ''; position: absolute; inset: 35% 0 0; background: linear-gradient(transparent 20%, #0b154fd9); pointer-events: none; }
.fleet-photo figcaption { position: absolute; left: 30px; right: 30px; bottom: 30px; z-index: 1; color: white; }
.fleet-label { display: inline-block; color: var(--ink); background: var(--yellow); padding: 6px 10px; border-radius: 4px; font-size: 12px; font-weight: 700; letter-spacing: 1px; }
.fleet-photo figcaption strong { display: block; font-family: 'Outfit', sans-serif; font-size: 30px; line-height: 1.1; letter-spacing: -.7px; margin: 15px 0 10px; }
.fleet-photo figcaption > span:last-child { font-size: 14px; color: #e6e9ff; }
.moto-feature { position: relative; min-width: 0; display: flex; flex-direction: column; justify-content: space-between; background: var(--deep); color: white; border-radius: 14px; isolation: isolate; }
.moto-copy { padding: 36px 38px 0; position: relative; z-index: 1; }
.moto-copy .eyebrow { color: var(--yellow); margin-bottom: 18px; }
.moto-copy h3 { font-size: clamp(30px, 3.5vw, 44px); letter-spacing: -1.2px; }
.moto-copy > p:not(.eyebrow) { color: #d1d3f3; max-width: 380px; font-size: 15px; margin: 20px 0; }
.moto-copy .text-link { color: var(--yellow); }
.moto-stage { position: relative; min-width: 0; margin: 42px -24px -26px; padding-top: 12px; padding-bottom: 12px; background: radial-gradient(ellipse at 50% 60%, #545be970, transparent 65%); }
.moto-cutout { position: relative; display: block; width: 100%; height: auto; filter: drop-shadow(0 20px 15px #0a0d4966); transform-origin: 50% 70%; animation: moto-float 5.5s ease-in-out infinite; animation-play-state: paused; will-change: transform; }
.moto-cutout.is-in-view { animation-play-state: running; }
@keyframes moto-float { 0%, 100% { transform: translate3d(0, 0, 0) rotate(-.4deg); } 50% { transform: translate3d(0, -12px, 0) rotate(.4deg); } }
@media (max-width: 1000px) {
  .fleet-grid { gap: 26px; }
  .fleet-photo { min-height: 550px; }
  .moto-copy { padding: 30px 26px 0; }
  .moto-stage { margin-left: -12px; margin-right: -12px; }
}
@media (max-width: 700px) {
  .fleet { padding-top: 5px; }
  .fleet-grid { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .fleet-photo { min-height: 440px; border-top-right-radius: 80px; }
  .fleet-photo figcaption { left: 24px; right: 24px; bottom: 25px; }
  .fleet-photo figcaption strong { font-size: 28px; }
  .moto-copy { padding: 30px 25px 0; }
  .moto-copy h3 { font-size: 36px; }
  .moto-stage { margin: 30px -8px -14px; }
}
@media (prefers-reduced-motion: reduce) {
  .moto-cutout { animation: none; will-change: auto; }
}
