@import url('assets/fonts/fonts.css');

:root{--wine:#52283c;--wine-rich:#422030;--plum:#94325f;--coral:#f38b73;--ink:#302e30;--muted:#72696d;--paper:#fff;--soft:#faf6f3;--line:#e6dedc;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif;--radius:5px;--wrap:1320px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.75 var(--sans);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button,a{touch-action:manipulation}button{border:0;background:none}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:500;line-height:1.03;letter-spacing:-.045em}h1 em,h2 em{font-weight:500}h2{font-size:clamp(2.8rem,4.7vw,4.5rem)}h3{font-weight:600;line-height:1.3}p{color:var(--muted)}svg{flex-shrink:0}.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}.wrap{width:calc(100% - 112px);max-width:var(--wrap);margin-inline:auto}.section{padding-block:110px}.eyebrow{font:600 .75rem/1.6 var(--sans);letter-spacing:.18em;color:var(--plum);margin-bottom:24px}.short-line{display:inline-block;vertical-align:middle;width:34px;height:1px;background:var(--plum);margin-right:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:58px;padding:17px 24px;font-size:.875rem;font-weight:600;border-radius:var(--radius);transition:background .2s,transform .2s,box-shadow .2s;border:1px solid transparent;text-align:center;line-height:1.5}.button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #52283c15}.button-wine{background:var(--wine);color:white}.button-wine:hover{background:var(--plum)}.button-coral{background:var(--coral);color:var(--wine-rich)}.button-coral:hover{background:#ffa68f}.button .icon{width:19px;height:19px}.text-link{display:inline-flex;align-items:center;gap:16px;padding:8px 0;border-bottom:1px solid #c9b9bd;font-size:.875rem;font-weight:600;color:var(--wine);line-height:1.5;transition:gap .2s,border-color .2s}.text-link:hover{gap:23px;border-color:var(--plum)}.text-link .icon{width:18px;height:18px}.icon-button{display:grid;place-items:center;min-height:44px;min-width:44px;border-radius:50%;transition:background .2s}.icon-button:hover{background:#52283c0b}:focus-visible{outline:3px solid var(--plum);outline-offset:5px}.button-wine:focus-visible,.contact :focus-visible,.journeys :focus-visible{outline-color:var(--coral)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:20px;top:-80px;z-index:1000;background:var(--wine);color:#fff;padding:10px 20px}.skip-link:focus{top:10px}

/* Header & first impression */
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #e9e2e1;backdrop-filter:blur(15px)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:94px;gap:26px}.brand{display:block;flex:0 0 192px;max-width:192px}.brand{background:#fff}.brand img{width:100%;filter:url(#logo-clear-background)}.navigation{display:flex;align-items:center;gap:23px}.navigation a{font-size:.875rem;color:#5e5559;position:relative;white-space:nowrap;padding:28px 0}.navigation a:after{content:'';position:absolute;height:2px;left:0;right:100%;bottom:20px;background:var(--plum);transition:right .2s}.navigation a:hover:after,.navigation a.active:after{right:0}.navigation a.active{color:var(--plum)}.header-cta{display:flex;align-items:center;gap:15px;font-size:.875rem;font-weight:600;color:var(--wine);border:1px solid var(--line);border-radius:4px;padding:11px 16px;white-space:nowrap}.header-cta:hover{background:var(--soft)}.header-cta .icon{width:18px;height:18px}.menu-toggle{display:none}.hero{padding-top:52px;padding-bottom:65px;display:grid;grid-template-columns:.91fr 1.09fr;align-items:center;gap:56px;min-height:718px}.hero-copy{padding:20px 0}.hero h1{font-size:clamp(4.7rem,6.7vw,6.8rem);line-height:.98;color:var(--wine);margin:0 0 27px}.hero h1 em{color:var(--plum)}.hero-description{max-width:390px;font-size:1rem;line-height:1.8}.hero-actions{display:flex;gap:23px;align-items:center;margin-top:34px;flex-wrap:wrap}.hero-actions .text-link{border-bottom:0}.hero-footnote{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.8125rem;margin-top:40px}.hero-footnote .icon{color:var(--plum);width:18px;height:18px}.hero-visual{position:relative;min-width:0;isolation:isolate;align-self:stretch;min-height:570px}.hero-image-frame{height:100%;min-height:570px;overflow:hidden;border-radius:130px 5px 5px 5px;background:#bbc7bf}.hero-car{width:100%;height:100%;min-height:570px;position:absolute;inset:0;object-fit:cover;object-position:50% 100%;border-radius:130px 5px 5px 5px}.image-top-label{position:absolute;top:25px;right:23px;color:white;font-size:.75rem;letter-spacing:.15em;max-width:230px;text-align:right;text-shadow:0 1px 8px #000b}.car-caption{position:absolute;bottom:20px;left:20px;right:20px;display:flex;align-items:center;justify-content:space-between;padding:20px 23px;background:#fffdf9f2;backdrop-filter:blur(10px);border-radius:4px;gap:10px}.car-caption span{display:block;font-size:.75rem;letter-spacing:.15em;color:#6b535e;margin-bottom:5px}.car-caption strong{font-family:var(--serif);font-size:2.05rem;font-weight:500;line-height:1.1;color:var(--wine)}.circle-link{display:grid;place-items:center;background:var(--wine);color:white;width:47px;height:47px;border-radius:50%;flex-shrink:0}.circle-link:hover{background:var(--plum)}.hero-stamp{position:absolute;left:-38px;top:32px;border:1px solid #e3c5b7;display:flex;align-items:center;gap:12px;background:#f8eee7;padding:15px 19px;box-shadow:0 8px 22px #34232308;transform:rotate(-5deg);font-family:var(--serif);font-size:1.25rem;line-height:1.15;color:var(--wine)}.hero-stamp .icon{width:28px;height:28px;color:var(--plum)}.service-ribbon{border-block:1px solid var(--line);background:var(--soft)}.ribbon-inner{display:flex;align-items:center;min-height:83px;gap:32px;justify-content:space-between}.ribbon-inner a{display:flex;gap:17px;align-items:center;font-weight:500;color:var(--wine);font-size:.875rem}.ribbon-inner a .icon{width:20px;height:20px;color:var(--plum)}.ribbon-inner>span{font-family:var(--serif);font-style:italic;font-size:1.15rem;color:var(--muted)}

/* Story & car */
.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.about h2 em,.section-heading h2 em,.airport-intro h2 em,.location h2 em{color:var(--plum)}.about-copy{max-width:625px;padding-top:16px}.about-copy .lead{font:500 2rem/1.3 var(--serif);color:var(--ink);margin-bottom:23px}.about-copy p+p{margin-top:20px}.about-copy .text-link{margin-top:23px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:44px}.section-heading>p{font-size:.9375rem;max-width:355px;margin-bottom:8px}.vehicle{background:var(--soft);border-block:1px solid #f0e7e4}.vehicle-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:24px}.vehicle-main,.vehicle-side>.gallery-open{position:relative;padding:0;overflow:hidden;display:block;background:#c9ceca;border-radius:5px;min-width:0}.vehicle-main{min-height:495px}.vehicle-main img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:50% 78%;transition:transform .6s}.gallery-open:hover img{transform:scale(1.025)}.photo-expand{position:absolute;right:20px;bottom:20px;background:#fffefce8;color:var(--wine);border-radius:3px;padding:9px 15px;display:flex;align-items:center;gap:17px;font-size:.8125rem}.photo-expand .icon{width:16px;height:16px}.vehicle-side{display:grid;grid-template-rows:1.2fr 1fr;gap:22px;min-width:0}.interior-photo{min-height:245px}.interior-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}.photo-tag{position:absolute;bottom:16px;left:18px;color:#fff;font-size:.8125rem;background:#24151dbc;border-radius:3px;padding:6px 12px}.vehicle-note{padding:28px 34px;background:#f1e8e4;border:1px solid #e9ded8;border-radius:5px}.vehicle-note .eyebrow{font-size:.75rem;display:block;margin-bottom:12px}.vehicle-note h3{font-family:var(--serif);font-size:2rem;font-weight:500;color:var(--wine);line-height:1.1;margin-bottom:13px}.vehicle-bottom{display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap;padding-top:27px;font-size:.875rem;color:#6c5a62}.vehicle-bottom span{display:flex;align-items:center;gap:10px}.vehicle-bottom .icon{width:18px;height:18px;color:var(--plum)}

/* Coast & journeys */
.destination-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.destination-image{display:block;position:relative;padding:0;overflow:hidden;border-radius:5px;width:100%;aspect-ratio:4/4.5;background:#deebe6}.destination-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.destination-image:hover img{transform:scale(1.06)}.destination-badge{position:absolute;top:18px;left:18px;background:#fffdf7ef;border-radius:3px;padding:5px 10px;color:var(--wine);font-size:.75rem;font-weight:600;letter-spacing:.1em}.destination-circle{position:absolute;right:17px;bottom:17px;display:grid;place-items:center;background:#fffdf7f5;width:45px;height:45px;border-radius:50%;color:var(--wine);transition:transform .3s}.destination-image:hover .destination-circle{transform:rotate(45deg)}.destination-title{display:flex;align-items:center;justify-content:space-between;margin-top:21px;gap:15px}.destination-title h3{font-family:var(--serif);font-size:2rem;color:var(--wine);font-weight:500}.destination-title>span{font-family:var(--serif);color:#9c8b90;font-size:1rem}.destination-card>p{font-size:.875rem;margin-top:9px}.destination-card>.text-link{font-size:.8125rem;margin-top:13px}.all-destinations{margin-top:56px;border:1px solid var(--line);border-radius:5px;padding:27px 32px}.all-destinations summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer}.all-destinations summary::-webkit-details-marker{display:none}.all-destinations summary .eyebrow{font-size:.75rem;display:block;margin-bottom:7px}.all-destinations summary h3{font-family:var(--serif);font-size:1.875rem;font-weight:500;color:var(--wine)}.all-destinations summary>.icon{transition:transform .25s}.all-destinations[open] summary>.icon{transform:rotate(180deg)}.beach-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px 25px;margin-top:27px;padding-top:22px;border-top:1px solid var(--line)}.beach-list button,.trindade-detail button{font-size:.875rem;text-align:left;padding:8px 0;line-height:1.5;display:flex;align-items:center;gap:7px;justify-content:space-between}.beach-list button:hover,.trindade-detail button:hover{color:var(--plum);text-decoration:underline;text-underline-offset:4px}.beach-list .icon{width:15px;height:15px;opacity:.55}.trindade-detail{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}.trindade-detail>strong{font-size:.875rem;color:var(--wine)}.trindade-detail>div{display:flex;gap:12px 28px;flex-wrap:wrap;margin-top:5px}.trindade-detail button{font-size:.8125rem;color:var(--muted)}.service-note{display:flex;align-items:flex-start;gap:12px;font-size:.8125rem;line-height:1.7;max-width:900px;margin-top:23px}.service-note .icon{width:17px;height:17px;margin-top:4px;color:var(--plum)}.journeys{background:var(--wine-rich);color:#fffaf5}.journeys .eyebrow{color:#f4b3a1}.journeys .section-heading h2 em{color:#efa996}.journeys .section-heading>p{color:#d2c0c6}.region-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px}.region{border-top:1px solid #8e66774d;padding-top:27px}.region-index{font:italic 1.5rem var(--serif);color:#f0a590}.region h3{font:500 1.875rem/1.15 var(--serif);margin-top:16px;margin-bottom:20px;color:#fff3ed}.region button{font-size:.875rem;color:#e2d5da;display:flex;align-items:center;justify-content:space-between;gap:15px;text-align:left;padding:11px 0;width:100%;border-bottom:1px solid #85617144;line-height:1.55}.region button:hover{color:#ffbda9}.region button .icon{width:17px;height:17px;opacity:.7}.airports{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.airport-icon{background:#f8eeea;color:var(--plum);width:48px;height:48px;display:grid;place-items:center;border-radius:50%;margin-bottom:25px}.airport-intro .eyebrow{margin-bottom:17px}.airport-intro p:not(.eyebrow){margin-top:27px;max-width:415px}.airport-intro .text-link{margin-top:23px}.airport-row{display:flex;align-items:center;gap:22px;padding:26px 0;border-bottom:1px solid var(--line);width:100%;text-align:left}.airport-row:first-child{border-top:1px solid var(--line)}.airport-code{display:grid;place-items:center;min-width:70px;height:70px;background:var(--soft);color:var(--wine);font-size:1.1rem;letter-spacing:.05em;font-weight:500;border-radius:4px}.airport-row strong{display:block;color:var(--wine);font-weight:500;font-size:1.05rem;line-height:1.5}.airport-row small{font-size:.8125rem;color:var(--muted)}.airport-row>.icon{margin-left:auto;width:20px;height:20px;color:var(--plum);transition:transform .25s}.airport-row:hover>.icon{transform:translate(3px,-3px)}

/* Booking, contact and finishing touches */
.booking{background:#f4ece8;border-block:1px solid #eddfd8}.booking-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:95px;align-items:start}.booking-intro{padding-top:20px}.booking-intro h2{color:var(--wine)}.booking-intro h2 em{color:var(--plum)}.booking-intro>p:not(.eyebrow){margin-top:26px;line-height:1.85}.booking-step{display:flex;align-items:flex-start;gap:18px;margin-top:32px}.booking-step>span{font:italic 1.2rem var(--serif);border:1px solid #d6bfc1;min-width:40px;height:40px;display:grid;place-items:center;border-radius:50%;color:var(--plum)}.booking-step strong{font-size:.9375rem;font-weight:600;color:var(--wine)}.booking-step p{font-size:.8125rem;margin-top:2px}.booking-form{padding:35px;background:#fff;border-radius:7px;box-shadow:0 14px 55px #4e283407}.form-heading{display:flex;align-items:center;justify-content:space-between;color:var(--wine);padding-bottom:23px;margin-bottom:20px;border-bottom:1px solid var(--line)}.form-heading h3{font:500 1.875rem var(--serif)}.form-heading .icon{color:var(--plum);width:25px;height:25px}.form-row{display:flex;gap:18px;margin-bottom:19px}.form-row>label{flex:1;min-width:0}label{display:block;color:#5a4550;font-size:.875rem;font-weight:500;line-height:1.5}input,select,textarea{display:block;width:100%;border:1px solid #dfd4d7;border-radius:4px;padding:13px 12px;margin-top:7px;min-height:49px;color:var(--ink);font-size:1rem;background:#fff;line-height:1.4;min-width:0}input::placeholder,textarea::placeholder{color:#91858b;font-size:.875rem}textarea{resize:vertical;max-height:300px;min-height:90px}select{padding-right:25px}input:focus,select:focus,textarea:focus{border-color:var(--plum);outline:2px solid #94325f20;outline-offset:0}.optional{color:#8a7b82;font-weight:400;font-size:.75rem}.form-submit{width:100%;margin-top:22px}.form-note{font-size:.75rem;line-height:1.7;text-align:center;max-width:400px;margin:14px auto 0}.location{display:grid;grid-template-columns:.82fr 1.18fr;gap:95px;align-items:center}.location-copy p:not(.eyebrow){margin-top:23px}.location-copy .text-link{margin-top:22px}.map-panel{position:relative;overflow:hidden;min-height:420px;height:100%;border-radius:6px;background:#e5ebe6;border:1px solid var(--line)}.map-panel iframe{border:0;width:100%;height:100%;min-height:420px;filter:saturate(.55);display:block}.map-caption{position:absolute;bottom:20px;left:20px;right:20px;display:flex;align-items:center;gap:15px;background:#fffffff5;box-shadow:0 6px 20px #00000008;border:1px solid #eee6e3;padding:16px 19px;border-radius:4px;color:var(--plum);pointer-events:none}.map-caption strong{display:block;font-size:.9375rem;color:var(--wine)}.map-caption span{display:block;font-size:.75rem;color:var(--muted)}.contact{background:var(--wine-rich);color:#fff;padding:70px 0}.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:50px}.contact .eyebrow{color:#f3b4a1;margin-bottom:18px}.contact h2{font-size:clamp(2.5rem,4.2vw,4rem);line-height:1.12}.contact h2 em{color:#efad98}.contact p:not(.eyebrow){color:#d9c4cd;margin-top:15px;font-size:.9375rem}.contact .button{flex-shrink:0;gap:32px}.footer{padding-block:43px 24px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-bottom:31px;border-bottom:1px solid var(--line)}.footer-brand{max-width:185px}.footer-top>p{font-family:var(--serif);font-size:1.2rem;font-style:italic}.back-top{font-size:.8125rem;display:flex;align-items:center;gap:14px;color:var(--wine)}.back-top .icon{width:17px;height:17px}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:20px;font-size:.75rem;color:var(--muted)}.footer-link{padding:4px 0;font-size:.75rem;border-bottom:1px solid #e3d6d9;color:var(--muted)}.floating-booking{position:fixed;right:22px;bottom:22px;display:flex;gap:10px;align-items:center;background:var(--wine);color:white;border:1px solid #b693a2;border-radius:99px;padding:14px 19px;box-shadow:0 5px 20px #36262b30;font-size:.8125rem;z-index:40;transition:transform .25s}.floating-booking:hover{transform:translateY(-4px)}.floating-booking .icon{width:21px;height:21px}.floating-booking.is-hidden{opacity:0;pointer-events:none}

dialog{border:0;padding:0;border-radius:8px;max-height:90dvh;color:var(--ink)}dialog::backdrop{background:#1d1221c9;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:13px;top:13px;background:white;color:var(--wine);z-index:2;box-shadow:0 2px 12px #0002}.gallery-dialog{width:min(92vw,1100px);background:#171317;padding:20px 20px 0}.gallery-dialog>img{max-height:74dvh;width:100%;object-fit:contain;display:block;border-radius:3px}.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:8px 0;color:white}.gallery-controls p{color:#e2d8de;font-size:.875rem;text-align:center}.gallery-controls .icon-button:hover{background:#ffffff18}.rotate{transform:rotate(180deg)}.summary-dialog{width:min(92vw,620px);padding:44px}.summary-dialog .eyebrow{margin-bottom:12px}.summary-dialog h2{font-size:2.7rem;color:var(--wine);line-height:1.1;margin-bottom:15px}.summary-dialog>p:not(.eyebrow){font-size:.875rem;line-height:1.7}.summary-dialog pre{white-space:pre-wrap;word-break:break-word;font:400 .9375rem/1.8 var(--sans);padding:20px;background:var(--soft);border:1px solid var(--line);border-radius:5px;color:var(--wine);margin:22px 0}.summary-actions{display:flex;flex-wrap:wrap;gap:15px;align-items:center;margin-top:20px}.summary-actions .button{min-height:48px;padding:11px 20px}.contact-status{color:var(--plum);font-weight:500}.image-credit{border-top:1px solid var(--line);padding-top:18px;margin-top:20px;font-size:.875rem}.image-credit strong{display:block;color:var(--wine);margin-bottom:3px}.image-credit a{text-decoration:underline;text-underline-offset:3px;color:var(--plum)}.image-credit small{display:block;margin-top:6px}.noscript-note{padding:20px;text-align:center;background:var(--soft)}

/* Respect motion preferences, and never hide content when scripts fail. */
@media(prefers-reduced-motion:no-preference){.motion-ready .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.motion-ready .reveal.visible{opacity:1;transform:none}.hero-copy{animation:arrive .8s both}.hero-visual{animation:arrive 1s .12s both}@keyframes arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}}
@media(min-width:1600px){.hero{min-height:800px;gap:80px}.hero-visual,.hero-image-frame,.hero-car{min-height:630px}}
@media(max-width:1240px){.wrap{width:calc(100% - 72px)}.header-inner{gap:22px}.brand{flex-basis:164px;max-width:164px}.navigation{gap:17px}.header-cta{padding:10px 12px;font-size:.8125rem}.navigation a{font-size:.875rem}.hero{gap:38px}.hero-actions{gap:16px}.hero-actions .button{padding:17px 19px;gap:16px}.ribbon-inner{gap:22px}.ribbon-inner>span{display:none}.ribbon-inner a{flex:1;justify-content:center}.about,.airports,.location,.booking-grid{gap:60px}.region-grid{gap:32px}}
@media(max-width:1024px){.wrap{width:calc(100% - 56px)}.header-inner{min-height:84px}.brand{flex-basis:182px;max-width:182px}.menu-toggle{display:grid;margin-left:0}.header-cta{margin-left:auto}.navigation{position:absolute;top:100%;left:0;right:0;background:#fff;display:none;padding:16px 28px 24px;border-bottom:1px solid var(--line);box-shadow:0 18px 25px #52283c08;max-height:calc(100dvh - 84px);overflow:auto}.navigation.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}.navigation a{font-size:1rem;padding:12px 8px;border-bottom:1px solid #f1e9e9}.navigation a:after{display:none}.hero{min-height:630px;gap:26px;padding-block:38px 50px}.hero h1{font-size:clamp(4rem,8.5vw,5.5rem)}.hero .eyebrow{font-size:.75rem;letter-spacing:.14em}.hero-visual,.hero-image-frame,.hero-car{min-height:525px}.hero-image-frame,.hero-car{border-top-left-radius:100px}.hero-description{font-size:.9375rem}.hero-footnote{margin-top:28px}.hero-stamp{top:26px;left:-24px;font-size:1.1rem;padding:12px 15px}.image-top-label{display:none}.car-caption{bottom:14px;left:14px;right:14px;padding:17px}.car-caption strong{font-size:1.75rem}.car-caption span{font-size:.75rem;max-width:155px}.section{padding-block:80px}.about{gap:50px}.vehicle-grid{grid-template-columns:1.2fr 1fr;gap:18px}.vehicle-main{min-height:455px}.vehicle-note{padding:23px}.vehicle-note h3{font-size:1.8rem}.section-heading{gap:32px}.section-heading>p{max-width:280px}.destination-grid{gap:20px}.destination-title h3{font-size:1.75rem}.destination-card>p{font-size:.8125rem}.destination-badge{top:13px;left:13px;font-size:.75rem}.beach-list{grid-template-columns:repeat(3,minmax(0,1fr))}.region-grid{gap:27px}.airports,.location{gap:45px}.booking-grid{gap:40px;grid-template-columns:.8fr 1.2fr}.booking-form{padding:27px}.form-row{gap:13px}.contact-inner{gap:32px}.contact .button{gap:16px}}
@media(max-width:767px){html{scroll-padding-top:85px}.wrap{width:calc(100% - 40px)}.header-inner{min-height:76px;gap:13px}.brand{max-width:152px;flex-basis:152px}.header-cta{font-size:.75rem;gap:8px;min-height:42px;padding:8px 10px}.header-cta .icon{width:15px;height:15px}.menu-toggle{min-width:36px}.navigation{max-height:calc(100dvh - 76px)}.hero{display:flex;flex-direction:column;gap:27px;padding-top:34px;padding-bottom:36px;min-height:0}.hero-copy{padding:0;width:100%}.hero .eyebrow{margin-bottom:22px}.hero h1{font-size:clamp(4rem,13vw,5.7rem);line-height:.97;margin-bottom:22px}.hero-description{max-width:460px;font-size:.9375rem;line-height:1.8}.hero-actions{margin-top:24px;gap:20px}.hero-actions .button{padding:15px 18px;font-size:.8125rem;min-height:53px;gap:20px}.hero-actions .text-link{font-size:.8125rem}.hero-footnote{margin-top:20px;font-size:.75rem}.hero-visual{align-self:auto;width:100%;min-height:430px;height:clamp(410px,116vw,560px)}.hero-image-frame,.hero-car{min-height:0;height:100%;border-top-left-radius:80px}.hero-car{object-position:50% 68%}.hero-stamp{left:-4px;top:26px;transform:rotate(-4deg);font-size:1rem;padding:11px 15px}.hero-stamp .icon{width:25px;height:25px}.car-caption{padding:17px 19px}.car-caption span{max-width:none;font-size:.75rem}.car-caption strong{font-size:1.9rem}.ribbon-inner{min-height:0;padding-block:18px;gap:10px;align-items:stretch}.ribbon-inner a{flex-direction:column-reverse;gap:7px;line-height:1.5;font-size:.75rem;text-align:center;max-width:33.333%;padding:0 5px;border-right:1px solid #e5d9d8}.ribbon-inner a:last-of-type{border-right:0}.ribbon-inner a .icon{height:21px;width:21px}.section{padding-block:65px}.eyebrow{font-size:.75rem;margin-bottom:20px}h2{font-size:clamp(2.7rem,10.8vw,3.6rem)}.about{grid-template-columns:1fr;gap:25px}.about-copy{padding-top:0}.about-copy .lead{font-size:1.8rem}.about-copy>p:not(.lead){font-size:.9375rem}.section-heading{display:block;margin-bottom:31px}.section-heading>p{margin-top:24px;font-size:.9375rem;max-width:none}.section-heading>p br{display:none}.vehicle-grid{grid-template-columns:1fr;gap:18px}.vehicle-main{min-height:0;aspect-ratio:1/1.05}.vehicle-main img{object-position:50% 80%}.vehicle-side{grid-template-columns:1fr;grid-template-rows:auto auto;gap:18px}.interior-photo{min-height:0;aspect-ratio:1.5}.vehicle-note{padding:25px}.vehicle-note h3{font-size:2.1rem}.vehicle-note h3 br{display:none}.vehicle-bottom{gap:13px;flex-direction:column;padding-top:23px;font-size:.8125rem}.destination-grid{grid-template-columns:1fr;gap:37px}.destination-image{aspect-ratio:1.15}.destination-title{margin-top:18px}.destination-title h3{font-size:2.1rem}.destination-badge{font-size:.75rem;top:18px;left:18px}.destination-card>p{font-size:.875rem}.destination-card>.text-link{margin-top:8px}.destination-title>span{font-size:1.125rem}.all-destinations{padding:24px 19px;margin-top:38px}.all-destinations summary h3{font-size:1.65rem}.all-destinations summary .eyebrow{font-size:.75rem}.beach-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 15px;margin-top:19px;padding-top:17px}.beach-list button{font-size:.8125rem;min-height:46px;gap:5px;align-items:flex-start}.beach-list .icon{width:12px;height:12px;margin-top:4px}.trindade-detail{margin-top:14px}.trindade-detail>div{gap:0 20px}.trindade-detail button{font-size:.8125rem}.service-note{font-size:.75rem}.region-grid{grid-template-columns:1fr;gap:35px}.region h3{font-size:2rem;margin-top:12px;margin-bottom:13px}.region button{padding-block:13px;font-size:.9375rem}.airports{grid-template-columns:1fr;gap:35px}.airport-row{padding:21px 0;gap:18px}.airport-code{min-width:65px;height:65px;font-size:1rem}.airport-row strong{font-size:1rem}.airport-row small{font-size:.75rem}.booking-grid{grid-template-columns:1fr;gap:32px}.booking-intro{padding-top:0}.booking-intro>p:not(.eyebrow){margin-top:22px}.booking-step{margin-top:22px}.booking-form{padding:27px 21px}.form-heading h3{font-size:1.8rem}.form-row{gap:14px}.form-row label{font-size:.8125rem}.form-row input,.form-row select{font-size:1rem;padding-inline:9px}.form-row select{padding-right:18px}.form-note{font-size:.75rem}.location{grid-template-columns:1fr;gap:32px}.map-panel,.map-panel iframe{min-height:340px}.location-copy>p:not(.eyebrow){font-size:.9375rem}.contact{padding-block:55px}.contact-inner{display:block}.contact h2{font-size:2.7rem;max-width:400px}.contact .button{margin-top:28px}.footer{padding-bottom:88px;padding-top:32px}.footer-top{flex-wrap:wrap;gap:23px;padding-bottom:25px}.footer-brand{max-width:176px;flex-basis:176px}.footer-top>p{width:100%;order:3;font-size:1.15rem}.back-top{margin-left:auto;font-size:.75rem;gap:8px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:12px;font-size:.75rem;padding-top:22px}.floating-booking{bottom:max(16px,env(safe-area-inset-bottom));right:16px;padding:13px 16px;font-size:.75rem}.gallery-dialog{padding:12px 12px 0}.gallery-controls{gap:8px}.gallery-controls p{font-size:.75rem}.summary-dialog{padding:38px 23px 25px}.summary-dialog h2{font-size:2.25rem}.summary-dialog pre{font-size:.8125rem;padding:16px}.summary-actions .button{font-size:.8125rem}.summary-actions{gap:14px}}
@media(max-width:370px){.wrap{width:calc(100% - 32px)}.brand{max-width:138px;flex-basis:138px}.header-cta{display:none}.menu-toggle{margin-left:auto}.hero h1{font-size:3.7rem}.hero-actions{gap:12px}.hero-actions .button{gap:12px;padding-inline:14px}.hero-actions .text-link{font-size:.75rem}.hero-visual{height:395px;min-height:395px}.car-caption{padding:15px}.car-caption span{max-width:160px}.booking-form{padding:25px 16px}.form-row{flex-wrap:wrap}.form-row>label{flex-basis:100%}.beach-list{grid-template-columns:1fr}.ribbon-inner a{font-size:.75rem}.footer-top{gap:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Full-width photographic opening. Captions and controls stay clear of the car. */
.home-section{width:100%;padding:0}
.hero-carousel{width:100%;background:#fff}
.hero-stage{position:relative;isolation:isolate;width:100%;aspect-ratio:16/9;overflow:hidden;background:#e3e8e6;touch-action:pan-y}
.hero-slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;pointer-events:none;z-index:0;transition:opacity .65s ease,visibility 0s linear .65s}
.hero-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:1;transition:opacity .65s ease,visibility 0s}
.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block}
.hero-slide-car img{object-position:50% 67%}
.hero-slide figcaption{position:absolute;top:clamp(20px,3.5vw,60px);left:max(28px,calc((100% - 1320px)/2));padding:15px 21px;background:#fffdf8ed;border:1px solid #fff7;border-radius:4px;backdrop-filter:blur(10px);color:var(--wine);max-width:calc(100% - 56px);box-shadow:0 5px 25px #20141e0a}
.hero-slide figcaption>span{display:block;font-size:.75rem;letter-spacing:.13em;font-weight:500;line-height:1.6}
.hero-slide figcaption>strong{display:block;font:500 clamp(1.6rem,2.4vw,2.5rem)/1.15 var(--serif);margin-top:5px}
.hero-toolbar{border-bottom:1px solid var(--line);background:#fff}
.hero-toolbar-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:78px}
.hero-slide-selector{display:flex;align-items:center;gap:31px}
.hero-dot{display:inline-flex;align-items:center;gap:10px;min-height:48px;min-width:44px;padding:10px 0;color:var(--muted);font-size:.875rem;font-weight:500}
.hero-dot:hover,.hero-dot.is-active{color:var(--plum)}
.hero-dot-mark{width:7px;height:7px;background:#d5c5cd;border-radius:50%;transition:width .2s,background .2s;flex-shrink:0}
.hero-dot.is-active .hero-dot-mark{width:24px;background:var(--plum);border-radius:8px}
.hero-carousel-controls{display:flex;align-items:center;gap:8px;color:var(--wine)}
.hero-carousel-controls .icon-button{border:1px solid #e6dcdf;background:#fff;width:44px;height:44px}
.hero-carousel-controls .icon-button:hover{background:var(--soft);border-color:#cbb7c0}
.hero-carousel-controls .icon{width:20px;height:20px}
.hero-counter{font-size:.8125rem;letter-spacing:.06em;color:#8b7a82;margin-right:15px;white-space:nowrap;font-variant-numeric:tabular-nums}
#hero-current{font-weight:600;color:var(--wine)}
.hero-counter-divider{padding:0 9px;color:#b9a7af}
.home-intro{display:grid;grid-template-columns:1.07fr 1fr;align-items:center;gap:65px;padding-block:55px 60px}
.home-intro h1{font-size:clamp(2.8rem,4.4vw,4.25rem);color:var(--wine);line-height:1.05;letter-spacing:-.035em}
.home-intro h1 em{color:var(--plum)}
.home-intro .eyebrow{margin-bottom:18px}
.home-intro-details>p{max-width:465px;font-size:1rem;line-height:1.8}
.home-intro-actions{display:flex;align-items:center;gap:23px;flex-wrap:wrap;margin-top:22px}
.home-intro-actions .text-link{font-size:.875rem}
@media(min-width:1600px){.hero-stage{aspect-ratio:16/9}}
@media(max-width:1024px){.hero-slide figcaption{left:28px;top:27px;padding:13px 18px}.hero-slide figcaption>strong{font-size:1.9rem}.hero-toolbar-inner{min-height:76px;gap:18px}.hero-slide-selector{gap:20px}.hero-dot{font-size:.875rem;gap:8px}.hero-counter{margin-right:7px}.home-intro{gap:40px;padding-block:43px 48px}.home-intro h1{font-size:3.25rem}.home-intro-actions{gap:18px}.home-intro-actions .button{gap:18px;padding-inline:18px}}
@media(max-width:767px){.hero-stage{aspect-ratio:16/9}.hero-slide figcaption{top:12px;left:14px;max-width:calc(100% - 28px);padding:8px 11px;backdrop-filter:blur(5px)}.hero-slide figcaption>span{font-size:.75rem;letter-spacing:.08em;line-height:1.4}.hero-slide figcaption>strong{font-size:1.15rem;margin-top:3px;line-height:1.1}.hero-slide-car figcaption>span{display:none}.hero-slide-car figcaption>strong{margin:0;font-size:1.125rem}.hero-toolbar-inner{min-height:68px;gap:12px}.hero-slide-selector{gap:5px}.hero-dot{min-width:30px;min-height:44px;padding:10px 5px}.hero-dot-name{display:none}.hero-dot-mark{width:7px;height:7px}.hero-dot.is-active .hero-dot-mark{width:20px}.hero-carousel-controls{gap:5px}.hero-carousel-controls .icon-button{min-width:40px;width:40px;min-height:40px;height:40px}.hero-counter{margin-right:6px;font-size:.75rem}.hero-counter-divider{padding-inline:5px}.home-intro{grid-template-columns:1fr;gap:22px;padding-block:34px 38px}.home-intro h1{font-size:clamp(2.6rem,9vw,3.65rem);line-height:1.04}.home-intro .eyebrow{margin-bottom:16px;font-size:.75rem}.home-intro-details>p{font-size:.9375rem;max-width:510px}.home-intro-actions{margin-top:21px;gap:20px}.home-intro-actions .button{min-height:53px;padding:15px 18px;gap:15px;font-size:.875rem}.home-intro-actions .text-link{font-size:.875rem}}
@media(max-width:370px){.hero-toolbar-inner{gap:8px}.hero-dot{min-width:27px;padding:10px 3px}.hero-counter{display:none}.hero-carousel-controls{gap:4px}.hero-carousel-controls .icon-button{min-width:38px;width:38px}.home-intro-actions{gap:14px}.home-intro-actions .button{padding-inline:14px;font-size:.8125rem}.home-intro-actions .text-link{font-size:.8125rem}.hero-slide figcaption>strong{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.hero-slide,.hero-dot-mark{transition:none!important}}
