@font-face{font-family:Biko;src:url('assets/fonts/Biko_Regular.otf') format('opentype');font-weight:400;font-display:swap}@font-face{font-family:Biko;src:url('assets/fonts/Biko_Bold.otf') format('opentype');font-weight:700;font-display:swap}@font-face{font-family:Biko;src:url('assets/fonts/Biko_Black.otf') format('opentype');font-weight:900;font-display:swap}
:root{--ink:#111;--white:#fff;--gold:#ccae4c;--sand:#f7f5f0;--muted:#666;--max:1680px;--gutter:clamp(22px,6vw,112px);--header-h:84px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}body.no-scroll{overflow:hidden}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Biko,Arial,sans-serif;line-height:1.02}h2{font-size:clamp(2.1rem,4.1vw,5rem);letter-spacing:-.055em}h3{letter-spacing:-.03em}p{line-height:1.56}.wrap{width:min(calc(100% - 2*var(--gutter)),var(--max));margin-inline:auto}.section-pad{padding-block:clamp(80px,9vw,160px)}section[id]{scroll-margin-top:var(--header-h)}.eyebrow,.mini-label{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700}.eyebrow{margin-bottom:22px}.eyebrow.light{color:#fff}.section-heading{margin-bottom:50px}.section-heading h2{margin-bottom:14px}.section-heading>p:last-child{color:var(--muted);font-size:clamp(1rem,1.3vw,1.2rem)}.section-heading.centered{text-align:center}.heading-between{display:flex;justify-content:space-between;align-items:end;gap:30px}.dark-section{background:#111;color:#fff}.dark-section .section-heading>p:last-child{color:#c3c3c3}.pill{display:inline-flex;align-items:center;justify-content:center;gap:30px;min-height:44px;padding:11px 22px;border:1px solid transparent;border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.095em;text-transform:uppercase;white-space:nowrap;transition:background .2s,color .2s,border-color .2s,transform .2s}.pill:hover{transform:translateY(-2px)}.pill:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible,.card-rail:focus-visible{outline:3px solid #edb84a;outline-offset:4px}.pill-light{background:#fff;color:#111}.pill-light:hover{background:var(--gold)}.pill-dark{background:#111;color:#fff}.pill-dark:hover{background:var(--gold);color:#111}.pill-outline-light{border-color:#fff;color:#fff}.pill-outline-light:hover{background:#fff;color:#111}.pill-outline-dark{border-color:#111;color:#111;background:transparent}.pill-outline-dark:hover{background:#111;color:#fff}.text-link{display:inline-flex;gap:25px;border-bottom:1px solid currentColor;padding-bottom:6px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.text-link:hover{color:#967c2a}.skip-link{position:fixed;top:-60px;left:10px;padding:10px;background:#fff;color:#111;z-index:100}.skip-link:focus{top:10px}
.site-header{position:fixed;top:0;left:0;width:100%;height:var(--header-h);z-index:50;display:flex;align-items:center;justify-content:space-between;padding-inline:var(--gutter);color:#fff;background:linear-gradient(#0007,transparent);transition:background .25s,box-shadow .25s,color .25s}.site-header.is-scrolled,.site-header.menu-open{background:#fff;color:#111;box-shadow:0 3px 20px #00000014}.brand{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:.75;flex:none}.brand span{font-family:Biko,Arial,sans-serif;font-weight:900;font-size:2.25rem;letter-spacing:-.08em}.brand small{font-family:Biko,Arial,sans-serif;font-weight:700;font-size:.52rem;letter-spacing:.15em;margin-top:8px}.desktop-nav{display:flex;gap:clamp(18px,2.2vw,42px);align-items:center;margin-left:auto;margin-right:clamp(18px,3vw,60px)}.desktop-nav a{position:relative;font-size:.73rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.desktop-nav a:after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:currentColor;transition:width .2s}.desktop-nav a:hover:after{width:100%}.header-actions{display:flex;align-items:center;gap:14px}.header-book{border:1px solid currentColor;background:none;color:inherit;border-radius:40px;padding:11px 19px;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700}.header-book span{margin-left:16px}.header-book:hover{background:#fff;color:#111}.is-scrolled .header-book:hover{background:#111;color:#fff}.menu-toggle{display:none;border:0;background:none;color:inherit;padding:10px;width:44px;height:44px}.menu-toggle span{display:block;width:23px;height:2px;background:currentColor;margin:5px auto;transition:transform .2s}.menu-open .menu-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-menu[hidden]{display:none}.mobile-menu{position:fixed;z-index:49;inset:var(--header-h) 0 0;background:#fff;padding:30px var(--gutter);display:flex;flex-direction:column;overflow:auto}.mobile-menu a,.mobile-menu button{background:none;border:0;border-bottom:1px solid #ddd;text-align:left;padding:18px 0;font-family:Biko,Arial,sans-serif;font-weight:700;font-size:clamp(1.3rem,6vw,2.2rem)}
.hero{position:relative;height:min(940px,100svh);min-height:600px;color:#fff;display:grid;place-items:center;overflow:hidden}.hero>img{position:absolute;inset:0;height:100%;filter:grayscale(100%)}.hero-shade{position:absolute;inset:0;background:linear-gradient(#0004,#0003 45%,#0008)}.hero-inner{position:relative;text-align:center;padding:var(--gutter);z-index:1}.hero h1{font-size:clamp(3.2rem,8vw,9.2rem);font-weight:700;letter-spacing:-.055em;margin:0 0 30px}.hero .eyebrow{font-size:.8rem}.scroll-hint{position:absolute;z-index:2;bottom:28px;display:flex;flex-direction:column;align-items:center;gap:10px;text-transform:uppercase;font-size:.64rem;font-weight:700;letter-spacing:.14em}.scroll-hint span:last-child{font-size:1.2rem}.offer{padding:18px 18px 100px}.offer-visual{position:relative;height:clamp(500px,57vw,850px);border-radius:18px;overflow:hidden}.offer-visual>img{height:100%;object-position:center 43%}.offer-visual:after{content:"";position:absolute;inset:0;background:#0006}.offer-overlay{position:absolute;z-index:1;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;padding:20px}.offer h2{font-size:clamp(2.5rem,5.2vw,6rem);max-width:1350px;margin:0}.offer em{font-style:normal;color:var(--gold)}.offer-bottom{padding:36px 20px 0;text-align:center}.offer-bottom p{max-width:680px;margin:0 auto 22px;color:#444}
.destinations{padding-bottom:75px}.dest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.destination-card{min-width:0}.destination-card>img{height:clamp(340px,30vw,560px);border-radius:13px;transition:filter .3s}.destination-card:hover>img{filter:brightness(.88)}.dest-content{padding:27px 8px 0}.dest-content h3{font-size:clamp(2.5rem,4.2vw,5.2rem);margin:0 0 14px}.dest-content p{color:#d3d3d3;min-height:112px;max-width:400px;font-size:.96rem}.favorites{padding-top:65px;overflow:hidden}.favorites .section-heading{margin-bottom:35px}.carousel-controls{display:flex;gap:9px}.circle-arrow{width:48px;height:48px;border:1px solid currentColor;color:inherit;background:transparent;border-radius:50%;font-size:1.25rem;transition:background .2s,color .2s}.circle-arrow:hover{background:currentColor;color:#111}.events .circle-arrow:hover{background:#111;color:#fff}.card-rail{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain}.card-rail::-webkit-scrollbar{display:none}.favorites-rail{padding-inline:max(var(--gutter),calc((100vw - var(--max))/2));scroll-padding-inline:max(var(--gutter),calc((100vw - var(--max))/2))}.favorite-card{flex:0 0 min(39vw,680px);scroll-snap-align:start}.favorite-card img{height:clamp(350px,36vw,600px);border-radius:15px;transition:transform .25s}.favorite-card:hover img{transform:scale(1.01)}.favorite-card>div{padding:24px 6px}.favorite-card h3{font-size:clamp(1.45rem,2.1vw,2.5rem);margin:10px 0}.favorite-card p{color:#c3c3c3;margin-bottom:12px}.favorite-card a{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid currentColor;padding-bottom:4px}
.reviews{background:var(--gold);text-align:center}.reviews .section-heading{margin-bottom:35px}.review-icon{font-size:3.5rem;line-height:1;margin:0}.reviews h2{color:#fff}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:left;margin-bottom:35px}.review-grid blockquote{background:#fff;border-radius:10px;margin:0;padding:30px;min-height:225px}.review-top{display:flex;align-items:center;gap:12px}.review-top .avatar{width:44px;height:44px;border-radius:50%;background:#e6dcc3;display:grid;place-items:center;font-family:Biko;font-weight:700}.review-top strong,.review-top small{display:block}.review-top strong{font-size:.86rem}.review-top small{font-size:.7rem;color:#777}.stars{display:block;color:#b48d23;letter-spacing:.17em;margin:18px 0 10px}.review-grid blockquote p{margin:0;font-size:.9rem;color:#3a3a3a}
.events{background:#fff}.events .section-heading{margin-bottom:38px}.event-rail{scroll-padding-left:0}.event-card{flex:0 0 calc((100% - 3*24px)/4);scroll-snap-align:start;min-width:0}.event-image{height:clamp(230px,23vw,390px);border-radius:16px;position:relative;overflow:hidden}.event-image img{height:100%;transition:transform .4s}.event-card:hover img{transform:scale(1.045)}.date-badge{position:absolute;right:12px;top:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;border-radius:9px;width:62px;height:66px;line-height:1.05}.date-badge strong{font-family:Biko;font-size:1.5rem}.date-badge span{font-size:.69rem;font-weight:700;letter-spacing:.1em}.event-copy{padding:21px 4px 0;display:flex;flex-direction:column;align-items:start;min-height:270px}.event-copy .mini-label{color:#9b7827}.event-copy h3{font-size:clamp(1.25rem,1.7vw,2.1rem);margin:12px 0}.event-copy p{font-size:.91rem;color:#626262;margin:0 0 22px;flex:1}.event-copy .pill{font-size:.65rem}.rail-progress{height:2px;background:#e3e0da;margin-top:45px}.rail-progress span{height:100%;width:25%;display:block;background:#111;transition:transform .2s}
.gift{background:#fff}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,135px);align-items:center}.split-media img{height:clamp(400px,41vw,660px);border-radius:16px}.split-copy{max-width:600px}.split-copy h2{font-size:clamp(2.1rem,3.4vw,4.3rem)}.split-copy p{color:#5d5d5d;font-size:clamp(.95rem,1.2vw,1.1rem)}.split-copy .pill{margin-top:22px}.gastronomy{background:#f8f7f4}.gastronomy-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.gastronomy-grid img{height:clamp(350px,37vw,590px);border-radius:15px}.gastronomy-grid article>div{padding:24px 8px}.gastronomy-grid h3{font-size:clamp(1.5rem,2vw,2.4rem);margin:10px 0}.gastronomy-grid p{max-width:680px;color:#5b5b5b}.social{padding-bottom:0}.social .section-heading{margin-bottom:48px}.social .section-heading p{margin-bottom:20px}.social-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.social-grid img{aspect-ratio:1/1;border-radius:8px;transition:filter .2s,transform .2s}.social-grid img:hover{filter:brightness(.88);transform:scale(.99)}.meetings .section-heading{margin-bottom:35px}.meetings-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.meetings-grid article{position:relative;overflow:hidden;border-radius:16px}.meetings-grid img{height:clamp(400px,38vw,610px)}.meetings-grid article:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#000b)}.meetings-grid article>div{position:absolute;z-index:1;bottom:24px;left:28px;right:28px}.meetings-grid h3{font-size:clamp(1.4rem,2vw,2.4rem);margin:0}.meetings-grid p{margin:5px 0 0;color:#ddd}
.about-intro{max-width:850px;margin-inline:auto;margin-bottom:80px}.about-intro>p:last-child{line-height:1.75}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.values-grid img{height:clamp(300px,28vw,450px);border-radius:15px}.values-grid h3{font-size:clamp(1.5rem,2vw,2.3rem);margin:25px 0 10px}.values-grid p{color:#656565;max-width:480px}.sustainability{padding-top:30px}.sustainability .split-media img{height:clamp(380px,36vw,600px)}.faq{padding-top:80px}.faq-wrap{max-width:1250px}.faq-list{border-top:1px solid #d0d0d0}.faq details{border-bottom:1px solid #d0d0d0}.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 6px;font-family:Biko,Arial,sans-serif;font-size:clamp(1rem,1.3vw,1.35rem);font-weight:700;text-transform:uppercase}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";flex:none;font-family:Arial;font-size:1.6rem;font-weight:400}.faq details[open] summary:after{content:"−"}.faq details>p{max-width:800px;color:#5c5c5c;padding:0 45px 25px 6px;margin:0}.faq-note{font-size:.78rem;color:#888;margin-top:25px}.site-footer{background:#111;color:#fff;padding:80px 0 25px}.footer-main{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.footer-brand span{font-size:3.8rem}.footer-brand small{font-size:.82rem}.footer-main p{color:#aaa;max-width:350px;margin-top:28px}.footer-main nav,.footer-main>div:last-child{display:flex;flex-direction:column;gap:13px}.footer-main nav a,.footer-main>div:last-child a{font-size:.84rem}.footer-main a:hover{color:var(--gold)}.footer-label{margin:0!important;color:#fff!important;text-transform:uppercase;font-weight:700;font-size:.72rem;letter-spacing:.12em}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff33;margin-top:90px;padding-top:23px;font-size:.75rem;color:#aaa}
.modal{border:0;border-radius:18px;padding:0;width:min(90vw,670px);max-height:min(90vh,880px);box-shadow:0 25px 80px #0005}.modal::backdrop{background:#0009}.modal>img{height:280px}.modal-body{padding:35px 40px 42px}.modal-body h2{font-size:clamp(2rem,4vw,3.5rem);margin-bottom:18px}.modal-body p{color:#555}.modal-close{position:absolute;top:15px;right:15px;border:0;border-radius:50%;background:#fff;color:#111;width:40px;height:40px;font-size:1.8rem;line-height:1}.prototype-note{font-size:.75rem;color:#888!important;border-top:1px solid #ddd;margin-top:30px;padding-top:16px}.booking-dialog .modal-body{padding-top:50px}.booking-dialog form{margin-top:30px;display:grid;gap:18px}.booking-dialog label{display:flex;flex-direction:column;gap:7px;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.booking-dialog select,.booking-dialog input{height:48px;width:100%;border:1px solid #bbb;border-radius:5px;background:#fff;padding:8px;font-size:1rem;letter-spacing:0;text-transform:none}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.booking-dialog .pill{justify-self:start}.booking-dialog [role=status]{margin:0;font-size:.85rem;color:#2f563c}
@media(max-width:1100px){.desktop-nav{gap:17px}.desktop-nav a{font-size:.67rem}.event-card{flex-basis:calc((100% - 2*24px)/3)}.favorite-card{flex-basis:56vw}}@media(max-width:800px){:root{--header-h:70px;--gutter:24px}.site-header{padding-inline:var(--gutter)}.brand span{font-size:1.9rem}.desktop-nav{display:none}.menu-toggle{display:block}.hero{height:86svh;min-height:560px}.hero h1{font-size:clamp(3.8rem,12vw,6rem)}.offer{padding:10px 10px 80px}.offer-visual{height:560px}.offer h2{font-size:clamp(2.3rem,7vw,4rem)}.dest-grid{grid-template-columns:1fr 1fr}.dest-grid article:last-child{grid-column:1/-1}.destination-card>img{height:450px}.dest-grid article:last-child>img{height:380px}.dest-content p{min-height:0}.favorite-card{flex-basis:68vw}.review-grid{grid-template-columns:1fr;gap:12px}.review-grid blockquote{min-height:0}.event-card{flex-basis:calc((100% - 24px)/2)}.event-image{height:330px}.split{gap:45px}.gastronomy-grid img{height:360px}.values-grid{gap:14px}.values-grid img{height:300px}.meetings-grid img{height:400px}}@media(max-width:600px){.section-pad{padding-block:76px}.section-heading{margin-bottom:32px}.section-heading h2{font-size:clamp(2rem,9vw,3.2rem)}.heading-between{align-items:end}.heading-between .carousel-controls{gap:5px}.circle-arrow{width:39px;height:39px}.hero{height:85svh;min-height:530px}.hero>img{object-position:54% center}.hero .eyebrow{font-size:.65rem}.hero h1{font-size:clamp(3.2rem,14vw,5.3rem)}.offer-visual{height:480px}.offer-visual>img{object-position:57% center}.offer h2{font-size:clamp(2rem,8vw,3.5rem);line-height:1.07}.offer h2 br{display:none}.offer-bottom p{font-size:.94rem}.dest-grid{display:block}.destination-card{margin-bottom:50px}.destination-card>img,.dest-grid article:last-child>img{height:410px}.dest-content{padding-top:20px}.dest-content h3{font-size:3.6rem}.dest-content p{font-size:.95rem}.favorites{padding-top:10px}.favorites-rail{gap:16px}.favorite-card{flex-basis:82vw}.favorite-card img{height:390px}.reviews h2{font-size:2.6rem}.event-rail{gap:15px}.event-card{flex-basis:84%;}.event-image{height:340px}.event-copy{min-height:260px}.rail-progress{margin-top:25px}.split,.gastronomy-grid,.meetings-grid,.values-grid{grid-template-columns:1fr}.split{gap:34px}.split-media img,.sustainability .split-media img{height:380px}.gift h2{font-size:2.6rem}.gastronomy-grid{gap:35px}.gastronomy-grid img{height:370px}.social-grid{gap:7px}.social-grid img{border-radius:4px}.meetings-grid img{height:370px}.about-intro{margin-bottom:45px}.values-grid{gap:35px}.values-grid img{height:390px}.values-grid h3{margin-top:18px}.sustainability{padding-top:20px}.faq{padding-top:60px}.faq summary{font-size:1rem;padding:19px 0}.footer-main{grid-template-columns:1fr 1fr;gap:40px}.footer-main>div:first-child{grid-column:1/-1}.footer-bottom{margin-top:60px}.modal{width:calc(100vw - 24px)}.modal>img{height:220px}.modal-body{padding:28px 24px 32px}.form-row{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.favorites .circle-arrow:hover{background:#fff;color:#111}
.brand-logo{display:block;width:205px;height:auto;object-fit:contain}
.site-header:not(.is-scrolled):not(.menu-open) .brand-logo{filter:brightness(0) invert(1)}
.footer-brand img{display:block;width:165px;height:auto;object-fit:contain}
.lovers-logo{display:block;width:170px;height:auto;object-fit:contain;margin:0 auto 20px}
.offer-visual{height:clamp(310px,36vw,560px)}
.offer h2{max-width:1200px}.offer-logo{width:clamp(145px,18vw,250px);height:auto;object-fit:contain;margin:0 auto 20px;filter:brightness(0) invert(1)}
.destinations{padding-bottom:clamp(90px,10vw,150px)}.destinations .section-heading{align-items:center;margin-bottom:45px}.destinations .section-heading h2{margin:0}.dest-all{color:#fff;flex:none}.dest-rail{display:flex;gap:16px;overflow-x:auto;padding:0 var(--gutter) 14px;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain}.dest-rail::-webkit-scrollbar{display:none}.destination-card{position:relative;flex:0 0 clamp(220px,19vw,310px);scroll-snap-align:center;min-width:0}.destination-card>a{position:relative;display:block;height:clamp(270px,25vw,390px);overflow:hidden;border-radius:12px;color:#fff}.destination-card>a:after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,#000a)}.destination-card img{height:100%;transition:transform .5s,filter .3s}.destination-card:hover img{transform:scale(1.04);filter:brightness(.88)}.destination-card h3{position:absolute;z-index:1;left:20px;right:15px;bottom:19px;margin:0;font-size:clamp(1.35rem,1.8vw,2rem);letter-spacing:-.03em}.destination-index{position:absolute;z-index:1;top:14px;right:14px;font-size:.68rem;letter-spacing:.12em;background:#1119;border:1px solid #fff8;border-radius:30px;padding:5px 9px}.dest-controls,.favorites-meta{display:flex;align-items:center;justify-content:space-between;padding-top:23px;color:#bbb;font-size:.7rem;letter-spacing:.1em}.dest-controls .carousel-controls{color:#fff}.favorites{padding-top:clamp(75px,9vw,140px)}.favorites-viewport{overflow:hidden}.favorites-rail{display:flex;align-items:stretch;gap:24px;overflow-x:auto;padding:10px max(10vw,calc((100vw - 1180px)/2)) 20px;scroll-padding-inline:50%;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain}.favorites-rail::-webkit-scrollbar{display:none}.favorite-card{flex:0 0 min(76vw,1080px);scroll-snap-align:center;opacity:.56;transform:scale(.92);transition:opacity .35s,transform .35s}.favorite-card.is-active{opacity:1;transform:scale(1)}.favorite-image{position:relative;height:clamp(390px,43vw,650px);overflow:hidden;border-radius:16px}.favorite-image:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#0008);pointer-events:none}.favorite-image img{height:100%;transition:transform .7s}.favorite-card.is-active:hover .favorite-image img{transform:scale(1.025)}.favorite-cta{position:absolute;z-index:1;right:22px;bottom:22px;border:1px solid #fff9;border-radius:30px;color:#fff;background:#1115;backdrop-filter:blur(8px);padding:10px 16px;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;transition:background .2s,color .2s}.favorite-cta:hover{background:#fff;color:#111}.favorite-copy{max-width:850px;padding:24px 8px 8px}.favorite-copy h3{font-size:clamp(1.6rem,3vw,3.1rem);margin:9px 0}.favorite-copy p{color:#c3c3c3;max-width:790px;margin:0}.favorites-meta{max-width:1180px;padding-top:2px}.favorites-meta .text-link{color:#fff;font-size:.68rem}.reviews .section-heading>p:last-child{color:#342b16;font-size:.92rem}.review-icon{width:46px;height:46px;margin:0 auto 10px}.review-icon svg{width:100%;height:100%;fill:none;stroke:#fff;stroke-width:1.5}.review-grid blockquote{min-height:205px;padding:26px}.review-top{gap:12px}.review-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid #d8d2c4;border-radius:50%;color:#997b31;flex:none}.review-mark svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.stars{margin:15px 0 8px;color:#a17e27}.stars svg{width:92px;height:17px;fill:#a17e27;font:18px Arial}.reviews-note{font-size:.68rem;color:#554a31;margin:18px auto 0;max-width:760px}.social{padding-bottom:clamp(110px,12vw,190px)}.meetings{padding-top:clamp(90px,10vw,160px)}.meetings-cta{display:flex;justify-content:center;align-items:center;gap:25px;margin-top:42px}.meetings-cta p{margin:0;color:#ddd}.meetings-cta .pill{font-size:.66rem}.about-intro{max-width:1000px}.about-intro>p:last-child{font-size:clamp(1.05rem,1.4vw,1.25rem)}.values-grid p{line-height:1.65}
@media(max-width:800px){.destinations .section-heading{align-items:end}.destination-card{flex-basis:42vw}.destination-card>a{height:340px}.favorite-card{flex-basis:82vw}.favorite-image{height:460px}.meetings-cta{flex-direction:column;gap:16px;text-align:center}}
@media(max-width:600px){.offer-visual{height:clamp(300px,90vw,420px)}.offer-logo{width:145px;margin-bottom:13px}.offer h2{font-size:clamp(1.7rem,7.5vw,2.5rem)}.destinations .section-heading{align-items:start;gap:20px}.destinations .section-heading h2{font-size:clamp(1.8rem,8vw,2.7rem)}.dest-all{font-size:.62rem;letter-spacing:.05em}.destination-card{flex-basis:76vw}.destination-card>a{height:360px}.dest-controls{padding-top:16px}.favorites{padding-top:65px}.favorites .section-heading{align-items:end}.favorites-rail{gap:14px;padding-inline:9vw}.favorite-card{flex-basis:82vw}.favorite-image{height:390px}.favorite-copy{padding-top:18px}.favorite-copy h3{font-size:1.55rem}.favorite-copy p{font-size:.9rem}.favorites-meta{padding-inline:var(--gutter);font-size:.64rem}.review-grid blockquote{padding:23px}.reviews-note{line-height:1.45}.social{padding-bottom:90px}.meetings{padding-top:75px}.meetings-cta .pill{white-space:normal;text-align:center}.about-intro>p:last-child{font-size:1rem}}
.gastronomy-grid .restaurant-logo{display:block;width:min(270px,100%);height:90px;object-fit:contain;object-position:left center;border-radius:0;margin:16px 0 22px}
.gastronomy-grid .doce-logo{mix-blend-mode:multiply}
.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}
@media(max-width:600px){.brand-logo{width:145px}.footer-brand img{width:140px}}
.review-demo-label{max-width:620px;margin:10px auto 0;color:#51452a;font-size:.75rem}.reviews a.pill[aria-disabled=true]{opacity:.7;cursor:default}
.dest-rail{padding-right:calc(50vw - clamp(110px,9.5vw,155px))}
@media(max-width:800px){.dest-rail{padding-right:29vw}}
@media(max-width:600px){.dest-rail{padding-right:12vw}}

/* Reajuste de los módulos según la composición del Adobe XD. */
.offer h2{font-size:clamp(2.1rem,4.6vw,5.8rem);line-height:1.05;max-width:1250px}
.offer h2 .offer-logo{display:inline-block;width:3.1em;height:auto;margin:0 .1em;vertical-align:-.1em;object-fit:contain}
.offer-bottom{padding-top:30px}
.offer-bottom p{max-width:660px}

.destinations .section-heading{gap:28px}
.dest-all{margin-left:auto}
.dest-carousel{position:relative;--destination-photo-height:clamp(260px,25vw,390px)}
.dest-rail{gap:20px;padding-bottom:22px;padding-right:calc(50vw - clamp(117.5px,12vw,200px));scroll-padding-inline-start:var(--gutter)}
.destination-card{flex:0 0 clamp(235px,24vw,400px);scroll-snap-align:start;display:flex;flex-direction:column}
.destination-photo{height:var(--destination-photo-height);border-radius:15px;overflow:hidden}
.destination-photo img{height:100%;width:100%;object-fit:cover;transition:transform .5s}
.destination-card:hover .destination-photo img{transform:scale(1.04)}
.dest-content{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:28px 8px 0}
.dest-content h3{position:static;font-size:clamp(2rem,3.2vw,4rem);margin:0 0 16px;line-height:1.02;text-transform:uppercase;hyphens:auto}
.dest-content p{color:#e3e3e3;min-height:0;max-width:none;font-size:clamp(.88rem,1.15vw,1.05rem);line-height:1.5;margin:0 0 28px;flex:1}
.dest-content .pill{max-width:100%;white-space:normal;text-align:center}
.dest-controls,.favorites-controls{position:absolute;z-index:3;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;align-items:center;pointer-events:none;padding:0}
.dest-controls{top:calc(var(--destination-photo-height) / 2);transform:translateY(-50%)}
.overlay-arrow{pointer-events:auto}

.favorites .section-heading{text-align:center;margin-bottom:58px}
.favorites .section-heading h2{margin:0}
.favorites-viewport{position:relative}
.favorites-rail{gap:28px;padding:0 calc((100vw - min(73vw,1380px))/2) 10px;scroll-padding-inline:50%}
.favorite-card,.favorite-card.is-active{flex:0 0 min(73vw,1380px);transform:none}
.favorite-card{opacity:.55}
.favorite-card.is-active{opacity:1}
.favorite-card>.favorite-image{padding:0;height:clamp(430px,42vw,720px);border-radius:20px;overflow:hidden}
.favorite-image img,.favorite-card img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0}
.favorite-image:after{inset:20% 0 0;background:linear-gradient(transparent 32%,#000b 100%)}
.favorite-card>.favorite-image>.favorite-copy{position:absolute;z-index:1;left:clamp(25px,4vw,75px);right:clamp(25px,4vw,75px);bottom:clamp(25px,3vw,55px);padding:0;max-width:860px;color:#fff}
.favorite-copy .mini-label{display:block;margin-bottom:16px}
.favorite-copy h3{font-size:clamp(1.7rem,3.25vw,3.5rem);margin:0 0 18px}
.favorite-copy p{color:#fff;font-size:clamp(.92rem,1.2vw,1.15rem);line-height:1.45;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.favorite-card .favorite-cta{position:absolute;z-index:2;top:25px;right:25px;bottom:auto;min-height:42px;padding:10px 18px;background:#111b;border:1px solid #fff;color:#fff;backdrop-filter:blur(7px);font-size:.66rem}
.favorite-card .favorite-cta:hover{background:#fff;color:#111}
.favorites-controls{top:calc(clamp(430px,42vw,720px) / 2);left:calc((100vw - min(73vw,1380px))/2 + 20px);right:calc((100vw - min(73vw,1380px))/2 + 20px);transform:translateY(-50%)}
.favorites-meta{justify-content:center;padding-top:30px;max-width:none}
.favorites-meta .pill{font-size:.7rem}

.review-icon{width:36px;height:36px;margin:0 auto 20px}
.review-icon svg{width:100%;height:100%;fill:none;stroke:#fff;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}

@media(max-width:800px){
  .destination-card{flex-basis:clamp(250px,40vw,340px)}
  .dest-rail{padding-right:calc(50vw - clamp(125px,20vw,170px))}
  .favorite-card,.favorite-card.is-active{flex-basis:82vw}
  .favorites-rail{padding-inline:9vw}
  .favorite-card>.favorite-image{height:clamp(440px,62vw,590px)}
  .favorites-controls{top:calc(clamp(440px,62vw,590px) / 2);left:calc(9vw + 16px);right:calc(9vw + 16px)}
  .favorite-copy p{-webkit-line-clamp:5}
}
@media(max-width:600px){
  .offer h2{font-size:clamp(1.7rem,7.5vw,2.5rem);line-height:1.08}
  .destinations .section-heading{align-items:flex-start;flex-direction:column;gap:20px}
  .dest-all{margin-left:0}
  .dest-carousel{--destination-photo-height:330px}
  .dest-rail{padding-right:12vw}
  .destination-card{flex-basis:76vw;margin-bottom:0}
  .dest-content h3{font-size:clamp(2.1rem,10vw,3rem)}
  .dest-content p{font-size:.94rem}
  .favorites .section-heading{margin-bottom:36px}
  .favorites-rail{padding-inline:9vw}
  .favorite-card,.favorite-card.is-active{flex-basis:82vw}
  .favorite-card>.favorite-image{height:500px}
  .favorites-controls{top:250px;left:calc(9vw + 12px);right:calc(9vw + 12px)}
  .favorite-card>.favorite-image>.favorite-copy{left:23px;right:23px;bottom:24px}
  .favorite-copy h3{font-size:1.6rem;margin-bottom:10px}
  .favorite-copy p{font-size:.84rem;-webkit-line-clamp:6}
  .favorite-card .favorite-cta{top:18px;right:18px;min-height:38px;padding:7px 13px;font-size:.59rem}
  .review-icon{width:32px;height:32px}
}

/* Compact carousel controls: a 32px visual circle inside a 44px touch target. */
.circle-arrow,.overlay-arrow{position:relative;display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:0;background:transparent;color:#fff;box-shadow:none;cursor:pointer}
.circle-arrow::before{content:"";position:absolute;inset:6px;border-radius:50%;background:#111;box-shadow:0 2px 10px #0004;transition:background .2s,transform .2s}
.circle-arrow svg{position:relative;z-index:1;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}
.circle-arrow:hover,.events .circle-arrow:hover,.favorites .circle-arrow:hover,.overlay-arrow:hover{background:transparent;color:#fff}
.circle-arrow:hover::before{background:#333;transform:scale(1.08)}
.circle-arrow:active::before{transform:scale(.94)}
.circle-arrow:focus-visible{outline:2px solid #fff;outline-offset:2px;border-radius:50%}
.events .circle-arrow:focus-visible{outline-color:#111}
.destinations{padding-bottom:0}
.favorites{padding-top:clamp(58px,6vw,80px)}

@media(max-width:600px){
  .favorites{padding-top:60px}
}
