:root{--navy:#11233f;--deep:#071b39;--blue:#138fbd;--pale:#dceaf5;--paper:#f7f7f4;--white:#fff;--ink:#162540;--muted:#657185;--line:#d9e0e7;--shadow:0 30px 80px rgba(10,28,56,.15);--page:min(1180px,calc(100vw - 48px))}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;overflow-x:hidden;color:var(--ink);background:var(--paper);font-family:Montserrat,Arial,sans-serif;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit}button{font:inherit}.skip-link{position:fixed;z-index:1000;top:12px;left:16px;padding:10px 14px;color:#fff;background:var(--navy);transform:translateY(-150%)}.skip-link:focus{transform:none}.page-shell{width:var(--page);margin-inline:auto}.section{position:relative;padding:118px 0}.eyebrow{margin:0 0 22px;color:var(--blue);font-size:.7rem;font-weight:800;letter-spacing:.18em;line-height:1.5;text-transform:uppercase}.eyebrow-light{color:#7ed5f1}
.site-header{position:fixed;z-index:100;inset:0 0 auto;border-bottom:1px solid rgba(20,40,70,.08);background:rgba(247,247,244,.94);backdrop-filter:blur(18px);transition:.2s}.site-header.is-scrolled{background:rgba(255,255,255,.97);box-shadow:0 12px 38px rgba(8,31,61,.08)}.nav-shell{width:var(--page);height:88px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand img{width:208px}.desktop-nav{display:flex;align-items:center;gap:clamp(18px,2.2vw,34px);margin-left:auto}.desktop-nav a{position:relative;font-size:.78rem;font-weight:700;text-decoration:none}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--blue);transition:right .18s}.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after{right:0}.nav-actions,.language-switch{display:flex;align-items:center}.nav-actions{gap:18px}.language-switch{gap:5px;color:#91a0b3;font-size:.7rem;font-weight:800}.lang-button{border:0;padding:4px 2px;color:#9aa5b3;background:transparent;cursor:pointer}.lang-button.is-active{color:var(--navy)}.button{min-height:54px;display:inline-flex;align-items:center;justify-content:center;padding:0 28px;border:2px solid var(--navy);border-radius:999px;color:#fff;background:var(--navy);box-shadow:0 12px 28px rgba(17,35,63,.18);font-size:.76rem;font-weight:800;text-decoration:none;transition:.18s}.button:hover,.button:focus-visible{color:var(--navy);background:transparent;box-shadow:none;transform:translateY(-2px)}.button-small{min-height:42px;padding-inline:20px;font-size:.7rem}.menu-button{display:none;width:44px;height:44px;border:0;border-radius:50%;background:var(--navy);cursor:pointer}.menu-button span{display:block;width:18px;height:2px;margin:4px auto;background:#fff;transition:.18s}.menu-button.is-open span:first-child{transform:translateY(6px) rotate(45deg)}.menu-button.is-open span:nth-child(2){opacity:0}.menu-button.is-open span:last-child{transform:translateY(-6px) rotate(-45deg)}.mobile-menu{position:fixed;top:74px;left:0;right:0;height:calc(100dvh - 74px);padding:32px 24px;background:var(--deep)}.mobile-menu nav{width:var(--page);margin:auto;display:grid}.mobile-menu a{padding:20px 0;border-bottom:1px solid rgba(255,255,255,.13);color:#fff;font-size:clamp(1.35rem,6vw,2.2rem);font-weight:800;text-decoration:none}
.hero{position:relative;min-height:770px;padding:168px 0 112px;overflow:hidden;background:radial-gradient(circle at 10% 55%,rgba(220,234,245,.46),transparent 30%),var(--paper)}.hero:before{content:"";position:absolute;left:-84px;bottom:-84px;width:168px;height:168px;background:linear-gradient(135deg,var(--pale),var(--navy));transform:rotate(45deg)}.hero-band{position:absolute;height:50px;display:flex;align-items:center;gap:18px;padding-inline:30px;background:linear-gradient(90deg,var(--navy),#7393b6 62%,var(--pale))}.hero-band i{width:7px;height:7px;border-radius:50%;background:#fff}.top-band{top:112px;left:0;width:min(46vw,660px);border-radius:0 0 54px}.bottom-band{right:0;bottom:26px;width:min(42vw,620px);justify-content:flex-end;border-radius:54px 0 0}.hero-grid{display:grid;grid-template-columns:minmax(0,.91fr) minmax(420px,1.09fr);align-items:center;gap:clamp(50px,7vw,104px)}.hero-copy{padding-top:28px}.hero h1{margin:0;color:var(--navy);font-size:clamp(3.6rem,6.4vw,6.2rem);font-weight:900;letter-spacing:-.072em;line-height:.86}.hero h1 span{display:block}.outline-word{color:transparent;-webkit-text-stroke:2px var(--navy)}.hero-lead{max-width:560px;margin:36px 0 16px;font-size:clamp(1.08rem,1.7vw,1.4rem);font-weight:800;line-height:1.35}.hero-text{max-width:580px;margin:0;color:var(--muted);font-size:.91rem;line-height:1.85}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px}.text-link{display:flex;align-items:center;gap:12px;font-size:.76rem;font-weight:800;text-decoration:none}.text-link span:last-child{font-size:1.4rem;transition:.18s}.text-link:hover span:last-child{transform:translate(4px,4px)}.hero-visual{position:relative;min-height:505px}.photo-frame{position:relative;overflow:hidden;background:#dbe5ed;box-shadow:var(--shadow)}.photo-frame img{width:100%;height:100%;object-fit:cover}.photo-frame-hero{position:absolute;inset:5px 42px 22px 0;border-radius:54px 54px 54px 0}.vertical-note{position:absolute;right:-104px;top:174px;width:260px;margin:0;font-size:.58rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;transform:rotate(90deg)}.dot-field{width:138px;height:126px;background-image:radial-gradient(circle,var(--navy) 3px,transparent 3.3px);background-size:23px 23px;opacity:.68}.hero-visual .dot-field{position:absolute;right:-54px;bottom:-20px}.year-stamp{position:absolute;left:-42px;bottom:-30px;width:132px;height:132px;display:grid;place-content:center;border:9px solid var(--paper);border-radius:50%;color:#fff;background:var(--blue);text-align:center}.year-stamp strong,.year-stamp span{display:block}.year-stamp strong{font-size:1.45rem;font-weight:900}.year-stamp span{margin-top:3px;font-size:.54rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.story{background:#fff}.story:after{content:"";position:absolute;right:0;top:0;border-top:110px solid var(--navy);border-left:110px solid transparent}.story-grid{display:grid;grid-template-columns:.84fr 1.16fr;align-items:center;gap:clamp(60px,9vw,132px)}.story-visual{position:relative;min-height:570px}.photo-frame-tall{position:absolute;inset:0 0 0 28px;border-radius:240px 240px 32px 32px}.story-quote{position:absolute;left:-34px;bottom:-34px;width:150px;height:150px;display:grid;place-content:center;border-radius:50%;color:#fff;background:var(--navy);font-size:2.8rem;font-weight:900;letter-spacing:-.1em}.story-copy h2,.section-heading h2,.services-copy h2,.fleet-intro h2,.drivers-copy h2,.partners-heading h2,.contact-content h2{margin:0;color:var(--navy);font-size:clamp(2.55rem,5vw,4.8rem);font-weight:900;letter-spacing:-.06em;line-height:.98}.story-copy>p:not(.eyebrow),.drivers-copy>p{max-width:650px;margin:25px 0 0;color:var(--muted);font-size:.93rem;line-height:1.9}.story-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px;padding-top:32px;border-top:1px solid var(--line)}.story-stats strong,.story-stats span{display:block}.story-stats strong{color:var(--blue);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:900}.story-stats span{margin-top:7px;color:var(--muted);font-size:.62rem;font-weight:700;line-height:1.4;text-transform:uppercase}
.promise{background:linear-gradient(135deg,transparent 92%,var(--navy) 92%),var(--paper)}.centered{max-width:820px;margin:auto;text-align:center}.promise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:64px}.promise-card{position:relative;min-height:380px;padding:40px 34px;border:1px solid #e0e5eb;background:rgba(255,255,255,.76);transition:.22s}.promise-card:first-child{border-radius:44px 0 0}.promise-card:last-child{border-radius:0 0 44px}.promise-card:hover{z-index:1;border-color:var(--blue);box-shadow:0 24px 70px rgba(17,35,63,.09);transform:translateY(-8px)}.icon-box{width:62px;height:62px;display:grid;place-items:center;color:var(--navy);background:var(--pale)}.icon-box svg{width:34px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2}.card-number{position:absolute;top:42px;right:34px;color:#c7d0da;font-size:.72rem;font-weight:800}.promise-card h3{margin:56px 0 18px;font-size:1.17rem;font-weight:900}.promise-card p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.8}
.services{background:#fff}.services-grid{display:grid;grid-template-columns:.96fr 1.04fr;align-items:center;gap:clamp(52px,7vw,100px)}.service-list{margin-top:48px;border-top:1px solid var(--line)}.service-list article{display:grid;grid-template-columns:42px 1fr;gap:24px;padding:24px 0;border-bottom:1px solid var(--line)}.service-list article>span{padding-top:3px;color:var(--blue);font-size:.7rem;font-weight:900}.service-list h3{margin:0 0 8px;font-size:1rem;font-weight:900}.service-list p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.65}.services-visual{position:relative;min-height:580px}.photo-frame-wide{position:absolute;inset:26px 0 60px;border-radius:0 160px}.quality-label{position:absolute;left:-36px;bottom:26px;width:min(330px,76%);padding:25px 28px;color:#fff;background:var(--navy)}.quality-label strong,.quality-label span{display:block}.quality-label strong{font-size:.92rem;font-weight:900}.quality-label span{margin-top:5px;color:#cbd9e7;font-size:.78rem}.dot-field-services{position:absolute;top:0;right:-52px;width:116px;height:116px;opacity:.25}
.fleet{overflow:hidden;color:#fff;background:radial-gradient(circle at 80% 18%,rgba(36,159,204,.24),transparent 28%),var(--deep)}.fleet:before{content:"";position:absolute;top:0;left:0;border-top:90px solid var(--paper);border-right:90px solid transparent}.fleet-watermark{position:absolute;left:50%;top:49%;color:rgba(255,255,255,.027);font-size:clamp(7rem,18vw,16rem);font-weight:900;letter-spacing:-.08em;white-space:nowrap;transform:translate(-50%,-50%)}.fleet-intro{position:relative;z-index:1;display:grid;grid-template-columns:1fr .72fr;align-items:end;gap:80px}.fleet-intro h2,.destinations h2,.contact-content h2{color:#fff}.fleet-intro>p{margin:0 0 3px;color:#b8c6d8;font-size:.85rem;line-height:1.85}.fleet-showcase{position:relative;z-index:1;max-width:960px;margin:70px auto 44px}.fleet-showcase img{width:100%;max-height:250px;object-fit:contain;filter:drop-shadow(0 35px 38px rgba(0,0,0,.42))}.fleet-types{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid rgba(255,255,255,.18)}.fleet-types article{min-height:180px;padding:30px;border-right:1px solid rgba(255,255,255,.18)}.fleet-types article:last-child{border:0}.fleet-types strong{display:block;font-size:clamp(2rem,4vw,3.35rem);font-weight:900;letter-spacing:-.06em}.fleet-types h3{margin:0 0 14px;color:#7ed5f1;font-size:.67rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.fleet-types p{margin:0;color:#bac6d5;font-size:.7rem;line-height:1.55}
.drivers-grid{display:grid;grid-template-columns:1.06fr .94fr;align-items:center;gap:clamp(56px,8vw,120px)}.check-list{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;margin:36px 0 0;padding:0;list-style:none}.check-list li{position:relative;padding-left:27px;font-size:.72rem;font-weight:800;line-height:1.45}.check-list li:before{content:"✓";position:absolute;left:0;top:-3px;width:19px;height:19px;display:grid;place-content:center;border-radius:50%;color:#fff;background:var(--blue);font-size:.66rem}.drivers-visual{position:relative;min-height:600px}.photo-frame-drivers{position:absolute;inset:0;border-radius:0 0 210px 210px}.side-caption{position:absolute;right:-22px;bottom:80px;padding:14px 20px;background:#fff;box-shadow:0 14px 34px rgba(17,35,63,.14);font-size:.64rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;transform:rotate(-90deg) translateX(100%);transform-origin:bottom right}
.destinations{overflow:hidden;color:#fff;background:var(--deep)}.destinations:after{content:"";position:absolute;right:-100px;top:-100px;width:230px;height:230px;border:1px solid rgba(255,255,255,.2);border-radius:50%;box-shadow:0 0 0 38px rgba(255,255,255,.03),0 0 0 76px rgba(255,255,255,.03)}.destinations-heading{position:relative;z-index:1;max-width:900px}.destination-gallery{position:relative;z-index:1;display:grid;grid-template-columns:.72fr 1.35fr .72fr;align-items:center;gap:20px;margin-top:64px}.destination-card{position:relative;margin:0;overflow:hidden;background:#0d2d58}.destination-card-small{height:300px}.destination-card-main{height:440px;border-radius:190px 190px 0 0}.destination-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.destination-card:hover img{transform:scale(1.055)}.destination-card figcaption{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;padding:18px 20px;background:linear-gradient(0deg,rgba(3,17,38,.9),transparent);font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.destination-note{position:relative;z-index:1;max-width:650px;margin:38px auto 0;color:#b9c7d8;font-size:.78rem;line-height:1.8;text-align:center}
.partners{background:#fff}.partners-grid{display:grid;grid-template-columns:.86fr 1.14fr;align-items:start;gap:clamp(60px,8vw,120px)}.partners-heading{position:sticky;top:138px}.partner-list article{display:grid;grid-template-columns:168px 1fr;align-items:center;gap:34px;min-height:180px;padding:30px 0;border-bottom:1px solid var(--line)}.partner-list article:first-child{border-top:1px solid var(--line)}.partner-logo{height:96px;display:grid;place-items:center;padding:12px}.partner-logo img{max-height:74px;object-fit:contain}.partner-list h3{margin:0 0 10px;font-size:.94rem;font-weight:900}.partner-list p{margin:0;color:var(--muted);font-size:.75rem;line-height:1.7}
.contact{min-height:760px;display:flex;align-items:center;overflow:hidden;color:#fff;background:var(--deep)}.contact:after{content:"";position:absolute;right:0;bottom:0;border-bottom:130px solid var(--pale);border-left:130px solid transparent}.contact-photo,.contact-overlay{position:absolute;inset:0}.contact-photo img{width:100%;height:100%;object-fit:cover}.contact-overlay{background:linear-gradient(90deg,rgba(5,24,53,.98),rgba(5,24,53,.88) 46%,rgba(5,24,53,.2))}.contact-content{position:relative;z-index:2}.contact-content h2{max-width:650px}.contact-content>p:not(.eyebrow){max-width:580px;margin:28px 0 34px;color:#d2deeb;font-size:.93rem;line-height:1.8}.button-light{border-color:#fff;color:var(--navy);background:#fff}.button-light:hover,.button-light:focus-visible{color:#fff;background:transparent}.contact-details{max-width:820px;display:grid;grid-template-columns:repeat(3,1fr);margin-top:70px;border-top:1px solid rgba(255,255,255,.23)}.contact-details a{display:block;padding:24px 28px 0 0;text-decoration:none}.contact-details span,.contact-details strong{display:block}.contact-details span{color:#7ed5f1;font-size:.59rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.contact-details strong{margin-top:8px;font-size:.76rem}.site-footer{padding:62px 0;color:#aeb9c9;background:#04152e}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:60px;align-items:end}.site-footer img{width:210px;filter:brightness(0) invert(1)}.site-footer p,.site-footer address,.footer-end{margin:18px 0 0;font-size:.66rem;font-style:normal;line-height:1.7}.footer-end{display:grid;gap:4px;text-align:right}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s cubic-bezier(.2,.75,.25,1)}.reveal.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
@media(max-width:1040px){:root{--page:min(920px,calc(100vw - 40px))}.desktop-nav{display:none}.menu-button{display:block}.hero{min-height:auto;padding-top:156px}.hero-grid{grid-template-columns:1fr .95fr;gap:55px}.hero h1{font-size:clamp(3.3rem,7vw,5.2rem)}.photo-frame-hero{right:22px}.vertical-note{display:none}.promise-card{padding-inline:26px}.fleet-intro{gap:50px}.fleet-types article{padding:24px 18px}}
@media(max-width:760px){:root{--page:calc(100vw - 34px)}html{scroll-padding-top:78px}.section{padding:82px 0}.nav-shell{height:74px}.brand img{width:155px}.nav-actions>.button{display:none}.hero{padding:124px 0 96px}.hero-grid,.story-grid,.services-grid,.partners-grid,.fleet-intro{grid-template-columns:1fr}.top-band{top:88px;width:52vw;height:30px;gap:10px;padding-inline:16px}.top-band i{width:4px;height:4px}.bottom-band{width:60vw;height:32px}.hero-copy{padding:0}.hero h1{font-size:clamp(3.35rem,17vw,5rem)}.outline-word{-webkit-text-stroke-width:1.5px}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px}.hero-visual{min-height:430px}.photo-frame-hero{inset:0 0 30px;border-radius:42px 42px 42px 0}.year-stamp{left:-8px;bottom:-20px;width:106px;height:106px;border-width:7px}.hero-visual .dot-field{display:none}.story-grid,.services-grid,.partners-grid{gap:58px}.story-visual{min-height:470px}.photo-frame-tall{inset:0 0 0 20px;border-radius:190px 190px 28px 28px}.story-quote{left:0;width:112px;height:112px;font-size:2rem}.story-copy h2,.section-heading h2,.services-copy h2,.fleet-intro h2,.drivers-copy h2,.partners-heading h2,.contact-content h2{font-size:clamp(2.3rem,12vw,3.7rem)}.story-stats{gap:10px}.promise-grid{grid-template-columns:1fr;margin-top:42px}.promise-card{min-height:auto;padding:32px 26px}.promise-card h3{margin-top:34px}.services-visual{min-height:450px}.photo-frame-wide{inset:0 0 48px;border-radius:0 110px}.quality-label{left:0;bottom:0}.dot-field-services{display:none}.fleet-intro{gap:26px}.fleet-showcase{margin:52px auto 34px}.fleet-types{grid-template-columns:1fr 1fr}.fleet-types article{min-height:160px;border-bottom:1px solid rgba(255,255,255,.18)}.fleet-types article:nth-child(2){border-right:0}.drivers-grid{display:flex;flex-direction:column-reverse;gap:58px}.drivers-visual{width:100%;min-height:500px}.photo-frame-drivers{border-radius:0 0 150px 150px}.check-list{grid-template-columns:1fr}.destination-gallery{grid-template-columns:.75fr 1.25fr;gap:12px;margin-top:44px}.destination-card-small,.destination-card-main{height:350px}.destination-card-main{border-radius:130px 130px 0 0}.destination-card:last-child{display:none}.partners-heading{position:static}.partner-list article{grid-template-columns:118px 1fr;gap:22px}.contact{min-height:760px}.contact-overlay{background:linear-gradient(90deg,rgba(5,24,53,.96),rgba(5,24,53,.7))}.contact-details{grid-template-columns:1fr;gap:20px;margin-top:58px;padding-top:24px}.contact-details a{padding:0}.footer-grid{grid-template-columns:1fr;gap:28px}.footer-end{text-align:left}}
@media(max-width:430px){:root{--page:calc(100vw - 28px)}.nav-actions{gap:11px}.hero-visual{min-height:345px}.story-visual,.drivers-visual{min-height:410px}.story-stats{grid-template-columns:1fr}.story-stats div{display:flex;align-items:baseline;gap:14px}.fleet-types{grid-template-columns:1fr}.fleet-types article,.fleet-types article:nth-child(2),.fleet-types article:nth-child(3){border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}.fleet-types article:last-child{border-bottom:0}.destination-gallery{grid-template-columns:1fr}.destination-card:first-child{display:none}.destination-card-main{height:390px}.partner-list article{grid-template-columns:1fr;gap:8px}.partner-logo{width:170px;justify-items:start;padding-left:0}}

@media(max-width:760px){.side-caption{right:0}}
html,body{overflow-x:hidden}

/* Frota Azul Algarve — logótipo oficial fornecido */
.brand{position:relative;width:104px;height:72px;overflow:hidden;flex:0 0 auto}
.brand img{position:absolute;top:-24px;left:-9px;width:121px;height:121px;max-width:none;object-fit:contain}
.site-footer img{width:120px;height:120px;border:4px solid rgba(255,255,255,.14);border-radius:14px;background:#fff;filter:none;object-fit:contain}
@media(max-width:760px){.brand{width:82px;height:60px}.brand img{top:-19px;left:-7px;width:96px;height:96px}}

/* Versão PNG com transparência real */
.brand{width:138px;height:72px;display:flex;align-items:center;overflow:visible}
.brand img{position:static;width:138px;height:auto;max-width:100%;object-fit:contain}
.site-footer img{width:170px;height:auto;border:0;border-radius:0;background:transparent;filter:brightness(0) invert(1);object-fit:contain}
@media(max-width:760px){.brand{width:112px;height:60px}.brand img{position:static;width:112px;height:auto}}
