
.page-hero{position:relative;height:min(78vh,860px);min-height:560px;color:#fff;overflow:hidden;background:#082e51}
.page-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.02)}
.page-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,19,34,.7),rgba(1,19,34,.18) 68%),linear-gradient(0deg,rgba(1,19,34,.45),transparent 55%)}
.page-hero-inner{position:absolute;left:var(--pad);right:var(--pad);bottom:clamp(55px,9vh,110px);z-index:2;max-width:1100px}
.page-hero .section-kicker{color:rgba(255,255,255,.78)}.page-hero h1{font-size:clamp(58px,7vw,120px);line-height:.88;letter-spacing:-.055em;font-weight:500;margin-top:20px}.page-hero p{font-size:clamp(18px,1.6vw,25px);line-height:1.5;max-width:720px;margin-top:26px;color:rgba(255,255,255,.82)}
.page-breadcrumb{position:absolute;z-index:3;top:118px;left:var(--pad);display:flex;gap:10px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.62)}.page-breadcrumb a:hover{color:#fff}
.page-main{padding-top:clamp(85px,9vw,145px)}.page-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:start;margin-bottom:clamp(90px,10vw,160px)}.page-intro h2{font-size:clamp(45px,5vw,82px);line-height:.95;letter-spacing:-.045em;font-weight:500}.page-intro p{font-size:clamp(20px,1.6vw,27px);line-height:1.5;color:#4f5b65}.page-intro-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.soft-btn{display:inline-flex;align-items:center;gap:12px;border:1px solid var(--line);padding:12px 16px;border-radius:999px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;transition:.25s}.soft-btn:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
.editorial-section{display:grid;grid-template-columns:1.05fr .95fr;gap:7vw;align-items:center;margin-bottom:clamp(95px,11vw,175px)}.editorial-section:nth-child(even) .editorial-media{order:2}.editorial-section:nth-child(even) .editorial-copy{order:1}.editorial-media{height:min(55vw,720px);border-radius:var(--radius);overflow:hidden;background:#e9e5dd}.editorial-media img{width:100%;height:100%;object-fit:cover}.editorial-media.logo-media{height:auto;min-height:340px;display:grid;place-items:center;padding:70px;background:#fff;border:1px solid var(--line)}.editorial-media.logo-media img{height:auto;object-fit:contain;max-width:72%}.editorial-copy h2{font-size:clamp(42px,4.6vw,76px);line-height:.97;letter-spacing:-.045em;font-weight:500}.editorial-copy p{font-size:18px;line-height:1.7;color:#5c6871;margin-top:24px}.editorial-copy .text-link{margin-top:28px}
.page-cards-wrap{margin-bottom:clamp(100px,11vw,175px)}.page-cards-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:30px}.page-cards-head h2{font-size:clamp(42px,4.5vw,72px);letter-spacing:-.045em;font-weight:500}.page-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.page-card{position:relative;min-height:440px;border-radius:var(--radius);overflow:hidden;color:#fff;background:#0a3e6a}.page-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.22,1,.36,1)}.page-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,23,39,.82),rgba(3,23,39,.04) 67%)}.page-card-content{position:absolute;z-index:2;left:26px;right:26px;bottom:28px}.page-card small{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.68)}.page-card h3{font-size:clamp(27px,2.5vw,42px);line-height:.98;font-weight:500;letter-spacing:-.03em;margin-top:8px}.page-card span{display:inline-block;margin-top:16px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid rgba(255,255,255,.65);padding-bottom:5px}.page-card:hover img{transform:scale(1.045)}
.room-overview-grid{display:grid;grid-template-columns:1.35fr .8fr .8fr;gap:16px;margin-bottom:clamp(110px,12vw,180px)}.room-overview-grid .page-card{min-height:620px}.room-overview-grid .page-card:not(:first-child){min-height:480px}.room-overview-grid .page-card:first-child{grid-row:span 2}
.page-note{border-left:3px solid var(--blue);background:#edf4fa;padding:20px 24px;margin:0 0 65px;font-size:15px;line-height:1.55;color:#43515c}
.related{padding:clamp(80px,9vw,130px) 0;background:#f2eee7;margin-top:30px}.related h2{font-size:clamp(40px,4vw,65px);font-weight:500;letter-spacing:-.04em;margin-bottom:32px}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.related-link{padding:28px;border:1px solid rgba(24,33,42,.13);background:rgba(255,255,255,.55);min-height:150px;display:flex;flex-direction:column;justify-content:space-between;transition:.25s}.related-link:hover{background:#fff;transform:translateY(-3px)}.related-link small{color:var(--blue);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.related-link strong{font-size:27px;line-height:1.05;font-weight:500;letter-spacing:-.025em}.related-link span{align-self:flex-end}
.booking-cta{margin:clamp(95px,10vw,150px) auto 0;background:var(--blue);color:#fff;border-radius:var(--radius);padding:clamp(35px,5vw,75px);display:flex;align-items:center;justify-content:space-between;gap:45px;position:relative;overflow:hidden}.booking-cta:after{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-100px;top:-210px;box-shadow:0 0 0 65px rgba(255,255,255,.025)}.booking-cta h2{position:relative;z-index:1;font-size:clamp(38px,4.5vw,72px);font-weight:500;letter-spacing:-.04em;line-height:.96}.booking-cta a{position:relative;z-index:1;background:#fff;color:var(--blue);padding:15px 22px;border-radius:999px;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800;white-space:nowrap}
.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:240px;gap:12px;margin-bottom:130px}.gallery-item{border:0;padding:0;cursor:pointer;overflow:hidden;border-radius:18px;background:#eee}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery-item:hover img{transform:scale(1.035)}.gallery-item:nth-child(1),.gallery-item:nth-child(6){grid-column:span 7;grid-row:span 2}.gallery-item:nth-child(2),.gallery-item:nth-child(5){grid-column:span 5}.gallery-item:nth-child(3),.gallery-item:nth-child(4),.gallery-item:nth-child(n+7){grid-column:span 4}.lightbox{position:fixed;inset:0;z-index:100000;background:rgba(1,17,29,.93);display:none;place-items:center;padding:5vw}.lightbox.open{display:grid}.lightbox img{max-width:94vw;max-height:88vh;object-fit:contain}.lightbox-close{position:absolute;right:24px;top:24px;width:48px;height:48px;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:transparent;color:#fff;font-size:28px;cursor:pointer}
.faq-list{max-width:1050px;margin:0 auto 120px}.faq-list details{border-bottom:1px solid var(--line);padding:0}.faq-list summary{list-style:none;cursor:pointer;padding:25px 40px 25px 0;font-size:clamp(22px,2vw,30px);font-weight:500;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";position:absolute;right:0;font-size:28px;color:var(--blue)}.faq-list details[open] summary:after{content:"–"}.faq-list p{padding:0 60px 28px 0;color:#5b6670;font-size:17px;line-height:1.65}
.contact-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw;margin-bottom:130px}.contact-details h2,.contact-form h2{font-size:clamp(38px,4vw,64px);font-weight:500;letter-spacing:-.04em}.contact-details address{font-style:normal;margin-top:28px;font-size:19px;line-height:1.8;color:#56626b}.contact-details a{display:block}.contact-form form{margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-form label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#69737b}.contact-form .field{display:flex;flex-direction:column;gap:7px}.contact-form .wide{grid-column:1/-1}.contact-form input,.contact-form textarea{width:100%;border:1px solid #d7dadd;background:#fff;padding:14px 15px;border-radius:10px;outline:none}.contact-form textarea{min-height:150px;resize:vertical}.contact-form button{border:0;background:var(--blue);color:#fff;border-radius:999px;padding:14px 20px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;justify-self:start;cursor:pointer}.form-status{grid-column:1/-1;padding:12px 14px;background:#eef6f0;color:#2f6240;border-radius:8px}
.booking-page-engine{background:var(--blue);padding:clamp(30px,5vw,70px);border-radius:var(--radius);margin-bottom:130px}.booking-page-engine .mi-be{font-family:"Afacad Flux",sans-serif!important}.booking-page-engine .mi-be-book-btn,.booking-page-engine .mi-be-button{background:#fff!important;color:var(--blue)!important}
.external-panel{margin:0 auto 130px;max-width:1100px;background:#f0ede7;border-radius:var(--radius);padding:clamp(35px,6vw,80px);text-align:center}.external-panel img{width:min(320px,60%);margin:0 auto 30px}.external-panel h2{font-size:clamp(38px,4.5vw,68px);font-weight:500;letter-spacing:-.04em}.external-panel p{font-size:18px;color:#5e6972;max-width:680px;margin:20px auto 0;line-height:1.6}.external-panel .soft-btn{margin-top:28px;background:var(--blue);color:#fff;border-color:var(--blue)}
.legal-copy{max-width:980px;margin:0 auto 120px}.legal-copy h2{font-size:35px;font-weight:500;margin:45px 0 14px}.legal-copy p{font-size:17px;color:#56626b;line-height:1.75}
@media(max-width:1000px){.page-cards{grid-template-columns:repeat(2,1fr)}.room-overview-grid{grid-template-columns:1fr 1fr}.room-overview-grid .page-card:first-child{grid-column:1/-1;grid-row:auto;min-height:600px}.contact-layout{grid-template-columns:1fr}.ftr-top{grid-template-columns:1.3fr repeat(2,1fr)}.ftr-top .ftr-col:last-child{grid-column:2/4}}
@media(max-width:820px){.page-hero{height:72svh;min-height:560px}.page-breadcrumb{top:96px}.page-hero-inner{left:20px;right:20px}.page-hero h1{font-size:clamp(51px,14vw,78px)}.page-hero p{font-size:18px}.page-intro{grid-template-columns:1fr;gap:25px}.editorial-section{grid-template-columns:1fr;gap:28px}.editorial-section:nth-child(even) .editorial-media,.editorial-section:nth-child(even) .editorial-copy{order:initial}.editorial-media{height:62vh;min-height:430px}.page-cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-20px;padding-right:20px;scrollbar-width:none}.page-card{flex:0 0 82vw;min-height:480px;scroll-snap-align:start}.room-overview-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-20px;padding-right:20px}.room-overview-grid .page-card,.room-overview-grid .page-card:first-child,.room-overview-grid .page-card:not(:first-child){flex:0 0 84vw;min-height:540px}.related-grid{grid-template-columns:1fr}.booking-cta{display:block}.booking-cta a{display:inline-block;margin-top:28px}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:210px}.gallery-item,.gallery-item:nth-child(n){grid-column:span 1;grid-row:span 1}.gallery-item:nth-child(1){grid-column:1/-1;grid-row:span 2}.contact-form form{grid-template-columns:1fr}.contact-form .wide{grid-column:auto}}
@media(max-width:560px){.page-hero{min-height:520px}.page-hero h1{font-size:49px}.page-main{padding-top:75px}.page-intro h2{font-size:43px}.page-intro p{font-size:19px}.editorial-media{height:52vh;min-height:390px}.page-card{flex-basis:86vw}.gallery-grid{grid-auto-rows:180px}.ftr-top{grid-template-columns:1fr 1fr}.ftr-top .ftr-col:last-child{grid-column:auto}.booking-page-engine{padding:25px 15px}.booking-page-engine .mi-be,.booking-page-engine .mi-be form,.booking-page-engine .mi-be form>*{width:100%!important;max-width:100%!important;min-width:0!important}.booking-page-engine .mi-be form{display:grid!important;grid-template-columns:1fr!important}.booking-page-engine .mi-be-book-btn,.booking-page-engine .mi-be-button,.booking-page-engine .mi-be-book-btn-trigger{width:100%!important;max-width:100%!important;min-width:0!important;transform:none!important;left:auto!important;right:auto!important;margin:0!important}}


/* V4.1 page refinements */
.contact-layout{position:relative}
.contact-details{padding-top:10px}
.page-hero-bg{transition:transform 8s cubic-bezier(.2,.65,.25,1)}
.page-hero:hover .page-hero-bg{transform:scale(1.045)}
@media(prefers-reduced-motion:reduce){.page-hero-bg{transition:none!important}}


/* V4.2 — bespoke Events & Weddings experience */
.events-page-hero{height:min(88svh,920px);min-height:680px}.events-page-hero .page-hero-bg{background-position:center 52%}.events-page-hero .page-hero-shade{background:linear-gradient(90deg,rgba(1,19,32,.7),rgba(1,19,32,.24) 58%,rgba(1,19,32,.08)),linear-gradient(0deg,rgba(1,19,32,.5),transparent 55%)}
.events-hero-brand{position:absolute;z-index:3;right:var(--pad);bottom:54px;width:min(245px,24vw);padding:18px 20px;background:rgba(255,255,255,.9);backdrop-filter:blur(10px)}.events-hero-brand img{width:100%;height:auto}.events-hero-brand span{display:block;text-align:right;margin-top:8px;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#66717c}.events-main{padding-top:0}.events-main>.content{width:100%;max-width:none}.events-experience{overflow:hidden}.events-opening{width:min(1500px,calc(100% - (var(--pad)*2)));margin:0 auto;display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(55px,9vw,150px);padding:clamp(105px,11vw,180px) 0;align-items:center}.events-opening-brand{border-right:1px solid var(--line);padding-right:9vw}.events-opening-brand img{width:min(380px,100%);margin:auto}.events-opening-copy h2{font-size:clamp(54px,6.2vw,106px);line-height:.91;letter-spacing:-.055em;font-weight:500;margin:18px 0 30px}.events-opening-copy h2 em{font-weight:300}.events-opening-copy p{max-width:750px;font-size:clamp(19px,1.45vw,24px);line-height:1.62;color:#59656f}.events-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.event-primary,.event-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 19px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.event-primary{background:var(--blue);color:#fff}.event-secondary{border:1px solid #cbd2d5;color:#3e4a53}.event-secondary.dark{border-color:rgba(255,255,255,.35);color:#fff}
.events-types{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;background:#082f53;padding:12px}.event-type{position:relative;min-height:520px;overflow:hidden;color:#fff;isolation:isolate}.event-type img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.22,1,.36,1)}.event-type:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,20,34,.88),rgba(2,20,34,.08) 65%)}.event-type>div{position:absolute;z-index:2;left:clamp(25px,2.8vw,48px);right:30px;bottom:clamp(30px,3.2vw,52px)}.event-type small{font-size:10px;letter-spacing:.18em;color:rgba(255,255,255,.62)}.event-type h3{font-size:clamp(37px,3.8vw,69px);font-weight:500;letter-spacing:-.045em;line-height:.95;margin:10px 0 15px}.event-type:not(.event-type-large) h3{font-size:clamp(32px,2.8vw,49px)}.event-type p{max-width:520px;font-size:15px;line-height:1.5;color:rgba(255,255,255,.76)}.event-type span{display:inline-block;margin-top:22px;border-bottom:1px solid rgba(255,255,255,.6);padding-bottom:5px;text-transform:uppercase;letter-spacing:.1em;font-size:10px}.event-type:hover img{transform:scale(1.045)}.event-type-corporate img{filter:saturate(.82)}
.events-feature{width:min(1350px,calc(100% - (var(--pad)*2)));margin:clamp(120px,13vw,210px) auto;display:grid;grid-template-columns:minmax(360px,560px) 1fr;gap:clamp(60px,8vw,130px);align-items:center}.events-feature-photo{height:min(42vw,560px);min-height:480px;position:relative;overflow:hidden;background:#eee}.events-feature-photo img{width:100%;height:100%;object-fit:cover}.events-feature-photo span{position:absolute;left:20px;bottom:20px;background:#fff;padding:9px 12px;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.events-feature-copy h2{font-size:clamp(52px,5.4vw,92px);line-height:.93;letter-spacing:-.05em;font-weight:500;margin:18px 0 28px}.events-feature-copy h2 em{font-weight:300}.events-feature-copy p{font-size:18px;line-height:1.72;color:#5c6871}
.events-services{background:#f0ede7;padding:clamp(95px,10vw,160px) max(var(--pad),calc((100vw - 1500px)/2));display:grid;grid-template-columns:repeat(4,1fr);gap:0}.events-services-head{grid-column:1/-1;display:grid;grid-template-columns:1fr .8fr;gap:7vw;align-items:end;margin-bottom:65px}.events-services-head h2{font-size:clamp(52px,5.5vw,92px);line-height:.94;letter-spacing:-.05em;font-weight:500;margin-top:16px}.events-services-head p{font-size:18px;line-height:1.65;color:#616c74;max-width:580px}.event-service{border-top:1px solid #cfd1cf;border-right:1px solid #cfd1cf;padding:28px 28px 38px;min-height:245px}.event-service:nth-of-type(4n+1){border-left:1px solid #cfd1cf}.event-service small{font-size:9px;letter-spacing:.16em;color:var(--blue)}.event-service h3{font-size:26px;font-weight:500;letter-spacing:-.025em;margin:28px 0 12px}.event-service p{font-size:15px;line-height:1.55;color:#6a737a}
.events-madeira{height:min(76vw,900px);position:relative;overflow:hidden;color:#fff}.events-madeira>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.events-madeira:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,24,40,.78),rgba(2,24,40,.12) 70%)}.events-madeira-overlay{position:absolute;z-index:2;left:max(var(--pad),calc((100vw - 1500px)/2));bottom:clamp(55px,8vw,120px);width:min(850px,72vw)}.events-madeira-overlay h2{font-size:clamp(52px,6vw,104px);line-height:.9;letter-spacing:-.055em;font-weight:500;margin:19px 0 27px}.events-madeira-overlay h2 em{color:#fff;font-weight:300}.events-madeira-overlay p{font-size:19px;line-height:1.6;max-width:650px;color:rgba(255,255,255,.8)}
.events-final{width:min(1500px,calc(100% - (var(--pad)*2)));margin:clamp(100px,11vw,175px) auto;display:grid;grid-template-columns:.7fr 1.3fr;gap:9vw;align-items:center;padding:clamp(55px,7vw,105px);background:var(--blue-deep);color:#fff}.events-final>div:first-child{padding-right:7vw;border-right:1px solid rgba(255,255,255,.18)}.events-final img{width:min(350px,100%);filter:brightness(0) invert(1)}.events-final>div:first-child span{display:block;margin-top:20px;font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:rgba(255,255,255,.55)}.events-final h2{font-size:clamp(45px,4.7vw,80px);line-height:.95;letter-spacing:-.045em;font-weight:500}.events-final p{font-size:18px;line-height:1.65;color:rgba(255,255,255,.7);max-width:650px;margin:20px 0 28px}.events-final .event-primary{background:#fff;color:var(--blue-deep);margin-right:8px}
@media(max-width:1050px){.events-types{grid-template-columns:1fr 1fr}.event-type-large{grid-column:auto}.event-type{min-height:500px}.events-services{grid-template-columns:repeat(2,1fr)}.event-service:nth-of-type(odd){border-left:1px solid #cfd1cf}.events-services-head{grid-template-columns:1fr}.events-opening{grid-template-columns:1fr}.events-opening-brand{border-right:0;border-bottom:1px solid var(--line);padding:0 0 45px}.events-opening-brand img{margin:0}.events-feature{grid-template-columns:1fr}.events-feature-photo{height:70vh;min-height:560px}.events-final{grid-template-columns:1fr}.events-final>div:first-child{border-right:0;border-bottom:1px solid rgba(255,255,255,.18);padding:0 0 38px}}
@media(max-width:700px){.events-page-hero{height:78svh;min-height:600px}.events-hero-brand{right:20px;bottom:25px;width:180px}.events-opening{padding:85px 0}.events-opening-copy h2{font-size:49px}.events-types{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px;scrollbar-width:none}.event-type,.event-type-large{flex:0 0 86vw;min-height:540px;scroll-snap-align:start}.events-feature{margin:95px auto}.events-feature-photo{height:65vh;min-height:480px}.events-feature-copy h2{font-size:48px}.events-services{grid-template-columns:1fr;padding-top:80px;padding-bottom:80px}.events-services-head{margin-bottom:40px}.events-services-head h2{font-size:48px}.event-service,.event-service:nth-of-type(odd){border-left:1px solid #cfd1cf}.events-madeira{height:72vh;min-height:590px}.events-madeira-overlay{left:20px;bottom:45px;width:calc(100% - 40px)}.events-madeira-overlay h2{font-size:49px}.events-final{margin:80px auto;padding:42px 26px}.events-final h2{font-size:45px}}

/* ===========================
   V5 BESPOKE PAGE SYSTEM
   =========================== */
.page-main{overflow:hidden}.page-main>.content{position:relative}.page-hero-bg{transform:scale(1.015)}
.page-hero-hotel .page-hero-bg{background-position:center 57%}.page-hero-rooms .page-hero-bg{background-position:center 48%}.page-hero-pool .page-hero-bg{background-position:center 58%}.page-hero-bar .page-hero-bg{background-position:center}.page-hero-spa .page-hero-bg{background-position:center 45%}.page-hero-contact .page-hero-bg{background-position:center}
.v5-section-head{display:grid;grid-template-columns:1.1fr .65fr;gap:8vw;align-items:end;margin:0 0 44px}.v5-section-head h2{font-size:clamp(48px,5.5vw,92px);line-height:.92;letter-spacing:-.052em;font-weight:500;margin-top:16px}.v5-section-head h2 em{font-weight:300}.v5-section-head>p{font-size:18px;line-height:1.65;color:#66717a;max-width:520px}
.v5-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:clamp(105px,12vw,185px)}.v5-image-card{position:relative;min-height:520px;overflow:hidden;color:#fff;isolation:isolate;background:#0a3e6a}.v5-image-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1)}.v5-image-card-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(1,22,38,.9),rgba(1,22,38,.08) 70%)}.v5-image-card-copy{position:absolute;z-index:2;left:clamp(24px,2.5vw,44px);right:28px;bottom:clamp(28px,3vw,48px)}.v5-image-card small{font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:rgba(255,255,255,.62)}.v5-image-card h3{font-size:clamp(31px,3vw,54px);font-weight:500;letter-spacing:-.04em;line-height:.96;margin:10px 0 12px}.v5-image-card p{font-size:15px;line-height:1.48;color:rgba(255,255,255,.76);max-width:430px}.v5-image-card span{display:inline-block;margin-top:20px;border-bottom:1px solid rgba(255,255,255,.6);padding-bottom:4px;font-size:10px;text-transform:uppercase;letter-spacing:.11em}.v5-image-card:hover>img{transform:scale(1.05)}
.v5-facts{display:grid;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 clamp(110px,12vw,190px)}.v5-facts-four{grid-template-columns:repeat(4,1fr)}.v5-fact{padding:clamp(28px,3vw,50px);border-right:1px solid var(--line)}.v5-fact:last-child{border-right:0}.v5-fact strong{display:block;font-size:clamp(45px,4.5vw,78px);line-height:.9;letter-spacing:-.055em;color:var(--blue);font-weight:500}.v5-fact span{display:block;margin-top:12px;text-transform:uppercase;letter-spacing:.1em;font-size:10px;color:#69747c}.v5-fact p{margin-top:12px;color:#66717a;font-size:14px;line-height:1.5}

/* Hotel */
.v5-hotel-opening{display:grid;grid-template-columns:.86fr 1.14fr;gap:8vw;align-items:center;margin-bottom:clamp(90px,11vw,180px)}.v5-hotel-statement h2{font-size:clamp(54px,6vw,100px);font-weight:500;line-height:.91;letter-spacing:-.055em;margin:18px 0 30px}.v5-hotel-statement h2 em{font-weight:300}.v5-hotel-statement p{font-size:clamp(18px,1.45vw,23px);line-height:1.7;color:#5a6670;max-width:620px}.v5-hotel-image{position:relative;height:min(61vw,760px);overflow:hidden}.v5-hotel-image img{width:100%;height:100%;object-fit:cover}.v5-hotel-image span{position:absolute;left:20px;bottom:20px;background:#fff;padding:9px 12px;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.v5-card-grid-hotel{grid-template-columns:1.2fr .8fr}.v5-card-grid-hotel .v5-image-card:nth-child(1){grid-row:span 2;min-height:850px}.v5-card-grid-hotel .v5-image-card:not(:first-child){min-height:410px}.v5-card-grid-hotel .v5-image-card:nth-child(4){grid-column:2}.v5-sustain{margin:0 0 20px;padding:clamp(50px,7vw,105px);background:#e9ede6;display:grid;grid-template-columns:.7fr 1.3fr;gap:7vw}.v5-sustain h2{font-size:clamp(49px,5vw,84px);line-height:.92;letter-spacing:-.05em;font-weight:500;margin-top:18px}.v5-sustain-items{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(24,33,42,.17)}.v5-sustain-items div{padding:26px;border-bottom:1px solid rgba(24,33,42,.17);border-right:1px solid rgba(24,33,42,.17)}.v5-sustain-items div:nth-child(even){border-right:0}.v5-sustain-items strong{display:block;font-size:29px;color:#315843;font-weight:500}.v5-sustain-items span{display:block;margin-top:7px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#6f7e73}.v5-sustain>p{grid-column:2;font-size:15px;line-height:1.65;color:#5d6b61}

/* Rooms overview and details */
.v5-rooms-manifest{max-width:1150px;margin:0 auto clamp(80px,9vw,140px);text-align:center}.v5-rooms-manifest h2{font-size:clamp(58px,7vw,118px);line-height:.88;letter-spacing:-.06em;font-weight:500;margin:20px 0 30px}.v5-rooms-manifest p{font-size:clamp(19px,1.55vw,25px);line-height:1.6;color:#5d6972;max-width:770px;margin:auto}.v5-room-showcase{margin-bottom:clamp(100px,12vw,190px)}.v5-room-strip{min-height:620px;display:grid;grid-template-columns:1.22fr .78fr;background:#f0ede7;margin-bottom:14px;overflow:hidden}.v5-room-strip>img{width:100%;height:100%;min-height:620px;object-fit:cover;transition:transform .65s}.v5-room-strip>div{padding:clamp(40px,6vw,90px);display:flex;flex-direction:column;justify-content:flex-end}.v5-room-strip small{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--blue)}.v5-room-strip h2{font-size:clamp(43px,4.5vw,76px);font-weight:500;letter-spacing:-.048em;line-height:.92;margin:15px 0 22px}.v5-room-strip p{font-size:18px;line-height:1.6;color:#66717a;max-width:500px}.v5-room-strip span{margin-top:28px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.v5-room-strip:nth-child(even){grid-template-columns:.78fr 1.22fr}.v5-room-strip:nth-child(even)>img{order:2}.v5-room-strip:hover>img{transform:scale(1.025)}.v5-room-common{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw;background:var(--blue-deep);color:#fff;padding:clamp(50px,7vw,100px);margin-bottom:25px}.v5-room-common h2{font-size:clamp(45px,4.8vw,80px);font-weight:500;line-height:.93;letter-spacing:-.05em;margin-top:16px}.v5-room-common .section-kicker{color:#fff}.v5-room-common ul{display:grid;grid-template-columns:1fr 1fr;list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.15)}.v5-room-common li{padding:19px 10px 19px 0;border-bottom:1px solid rgba(255,255,255,.15);font-size:16px;color:rgba(255,255,255,.78)}
.v5-room-detail-hero{display:grid;grid-template-columns:1.25fr .75fr;gap:6vw;align-items:center;margin-bottom:clamp(95px,11vw,175px)}.v5-room-detail-image{height:min(61vw,760px);overflow:hidden}.v5-room-detail-image img{width:100%;height:100%;object-fit:cover}.v5-room-detail-copy h2{font-size:clamp(48px,5vw,84px);line-height:.94;letter-spacing:-.05em;font-weight:500;margin:18px 0 28px}.v5-room-detail-copy>p{font-size:19px;line-height:1.65;color:#606b74}.v5-room-bigfacts{display:flex;gap:0;margin:35px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.v5-room-bigfacts div{flex:1;padding:20px 18px 20px 0;border-right:1px solid var(--line)}.v5-room-bigfacts div+div{padding-left:20px;border-right:0}.v5-room-bigfacts strong{display:block;font-size:34px;color:var(--blue);font-weight:500}.v5-room-bigfacts span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#788187}.v5-room-amenities{padding:clamp(45px,6vw,85px);background:#f0ede7;display:grid;grid-template-columns:.55fr 1.45fr;gap:5vw;margin-bottom:clamp(95px,10vw,155px)}.v5-room-amenities>span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);font-weight:700}.v5-room-amenities ul{display:grid;grid-template-columns:1fr 1fr;gap:0;list-style:none;margin:0;padding:0;border-top:1px solid #cdd1d1}.v5-room-amenities li{padding:16px 8px 16px 0;border-bottom:1px solid #cdd1d1;font-size:16px}.v5-room-next{display:flex;justify-content:space-between;gap:40px;align-items:center;border-top:1px solid var(--line);padding:45px 0}.v5-room-next h3{font-size:36px;font-weight:500;letter-spacing:-.035em}.v5-room-next p{color:#66717a;margin-top:8px}

/* Pool */
.page-main-pool>.content{width:min(1800px,calc(100% - (var(--pad)*2)))}.v5-pool-number{max-width:1200px;margin:0 auto 65px;text-align:center}.v5-pool-number>span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}.v5-pool-number strong{display:block;font-size:clamp(95px,14vw,240px);line-height:.82;letter-spacing:-.075em;font-weight:500;color:var(--blue);margin:22px 0 35px}.v5-pool-number strong i{font-size:.22em;font-style:normal;letter-spacing:0}.v5-pool-number p{font-size:20px;line-height:1.6;color:#5d6972;max-width:720px;margin:auto}.v5-pool-photo{height:min(70vw,900px);position:relative;overflow:hidden;color:#fff;margin-bottom:15px}.v5-pool-photo img{width:100%;height:100%;object-fit:cover}.v5-pool-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,30,55,.68),transparent 60%)}.v5-pool-photo>div{position:absolute;z-index:2;left:clamp(30px,5vw,85px);bottom:clamp(35px,5vw,80px)}.v5-pool-photo span{font-size:10px;letter-spacing:.16em;text-transform:uppercase}.v5-pool-photo h2{font-size:clamp(57px,7vw,116px);line-height:.88;letter-spacing:-.06em;font-weight:500;margin-top:12px}.v5-pool-photo h2 em{color:#fff;font-weight:300}.v5-pool-split{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:20px}.v5-pool-split>div{background:#edf0f1;padding:clamp(40px,5vw,75px)}.v5-pool-split>div:nth-child(2){background:var(--blue-deep);color:#fff}.v5-pool-split strong{font-size:64px;letter-spacing:-.055em;font-weight:500}.v5-pool-split h3{font-size:37px;font-weight:500;letter-spacing:-.035em;margin:12px 0}.v5-pool-split p{font-size:17px;line-height:1.6;opacity:.76;max-width:550px}.v5-pool-split .text-link{font-size:11px}

/* Dining */
.v5-dining-intro{display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;align-items:end;margin-bottom:75px}.v5-dining-intro h2{font-size:clamp(58px,7vw,116px);line-height:.88;letter-spacing:-.06em;font-weight:500;margin-top:18px}.v5-dining-intro>div:last-child{border-left:1px solid var(--line);padding-left:5vw}.v5-dining-intro strong{font-size:clamp(88px,9vw,145px);line-height:.8;color:var(--blue);font-weight:500;letter-spacing:-.07em}.v5-dining-intro span{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#718089;margin-top:10px}.v5-dining-intro p{font-size:18px;line-height:1.6;color:#5e6972;margin-top:25px}.v5-dining-gallery{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:520px 300px;gap:13px;margin-bottom:clamp(95px,11vw,175px)}.v5-dining-gallery>div{overflow:hidden}.v5-dining-gallery img{width:100%;height:100%;object-fit:cover}.v5-dining-gallery>div:first-child{grid-row:span 2}.v5-dining-quote{background:#ebe7df;display:grid;place-items:center;padding:50px}.v5-dining-quote p{font-size:clamp(25px,2.4vw,40px);line-height:1.15;letter-spacing:-.03em;font-weight:400}.v5-dining-links{border-top:1px solid var(--line);margin-bottom:30px}.v5-dining-links>span{display:block;padding:18px 0;font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--blue)}.v5-dining-links>a{display:grid;grid-template-columns:1fr 1fr auto;gap:20px;align-items:center;border-top:1px solid var(--line);padding:24px 0}.v5-dining-links strong{font-size:30px;font-weight:500}.v5-dining-links em{color:#69737b;font-size:14px}

/* Bar */
.route-bar{background:#071f35}.route-bar .ftr{margin-top:0}.page-main-bar{padding-top:0;background:#071f35}.page-main-bar>.content{width:100%;max-width:none}.v5-bar-stage{min-height:850px;display:grid;grid-template-columns:1.15fr .85fr;color:#fff}.v5-bar-photo{min-height:850px;overflow:hidden}.v5-bar-photo img{width:100%;height:100%;object-fit:cover}.v5-bar-copy{padding:clamp(55px,8vw,130px);display:flex;flex-direction:column;justify-content:center;background:#082e50}.v5-bar-copy h2{font-size:clamp(56px,6vw,100px);font-weight:500;line-height:.9;letter-spacing:-.055em;margin:20px 0 30px}.v5-bar-copy h2 em{color:#fff;font-weight:300}.v5-bar-copy p{font-size:18px;line-height:1.65;color:rgba(255,255,255,.72)}.v5-bar-copy .event-secondary{margin-top:30px;align-self:flex-start}.v5-bar-three{display:grid;grid-template-columns:repeat(3,1fr);color:#fff;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}.v5-bar-three>div{padding:45px;border-right:1px solid rgba(255,255,255,.16)}.v5-bar-three>div:last-child{border-right:0}.v5-bar-three span{font-size:10px;color:#8bb4d6}.v5-bar-three h3{font-size:28px;font-weight:400;margin-top:18px}

/* Spa */
.v5-spa-opening{display:grid;grid-template-columns:1.1fr .6fr;gap:9vw;align-items:center;margin-bottom:clamp(85px,10vw,155px)}.v5-spa-opening h2{font-size:clamp(58px,7vw,112px);font-weight:500;line-height:.88;letter-spacing:-.06em;margin:20px 0 30px}.v5-spa-opening p{font-size:19px;line-height:1.7;color:#606c75;max-width:680px}.v5-spa-time{background:#eef1ec;padding:clamp(35px,5vw,70px)}.v5-spa-time small{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#6e7c72}.v5-spa-time strong{display:block;font-size:clamp(58px,6vw,95px);line-height:.88;color:#345c4a;font-weight:400;margin:25px 0}.v5-spa-time span{font-size:13px;line-height:1.5;color:#69736d}.v5-treatment-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:clamp(90px,10vw,150px);border-top:1px solid var(--line);border-left:1px solid var(--line)}.v5-treatment{min-height:220px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.v5-treatment small{font-size:9px;letter-spacing:.15em;color:var(--blue)}.v5-treatment h3{font-size:31px;font-weight:500;letter-spacing:-.03em;margin-top:70px}.v5-spa-photo{position:relative;height:min(65vw,800px);overflow:hidden;color:#fff}.v5-spa-photo img{width:100%;height:100%;object-fit:cover}.v5-spa-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,32,51,.75),rgba(4,32,51,.05) 70%)}.v5-spa-photo>div{position:absolute;z-index:2;left:clamp(30px,5vw,80px);bottom:clamp(40px,6vw,90px)}.v5-spa-photo h2{font-size:clamp(50px,5.8vw,98px);line-height:.9;letter-spacing:-.055em;font-weight:500;margin-bottom:30px}.v5-spa-photo h2 em{color:#fff;font-weight:300}

/* Beach / location */
.v5-coastline{padding:55px 0 75px;margin-bottom:50px}.v5-coastline-label{text-align:center;margin-bottom:45px}.v5-coastline-label strong{display:block;font-size:84px;letter-spacing:-.06em;color:var(--blue);font-weight:500}.v5-coastline-label span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#6d7880}.v5-coastline-track{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:18px;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.v5-coastline-track i{height:1px;background:#aab4ba}.v5-coastline-track b{background:var(--blue);color:#fff;border-radius:999px;padding:10px 15px;font-size:10px}.v5-beach-editorial{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:center;margin-bottom:20px}.v5-beach-editorial>div:first-child{height:min(60vw,740px);overflow:hidden}.v5-beach-editorial img{width:100%;height:100%;object-fit:cover}.v5-beach-editorial h2{font-size:clamp(52px,5.6vw,94px);line-height:.91;letter-spacing:-.05em;font-weight:500;margin:18px 0 28px}.v5-beach-editorial p{font-size:18px;line-height:1.7;color:#606c75}.v5-practical-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw;margin-bottom:90px}.v5-practical-address{padding-top:15px}.v5-practical-address h2{font-size:clamp(52px,5.7vw,95px);line-height:.9;letter-spacing:-.055em;font-weight:500;margin:20px 0 28px}.v5-practical-address p{font-size:18px;line-height:1.6;color:#67727a;margin-bottom:22px}.v5-practical-address a{display:block;font-size:17px;line-height:1.8}.v5-practical-grid{display:grid;grid-template-columns:1fr 1fr;border-left:1px solid var(--line);border-top:1px solid var(--line)}.v5-practical-card{padding:35px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:180px;display:flex;flex-direction:column;justify-content:space-between}.v5-practical-card small{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#7c858a}.v5-practical-card strong{font-size:clamp(25px,2.5vw,40px);font-weight:500;color:var(--blue);letter-spacing:-.03em}.v5-practical-note{background:#f0ede7;padding:clamp(40px,5vw,70px);display:grid;grid-template-columns:.5fr 1fr auto;gap:5vw;align-items:center;margin-bottom:20px}.v5-practical-note h3{font-size:35px;font-weight:500}.v5-practical-note p{font-size:16px;line-height:1.65;color:#626e76}

/* Experiences */
.v5-card-grid-experiences{grid-template-columns:repeat(12,1fr)}.v5-card-grid-experiences .v5-image-card{grid-column:span 4}.v5-card-grid-experiences .v5-image-card:first-child{grid-column:span 7;min-height:660px}.v5-card-grid-experiences .v5-image-card:nth-child(2){grid-column:span 5;min-height:660px}.v5-diving-hero{min-height:720px;background:linear-gradient(90deg,rgba(2,24,42,.9),rgba(2,24,42,.34)),url('../images/home/slide-2.jpg') center/cover no-repeat;color:#fff;display:flex;align-items:center;padding:clamp(45px,7vw,105px);margin-bottom:14px}.v5-diving-hero>div{max-width:900px}.v5-diving-hero h2{font-size:clamp(58px,6.5vw,108px);font-weight:500;line-height:.89;letter-spacing:-.06em;margin:20px 0 28px}.v5-diving-hero h2 em{color:#fff;font-weight:300}.v5-diving-hero p{font-size:19px;line-height:1.65;color:rgba(255,255,255,.78);max-width:680px}.v5-diving-hero .event-primary{display:inline-flex;margin-top:30px}.v5-diving-facts{display:grid;grid-template-columns:repeat(3,1fr);background:#072d4b;color:#fff;margin-bottom:20px}.v5-diving-facts>div{padding:42px;border-right:1px solid rgba(255,255,255,.14)}.v5-diving-facts strong{display:block;font-size:44px;font-weight:500;letter-spacing:-.03em}.v5-diving-facts span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.56)}.v5-golf-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:center;margin-bottom:65px}.v5-golf-intro h2{font-size:clamp(54px,5.8vw,98px);line-height:.9;letter-spacing:-.055em;font-weight:500;margin:20px 0 28px}.v5-golf-intro p{font-size:18px;line-height:1.7;color:#637078}.v5-golf-intro>div:last-child{height:min(55vw,700px);overflow:hidden}.v5-golf-intro img{width:100%;height:100%;object-fit:cover}.v5-golf-courses{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:90px}.v5-golf-courses>div{padding:clamp(40px,5vw,75px);background:#edf0e7;min-height:400px}.v5-golf-courses>div:last-child{background:#dde9ec}.v5-golf-courses small{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#596b60}.v5-golf-courses strong{display:block;font-size:clamp(42px,4vw,68px);font-weight:500;letter-spacing:-.04em;margin:60px 0 15px}.v5-golf-courses p{font-size:17px;line-height:1.6;color:#626e6a}.v5-golf-courses span{display:block;margin-top:30px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.v5-explorer-cta{display:flex;align-items:center;justify-content:space-between;gap:35px;background:#0a477f;color:#fff;padding:clamp(45px,6vw,85px);margin-bottom:20px}.v5-explorer-cta .section-kicker{color:#fff}.v5-explorer-cta h2{font-size:clamp(42px,4.8vw,78px);line-height:.94;letter-spacing:-.045em;font-weight:500;margin-top:15px}.v5-explorer-cta h2 em{color:#fff}.v5-hike-opening{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:center;margin-bottom:70px}.v5-hike-opening>div:first-child{height:min(58vw,740px);overflow:hidden}.v5-hike-opening img{width:100%;height:100%;object-fit:cover}.v5-hike-opening h2,.v5-boat-copy h2,.v5-entertainment h2{font-size:clamp(52px,5.7vw,96px);line-height:.91;letter-spacing:-.055em;font-weight:500;margin:18px 0 27px}.v5-hike-opening p,.v5-boat-copy p,.v5-entertainment p{font-size:18px;line-height:1.7;color:#606c75}.v5-card-grid-hike .v5-image-card{min-height:470px}.v5-boat-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center;margin-bottom:15px}.v5-boat-image{height:min(58vw,750px);overflow:hidden}.v5-boat-image img{width:100%;height:100%;object-fit:cover}.v5-boat-copy .soft-btn{margin-top:30px}.v5-boat-band{background:#0a477f;color:#fff;text-align:center;padding:30px;font-size:12px;letter-spacing:.15em;text-transform:uppercase;margin-bottom:20px}.v5-entertainment{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:center}.v5-entertainment>div:first-child{height:min(60vw,760px);overflow:hidden}.v5-entertainment img{width:100%;height:100%;object-fit:cover}

/* Madeira */
.v5-madeira-opening{display:grid;grid-template-columns:.82fr 1.18fr;gap:7vw;align-items:center;margin-bottom:clamp(100px,12vw,190px)}.v5-madeira-opening h2{font-size:clamp(57px,6.3vw,106px);line-height:.89;letter-spacing:-.06em;font-weight:500;margin:20px 0 28px}.v5-madeira-opening p{font-size:19px;line-height:1.7;color:#606c75}.v5-madeira-map-card{position:relative;min-height:650px;overflow:hidden;color:#fff}.v5-madeira-map-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.08) contrast(1.06);transition:transform .7s}.v5-madeira-map-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,24,40,.75),rgba(2,24,40,.08) 60%)}.v5-madeira-map-card>div{position:absolute;z-index:2;left:35px;right:35px;bottom:35px}.v5-madeira-map-card small{font-size:10px;letter-spacing:.15em}.v5-madeira-map-card strong{display:block;font-size:clamp(40px,4.5vw,72px);font-weight:500;letter-spacing:-.045em;margin:8px 0}.v5-madeira-map-card span{font-size:10px;text-transform:uppercase;letter-spacing:.1em}.v5-madeira-map-card:hover img{transform:scale(1.04)}.v5-card-grid-madeira{grid-template-columns:repeat(4,1fr)}.v5-card-grid-madeira .v5-image-card{min-height:480px}

/* About */
.v5-about-manifest{max-width:1200px;margin:0 auto clamp(110px,12vw,190px);text-align:center}.v5-about-manifest h2{font-size:clamp(60px,7vw,118px);line-height:.87;letter-spacing:-.062em;font-weight:500;margin:20px 0 35px}.v5-about-manifest p{font-size:20px;line-height:1.65;color:#606c75;max-width:850px;margin:auto}.v5-about-timeline{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-bottom:80px}.v5-about-timeline>div{padding:35px;border-right:1px solid var(--line);min-height:390px}.v5-about-timeline>div:last-child{border-right:0}.v5-about-timeline small{font-size:60px;letter-spacing:-.06em;color:var(--blue);font-weight:500}.v5-about-timeline h3{font-size:30px;font-weight:500;letter-spacing:-.03em;margin:75px 0 15px}.v5-about-timeline p{font-size:16px;line-height:1.6;color:#657179}.v5-about-links{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:20px}

/* Gallery */
.v5-gallery-head{display:grid;grid-template-columns:1.1fr .65fr;gap:8vw;align-items:end;margin-bottom:50px}.v5-gallery-head h2{font-size:clamp(54px,6vw,100px);line-height:.89;letter-spacing:-.058em;font-weight:500;margin-top:18px}.v5-gallery-head p{font-size:18px;line-height:1.65;color:#627078}.v5-gallery-grid .gallery-item{position:relative}.v5-gallery-grid .gallery-item span{position:absolute;left:13px;bottom:13px;background:rgba(255,255,255,.9);padding:6px 9px;font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#35434b}

/* Offers */
.v5-offers-intro{max-width:1100px;margin:0 auto 70px;text-align:center}.v5-offers-intro h2{font-size:clamp(57px,6.5vw,108px);line-height:.88;letter-spacing:-.06em;font-weight:500;margin:20px 0 30px}.v5-offers-intro p{font-size:18px;line-height:1.65;color:#647078;max-width:760px;margin:auto}.v5-offer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:25px}.v5-offer{background:#f0ede7;overflow:hidden}.v5-offer>img{width:100%;height:430px;object-fit:cover}.v5-offer>div{padding:35px}.v5-offer small{font-size:10px;color:var(--blue);text-transform:uppercase;letter-spacing:.1em}.v5-offer h3{font-size:40px;font-weight:500;letter-spacing:-.04em;margin:10px 0 16px}.v5-offer p{font-size:16px;line-height:1.6;color:#637079}.v5-offer a{display:inline-block;margin-top:25px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid}.v5-offers-empty{min-height:440px;background:var(--blue-deep);color:#fff;display:grid;place-items:center;text-align:center;padding:50px;margin-bottom:20px}.v5-offers-empty>div{max-width:760px}.v5-offers-empty strong{font-size:clamp(36px,4vw,63px);line-height:1;letter-spacing:-.045em;font-weight:500}.v5-offers-empty p{font-size:17px;line-height:1.6;color:rgba(255,255,255,.7);margin:20px auto 28px}.v5-offers-empty .soft-btn{background:#fff;color:var(--blue);border-color:#fff}

/* Contact */
.v5-contact-opening{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:center;margin-bottom:90px}.v5-contact-info h2{font-size:clamp(52px,5.5vw,92px);line-height:.91;letter-spacing:-.055em;font-weight:500;margin:20px 0 35px}.v5-contact-lines{border-top:1px solid var(--line)}.v5-contact-lines a,.v5-contact-lines span{display:block;padding:14px 0;border-bottom:1px solid var(--line);font-size:17px;line-height:1.5}.v5-contact-image{height:min(55vw,680px);overflow:hidden}.v5-contact-image img{width:100%;height:100%;object-fit:cover}.v5-contact-lower{display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;margin-bottom:20px}.v5-contact-lower .contact-form h2{margin:14px 0 0}.v5-contact-shortcuts{border-top:1px solid var(--line)}.v5-contact-shortcuts a{display:grid;grid-template-columns:40px 1fr auto;gap:15px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line)}.v5-contact-shortcuts small{font-size:10px;color:var(--blue)}.v5-contact-shortcuts strong{font-size:25px;font-weight:500}.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}.form-status-error{background:#f8eeee!important;color:#7b3131!important}

/* FAQ */
.v5-faq-opening{max-width:980px;margin:0 auto 65px;text-align:center}.v5-faq-opening h2{font-size:clamp(58px,6.5vw,105px);line-height:.88;letter-spacing:-.06em;font-weight:500;margin:20px 0 30px}.v5-faq-opening p{font-size:19px;line-height:1.65;color:#647078;max-width:730px;margin:auto}.v5-faq-list{margin-bottom:50px}.v5-faq-bottom{display:flex;align-items:center;justify-content:center;gap:25px;background:#f0ede7;padding:35px;margin-bottom:20px}.v5-faq-bottom>span{font-size:25px;font-weight:500}.v5-faq-bottom .soft-btn{margin:0}

/* Booking */
.v5-booking-opening{display:grid;grid-template-columns:1fr .55fr;gap:8vw;align-items:center;margin-bottom:60px}.v5-booking-opening h2{font-size:clamp(55px,6vw,100px);line-height:.89;letter-spacing:-.06em;font-weight:500;margin:18px 0 28px}.v5-booking-opening p{font-size:18px;line-height:1.65;color:#647078}.v5-booking-reassure{padding:40px;border-left:1px solid var(--line)}.v5-booking-reassure span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#7a848a;margin:8px 0}.v5-booking-reassure strong{display:block;font-size:36px;color:var(--blue);font-weight:500}.v5-booking-engine{margin-bottom:15px}.v5-booking-links{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:20px;border-top:1px solid var(--line)}.v5-booking-links a{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.v5-booking-links strong{font-size:20px;font-weight:500}

/* Careers */
.v5-careers-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:center;margin-bottom:20px}.v5-careers-photo{height:min(60vw,760px);overflow:hidden}.v5-careers-photo img{width:100%;height:100%;object-fit:cover}.v5-careers-copy h2,.v5-careers-external h2{font-size:clamp(52px,5.7vw,96px);line-height:.9;letter-spacing:-.055em;font-weight:500;margin:18px 0 28px}.v5-careers-copy p,.v5-careers-external p{font-size:18px;line-height:1.7;color:#606c75}.v5-careers-external{max-width:1050px;margin:0 auto 20px;text-align:center;padding:clamp(50px,7vw,100px);background:#f0ede7}.v5-careers-external>img{width:100px;margin:0 auto 30px}.v5-careers-external .event-primary{display:inline-flex;margin-top:28px}

@media(max-width:1100px){
 .v5-card-grid-hotel{grid-template-columns:1fr 1fr}.v5-card-grid-hotel .v5-image-card:nth-child(1){grid-row:auto;grid-column:1/-1;min-height:620px}.v5-card-grid-hotel .v5-image-card:nth-child(4){grid-column:auto}.v5-card-grid-madeira{grid-template-columns:1fr 1fr}.v5-card-grid-experiences .v5-image-card,.v5-card-grid-experiences .v5-image-card:first-child,.v5-card-grid-experiences .v5-image-card:nth-child(2){grid-column:span 6;min-height:540px}
 .v5-facts-four{grid-template-columns:1fr 1fr}.v5-fact:nth-child(2){border-right:0}.v5-fact:nth-child(-n+2){border-bottom:1px solid var(--line)}
}
@media(max-width:820px){
 .v5-section-head,.v5-hotel-opening,.v5-room-detail-hero,.v5-dining-intro,.v5-spa-opening,.v5-beach-editorial,.v5-practical-layout,.v5-golf-intro,.v5-hike-opening,.v5-boat-layout,.v5-entertainment,.v5-madeira-opening,.v5-contact-opening,.v5-contact-lower,.v5-booking-opening,.v5-careers-layout{grid-template-columns:1fr;gap:45px}
 .v5-hotel-image,.v5-room-detail-image,.v5-beach-editorial>div:first-child,.v5-golf-intro>div:last-child,.v5-hike-opening>div:first-child,.v5-boat-image,.v5-entertainment>div:first-child,.v5-contact-image,.v5-careers-photo{height:64vh;min-height:480px}
 .v5-sustain{grid-template-columns:1fr}.v5-sustain>p{grid-column:auto}.v5-card-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-20px;padding-right:20px;scrollbar-width:none}.v5-card-grid::-webkit-scrollbar{display:none}.v5-card-grid .v5-image-card,.v5-card-grid-hotel .v5-image-card:nth-child(1),.v5-card-grid-experiences .v5-image-card,.v5-card-grid-experiences .v5-image-card:first-child,.v5-card-grid-experiences .v5-image-card:nth-child(2){flex:0 0 82vw;min-height:540px;scroll-snap-align:start}
 .v5-room-strip,.v5-room-strip:nth-child(even){grid-template-columns:1fr}.v5-room-strip:nth-child(even)>img{order:0}.v5-room-strip>img{min-height:480px;height:56vh}.v5-room-common{grid-template-columns:1fr}.v5-room-amenities{grid-template-columns:1fr}.v5-dining-gallery{grid-template-columns:1fr;grid-template-rows:auto}.v5-dining-gallery>div,.v5-dining-gallery>div:first-child{height:54vh;min-height:420px;grid-row:auto}.v5-dining-quote{height:auto!important;min-height:280px!important}.v5-bar-stage{grid-template-columns:1fr;min-height:0}.v5-bar-photo{height:65vh;min-height:500px}.v5-bar-copy{min-height:560px}.v5-treatment-grid{grid-template-columns:1fr 1fr}.v5-practical-note{grid-template-columns:1fr}.v5-golf-courses{grid-template-columns:1fr}.v5-explorer-cta{display:block}.v5-explorer-cta .event-primary{display:inline-flex;margin-top:25px}.v5-about-timeline{grid-template-columns:1fr}.v5-about-timeline>div{border-right:0;border-bottom:1px solid var(--line);min-height:290px}.v5-about-timeline h3{margin-top:35px}.v5-offer-grid{grid-template-columns:1fr}.v5-booking-links{grid-template-columns:1fr}.v5-booking-links a{border-right:0}.v5-dining-intro>div:last-child{border-left:0;border-top:1px solid var(--line);padding:30px 0 0}.v5-madeira-map-card{min-height:560px}
}
@media(max-width:560px){
 .v5-hotel-statement h2,.v5-rooms-manifest h2,.v5-dining-intro h2,.v5-spa-opening h2,.v5-golf-intro h2,.v5-hike-opening h2,.v5-boat-copy h2,.v5-entertainment h2,.v5-madeira-opening h2,.v5-about-manifest h2,.v5-gallery-head h2,.v5-offers-intro h2,.v5-contact-info h2,.v5-faq-opening h2,.v5-booking-opening h2,.v5-careers-copy h2,.v5-careers-external h2{font-size:48px}
 .v5-facts-four{grid-template-columns:1fr 1fr}.v5-fact{padding:25px 16px}.v5-fact strong{font-size:43px}.v5-sustain{padding:38px 25px}.v5-sustain-items{grid-template-columns:1fr}.v5-sustain-items div{border-right:0}.v5-room-common ul,.v5-room-amenities ul{grid-template-columns:1fr}.v5-room-detail-image,.v5-hotel-image,.v5-beach-editorial>div:first-child,.v5-golf-intro>div:last-child,.v5-hike-opening>div:first-child,.v5-boat-image,.v5-entertainment>div:first-child,.v5-contact-image,.v5-careers-photo{height:52vh;min-height:400px}.v5-room-next{display:block}.v5-room-next .soft-btn{margin-top:20px}.v5-pool-number strong{font-size:88px}.v5-pool-photo{height:65vh;min-height:520px}.v5-pool-split{grid-template-columns:1fr}.v5-bar-three{grid-template-columns:1fr}.v5-bar-three>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}.v5-treatment-grid{grid-template-columns:1fr}.v5-treatment{min-height:160px}.v5-treatment h3{margin-top:38px}.v5-coastline-track{grid-template-columns:1fr;text-align:center}.v5-coastline-track i{width:1px;height:35px;margin:auto}.v5-practical-grid{grid-template-columns:1fr}.v5-golf-courses>div{min-height:320px}.v5-diving-facts{grid-template-columns:1fr}.v5-diving-facts>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}.v5-madeira-map-card{min-height:480px}.v5-gallery-head{grid-template-columns:1fr}.v5-faq-bottom{display:block;text-align:center}.v5-faq-bottom .soft-btn{margin-top:15px}.v5-booking-reassure{border-left:0;border-top:1px solid var(--line);padding:25px 0}.v5-contact-shortcuts a{grid-template-columns:30px 1fr auto}
}

/* V5.2 — Hotel page: richer facilities + location story */
.v5-card-grid-hotel{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:16px;
}
.v5-card-grid-hotel .v5-image-card:nth-child(1){grid-column:span 7;grid-row:span 2;min-height:760px}
.v5-card-grid-hotel .v5-image-card:nth-child(2),
.v5-card-grid-hotel .v5-image-card:nth-child(3){grid-column:span 5;min-height:372px}
.v5-card-grid-hotel .v5-image-card:nth-child(n+4){grid-column:span 4;min-height:380px}
.v5-card-grid-hotel .v5-image-card:nth-child(4){grid-column:span 4}

.v5-hotel-area{margin:clamp(110px,12vw,190px) 0;background:#062f54;color:#fff;padding:clamp(58px,7vw,105px);overflow:hidden;position:relative}
.v5-hotel-area:before{content:"";position:absolute;right:-180px;top:-220px;width:520px;height:520px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 85px rgba(255,255,255,.025),0 0 0 170px rgba(255,255,255,.018)}
.v5-hotel-area-head{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:end;position:relative;z-index:1;margin-bottom:48px}
.v5-hotel-area-head .section-kicker{grid-column:1/-1}
.v5-hotel-area-head h2{font-size:clamp(52px,5.6vw,94px);line-height:.92;letter-spacing:-.055em;font-weight:500;margin:0}
.v5-hotel-area-head h2 em{font-weight:300;color:#b9dcf3}
.v5-hotel-area-head p{font-size:clamp(17px,1.35vw,21px);line-height:1.68;color:rgba(255,255,255,.72);max-width:660px;margin:0}
.v5-hotel-area-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;position:relative;z-index:1}
.v5-area-card{position:relative;min-height:520px;overflow:hidden;background:#0b426f}
.v5-area-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.22,1,.36,1)}
.v5-area-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,20,35,.88) 0%,rgba(2,20,35,.18) 64%)}
.v5-area-card:hover>img{transform:scale(1.035)}
.v5-area-card>div{position:absolute;z-index:2;left:clamp(24px,3vw,48px);right:clamp(24px,3vw,48px);bottom:clamp(26px,3vw,45px)}
.v5-area-card small{display:block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.62);margin-bottom:10px}
.v5-area-card h3{font-size:clamp(36px,3.5vw,58px);line-height:.95;letter-spacing:-.04em;font-weight:500;margin:0 0 14px}
.v5-area-card p{font-size:15px;line-height:1.6;color:rgba(255,255,255,.76);max-width:590px;margin:0}
.v5-area-facts{display:grid;grid-template-columns:repeat(4,1fr);position:relative;z-index:1;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);margin-top:18px}
.v5-area-facts>div{padding:28px 22px;border-right:1px solid rgba(255,255,255,.14)}
.v5-area-facts>div:last-child{border-right:0}
.v5-area-facts strong{display:block;font-size:clamp(26px,2.6vw,42px);font-weight:500;letter-spacing:-.03em;color:#fff}
.v5-area-facts span{display:block;margin-top:7px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.v5-area-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px;position:relative;z-index:1}
.v5-hotel-area .soft-btn{border-color:rgba(255,255,255,.32);color:#fff}
.v5-hotel-area .soft-btn:hover{background:#fff;color:#06345c;border-color:#fff}

@media(max-width:1080px){
  .v5-card-grid-hotel{grid-template-columns:1fr 1fr}
  .v5-card-grid-hotel .v5-image-card:nth-child(1){grid-column:1/-1;grid-row:auto;min-height:620px}
  .v5-card-grid-hotel .v5-image-card:nth-child(n+2){grid-column:auto;min-height:420px}
  .v5-hotel-area-head{grid-template-columns:1fr;gap:26px}
  .v5-hotel-area-head .section-kicker{grid-column:auto}
}
@media(max-width:820px){
  .v5-card-grid-hotel{display:flex}
  .v5-card-grid-hotel .v5-image-card:nth-child(1),
  .v5-card-grid-hotel .v5-image-card:nth-child(n+2){flex:0 0 82vw;min-height:540px;grid-column:auto}
  .v5-hotel-area{padding:48px 24px;margin-left:-20px;margin-right:-20px}
  .v5-hotel-area-grid{grid-template-columns:1fr}
  .v5-area-card{min-height:480px}
  .v5-area-facts{grid-template-columns:1fr 1fr}
  .v5-area-facts>div:nth-child(2){border-right:0}
  .v5-area-facts>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.14)}
}
@media(max-width:560px){
  .v5-hotel-area-head h2{font-size:46px}
  .v5-area-card{min-height:430px}
  .v5-area-card h3{font-size:40px}
  .v5-area-facts{grid-template-columns:1fr 1fr}
  .v5-area-facts>div{padding:22px 14px}
  .v5-area-facts strong{font-size:30px}
}
