/* v4: restrained editorial layout, portrait campaign art, search-first booking. */
:root{--ink:#193c4c;--blue:#204f86;--teal:#148a90;--line:#e3e9e9;--muted:#60727a;--sand:#f5f7f6;--ease:cubic-bezier(.2,.75,.25,1)}
body{font-size:18px;line-height:1.6}h2{font-size:clamp(38px,4.4vw,62px);letter-spacing:-.04em;font-weight:300;line-height:1.08}h3{letter-spacing:-.025em}p{text-wrap:pretty}.eyebrow{font-size:11px;letter-spacing:.14em;line-height:1.5}.section{max-width:1400px;padding:90px 64px;margin-inline:auto}.button{font-size:15px;min-height:52px;padding:13px 24px;gap:28px;border-radius:2px;transition:background .25s,transform .3s var(--ease),box-shadow .3s}.button:hover{transform:translateY(-2px);box-shadow:0 8px 22px #163e6c16}.button span{transition:transform .3s}.button:hover span{transform:translate(3px,-3px)}.text-link{font-size:15px;font-weight:400}.topline{font-size:10px;padding:7px 16px}.site-header{height:88px;top:29px;padding-inline:max(5%,calc((100% - 1280px)/2));border-bottom:1px solid #ffffff30;transition:background .3s,height .3s,box-shadow .3s}.brand{width:182px}.site-header nav{font-size:15px;gap:35px}.site-header.scrolled{height:76px;background:#204f86;box-shadow:0 3px 15px #153b5012}.header-right{gap:28px}.language{font-size:14px}.site-header .button{background:white;color:var(--blue);font-size:14px;min-height:46px}.hero{height:min(850px,90svh);min-height:700px}.hero-copy{top:180px;left:max(7%,calc((100% - 1200px)/2));width:49%;padding:0}.hero-copy .eyebrow{margin-bottom:28px;font-size:12px}.campaign-title{gap:12px;align-items:center;line-height:1;margin:0;white-space:nowrap}.campaign-four{font-size:clamp(120px,15vw,210px);letter-spacing:-.1em;font-weight:400;margin-right:6px;line-height:.85}.campaign-words>span{font-size:clamp(30px,3.6vw,48px);line-height:1.15;letter-spacing:-.055em}.campaign-words>strong{font-size:clamp(62px,7vw,94px);font-weight:400;line-height:1.05;letter-spacing:-.055em}.campaign-subtitle{font-size:19px;letter-spacing:.14em;margin-top:30px}.hero-description{font-size:20px;line-height:1.6;margin:24px 0 28px;max-width:380px}.hero-actions .button{font-size:15px;padding:14px 22px;gap:28px}.film-button{font-size:14px;gap:10px}.hero-bottom{left:7%;right:7%;bottom:76px;font-size:10px}.hero-image{filter:none;transform:none}.hero-shade{background:linear-gradient(90deg,#123b5150,transparent 75%),linear-gradient(0deg,#15384b55,transparent 40%)}
.search-wrap{max-width:1220px;width:90%;margin-top:-43px}.searchbar{padding:10px;box-shadow:0 12px 40px #1837460c;grid-template-columns:1.15fr 1fr .9fr 1.1fr;min-height:94px}.searchbar label,.search-cell{padding:10px 20px}.searchbar label>span,.search-cell>span:not(.field-icon){font-size:10px;letter-spacing:.12em;margin-bottom:8px}.searchbar select,.search-cell b{font-size:15px;font-weight:400}.searchbar .button{font-size:15px;min-height:64px}.search-cell{transition:background .2s}.search-cell:hover{background:#f5f9f8}.search-note{font-size:12px;margin:17px 0 0}.resume{font-size:13px;margin:6px auto 0;min-height:32px;padding:3px 0}.intro{display:grid;grid-template-columns:1.05fr 1fr;align-items:end;text-align:left;gap:16px 70px;padding-top:85px;padding-bottom:45px}.intro>.eyebrow{grid-column:1/-1;text-align:left;margin:0}.intro h2{font-size:62px;text-align:left;margin:0}.intro>p:not(.eyebrow){font-size:18px;line-height:1.75;text-align:left;max-width:460px;margin:0 0 4px}.hotel-section{padding-top:0}.filters{gap:10px;margin-bottom:28px}.filters button{font-size:14px;padding:8px 16px;min-height:42px;border:0;border-radius:0;border-bottom:1px solid var(--line)}.filters button.active{background:transparent;color:var(--blue);border-bottom:2px solid var(--blue)}.filters .compare-open{font-size:13px;border-bottom:0}.hotel-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}.card-image{aspect-ratio:2/3;min-height:0;border-radius:2px}.card-image img,.hotel-card[data-hotel="finisterra"] .card-image img{object-position:center;object-fit:cover;transition:transform 1.1s var(--ease);filter:none}.card-image:hover img{transform:scale(1.035)}.card-image:after{background:linear-gradient(0deg,#082e44d1,transparent 48%)}.card-overlay{left:22px;right:22px;bottom:24px}.card-overlay strong{font-size:34px;line-height:1.06;font-weight:400;letter-spacing:-.04em;margin:9px 0 18px}.card-theme{font-size:10px;letter-spacing:.1em}.card-image-link{font-size:14px;padding-top:12px;border-top:1px solid #ffffff5c}.card-number{top:17px;left:17px;border:0;width:auto;height:auto;font-size:12px}.card-body{padding:21px 0 0;display:grid;grid-template-rows:34px 32px auto;gap:8px}.card-body .eyebrow{font-size:10px;min-height:unset;margin:0;font-weight:700;line-height:1.5}.card-body .card-audience{font-size:15px;line-height:1.5;min-height:unset;margin:0}.card-tail{font-size:14px;min-height:46px;padding:10px 0 0;gap:8px}.compare-control{font-size:12px;gap:6px}.compare-control input{width:16px;height:16px}.image-credit{font-size:12px;text-align:left;line-height:1.6;margin:24px 0 0;max-width:720px}.experience-feature{height:620px;margin-top:0}.feature-copy{max-width:540px;left:max(7%,calc((100% - 1200px)/2))}.feature-copy h2{font-size:64px}.feature-copy p:not(.eyebrow){font-size:20px}.section-heading{gap:40px;margin-bottom:36px;align-items:end}.section-heading h2{font-size:50px;margin:0}.section-heading>p{font-size:16px;margin:0 0 5px;line-height:1.65}.room-preview-grid{gap:26px}.room-teaser h3{font-size:24px;line-height:1.2;min-height:58px}.room-teaser>p{font-size:15px}.room-teaser .eyebrow{font-size:10px;margin-bottom:12px}.room-teaser img{aspect-ratio:1.25;object-fit:cover}.round-arrow{width:38px;height:38px;font-size:22px}.direct-section{background:#f5f7f6}.direct-section .section{padding-top:62px;padding-bottom:62px}.direct-section h2{font-size:44px}.direct-grid{margin-top:28px;gap:32px}.direct-grid summary{font-size:20px;line-height:1.35}.direct-grid p,.direct-grid a{font-size:16px}.loyalty{gap:85px}.loyalty h2{font-size:54px}.loyalty p{font-size:18px}.loyalty .muted{font-size:13px}.loyalty-art{transform:none;box-shadow:none;border-radius:2px;min-height:330px;padding:40px;background:linear-gradient(135deg,#174c83,#21878e)}.loyalty-art p{font-size:40px}.transfer .section{padding-top:66px;padding-bottom:66px}.transfer h2{font-size:54px}.transfer p{font-size:18px}.transfer .transfer-note{font-size:13px}.transfer:after{font-size:190px;opacity:.07}.blog-grid h3{font-size:30px}.blog-grid article>p:not(.eyebrow){font-size:17px}.blog-grid img{height:300px;transition:transform .8s var(--ease)}.blog-grid article:hover img{transform:translateY(-3px)}.closing{padding:85px 24px;background:#f5f7f6}.closing h2{font-size:70px}.closing>a{font-size:17px}.footer-top p{font-size:16px}.footer-bottom,.footer-bottom button{font-size:13px}
.property-hero .hero-copy{width:55%;top:205px}.property-hero h1{font-size:86px}.property-hero .hero-description{font-size:25px}.property-hero .campaign-subtitle{font-size:16px}.property-hero .hero-image{object-position:68% center}.property-tabs{top:76px;padding:13px 24px;gap:42px;font-size:15px}.property-campaign-credit{font-size:12px;max-width:1000px;margin:16px auto 20px;padding:0 25px}.property-intro{gap:75px}.property-intro h2{font-size:54px}.property-intro .lead{font-size:19px}.features li{font-size:14px}.notice{font-size:14px;background:#f4f7f7;border-left:2px solid #a6c7c8;padding:15px 20px}.gallery-mosaic{grid-template-rows:210px 210px;gap:12px}.room-editorial{grid-template-columns:1.15fr 1fr;background:#fff;border-bottom:1px solid var(--line);padding-bottom:34px;gap:38px;overflow:visible}.rooms-section{background:#fff;max-width:1400px;padding-inline:64px}.room-cover{min-height:380px;aspect-ratio:1.35;border-radius:2px}.room-cover>img{object-fit:cover}.room-details{padding:12px 0}.room-details h3{font-size:32px}.room-details>p{font-size:17px}.room-editorial .eyebrow{font-size:10px;margin-bottom:14px}.room-specs{font-size:14px;margin:15px 0}.room-occupancy{font-size:13px!important}.room-thumbs{margin:18px 0}.room-editorial .button{font-size:15px}.room-editorial .official-room-link{font-size:13px;margin-top:12px}.faq-list summary{font-size:20px}.faq-list p{font-size:17px}.faq-section{gap:75px}.info-inner{padding:40px}.gallery-viewer h2{font-size:31px}.gallery-viewer .viewer-image{height:min(58svh,650px);object-fit:contain;background:#eaf0f0}.gallery-viewer .image-credit{font-size:12px}
/* A dedicated search sheet, then an immersive five-stage results journey. */
dialog#booking{position:fixed;inset:0;width:100%;max-width:none;height:100svh;max-height:none;margin:0;border:0;border-radius:0;background:#fff;overflow-y:auto;color:var(--ink)}.booking-head{background:#fff;color:var(--blue);border-bottom:1px solid var(--line);height:84px;padding:18px max(5%,calc((100% - 1280px)/2));position:sticky;top:0;z-index:6}.booking-head .brand{width:156px}.booking-head .brand img{filter:brightness(0) saturate(100%) invert(27%) sepia(47%) saturate(1363%) hue-rotate(177deg) brightness(92%) contrast(89%)}.booking-head .header-right{gap:24px}.booking-head button{width:44px;font-size:28px}.journey-progress{max-width:1100px;margin:0 auto;padding:23px 30px 20px;display:flex;justify-content:center;gap:38px;border-bottom:1px solid var(--line)}.journey-progress button{font-size:13px;display:flex;align-items:center;gap:10px;min-height:40px;white-space:nowrap;color:var(--muted);padding:0}.journey-progress button span{width:27px;height:27px;display:grid;place-items:center;border:1px solid #d4dfe1;border-radius:50%;font-size:12px}.journey-progress .current{color:var(--blue);font-weight:700}.journey-progress .current span{border-color:var(--blue);background:var(--blue);color:white}.booking-main{max-width:1280px;margin:auto;padding:45px 55px 80px}.journey-heading{margin-bottom:26px}.journey-heading .eyebrow{font-size:10px;margin-bottom:15px}.booking-title{font-size:clamp(32px,3.4vw,46px);max-width:850px;line-height:1.15;font-weight:300;letter-spacing:-.035em;margin:0 0 25px}.journey-searchline{display:flex;align-items:center;gap:28px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0}.journey-searchline p{margin:0;font-size:15px}.journey-searchline .text-link{font-size:13px;min-height:35px;padding:4px 0}.journey-currency{display:flex;align-items:center;gap:10px;font-size:12px;margin-left:auto}.journey-currency select{min-height:35px;font-size:13px;border:0;background:transparent;color:var(--ink)}.journey-back{font-size:14px;padding:0;margin:-6px 0 14px;min-height:35px}.booking-layout{grid-template-columns:minmax(0,1fr) 270px;gap:40px;align-items:start}.booking-layout.no-sidebar{display:block}.journey-demo{font-size:12px;color:var(--muted);background:none;border:0;margin:0 0 25px;line-height:1.6}.result-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.result-filters{display:flex;gap:20px;flex-wrap:wrap}.result-filters button{font-size:14px;border-bottom:2px solid transparent;padding:7px 0;min-height:38px}.result-filters button[aria-pressed=true]{color:var(--blue);border-color:var(--blue)}.sort-label{display:flex;gap:10px;font-size:12px;align-items:center}.sort-label select{font-size:13px;max-width:150px;border:1px solid var(--line);background:white;padding:5px;min-height:35px}.result-count{font-size:13px;color:var(--muted);margin-bottom:17px}.hotel-results{display:grid;gap:28px}.hotel-result{display:grid;grid-template-columns:220px minmax(0,1fr) 220px;gap:30px;border:1px solid var(--line);background:#fff;min-height:300px;padding:0;overflow:hidden;transition:border-color .3s,box-shadow .3s}.hotel-result:hover{border-color:#aec6cc;box-shadow:0 8px 30px #193c4c08}.hotel-result>img{width:100%;height:100%;max-height:350px;object-fit:cover;object-position:center 42%}.result-copy{padding:28px 0 22px}.result-copy .eyebrow{font-size:10px;margin-bottom:11px;color:var(--teal)}.result-copy h3{font-size:31px;margin-bottom:10px}.result-copy>p{font-size:16px;margin:0 0 15px}.result-copy .result-location{font-size:13px;color:var(--muted);margin-bottom:15px}.result-perks{display:flex;gap:6px 15px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.result-copy .text-link{font-size:13px;min-height:35px;margin-top:10px}.result-price{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:25px 24px 25px 0;gap:8px}.result-price>small{font-size:12px;color:var(--muted)}.result-price>strong{font-size:27px;letter-spacing:-.035em;font-weight:400;white-space:nowrap}.result-price .button{font-size:14px;gap:12px;min-height:50px;padding:11px 14px;margin-top:20px;white-space:nowrap}.room-results{display:grid;gap:25px}.room-result{border:1px solid var(--line);background:#fff;overflow:hidden}.result-room-photo{position:relative;height:275px;overflow:hidden}.result-room-photo>img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}.room-result:hover .result-room-photo>img{transform:scale(1.025)}.result-room-photo>button{position:absolute;right:17px;bottom:17px;background:#fff;font-size:13px;padding:10px 17px;min-height:42px}.result-room-copy{padding:26px 28px}.result-room-copy .eyebrow{font-size:10px;margin-bottom:10px}.result-room-copy h3{font-size:30px}.result-room-copy>p{font-size:15px;color:var(--muted)}.result-room-copy details{font-size:14px;line-height:1.65;margin-bottom:20px}.result-room-copy summary{cursor:pointer;min-height:35px}.result-room-copy details p{margin-top:15px}.result-room-copy details a{text-decoration:underline}.room-result-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:20px}.room-result-bottom strong{font-size:25px;font-weight:400;letter-spacing:-.025em}.room-result-bottom small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.room-result-bottom .button{font-size:14px;gap:12px;padding:12px 16px}.booking-summary{position:sticky;top:110px;border:1px solid var(--line);background:#fff;padding:0;margin:0;color:var(--ink);font-size:14px;overflow:hidden}.booking-summary>img{width:100%;height:215px;object-fit:cover;object-position:center 38%}.summary-inner{padding:25px}.summary-inner .eyebrow{font-size:10px;margin-bottom:15px;color:var(--teal)}.booking-summary h3{font-size:27px;line-height:1.15;margin-bottom:17px}.booking-summary p{font-size:14px;margin-bottom:9px}.booking-summary .summary-room{padding-top:18px;margin-top:18px;border-top:1px solid var(--line);font-size:15px}.booking-summary .summary-total{display:block;font-size:28px;font-weight:400;margin:16px 0}.booking-summary small{display:block;font-size:11px;color:var(--muted);line-height:1.6}.booking-summary .text-link{font-size:13px;margin-top:15px}.journey-extra{display:grid;grid-template-columns:38px 1fr;gap:18px;border-top:1px solid var(--line);padding:25px 0 35px}.extra-index{font-size:13px;color:var(--teal);padding-top:2px}.journey-extra .eyebrow{font-size:10px;margin-bottom:10px}.journey-extra h3{font-size:28px;margin-bottom:18px}.journey-extra p{font-size:16px}.journey-extra small{font-size:12px;color:var(--muted)}.toggle-choice{display:flex;gap:12px;align-items:center;padding:16px;border:1px solid var(--line);font-size:15px;cursor:pointer}.toggle-choice input{accent-color:var(--teal);width:20px;height:20px;min-height:0}.inline-links{display:flex;gap:25px;font-size:14px;margin:18px 0 12px}.inline-links a{border-bottom:1px solid var(--line)}.transfer-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:25px 0}.transfer-options label{position:relative;border:1px solid var(--line);padding:18px 13px;cursor:pointer;display:flex;flex-direction:column;gap:5px}.transfer-options input{position:absolute;top:12px;right:10px;accent-color:var(--teal);min-height:0;width:16px;height:16px}.transfer-options label:has(input:checked){border-color:var(--teal);background:#f0f8f7}.transfer-options label>span{font-size:25px}.transfer-options strong{font-size:14px;font-weight:400}.transfer-options small{font-size:11px}.offer-details{font-size:14px;border-top:1px solid var(--line);padding-top:20px}.offer-details summary{cursor:pointer;min-height:44px}.offer-details p{font-size:14px}.offer-details a{text-decoration:underline}.booking-actions{justify-content:flex-end;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.booking-actions .button{font-size:15px}.contact-step>p{font-size:17px;margin-bottom:30px}.contact-step .form-grid{grid-template-columns:1fr;gap:24px;max-width:550px}.form-field{font-size:14px;color:var(--ink)}.form-field input,.form-field select{font-size:16px;min-height:52px;padding:12px 14px;background:white;border:1px solid #cedbdc;border-radius:2px;color:var(--ink)}.contact-step #sample-data{margin-top:18px;font-size:14px}.contact-step .contact-reassurance{font-size:14px;color:var(--muted);margin:30px 0 0}.final-plan{max-width:760px;margin:auto}.plan-status{font-size:11px;letter-spacing:.1em;color:var(--teal);margin:25px 0}.final-plan>h3{font-size:36px}.final-plan>p:not(.plan-status){font-size:17px}.summary-row{font-size:16px;padding:16px 0;gap:20px}.summary-row strong{font-weight:400;text-align:right}.final-total{display:flex;align-items:center;justify-content:space-between;background:#f2f7f6;padding:25px;margin:24px 0 18px;gap:20px}.final-total span{font-size:16px}.final-total strong{font-size:36px;font-weight:400;letter-spacing:-.04em}.final-plan .muted{font-size:13px!important}.official-handoff{margin:35px 0;padding-top:25px;border-top:1px solid var(--line)}.official-handoff h3{font-size:27px}.official-handoff p{font-size:16px}.remove-draft{font-size:13px;display:block;margin-top:25px}.empty-result{padding:30px;background:#f6f8f7}.empty-result h3{font-size:27px}.empty-result p{font-size:16px}.error{font-size:14px}.booking-layout{animation:journey-in .3s var(--ease)}
#search-dialog{width:min(720px,calc(100vw - 40px));max-width:none;border:0;border-radius:5px;background:white;padding:0;max-height:92svh;overflow-y:auto;box-shadow:0 25px 100px #122c4933}#search-dialog::backdrop{background:#0a243b66;backdrop-filter:blur(4px)}.search-sheet-head{padding:28px 32px 0;display:flex;justify-content:space-between;gap:25px}.search-sheet-head .eyebrow{font-size:10px;margin-bottom:10px}.search-sheet-head h2{font-size:29px;line-height:1.18;max-width:450px}.search-sheet-head>button{width:40px;min-width:40px;font-size:28px;align-self:flex-start}#search-form{padding:22px 32px 28px}.search-tabs{display:grid;grid-template-columns:1fr 1fr;margin:22px 0 0;border-bottom:1px solid var(--line)}.search-tabs button{text-align:left;padding:12px 14px;font-size:16px;font-weight:700;border-bottom:2px solid transparent}.search-tabs button[aria-pressed=true]{border-color:var(--teal);color:var(--teal)}.search-tabs button span{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:3px}.calendar-wrap{border:0;padding:0;background:transparent;margin:20px 0}.calendar-top{font-size:14px}.calendar-top button{border:0;width:40px;min-height:40px}.calendar-months{gap:28px;margin-top:18px}.calendar-month h3{font-size:18px;margin-bottom:17px}.calendar-grid{gap:3px}.calendar-grid button{font-size:14px;border-radius:50%;min-height:36px}.calendar-grid button.in-range{border-radius:0}.calendar-grid button.selected{background:var(--teal)}.calendar-hint{display:none}.date-fields{gap:18px}.date-fields .form-field{font-size:12px}.date-fields input{font-size:15px;min-height:45px;padding:9px 10px}.search-sheet-foot{display:flex;align-items:center;justify-content:space-between;gap:22px;border-top:1px solid var(--line);padding-top:22px;margin-top:25px}.search-sheet-foot small{font-size:11px;color:var(--muted);max-width:200px}.search-sheet-foot .button{font-size:14px;white-space:nowrap}.party-room{border:0;padding:14px 0 20px;border-bottom:1px solid var(--line);margin:18px 0 0}.party-room legend{font-size:14px;font-weight:700}.guest-line{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:20px}.guest-line strong{font-size:16px;font-weight:400}.guest-line small{display:block;font-size:12px;color:var(--muted)}.stepper{display:flex;align-items:center;gap:18px}.stepper button{border:1px solid var(--line);border-radius:50%;font-size:22px;width:40px;height:40px;min-height:40px}.stepper output{font-size:16px;min-width:18px;text-align:center}.party-room .ages{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:15px}.party-room .ages select{width:100%;min-height:45px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .8s var(--ease);transition-delay:var(--reveal-delay,0ms)}.reveal.is-visible{opacity:1;transform:translateY(0)}@keyframes journey-in{from{opacity:.4;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.hero-copy{top:210px}.hotel-grid{gap:30px}}
@media(max-width:1150px){.section{padding:75px 40px}.hotel-section{padding-top:0}.intro{gap:16px 40px;padding-bottom:40px}.intro h2{font-size:54px}.hotel-grid{gap:18px}.card-overlay{left:17px;right:17px;bottom:20px}.card-overlay strong{font-size:29px}.card-theme{font-size:9px}.card-body .eyebrow{font-size:9px}.card-tail{font-size:12px;flex-wrap:wrap}.card-body{grid-template-rows:32px 46px auto}.hero-copy{left:6%;width:52%;top:170px}.campaign-four{font-size:160px}.campaign-words>strong{font-size:76px}.campaign-words>span{font-size:37px}.searchbar label,.search-cell{padding-inline:13px}.searchbar select,.search-cell b{font-size:14px}.searchbar .button{font-size:13px;padding-inline:14px}.booking-main{padding:35px 32px 60px}.hotel-result{grid-template-columns:190px minmax(0,1fr) 190px;gap:22px}.result-price{padding-right:20px}.result-price>strong{font-size:23px}.result-price .button{font-size:12px;padding-inline:12px}.booking-layout{grid-template-columns:minmax(0,1fr) 230px;gap:25px}.summary-inner{padding:20px}.room-result-bottom{flex-wrap:wrap}.journey-progress{gap:22px}.rooms-section{padding-inline:40px}.room-editorial{gap:28px}.room-cover{min-height:350px}.room-details h3{font-size:29px}.room-preview-grid{grid-template-columns:repeat(4,1fr);gap:20px}.room-teaser h3{font-size:22px;min-height:75px}.feature-copy h2{font-size:58px}}
@media(max-width:850px){.hotel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 24px}.card-overlay strong{font-size:40px}.card-theme{font-size:11px}.card-body{grid-template-rows:25px 25px auto}.card-body .eyebrow{font-size:10px}.card-tail{font-size:14px}.room-preview-grid{grid-template-columns:1fr 1fr;gap:30px}.room-teaser h3{min-height:0}.booking-layout{grid-template-columns:1fr}.booking-summary{display:none}.hotel-result{grid-template-columns:190px 1fr;gap:0 25px}.hotel-result>img{grid-row:span 2;max-height:none}.result-copy{padding:24px 20px 0 0}.result-price{flex-direction:row;align-items:center;flex-wrap:wrap;padding:5px 20px 24px 0;gap:5px 15px}.result-price>small:first-child{flex-basis:100%}.result-price .button{margin-top:6px;font-size:14px}.result-price>strong{font-size:25px}.journey-progress{gap:20px}.journey-progress button{font-size:12px;gap:7px}.property-intro{gap:40px}.property-intro h2{font-size:44px}}
@media(max-width:700px){
body{font-size:17px;padding-bottom:82px}.section{padding:62px 24px}.topline{font-size:9px;min-height:29px}.site-header{height:76px;top:29px;padding:0 22px}.site-header.scrolled{height:70px}.brand{width:149px}.header-right{gap:22px}.language{font-size:14px}.site-header nav{font-size:18px;top:76px}.site-header.scrolled nav{top:70px}.menu-toggle{font-size:25px}.hero{height:800px;min-height:760px;max-height:none}.hero-copy{top:138px;left:24px;right:24px;width:auto;max-width:none}.hero-copy .eyebrow{font-size:10px;margin-bottom:25px}.campaign-four{font-size:120px;letter-spacing:-.11em;margin-right:7px}.campaign-title{gap:9px}.campaign-words>span{font-size:28px}.campaign-words>strong{font-size:57px}.campaign-subtitle{font-size:14px;margin-top:22px;letter-spacing:.12em}.hero-description{font-size:17px;line-height:1.55;max-width:310px;margin:19px 0 22px}.hero-actions{gap:10px}.campaign-hero .hero-actions .button{font-size:13px;padding:12px 15px;gap:20px}.campaign-hero .film-button{font-size:12px;gap:6px}.campaign-hero .play-icon{width:29px;height:29px;font-size:17px}.hero-bottom{left:24px;right:24px;bottom:65px;font-size:9px}.hero-bottom a{font-size:12px}.search-wrap{width:calc(100% - 32px);margin-top:-28px}.searchbar{grid-template-columns:1fr 1fr;padding:17px}.searchbar label{padding:0 0 12px;grid-column:1/-1}.searchbar select{font-size:16px}.search-cell{min-height:76px;padding:13px 7px 12px 0}.search-cell+.search-cell{padding-left:16px}.searchbar label>span,.search-cell>span:not(.field-icon){font-size:10px;margin-bottom:5px}.search-cell b{font-size:14px}.searchbar .button{font-size:15px;min-height:52px;margin:8px 0 0;padding:13px 18px}.search-note{font-size:11px;line-height:1.6;margin:15px 0 0}.resume{font-size:12px}.intro{display:block;text-align:left;padding-top:60px;padding-bottom:30px}.intro>.eyebrow{margin-bottom:18px;font-size:10px}.intro h2{font-size:46px;margin:0 0 22px}.intro>p:not(.eyebrow){font-size:17px;line-height:1.7;margin:0}.hotel-section{padding-top:0}.filters{gap:5px;margin-bottom:23px}.filters button{font-size:13px;padding:8px 10px;min-height:42px}.filters .compare-open{font-size:12px;margin-left:auto}.hotel-grid{grid-template-columns:1fr;gap:35px}.card-image{aspect-ratio:2/3;min-height:unset}.card-overlay{left:27px;right:27px;bottom:28px}.card-overlay strong{font-size:43px;line-height:1.03;margin:9px 0 19px}.card-theme{font-size:11px}.card-number{top:22px;left:24px;font-size:12px}.card-image-link{font-size:15px;padding-top:14px}.card-body{grid-template-rows:auto auto auto;gap:8px;padding-top:20px}.card-body .eyebrow{font-size:10px;line-height:1.5}.card-body .card-audience{font-size:15px}.card-tail{font-size:14px;margin-top:4px;min-height:44px}.compare-control{font-size:13px}.image-credit{font-size:11px;margin-top:28px}.experience-feature{height:570px;margin:0}.feature-copy{left:25px;right:25px;bottom:35px;max-width:none}.feature-copy h2{font-size:49px}.feature-copy .eyebrow{font-size:10px}.feature-copy p:not(.eyebrow){font-size:18px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:41px}.section-heading>p{font-size:16px;margin:20px 0 0}.room-preview-grid{grid-template-columns:1fr 1fr;gap:28px 16px}.room-teaser>a{margin-bottom:17px}.room-teaser img{aspect-ratio:1;object-fit:cover}.room-teaser .eyebrow{font-size:9px;letter-spacing:.07em;min-height:27px;margin:0 0 10px}.room-teaser h3{font-size:20px;line-height:1.2;min-height:70px}.room-teaser>p{font-size:13px;line-height:1.5}.round-arrow{width:30px;height:30px;font-size:18px;right:10px;bottom:10px}.direct-section .section{padding:52px 24px}.direct-section h2{font-size:38px}.direct-grid{gap:0;margin-top:25px}.direct-grid summary{font-size:19px;min-height:50px}.direct-grid p,.direct-grid a{font-size:15px}.loyalty h2{font-size:43px}.loyalty p{font-size:17px}.loyalty-art{min-height:280px;padding:30px;margin:35px 0 0;box-shadow:none}.loyalty-art p{font-size:34px}.transfer .section{padding:55px 24px}.transfer h2{font-size:43px}.transfer p{font-size:17px}.transfer .transfer-note{font-size:12px}.blog-grid img{height:230px}.blog-grid h3{font-size:28px}.blog-grid article>p:not(.eyebrow){font-size:16px}.closing{padding:60px 24px}.closing h2{font-size:50px}.closing>a{font-size:16px}.mobile-book{padding:12px 17px;min-height:78px;border-top:1px solid var(--line);box-shadow:0 -5px 20px #17374e06}.mobile-book>span{font-size:14px}.mobile-book small{font-size:11px}.mobile-book .button{font-size:14px;min-height:48px;padding:11px 19px}.consent-banner{bottom:92px;font-size:13px;padding:18px}.consent-banner strong{font-size:17px}.consent-banner button{font-size:11px}.property-hero{height:710px;min-height:690px}.property-hero .hero-copy{top:170px;width:auto}.property-hero h1{font-size:66px}.property-hero .hero-description{font-size:23px}.property-hero .campaign-subtitle{font-size:14px}.property-tabs{top:70px;gap:0;font-size:13px;padding:10px 20px}.property-intro{display:block}.property-intro h2{font-size:42px}.property-intro .lead{font-size:18px}.property-campaign-credit{font-size:11px;margin:16px 0 0}.gallery-mosaic{grid-template-rows:230px 130px 130px;gap:8px}.rooms-section{padding-inline:24px}.room-editorial{display:block;border-bottom:1px solid var(--line);padding-bottom:25px}.room-cover{min-height:0;aspect-ratio:1.25;width:100%}.room-details{padding:24px 0 0}.room-details h3{font-size:29px}.room-details>p{font-size:16px}.room-specs{font-size:13px}.room-occupancy{font-size:13px!important}.room-editorial .button{font-size:15px}.room-editorial .official-room-link{font-size:13px}.faq-section{display:block}.faq-list summary{font-size:18px}.faq-list p{font-size:16px}.info-inner{padding:35px 22px}.gallery-viewer h2{font-size:27px}.gallery-viewer .viewer-image{height:44svh}.viewer-caption{font-size:13px}
 .booking-head{height:70px;padding:15px 22px}.booking-head .brand{width:137px}.booking-head .header-right{gap:18px}.journey-progress{position:sticky;top:70px;background:#fff;z-index:5;padding:9px 22px;gap:7px;justify-content:flex-start;min-height:52px}.journey-progress button{font-size:0;gap:6px;min-height:36px;flex:0 0 auto}.journey-progress .current{font-size:12px;flex:1}.journey-progress button span{width:24px;height:24px;font-size:11px}.booking-main{padding:28px 22px 45px}.journey-heading .eyebrow{font-size:9px;margin-bottom:13px}.booking-title{font-size:34px;line-height:1.1;margin-bottom:22px}.journey-searchline{gap:8px 15px;padding:12px 0}.journey-searchline p{font-size:12px;flex-basis:100%}.journey-searchline .text-link{font-size:12px;min-height:34px}.journey-currency{font-size:11px}.journey-currency select{font-size:12px;min-height:34px}.journey-back{font-size:13px;margin-top:-9px}.journey-demo{font-size:10px;margin-bottom:20px}.result-controls{align-items:flex-start;flex-wrap:wrap;gap:10px;margin-bottom:15px}.result-filters{gap:19px}.result-filters button{font-size:13px;min-height:37px}.sort-label{font-size:11px}.sort-label select{font-size:12px;max-width:none}.result-count{font-size:12px}.hotel-results{gap:24px}.hotel-result{display:block;border:1px solid var(--line)}.hotel-result>img{width:100%;height:260px;object-fit:cover;object-position:center 34%}.result-copy{padding:24px 22px 0}.result-copy .eyebrow{font-size:10px;margin-bottom:12px}.result-copy h3{font-size:30px}.result-copy>p{font-size:16px}.result-copy .result-location{font-size:12px}.result-perks{font-size:12px;gap:6px 12px}.result-copy .text-link{font-size:12px}.result-price{padding:15px 22px 24px;gap:5px 13px;border-top:1px solid var(--line);margin-top:18px;display:flex}.result-price>strong{font-size:25px}.result-price .button{width:100%;margin-top:12px;font-size:15px;padding:13px 18px}.result-price>small{font-size:11px}.result-room-photo{height:225px}.result-room-copy{padding:23px 21px}.result-room-copy h3{font-size:27px}.result-room-copy>p{font-size:14px}.result-room-copy details{font-size:13px}.result-room-copy .eyebrow{font-size:9px}.room-result-bottom{display:block;padding-top:18px}.room-result-bottom strong{font-size:26px}.room-result-bottom .button{width:100%;font-size:15px;padding:13px 18px;margin-top:18px}.room-result-bottom small{font-size:11px}.journey-extra{grid-template-columns:24px 1fr;gap:12px;padding:24px 0 28px}.extra-index{font-size:11px}.journey-extra h3{font-size:26px}.journey-extra p{font-size:16px}.journey-extra .eyebrow{font-size:9px}.toggle-choice{padding:13px;font-size:14px;gap:10px}.inline-links{font-size:13px;gap:20px}.transfer-options{grid-template-columns:1fr;gap:8px;margin:20px 0}.transfer-options label{padding:12px 15px;display:grid;grid-template-columns:28px 1fr;gap:0 12px;align-items:center}.transfer-options label>span{grid-row:span 2;font-size:24px}.transfer-options input{top:19px;right:14px}.transfer-options strong{font-size:14px}.transfer-options small{font-size:11px}.form-grid{grid-template-columns:1fr;gap:17px}.form-field{font-size:13px}.form-field input,.form-field select{font-size:16px;min-height:50px}.booking-actions .button{width:100%;font-size:15px}.contact-step>p{font-size:16px}.contact-step .contact-reassurance{font-size:13px}.final-plan>h3{font-size:31px}.final-plan>p:not(.plan-status){font-size:16px}.summary-row{font-size:14px;gap:18px;padding:14px 0}.summary-row>strong{flex:1.2}.plan-status{font-size:10px}.final-total{display:block;padding:20px;margin-top:24px}.final-total span{font-size:14px}.final-total strong{display:block;font-size:36px;margin-top:8px}.official-handoff h3{font-size:26px}.official-handoff p{font-size:15px}.official-handoff .button{width:100%;font-size:14px;gap:12px;padding:13px 16px}.empty-result{padding:22px}.empty-result h3{font-size:25px}.empty-result p{font-size:15px}.empty-result .button{font-size:14px}.booking-layout{display:block}.booking-summary{display:none}
 #search-dialog{position:fixed;inset:auto 0 0;margin:0;width:100%;height:auto;max-height:96svh;border-radius:12px 12px 0 0}.search-sheet-head{padding:25px 22px 0;gap:10px}.search-sheet-head h2{font-size:27px;max-width:290px}.search-sheet-head .eyebrow{font-size:9px}.search-sheet-head>button{font-size:26px;width:34px;min-width:34px}#search-form{padding:16px 22px 22px}.search-tabs{margin-top:18px}.search-tabs button{font-size:15px;padding:12px 10px}.search-tabs button span{font-size:11px}.calendar-wrap{margin:17px 0}.calendar-top{font-size:13px}.calendar-top button{width:40px;min-height:40px}.calendar-months{grid-template-columns:1fr;margin-top:10px}.calendar-month:nth-child(2){display:none}.calendar-month h3{font-size:20px;margin-bottom:14px}.calendar-grid button{min-height:39px;font-size:15px}.calendar-grid .weekday{font-size:11px;padding:3px 0}.date-fields{grid-template-columns:1fr 1fr;gap:12px}.date-fields input{font-size:14px;padding:8px;min-height:44px}.search-sheet-foot{gap:13px;margin-top:20px;padding-top:18px}.search-sheet-foot small{font-size:10px;max-width:120px}.search-sheet-foot .button{font-size:13px;min-height:48px;padding:11px 16px;gap:15px}.guest-line{padding:12px 0}.guest-line strong{font-size:15px}.guest-line small{font-size:11px}.stepper{gap:12px}.stepper button{width:40px;min-height:40px}.party-room .ages{grid-template-columns:repeat(2,1fr)}.party-room legend{font-size:13px}
}
@media(max-width:370px){.hero-copy{left:21px;right:21px}.campaign-four{font-size:106px}.campaign-words>span{font-size:25px}.campaign-words>strong{font-size:50px}.campaign-subtitle{font-size:13px}.hero-description{font-size:16px}.campaign-hero .hero-actions .button{font-size:12px;padding:12px;gap:14px}.campaign-hero .film-button{font-size:11px}.campaign-hero .play-icon{width:27px;height:27px}.card-overlay strong{font-size:40px}.filters button{font-size:12px;padding-inline:7px}.filters .compare-open{font-size:11px}.booking-main{padding-inline:19px}.journey-progress{padding-inline:19px}.booking-title{font-size:31px}.search-sheet-foot small{max-width:100px}.search-sheet-foot .button{padding-inline:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.booking-layout{animation:none}.card-image img,.result-room-photo>img,.button,.blog-grid img{transition:none}.button:hover,.card-image:hover img,.room-result:hover .result-room-photo>img,.blog-grid article:hover img{transform:none}}
/* Preserve the supplied white logo without recolouring its pixels. */
.booking-head .brand{background:var(--blue);padding:10px 14px;width:180px;border-radius:2px}.booking-head .brand img{filter:none}@media(max-width:700px){.booking-head .brand{width:155px;padding:9px 12px}}

/* Consistent symbol rendering and visible modal close on every platform. */
@font-face{font-family:SandosSymbols;src:url('/assets/sandos-symbols.woff') format('woff');font-display:swap;unicode-range:U+002B,U+00D7,U+2190-2194,U+2197,U+21C4,U+2212,U+2304,U+25A6,U+25B7,U+2708,U+2713}
body{font-family:Lato,SandosSymbols,Arial,sans-serif}.booking-head button{color:var(--blue);background:#f0f5f6;border-radius:50%;display:grid;place-items:center}.booking-head button:hover{background:#e1ecef}
