:root {
  --green:#07513a; --deep:#062f24; --green2:#116749; --green3:#0c5f48;
  --yellow:#ffe637; --cream:#f7f7f0; --ink:#092f25; --muted:#60776b; --line:#d8e1d5;
  --display:'Barlow Condensed','Liberation Sans Narrow','Arial Narrow','Noto Sans Condensed',Impact,sans-serif;
  --body:'DM Sans',Arial,sans-serif; --nav:90px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--nav)}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;overflow-x:clip}
body.locked{overflow:hidden}
a{text-decoration:none;color:inherit} button,input{font:inherit} button{cursor:pointer} img,svg{display:block;max-width:100%} p,h1,h2,h3,figure{margin:0} h1,h2,h3{font-family:var(--display);font-weight:800;letter-spacing:-.03em;text-transform:uppercase;line-height:.88}
.container{width:min(1340px,calc(100% - 96px));margin-inline:auto}
[hidden]{display:none!important}.skip-link{position:fixed;top:-120px;left:12px;z-index:500;color:var(--deep);background:white;padding:12px 20px}.skip-link:focus{top:12px}
::selection{background:var(--yellow);color:var(--deep)} :focus-visible{outline:3px solid #e1be1c;outline-offset:4px}
.screen-section{scroll-margin-top:var(--nav);min-height:calc(100svh - var(--nav));display:flex;align-items:center;padding-block:44px}
.eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em;color:#177b54;text-transform:uppercase}.eyebrow--light{color:#c4efd7}

.header{height:var(--nav);background:var(--green);position:sticky;top:0;z-index:70;color:white;box-shadow:0 2px 0 #053b2d20}
.header__inner{height:100%;width:100%;display:flex;align-items:stretch;justify-content:space-between;max-width:1800px;margin-inline:auto;padding-left:max(44px,calc((100vw - 1340px)/2))}
.brand{display:flex;align-items:center;gap:14px;min-width:0;padding-right:16px}.brand__mark{flex:none;background:white;border-radius:3px;padding:5px}.brand__mark img{width:56px;height:56px;object-fit:contain}.brand__words{white-space:nowrap;display:grid;gap:4px}.brand__eyebrow{font:700 13px/1 var(--display);letter-spacing:.2em;color:#d7e9dd}.brand strong{font:800 clamp(25px,2.55vw,38px)/.96 var(--display);letter-spacing:-.025em}.brand em{font-style:normal;color:var(--yellow)}
.header__right{height:100%;display:flex;align-items:stretch;flex:none}.header__number{display:flex;flex-direction:column;justify-content:center;background:var(--yellow);color:var(--deep);min-width:266px;padding:0 28px 0 55px;clip-path:polygon(16% 0,100% 0,100% 100%,0 100%);transition:background .2s}.header__number:hover{background:#fff078}.header__number span{font-size:10px;font-weight:800;letter-spacing:.2em}.header__number strong{font:800 clamp(29px,3vw,40px)/1 var(--display);margin-top:4px;white-space:nowrap}
.menu-trigger{background:var(--deep);color:white;border:0;width:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-size:10px;letter-spacing:.12em;font-weight:800}.menu-trigger:hover{background:#104735}.menu-lines{width:30px;display:flex;flex-direction:column;gap:7px}.menu-lines i{height:2px;width:100%;background:white;display:block}.menu-lines i:last-child{width:65%}
.menu-overlay{inset:0;position:fixed;z-index:75;background:#021b14b8;backdrop-filter:blur(3px)}
.menu-dropdown{position:fixed;left:0;right:0;top:var(--nav);z-index:80;background:var(--deep);color:white;visibility:hidden;opacity:0;transform:translateY(-18px);transition:.25s ease;padding:18px 0 22px;border-bottom:1px solid #1d5a46}
.menu-dropdown.is-open{visibility:visible;opacity:1;transform:translateY(0)}
.menu-dropdown__inner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.menu-dropdown a{display:flex;align-items:center;gap:11px;padding:14px 16px;border:1px solid #ffffff1b;background:#ffffff08;font:800 clamp(17px,1.4vw,23px)/1 var(--display);letter-spacing:.02em}.menu-dropdown a span{font:800 10px var(--body);color:#bbd6c5}.menu-dropdown a:hover{background:#0c4332;color:var(--yellow)}

.btn{display:inline-flex;justify-content:space-between;align-items:center;gap:25px;min-height:57px;padding:0 23px;font-size:11px;letter-spacing:.07em;font-weight:800;transition:background .2s,transform .2s;text-transform:uppercase;border:0}.btn:hover{transform:translateY(-2px)}.btn--yellow{background:var(--yellow);color:var(--deep)}.btn--yellow:hover{background:#fff086}.btn span{font-size:24px;line-height:1}
.simple-link{display:inline-flex;align-items:center;gap:15px;border-bottom:2px solid var(--green);padding:11px 0;font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--green);white-space:nowrap}.simple-link--light{color:var(--yellow);border-color:var(--yellow)}.simple-link span{font-size:20px;line-height:0}

.hero{background:#f9f9f1;overflow:hidden}.hero__grid{display:grid;grid-template-columns:53% 47%;align-items:center;gap:0;min-height:calc(100svh - var(--nav))}.hero__copy{padding:clamp(30px,5svh,70px) 6% clamp(36px,5svh,70px) 0;position:relative;z-index:1}.kicker{display:flex;align-items:center;gap:14px;font-size:11px;font-weight:800;letter-spacing:.12em;color:#157348}.kicker span{height:2px;width:32px;background:#157348}
.hero__destino{display:inline-grid;gap:4px;background:var(--yellow);color:var(--deep);padding:14px 18px 12px;margin:22px 0 6px;box-shadow:10px 10px 0 #dfe6d9;transform:rotate(-1.3deg)}.hero__destino span{font-size:10px;font-weight:800;letter-spacing:.18em}.hero__destino strong{font:800 clamp(24px,2.2vw,34px)/.96 var(--display)}
.hero h1{font-size:clamp(70px,min(8.6vw,13svh),133px);color:var(--deep);line-height:.83;letter-spacing:-.037em;margin:clamp(19px,4.4svh,34px) 0 clamp(20px,4svh,37px);white-space:nowrap}.hero__drives{display:inline-block;position:relative;isolation:isolate}.hero__drives::after{content:'';position:absolute;bottom:1px;left:0;width:102%;height:10px;background:var(--yellow);z-index:-1;transform:rotate(-1deg)}.hero__you{color:#138354}.hero__you>span{color:var(--yellow)}.hero__desc{max-width:500px;color:#567061;font-size:clamp(14px,1.16vw,17px);line-height:1.75}.hero__actions{display:flex;align-items:center;flex-wrap:wrap;gap:28px;margin-top:clamp(20px,4svh,37px)}
.hero__visual{height:min(80svh,740px);min-height:435px;max-height:850px;margin:20px 0 20px 15px;border:9px solid #e5ede2;box-shadow:14px 14px 0 #e1e9db;transform:skewX(-1.3deg);background:#bce9fa;overflow:hidden}.hero__visual img{width:100%;height:100%;object-fit:cover;transform:skewX(1.3deg) scale(1.035)}

.about{background:var(--green2);color:white;display:flex;flex-direction:column;align-items:stretch;padding-block:0}.about__motto{background:var(--yellow);color:var(--deep);width:100%}.about__motto .container{min-height:108px;display:flex;align-items:center;justify-content:space-between;gap:25px}.about__motto span{font:800 11px/1.5 var(--body);letter-spacing:.1em;max-width:130px}.about__motto p{font:800 clamp(26px,3.8vw,51px)/1 var(--display);text-transform:uppercase}.about__motto em{color:#0a8555;font-style:normal}
.about__body{display:grid;grid-template-columns:49% 51%;flex:1;min-height:0;align-items:stretch;padding-block:34px}.about__pictures{position:relative;background:#cfe5c9;min-height:460px;overflow:hidden}.about__pictures::before{content:'';position:absolute;right:-14%;top:-20%;bottom:-20%;width:50%;background:var(--yellow);transform:skewX(-24deg)}.about__photo{position:absolute;overflow:hidden;background:#2b4d3b;border:9px solid white;box-shadow:13px 13px 0 #08432d;transform:rotate(-2deg)}.about__photo img{width:100%;height:100%;object-fit:cover}.about__photo--main{left:10%;top:12%;width:77%;height:55%}.about__photo figcaption{position:absolute;bottom:0;left:0;right:0;background:#09402e;color:white;font-size:10px;letter-spacing:.13em;font-weight:800;padding:12px 15px}.about__photo--small{right:5%;bottom:9%;width:43%;height:34%;transform:rotate(5deg)}.about__copy{padding:clamp(25px,3.7svh,48px) clamp(32px,4.3vw,74px);align-self:center}.about h2{font-size:clamp(60px,min(6.5vw,9svh),96px);margin:18px 0}.about h2 em{font-style:normal;color:var(--yellow)}.about__copy>p:not(.eyebrow){color:#d8f1e1;line-height:1.75;font-size:clamp(13px,1.03vw,15px);margin-bottom:13px;max-width:530px}.about__facts{display:flex;flex-wrap:wrap;gap:14px 20px;padding:16px 0;margin:10px 0 3px;border-top:1px solid #d2e8db48}.about__facts span{font:800 10px var(--body);letter-spacing:.06em;color:#edf5e7}.about__facts span::before{content:'•';color:var(--yellow);margin-right:8px}

.services{background:#f8f8f0}.services__inner{width:min(1320px,calc(100% - 96px))}.section-heading h2,.gallery h2,.faq h2,.contact h2{font-size:clamp(60px,min(6.4vw,10svh),101px);margin-top:16px}.section-heading h2 em,.gallery h2 em,.faq h2 em,.contact h2 em{font-style:normal;color:#13875b}.section-heading--simple{margin-bottom:clamp(24px,3.5svh,36px)}
.services__grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch}.service-feature{min-height:330px;display:flex;flex-direction:column;position:relative;overflow:hidden;padding:22px 26px 0;background:#dfefe0;transition:transform .2s}.service-feature:hover,.service-card:hover{transform:translateY(-4px)}.service-feature--moto{background:#e8ecd2}.service-feature__top{display:flex;justify-content:space-between;align-items:center;color:#0b6d47;font:800 10px var(--body);letter-spacing:.1em;z-index:2}.service-feature__top span:last-child{font-size:26px;line-height:.5}.service-feature__words{position:relative;z-index:2;display:flex;align-items:end;gap:14px;margin-top:18px}.service-feature h3{font-size:clamp(50px,min(5vw,8svh),83px);white-space:nowrap;color:var(--deep)}.service-feature__words p{max-width:190px;font-size:12px;line-height:1.5;color:#587361;padding-bottom:3px}.service-feature img{position:absolute;bottom:-10px;right:12px;object-fit:contain;width:62%;height:48%;object-position:right bottom}.service-feature--moto img{width:50%;right:4%;bottom:5px}
.service-card{background:white;border:1px solid #dbe6d8;padding:28px 28px 24px;display:grid;gap:14px;align-content:center;min-height:190px;transition:transform .2s,box-shadow .2s;box-shadow:0 8px 24px #062f2408}.service-card__icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#e6f1e6;color:#0d6f49;font:800 24px/1 var(--display)}.service-card h3{font-size:clamp(32px,2.2vw,44px);color:var(--deep)}.service-card p{font-size:14px;line-height:1.65;color:#567061}.service-card--wide{grid-column:1/-1;max-width:calc(50% - 11px);width:100%;justify-self:center;text-align:center}.service-card--wide .service-card__icon{margin-inline:auto}
.services__notice{font-size:10px;color:#738579;line-height:1.5;margin-top:18px}

.gallery{background:#ecf1e7;padding-block:56px}.gallery__heading{margin-bottom:28px}.gallery__heading--center{text-align:center;display:grid;justify-items:center;gap:14px}.gallery__heading--center p:last-child{max-width:620px;font-size:15px;line-height:1.75;color:#627b70}.gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery__item{padding:0;border:0;background:transparent;text-align:left;color:var(--deep)}.gallery__picture{display:block;overflow:hidden;height:300px;background:#d5e4d8;position:relative;border:1px solid #d7e4d5}.gallery__picture img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.gallery__picture--contain img{object-fit:contain;background:#dfe9d8;padding:18px}.gallery__item:hover img{transform:scale(1.04)}
.lightbox{max-width:none;max-height:none;border:0;margin:0;padding:0;width:100vw;height:100dvh;background:#052d23f5;color:white;overflow:hidden}.lightbox::backdrop{background:#031b14f5}.lightbox__close{position:absolute;top:clamp(18px,3svh,34px);right:clamp(18px,3vw,40px);z-index:2;background:transparent;border:1px solid #d5e2d54f;color:white;font-size:11px;letter-spacing:.12em;font-weight:800;padding:13px 17px}.lightbox__close span{font-size:25px;line-height:0;vertical-align:middle;margin-left:12px}.lightbox__body{height:100%;display:flex;align-items:center;justify-content:center;gap:clamp(10px,2vw,30px);padding:65px clamp(14px,3vw,45px) 24px}.lightbox__body figure{display:flex;flex-direction:column;align-items:stretch;min-width:0;max-width:min(1100px,80vw);max-height:100%;gap:15px}.lightbox__body img{max-width:100%;max-height:calc(100dvh - 170px);object-fit:contain;background:#173d32;padding:10px}.lightbox__body figcaption{display:flex;justify-content:space-between;gap:15px;font-size:13px;color:#d9e9dd}.lightbox__body figcaption b{font:800 28px var(--display);color:var(--yellow)}.lightbox__nav{flex:none;width:56px;height:72px;border:1px solid #ffffff33;background:transparent;color:white;font-size:36px}.lightbox__nav:hover{background:#0b4634}

.goal-quote{background:var(--yellow);padding:30px 0;color:var(--deep)}.goal-quote__inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:32px}.goal-quote__mark{font:800 clamp(60px,7vw,110px)/.7 var(--display);color:#0b6f49}.goal-quote p{font:800 clamp(30px,3.7vw,58px)/.96 var(--display);text-transform:uppercase}.goal-quote em{font-style:normal;color:#13875b}

.faq{background:#f8f8f0}.faq__grid{display:grid;grid-template-columns:36% 64%;gap:36px;align-items:center}.faq h2{margin:20px 0}.faq__intro p:not(.eyebrow){max-width:420px;color:#60796c;line-height:1.8;margin-bottom:18px}.faq__list{display:grid;gap:14px}.faq__list details{border:1px solid #d7e4d5;background:white}.faq__list summary{list-style:none;display:flex;align-items:center;gap:18px;padding:20px 22px;min-height:78px;font:800 17px var(--display);cursor:pointer}.faq__list summary::-webkit-details-marker{display:none}.faq__list summary span{font:800 11px var(--body);color:#1b865c}.faq__list summary b{margin-left:auto;font-size:24px;color:#1b865c}.faq__list details[open] summary b{transform:rotate(45deg)}.faq__list details p{padding:0 22px 22px;color:#60796c;line-height:1.75;font-size:14px}

.contact{background:var(--green2);color:white}.contact__intro{display:grid;gap:12px;margin-bottom:28px}.contact__intro h2{font-size:clamp(72px,min(8vw,12svh),128px)}.contact__grid{display:grid;grid-template-columns:42% 58%;gap:28px;align-items:stretch}.contact__copy{display:grid;align-content:start;gap:18px;padding-right:8%}.contact__copy h3{font-size:clamp(48px,4.3vw,88px);line-height:.9}.contact__copy>p{color:#d8f1e1;line-height:1.75;max-width:360px}.contact__phone{display:grid;gap:8px;padding:22px 0;border-top:1px solid #d2e8db48;border-bottom:1px solid #d2e8db48}.contact__phone span,.contact__other span,.contact__map-head span{font-size:10px;font-weight:800;letter-spacing:.14em;color:#ffe637;text-transform:uppercase}.contact__phone a{font:800 clamp(56px,5vw,86px)/.9 var(--display);color:white}.contact__other{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px;margin-top:4px}.contact__other a,.contact__other p{font-size:15px;line-height:1.7;color:#edf5e7}.contact__map-card{display:grid;grid-template-rows:auto 1fr;background:#f1f1eb;color:var(--deep)}.contact__map-head{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:18px 22px;border-bottom:1px solid #d6ddd2}.contact__map-head a{font-size:11px;font-weight:800;letter-spacing:.07em;color:#0f6b49}.contact__map-head a span{font-size:18px;vertical-align:-1px}.contact__map{min-height:480px}.contact__map iframe{width:100%;height:100%;border:0;display:block}

.footer{background:var(--deep);color:white;padding:34px 0 26px}.footer__content{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:end}.footer__brand{display:flex;align-items:center;gap:14px}.footer__brand img{background:white;padding:4px;border-radius:3px}.footer__brand span{display:grid;gap:4px}.footer__brand small{font-size:10px;letter-spacing:.16em;color:#c4efd7}.footer__brand strong{font:800 30px/.95 var(--display)}.footer__content>p{font:800 clamp(26px,2.6vw,42px)/.94 var(--display)}.footer__content>p span{color:var(--yellow)}.footer__links{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.footer__links a,.footer__links button{font-size:11px;font-weight:800;letter-spacing:.08em;color:#d8f1e1;background:none;border:0;padding:0}.footer__copyright{grid-column:1/-1;font-size:11px;color:#b7d3c4;margin-top:10px}
.whatsapp-float{position:fixed;z-index:60;right:max(18px,calc(env(safe-area-inset-right) + 18px));bottom:max(18px,calc(env(safe-area-inset-bottom) + 18px));height:64px;width:64px;display:grid;place-items:center;background:#25d366;color:white;border-radius:50%;border:4px solid white;box-shadow:0 10px 30px #071e1a55;transition:transform .2s,background .2s}.whatsapp-float svg{height:32px;width:32px}.whatsapp-float:hover{transform:translateY(-4px);background:#1cb956}
.privacy-dialog{max-width:640px;border:0;padding:36px 32px 28px;box-shadow:0 25px 60px #0000002e}.privacy-dialog::backdrop{background:#00140f91}.privacy-dialog button{position:absolute;top:10px;right:14px;background:none;border:0;font-size:34px;color:#0a3d2d}.privacy-dialog h2{font-size:44px;margin-bottom:16px}.privacy-dialog p{line-height:1.8;color:#546d62;margin-bottom:14px}

@media (max-width:1180px){
  .container{width:min(100%,calc(100% - 56px))}
  .menu-dropdown__inner{grid-template-columns:repeat(2,1fr)}
  .hero__grid,.about__body,.faq__grid,.contact__grid{grid-template-columns:1fr}
  .hero__visual{margin:0;min-height:360px;height:50svh}
  .about__body{padding-block:30px}.about__pictures{min-height:420px}.about__copy{padding-inline:0;padding-top:28px}
  .faq__intro p:not(.eyebrow){max-width:unset}
  .contact__copy{padding-right:0}.contact__map{min-height:420px}
}
@media (max-width:900px){
  :root{--nav:72px}
  .header__inner{padding-left:16px}.brand{gap:8px}.brand__mark img{width:42px;height:42px}.brand__eyebrow{font-size:9px}.brand strong{font-size:22px}.header__number{min-width:176px;padding:0 12px 0 28px}.header__number strong{font-size:22px}.menu-trigger{width:62px;gap:6px;font-size:8px}.menu-lines{width:22px;gap:5px}
  .menu-dropdown{top:var(--nav)}.menu-dropdown__inner{grid-template-columns:1fr}
  .screen-section{min-height:auto;padding-block:40px}
  .hero__grid{grid-template-columns:1fr;gap:20px;padding-block:18px;min-height:auto}.hero__copy{padding:0}.hero h1{font-size:clamp(54px,14vw,96px);white-space:normal}.hero__visual{height:min(78vw,420px);min-height:0}.hero__destino strong{font-size:26px}
  .about__motto .container{min-height:92px;gap:12px}.about__motto span{font-size:8px;max-width:82px}.about__motto p{font-size:clamp(24px,6.5vw,40px)}.about__pictures{min-height:340px}.about__photo--main{left:7%;width:78%;height:55%}.about__photo--small{right:3%;width:46%;height:31%}
  .section-heading h2,.gallery h2,.faq h2,.contact h2{font-size:clamp(52px,12vw,88px)}
  .services__grid{grid-template-columns:1fr}.service-feature{min-height:280px}.service-feature h3{font-size:clamp(56px,12vw,78px)}.service-feature__words{display:block}.service-feature__words p{max-width:220px;margin-top:9px}.service-feature img{width:56%;height:46%}.service-card--wide{grid-column:auto;max-width:none}
  .gallery__grid{grid-template-columns:1fr 1fr}.gallery__picture{height:240px}
  .goal-quote__inner{grid-template-columns:1fr;gap:12px;text-align:center}.goal-quote__mark{display:none}.goal-quote p{font-size:clamp(26px,7vw,42px)}
  .contact__intro h2{font-size:clamp(54px,12vw,88px)}.contact__copy h3{font-size:clamp(40px,10vw,72px)}.contact__phone a{font-size:clamp(46px,11vw,78px)}.contact__other{grid-template-columns:1fr}.contact__map-head{display:grid;gap:10px;justify-items:start}
  .footer__content{grid-template-columns:1fr;align-items:start}.footer__content>p{font-size:clamp(24px,8vw,40px)}
}
@media (max-width:560px){
  .container{width:min(100%,calc(100% - 34px))}
  .header__number{display:none}
  .hero__actions{gap:14px}.btn{min-height:50px;padding:0 15px;font-size:10px}.simple-link{font-size:10px}
  .gallery__grid{grid-template-columns:1fr}.gallery__picture{height:260px}
  .lightbox__body{padding-inline:8px;gap:6px}.lightbox__nav{width:38px;height:54px;font-size:26px}.lightbox__body figure{max-width:calc(100vw - 96px)}.lightbox__body figcaption{font-size:11px}.lightbox__body figcaption b{font-size:22px}
  .whatsapp-float{width:58px;height:58px;right:max(14px,calc(env(safe-area-inset-right) + 14px));bottom:max(14px,calc(env(safe-area-inset-bottom) + 14px))}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* ===============================================
   V5 — IDENTIDADE CLÁSSICA, COMPOSIÇÃO FINAL
   =============================================== */
html{scroll-padding-top:calc(var(--nav) + 8px)}
.screen-section{scroll-margin-top:calc(var(--nav) + 8px)}
/* Menu editorial desdobrável — de cima para baixo, scroll interno */
.menu-dropdown{top:var(--nav);max-height:calc(100dvh - var(--nav));overflow-y:auto;overscroll-behavior:contain;background:#064735;padding:clamp(18px,3.5vh,38px) 0 clamp(20px,4vh,40px);box-shadow:0 30px 70px #021d159e;scrollbar-color:#ffe63788 transparent;scrollbar-width:thin}
.menu-dropdown__inner{display:grid;grid-template-columns:minmax(0,33%) minmax(0,1fr);column-gap:clamp(28px,4vw,84px);row-gap:0;align-items:start}
.menu-dropdown__intro{display:grid;gap:15px;padding-top:12px;position:relative}
.menu-dropdown__intro>span{color:#d3f1dc;font-size:10px;font-weight:800;letter-spacing:.17em}
.menu-dropdown__intro strong{font:800 clamp(70px,8vw,150px)/.85 var(--display);color:var(--yellow);letter-spacing:-.035em}
.menu-dropdown__intro p{font-size:13px;color:#e1e9dc}
.menu-dropdown__links{display:grid;grid-template-columns:1fr;min-width:0}
.menu-dropdown__links a{position:relative;display:grid;grid-template-columns:28px 1fr;gap:14px;align-items:baseline;border:0;border-bottom:1px solid #ffffff38;background:none;padding:clamp(7px,1.65vh,20px) 3px;font:800 clamp(33px,4.1vw,70px)/.95 var(--display);letter-spacing:-.02em;transition:color .2s,transform .2s}
.menu-dropdown__links a:hover{background:none;color:var(--yellow);transform:translateX(8px)}
.menu-dropdown__links a:first-child{border-top:1px solid #ffffff38}
.menu-dropdown__links a span{font:800 10px var(--body);color:#a5d8bd;letter-spacing:.04em}
.menu-dropdown__foot{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-top:24px;padding-top:19px;border-top:1px solid #ffffff27;font-size:10px;font-weight:800;letter-spacing:.13em;color:#b8e3cb}
.menu-dropdown__foot a{border:0;padding:0;background:none;font:800 25px/1 var(--display);color:var(--yellow)}
.menu-trigger[aria-expanded="true"]{background:#0c6547}
.menu-trigger[aria-expanded="true"] .menu-lines i:first-child{transform:translateY(4px) rotate(45deg)}
.menu-trigger[aria-expanded="true"] .menu-lines i:last-child{width:100%;transform:translateY(-5px) rotate(-45deg)}
.menu-lines i{transition:transform .22s,width .22s}
/* Hero mantém copy da primeira versão, cartaz lateral original da V2 */
.hero__visual{border:0;box-shadow:none;transform:none;background:#f7f2e3;overflow:hidden;height:min(72svh,710px);min-height:410px;margin:0 0 0 clamp(0px,2vw,30px);aspect-ratio:720/760;justify-self:end;max-width:100%;width:auto}
.hero__visual img{transform:none;object-fit:contain;object-position:center;background:#f7f2e3}
.hero h1{margin-top:clamp(14px,2.6svh,26px);margin-bottom:clamp(17px,3svh,30px)}
.hero__destino{margin:clamp(15px,2.5svh,23px) 0 0;padding:10px 15px 9px;box-shadow:6px 6px 0 #e1e5da}
.hero__destino strong{font-size:clamp(23px,2vw,31px)}
.hero__actions{margin-top:clamp(15px,3svh,29px)}
/* Sobre nós: imagens limpas, sem molduras brancas ou sombras. */
.about__motto .container{min-height:clamp(116px,14vh,150px);display:flex;justify-content:center;align-items:center;text-align:center}
.about__motto p{font:800 clamp(35px,4vw,65px)/.93 var(--display);letter-spacing:-.025em}
.about__pictures{background:#cfe5c9;border:0;overflow:hidden}
.about__photo{border:0;box-shadow:none}
.about__photo--main{left:5%;top:13%;width:83%;height:58%;transform:rotate(-1deg)}
.about__photo--small{right:4%;bottom:10%;width:44%;height:31%;transform:rotate(3deg)}
.about__photo figcaption{padding:11px 13px}
/* Serviços: cinco cartões com identidade e ilustração, em vez de caixas genéricas. */
.services{padding:clamp(36px,4.8svh,55px) 0}
.services__inner{width:min(1250px,calc(100% - 96px))}
.section-heading--simple{margin-bottom:clamp(23px,3svh,32px)}
.section-heading--simple h2{font-size:clamp(58px,min(6.3vw,9svh),95px)}
.services__grid{gap:18px}
.service-feature,.service-card{min-height:clamp(255px,34svh,315px);padding:24px 27px 0;position:relative;overflow:hidden;display:flex;flex-direction:column;box-shadow:none;border:0;text-align:left;align-content:initial;gap:0;transition:transform .23s ease,box-shadow .23s ease}
.service-feature:hover,.service-card:hover{transform:translateY(-4px);box-shadow:0 9px 20px #063e2d10}
.service-feature--car{background:#dfefe0}.service-feature--moto{background:#e8ecd2}
.service-card--tvde{background:#e0ebd6}.service-card--licenca{background:#f4edd0}.service-card--medico{background:#dcebe8}
.service-feature__top{display:flex;justify-content:space-between;align-items:flex-start;position:relative;z-index:2;color:#0b6d47;font:800 10px/1.2 var(--body);letter-spacing:.11em}
.service-feature__top span:last-child{font:700 25px/1 var(--body);transition:transform .2s}
.service-feature:hover .service-feature__top span:last-child,.service-card:hover .service-feature__top span:last-child{transform:translate(3px,-3px)}
.service-feature__words{display:flex;align-items:end;gap:15px;margin-top:clamp(13px,2svh,20px);position:relative;z-index:2}
.service-feature h3,.service-card h3{font:800 clamp(47px,4.15vw,73px)/.88 var(--display);letter-spacing:-.025em;color:var(--deep);white-space:normal;margin:0}
.service-card--tvde h3,.service-card--licenca h3{font-size:clamp(42px,3.55vw,63px)}
.service-feature__words p,.service-card p{max-width:185px;font:500 12px/1.55 var(--body);color:#4f6f5f;margin:0;padding:0;align-self:end}
.service-feature img,.service-card img{position:absolute;bottom:-6px;right:20px;width:53%;height:51%;max-width:350px;object-fit:contain;object-position:right bottom}
.service-feature--moto img{width:58%;height:56%;right:1%;bottom:-7px}
.service-card--tvde img{width:50%;height:56%}
.service-card--licenca img{width:49%;height:57%;right:10px}
.service-card--medico img{width:52%;height:64%;right:0;bottom:-10px}
.service-card--wide{grid-column:1/-1;max-width:calc(50% - 9px);width:100%;justify-self:center;text-align:left}
.services__notice{text-align:center;margin-top:22px;font-size:10px;color:#5d746a}
/* Galeria: título em cima, seis imagens em grelha e sem legendas */
.gallery{padding:clamp(38px,5svh,60px) 0;background:#eaf0e7}
.gallery__heading--center{display:flex!important;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;margin-bottom:30px}
.gallery__heading--center .eyebrow{color:#137a53;margin:0}
.gallery__heading--center h2{font-size:clamp(58px,min(6.3vw,10svh),96px);line-height:.88;margin:7px 0}
.gallery__heading--center p:last-child{max-width:670px;font-size:14px;line-height:1.65;color:#5d7568;margin:0}
.gallery__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;justify-content:center}
.gallery__item{display:block;border:0;padding:0;min-width:0;cursor:zoom-in;background:transparent}
.gallery__picture{border:0;background:#d8e3d6;display:block;overflow:hidden;aspect-ratio:1.46/1;height:auto;max-height:320px}
.gallery__picture img{width:100%;height:100%;object-fit:cover;transition:transform .42s cubic-bezier(.2,.75,.2,1)}
.gallery__picture--contain img{object-fit:contain;background:#dae9d2;padding:12px}
.gallery__item:hover img{transform:scale(1.055)}
.gallery__item:focus-visible{outline-offset:6px}
.lightbox__body figcaption{justify-content:flex-end}
.lightbox__body figcaption #lightboxCaption{display:none}
/* Faixa de objetivo com duas linhas hierárquicas, ambas centradas */
.goal-quote{padding:clamp(30px,5vh,65px) 0;background:var(--yellow)}
.goal-quote__inner{display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center}
.goal-quote__mark{display:none}
.goal-quote p{font:800 clamp(36px,4vw,63px)/.98 var(--display);letter-spacing:-.02em}
.goal-quote p br{display:block;content:'';margin-top:10px}
.goal-quote em{display:block;font-size:.79em;line-height:1.08;color:#147347;font-style:normal}
/* FAQ: traços finos, sem caixas; como a referência */
.faq{padding:clamp(35px,6svh,65px) 0;background:#f9faf5}
.faq__grid{grid-template-columns:minmax(0,40%) minmax(0,60%);gap:clamp(35px,4vw,78px);min-width:0}
.faq h2{font-size:clamp(74px,min(8vw,13svh),124px);margin:24px 0 22px}
.faq__intro{min-width:0}
.faq__intro p:not(.eyebrow){max-width:395px;font-size:15px;line-height:1.75;color:#698073}
.faq__list{gap:0;min-width:0;border-top:1px solid #ccdacf}
.faq__list details{background:transparent;border:0;border-bottom:1px solid #ccdacf}
.faq__list summary{min-height:clamp(65px,8svh,78px);display:grid;grid-template-columns:26px 1fr 32px;gap:13px;padding:12px 0;font:800 16px/1.3 var(--body);color:#092f25}
.faq__list summary span{color:#18815a;font:800 10px/1 var(--body)}
.faq__list summary b{border:1px solid #c7dacb;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#0b714d;font-size:19px;font-weight:500}
.faq__list details[open] summary b{transform:rotate(45deg)}
.faq__list details p{padding:0 45px 22px 39px;margin:0;font-size:14px;line-height:1.7;color:#60786c}
/* Contactos: esquerda informação, direita mapa, sem caixa branca extra de formulário */
.contact{padding:clamp(34px,5svh,58px) 0;background:#086044;color:white}
.contact__intro{margin-bottom:clamp(22px,3svh,35px);gap:8px}
.contact__intro h2{font-size:clamp(74px,min(8vw,11svh),124px);line-height:.87}
.contact__intro h2 em{color:var(--yellow)}
.contact__grid{grid-template-columns:minmax(0,43%) minmax(0,57%);gap:clamp(28px,3vw,45px);align-items:stretch}
.contact__copy{padding:0;gap:13px;align-content:start}
.contact__copy h3{font-size:clamp(48px,4.5vw,74px);line-height:.9}
.contact__copy>p{max-width:340px;color:#e6f1e6;line-height:1.65;font-size:14px;margin:0 0 3px}
.contact__phone{padding:15px 0}
.contact__phone span,.contact__other span,.contact__map-head span{font-size:9px;font-weight:800;letter-spacing:.16em;color:#e4f9dd}
.contact__phone a{font-size:clamp(54px,4.3vw,74px);white-space:nowrap;line-height:.93}
.contact__other{grid-template-columns:1fr;gap:0;margin-top:0}
.contact__other>div{border-bottom:1px solid #ffffff32;padding:9px 0;min-width:0}
.contact__other a{display:block;font:800 clamp(18px,2vw,27px)/1.15 var(--display);overflow-wrap:anywhere;margin-top:4px}
.contact__other p{margin-top:4px;font-size:12px;line-height:1.5}
.contact__other>div:last-child{border:0}
.contact__map-card{display:grid;grid-template-rows:auto minmax(370px,1fr);background:transparent;color:var(--deep);min-width:0}
.contact__map-head{background:#e0efe1;padding:17px 20px;align-items:center}
.contact__map-head span{color:#0d6242}
.contact__map{min-height:420px;background:#d7e4d6;min-width:0;position:relative;overflow:hidden}
.contact__map iframe{min-width:0;display:block;position:absolute;inset:0;width:100%;height:100%}
.contact__map-head a{font-size:10px}
/* WhatsApp sempre completamente dentro da janela */
.whatsapp-float{position:fixed;z-index:72;inset:auto max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) auto;flex:none;width:64px;height:64px;min-width:64px;min-height:64px;overflow:visible;box-sizing:border-box;box-shadow:0 4px 20px #001c1440;background:#24ce64;border:3px solid white;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform .2s}
.whatsapp-float svg{width:31px;height:31px;flex:none;display:block}
/* screens with short usable height: no clipped content */
@media(min-width:1181px) and (max-height:860px){
 .hero__visual{height:min(68svh,650px);min-height:340px}.hero h1{font-size:clamp(67px,min(7vw,11.8svh),115px)}
 .hero__copy{padding-block:18px}.hero__destino{margin-top:12px}
 .about__body{padding-block:20px}.about__pictures{min-height:410px}.about__motto .container{min-height:95px}
 .contact__map{min-height:360px}.contact__map-card{grid-template-rows:auto minmax(350px,1fr)}
}
@media(max-width:1180px){
 .menu-dropdown__inner{grid-template-columns:minmax(0,35%) minmax(0,65%)}
 .menu-dropdown__links a{font-size:clamp(32px,5vw,58px)}
 .hero__grid{grid-template-columns:52% 48%}.hero__visual{height:auto;min-height:0;width:100%;max-width:540px;aspect-ratio:720/760;justify-self:end}
 .about__body{grid-template-columns:50% 50%}.about__pictures{min-height:450px}.about__copy{padding:25px 28px}
 .faq__grid{grid-template-columns:minmax(0,38%) minmax(0,62%);gap:25px}
 .contact__grid{grid-template-columns:minmax(0,45%) minmax(0,55%);gap:22px}.contact__copy{order:initial}.contact__map-card{order:initial}
 .service-feature h3,.service-card h3{font-size:clamp(42px,5.4vw,66px)}
 .service-card--tvde h3,.service-card--licenca h3{font-size:clamp(36px,4.3vw,54px)}
}
@media(max-width:900px){
 .screen-section{min-height:0;padding-block:45px}
 .hero__grid{grid-template-columns:1fr;gap:12px;padding-block:26px;min-height:0}.hero__copy{padding:0}.hero__visual{width:min(100%,530px);height:auto;aspect-ratio:720/760;max-height:none;justify-self:center;margin:0}
 .menu-dropdown__inner{grid-template-columns:minmax(0,1fr)}
 .menu-dropdown__intro{display:none}.menu-dropdown__links a{font-size:clamp(34px,7vw,57px);padding:clamp(9px,1.5vh,18px) 4px}
 .menu-dropdown__foot{grid-column:auto}
 .about{padding:0}.about__body{grid-template-columns:1fr;padding-block:28px}.about__pictures{min-height:430px}.about__copy{padding:32px 8px 14px}
 .about__motto p{font-size:clamp(31px,6vw,52px)}
 .services__grid{grid-template-columns:1fr 1fr}.service-card--wide{grid-column:1/-1;max-width:calc(50% - 9px)}
 .service-feature,.service-card{min-height:270px}
 .service-feature h3,.service-card h3{font-size:clamp(38px,5.2vw,55px)}
 .service-card--tvde h3,.service-card--licenca h3{font-size:clamp(34px,4.4vw,49px)}
 .service-feature__words{display:flex;margin-top:13px}.service-feature__words p{max-width:140px;font-size:11px;margin:0}
 .service-feature img,.service-card img{height:52%}
 .gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery__picture{max-height:none}
 .faq__grid{grid-template-columns:1fr}.faq h2{font-size:clamp(72px,11vw,110px)}
 .contact__grid{grid-template-columns:1fr 1fr}.contact__map-card{grid-template-rows:auto minmax(390px,1fr)}
 .contact__map{min-height:400px}.contact__intro h2{font-size:clamp(56px,8vw,92px)}
 .contact__phone a{font-size:clamp(43px,6vw,66px)}
}
@media(max-width:700px){
 .menu-dropdown__links a{font-size:clamp(31px,9vw,49px)}
 .hero h1{font-size:clamp(55px,12.8vw,85px)}
 .about__motto .container{min-height:112px}.about__motto p{font-size:clamp(30px,7vw,44px);line-height:1.04}
 .services__grid{grid-template-columns:1fr}.service-feature,.service-card{min-height:clamp(274px,74vw,345px);padding:21px 23px 0}
 .service-card--wide{max-width:none;grid-column:auto}
 .service-feature h3,.service-card h3{font-size:clamp(58px,11vw,82px)}
 .service-card--tvde h3,.service-card--licenca h3{font-size:clamp(47px,9vw,70px)}
 .service-feature__words{display:block}.service-feature__words p{margin-top:9px;max-width:230px;font-size:12px}
 .service-feature img,.service-card img{width:50%;height:51%;right:2%;bottom:-5px}.service-card--tvde img,.service-card--licenca img{width:55%;height:53%}.service-card--medico img{height:65%;width:54%}
 .gallery__grid{gap:10px}
 .contact__grid{grid-template-columns:1fr}.contact__map-card{grid-template-rows:auto minmax(380px,1fr)}.contact__copy{order:1}.contact__map-card{order:2}
 .contact__other{grid-template-columns:1fr 1fr;gap:10px 20px}.contact__other>div{padding-block:12px}.contact__phone a{font-size:clamp(55px,11vw,75px)}
 .contact__map{min-height:390px}
}
@media(max-width:560px){
 .hero__grid{padding-block:24px 38px;gap:24px}.hero__destino{padding:10px 12px}.hero__destino strong{font-size:24px}.hero h1{font-size:clamp(56px,13.6vw,78px);white-space:nowrap}.hero__desc{font-size:13px;line-height:1.65}.hero__actions{gap:14px}
 .hero__visual{max-width:100%;width:min(100%,480px)}
 .about__pictures{min-height:310px}.about__photo--main{left:1%;width:88%;top:13%;height:55%}.about__photo--small{right:1%;bottom:8%;width:48%;height:34%}
 .about h2{font-size:clamp(68px,14vw,94px)}.about__copy{padding:28px 0 10px}
 .services__inner{width:calc(100% - 34px)}.services .section-heading h2{font-size:clamp(53px,11vw,80px)}
 .service-feature h3,.service-card h3{font-size:clamp(49px,12.7vw,73px)}
 .service-card--tvde h3,.service-card--licenca h3{font-size:clamp(43px,10vw,59px)}
 .gallery__heading--center h2{font-size:clamp(64px,13vw,83px)}.gallery__heading--center p:last-child{font-size:13px;padding-inline:4px}
 .gallery__grid{grid-template-columns:1fr 1fr;gap:9px}.gallery__picture{aspect-ratio:1/1}.gallery__picture--contain img{padding:6px}
 .goal-quote p{font-size:clamp(38px,9vw,56px)}.goal-quote em{font-size:.81em}
 .faq h2{font-size:clamp(76px,16vw,105px)}.faq__list summary{font-size:12px;grid-template-columns:20px 1fr 30px;gap:9px;min-height:62px}.faq__list details p{padding:0 9px 20px 29px;font-size:13px}
 .contact__intro h2{font-size:clamp(60px,12vw,85px)}.contact__copy h3{font-size:clamp(48px,12vw,68px)}.contact__other{grid-template-columns:1fr 1fr}
 .contact__other a{font-size:clamp(15px,4.8vw,22px)}.contact__map-head{padding:16px 12px}.contact__map-head a{font-size:9px}.contact__map{min-height:350px}
 .whatsapp-float{width:58px;height:58px;min-width:58px;min-height:58px;right:16px;bottom:16px}.whatsapp-float svg{width:28px;height:28px}
}
@media(max-width:380px){
 .brand strong{font-size:17px}.brand__eyebrow{font-size:8px}.brand__mark img{width:35px;height:35px}
 .hero h1{font-size:clamp(49px,13.7vw,55px)}
 .services .section-heading h2{font-size:50px}.service-feature h3,.service-card h3{font-size:49px}.service-card--licenca h3,.service-card--tvde h3{font-size:39px}
 .service-feature__words p{max-width:180px;font-size:11px}.service-card--medico img{width:52%;height:59%}
 .about__motto p{font-size:28px}.contact__phone a{font-size:52px}.contact__other{grid-template-columns:1fr}
 .menu-dropdown__links a{font-size:32px}
}
@media (hover:none){.gallery__item:hover img{transform:none}}
/* Grid widths include the gap: use fractional tracks, never percentage tracks. */
.faq__grid{grid-template-columns:minmax(0,4fr) minmax(0,6fr)}
.contact__grid{grid-template-columns:minmax(0,43fr) minmax(0,57fr)}
@media(min-width:901px) and (max-width:1180px){
  .faq__grid{grid-template-columns:minmax(0,38fr) minmax(0,62fr)}
  .contact__grid{grid-template-columns:minmax(0,45fr) minmax(0,55fr)}
}
@media(max-width:900px){
  .faq__grid{grid-template-columns:1fr}
  .contact__grid{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){.contact__grid{grid-template-columns:1fr}}
/* Refinamentos de interação e títulos longos dos serviços */
.header{z-index:90}
.menu-dropdown{z-index:85}
.menu-overlay{z-index:75}
.service-card--tvde .service-feature__words,
.service-card--licenca .service-feature__words{display:block}
.service-card--tvde .service-feature__words p,
.service-card--licenca .service-feature__words p{max-width:235px;margin-top:10px}
.service-card--tvde h3{font-size:clamp(36px,3.4vw,51px)}
.service-card--licenca h3{font-size:clamp(34px,3.15vw,48px)}
@media(max-width:700px){
 .service-card--tvde h3{font-size:clamp(40px,8.8vw,60px)}
 .service-card--licenca h3{font-size:clamp(38px,8.3vw,56px)}
}
@media(max-width:380px){
 .service-card--tvde h3{font-size:39px}
 .service-card--licenca h3{font-size:36px}
}
/* Galeria e contactos têm dois blocos verticais (cabeçalho + conteúdo).
   Não podem herdar a fila flex horizontal genérica de .screen-section. */
.gallery,.contact{display:block}
.gallery__heading,.contact__intro{width:min(1340px,calc(100% - 96px));margin-inline:auto}
.contact__grid{min-width:0}
.contact__copy,.contact__map-card{min-width:0}
@media(max-width:1180px){.gallery__heading,.contact__intro{width:min(100%,calc(100% - 56px))}}
@media(max-width:560px){.gallery__heading,.contact__intro{width:min(100%,calc(100% - 34px))}}
/* Última revisão de proporção e leitura */
.gallery__picture{height:clamp(175px,23svh,240px);aspect-ratio:auto}
.gallery{min-height:calc(100svh - var(--nav));padding-block:clamp(31px,4.2svh,48px)}
.gallery__heading--center{margin-bottom:clamp(15px,2.6svh,25px)}
@media(min-width:561px) and (max-width:900px){.gallery__picture{height:clamp(160px,19svh,205px)}}
@media(max-width:560px){
 .gallery{padding-block:35px}
 .gallery__picture{height:min(42vw,166px)}
 .gallery__heading--center{margin-bottom:18px}
 .contact__other{grid-template-columns:1fr}
 .contact__other a{font-size:clamp(21px,6vw,27px)}
 .contact__other>div{padding-block:10px}
}


/* V6 — CONTACTOS A RESPIRAR, HORÁRIOS CLAROS, FOOTER CONVENCIONAL */
.contact{padding:clamp(65px,8vw,112px) 0 90px;background:#0d6348}
.contact .container{min-width:0}
.contact__intro{width:auto;display:block;margin:0 0 clamp(35px,5vw,65px)}
.contact__intro h2{font-size:clamp(55px,6vw,104px);max-width:980px;line-height:.96;margin:18px 0 0;letter-spacing:-.035em}
.contact__intro h2 em{color:var(--yellow)}
.contact__grid{grid-template-columns:minmax(0,43fr) minmax(0,57fr);align-items:stretch;gap:clamp(28px,4vw,72px);margin-bottom:clamp(50px,6vw,82px)}
.contact__copy{display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:0;padding:0}
.contact__lead{margin-bottom:clamp(20px,2.5vw,30px)}
.contact__lead h3{font:800 clamp(46px,4vw,68px)/.94 var(--display);margin:0 0 12px;letter-spacing:-.02em;color:white}
.contact__lead p{font-size:14px;line-height:1.75;color:#e2ede4;max-width:390px}
.contact__phone{padding:22px 0 24px;gap:12px;border-color:#d9efdf42}
.contact__phone span,.contact__details span{display:block;font-size:10px;font-weight:800;letter-spacing:.13em;color:#e2e9c8;margin-bottom:8px}
.contact__phone a{font:800 clamp(52px,5.3vw,80px)/1 var(--display);letter-spacing:-.012em;color:white}
.contact__details{display:grid;grid-template-columns:minmax(0,0.75fr) minmax(0,1.25fr);gap:18px 20px;padding:23px 0;min-width:0}
.contact__details>div{min-width:0}
.contact__details a{font:700 clamp(13px,1.2vw,17px)/1.4 var(--body);color:white;overflow-wrap:anywhere}
.contact__message{margin-top:auto;display:flex;align-items:center;justify-content:space-between;min-height:58px;gap:10px;background:var(--yellow);padding:12px 18px;color:var(--deep);font-size:11px;font-weight:800;letter-spacing:.07em;transition:background .2s}
.contact__message:hover{background:#fff08b}.contact__message>span:last-child{font-size:25px}
.contact__map-card{display:flex;flex-direction:column;min-width:0;background:#f7f7f0;border:0}
.contact__map-head{display:flex;align-items:center;justify-content:space-between;min-height:56px;gap:10px;padding:15px 18px;background:#e8f0df}
.contact__map-head span{font-size:10px;font-weight:800;letter-spacing:.08em;color:#0b6244}.contact__map-head a{font-size:10px;font-weight:800;color:#0b6244;white-space:nowrap}
.contact__map{position:relative;flex:1;min-height:365px;overflow:hidden;background:#d6e4d8}
.contact__map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.contact__address{display:grid;gap:6px;padding:18px 20px;background:#f7f7f0;color:#164231}
.contact__address strong{font:800 14px/1.1 var(--display);letter-spacing:.06em}
.contact__address span{font-size:12px;line-height:1.5;color:#587261}
.hours{border-top:1px solid #d9e9d44d;padding-top:31px;scroll-margin-top:calc(var(--nav) + 14px)}
.hours__heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}
.hours__heading h3{font:800 clamp(39px,4vw,59px)/1 var(--display);margin-top:11px}
.hours__heading>span{font-size:10px;font-weight:800;letter-spacing:.15em;color:var(--yellow)}
.hours__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.8fr);gap:0;border-top:1px solid #d9e9d44d}
.hours__block{min-width:0;padding:24px clamp(16px,2.4vw,34px);border-right:1px solid #d9e9d44d}
.hours__block:first-child{padding-left:0}.hours__block:last-child{border:0;padding-right:0}
.hours__icon{font:800 12px/1 var(--body);color:var(--yellow);letter-spacing:.13em;margin-bottom:21px}
.hours__block h4{font:800 clamp(25px,2.2vw,35px)/1 var(--display);color:white;margin:0 0 14px}
.hours__block>p{font:700 clamp(16px,1.65vw,24px)/1.5 var(--body);color:white}
.hours__block>small{display:block;font:500 12px/1.6 var(--body);color:#cfebdb;margin-top:11px}
.hours__theory{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.hours__theory strong{display:block;color:var(--yellow);font-size:9px;letter-spacing:.09em;margin-bottom:8px}
.hours__theory p{color:#f2fff7;font:600 13px/1.85 var(--body)}
/* Footer organized with clear navigation and legally useful modals */
.footer{background:#062e23;color:#eefaf1;padding:clamp(48px,5.5vw,78px) 0 22px}
.footer__main{display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:clamp(24px,3.2vw,55px);align-items:start;padding-bottom:55px}
.footer__identity{display:flex;flex-direction:column;align-items:flex-start;gap:20px;min-width:0}
.footer__brand{display:flex;align-items:center;gap:12px}.footer__brand img{background:white;padding:4px;border-radius:3px;flex:none}
.footer__brand strong{font:800 clamp(20px,2vw,28px)/.95 var(--display);white-space:normal}
.footer__brand small{font:800 9px/1 var(--body);color:#bce5cd;letter-spacing:.14em}
.footer__identity>p{font-size:13px;line-height:1.8;color:#b9d7c8;max-width:280px}
.footer__social{display:flex;gap:22px;flex-wrap:wrap}
.footer__social a{color:#ffe637;font-size:11px;font-weight:800;letter-spacing:.04em}
.footer__col{display:flex;flex-direction:column;align-items:flex-start;gap:14px;min-width:0}
.footer__col h3{font:800 13px/1 var(--body);letter-spacing:.1em;color:#ffe637;margin:8px 0 10px}
.footer__col a,.footer__col span{font:500 13px/1.55 var(--body);color:#e5f0e9;overflow-wrap:anywhere}
.footer__col a:hover,.footer__social a:hover,.footer__legal button:hover{text-decoration:underline;text-underline-offset:4px}
.footer__col a.footer__tel{font:800 26px/.9 var(--display);color:white}
.footer__bottom{border-top:1px solid #d9e9d442;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding-top:21px}
.footer__bottom>span{color:#a9cabb;font-size:11px;line-height:1.6}
.footer__legal{display:flex;align-items:center;gap:15px 22px;flex-wrap:wrap}
.footer__legal button{border:0;background:none;padding:0;color:#dceade;font:600 11px/1.6 var(--body);cursor:pointer}
/* user-supplied authentic photos in a polished, crop-aware grid */
.gallery{padding-block:clamp(62px,6vw,90px);min-height:0}
.gallery__heading--center{margin-bottom:42px}
.gallery__heading--center h2{font-size:clamp(61px,6vw,100px)}
.gallery__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:row dense;grid-auto-rows:clamp(160px,16vw,240px);gap:12px}
.gallery__item{min-width:0;grid-row:span 1;display:block;cursor:zoom-in}
.gallery__picture{display:block;width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:auto;overflow:hidden;background:#dce9dc}
.gallery__picture img{width:100%;height:100%;object-fit:cover;object-position:center 40%;transition:transform .4s ease}
.gallery__item--portrait{grid-row:span 2}
.gallery__item--wide{grid-column:span 2;grid-row:span 2}
.gallery__item--landscape{grid-column:span 2}
.gallery__item:nth-child(6) img,.gallery__item:nth-child(9) img{object-position:center 28%}
.gallery__item:hover img{transform:scale(1.055)}
@media(max-width:1100px){
 .footer__main{grid-template-columns:repeat(4,minmax(0,1fr))}
 .contact__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}
 .contact__intro h2{font-size:clamp(58px,7vw,87px)}
 .contact__details{grid-template-columns:1fr}
 .hours__grid{grid-template-columns:1fr 1fr}
 .hours__block:nth-child(2){border-right:0}
 .hours__block:last-child{grid-column:1/-1;padding:22px 0;border-top:1px solid #d9e9d44d}
 .hours__theory{max-width:630px}
 .gallery__grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(155px,18vw,240px)}
}
@media(max-width:760px){
 .contact{padding-block:62px}
 .contact__intro{margin-bottom:35px}
 .contact__intro h2{font-size:clamp(46px,9vw,74px)}
 .contact__grid{grid-template-columns:1fr;gap:32px}
 .contact__copy{gap:0}
 .contact__lead{margin-bottom:18px}
 .contact__details{grid-template-columns:repeat(2,minmax(0,1fr))}
 .contact__map{min-height:clamp(300px,56vw,430px)}
 .contact__message{margin-top:10px}
 .hours__heading h3{font-size:clamp(36px,6vw,52px)}
 .footer__main{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px;padding-bottom:40px}
 .footer__identity{grid-column:1/-1}
 .footer__col--contact{grid-column:auto}
 .gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(155px,31vw,260px);gap:10px}
 .gallery__item--landscape{grid-column:span 2}
 .gallery__item--portrait{grid-row:span 2}
 .gallery__item--wide{grid-column:span 2;grid-row:span 2}
}
@media(max-width:470px){
 .contact__intro h2{font-size:clamp(45px,11vw,60px)}
 .contact__lead h3{font-size:clamp(43px,11vw,56px)}
 .contact__phone a{font-size:clamp(48px,13vw,65px)}
 .contact__details{grid-template-columns:1fr;gap:18px}
 .contact__details a{font-size:15px}
 .contact__map-head{padding-inline:14px}
 .contact__map-head a{font-size:10px}
 .hours__heading{display:block}
 .hours__heading>span{display:block;margin-top:16px}
 .hours__grid{grid-template-columns:1fr}
 .hours__block,.hours__block:first-child,.hours__block:last-child{padding:21px 0;border-right:0;border-bottom:1px solid #d9e9d44d;grid-column:auto}
 .hours__block:last-child{border-bottom:0}
 .hours__theory{gap:15px}
 .hours__theory p{font-size:12px}
 .footer__main{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 19px}
 .footer__identity{grid-column:1/-1}
 .footer__col h3{font-size:11px}
 .footer__col a,.footer__col span{font-size:12px}
 .footer__col--contact{grid-column:1/-1;border-top:1px solid #d9e9d444;padding-top:10px}
 .footer__bottom{display:block}
 .footer__legal{margin-top:20px;gap:10px 16px}
 .gallery__grid{grid-auto-rows:clamp(120px,34vw,190px);gap:8px}
 .gallery__heading--center{margin-bottom:25px}
}

/* Reserva espaço para que o botão WhatsApp não tape os links legais no rodapé */
.footer{padding-bottom:clamp(92px,7vw,112px)}


/* =============================================
  V7 · Polimento focado a pedido da escola
  Mantém toda a identidade, galeria, horários e conteúdo da V6.
  ============================================= */
/* SOBRE NÓS — composição original de duas faixas contínuas sem caixa lateral nem margens verdes. */
.about__body{width:100%;max-width:none;margin:0;min-width:0;display:grid;grid-template-columns:minmax(0,49fr) minmax(0,51fr);padding:0!important;align-items:stretch}
.about__pictures{width:100%;height:100%;min-height:clamp(440px,calc(100svh - var(--nav) - 128px),720px);overflow:hidden;isolation:isolate}
.about__copy{width:100%;padding:clamp(25px,4vw,62px) clamp(35px,5.2vw,100px);align-self:center}
.about__photo--main{left:8%;top:12%;width:78%;height:55%;transform:rotate(-1.5deg)}
.about__photo--small{right:6%;bottom:9%;width:45%;height:33%;transform:rotate(3deg)}
/* SERVIÇOS — título e texto SEMPRE empilhados; a ilustração está numa linha própria da grelha. */
.services__grid > a.service-feature,
.services__grid > a.service-card{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:auto auto minmax(100px,1fr);
  align-content:stretch;
  align-items:start;
  min-width:0;
  min-height:clamp(320px,35svh,365px);
  padding:clamp(19px,2vw,26px) clamp(19px,2.1vw,29px) 0;
  row-gap:0;
}
.services__grid .service-feature__top{grid-row:1;grid-column:1;min-width:0}
.services__grid .service-feature__words,
.services__grid .service-card--tvde .service-feature__words,
.services__grid .service-card--licenca .service-feature__words{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  margin-top:clamp(13px,1.7svh,20px);
  grid-row:2;
  grid-column:1;
  min-width:0;
  width:100%;
  position:relative;
  z-index:1;
  flex:none;
}
.services__grid .service-feature__words h3{flex:none;max-width:100%;overflow-wrap:normal}
.services__grid .service-feature__words p,
.services__grid .service-card--tvde .service-feature__words p,
.services__grid .service-card--licenca .service-feature__words p{
  display:block;
  margin:0;
  padding:0;
  align-self:flex-start;
  max-width:min(100%,385px);
  font-size:clamp(11px,1.05vw,13px);
  line-height:1.45;
  color:#496c5b;
}
.services__grid .service-feature img,
.services__grid .service-card img,
.services__grid .service-feature--moto img,
.services__grid .service-card--tvde img,
.services__grid .service-card--licenca img,
.services__grid .service-card--medico img{
  position:relative!important;
  grid-row:3;
  grid-column:1;
  display:block;
  justify-self:end;
  align-self:end;
  right:auto;bottom:auto;
  width:min(67%,350px);
  max-width:100%;
  height:auto;
  max-height:165px;
  object-fit:contain;
  object-position:right bottom;
  margin:12px 0 0 auto;
  z-index:0;
}
.services__grid .service-card--medico img{max-height:182px;width:min(56%,280px)}
.services__grid .service-card--tvde h3{font-size:clamp(35px,3.45vw,54px)}
.services__grid .service-card--licenca h3{font-size:clamp(33px,3.22vw,52px)}
/* WhatsApp: substituir o caminho gráfico antigo por símbolo reconhecível, alinhado ao centro. */
.whatsapp-float{
  position:fixed!important;
  inset:auto calc(22px + env(safe-area-inset-right,0px)) calc(24px + env(safe-area-inset-bottom,0px)) auto!important;
  width:62px;height:62px;min-width:62px;min-height:62px;
  padding:0!important;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
  border-radius:50%;border:3px solid #fff;
  background:#23cb63;
  box-shadow:0 7px 26px #061f1952;
  transform:none;
  transition:background .25s ease,box-shadow .25s ease,transform .3s cubic-bezier(.2,.8,.2,1);
  z-index:74;
}
.whatsapp-float img{display:block;width:36px!important;height:36px!important;max-width:none;object-fit:contain;flex:none;filter:none}
.whatsapp-float:hover{transform:translateY(-3px);background:#16b956;box-shadow:0 12px 30px #061f195a}
/* Menu dropdown: revelação suave desde o header e entradas em sequência. */
.menu-dropdown{
  transform-origin:top center;
  clip-path:inset(0 0 100% 0);
  transform:translateY(-13px) scaleY(.97);
  opacity:0;
  visibility:hidden;
  transition:clip-path .52s cubic-bezier(.2,.76,.2,1),
             transform .52s cubic-bezier(.2,.76,.2,1),
             opacity .33s ease,
             visibility 0s linear .52s;
  will-change:clip-path,transform;
}
.menu-dropdown.is-open{
  clip-path:inset(0 0 0 0);
  transform:translateY(0) scaleY(1);
  opacity:1;
  visibility:visible;
  transition:clip-path .62s cubic-bezier(.16,1,.3,1),
             transform .62s cubic-bezier(.16,1,.3,1),
             opacity .38s ease,
             visibility 0s;
}
.menu-dropdown__intro,.menu-dropdown__links a,.menu-dropdown__foot{
  opacity:0;
  transform:translateY(15px);
  transition:opacity .33s ease,transform .52s cubic-bezier(.16,1,.3,1),color .2s ease;
}
.menu-dropdown.is-open .menu-dropdown__intro,
.menu-dropdown.is-open .menu-dropdown__links a,
.menu-dropdown.is-open .menu-dropdown__foot{
  opacity:1;transform:translateY(0);
}
.menu-dropdown.is-open .menu-dropdown__intro{transition-delay:.06s}
.menu-dropdown.is-open .menu-dropdown__links a:nth-child(1){transition-delay:.07s}
.menu-dropdown.is-open .menu-dropdown__links a:nth-child(2){transition-delay:.10s}
.menu-dropdown.is-open .menu-dropdown__links a:nth-child(3){transition-delay:.13s}
.menu-dropdown.is-open .menu-dropdown__links a:nth-child(4){transition-delay:.16s}
.menu-dropdown.is-open .menu-dropdown__links a:nth-child(5){transition-delay:.19s}
.menu-dropdown.is-open .menu-dropdown__links a:nth-child(6){transition-delay:.22s}
.menu-dropdown.is-open .menu-dropdown__foot{transition-delay:.23s}
.menu-dropdown.is-open .menu-dropdown__links a:hover{transform:translateX(7px)}
.menu-overlay{opacity:0;transition:opacity .42s ease}
.menu-overlay.is-visible{opacity:1}
.menu-lines i{transition:transform .34s cubic-bezier(.2,.8,.2,1),width .34s ease}
@media(max-width:1180px){
  .about__body{grid-template-columns:minmax(0,49fr) minmax(0,51fr)}
  .about__copy{padding:28px clamp(20px,3vw,50px)}
  .about__pictures{min-height:430px}
  .services__grid > a.service-feature,.services__grid > a.service-card{min-height:315px}
  .services__grid .service-feature h3{font-size:clamp(43px,4.5vw,64px)}
  .services__grid .service-card--tvde h3{font-size:clamp(33px,3.9vw,49px)}
  .services__grid .service-card--licenca h3{font-size:clamp(30px,3.7vw,47px)}
}
@media(max-width:900px){
  .about__body{grid-template-columns:1fr}
  .about__pictures{min-height:clamp(310px,52vw,480px)}
  .about__copy{padding:40px clamp(25px,5vw,65px) 45px}
  .services__grid > a.service-feature,.services__grid > a.service-card{min-height:315px}
  .services__grid .service-feature h3{font-size:clamp(43px,5.4vw,64px)}
  .services__grid .service-card--tvde h3{font-size:clamp(32px,4.4vw,52px)}
  .services__grid .service-card--licenca h3{font-size:clamp(31px,4.1vw,51px)}
}
@media(max-width:700px){
  .about__body{display:grid;grid-template-columns:1fr}
  .about__pictures{min-height:clamp(300px,75vw,475px)}
  .about__copy{padding:35px 20px 45px}
  .services__grid > a.service-feature,.services__grid > a.service-card{min-height:315px;grid-template-rows:auto auto minmax(118px,1fr)}
  .services__grid .service-feature h3{font-size:clamp(52px,10.8vw,75px)}
  .services__grid .service-card--tvde h3{font-size:clamp(43px,9vw,65px)}
  .services__grid .service-card--licenca h3{font-size:clamp(38px,8vw,57px)}
  .services__grid .service-feature__words p{font-size:12px;max-width:100%}
  .services__grid .service-feature img,.services__grid .service-card img{width:min(67%,310px);max-height:165px}
}
@media(max-width:380px){
  .services__grid .service-feature h3{font-size:clamp(45px,10vw,54px)}
  .services__grid .service-card--tvde h3{font-size:clamp(37px,9vw,48px)}
  .services__grid .service-card--licenca h3{font-size:clamp(34px,8vw,43px)}
  .services__grid > a.service-feature,.services__grid > a.service-card{min-height:310px;padding:19px 20px 0}
}
@media(max-width:560px){
  .whatsapp-float{
    width:58px;height:58px;min-width:58px;min-height:58px;
    inset:auto calc(16px + env(safe-area-inset-right,0px)) calc(18px + env(safe-area-inset-bottom,0px)) auto!important;
  }
  .whatsapp-float img{width:33px!important;height:33px!important}
}
@media(prefers-reduced-motion:reduce){
  .menu-dropdown,.menu-dropdown.is-open,.menu-dropdown__intro,.menu-dropdown__links a,.menu-dropdown__foot,.menu-overlay,.menu-lines i{transition:none!important}
}


/* Animações discretas de primeira entrada nas secções.
   Propriedade individual 'translate' preserva os transforms existentes (hover, etc.).
   DOM e semântica continuam visíveis sem JS. */
@keyframes sectionReveal {
  from { opacity: 0; translate: 0 22px; }
  to { opacity: 1; translate: 0 0; }
}
@media (prefers-reduced-motion: no-preference) {
  html.motion-ready [data-reveal]:not(.is-visible) { opacity: 0; }
  html.motion-ready [data-reveal].is-visible {
    animation: sectionReveal .72s cubic-bezier(.17, .72, .24, 1) both;
    animation-delay: var(--reveal-delay, 0ms);
  }
}
@media (prefers-reduced-motion: reduce) {
  html.motion-ready [data-reveal], html.motion-ready [data-reveal].is-visible {
    animation: none !important; opacity: 1 !important; translate: none !important;
  }
}


/* V9 / NAVBAR, alinhamento até à margem direita sem uma barra residual */
.header__inner{max-width:none!important;margin-inline:0!important;width:100%;padding-right:0!important}
.header__right{margin-left:auto;align-self:stretch}
.header__right .menu-trigger{margin:0;flex-shrink:0}

/* V9 / DETAILS: modal editorial, acessível, com scroll interno */
.service-dialog{
  width:min(1060px,calc(100vw - 56px));max-width:1060px;
  max-height:min(90dvh,940px);padding:0;border:0;border-radius:0;
  background:#f8f9f2;color:#092f25;overflow-y:auto;overscroll-behavior:contain;
  box-shadow:0 32px 110px #001b12a6;
}
.service-dialog::backdrop{background:rgba(1,27,20,.81);backdrop-filter:blur(6px)}
.service-dialog[open]{animation:service-dialog-in .30s cubic-bezier(.2,.8,.2,1) both}
.service-dialog::backdrop{animation:service-backdrop-in .24s ease-out both}
@keyframes service-dialog-in{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes service-backdrop-in{from{opacity:0}to{opacity:1}}
.service-dialog__close{position:sticky;float:right;top:0;right:0;z-index:3;display:flex;align-items:center;justify-content:center;gap:12px;background:#ffe637;border:0;color:#062f24;height:56px;padding:0 22px;font:800 11px var(--body);letter-spacing:.12em}
.service-dialog__close span:last-child{font:600 29px var(--body);line-height:1}
.service-dialog__close:hover{background:#fff18b}
.service-detail__head{min-height:200px;padding:33px 56px 37px;background:linear-gradient(130deg,#07513a,#0c684c);color:white;clear:none}
.service-detail__eyebrow{display:inline-block;font:800 10px var(--body);letter-spacing:.14em;color:#dcf4e5;text-transform:uppercase;max-width:calc(100% - 160px)}
.service-detail__head-dash{color:#ffe637;padding:0 8px}
.service-detail__head h3{font-size:clamp(43px,5vw,76px);line-height:.95;max-width:780px;margin:24px 0 11px;letter-spacing:-.02em}
.service-detail__head>p{font-size:15px;line-height:1.6;color:#e3f3e9;max-width:600px}
.service-detail__body{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(0,.78fr);gap:0;min-width:0}
.service-detail__text{padding:36px 44px 32px 56px;display:grid;align-content:start;gap:0;min-width:0}
.service-detail__section{padding:18px 0 22px;border-bottom:1px solid #d5dfd5}
.service-detail__section:first-child{padding-top:0}
.service-detail__section:last-child{border-bottom:0;padding-bottom:0}
.service-detail__section h4{margin:0 0 10px;font:800 clamp(25px,2.3vw,31px)/1.08 var(--display);color:#074a35;text-transform:uppercase;letter-spacing:0}
.service-detail__section p{margin:0;font:400 14px/1.75 var(--body);color:#4b6759}
.service-detail__aside{background:#e4eee4;min-width:0;padding:29px 32px 32px;display:flex;flex-direction:column;align-items:stretch;gap:15px}
.service-detail__image{background:#d4e4d4;min-height:167px;height:188px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.service-detail__image img{width:88%;height:100%;object-fit:contain}
.service-detail__facts{display:grid;gap:0;margin-top:2px}
.service-detail__facts span{padding:11px 0;border-bottom:1px solid #c5d6c5;font:800 13px/1.35 var(--body);color:#0c5740}
.service-detail__facts span::before{content:'✓';display:inline-block;margin-right:11px;color:#0e9062;font-weight:900}
.service-detail__aside>p{font:400 11px/1.65 var(--body);color:#617a69;margin:0}
.service-detail__source{display:inline-flex;gap:12px;align-items:center;justify-content:space-between;align-self:stretch;color:#0e6346;font:800 10px/1.5 var(--body);letter-spacing:.07em;border-bottom:1px solid #97b4a1;padding:6px 0;margin-top:auto}
.service-detail__source:hover{color:#092f25}
.service-detail__footer{background:#fff;padding:21px 56px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #dce4dc}
.service-detail__footer>span{font:800 11px/1.4 var(--body);letter-spacing:.09em;color:#476c57;max-width:235px}
.service-detail__cta{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#ffe637;color:#082d23;padding:16px 20px;font:800 11px/1.2 var(--body);letter-spacing:.05em;transition:background .2s ease}
.service-detail__cta span{font-size:21px;line-height:0}
.service-detail__cta:hover{background:#ffec75}
.services__grid > a[data-service]{cursor:zoom-in}
.services__grid > a[data-service]:focus-visible{outline:3px solid #006b44;outline-offset:4px}
@media(max-width:720px){
 .service-dialog{width:100vw;max-width:100vw;max-height:100dvh;height:100dvh;margin:0;}
 .service-dialog__close{height:51px;padding:0 17px}
 .service-detail__head{padding:31px 22px 25px;min-height:0}
 .service-detail__eyebrow{font-size:9px;max-width:calc(100% - 90px)}
 .service-detail__head h3{font-size:clamp(42px,11vw,65px);margin-top:28px}
 .service-detail__head>p{font-size:13px}
 .service-detail__body{grid-template-columns:minmax(0,1fr)}
 .service-detail__text{padding:24px 24px 25px}
 .service-detail__section{padding-block:15px}
 .service-detail__section h4{font-size:28px}
 .service-detail__section p{font-size:13px;line-height:1.7}
 .service-detail__aside{padding:22px 24px 25px}
 .service-detail__image{height:156px;min-height:156px}
 .service-detail__footer{padding:21px 24px 30px;display:grid;justify-items:stretch}
 .service-detail__cta{min-height:52px}
}
@media(max-width:350px){
 .service-detail__head h3{font-size:40px}
 .service-detail__cta{font-size:10px}
}
@media(prefers-reduced-motion:reduce){
 .service-dialog[open],.service-dialog::backdrop{animation:none!important}
}

/* V10 — exclusivamente nos telemóveis: centro visual das cinco áreas
   indicadas, sem alterar cartões, mapa, contactos ou layouts desktop. */
@media (max-width:700px) {
  #inicio .hero__copy,
  #sobre .about__copy,
  #servicos .section-heading,
  #faq .faq__intro,
  #contactos .contact__intro,
  #contactos .contact__lead {
    text-align:center;
  }
  #inicio .kicker {justify-content:center;}
  #inicio .hero__destino {margin-inline:auto;}
  #inicio .hero__desc,
  #sobre .about__copy > p:not(.eyebrow),
  #faq .faq__intro p:not(.eyebrow),
  #contactos .contact__intro h2,
  #contactos .contact__lead p {
    margin-left:auto;
    margin-right:auto;
  }
  #inicio .hero__actions {justify-content:center;}
  #sobre .about__facts {justify-content:center;}
  #servicos .section-heading {display:grid;justify-items:center;}
  #contactos .contact__intro {justify-items:center;}
}
/* Bloquear a página subjacente no modal de serviços, mantendo
   o scroll interno do próprio diálogo, incluindo iPhone/iPad. */
html.service-scroll-locked {overflow:hidden;overscroll-behavior:none;}
body.service-scroll-locked {position:fixed;width:100%;overflow:hidden;}
.service-dialog {overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;}

/* V11 — Hero equilibrada entre monitores de PC e ecrãs grandes.
   A composição mantém um limite de largura; a imagem deixa de se afastar
   do texto ao mudar de resolução. Layout mobile da V10 preservado. */
@media (min-width:901px) {
  #inicio .hero__grid.container {
    width:min(1280px, calc(100% - 96px));
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    column-gap:20px;
    align-items:center;
  }
  #inicio .hero__copy {
    min-width:0;
    padding-right:clamp(8px,1.2vw,20px);
  }
  #inicio .hero__visual {
    width:min(100%,580px,70svh);
    height:auto;
    min-height:0;
    max-width:100%;
    max-height:none;
    aspect-ratio:720/760;
    margin:0;
    justify-self:start;
  }
  #inicio .hero__visual img {
    width:100%;
    height:100%;
    object-fit:contain;
  }
}
@media (min-width:901px) and (max-width:1120px) {
  #inicio .hero__grid.container {
    width:calc(100% - 56px);
    column-gap:14px;
  }
  #inicio .hero h1 {
    font-size:clamp(66px,min(7.65vw,11svh),93px);
  }
}


/* V13 — vetores em vez de glifos Emoji; hero mobile melhor equilibrada */
.ui-arrow{display:inline-block!important;width:1.35em;height:1.35em;vertical-align:-.23em;flex:none;stroke:currentColor;stroke-width:2.15;stroke-linecap:round;stroke-linejoin:round;fill:none!important;pointer-events:none}
.icon-arrow-wrap{display:inline-flex;align-items:center;justify-content:center;font-size:inherit!important;line-height:1!important}
.btn .ui-arrow{width:21px;height:21px}
.service-feature__top .icon-arrow-wrap .ui-arrow{width:27px;height:27px}
.service-feature__top .icon-arrow-wrap{font-size:unset!important;line-height:1!important}
.service-feature:hover .service-feature__top .ui-arrow,.service-card:hover .service-feature__top .ui-arrow{transform:translate(2px,-2px)}
.service-feature__top .ui-arrow{transition:transform .2s}
.simple-link .ui-arrow{width:20px;height:20px}
.menu-dropdown__foot a,.contact__map-head a,.footer__social a,.footer__col a,.service-detail__source,.service-detail__cta{gap:8px}
.lightbox__nav{display:flex;align-items:center;justify-content:center}
.lightbox__nav .ui-arrow{height:29px;width:29px;vertical-align:middle}
@media (max-width:700px){
  #inicio .hero__grid{padding-top:clamp(22px,6vw,34px);padding-bottom:35px;gap:21px}
  #inicio .hero__copy{padding-block:9px 0;min-width:0}
  #inicio .kicker{font-size:clamp(9px,2.6vw,11px);line-height:1.4;letter-spacing:.1em;max-width:100%}
  #inicio .hero__destino{margin:20px auto 6px;padding:11px 14px 10px;box-shadow:7px 7px 0 #e1e5da;max-width:calc(100% - 14px)}
  #inicio .hero__destino span{font-size:clamp(10px,2.8vw,12px);letter-spacing:.13em}
  #inicio .hero__destino strong{font-size:clamp(24px,6.8vw,35px);line-height:1}
  #inicio h1{font-size:clamp(68px,18.1vw,98px);line-height:.82;letter-spacing:-.041em;margin:clamp(23px,6vw,30px) 0 20px;white-space:nowrap}
  #inicio .hero__drives::after{height:clamp(9px,2.7vw,13px);bottom:2px}
  #inicio .hero__you{display:inline-block}
  #inicio .hero__desc{font-size:clamp(14.5px,3.8vw,16.5px);line-height:1.67;max-width:37ch;margin-inline:auto}
  #inicio .hero__actions{justify-content:center;gap:16px;margin-top:23px}
  #inicio .hero__actions .btn{min-height:53px;padding-inline:19px;font-size:10px}
  #inicio .hero__actions .simple-link{font-size:10px}
  #inicio .hero__visual{height:auto!important;max-height:none;aspect-ratio:720/760;width:min(100%,440px);margin:7px auto 0;min-height:0}
  #inicio .hero__visual img{height:100%;width:100%;object-fit:contain}
}
@media (max-width:370px){
  #inicio h1{font-size:clamp(60px,18vw,68px)}
  #inicio .hero__actions{gap:10px}
  #inicio .hero__actions .btn{padding-inline:13px;font-size:9.5px}
  #inicio .hero__actions .simple-link{font-size:9.5px}
}
@media (prefers-reduced-motion:reduce){
  #inicio .hero__drives::after{transition:none}
}

/* V14 — alterações pedidas pela escola: história, serviços, avaliações e acessos */
.brand em{color:#fff}
.hero__visual{background:#f1f1e2}
.hero__visual img{object-position:56% 50%}
.about__anniversary{display:flex;align-items:center;gap:12px;margin:4px 0 18px;padding:11px 0;border-top:1px solid #ffffff2c;border-bottom:1px solid #ffffff2c;width:max-content;max-width:100%}
.about__anniversary strong{font:800 clamp(48px,5vw,72px)/.9 var(--display);color:var(--yellow)}
.about__anniversary span{font:800 11px/1.35 var(--body);letter-spacing:.12em;color:#fff}
.service-card--training{background:#edf2de;position:relative;overflow:hidden}
.service-card--training img{max-width:50%;max-height:140px;position:absolute;right:15px;bottom:0;opacity:.9;object-fit:contain}
.service-card--training .service-feature__words{position:relative;z-index:1;max-width:70%}
.training-areas{margin:10px 0 0;padding-left:21px;display:grid;gap:10px;color:#36594a;line-height:1.6}
.training-areas li::marker{color:#0b7a51}
.fleet-spotlight{padding-top:10px;padding-bottom:44px}
.fleet-spotlight__intro{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:22px}
.fleet-spotlight__intro h3{font:800 clamp(39px,4vw,63px)/.95 var(--display);letter-spacing:-.02em;margin-top:9px}
.fleet-spotlight__intro h3 em{color:#0d7b52;font-style:normal}
.fleet-spotlight__intro>p{max-width:390px;font:500 13px/1.65 var(--body);color:#5d7568}
.fleet-spotlight__grid{display:grid;grid-template-columns:1.6fr 1fr;gap:14px}
.fleet-spotlight__grid figure{margin:0;position:relative;min-height:255px;overflow:hidden;background:#c9d9cb}
.fleet-spotlight__grid img{width:100%;height:clamp(230px,25vw,355px);object-fit:cover;object-position:center 45%}
.fleet-spotlight__grid figure:last-child img{object-position:center 56%}
.fleet-spotlight__grid figcaption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:16px;align-items:center;background:#063c2fe8;color:white;padding:16px 18px;font-size:11px;font-weight:800;letter-spacing:.07em}
.fleet-spotlight__grid figcaption span{color:var(--yellow);font-size:10px}
.reviews{padding:clamp(70px,7vw,115px) 0;background:#f5f4e9;scroll-margin-top:var(--nav)}
.reviews__top{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:34px}
.reviews h2{font-size:clamp(56px,6vw,96px);margin-top:15px}
.reviews h2 em{font-style:normal;color:#128151}
.reviews__score{max-width:330px;min-width:235px;display:grid;gap:9px}
.reviews__score>strong{font:800 75px/.9 var(--display);letter-spacing:-.03em;color:var(--deep)}
.reviews__score>strong span{font-size:38px;color:#128151}
.reviews__score p{font:700 13px/1.5 var(--body)}
.reviews__score small{font:500 11px/1.5 var(--body);color:#60776b}
.reviews__score a{font:800 10px/1.4 var(--body);letter-spacing:.08em;text-decoration:underline;text-underline-offset:4px;margin-top:7px}
.reviews__score a span{font-size:14px;color:#147b50}
.reviews__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.reviews__quote{border:1px solid #d2ded2;margin:0;background:white;padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;gap:19px;min-height:226px}
.reviews__stars{letter-spacing:.16em;color:#d1a918;font-size:17px}
.reviews__quote blockquote{font:700 clamp(21px,2.1vw,31px)/1.3 var(--display);letter-spacing:-.01em;margin:0;color:var(--ink)}
.reviews__quote figcaption{display:flex;flex-direction:column;gap:4px;margin-top:auto}
.reviews__quote figcaption strong{font:800 12px var(--body)}
.reviews__quote figcaption span{font:500 11px var(--body);color:#60776b}
.access{padding:43px 0 50px;margin-top:35px;border-top:1px solid #ffffff35}
.access__heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:22px}
.access__heading h3{font:800 clamp(36px,4vw,61px)/1 var(--display);margin-top:11px}
.access__heading>p{max-width:380px;color:#c6e7d5;font-size:13px;line-height:1.65}
.access__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.access__card{display:flex;flex-direction:column;padding:24px;min-height:225px;background:#ffffff0e;border:1px solid #ffffff32;color:#fff;transition:background .2s ease,transform .2s ease}
.access__card:hover{background:#ffffff1a;transform:translateY(-3px)}
.access__card>span{font:800 9px var(--body);letter-spacing:.13em;color:var(--yellow)}
.access__card h4{font:800 clamp(28px,2.8vw,41px)/.98 var(--display);margin:19px 0 13px}
.access__card p{font-size:12px;line-height:1.6;color:#d6edde}
.access__card strong{display:flex;align-items:center;gap:10px;font:800 10px var(--body);letter-spacing:.1em;margin-top:auto;padding-top:20px;color:var(--yellow)}
.access__card svg{width:18px;height:18px}
.access__note{color:#c4dccf;font-size:11px;line-height:1.5;margin-top:14px}
.hours__block>p strong{color:var(--yellow);font-size:.72em;margin-right:5px;letter-spacing:.08em}
@media(max-width:900px){.reviews__top,.fleet-spotlight__intro,.access__heading{align-items:start}.access__grid{grid-template-columns:1fr}.access__card{min-height:160px}.access__card h4{margin:15px 0 8px}.fleet-spotlight__grid{grid-template-columns:1.2fr 1fr}}
@media(max-width:650px){.reviews__top,.fleet-spotlight__intro,.access__heading{flex-direction:column;gap:22px}.reviews__grid{grid-template-columns:1fr}.reviews__score{max-width:none}.fleet-spotlight__grid{grid-template-columns:1fr}.fleet-spotlight__grid img{height:260px}.fleet-spotlight__grid figure{min-height:0}.fleet-spotlight__grid figcaption{padding:12px;flex-wrap:wrap}.fleet-spotlight{padding-bottom:28px}.service-card--training .service-feature__words{max-width:100%}.service-card--training img{opacity:1}.access{margin-top:26px}.access__heading h3{font-size:39px}.reviews h2{font-size:clamp(47px,12vw,72px)}.about__anniversary strong{font-size:58px}}

/* Six equal-weight services after adding training lessons */
.services__grid>.service-card--wide{grid-column:auto;max-width:none;justify-self:stretch;width:100%}
.service-card--training .service-feature__words{display:block;margin-top:15px}
.service-card--training h3{font-size:clamp(42px,3.8vw,60px)}
.service-card--training .service-feature__words p{max-width:190px;margin-top:10px}
@media(max-width:700px){.services__grid>.service-card--wide{grid-column:auto;max-width:none}.service-card--training h3{font-size:clamp(43px,10vw,62px)}.service-card--training img{height:50%;width:49%;max-height:none}}

.reviews__score a{display:inline-flex;align-items:center;gap:8px;width:max-content;max-width:100%}
.reviews__score a svg{color:#147b50;flex:none}

/* V15 — alinhamento adaptativo e redesenho editorial das zonas de informação */
/* Cabeçalho dos contactos, agora centrado também no desktop. */
#contactos .contact__intro{text-align:center;display:flex;flex-direction:column;align-items:center;max-width:1150px;margin:0 auto clamp(42px,5vw,78px)}
#contactos .contact__intro h2{max-width:1120px;margin:16px auto 0;text-wrap:balance}
#contactos .contact__grid{margin-bottom:clamp(92px,9vw,150px)}
#contactos .contact__map-card{box-shadow:0 24px 50px #073e2d26}

/* Acesso: cartões claros com símbolos desenhados no próprio site. */
#contactos .access{padding:clamp(76px,8vw,132px) 0 clamp(85px,9vw,144px);margin:0;border-top:1px solid #ffffff4a;scroll-margin-top:calc(var(--nav) + 20px)}
#contactos .access__heading{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0;max-width:900px;margin:0 auto clamp(42px,5vw,68px)}
#contactos .access__heading h3{font:800 clamp(49px,5.9vw,94px)/.91 var(--display);letter-spacing:-.035em;margin:17px 0 21px;text-wrap:balance}
#contactos .access__heading h3 em{font-style:normal;color:var(--yellow)}
#contactos .access__heading>p{max-width:560px;color:#d6f3df;font-size:clamp(14px,1.15vw,17px);line-height:1.75}
#contactos .access__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,30px)}
#contactos .access__card{display:flex;flex-direction:column;min-height:425px;padding:0;background:#f3f6e9;color:#0a3a2c;border:0;overflow:hidden;box-shadow:0 12px 0 #063b2b32;transition:transform .28s ease,box-shadow .28s ease}
#contactos .access__card:hover{background:#f3f6e9;transform:translateY(-6px);box-shadow:0 18px 0 #063b2b32}
#contactos .access__card:nth-child(2){background:#fff9d9}#contactos .access__card:nth-child(2):hover{background:#fff9d9}
#contactos .access__card:nth-child(3){background:#e4f1e8}#contactos .access__card:nth-child(3):hover{background:#e4f1e8}
#contactos .access__art{height:147px;flex:none;background:linear-gradient(148deg,#d7e9d5,#c9e3d1);display:flex;align-items:center;justify-content:center;position:relative;color:#0b6d4b;overflow:hidden}
#contactos .access__card:nth-child(2) .access__art{background:linear-gradient(145deg,#f8eb9f,#f5f1d6)}
#contactos .access__card:nth-child(3) .access__art{background:linear-gradient(148deg,#cfe6e4,#c6e5ce)}
#contactos .access__art::before{content:'';position:absolute;inset:auto 0 0;height:5px;background:linear-gradient(90deg,#0d8050 0 60%,#ffe637 60% 100%)}
#contactos .access__art .line-illustration{height:103px;width:103px;stroke-width:2.25;filter:drop-shadow(8px 10px 0 #2c836021)}
#contactos .access__art .access__path{position:absolute;width:110px;height:68px;border:3px dashed #1c906e55;border-radius:50%;right:5%;top:34%;transform:rotate(-27deg)}
#contactos .access__card-body{padding:clamp(24px,2.4vw,37px);display:flex;flex-direction:column;gap:0;flex:1}
#contactos .access__type{font:800 10px/1.4 var(--body);letter-spacing:.12em;color:#087b51}
#contactos .access__card h4{font:800 clamp(29px,2.8vw,44px)/.97 var(--display);color:#073c2c;margin:15px 0 16px}
#contactos .access__card p{font-size:13px;line-height:1.72;color:#415f50;margin:0}
#contactos .access__card strong{font:800 11px/1.5 var(--body);color:#056b46;margin-top:auto;padding-top:26px;letter-spacing:.08em;display:inline-flex;align-items:center;gap:11px}
#contactos .access__card strong svg{width:20px;height:20px;transition:transform .2s}
#contactos .access__card:hover strong svg{transform:translate(3px,-3px)}
#contactos .access__note{font:500 12px/1.7 var(--body);color:#cbe7d4;text-align:center;max-width:900px;margin:24px auto 0}

/* Horários: cartões completos e espaços independentes em vez de colunas apertadas. */
#contactos .hours{border-top:1px solid #d9e9d45e;padding:clamp(79px,8vw,126px) 0 0;scroll-margin-top:calc(var(--nav) + 20px)}
#contactos .hours__heading{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0;max-width:800px;margin:0 auto clamp(40px,5vw,70px)}
#contactos .hours__heading h3{font:800 clamp(48px,6vw,93px)/.94 var(--display);letter-spacing:-.025em;margin:17px 0 20px}
#contactos .hours__heading h3 em{font-style:normal;color:var(--yellow)}
#contactos .hours__heading>p:not(.eyebrow){font:400 clamp(14px,1.1vw,17px)/1.7 var(--body);color:#ddf2e3;max-width:520px}
#contactos .hours__grid{display:grid;grid-template-columns:1fr 1fr 1.32fr;gap:clamp(16px,2vw,28px);border:0;align-items:stretch}
#contactos .hours__block,#contactos .hours__block:first-child,#contactos .hours__block:last-child{display:flex;flex-direction:column;grid-column:auto;min-width:0;padding:0;border:0;background:#f6f8ed;color:#0a382a;overflow:hidden;min-height:417px}
#contactos .hours__block:nth-child(2){background:#e7f3eb}
#contactos .hours__block--theory{background:#fffae4!important}
#contactos .hours__visual{min-height:120px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:#d9ebdb;padding:24px 28px;color:#075a40;position:relative}
#contactos .hours__block:nth-child(2) .hours__visual{background:#c8e4d7}
#contactos .hours__block--theory .hours__visual{background:#f6ecb3}
#contactos .hours__visual svg{height:72px;width:72px;flex:none}
#contactos .hours__visual>span{font:800 10px/1.45 var(--body);letter-spacing:.12em;color:#217456;text-align:right}
#contactos .hours__content{padding:clamp(24px,2.4vw,36px);flex:1;display:flex;flex-direction:column}
#contactos .hours__block h4{font:800 clamp(32px,2.8vw,42px)/1 var(--display);margin:0 0 24px;color:#083c2b}
#contactos .hours__times{display:grid;gap:20px}
#contactos .hours__times strong,#contactos .hours__theory strong{display:block;font:800 10px/1.4 var(--body);letter-spacing:.08em;color:#0b8054;margin-bottom:7px}
#contactos .hours__times p{font:700 clamp(17px,1.8vw,22px)/1.65 var(--body);color:#0c4935}
#contactos .hours__block small{display:block;font:500 12px/1.65 var(--body);color:#5b7767;margin-top:auto;padding-top:20px}
#contactos .hours__theory{display:grid;grid-template-columns:1fr 1fr;gap:16px}
#contactos .hours__theory p{font:700 13px/1.85 var(--body);color:#174f3b}

/* Avaliações verificáveis num marquee fluído e acessível. */
#avaliacoes.reviews{background:#f3f5e9;padding:clamp(95px,9vw,155px) 0;overflow:hidden}
#avaliacoes .reviews__top{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:clamp(45px,5vw,70px)}
#avaliacoes .reviews__top h2{font:800 clamp(55px,6vw,98px)/.91 var(--display);letter-spacing:-.03em;margin:17px 0 16px}
#avaliacoes .reviews__top h2 em{font-style:normal;color:#0b8050}
#avaliacoes .reviews__subtitle{font-size:15px;line-height:1.7;color:#51745f}
#avaliacoes .reviews__actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
#avaliacoes .reviews__google,#avaliacoes .reviews__toggle{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:16px 18px;min-height:53px;font:800 10px/1.3 var(--body);letter-spacing:.1em;border:1px solid #0d6245;text-align:center}
#avaliacoes .reviews__google{background:#0d6245;color:#fff}
#avaliacoes .reviews__google span{font-size:19px}
#avaliacoes .reviews__toggle{color:#0b6546;background:transparent;cursor:pointer}
#avaliacoes .reviews__toggle:hover{background:#dfece0}
#avaliacoes .reviews__viewport{overflow:hidden;width:100%;position:relative;mask-image:linear-gradient(to right,transparent 0,black 5%,black 95%,transparent 100%)}
#avaliacoes .reviews__marquee{display:flex;gap:22px;width:max-content;animation:verifiedReviewsScroll 24s linear infinite;will-change:transform}
#avaliacoes .reviews__set{display:flex;align-items:stretch;gap:22px;flex:none}
#avaliacoes .reviews__viewport:hover .reviews__marquee,#avaliacoes .reviews__viewport:focus-within .reviews__marquee,#avaliacoes .reviews__viewport.is-paused .reviews__marquee{animation-play-state:paused}
@keyframes verifiedReviewsScroll{to{transform:translateX(calc(-50% - 11px))}}
#avaliacoes .testimonial{flex:none;width:clamp(345px,36vw,570px);background:#fff;border:1px solid #dbe6d7;padding:clamp(25px,3vw,43px);margin:0;min-height:305px;display:flex;flex-direction:column;gap:25px;box-shadow:0 12px 0 #dcebdd}
#avaliacoes .testimonial__top{display:flex;align-items:center;justify-content:space-between;gap:15px}
#avaliacoes .testimonial__source{display:inline-flex;align-items:center;gap:7px;font:800 13px var(--body);color:#2f4c3c}
#avaliacoes .testimonial__source svg{width:21px;height:21px;display:block}
#avaliacoes .testimonial__stars{color:#e3b318;font-size:20px;letter-spacing:.08em}
#avaliacoes .testimonial blockquote{margin:0;color:#0b392a;font:700 clamp(25px,2.4vw,37px)/1.14 var(--display);max-width:22ch;flex:1}
#avaliacoes .testimonial figcaption{display:flex;align-items:center;gap:13px;padding-top:18px;border-top:1px solid #e4eae0}
#avaliacoes .testimonial__avatar{height:48px;width:48px;border-radius:50%;background:#d4e9d6;color:#066645;display:grid;place-items:center;font:800 16px var(--body);flex:none}
#avaliacoes .testimonial figcaption>span:nth-child(2){display:flex;flex-direction:column;gap:4px;min-width:0}
#avaliacoes .testimonial figcaption strong{font:800 13px var(--body);color:#0b392a}
#avaliacoes .testimonial figcaption small{font:500 11px/1.4 var(--body);color:#6a7a6e}
#avaliacoes .testimonial__verified{margin-left:auto;font:800 14px var(--body);background:#e1f1df;color:#0b7c4e;border-radius:50%;height:23px;width:23px;display:grid;place-items:center}
#avaliacoes .reviews__footnote{font:500 11px/1.6 var(--body);margin-top:29px;color:#627c6b}

/* Hero centrada quando passa a ter duas linhas/elementos sobrepostos. */
@media(max-width:900px){
  #inicio .hero__grid{grid-template-columns:minmax(0,1fr);justify-items:center}
  #inicio .hero__copy{text-align:center;width:100%;padding-right:0}
  #inicio .kicker,#inicio .hero__actions{justify-content:center}
  #inicio .hero__destino,#inicio .hero__desc{margin-left:auto;margin-right:auto}
  #inicio .hero__visual{justify-self:center;margin-left:auto;margin-right:auto}
  #sobre .about__copy{text-align:center}
  #sobre .about__copy > p:not(.eyebrow){margin-left:auto;margin-right:auto}
  #sobre .about__anniversary{margin-left:auto;margin-right:auto;justify-content:center}
  #sobre .about__facts{justify-content:center}
  #sobre .about__copy>a{justify-content:center}
  #faq .faq__intro{text-align:center}
  #faq .faq__intro>p:not(.eyebrow){margin-left:auto;margin-right:auto}
  #faq .faq__intro>a{justify-content:center}
  #contactos .contact__intro,#contactos .contact__lead{text-align:center}
  #contactos .contact__intro h2{margin-left:auto;margin-right:auto}
  #contactos .contact__lead p{margin-left:auto;margin-right:auto}
  #contactos .access__grid{grid-template-columns:1fr 1fr}
  #contactos .hours__grid{grid-template-columns:1fr 1fr}
  #contactos .hours__block--theory{grid-column:1/-1}
  #contactos .hours__block{min-height:370px}
  #avaliacoes .reviews__top{align-items:flex-start}
}
@media(max-width:700px){
  #inicio .kicker{justify-content:center;text-align:center}
  #sobre .about__motto p{text-align:center}
  #sobre .about__copy{padding-inline:22px}
  #faq .faq__intro{justify-items:center}
  #contactos .contact__intro{align-items:center}
  #contactos .contact__copy{text-align:center;align-items:stretch}
  #contactos .contact__lead,#contactos .contact__phone,#contactos .contact__details{text-align:center}
  #contactos .contact__details{justify-items:center}
  #contactos .contact__details>div{text-align:center;width:100%}
  #contactos .contact__phone a{overflow-wrap:anywhere}
  #contactos .contact__message{justify-content:center;gap:19px}
  #contactos .contact__map-head{justify-content:center;gap:16px;text-align:center}
  #contactos .contact__address{text-align:center;justify-items:center}
  #contactos .access__grid,#contactos .hours__grid{grid-template-columns:1fr}
  #contactos .access__card{min-height:0}
  #contactos .access__art{height:117px}
  #contactos .access__art .line-illustration{height:87px;width:87px}
  #contactos .access__card-body{padding:26px 28px 30px}
  #contactos .access__heading h3,#contactos .hours__heading h3{font-size:clamp(46px,11vw,70px)}
  #contactos .hours__block,#contactos .hours__block:first-child,#contactos .hours__block:last-child{grid-column:auto;min-height:0}
  #contactos .hours__content{min-height:230px}
  #contactos .hours__visual{min-height:105px}
  #contactos .hours__theory{gap:20px}
  #avaliacoes .reviews__top{flex-direction:column;align-items:center;text-align:center}
  #avaliacoes .reviews__actions{justify-content:center}
  #avaliacoes .testimonial{width:min(85vw,430px);min-height:295px}
  #avaliacoes .reviews__marquee{animation-duration:23s}
  #avaliacoes .reviews__footnote{text-align:center}
  .footer__main{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer__identity{align-items:center;text-align:center;grid-column:1/-1}
  .footer__identity>p{max-width:310px}
  .footer__brand{justify-content:center;text-align:center}
  .footer__social{justify-content:center}
  .footer__col{align-items:center;text-align:center}
  .footer__col--contact{grid-column:1/-1}
  .footer__bottom{text-align:center;flex-direction:column;align-items:center}
  .footer__legal{justify-content:center}
}
@media(max-width:390px){
  #contactos .hours__theory{grid-template-columns:1fr}
  #avaliacoes .testimonial{width:84vw;padding:22px}
  #avaliacoes .testimonial__stars{font-size:16px}
  #avaliacoes .testimonial blockquote{font-size:28px}
  .footer__main{grid-template-columns:1fr}
  .footer__col,.footer__identity{grid-column:1/-1}
}
@media(prefers-reduced-motion:reduce){#avaliacoes .reviews__marquee{animation:none!important;transform:none!important}#avaliacoes .reviews__viewport{overflow-x:auto;mask-image:none}#avaliacoes .reviews__set[aria-hidden="true"]{display:none}}
/* Tablets também usam o mesmo alinhamento centrado do rodapé e dados de contacto. */
@media(min-width:701px) and (max-width:900px){
 #contactos .contact__copy,#contactos .contact__lead,#contactos .contact__phone,#contactos .contact__details{text-align:center}
 #contactos .contact__lead p{margin-inline:auto}
 #contactos .contact__message{justify-content:center;gap:18px}
 .footer__main{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px}
 .footer__identity{grid-column:1/-1;align-items:center;text-align:center}
 .footer__brand,.footer__social{justify-content:center}
 .footer__col{align-items:center;text-align:center}
 .footer__col--contact{grid-column:1/-1}
 .footer__bottom,.footer__legal{justify-content:center;text-align:center}
}


/* V16 — Avaliações: composição integral dentro do viewport, sem cortes verticais.
   Identidade Madalena e Fonseca: verde, amarelo, geometria de sinalização. */
#avaliacoes.reviews--v16 {
  background:#073f2e;
  color:white;
  padding:clamp(23px,3.6svh,43px) 0;
  min-height:calc(100svh - var(--nav));
  height:calc(100svh - var(--nav));
  display:flex; flex-direction:column; justify-content:space-between;
  gap:clamp(10px,1.8svh,21px);
  position:relative; overflow:hidden; isolation:isolate;
  scroll-margin-top:var(--nav);
}
#avaliacoes .reviews__deco{position:absolute;top:0;right:0;width:clamp(100px,19vw,330px);height:9px;background:var(--yellow);transform:skewX(-30deg) translateX(6px);transform-origin:top right}
#avaliacoes .reviews__shell{flex:none}
#avaliacoes .reviews__top{margin:0;display:flex;align-items:end;justify-content:space-between;gap:30px}
#avaliacoes .reviews__eyebrow{font:800 clamp(9px,.85vw,11px)/1.35 var(--body);letter-spacing:.16em;color:#d5efdb;display:flex;gap:12px;align-items:center}
#avaliacoes .reviews__eyebrow-dash{display:inline-block;width:29px;height:3px;background:var(--yellow);flex:none}
#avaliacoes .reviews__eyebrow-slash{color:var(--yellow);font-size:16px}
#avaliacoes .reviews__top h2{margin:12px 0 0;color:#fff;font:800 clamp(39px,5.3vw,79px)/.88 var(--display);letter-spacing:-.033em}
#avaliacoes .reviews__top h2 em{font-style:normal;color:var(--yellow)}
#avaliacoes .reviews__reputation{display:flex;align-items:center;gap:18px;border-left:2px solid #accdb177;padding-left:25px;padding-bottom:2px;flex:none}
#avaliacoes .reviews__rating-number{font:800 clamp(58px,6.2vw,91px)/.87 var(--display);color:#fff;letter-spacing:-.06em;white-space:nowrap}
#avaliacoes .reviews__rating-number>span{font-size:.33em;letter-spacing:0;color:#a5cebc;margin-left:3px}
#avaliacoes .reviews__rating-copy{display:grid;gap:3px}
#avaliacoes .reviews__rating-stars{font-size:clamp(14px,1.3vw,18px);color:var(--yellow);letter-spacing:.055em;white-space:nowrap}
#avaliacoes .reviews__rating-copy strong{font:800 11px/1.2 var(--body);letter-spacing:.075em;color:#fff;white-space:nowrap}
#avaliacoes .reviews__rating-copy small{font:600 10px/1.25 var(--body);letter-spacing:.12em;color:#b1d2bd}
#avaliacoes .reviews__microline{display:flex;align-items:center;gap:16px;margin-top:clamp(12px,2.1svh,21px);border-top:1px solid #7bb69664;padding-top:12px;font:700 10px/1.2 var(--body);letter-spacing:.14em;color:#c6e0d0;white-space:nowrap;overflow:hidden}
#avaliacoes .reviews__microline span:first-child,#avaliacoes .reviews__microline span:last-child{color:var(--yellow);letter-spacing:.2em;font-size:10px}
#avaliacoes .reviews__tracks{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;gap:clamp(11px,1.7svh,20px);position:relative;width:100%}
#avaliacoes .reviews__viewport{overflow:hidden;min-height:0;display:flex;align-items:stretch;width:100%;mask-image:linear-gradient(to right,transparent 0%,#000 4%,#000 96%,transparent 100%)}
#avaliacoes .reviews__marquee{display:flex;gap:16px;width:max-content;will-change:transform;animation:reviewsV16Scroll 68s linear infinite;}
#avaliacoes .reviews__viewport--1 .reviews__marquee{animation-direction:reverse;animation-duration:76s}
#avaliacoes .reviews__set{display:flex;gap:16px;align-items:stretch;flex:none}
#avaliacoes .reviews__viewport:hover .reviews__marquee,#avaliacoes .reviews__viewport:focus-within .reviews__marquee,#avaliacoes.is-paused .reviews__marquee{animation-play-state:paused}
@keyframes reviewsV16Scroll{to{transform:translateX(calc(-50% - 8px))}}
#avaliacoes .testimonial{width:clamp(290px,27vw,420px);height:clamp(186px,24svh,255px);min-height:0;max-height:none;flex:none;background:#f8faf2;color:#0b392a;border:1px solid #dbe4d5;box-shadow:none;padding:clamp(16px,1.65svh,24px) clamp(19px,1.65vw,26px);margin:0;display:flex;flex-direction:column;gap:8px;position:relative}
#avaliacoes .testimonial::before{content:'';position:absolute;left:0;top:0;width:33px;height:5px;background:var(--yellow)}
#avaliacoes .testimonial:nth-child(3n + 2){background:#fffcee}
#avaliacoes .testimonial:nth-child(3n){background:#edf5e9}
#avaliacoes .testimonial__top{display:flex;align-items:center;justify-content:space-between;gap:6px;flex:none}
#avaliacoes .testimonial__source{display:flex;align-items:center;gap:6px;color:#436851;font:800 10px/1 var(--body)}
#avaliacoes .testimonial__g{width:16px;height:16px;flex:none}
#avaliacoes .testimonial__stars{font-size:13px;letter-spacing:.095em;color:#e7ae09;white-space:nowrap}
#avaliacoes .testimonial blockquote{font:600 clamp(12px,1.05vw,14px)/1.42 var(--body);color:#16402f;letter-spacing:-.014em;max-width:none;flex:1;min-height:0;overflow:visible}
#avaliacoes .testimonial figcaption{display:flex;align-items:center;gap:10px;border-top:1px solid #d9e5d6;margin-top:auto;padding:9px 0 0;flex:none}
#avaliacoes .testimonial__avatar{width:30px;height:30px;border-radius:50%;font:800 11px/1 var(--body);color:#09553b;display:grid;place-items:center;flex:none;background:#cce6d7}
#avaliacoes .avatar--lemon{background:#f8eab1;color:#57501d}
#avaliacoes .avatar--rose{background:#f5dbe3;color:#8e3b57}
#avaliacoes .avatar--sky{background:#cce6ee;color:#255a70}
#avaliacoes .avatar--sage{background:#dfedd0;color:#426c30}
#avaliacoes .avatar--peach{background:#f1dec8;color:#704c31}
#avaliacoes .testimonial__by{display:flex;flex-direction:column;gap:2px;min-width:0}
#avaliacoes .testimonial figcaption strong{font:800 11px/1.25 var(--body);color:#134830}
#avaliacoes .testimonial figcaption small{font:500 9px/1.25 var(--body);color:#678070}
#avaliacoes .testimonial__corner{margin-left:auto;color:#0b7650;font:700 19px/1 var(--display)}
#avaliacoes .reviews__bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;flex:none;border-top:1px solid #7bb69660;padding-top:clamp(10px,1.5svh,18px)}
#avaliacoes .reviews__bottom>p{font:800 10px/1.4 var(--body);letter-spacing:.115em;color:#d7e8d9;display:flex;align-items:center;gap:13px}
#avaliacoes .reviews__roadmark{display:block;width:43px;height:3px;background:repeating-linear-gradient(90deg,var(--yellow) 0 11px,transparent 11px 18px)}
#avaliacoes .reviews__bottom-actions{display:flex;gap:10px;align-items:center}
#avaliacoes .reviews__google,#avaliacoes .reviews__toggle{display:inline-flex;align-items:center;justify-content:center;gap:11px;padding:10px 14px;min-height:38px;font:800 10px/1.2 var(--body);letter-spacing:.06em;border:1px solid #ccdebc7d;white-space:nowrap}
#avaliacoes .reviews__google{background:var(--yellow);color:var(--deep);border-color:var(--yellow)}
#avaliacoes .reviews__google:hover{background:#fff29a}
#avaliacoes .reviews__toggle{background:transparent;color:#eff6e8;cursor:pointer}
#avaliacoes .reviews__toggle:hover{background:#ffffff1b}
#avaliacoes .reviews__toggle svg,#avaliacoes .reviews__google svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:950px){
 #avaliacoes .reviews__top{gap:18px}
 #avaliacoes .reviews__top h2{font-size:clamp(42px,5.9vw,62px)}
 #avaliacoes .reviews__reputation{gap:11px;padding-left:15px}
 #avaliacoes .reviews__rating-number{font-size:62px}
 #avaliacoes .reviews__rating-copy strong{font-size:9px}
 #avaliacoes .testimonial{width:340px}
}
@media(max-width:700px){
 #avaliacoes.reviews--v16{min-height:calc(100svh - var(--nav));height:calc(100svh - var(--nav));padding:clamp(19px,3.2svh,30px) 0;gap:12px}
 #avaliacoes .reviews__top{flex-direction:column;align-items:center;text-align:center;gap:14px}
 #avaliacoes .reviews__eyebrow{justify-content:center;font-size:9px;gap:8px}
 #avaliacoes .reviews__eyebrow-dash{width:18px}
 #avaliacoes .reviews__top h2{font-size:clamp(39px,10.2vw,64px);line-height:.9;margin:10px 0 0}
 #avaliacoes .reviews__reputation{border:0;border-top:1px solid #abcdb17a;padding:10px 0 0;align-items:center;gap:14px}
 #avaliacoes .reviews__rating-number{font-size:55px}
 #avaliacoes .reviews__rating-copy{text-align:left;gap:2px}
 #avaliacoes .reviews__rating-copy strong{font-size:10px}
 #avaliacoes .reviews__microline{display:none}
 #avaliacoes .reviews__viewport--1{display:none}
 #avaliacoes .reviews__viewport--0{flex:1;align-items:center}
 #avaliacoes .reviews__tracks{flex:1;min-height:0;justify-content:center}
 #avaliacoes .reviews__marquee{animation-duration:54s}
 #avaliacoes .testimonial{width:min(83vw,355px);height:min(43svh,275px);min-height:225px;padding:clamp(15px,2.1svh,22px) 20px;gap:9px}
 #avaliacoes .testimonial blockquote{font-size:clamp(12px,3.35vw,14px);line-height:1.44}
 #avaliacoes .reviews__bottom{flex-direction:column;align-items:center;gap:12px;text-align:center}
 #avaliacoes .reviews__bottom>p{font-size:9px;letter-spacing:.05em}
 #avaliacoes .reviews__bottom-actions{justify-content:center;width:100%}
 #avaliacoes .reviews__google,#avaliacoes .reviews__toggle{font-size:9px;min-height:38px;padding:9px 11px}
}
@media(max-width:390px){
 #avaliacoes .reviews__top h2{font-size:clamp(37px,10vw,43px)}
 #avaliacoes .reviews__rating-number{font-size:48px}
 #avaliacoes .testimonial{width:83vw;min-height:215px;padding:14px 16px}
 #avaliacoes .testimonial blockquote{font-size:12px}
 #avaliacoes .testimonial__stars{font-size:12px}
 #avaliacoes .reviews__bottom>p{font-size:8px}
}
@media(max-height:810px) and (min-width:701px){
 #avaliacoes.reviews--v16{padding:20px 0;gap:10px}
 #avaliacoes .reviews__top h2{font-size:clamp(40px,4.5vw,66px)}
 #avaliacoes .reviews__viewport--1{display:none}
 #avaliacoes .testimonial{height:clamp(205px,35svh,270px)}
 #avaliacoes .reviews__microline{margin-top:12px;padding-top:10px}
}
@media(max-height:670px) and (max-width:700px){
 #avaliacoes.reviews--v16{height:auto;min-height:calc(100svh - var(--nav));padding:19px 0}
 #avaliacoes .reviews__top h2{font-size:37px}
 #avaliacoes .reviews__reputation{padding:6px 0 0}
 #avaliacoes .testimonial{height:225px}
 #avaliacoes .reviews__tracks{flex:none}
}
@media(prefers-reduced-motion:reduce){
 #avaliacoes .reviews__marquee{animation:none!important;transform:none!important;will-change:auto!important}
 #avaliacoes .reviews__viewport{overflow-x:auto;mask-image:none;scroll-snap-type:x mandatory}
 #avaliacoes .testimonial{scroll-snap-align:center}
 #avaliacoes .reviews__set[aria-hidden="true"]{display:none}
}

/* Refinamento mobile: começar com um testemunho inteiro visível; manter livre o botão de WhatsApp. */
#avaliacoes.reviews--v16:not(.is-active) .reviews__marquee{animation-play-state:paused}
@media(max-width:700px){
 @keyframes reviewsV16MobileScroll {from{transform:translateX(35px)}to{transform:translateX(calc(-50% + 27px))}}
 #avaliacoes .reviews__marquee{animation-name:reviewsV16MobileScroll}
 #avaliacoes .reviews__bottom{padding-bottom:56px}
}
@media(max-width:360px){
 #avaliacoes .reviews__bottom{padding-bottom:49px}
}

/* O WhatsApp flutuante nunca deve tapar os controlos das avaliações. */
@media(min-width:701px){
  #avaliacoes .reviews__bottom-actions{margin-right:76px}
}
@keyframes reviewsV16Scroll {
  from {transform:translateX(32px)}
  to {transform:translateX(calc(-50% + 24px))}
}
@media(max-width:700px) and (max-height:620px){
 #avaliacoes.reviews--v16{padding:10px 0;gap:7px;height:calc(100svh - var(--nav));min-height:calc(100svh - var(--nav))}
 #avaliacoes .reviews__top{gap:6px}
 #avaliacoes .reviews__top h2{font-size:clamp(29px,9vw,35px);margin-top:5px}
 #avaliacoes .reviews__rating-number{font-size:39px}
 #avaliacoes .reviews__reputation{padding-top:4px}
 #avaliacoes .reviews__rating-stars{font-size:11px}
 #avaliacoes .reviews__rating-copy strong{font-size:9px}
 #avaliacoes .reviews__bottom>p{display:none}
 #avaliacoes .reviews__bottom{gap:0;padding-top:9px;padding-bottom:47px}
 #avaliacoes .testimonial{height:213px;min-height:213px}
}

/* A bolha WhatsApp fica oculta APENAS enquanto a secção de reviews está em destaque,
   para não tapar os botões do Google em nenhuma resolução. */
body.is-reading-reviews .whatsapp-float{opacity:0;pointer-events:none;transform:scale(.8)}
@media(max-width:700px){#avaliacoes .reviews__bottom{padding-bottom:clamp(5px,1.2svh,12px)}}
@media(max-width:700px) and (max-height:620px){#avaliacoes .reviews__bottom{padding-bottom:6px}}

#avaliacoes .testimonial__corner svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(max-height:540px) and (min-width:701px){#avaliacoes.reviews--v16{height:auto;min-height:calc(100svh - var(--nav))}}


/* V17 — Avaliações: fundo recuperado da V15, cabeçalho simples, margens generosas. */
#avaliacoes.reviews--v16 {
  background:#f3f5e9;
  color:#073b2b;
  padding:clamp(68px,9svh,108px) 0 clamp(19px,2.8svh,32px);
  gap:clamp(13px,1.9svh,22px);
}
#avaliacoes .reviews__top {align-items:center;gap:clamp(20px,3vw,50px)}
#avaliacoes .reviews__intro {min-width:0;flex:1}
#avaliacoes .reviews__top h2 {
  color:#073b2b;
  font:800 clamp(39px,4.8vw,73px)/.94 var(--display);
  letter-spacing:-.025em;
  margin:0;
}
#avaliacoes .reviews__top h2 em {color:#117b52;font-style:normal}
#avaliacoes .reviews__reputation {border-left:1px solid #bbd1bd;gap:15px;padding:8px 0 8px 27px}
#avaliacoes .reviews__rating-number {color:#0a5039;font-size:clamp(52px,5.9vw,80px)}
#avaliacoes .reviews__rating-number>span {color:#4b8b6d}
#avaliacoes .reviews__rating-copy {gap:4px}
#avaliacoes .reviews__rating-copy strong {font-size:12px;color:#0d4934;letter-spacing:.055em}
#avaliacoes .reviews__rating-copy small {font-size:11px;color:#557966;letter-spacing:.08em}
#avaliacoes .reviews__tracks {gap:clamp(11px,1.5svh,18px)}
#avaliacoes .testimonial {background:#fff;color:#0b392a;border:1px solid #d6e2d6}
#avaliacoes .testimonial:nth-child(3n + 2),
#avaliacoes .testimonial:nth-child(3n) {background:#fff}
#avaliacoes .testimonial::before {display:none}
#avaliacoes .reviews__bottom {justify-content:flex-end;border-top:1px solid #d4dfd1;padding-top:clamp(10px,1.3svh,16px)}
#avaliacoes .reviews__toggle {color:#0b6546;border-color:#bdd2c3}
#avaliacoes .reviews__toggle:hover {background:#e2ecdf}
#avaliacoes .reviews__google {background:#0d6245;color:#fff;border-color:#0d6245}
#avaliacoes .reviews__google:hover {background:#147c59}
@media(max-width:950px) and (min-width:701px){
  #avaliacoes.reviews--v16 {padding-top:clamp(49px,7svh,78px)}
  #avaliacoes .reviews__top h2 {font-size:clamp(39px,4.8vw,57px)}
  #avaliacoes .reviews__reputation {gap:12px;padding-left:18px}
  #avaliacoes .reviews__rating-number {font-size:60px}
}
@media(max-height:810px) and (min-width:701px){
  #avaliacoes.reviews--v16 {padding:clamp(41px,7svh,72px) 0 clamp(15px,2.5svh,23px);gap:13px}
  #avaliacoes .reviews__top h2 {font-size:clamp(39px,4.3vw,62px)}
}
@media(max-width:700px){
  #avaliacoes.reviews--v16 {padding:clamp(33px,5svh,51px) 0 clamp(12px,2svh,19px);gap:clamp(10px,1.8svh,16px)}
  #avaliacoes .reviews__top {gap:14px}
  #avaliacoes .reviews__top h2 {font-size:clamp(34px,8.4vw,51px);line-height:.96;margin:0}
  #avaliacoes .reviews__reputation {border:0;border-top:1px solid #c3d7c3;padding:12px 0 0;gap:13px}
  #avaliacoes .reviews__rating-number {font-size:clamp(47px,11vw,61px)}
  #avaliacoes .reviews__rating-copy strong {font-size:10px}
  #avaliacoes .reviews__rating-copy small {font-size:10px}
  #avaliacoes .reviews__bottom {padding:9px 0 0;justify-content:center}
}
@media(max-width:700px) and (max-height:670px){
  #avaliacoes.reviews--v16 {height:calc(100svh - var(--nav));min-height:calc(100svh - var(--nav));padding:clamp(15px,3svh,24px) 0 9px;gap:7px}
  #avaliacoes .reviews__top {gap:6px}
  #avaliacoes .reviews__top h2 {font-size:clamp(29px,8.5vw,37px)}
  #avaliacoes .reviews__reputation {padding-top:7px;gap:12px}
  #avaliacoes .reviews__rating-number {font-size:clamp(38px,10vw,45px)}
  #avaliacoes .testimonial {height:min(38svh,213px);min-height:min(38svh,213px)}
  #avaliacoes .reviews__bottom {padding-top:7px;padding-bottom:0}
}
@media(max-width:700px) and (max-height:570px){
  #avaliacoes.reviews--v16 {padding-top:12px}
  #avaliacoes .reviews__top h2 {font-size:clamp(28px,8vw,33px)}
  #avaliacoes .reviews__top {gap:4px}
  #avaliacoes .reviews__reputation {padding-top:5px}
  #avaliacoes .reviews__rating-number {font-size:36px}
  #avaliacoes .testimonial {height:204px;min-height:204px}
}
/* Ajuste fino: recuperar a separação vertical ampla da secção anterior. */
@media(min-width:951px) and (min-height:811px){
  #avaliacoes.reviews--v16{padding-top:clamp(80px,11.5svh,128px)}
}
@media(max-width:700px) and (max-height:570px){
  #avaliacoes .testimonial{height:220px;min-height:220px}
}


/* V19 — Indicador discreto de progresso; sem scroll-snap vertical. */
.site-scroll-progress {
  position:fixed;
  top:calc(var(--nav) - 3px);
  left:0;
  width:100%;
  height:3px;
  background:var(--yellow);
  transform:scaleX(0);
  transform-origin:left center;
  pointer-events:none;
  z-index:72;
}
@media(prefers-reduced-motion:reduce){.site-scroll-progress{transition:none}}


/* V20 — Taxa de aprovação informada pela escola, mantendo a rotunda no hero. */
.approval-spotlight{background:#ebf3e9;color:#083c2c;position:relative;overflow:hidden;scroll-margin-top:var(--nav);border-bottom:1px solid #d6e6d7}
.approval-spotlight::before{content:"";position:absolute;inset:0 auto 0 0;width:7px;background:var(--yellow)}
.approval-spotlight__inner{min-height:260px;display:grid;grid-template-columns:206px minmax(0,1fr) auto;align-items:center;column-gap:clamp(24px,4.1vw,72px);padding-block:clamp(35px,4.6vw,62px)}
.approval-spotlight__chart{width:206px;height:206px;position:relative;flex:none}
.approval-spotlight__chart svg{width:100%;height:100%;display:block;overflow:visible}
.approval-spotlight__chart-num{font:800 56px var(--display);fill:#074c36;letter-spacing:-.035em}
.approval-spotlight__chart-caption{font:800 10px var(--body);fill:#317f5a;letter-spacing:.16em}
.approval-spotlight__copy{min-width:0}
.approval-spotlight__copy .eyebrow{font-size:11px;letter-spacing:.16em;margin-bottom:12px}
.approval-spotlight h2{font:800 clamp(47px,4.8vw,80px)/.91 var(--display);letter-spacing:-.026em;text-transform:uppercase;margin:0}
.approval-spotlight h2 em{color:#107d53;font-style:normal}
.approval-spotlight__copy>p:last-child{color:#4c6d59;font-size:clamp(13px,1.05vw,15px);line-height:1.65;max-width:530px;margin:15px 0 0}
.approval-spotlight__link{align-self:center;display:inline-flex;align-items:center;gap:16px;padding:15px 0;color:#0c5a40;border-bottom:2px solid #0c5a40;font:800 10px/1.4 var(--body);letter-spacing:.07em;white-space:nowrap;transition:gap .2s ease}
.approval-spotlight__link:hover{gap:21px}
.approval-spotlight__link svg{width:19px;height:19px}
/* NOVA FCT: distância legível como dado principal, não escondida num parágrafo. */
#contactos .access__distance{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:10px 0 12px;margin:0 0 14px;border-top:1px solid #16785533;border-bottom:1px solid #16785533}
#contactos .access__distance strong{display:block;padding:0;margin:0;color:#086348;font:800 clamp(30px,3vw,42px)/1 var(--display);letter-spacing:-.02em}
#contactos .access__distance span{font:800 9px/1.5 var(--body);color:#587b64;letter-spacing:.06em}
/* Categorias de moto apresentadas em linhas separadas e sem repetir o conteúdo. */
.moto-categories{display:grid;grid-template-columns:1fr;gap:10px;margin-top:18px}
.moto-category{display:grid;grid-template-columns:62px minmax(0,1fr);align-items:start;gap:15px;padding:14px 16px;background:#f2f6eb;border:1px solid #dfe8db;min-width:0}
.moto-category__badge{display:grid;place-items:center;min-height:51px;background:#0c6244;color:#fff;font:800 31px/1 var(--display)}
.moto-category strong{display:block;font:800 12px/1.45 var(--body);color:#0b573e;margin:1px 0 5px}
.moto-category p{font:400 13px/1.55 var(--body);color:#425f50;margin:0}
@media(max-width:1120px){
 .approval-spotlight__inner{grid-template-columns:170px minmax(0,1fr);gap:25px 34px}
 .approval-spotlight__chart{width:170px;height:170px}
 .approval-spotlight__link{grid-column:2;justify-self:start;margin-top:-8px}
}
@media(max-width:700px){
 .approval-spotlight::before{width:5px}
 .approval-spotlight__inner{display:flex;flex-direction:column;gap:19px;text-align:center;padding-block:38px 40px}
 .approval-spotlight__chart{height:166px;width:166px}
 .approval-spotlight__copy .eyebrow{font-size:10px}
 .approval-spotlight h2{font-size:clamp(47px,10.6vw,65px)}
 .approval-spotlight__copy>p:last-child{margin:13px auto 0;font-size:13px;max-width:440px}
 .approval-spotlight__link{align-self:center;margin-top:5px;white-space:normal;justify-content:center}
 #contactos .access__distance{align-items:center;text-align:center}
 .moto-category{grid-template-columns:52px minmax(0,1fr);gap:12px;padding:12px}
 .moto-category__badge{min-height:48px;font-size:29px}
}
@media(max-width:355px){
 .approval-spotlight h2{font-size:44px}
 .moto-category p{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.approval-spotlight__link{transition:none}}

/* Adaptação a telemóveis compactos com pouca altura útil. */
@media(max-width:355px) and (max-height:650px){
 .approval-spotlight__inner{gap:12px;padding-block:24px 25px}
 .approval-spotlight__chart{height:144px;width:144px}
 .approval-spotlight__copy .eyebrow{margin-bottom:7px}
 .approval-spotlight__copy>p:last-child{margin-top:8px}
 .approval-spotlight__link{padding-block:9px}
}


/* V21 — títulos dos serviços com terminologia específica solicitada pela escola. */
#servicos .service-feature--car h3{font-size:clamp(39px,3.6vw,60px);line-height:.9;letter-spacing:-.035em}
#servicos .service-feature--moto h3{font-size:clamp(43px,3.85vw,67px);line-height:.92;letter-spacing:-.03em}
#servicos .service-feature--car .service-feature__words,#servicos .service-feature--moto .service-feature__words{align-items:flex-start;flex-direction:column;gap:10px}
#servicos .service-feature--car .service-feature__words p,#servicos .service-feature--moto .service-feature__words p{max-width:270px;align-self:auto}
#servicos .service-feature--car img,#servicos .service-feature--moto img{max-height:162px;height:auto;width:min(68%,350px)}
.service-detail__head h3{overflow-wrap:normal}
@media(max-width:900px){
 #servicos .service-feature--car h3{font-size:clamp(39px,5.1vw,57px)}
 #servicos .service-feature--moto h3{font-size:clamp(44px,5.8vw,67px)}
}
@media(max-width:700px){
 #servicos .service-feature--car h3{font-size:clamp(42px,9.1vw,64px)}
 #servicos .service-feature--moto h3{font-size:clamp(49px,10.6vw,70px)}
 #servicos .service-feature--car img,#servicos .service-feature--moto img{height:auto;max-height:150px;width:66%}
}
@media(max-width:355px){#servicos .service-feature--car h3{font-size:39px}#servicos .service-feature--moto h3{font-size:45px}}

/* V21 — Como chegar. Mantém a paleta, grafismo vetorial e espaço editorial da V20. */
#contactos .access-v21__grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,1fr);gap:clamp(18px,2.2vw,34px);align-items:stretch}
#contactos .access-v21__panel{min-width:0;border:1px solid #d7e6d9;background:#f5f8ed;color:#083a2b;box-shadow:0 10px 0 #063b2b31;overflow:hidden}
#contactos .access-v21__panel--bus{background:#fff9e5;border-color:#f2edce}
#contactos .access-v21__panel-title{display:flex;align-items:center;gap:22px;padding:clamp(23px,2.7vw,39px);background:#dcece0;border-bottom:1px solid #bed9c7}
#contactos .access-v21__panel--bus .access-v21__panel-title{background:#f6eebe;border-bottom-color:#e7dfad}
#contactos .access-v21__symbol{width:77px;height:77px;display:grid;place-items:center;flex:none;background:#b9dac5;color:#08754e}
#contactos .access-v21__panel--bus .access-v21__symbol{background:#ffe477;color:#07533b}
#contactos .access-v21__symbol svg{width:52px;height:52px}
#contactos .access-v21__eyebrow{font:800 10px/1.3 var(--body);letter-spacing:.13em;color:#217d55}
#contactos .access-v21__panel-title h4{font:800 clamp(39px,3.45vw,55px)/.95 var(--display);margin:5px 0 6px;letter-spacing:-.02em;color:#073e2d}
#contactos .access-v21__panel-title h4 em{font-style:normal;color:#0b8053}
#contactos .access-v21__panel-title p{font:700 13px/1.4 var(--body);color:#506e58;margin:0}
#contactos .access-v21__metro-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(145px,.76fr);gap:clamp(14px,2vw,32px);padding:clamp(26px,3vw,43px)}
#contactos .access-v21__route{padding-left:6px;min-width:0}
#contactos .access-v21__stop{position:relative;display:flex;align-items:center;gap:17px;min-height:65px;padding:8px 0 8px 12px;font:700 14px/1.4 var(--body);color:#577264}
#contactos .access-v21__stop:not(:last-child)::before{content:"";position:absolute;left:19px;top:32px;bottom:-32px;width:3px;background:#76b596;z-index:0}
#contactos .access-v21__stop-marker{display:block;flex:none;width:17px;height:17px;border:4px solid #138757;border-radius:50%;background:#f5f8ed;position:relative;z-index:1;box-sizing:border-box}
#contactos .access-v21__stop--destination{min-height:78px;color:#073e2d;background:#e0efda;padding-right:8px;margin-left:-6px;padding-left:18px}
#contactos .access-v21__stop--destination .access-v21__stop-marker{background:#ffe235;border:4px solid #0a6746;width:20px;height:20px}
#contactos .access-v21__stop--destination strong{display:block;color:#075539;font:800 18px/1.1 var(--body)}
#contactos .access-v21__stop--destination small{display:block;color:#166746;font:800 9px/1.4 var(--body);letter-spacing:.08em;margin-top:5px}
#contactos .access-v21__exit{margin-left:auto;padding:6px 7px;background:#ffdf30;color:#06422f;font:800 9px/1 var(--body);letter-spacing:.04em}
#contactos .access-v21__walk{align-self:center;background:#e2efde;padding:clamp(18px,2vw,28px);display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0}
#contactos .access-v21__walk-kicker{font:800 9px/1.45 var(--body);color:#14774e;letter-spacing:.1em}
#contactos .access-v21__walk>strong{font:800 clamp(48px,5vw,76px)/.9 var(--display);color:#074832;white-space:nowrap;letter-spacing:-.045em}
#contactos .access-v21__walk>strong small{font-size:.51em;letter-spacing:0}
#contactos .access-v21__walk>span:nth-of-type(2){color:#4b6859;font:500 12px/1.7 var(--body)}
#contactos .access-v21__walk>a{font:800 10px/1.5 var(--body);letter-spacing:.06em;color:#054d36;border-bottom:2px solid currentColor;padding-block:12px;display:inline-flex;align-items:center;gap:12px}
#contactos .access-v21__walk>a span{font-size:20px}
#contactos .access-v21__bus-intro{padding:clamp(22px,2.2vw,34px) clamp(23px,2.7vw,39px) 0;margin:0;color:#485f4e;font:500 14px/1.7 var(--body)}
#contactos .access-v21__bus-intro strong{color:#075a3f}
#contactos .access-v21__bus-numbers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:22px clamp(23px,2.7vw,39px) 27px}
#contactos .access-v21__bus-number{display:grid;place-items:center;min-height:50px;background:#f6e9aa;border:1px solid #e7d880;color:#084d36;font:800 clamp(16px,1.3vw,20px)/1 var(--body);letter-spacing:.02em}
#contactos .access-v21__routes-detail{margin:0 clamp(23px,2.7vw,39px);border-top:1px solid #d6d9b6;border-bottom:1px solid #d6d9b6}
#contactos .access-v21__routes-detail summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:20px 0;font:800 10px/1.4 var(--body);letter-spacing:.06em;color:#0b6041}
#contactos .access-v21__routes-detail summary::-webkit-details-marker{display:none}
#contactos .access-v21__plus{display:grid;place-items:center;background:#0c6344;color:white;min-width:31px;height:31px;font:600 23px/1 var(--body);transition:transform .2s}
#contactos .access-v21__routes-detail[open] .access-v21__plus{transform:rotate(45deg)}
#contactos .access-v21__routes-list{display:grid;grid-template-columns:1fr;gap:0;list-style:none;padding:0 0 15px;margin:0}
#contactos .access-v21__routes-list li{display:grid;grid-template-columns:55px minmax(0,1fr);gap:13px;padding:11px 0;border-top:1px solid #e0e1c9;font:500 12px/1.5 var(--body);color:#455d4e}
#contactos .access-v21__routes-list li b{color:#0b6847;font:800 13px var(--body)}
#contactos .access-v21__bus-link{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:19px clamp(23px,2.7vw,39px) 31px;color:#075d40;font:800 10px/1.5 var(--body);letter-spacing:.06em}
#contactos .access-v21__bus-link span{font-size:22px;flex:none}
#contactos .access-v21__connections{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.2vw,34px);margin-top:clamp(20px,2.3vw,33px)}
#contactos .access-v21__connection{min-width:0;padding:clamp(23px,2.3vw,33px);display:flex;align-items:center;gap:clamp(15px,2vw,25px);border:1px solid #ffffff55;background:#ffffff10;color:white;transition:background .2s,transform .2s}
#contactos .access-v21__connection:hover{background:#ffffff1d;transform:translateY(-3px)}
#contactos .access-v21__connection-icon{display:grid;place-items:center;flex:none;width:57px;height:57px;background:var(--yellow);color:#06452f;font:800 32px var(--display)}
#contactos .access-v21__connection>span:nth-child(2){display:flex;flex-direction:column;gap:5px;min-width:0}
#contactos .access-v21__connection small{font:800 10px/1.4 var(--body);color:#d5f2dd;letter-spacing:.09em}
#contactos .access-v21__connection strong{font:800 clamp(26px,2.7vw,40px)/.96 var(--display);color:white}
#contactos .access-v21__connection>span:nth-child(2)>span{font:500 12px/1.5 var(--body);color:#d5f2dd}
#contactos .access-v21__connection-arrow{margin-left:auto;color:var(--yellow);font-size:27px;flex:none}
#contactos .access-v21 .access__note{margin-top:28px}
@media(max-width:1200px){
 #contactos .access-v21__metro-body{grid-template-columns:1fr}
 #contactos .access-v21__walk{width:100%;display:grid;grid-template-columns:1fr auto;align-items:center}
 #contactos .access-v21__walk-kicker{grid-column:1/-1}
 #contactos .access-v21__walk>span:nth-of-type(2){max-width:260px}
 #contactos .access-v21__walk>a{grid-column:1/-1;justify-self:start}
 #contactos .access-v21__route{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding-left:0}
 #contactos .access-v21__stop{font-size:11px;min-height:120px;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:12px;padding:4px 5px;}
 #contactos .access-v21__stop:not(:last-child)::before{left:18px;top:12px;bottom:auto;width:calc(100% - 13px);height:3px}
 #contactos .access-v21__stop--destination{margin:0;padding:4px 4px;background:transparent}
 #contactos .access-v21__stop--destination strong{font-size:13px}
 #contactos .access-v21__stop--destination small{font-size:8px}
 #contactos .access-v21__exit{display:none}
}
@media(max-width:900px){
 #contactos .access-v21__grid{grid-template-columns:1fr}
 #contactos .access-v21__metro-body{grid-template-columns:minmax(0,1.2fr) minmax(165px,.8fr)}
 #contactos .access-v21__route{display:block}
 #contactos .access-v21__stop{font-size:14px;min-height:60px;flex-direction:row;align-items:center;gap:17px;padding:8px 0 8px 12px}
 #contactos .access-v21__stop:not(:last-child)::before{left:19px;top:32px;bottom:-32px;width:3px;height:auto}
 #contactos .access-v21__stop--destination{padding:10px 10px 10px 18px;margin-left:-6px;background:#e0efda;min-height:77px}
 #contactos .access-v21__stop--destination strong{font-size:18px}
 #contactos .access-v21__stop--destination small{font-size:9px}
 #contactos .access-v21__exit{display:inline-flex}
 #contactos .access-v21__walk{display:flex;width:auto}
 #contactos .access-v21__connections{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
 #contactos .access-v21__panel-title{gap:16px;padding:21px}
 #contactos .access-v21__panel-title h4{font-size:clamp(35px,9.4vw,50px)}
 #contactos .access-v21__symbol{width:58px;height:64px}
 #contactos .access-v21__symbol svg{width:42px;height:42px}
 #contactos .access-v21__metro-body{grid-template-columns:1fr;padding:24px 23px;gap:21px}
 #contactos .access-v21__walk{width:100%;display:grid;grid-template-columns:auto 1fr;gap:10px 14px}
 #contactos .access-v21__walk-kicker{grid-column:1/-1}
 #contactos .access-v21__walk>strong{font-size:58px;grid-row:2/4}
 #contactos .access-v21__walk>span:nth-of-type(2){font-size:12px}
 #contactos .access-v21__walk>a{grid-column:1/-1}
 #contactos .access-v21__bus-intro{padding:23px 23px 0}
 #contactos .access-v21__bus-numbers{padding:22px 23px 25px;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
 #contactos .access-v21__routes-detail{margin-inline:23px}
 #contactos .access-v21__bus-link{margin-inline:23px}
 #contactos .access-v21__connections{grid-template-columns:1fr}
 #contactos .access-v21__connection{padding:23px}
}
@media(max-width:355px){
 #contactos .access-v21__panel-title{gap:11px;padding:16px}
 #contactos .access-v21__panel-title h4{font-size:34px}
 #contactos .access-v21__symbol{width:50px;height:55px}
 #contactos .access-v21__symbol svg{width:37px;height:37px}
 #contactos .access-v21__walk>strong{font-size:49px}
 #contactos .access-v21__stop{font-size:12px}
 #contactos .access-v21__connection-icon{width:46px;height:46px}
 #contactos .access-v21__connection strong{font-size:28px}
}
@media(prefers-reduced-motion:reduce){#contactos .access-v21__connection,#contactos .access-v21__plus{transition:none}}

/* V22 · Portuguese legal compliance, strictly scoped to footer, phone and optional map */
.call-cost{display:block;font:500 11px/1.5 var(--body);letter-spacing:0;color:#d6e8d7;opacity:.95;overflow-wrap:anywhere}
.call-cost--header{font:600 9px/1.4 var(--body);color:#184c39;white-space:nowrap;margin-top:3px;letter-spacing:0}
.contact__phone .call-cost,.contact__details .call-cost{display:block;font:500 11px/1.5 var(--body);color:#e0f3e5;letter-spacing:0;margin:4px 0 0}
.contact__book-link{display:inline-flex;align-items:center;max-width:max-content;margin-top:2px;font:700 11px/1.5 var(--body);text-decoration:underline;text-underline-offset:4px;color:#fff079}
.footer__col .call-cost{color:#b9d8c7;font:500 11px/1.4 var(--body);margin-top:-11px;letter-spacing:0}
.footer__compliance{padding:23px 0 27px;border-top:1px solid #e0eee237;display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap}
.footer__company{display:flex;flex-direction:column;gap:7px;max-width:540px}
.footer__company>span{color:#ffe637;letter-spacing:.13em;font:800 10px/1.4 var(--body)}
.footer__company strong{color:white;font:700 14px/1.5 var(--body)}
.footer__company small{color:#c5e2d1;font:500 12px/1.5 var(--body)}
.footer__company a{color:#e9f3e7;text-decoration:underline;text-underline-offset:3px;font:600 12px/1.6 var(--body)}
.footer__complaints{display:flex;align-items:center;gap:13px;min-width:min(100%,290px);padding:17px 19px;border:1px solid #ffe6376b;background:#ffffff0a;transition:background .2s,border-color .2s}
.footer__complaints:hover{background:#ffe63717;border-color:#ffe637}
.footer__complaints-icon{display:grid;place-items:center;background:#ffe637;color:#073728;font-size:24px;width:43px;height:43px;flex:none;border-radius:4px}
.footer__complaints>span:last-child{display:grid;gap:5px}
.footer__complaints strong{font:800 12px/1.3 var(--body);letter-spacing:.035em;color:white}
.footer__complaints small{font:500 11px/1.5 var(--body);color:#dcefe4}
.footer__legal a{color:#dceade;font:600 11px/1.6 var(--body)}
.footer__legal a:hover{text-decoration:underline;text-underline-offset:4px}
.map-on-demand{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;padding:28px 30px;text-align:center;color:#084b39;background:radial-gradient(circle at 60% 15%,#eff6e6,#d6e4d8 72%)}
.map-on-demand svg{width:clamp(54px,8vw,76px);height:auto;max-height:82px}
.map-on-demand strong{font:800 clamp(22px,2.5vw,34px)/1 var(--display);letter-spacing:.01em}
.map-on-demand p{max-width:380px;color:#345f50;font:500 clamp(12px,1.05vw,14px)/1.65 var(--body)}
.map-on-demand button{border:0;background:#ffe637;color:#083d2c;padding:15px 20px;font:800 12px/1.3 var(--body);cursor:pointer;transition:background .2s,transform .2s}
.map-on-demand button:hover{background:#fff07c;transform:translateY(-2px)}
.contact__map iframe[hidden]{display:none!important}
@media(max-width:700px){.footer__compliance{flex-direction:column;align-items:center;text-align:center}.footer__company{align-items:center}.footer__complaints{justify-content:center;width:min(100%,360px)}.contact__book-link{margin-inline:auto}}
@media(max-width:470px){.map-on-demand{gap:10px;padding:20px 14px}.map-on-demand p{font-size:12px}.map-on-demand button{font-size:11px;padding:13px 14px}.contact__phone .call-cost,.contact__details .call-cost{font-size:11px}}
/* O acesso legal nunca fica escondido pelo botão flutuante */
body.is-in-footer .whatsapp-float{opacity:0;pointer-events:none;transform:scale(.88)}
.footer__company small{overflow-wrap:anywhere}

.menu-call-cost{display:block;color:#d4eadc;font:500 10px/1.4 var(--body);letter-spacing:0}


/* V24: duas caixas da frota abrem galerias fotográficas separadas. */
.fleet-spotlight__card{appearance:none;display:block;position:relative;min-width:0;overflow:hidden;padding:0;border:0;background:#c9d9cb;color:inherit;text-align:left;cursor:pointer;width:100%;isolation:isolate}
.fleet-spotlight__grid .fleet-spotlight__card>img{display:block;width:100%;height:clamp(230px,25vw,355px);object-fit:cover;object-position:center 48%;transition:transform .45s ease,filter .35s ease}
.fleet-spotlight__grid .fleet-spotlight__card:last-child>img{object-position:center 54%}
.fleet-spotlight__card:hover>img{transform:scale(1.035);filter:brightness(.84)}
.fleet-spotlight__card:focus-visible{outline:4px solid #e8d02b;outline-offset:4px}
.fleet-spotlight__caption{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;gap:16px;align-items:center;background:#063c2fe8;color:white;padding:16px 18px;font-size:11px;font-weight:800;letter-spacing:.07em;z-index:2}
.fleet-spotlight__caption span{color:var(--yellow);font-size:10px}
.fleet-spotlight__hint{position:absolute;z-index:2;top:18px;right:18px;display:inline-flex;align-items:center;gap:10px;padding:11px 13px;background:#063c2f;color:#fff;font:800 10px/1 var(--body);letter-spacing:.1em;box-shadow:0 4px 22px #051d171e}
.fleet-spotlight__hint svg{width:16px;height:16px;color:var(--yellow)}
.fleet-dialog{color:white;background:#052e23;border:1px solid #305c49;max-height:none;max-width:none;width:min(1160px,calc(100vw - 44px));height:min(820px,calc(100dvh - 42px));margin:auto;padding:0;overflow:hidden;box-shadow:0 26px 80px #001f19bd;grid-template-rows:auto minmax(0,1fr) auto}
.fleet-dialog[open]{display:grid}
.fleet-dialog::backdrop{background:#021b16ed;backdrop-filter:blur(5px)}
.fleet-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:clamp(16px,2.3vw,26px) clamp(17px,3vw,34px) 12px;border-bottom:1px solid #ffffff24}
.fleet-dialog__heading p{font:800 10px/1.4 var(--body);letter-spacing:.13em;color:#c3dbcb;margin-bottom:6px}
.fleet-dialog__heading h3{font:800 clamp(26px,3.5vw,44px)/1 var(--display);letter-spacing:-.01em}
.fleet-dialog__close{appearance:none;border:1px solid #ffffff50;background:transparent;color:#fff;padding:12px 15px;white-space:nowrap;font:800 10px/1 var(--body);letter-spacing:.08em;cursor:pointer}
.fleet-dialog__close span{font-size:21px;vertical-align:middle;margin-left:6px}
.fleet-dialog__close:hover,.fleet-dialog__arrow:hover{background:#18714e}
.fleet-dialog__stage{display:grid;grid-template-columns:56px minmax(0,1fr) 56px;align-items:center;min-height:0;gap:12px;padding:15px clamp(14px,3vw,32px)}
.fleet-dialog__stage figure{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:0;height:100%;margin:0;gap:12px}
.fleet-dialog__stage figure img{display:block;max-width:100%;width:auto;max-height:calc(100% - 42px);height:auto;object-fit:contain;border:1px solid #ffffff1a;background:#10382e}
.fleet-dialog__stage figcaption{display:flex;justify-content:space-between;align-items:center;gap:20px;width:min(100%,800px);font:600 12px/1.5 var(--body);color:#e0e7de}
.fleet-dialog__stage figcaption strong{color:var(--yellow);font:800 22px/1 var(--display);letter-spacing:.03em;white-space:nowrap}
.fleet-dialog__arrow{display:grid;place-items:center;width:50px;height:65px;border:1px solid #ffffff44;background:#ffffff0d;color:#fff;cursor:pointer}
.fleet-dialog__arrow svg{width:23px;height:23px}
.fleet-dialog__thumbs{display:flex;align-items:center;justify-content:center;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;padding:13px clamp(16px,3vw,32px) 16px;border-top:1px solid #ffffff24;scrollbar-color:#6e927b transparent}
.fleet-dialog__thumbs button{flex:0 0 auto;width:90px;height:66px;padding:3px;background:#ffffff16;border:2px solid transparent;cursor:pointer;opacity:.68;transition:opacity .15s ease,border-color .15s ease}
.fleet-dialog__thumbs button[aria-current="true"]{border-color:var(--yellow);opacity:1}
.fleet-dialog__thumbs button:hover{opacity:1}
.fleet-dialog__thumbs button img{display:block;width:100%;height:100%;object-fit:cover}
.fleet-dialog button:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
@media(max-width:650px){
 .fleet-spotlight__grid .fleet-spotlight__card>img{height:260px}
 .fleet-spotlight__caption{padding:12px;flex-wrap:wrap}
 .fleet-spotlight__hint{top:10px;right:10px;font-size:9px;padding:10px}
 .fleet-dialog{width:100vw;height:100dvh;max-height:100dvh}
 .fleet-dialog__header{padding:20px 15px 13px}
 .fleet-dialog__heading h3{font-size:clamp(25px,7.8vw,35px)}
 .fleet-dialog__heading p{font-size:8px}
 .fleet-dialog__close{padding:10px 11px;font-size:9px}
 .fleet-dialog__stage{grid-template-columns:38px minmax(0,1fr) 38px;gap:5px;padding:12px 7px}
 .fleet-dialog__arrow{width:37px;height:51px}
 .fleet-dialog__stage figcaption{font-size:11px;gap:12px}
 .fleet-dialog__stage figcaption strong{font-size:20px}
 .fleet-dialog__thumbs{justify-content:flex-start;gap:8px;padding:10px 12px calc(14px + env(safe-area-inset-bottom))}
 .fleet-dialog__thumbs button{width:72px;height:59px}
}
@media(prefers-reduced-motion:reduce){.fleet-spotlight__card>img{transition:none!important}}
/* Galeria da frota em mobile: janela compacta e fotografia mais ampla. */
@media(max-width:650px){
 .fleet-dialog{width:calc(100vw - 16px);height:min(620px,calc(100dvh - 24px));max-height:calc(100dvh - 24px)}
 .fleet-dialog__stage{position:relative;display:flex;align-items:center;justify-content:center;padding:10px 15px}
 .fleet-dialog__stage figure{width:100%;max-width:100%;}
 .fleet-dialog__stage figure img{max-width:100%;}
 .fleet-dialog__arrow{position:absolute;z-index:2;top:48%;transform:translateY(-50%);background:#063c2fcb;border-color:#d8e1d581}
 #fleetPrev{left:3px}
 #fleetNext{right:3px}
}
