/* V7 — common visual language, individually composed routes. */
body[class*="route-"]{--paper:#fff;--ink:#102c3b;--muted:#59707a;--line:rgba(16,44,59,.16);--radius:0;background:#fff}
.page-main h2,.page-main h3{line-height:1.04;letter-spacing:-.04em;font-weight:500}
.page-main p{font-size:18px;line-height:1.65}
.page-main em{font-weight:350}
.page-main .section-kicker{font-size:13px;letter-spacing:.15em;font-weight:500}
.page-main small{font-size:12px;line-height:1.5}
.page-main .soft-btn{border-radius:0;font-size:14px;font-weight:500;letter-spacing:.06em;padding:14px 20px}
.page-main .text-link{font-size:14px;font-weight:500;letter-spacing:.06em}
.page-main img,.page-main video,.editorial-media{border-radius:0}
.page-main{padding-top:90px}
.page-hero h1{line-height:1;max-width:1100px;font-size:clamp(55px,6.4vw,108px)}
.page-hero p{font-size:21px;max-width:630px}
.page-breadcrumb{font-size:12px}
.page-hero-shade{background:linear-gradient(90deg,rgba(0,22,34,.5),rgba(0,22,34,.07)),linear-gradient(0deg,rgba(0,22,34,.4),transparent 65%)}
.page-hero-video{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.02);border:0}
.page-hero:hover .page-hero-video{transform:scale(1.02)}
.related{background:#092f46;color:#fff;margin-top:0;padding:clamp(70px,8vw,120px) 0}.related-heading{display:grid;grid-template-columns:1fr .8fr;gap:6vw;align-items:end;margin-bottom:42px}.related-heading h2{font-size:clamp(48px,5.5vw,82px);line-height:.95;margin:12px 0 0}.related-heading>p{max-width:480px;color:rgba(255,255,255,.68);font-size:18px}.related .section-kicker{color:#9fc0ce}.related-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}.related-link{grid-column:span 4;position:relative;min-height:390px;padding:30px;color:#fff;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;border:0;background:#173f51}.related-link:first-child:nth-last-child(2),.related-link:first-child:nth-last-child(2)~.related-link{grid-column:span 6}.related-link:first-child:nth-last-child(4),.related-link:first-child:nth-last-child(4)~.related-link{grid-column:span 3}.related-link img,.related-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.related-shade{z-index:-1;background:linear-gradient(0deg,rgba(0,21,31,.9),rgba(0,21,31,.05) 72%)}.related-link small{position:absolute;top:25px;left:25px;color:rgba(255,255,255,.75);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.related-link strong{font-size:clamp(28px,2.7vw,44px);line-height:1;font-weight:500;max-width:85%}.related-arrow{position:absolute;right:24px;bottom:24px;width:44px;height:44px;border:1px solid rgba(255,255,255,.55);display:grid;place-items:center;font-size:20px}.related-link img{transition:transform .8s}.related-link:hover{transform:none}.related-link:hover img{transform:scale(1.04)}.booking-cta{background:#092f46;border-radius:0;padding:50px;color:#fff;margin-bottom:clamp(70px,8vw,120px)}.booking-cta h2{font-size:clamp(36px,4vw,60px)}
/* Keep a consistent visual pause before the shared Discover more section. */
.page-main.has-related>.content>section:last-child{margin-bottom:clamp(70px,8vw,120px)}
.page-main a:focus-visible,.page-main button:focus-visible,.page-main input:focus-visible,.page-main select:focus-visible{outline:2px solid #3685ae;outline-offset:4px}
.page-main section[id]{scroll-margin-top:115px}
.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}
.v7-actions{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-top:30px}
.v7-actions .soft-btn:last-child{background:#092f46;color:#fff;border-color:#092f46}
/* Rooms: panoramic opening, navigable collection and comparison. */
.page-hero-rooms{height:74svh;min-height:600px}.page-hero-rooms .page-hero-inner{max-width:680px;bottom:60px}
.page-main-rooms{padding-top:0}
.v7-room-nav{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-block:30px;margin-bottom:90px;gap:20px}
.v7-room-nav a{display:flex;align-items:center;gap:25px;font-size:22px}.v7-room-nav span{font-size:15px;color:var(--muted)}
.v7-suite{display:grid;grid-template-columns:1.35fr 1fr;gap:7vw;align-items:center;margin-bottom:110px;scroll-margin-top:130px}
.v7-suite-photo{position:relative;height:650px}.v7-suite-photo img{width:100%;height:100%;object-fit:cover}
.v7-suite-area{position:absolute;right:0;bottom:0;background:#fff;padding:16px 24px;font-size:48px;line-height:1}.v7-suite-area small{font-size:22px}
.v7-suite-copy h2{font-size:clamp(46px,5vw,80px);margin:22px 0 20px}.v7-suite-copy h3{font-size:25px;color:var(--blue);margin-bottom:18px}
.v7-suite-copy p{color:var(--muted)}.v7-suite-copy ul{list-style:none;padding:0;margin:25px 0;border-top:1px solid var(--line)}.v7-suite-copy li{padding:10px 0;border-bottom:1px solid var(--line);font-size:16px}
.v7-suite-1{grid-template-columns:1fr 1.35fr}.v7-suite-1 .v7-suite-photo{order:2;height:560px}.v7-suite-2 .v7-suite-photo{height:520px}
.v7-compare{display:grid;grid-template-columns:1fr 1.3fr;gap:6vw;align-items:center;background:#edf3f5;padding:55px}.v7-compare h2{font-size:48px;margin-top:20px}
.v7-table-wrap{overflow:auto}.v7-compare table{border-collapse:collapse;width:100%;font-size:17px;text-align:left}.v7-compare td,.v7-compare th{padding:18px 14px;border-bottom:1px solid #c4d3d9;white-space:nowrap}.v7-compare thead th{font-size:14px;color:#59707a}.v7-compare tbody th{font-weight:500}
/* Experiences: four editorial chapters. */
.page-hero-experiences{height:82svh;min-height:640px}.page-hero-experiences .page-hero-inner{max-width:900px}
.v7-jump-nav{display:flex;justify-content:space-between;gap:20px;padding-bottom:28px;border-bottom:1px solid var(--line);margin-bottom:80px}.v7-jump-nav a{font-size:17px;max-width:230px;color:var(--blue)}
.v7-experience-chapter{margin-bottom:105px}.v7-chapter-head{display:grid;grid-template-columns:80px 1fr .85fr;gap:35px;align-items:start;margin-bottom:38px}.v7-chapter-number{font-size:52px;color:#90aab8;font-weight:300;line-height:1}.v7-chapter-head h2{font-size:clamp(40px,4vw,65px)}.v7-chapter-head p{color:var(--muted)}
.v7-place-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.v7-place-card{min-width:0}
.v7-place-photo{display:block;position:relative;height:330px;overflow:hidden;background:#e3edf0}.v7-place-photo img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.v7-place-photo:hover img{transform:scale(1.04)}.v7-place-photo>span{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,19,28,.75));color:#fff;padding:40px 22px 18px;font-size:14px}
.v7-place-copy{padding:24px 0;border-bottom:1px solid var(--line)}.v7-place-copy>small{color:var(--muted);font-size:13px}.v7-place-copy h3{font-size:34px;margin:12px 0 17px}.v7-place-copy p{font-size:17px;color:var(--muted)}
#city .v7-place-card:nth-child(2){padding-top:45px}#nature .v7-place-photo{height:400px}
.v7-trail-note{padding:40px 45px;background:#edf3f5;border-left:3px solid #467d96;margin-bottom:80px}.v7-trail-note h3{font-size:30px;margin-bottom:15px}.v7-trail-note p{max-width:1000px}
.v7-more-experiences{display:grid;grid-template-columns:1fr 1fr;column-gap:45px}.v7-more-experiences h2{grid-column:1/-1;font-size:44px;margin-bottom:30px}.v7-more-experiences a{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:25px 0;font-size:25px}
/* Compact headers: practical pages and the explorer. Navigation stays intact. */
:is(.route-discover-madeira,.route-gallery,.route-contact,.route-location,.route-faq,.route-book,.route-privacy-policy,.route-cookie-policy,.route-terms-of-use,.route-complaints-suggestions,.route-whistleblowing-channel,.route-environment,.route-vacancies) .site-header{background:#092f46}
:is(.page-hero-discover-madeira,.page-hero-gallery,.page-hero-contact,.page-hero-location,.page-hero-faq,.page-hero-book,.page-hero-privacy-policy,.page-hero-cookie-policy,.page-hero-terms-of-use,.page-hero-complaints-suggestions,.page-hero-whistleblowing-channel,.page-hero-environment,.page-hero-vacancies){height:auto;min-height:0;padding:170px var(--pad) 50px;background:#fff;color:var(--ink)}
:is(.page-hero-discover-madeira,.page-hero-gallery,.page-hero-contact,.page-hero-location,.page-hero-faq,.page-hero-book,.page-hero-privacy-policy,.page-hero-cookie-policy,.page-hero-terms-of-use,.page-hero-complaints-suggestions,.page-hero-whistleblowing-channel,.page-hero-environment,.page-hero-vacancies) :is(.page-hero-bg,.page-hero-shade){display:none}
:is(.page-hero-discover-madeira,.page-hero-gallery,.page-hero-contact,.page-hero-location,.page-hero-faq,.page-hero-book,.page-hero-privacy-policy,.page-hero-cookie-policy,.page-hero-terms-of-use,.page-hero-complaints-suggestions,.page-hero-whistleblowing-channel,.page-hero-environment,.page-hero-vacancies) .page-hero-inner{position:relative;inset:auto;max-width:1400px}
:is(.page-hero-discover-madeira,.page-hero-gallery,.page-hero-contact,.page-hero-location,.page-hero-faq,.page-hero-book,.page-hero-privacy-policy,.page-hero-cookie-policy,.page-hero-terms-of-use,.page-hero-complaints-suggestions,.page-hero-whistleblowing-channel,.page-hero-environment,.page-hero-vacancies) .page-hero-inner p{color:var(--muted);font-size:20px;max-width:850px}
:is(.page-hero-discover-madeira,.page-hero-gallery,.page-hero-contact,.page-hero-location,.page-hero-faq,.page-hero-book,.page-hero-privacy-policy,.page-hero-cookie-policy,.page-hero-terms-of-use,.page-hero-complaints-suggestions,.page-hero-whistleblowing-channel,.page-hero-environment,.page-hero-vacancies) .section-kicker{color:var(--blue)}
:is(.page-hero-discover-madeira,.page-hero-gallery,.page-hero-contact,.page-hero-location,.page-hero-faq,.page-hero-book,.page-hero-privacy-policy,.page-hero-cookie-policy,.page-hero-terms-of-use,.page-hero-complaints-suggestions,.page-hero-whistleblowing-channel,.page-hero-environment,.page-hero-vacancies) .page-breadcrumb{color:var(--muted);top:125px}
:is(.page-main-discover-madeira,.page-main-gallery,.page-main-contact,.page-main-faq,.page-main-book){padding-top:15px}
.page-hero-discover-madeira h1{font-size:clamp(46px,5vw,72px)}.page-hero-discover-madeira{padding-bottom:35px}
/* Native map, a full directory and independent seven-day weather. */
.v7-explorer{margin-bottom:80px}.v7-explorer-toolbar{display:flex;gap:25px;align-items:end;justify-content:space-between;padding:22px;background:#edf3f5}
.v7-search-label{font-size:14px;min-width:220px}.v7-search-label input{display:block;margin-top:8px;padding:13px 15px;border:1px solid #bdcdd4;background:#fff;width:100%;font:inherit;font-size:16px;color:var(--ink)}
.v7-filter-bar{display:flex;flex-wrap:wrap;gap:7px}.v7-filter-bar button{font:inherit;font-size:14px;color:var(--ink);background:transparent;border:1px solid #bdcdd4;padding:11px 15px;cursor:pointer}.v7-filter-bar button[aria-pressed=true],.v7-filter-bar button:hover{background:#092f46;border-color:#092f46;color:#fff}
.v7-explorer-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;border:1px solid #d2dfe4;min-height:590px}
.v7-map-wrap{position:relative;min-height:590px;background:#1a4b60;isolation:isolate}#v7-madeira-map{position:absolute;inset:0;z-index:1}.v7-map-controls{position:absolute;top:18px;left:18px;right:50px;z-index:500;display:flex;gap:7px;flex-wrap:wrap}.v7-map-controls button{border:1px solid #fff;background:#092f46;color:#fff;padding:10px 13px;font:inherit;font-size:13px;cursor:pointer}
.v7-poi-panel{background:#fff;min-width:0;max-height:650px;overflow-y:auto}#poi-detail{padding:30px}#poi-detail img{width:calc(100% + 60px);max-width:none;height:225px;object-fit:cover;margin:-30px -30px 28px}#poi-detail h2{font-size:36px;margin:17px 0}#poi-detail p{font-size:17px;color:var(--muted)}#poi-detail .soft-btn{margin-top:22px}#poi-detail small{display:block;margin-top:18px;color:var(--muted)}
.v7-marker{background:#fff;border:2px solid #103c55;color:#103c55;font-size:12px;font-weight:700;width:29px;height:29px;display:grid;place-items:center;border-radius:50%;box-shadow:0 2px 8px #0004}.v7-marker.is-selected{background:#be9b58;color:#fff;transform:scale(1.2)}.v7-marker.hotel{background:#092f46;color:#fff;width:36px;height:36px;border-color:#fff;font-size:10px}
.v7-poi-list-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:45px 0 25px}.v7-poi-list-head h2{font-size:34px}.v7-poi-list-head span{font-size:20px;color:var(--muted)}
.v7-poi-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:28px}.v7-poi-directory button{border:0;border-top:1px solid var(--line);background:#fff;color:var(--ink);text-align:left;display:grid;grid-template-columns:32px 1fr auto;gap:12px;padding:19px 6px;font:inherit;cursor:pointer;align-items:center}.v7-poi-directory button>span{font-size:12px;color:#839ba7}.v7-poi-directory strong{font-size:17px;font-weight:500}.v7-poi-directory small{font-size:12px;color:var(--muted)}.v7-poi-directory button:hover,.v7-poi-directory button[aria-pressed=true]{background:#edf3f5}.v7-poi-directory [hidden]{display:none}
.v7-explorer-note{margin-top:30px;color:var(--muted);font-size:15px!important}.v7-explorer-note a{text-decoration:underline}.v7-map-failure{position:absolute;bottom:25px;left:25px;right:25px;color:#fff;z-index:501;background:#092f46;padding:20px}
.v7-explorer.map-expanded{position:fixed;inset:0;z-index:1000;background:#fff;overflow:auto;padding:15px;margin:0}.map-expanded .v7-explorer-layout{height:calc(100dvh - 135px)}.map-expanded .v7-map-wrap{min-height:420px}.map-expanded .v7-poi-panel{max-height:none}.map-expanded :is(.v7-poi-list-head,.v7-poi-directory,.v7-explorer-note){display:none}
.v7-weather{padding:48px;background:#092f46;color:#fff}.v7-weather-head{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:35px}.v7-weather-head h2{font-size:44px;margin-top:15px}.v7-weather .section-kicker{color:#b5ceda}.v7-weather label{font-size:14px}.v7-weather select{display:block;width:220px;padding:12px;color:#fff;background:#183f55;border:1px solid #70909f;margin-top:10px;font:inherit;font-size:16px}
.v7-weather-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.v7-weather-day{padding:22px 14px;border:1px solid #446476;display:flex;flex-direction:column;gap:13px;min-width:0}.v7-weather-day time{font-size:16px}.v7-weather-icon{font-size:29px}.v7-weather-day strong{font-size:35px;font-weight:400}.v7-weather-day span,.v7-weather-day small{font-size:13px;color:#dce7ec}.v7-weather-note{margin-top:25px;font-size:15px!important;color:#c7d8e0}.v7-weather>small{display:block;margin-top:15px;color:#c7d8e0}.v7-weather a{text-decoration:underline}#weather-retry{padding:12px 20px;cursor:pointer}#weather-status{font-size:15px;margin-bottom:18px}
/* Avira: dark opening, a lead wedding feature and a tailored invitation. */
.page-hero-events-weddings{height:85svh;min-height:660px}.events-hero-brand{display:none}.page-hero-events-weddings .page-hero-inner{max-width:950px}.page-main-events-weddings{background:#fff}
.v7-event-intro{display:grid;grid-template-columns:.45fr 1fr;gap:9vw;align-items:center;margin-bottom:100px}.v7-event-intro>img{width:260px;margin:auto}.v7-event-intro h2{font-size:clamp(45px,4.8vw,76px);margin:20px 0 25px}.v7-event-intro p{max-width:850px;color:var(--muted)}
.v7-event-wedding{display:grid;grid-template-columns:1.3fr 1fr;background:#102c3b;color:#fff;margin-bottom:75px}.v7-event-wedding>div{min-height:680px}.v7-event-wedding img{width:100%;height:100%;object-fit:cover}.v7-event-wedding article{padding:clamp(35px,5vw,75px);align-self:center}.v7-event-wedding h2{font-size:clamp(45px,4.6vw,70px);margin:22px 0}.v7-event-wedding em{color:#cbb784}.v7-event-wedding p{color:#d7e0e4}
.v7-event-pair{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-bottom:100px}.v7-event-pair img{width:100%;height:400px;object-fit:cover}.v7-event-pair article:nth-child(2){padding-top:65px}.v7-event-pair article>div{padding:28px 0;border-bottom:1px solid var(--line)}.v7-event-pair h3{font-size:38px;margin:10px 0 18px}.v7-event-pair p{color:var(--muted)}
.v7-event-services{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:start;padding-block:30px 90px}.v7-event-services h2{font-size:56px;margin-top:20px}.v7-event-services ul{padding:0;margin:0;list-style:none;counter-reset:service}.v7-event-services li{counter-increment:service;border-top:1px solid var(--line);padding:20px 0;font-size:22px;display:flex;gap:25px}.v7-event-services li:before{content:'0' counter(service);font-size:13px;color:#7c949f;padding-top:5px}
.v7-event-invite{background:#092f46;color:#fff;padding:70px;text-align:center}.v7-event-invite h2{font-size:clamp(44px,5.5vw,80px);max-width:950px;margin:25px auto}.v7-event-invite p{max-width:650px;margin:auto;color:#d0dfe6}.v7-event-invite .v7-actions{justify-content:center}.v7-event-invite .soft-btn{background:#fff;color:#092f46}
/* Gallery: image-led collection and keyboard-accessible viewer. */
.page-hero-gallery .page-hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:0 7vw;align-items:end}.page-hero-gallery .section-kicker{grid-column:1/-1}.page-hero-gallery h1{font-size:clamp(62px,8vw,125px)}
.v7-gallery-bar{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:28px;margin-bottom:25px;border-bottom:1px solid var(--line)}
.v7-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:dense;grid-auto-rows:285px;gap:20px}.v7-photo{position:relative;overflow:hidden;border:0;background:#e4edf1;padding:0;cursor:pointer;text-align:left}.v7-photo:nth-child(7n+1){grid-column:span 2;grid-row:span 2}.v7-photo:nth-child(7n+5){grid-row:span 2}.v7-photo img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.v7-photo:hover img{transform:scale(1.04)}.v7-photo>span{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:45px 23px 22px;color:#fff;background:linear-gradient(transparent,#00131ecc);font-size:18px}.v7-photo b{font-weight:500}.v7-photo i{font-style:normal;font-size:24px}.v7-photo[hidden]{display:none}
.v7-lightbox{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;background:#071925;color:#fff;border:0;margin:0;padding:60px 90px;overflow:hidden}.v7-lightbox::backdrop{background:#071925}.v7-lightbox[open]{display:grid;place-items:center}.v7-lightbox figure{margin:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0}.v7-lightbox img{max-width:100%;max-height:calc(100% - 55px);object-fit:contain}.v7-lightbox figcaption{padding-top:18px;font-size:17px;text-align:center}.v7-lightbox button{position:absolute;background:transparent;color:#fff;border:1px solid #6c8593;width:48px;height:48px;font-size:25px;cursor:pointer}.v7-lb-close{top:18px;right:20px}.v7-lb-prev{left:20px;top:50%}.v7-lb-next{right:20px;top:50%}
/* Contact: direct, calm and service-led. */
.page-hero-contact .page-hero-inner>p{max-width:750px}.page-hero-contact h1{font-size:clamp(58px,6vw,90px)}
.v7-contact-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:end;margin:10px 0 70px}.v7-contact-intro h2{font-size:clamp(48px,5.2vw,78px);line-height:1.02;margin-top:18px}.v7-contact-intro em{color:#4e7b91}.v7-contact-intro>p{font-size:20px;color:var(--muted);max-width:590px;padding-bottom:8px}
.v7-contact-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:85px}.v7-contact-methods>a{min-height:195px;padding:25px 28px 24px 0;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--line)}.v7-contact-methods>a:not(:first-child){padding-left:28px}.v7-contact-methods>a:last-child{border-right:0}.v7-contact-methods small{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#658194}.v7-contact-methods strong{font-size:clamp(21px,2vw,29px);font-weight:500;line-height:1.15;overflow-wrap:anywhere}.v7-contact-methods span{font-size:14px;color:var(--muted)}.v7-contact-methods>a:hover strong{color:#376d87}
.v7-contact-layout{display:grid;grid-template-columns:1.05fr .95fr;background:#092f46;margin-bottom:20px}.v7-contact-form{padding:clamp(38px,5vw,70px);background:#edf3f5;border-radius:0}.v7-contact-form h2{font-size:clamp(38px,4vw,55px);margin:18px 0 34px}.v7-contact-form input,.v7-contact-form textarea{border-radius:0;background:#fff!important;padding:16px!important;font-size:17px!important;border-color:#cbd7dc!important}.v7-contact-form textarea{min-height:185px}.v7-contact-form label{font-size:15px!important;text-transform:none!important;letter-spacing:0!important}.v7-contact-form button{border-radius:0;font-size:14px;padding:17px 26px;background:#092f46}.v7-form-privacy{grid-column:1/-1;font-size:14px!important;color:var(--muted)}.v7-form-privacy a{text-decoration:underline}.v7-contact-form .form-status{border-radius:0}.form-status-error{color:#8e2727;background:#fff0ed}.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}
.v7-contact-stay{position:relative;color:#fff;min-height:100%;display:flex;flex-direction:column}.v7-contact-stay>img{width:100%;height:48%;min-height:310px;object-fit:cover}.v7-contact-stay>div{padding:clamp(35px,4vw,58px);flex:1;display:flex;flex-direction:column;justify-content:center}.v7-contact-stay h2{font-size:clamp(43px,4.4vw,64px);line-height:1.03;margin:22px 0}.v7-contact-stay em{color:#a9ccdb}.v7-contact-stay p{color:#d0dfe6}.v7-contact-links{display:flex;flex-direction:column;align-items:start;margin-top:14px}.v7-contact-links .text-link{margin-top:17px;color:#fff;border-color:rgba(255,255,255,.28)}
/* Contact V8: editorial introduction, cinematic hotel image and focused enquiry form. */
.page-main-contact{padding-top:20px}.v8-contact-intro{margin:0 0 75px}.v8-contact-intro>span{display:block;margin-bottom:24px}.v8-contact-intro>div{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:end}.v8-contact-intro h2{font-size:clamp(52px,5.5vw,84px);line-height:.98;letter-spacing:-.045em}.v8-contact-intro h2 em{color:#4e7b91}.v8-contact-intro p{font-size:20px;color:var(--muted);max-width:570px;padding-bottom:7px}
.v8-contact-stage{display:grid;grid-template-columns:1.02fr .98fr;min-height:790px;margin-bottom:0;background:#092f46}.v8-contact-visual{position:relative;min-height:790px;overflow:hidden}.v8-contact-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.v8-contact-visual:after{content:'';position:absolute;inset:25% 0 0;background:linear-gradient(transparent,rgba(2,21,31,.88))}.v8-contact-visual-copy{position:absolute;z-index:1;left:clamp(28px,4vw,65px);right:clamp(28px,4vw,65px);bottom:clamp(35px,5vw,70px);color:#fff}.v8-contact-visual-copy>span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.14em;margin-bottom:20px}.v8-contact-visual-copy strong{font-size:clamp(40px,4.5vw,68px);line-height:1.01;font-weight:500;letter-spacing:-.04em}.v8-contact-visual-copy em{color:#b5d7e5}
.v8-contact-form{padding:clamp(45px,5.5vw,78px);background:#edf3f5;border-radius:0}.v8-contact-form h2{font-size:clamp(40px,4vw,58px);margin:18px 0 38px}.v8-contact-form form{gap:18px 14px}.v8-contact-form input,.v8-contact-form textarea{border-radius:0!important;background:#fff!important;padding:16px!important;font-size:17px!important;border-color:#c7d3d8!important}.v8-contact-form textarea{min-height:190px}.v8-contact-form label{font-size:14px!important;text-transform:none!important;letter-spacing:0!important}.v8-contact-form button{border-radius:0!important;font-size:14px!important;padding:17px 27px!important;background:#092f46!important}.v8-contact-form .form-status{border-radius:0}
.v8-contact-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#fff;border-bottom:1px solid var(--line);margin-bottom:100px}.v8-contact-methods>a{min-height:215px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--line)}.v8-contact-methods>a:last-child{border-right:0}.v8-contact-methods small{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#648193}.v8-contact-methods strong{font-size:clamp(21px,2vw,29px);font-weight:500;line-height:1.15;overflow-wrap:anywhere}.v8-contact-methods span{font-size:14px;color:var(--muted)}.v8-contact-methods>a:hover{background:#f3f7f8}.v8-contact-methods>a:hover strong{color:#376d87}
.v8-contact-route{display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;align-items:end;background:#092f46;color:#fff;padding:clamp(45px,6vw,85px);margin-bottom:20px}.v8-contact-route h2{font-size:clamp(43px,4.7vw,70px);line-height:1.02;margin-top:20px}.v8-contact-route h2 em{color:#a9ccdb}.v8-contact-route>div:last-child>p{font-size:19px;color:#d0dfe6}.v8-contact-links{display:flex;flex-direction:column;align-items:start;margin-top:25px}.v8-contact-links .text-link{margin-top:13px;color:#fff;border-color:rgba(255,255,255,.3)}
/* Remaining pages: retain their bespoke content while changing silhouette and rhythm. */
.page-hero-hotel{height:86svh;min-height:660px}.v5-hotel-opening{gap:6vw}.v5-hotel-statement h2{line-height:1.01;font-size:clamp(48px,5.6vw,88px)}.v5-hotel-area{background:#092f46}.v5-hotel-area h2{line-height:1.02}.v5-sustain{background:#edf3f5}.v5-fact span{font-size:13px}.v5-image-card small,.v5-image-card span{font-size:13px}.v5-image-card p{font-size:17px}

/* Hotel location story — full-bleed editorial treatment */
.page-main-hotel .v5-hotel-area{
 width:100vw;
 max-width:none;
 margin:clamp(110px,12vw,190px) 0;
 margin-left:calc(50% - 50vw);
 padding:clamp(78px,8vw,138px) max(24px,calc((100vw - 1280px)/2));
 background:#f1ede5;
 color:#17352f;
 overflow:hidden;
}

/* Keep the room categories in the same editorial order site-wide. */
.v5-room-showcase{display:flex;flex-direction:column}
.v5-room-showcase>a[href*="double-deluxe"]{order:1}
.v5-room-showcase>a[href*="junior-suite"]{order:2}
.v5-room-showcase>a[href*="family-suite"]{order:3}
.page-main-hotel .v5-hotel-area:before{
 right:-8vw;
 top:-25vw;
 width:58vw;
 height:58vw;
 border-color:rgba(23,53,47,.08);
 box-shadow:0 0 0 7vw rgba(23,53,47,.025),0 0 0 14vw rgba(23,53,47,.018);
}
.page-main-hotel .v5-hotel-area-head{
 grid-template-columns:minmax(0,1.12fr) minmax(320px,.72fr);
 gap:clamp(50px,9vw,150px);
 align-items:end;
 max-width:1280px;
 margin:0 auto clamp(48px,6vw,82px);
}
.page-main-hotel .v5-hotel-area-head .section-kicker{color:#9b7551}
.page-main-hotel .v5-hotel-area-head .section-kicker:before{background:#9b7551}
.page-main-hotel .v5-hotel-area-head h2{color:#17352f;font-size:clamp(54px,6.6vw,106px)}
.page-main-hotel .v5-hotel-area-head h2 em{color:#9b7551}
.page-main-hotel .v5-hotel-area-head p{color:#526660;font-size:clamp(17px,1.3vw,20px)}
.page-main-hotel .v5-hotel-area-grid{
 grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);
 gap:clamp(12px,1.3vw,20px);
 max-width:1480px;
 margin:0 auto;
 align-items:stretch;
}
.page-main-hotel .v5-area-card{background:#17352f;min-height:clamp(510px,52vw,720px)}
.page-main-hotel .v5-area-card.nature{margin-top:clamp(48px,6vw,92px);min-height:clamp(440px,44vw,625px)}
.page-main-hotel .v5-area-card:after{background:linear-gradient(0deg,rgba(10,29,25,.9) 0%,rgba(10,29,25,.08) 70%)}
.page-main-hotel .v5-area-card small{color:rgba(255,255,255,.68)}
.page-main-hotel .v5-area-card p{color:rgba(255,255,255,.82)}
.page-main-hotel .v5-area-facts{
 max-width:1280px;
 margin:clamp(48px,6vw,82px) auto 0;
 border-color:rgba(23,53,47,.16);
}
.page-main-hotel .v5-area-facts>div{border-color:rgba(23,53,47,.16)}
.page-main-hotel .v5-area-facts strong{color:#17352f}
.page-main-hotel .v5-area-facts span{color:#687973}
.page-main-hotel .v5-area-actions{max-width:1280px;margin:32px auto 0}
.page-main-hotel .v5-hotel-area .soft-btn{border-color:rgba(23,53,47,.3);color:#17352f}
.page-main-hotel .v5-hotel-area .soft-btn:hover{background:#17352f;color:#fff;border-color:#17352f}
@media(max-width:900px){
 .page-main-hotel .v5-hotel-area{width:100vw;margin-left:calc(50% - 50vw);padding:70px 20px}
 .page-main-hotel .v5-hotel-area-head{grid-template-columns:1fr;gap:26px}
 .page-main-hotel .v5-hotel-area-grid{grid-template-columns:1fr}
 .page-main-hotel .v5-area-card,.page-main-hotel .v5-area-card.nature{min-height:500px;margin-top:0}
}
@media(max-width:560px){
 .page-main-hotel .v5-hotel-area{padding:58px 16px}
 .page-main-hotel .v5-hotel-area-head h2{font-size:clamp(43px,13vw,58px)}
 .page-main-hotel .v5-area-card,.page-main-hotel .v5-area-card.nature{min-height:430px}
 .page-main-hotel .v5-area-facts>div{border-color:rgba(23,53,47,.16)}
 .page-main-hotel .v5-area-facts>div:nth-child(-n+2){border-bottom-color:rgba(23,53,47,.16)}
}
/* Hotel sustainability — retain the design with a tighter, calmer footprint. */
.page-main-hotel .v5-sustain{
 padding:clamp(42px,4.5vw,68px);
 gap:clamp(35px,4.5vw,70px);
 align-items:start;
}
.page-main-hotel .v5-sustain h2{
 font-size:clamp(42px,4vw,64px);
 line-height:.96;
 margin-top:14px;
}
.page-main-hotel .v5-sustain-items div{padding:18px 20px}
.page-main-hotel .v5-sustain-items strong{font-size:26px}
.page-main-hotel .v5-sustain>p{margin-top:-18px;font-size:14px;line-height:1.55}
@media(max-width:820px){
 .page-main-hotel .v5-sustain{gap:30px;padding:42px 30px}
 .page-main-hotel .v5-sustain>p{margin-top:0}
}
@media(max-width:560px){
 .page-main-hotel .v5-sustain{padding:35px 22px}
 .page-main-hotel .v5-sustain h2{font-size:40px}
 .page-main-hotel .v5-sustain-items div{padding:15px 4px}
}
.v5-card-grid-hotel{gap:0}.v5-card-grid-hotel .v5-image-card{outline:1px solid rgba(255,255,255,.18);outline-offset:-1px}.v5-sustain>.soft-btn{grid-column:2;justify-self:start;margin-top:8px}
/* Environment: the technical story is visual, precise and easy to scan. */
.page-main-environment{padding-top:25px}.v7-env-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:7vw;align-items:end;margin-bottom:110px}.v7-env-intro h2{font-size:clamp(48px,5vw,78px);margin-top:18px}.v7-env-intro>p{color:var(--muted);font-size:20px}.v7-env-heading{display:grid;grid-template-columns:70px 1fr;gap:30px;max-width:900px;margin-bottom:45px}.v7-env-heading>span{font-size:44px;color:#91aab5;font-weight:300}.v7-env-heading h2{font-size:clamp(42px,4.5vw,68px);margin:12px 0 20px}.v7-env-heading p{color:var(--muted)}.v7-equipment-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;margin-bottom:120px}.v7-equipment-card{grid-column:span 4;border-top:1px solid var(--line);padding-top:16px}.v7-equipment-card:nth-child(1),.v7-equipment-card:nth-child(2){grid-column:span 6}.v7-equipment-image{height:300px;background:#edf3f5;position:relative;display:grid;place-items:center;overflow:hidden}.v7-equipment-card:nth-child(-n+2) .v7-equipment-image{height:390px}.v7-equipment-image img{width:70%;height:70%;object-fit:contain}.v7-equipment-image span{position:absolute;top:17px;left:18px;font-size:13px;color:var(--muted)}.v7-equipment-card>div:last-child{padding:25px 4px}.v7-equipment-card small{color:#52798d;text-transform:uppercase;letter-spacing:.1em}.v7-equipment-card h3{font-size:31px;margin:12px 0}.v7-equipment-card p{font-size:16px;color:var(--muted)}.v7-env-management{background:#092f46;color:#fff;padding:clamp(45px,7vw,90px);display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;margin-bottom:20px}.v7-env-management h2{font-size:clamp(44px,4.6vw,72px);margin-top:18px}.v7-env-management p{color:rgba(255,255,255,.7)}.v7-env-management ul{list-style:none;padding:0;margin:28px 0 0;border-top:1px solid rgba(255,255,255,.18)}.v7-env-management li{padding:17px 0;border-bottom:1px solid rgba(255,255,255,.18);font-size:17px}
/* Legal pages: calm reading column with persistent section navigation. */
:is(.page-main-privacy-policy,.page-main-cookie-policy,.page-main-terms-of-use,.page-main-complaints-suggestions,.page-main-whistleblowing-channel){padding-top:25px}.v7-legal-layout{display:grid;grid-template-columns:280px minmax(0,790px);gap:8vw;align-items:start;margin-bottom:100px}.v7-legal-index{position:sticky;top:115px;padding-top:8px}.v7-legal-index>p{font-size:15px;color:var(--muted);margin:18px 0 28px}.v7-legal-index nav{border-top:1px solid var(--line)}.v7-legal-index nav a{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line);font-size:14px}.v7-legal-copy article{border-top:1px solid var(--line);padding:35px 0 42px}.v7-legal-copy article:first-child{border-top:3px solid #092f46}.v7-legal-copy h2{font-size:clamp(29px,3vw,42px);margin-bottom:20px}.v7-legal-copy p{color:var(--muted)}.v7-legal-copy>.soft-btn{display:inline-flex;margin-top:15px;background:#092f46;color:#fff;border-color:#092f46}
.page-hero-pool{height:62svh;min-height:520px}.v5-pool-number strong{font-size:clamp(90px,12vw,185px)}.v5-pool-photo{height:650px}.v5-pool-split>div{background:#edf3f5}.v5-pool-split>div:nth-child(2){background:#092f46}
/* Pool V9 — image-led, relaxed and connected to the Atlantic. */
.page-main-pool{padding-top:clamp(75px,8vw,125px)}
.v9-pool-intro{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(55px,8vw,130px);align-items:end;margin-bottom:clamp(65px,7vw,105px)}
.v9-pool-intro h2{font-size:clamp(54px,6.3vw,100px);line-height:.92;letter-spacing:-.055em;font-weight:500;margin:20px 0 0}.v9-pool-intro h2 em{font-weight:300;color:#4e7b91}.v9-pool-intro>div:last-child>p{font-size:clamp(18px,1.35vw,21px);line-height:1.68;color:var(--muted);margin:0 0 30px}.v9-pool-intro ul{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.v9-pool-intro li{padding:13px 0;border-bottom:1px solid var(--line);font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:#476677}
.v9-pool-hero{position:relative;height:min(70vw,850px);min-height:620px;overflow:hidden;margin-bottom:clamp(100px,11vw,170px);color:#fff}.v9-pool-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.v9-pool-hero:after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,rgba(3,28,39,.82))}.v9-pool-hero>div{position:absolute;z-index:1;left:clamp(28px,5vw,78px);bottom:clamp(32px,5vw,72px)}.v9-pool-hero small{font-size:11px;letter-spacing:.16em;text-transform:uppercase}.v9-pool-hero h2{font-size:clamp(52px,6.3vw,98px);line-height:.92;letter-spacing:-.05em;font-weight:500;margin:18px 0 0}.v9-pool-hero h2 em{font-weight:300;color:#c2e3ef}
.v9-pool-editorial{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(45px,8vw,125px);align-items:center;margin-bottom:clamp(100px,11vw,170px)}.v9-pool-tall{position:relative;height:min(63vw,760px);min-height:570px;overflow:hidden}.v9-pool-tall img{width:100%;height:100%;object-fit:cover}.v9-pool-tall span{position:absolute;left:18px;bottom:18px;background:rgba(7,39,53,.8);color:#fff;padding:10px 13px;font-size:10px;letter-spacing:.11em;text-transform:uppercase}.v9-pool-editorial article h2{font-size:clamp(47px,4.7vw,76px);line-height:.96;letter-spacing:-.05em;font-weight:500;margin:20px 0 28px}.v9-pool-editorial article h2 em{font-weight:300;color:#4e7b91}.v9-pool-editorial article p{font-size:18px;line-height:1.7;color:var(--muted);margin-bottom:32px;max-width:540px}
.v9-pool-coast{display:grid;grid-template-columns:1.25fr .75fr;min-height:650px;margin-bottom:20px;background:#092f46;color:#fff}.v9-pool-coast>div{position:relative;min-height:650px;overflow:hidden}.v9-pool-coast>div img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.v9-pool-coast article{padding:clamp(42px,5vw,75px);display:flex;flex-direction:column;justify-content:center}.v9-pool-coast article>strong{font-size:clamp(58px,6vw,90px);font-weight:300;line-height:1;letter-spacing:-.05em;margin:35px 0 8px}.v9-pool-coast h2{font-size:clamp(38px,3.6vw,58px);line-height:1;margin:0 0 25px}.v9-pool-coast p{font-size:17px;line-height:1.65;color:#cedce3;margin:0 0 28px}.v9-pool-coast .text-link{color:#fff;border-color:rgba(255,255,255,.35);align-self:flex-start}
@media(max-width:900px){.v9-pool-intro,.v9-pool-editorial,.v9-pool-coast{grid-template-columns:1fr}.v9-pool-intro{gap:35px}.v9-pool-hero{height:72vh;min-height:580px}.v9-pool-editorial{gap:42px}.v9-pool-tall{height:67vh;min-height:520px}.v9-pool-coast>div{min-height:530px}.v9-pool-coast article{min-height:440px}}
@media(max-width:560px){.page-main-pool{padding-top:58px}.v9-pool-intro h2{font-size:49px}.v9-pool-hero{height:68vh;min-height:520px;margin-left:-20px;margin-right:-20px}.v9-pool-hero h2{font-size:48px}.v9-pool-tall{height:58vh;min-height:450px}.v9-pool-editorial article h2{font-size:45px}.v9-pool-coast{margin-left:-20px;margin-right:-20px}.v9-pool-coast>div{min-height:390px}.v9-pool-coast article{padding:42px 25px;min-height:410px}}
.page-hero-restaurant{height:80svh;min-height:620px}.page-hero-restaurant .page-hero-inner{max-width:780px}.v5-dining-intro h2{line-height:1.01;font-size:clamp(48px,6vw,90px)}.v5-dining-quote{background:#edf3f5}.v5-dining-gallery{gap:25px;grid-template-rows:440px 270px}
.page-hero-bar{height:70svh;min-height:580px}.v5-bar-stage{background:#092f46}.v5-bar-copy h2{line-height:1.03}.v5-bar-three{padding-block:35px}
.page-hero-spa{height:65svh;min-height:570px}.v5-spa-opening{gap:9vw}.v5-spa-time{background:#edf3f5}.v5-treatment-grid{gap:0;border-top:1px solid var(--line)}.v5-treatment{background:#fff;border-bottom:1px solid var(--line);padding:32px}.v5-spa-photo{margin-top:60px}
.page-hero-beach{height:85svh;min-height:640px}.v5-coastline{background:#092f46;color:#fff;padding:40px}.v5-coastline strong{color:#fff}.v5-beach-editorial{margin-top:65px}
.page-hero-experiences-golf{height:70svh;min-height:580px}.page-hero-experiences-hiking{height:80svh;min-height:620px}.page-hero-experiences-diving{height:60svh;min-height:540px}.page-hero-experiences-boat-trips{height:76svh;min-height:590px}.page-hero-experiences-live-entertainment{height:58svh;min-height:520px}
:is(.route-rooms-junior-suite,.route-rooms-double-deluxe,.route-rooms-family-suite) .page-hero{height:60svh;min-height:530px}
:is(.route-rooms-junior-suite,.route-rooms-double-deluxe,.route-rooms-family-suite) .page-hero h1{font-size:clamp(48px,5.5vw,86px)}
.v5-room-detail-hero{gap:6vw}.v5-room-detail-copy h2{font-size:clamp(42px,4.2vw,66px);line-height:1.03}.v5-room-amenities{background:#edf3f5}.v5-room-bigfacts span{font-size:12px}
.route-rooms-junior-suite .v5-room-detail-image,.route-rooms-family-suite .v5-room-detail-image{height:590px}.route-rooms-double-deluxe .v5-room-detail-image{height:540px}.v5-room-detail-image img{object-position:center center}
.v10-room-gallery{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:520px;margin:-55px 0 clamp(95px,10vw,155px);gap:22px}.v10-room-gallery figure{position:relative;margin:0;overflow:hidden;background:#e7edef}.v10-room-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}.v10-room-gallery figure:hover img{transform:scale(1.025)}.v10-room-gallery-main img{object-position:center center}.v10-room-gallery-view img{object-position:center center}.v10-room-gallery-double .v10-room-gallery-main img{object-position:center 52%}.v10-room-gallery-junior .v10-room-gallery-view img{object-position:center 45%}.v10-room-gallery figcaption{position:absolute;left:18px;bottom:18px;padding:10px 13px;background:rgba(7,39,53,.82);color:#fff;font-size:10px;line-height:1.2;letter-spacing:.11em;text-transform:uppercase}
@media(max-width:820px){:is(.route-rooms-double-deluxe,.route-rooms-junior-suite,.route-rooms-family-suite) .v5-room-detail-image{height:480px}.v10-room-gallery{grid-template-columns:1fr;grid-template-rows:460px 330px;margin-top:-30px}}
@media(max-width:560px){:is(.route-rooms-double-deluxe,.route-rooms-junior-suite,.route-rooms-family-suite) .v5-room-detail-image{height:430px}.v10-room-gallery{grid-template-rows:390px 255px;gap:12px;margin-top:-15px}.v10-room-gallery figcaption{left:12px;bottom:12px}}
.page-hero-about{height:68svh;min-height:570px}.page-hero-careers{height:78svh;min-height:600px}.page-hero-working-at-orca-praia{height:63svh;min-height:550px}.page-hero-offers{height:58svh;min-height:530px}.v5-practical-address{background:#092f46}.v5-practical-card{background:#edf3f5}.v5-faq-list details{border-radius:0;background:#fff;border-bottom:1px solid var(--line)}
@media(min-width:1600px){.page-main>.content{max-width:1450px}}
/* Location: arrival guide between city, coast and island. */
.page-hero-location{height:68svh!important;min-height:580px!important;padding:0!important;color:#fff!important;background:#092f46!important}.page-hero-location :is(.page-hero-bg,.page-hero-shade){display:block!important}.page-hero-location .page-hero-bg{background-position:center 43%}.page-hero-location .page-hero-shade{background:linear-gradient(90deg,rgba(0,22,34,.78),rgba(0,22,34,.18))}.page-hero-location .page-hero-inner{position:absolute!important;inset:auto auto 65px var(--pad)!important;max-width:970px!important}.page-hero-location .page-hero-inner p{color:rgba(255,255,255,.8)!important}.page-hero-location .section-kicker{color:#fff!important}.page-hero-location .page-breadcrumb{color:rgba(255,255,255,.75)!important;top:125px}.page-main-location{padding-top:80px!important}
.v8-location-opening{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:end;margin-bottom:100px}.v8-location-opening h2{font-size:clamp(52px,5.8vw,88px);line-height:.99;margin-top:20px}.v8-location-opening h2 em{color:#4e7b91}.v8-location-opening>p{font-size:20px;color:var(--muted);padding-bottom:8px}
.v8-location-address{display:grid;grid-template-columns:.76fr 1.24fr;background:#092f46;color:#fff;margin-bottom:110px}.v8-location-address-copy{padding:clamp(45px,6vw,85px);display:flex;flex-direction:column;justify-content:center}.v8-location-address-copy h2{font-size:clamp(45px,4.5vw,68px);line-height:1.02;margin:25px 0}.v8-location-address-copy>p{font-size:19px;color:#d0dfe6}.v8-location-address-links{display:flex;flex-direction:column;align-items:flex-start;margin-top:30px}.v8-location-address-links a{padding:11px 0;border-bottom:1px solid rgba(255,255,255,.24)}.v8-location-image{position:relative;min-height:610px}.v8-location-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.v8-location-image span{position:absolute;right:20px;bottom:18px;padding:9px 12px;background:rgba(3,28,42,.72);font-size:12px;letter-spacing:.08em}
.v8-location-times{display:grid;grid-template-columns:.72fr 1.28fr;gap:7vw;margin-bottom:115px}.v8-location-times header h2{font-size:clamp(48px,5vw,74px);line-height:1.02;margin-top:20px}.v8-location-times header em{color:#4e7b91}.v8-location-time-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.v8-location-time-grid>div{min-height:205px;padding:26px 25px 22px 0;border-bottom:1px solid var(--line)}.v8-location-time-grid>div:nth-child(odd){border-right:1px solid var(--line)}.v8-location-time-grid>div:nth-child(even){padding-left:25px}.v8-location-time-grid strong{display:block;font-size:44px;font-weight:400;color:#315f76}.v8-location-time-grid span{display:block;font-size:22px;margin:12px 0 4px}.v8-location-time-grid small{color:var(--muted);font-size:14px}
.v8-location-balance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:115px}.v8-location-balance article{border-top:1px solid var(--line)}.v8-location-balance article:nth-child(2){margin-top:70px}.v8-location-balance img{width:100%;height:390px;object-fit:cover}.v8-location-balance article>div{padding:24px 5px}.v8-location-balance small{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#648193}.v8-location-balance h3{font-size:35px;margin:13px 0}.v8-location-balance p{font-size:16px;color:var(--muted)}
.v8-location-practical{display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw;background:#092f46;color:#fff;padding:clamp(45px,6vw,85px);margin-bottom:20px}.v8-location-practical h2{font-size:clamp(43px,4.7vw,70px);line-height:1.02;margin-top:20px}.v8-location-practical h2 em{color:#a9ccdb}.v8-location-facts{border-top:1px solid rgba(255,255,255,.22)}.v8-location-facts p{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:0;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.22)}.v8-location-facts span{color:#a9bdc7}.v8-location-facts strong{font-weight:500}.v8-location-advice{grid-column:2}.v8-location-advice>p{color:#d0dfe6}.v8-location-advice .soft-btn{margin-top:22px;background:#fff;color:#092f46;border-color:#fff}
@media(max-width:1100px){
.v7-explorer-toolbar{display:block}.v7-explorer-toolbar .v7-filter-bar{margin-top:18px}.v7-search-label input{max-width:380px}
.v7-explorer-layout{grid-template-columns:minmax(0,1fr) 310px}.v7-poi-directory{grid-template-columns:1fr 1fr}.v7-weather{padding:30px}.v7-weather-days{grid-template-columns:repeat(4,1fr)}
.v7-suite{gap:35px}.v7-suite-photo{height:560px}.v7-suite-copy h2{font-size:50px}.v7-suite-copy h3{font-size:23px}.v7-room-nav a{font-size:19px;gap:15px}
.v7-event-wedding article{padding:35px}.v7-event-wedding>div{min-height:600px}.v7-contact-form{padding:40px}
.v8-location-address{grid-template-columns:.9fr 1.1fr}.v8-location-times{grid-template-columns:1fr;gap:45px}
}
@media(max-width:820px){
.page-main{padding-top:60px}.page-hero h1{font-size:clamp(45px,8vw,65px);line-height:1.03}.page-hero p{font-size:18px}.page-hero-inner{bottom:45px}
.page-hero{min-height:560px;height:75svh}.page-breadcrumb{top:102px}
:is(.page-hero-discover-madeira,.page-hero-gallery,.page-hero-contact,.page-hero-location,.page-hero-faq,.page-hero-book,.page-hero-privacy-policy,.page-hero-cookie-policy,.page-hero-terms-of-use,.page-hero-complaints-suggestions,.page-hero-vacancies){height:auto;min-height:0;padding:150px var(--pad) 35px}
:is(.page-hero-discover-madeira,.page-hero-gallery,.page-hero-contact,.page-hero-location,.page-hero-faq,.page-hero-book,.page-hero-privacy-policy,.page-hero-cookie-policy,.page-hero-terms-of-use,.page-hero-complaints-suggestions,.page-hero-vacancies) .page-breadcrumb{top:108px}
.page-hero-gallery .page-hero-inner{display:block}.page-hero-gallery h1{font-size:70px}
:is(.page-main-discover-madeira,.page-main-gallery,.page-main-contact,.page-main-faq,.page-main-book,.page-main-rooms){padding-top:0}
.v7-room-nav{margin-bottom:50px;overflow:auto;justify-content:start;gap:25px}.v7-room-nav a{display:block;white-space:nowrap;font-size:18px}.v7-room-nav span{display:block;margin-top:7px}
.v7-suite,.v7-suite-1{grid-template-columns:1fr;gap:30px;margin-bottom:70px}.v7-suite-1 .v7-suite-photo{order:0}.v7-suite-photo,.v7-suite-1 .v7-suite-photo,.v7-suite-2 .v7-suite-photo{height:480px}.v7-suite-copy h2{font-size:50px}.v7-compare{grid-template-columns:1fr;padding:30px;gap:25px}.v7-compare h2{font-size:40px}
.v7-jump-nav{flex-wrap:wrap;margin-bottom:55px}.v7-jump-nav a{width:calc(50% - 15px);font-size:15px}.v7-chapter-head{grid-template-columns:45px 1fr;gap:18px}.v7-chapter-number{font-size:35px}.v7-chapter-head h2{font-size:40px}.v7-chapter-head p{grid-column:2}.v7-place-cards{grid-template-columns:1fr;gap:30px}.v7-place-card{display:grid;grid-template-columns:1fr 1fr;gap:22px}.v7-place-photo,#nature .v7-place-photo{height:330px}.v7-place-copy{padding-top:0}.v7-place-copy h3{font-size:29px}.v7-place-copy p{font-size:16px}#city .v7-place-card:nth-child(2){padding-top:0}.v7-experience-chapter{margin-bottom:70px}.v7-trail-note{padding:25px}.v7-more-experiences h2{font-size:36px}
.v7-explorer-layout{grid-template-columns:1fr}.v7-map-wrap{min-height:460px}.v7-poi-panel{max-height:none;border-top:1px solid var(--line)}#poi-detail img{width:200px;height:160px;float:left;margin:0 25px 15px 0}#poi-detail{display:flow-root}.v7-poi-directory{grid-template-columns:1fr 1fr}.v7-poi-directory button{grid-template-columns:25px 1fr}.v7-poi-directory small{grid-column:2}.v7-poi-list-head h2{font-size:28px}.v7-weather-head{display:block}.v7-weather-head label{display:block;margin-top:25px}.v7-weather-head h2{font-size:37px}.v7-weather-days{grid-template-columns:repeat(4,1fr)}.map-expanded .v7-explorer-layout{height:auto}.map-expanded .v7-map-wrap{min-height:55dvh}
.v7-event-intro{grid-template-columns:1fr;gap:40px;margin-bottom:60px}.v7-event-intro>img{width:200px;margin:0}.v7-event-intro h2{font-size:46px}.v7-event-wedding{grid-template-columns:1fr}.v7-event-wedding>div{min-height:0;height:470px}.v7-event-wedding article{padding:35px}.v7-event-wedding h2{font-size:48px}.v7-event-pair{gap:25px;margin-bottom:60px}.v7-event-pair img{height:300px}.v7-event-pair article:nth-child(2){padding-top:0}.v7-event-pair h3{font-size:31px}.v7-event-services{grid-template-columns:1fr;gap:30px;padding-bottom:60px}.v7-event-services h2{font-size:45px}.v7-event-invite{padding:40px 25px}
.v7-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:230px;gap:14px}.v7-photo:nth-child(7n+1){grid-column:span 2;grid-row:span 2}.v7-gallery-bar{align-items:start}.v7-lightbox{padding:70px 55px}.v7-lightbox button{width:38px;height:38px}.v7-lb-prev{left:8px}.v7-lb-next{right:8px}
.v7-contact-intro{grid-template-columns:1fr;gap:25px;margin-bottom:50px}.v7-contact-methods{grid-template-columns:1fr}.v7-contact-methods>a,.v7-contact-methods>a:not(:first-child){min-height:150px;padding:24px 0;border-right:0;border-bottom:1px solid var(--line)}.v7-contact-methods>a:last-child{border-bottom:0}.v7-contact-layout{grid-template-columns:1fr}.v7-contact-stay>img{height:390px}.v7-contact-stay>div{padding:40px 35px}
.v8-contact-intro>div{grid-template-columns:1fr;gap:25px}.v8-contact-stage{grid-template-columns:1fr;min-height:0}.v8-contact-visual{min-height:620px}.v8-contact-methods{grid-template-columns:1fr}.v8-contact-methods>a{min-height:155px;border-right:0;border-bottom:1px solid var(--line)}.v8-contact-methods>a:last-child{border-bottom:0}.v8-contact-route{grid-template-columns:1fr;gap:35px}
.page-hero-location{height:65svh!important;min-height:520px!important;padding:0!important}.page-hero-location .page-hero-inner{inset:auto 20px 45px 20px!important}.v8-location-opening{grid-template-columns:1fr;gap:28px;margin-bottom:70px}.v8-location-address{grid-template-columns:1fr}.v8-location-image{min-height:470px}.v8-location-times{margin-bottom:80px}.v8-location-balance{grid-template-columns:1fr 1fr}.v8-location-balance article:nth-child(2){margin-top:0}.v8-location-balance article:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:25px}.v8-location-balance article:last-child>div{padding-top:24px}.v8-location-practical{grid-template-columns:1fr;gap:45px}.v8-location-advice{grid-column:auto}
:is(.route-rooms-double-deluxe,.route-rooms-junior-suite,.route-rooms-family-suite) .v5-room-detail-hero{grid-template-columns:1fr}.v5-room-detail-image,.route-rooms-junior-suite .v5-room-detail-image,.route-rooms-double-deluxe .v5-room-detail-image{height:460px}.v5-pool-photo{height:520px}.v5-dining-gallery{grid-template-rows:400px 250px}.booking-cta{padding:32px}
}
@media(max-width:560px){
.v7-place-card{grid-template-columns:1fr;gap:20px}.v7-place-photo,#nature .v7-place-photo{height:320px}.v7-place-copy{padding-bottom:25px}.v7-chapter-head h2{font-size:36px}.v7-more-experiences{grid-template-columns:1fr}.v7-more-experiences a{font-size:22px}.v7-suite-photo,.v7-suite-1 .v7-suite-photo,.v7-suite-2 .v7-suite-photo{height:390px}.v7-suite-copy h2{font-size:45px}.v7-compare{padding:25px 15px}.v7-compare table{font-size:15px}.v7-compare td,.v7-compare th{padding:16px 10px}
.v7-explorer-toolbar{padding:18px}.v7-filter-bar button{font-size:13px;padding:10px 12px}.v7-map-controls{left:10px;top:10px;gap:5px}.v7-map-controls button{font-size:12px;padding:8px}.v7-map-wrap{min-height:410px}#poi-detail{padding:25px}#poi-detail img{float:none;width:calc(100% + 50px);max-width:none;margin:-25px -25px 25px;height:210px}.v7-poi-directory{grid-template-columns:1fr}.v7-poi-directory button{grid-template-columns:30px 1fr auto}.v7-poi-directory small{grid-column:auto}.v7-weather{padding:28px 20px}.v7-weather-days{grid-template-columns:repeat(2,1fr)}.v7-weather-day:last-child{grid-column:1/-1}.v7-weather-day strong{font-size:32px}.v7-weather-head h2{font-size:34px}
.v7-event-pair{grid-template-columns:1fr}.v7-event-wedding>div{height:350px}.v7-event-wedding article{padding:30px 25px}.v7-event-wedding h2{font-size:41px}.v7-event-pair h3{font-size:35px}.v7-event-services h2{font-size:40px}
.v7-gallery{grid-auto-rows:185px;gap:10px}.v7-photo:nth-child(7n+1){grid-row:span 2}.v7-photo>span{padding:35px 14px 14px;font-size:15px}.v7-lightbox{padding:70px 12px 85px}.v7-lb-prev,.v7-lb-next{top:auto;bottom:22px}.v7-lb-prev{left:calc(50% - 55px)}.v7-lb-next{right:calc(50% - 55px)}
.v7-contact-form{padding:32px 20px}.v7-contact-form h2{font-size:34px}.v7-contact-links a{font-size:13px!important}.v7-contact-stay>img{height:300px;min-height:0}.v7-contact-stay>div{padding:34px 25px}.v7-contact-methods{margin-bottom:60px}
.v8-contact-intro{margin-bottom:50px}.v8-contact-intro h2{font-size:46px}.v8-contact-visual{min-height:500px}.v8-contact-form{padding:38px 20px}.v8-contact-form h2{font-size:38px}.v8-contact-form form{grid-template-columns:1fr}.v8-contact-form .field{grid-column:auto}.v8-contact-methods{margin-bottom:65px}.v8-contact-route{padding:40px 25px}.v8-contact-route h2{font-size:42px}.v8-contact-links a{font-size:13px!important}
.page-main-location{padding-top:55px!important}.v8-location-opening h2{font-size:47px}.v8-location-address-copy{padding:42px 25px}.v8-location-address-copy h2{font-size:43px}.v8-location-image{min-height:340px}.v8-location-time-grid{grid-template-columns:1fr}.v8-location-time-grid>div,.v8-location-time-grid>div:nth-child(even){min-height:160px;padding:23px 0}.v8-location-time-grid>div:nth-child(odd){border-right:0}.v8-location-time-grid strong{font-size:37px}.v8-location-balance{grid-template-columns:1fr;gap:35px}.v8-location-balance article:last-child{grid-column:auto;display:block}.v8-location-balance img{height:330px}.v8-location-practical{padding:42px 25px}.v8-location-facts p{grid-template-columns:1fr;gap:6px}
.v5-dining-gallery{display:block}.v5-dining-gallery>div{margin-bottom:18px}.v5-dining-gallery img{height:350px}.v5-dining-quote{padding:30px}.v5-coastline{padding:25px}
}
@media(max-width:820px){
 .related-heading{grid-template-columns:1fr;gap:20px}.related-grid{grid-template-columns:1fr 1fr}.related-link,.related-link:first-child:nth-last-child(2),.related-link:first-child:nth-last-child(2)~.related-link,.related-link:first-child:nth-last-child(4),.related-link:first-child:nth-last-child(4)~.related-link{grid-column:auto;min-height:330px}.related-link:last-child:nth-child(3){grid-column:1/-1}.related-link strong{font-size:31px}
 .v5-sustain>.soft-btn{grid-column:auto}.v7-env-intro,.v7-env-management{grid-template-columns:1fr}.v7-env-intro{margin-bottom:70px}.v7-equipment-card,.v7-equipment-card:nth-child(1),.v7-equipment-card:nth-child(2){grid-column:span 6}.v7-equipment-image,.v7-equipment-card:nth-child(-n+2) .v7-equipment-image{height:300px}.v7-legal-layout{grid-template-columns:1fr;gap:55px}.v7-legal-index{position:static}.v7-legal-index nav{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}
 :is(.page-hero-whistleblowing-channel,.page-hero-environment){height:auto;min-height:0;padding:150px var(--pad) 35px}:is(.page-hero-whistleblowing-channel,.page-hero-environment) .page-breadcrumb{top:108px}
}
@media(max-width:560px){
 .related-grid{grid-template-columns:1fr}.related-link,.related-link:last-child:nth-child(3){grid-column:auto;min-height:360px}.related-heading h2{font-size:46px}.v7-env-heading{grid-template-columns:42px 1fr;gap:15px}.v7-env-heading>span{font-size:30px}.v7-equipment-card,.v7-equipment-card:nth-child(1),.v7-equipment-card:nth-child(2){grid-column:1/-1}.v7-equipment-grid{gap:24px}.v7-env-management{padding:38px 24px}.v7-legal-index nav{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.page-main *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
