/* ARCUS Modern Editorial — presentation-only layer. Existing HTML, IDs, data attributes and JS remain intact. */
:root{--cream:#f4f1e9;--cream2:#eae7df;--paper:#faf8f3;--ink:#172627;--olive:#64746b;--moss:#213b37;--line:#d7d9d0;--sand:#c5b99f}
html{scroll-padding-top:105px}
body{background:var(--cream)}
.announcement{background:#192c2a;letter-spacing:2px}
.header{background:rgba(244,241,233,.92);border-color:rgba(23,38,39,.08);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.header .brand-words b{letter-spacing:8px}
.nav-book,.btn-dark{background:#203c37}
.nav-book,.btn,.booking-strip-btn{transition:transform .3s ease,background .3s ease,box-shadow .3s ease}
.nav-book:hover,.btn:hover,.booking-strip-btn:hover{transform:translateY(-3px);box-shadow:0 12px 25px #152e2826}
.hero.shell{width:100%;max-width:none;min-height:clamp(650px,84svh,1000px);padding:0;display:grid;grid-template-columns:1fr;position:relative;isolation:isolate;background:#18332f;overflow:hidden}
.hero .hero-visual{position:absolute;inset:0;min-height:0;z-index:-1}
.hero .hero-visual img{width:100%;height:100%;object-fit:cover;transform:scale(1.035);animation:arcusHeroIn 12s ease-out both}
.hero .hero-visual:after{inset:0;background:linear-gradient(90deg,rgba(9,28,29,.79),rgba(9,28,29,.31) 60%,rgba(9,28,29,.16)),linear-gradient(0deg,rgba(10,25,24,.34),transparent 55%)}
.hero .hero-copy{padding:clamp(75px,10vw,150px) max(7vw,calc((100vw - 1400px)/2)) 135px;z-index:3;max-width:1040px;justify-content:center;color:#fff}
.hero .hero-eyebrow{color:#e6e5da;letter-spacing:3.2px;margin-bottom:35px}
.hero h1{font-size:clamp(76px,9.2vw,154px);line-height:.91;letter-spacing:-4px;max-width:1000px;text-wrap:balance}
.hero h1 em{color:#d8e0d7;margin-top:18px}
.hero .hero-copy>p{color:#edf0e9;max-width:460px;font-size:15px;line-height:1.9;margin:37px 0}
.hero .btn-dark{background:#f5f2ea;color:#20342f}
.hero .btn-dark:hover{background:#fff}
.hero .text-link{color:#fff}
.hero .circle-arrow{border-color:#ffffff90}
.hero .hero-index{left:max(7vw,calc((100vw - 1400px)/2));bottom:35px;color:#f1f1e9}
.hero .hero-line{background:#ffffff70}
.hero .hero-image-overlay{bottom:35px;left:auto;right:6vw;gap:18px;font-size:18px}
.hero .hero-img-number{top:30px;right:6vw}
.booking-strip{z-index:5;margin-top:-38px;position:relative}
.booking-strip-inner{background:#faf9f5;box-shadow:0 25px 65px #132e2822;border:1px solid #e4e4da}
.section-pad{padding-block:clamp(90px,10vw,155px)}
.intro,.suites-section,.experience,.gallery-section,.location-section,.guestbook,.booking-section,.faq{scroll-margin-top:95px}
.serif{letter-spacing:-2px}
.suites-section .suite-picture,.experience-photo,.dining-image,.gallery-item{overflow:hidden}
.suites-section .suite-picture img,.experience-photo img,.dining-image img,.gallery-item img{transition:transform 1.2s cubic-bezier(.2,.65,.2,1),filter .7s ease}
@media(hover:hover){.suite-card:hover .suite-picture img,.experience-photo:hover img,.dining-image:hover img,.gallery-item:hover img{transform:scale(1.055)}}
.suites-section .suite-picture,.gallery-item{background:#d6d9d1}
.btn,.nav-book{border-radius:2px}
#galleryCarousel{scroll-snap-type:x mandatory;overscroll-behavior-inline:contain}
#galleryCarousel .gallery-item{scroll-snap-align:center}
:where(a,button,select,input,textarea):focus-visible{outline:3px solid #9ab7a5;outline-offset:4px}
@keyframes arcusHeroIn{from{transform:scale(1.11);filter:brightness(.8)}to{transform:scale(1.035);filter:brightness(1)}}
@media(max-width:900px){
 .hero.shell{min-height:760px;min-height:86svh}
 .hero .hero-copy{padding:110px 7vw 115px;max-width:780px}
 .hero h1{font-size:clamp(62px,10vw,106px)}
 .hero .hero-image-overlay{display:none}
 .booking-strip{margin-top:-20px}
}
@media(max-width:650px){
 .hero.shell{width:100%;min-height:730px;min-height:88svh;display:grid;grid-template-columns:1fr}
 .hero .hero-visual{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0}
 .hero .hero-visual img{width:100%;height:100%;object-fit:cover}
 .hero .hero-visual:after{background:linear-gradient(0deg,rgba(8,26,25,.78),rgba(8,26,25,.18) 72%),linear-gradient(90deg,rgba(8,26,25,.28),transparent)}
 .hero .hero-copy{width:100%;max-width:none;padding:110px 24px 105px;justify-content:end;align-items:flex-start;min-height:0}
 .hero .hero-eyebrow{margin-bottom:24px;font-size:9px}
 .hero .hero-copy h1{font-size:clamp(58px,14.2vw,82px);letter-spacing:-2.5px;line-height:.94}
 .hero .hero-copy>p{font-size:13px;line-height:1.75;margin:25px 0 28px;max-width:320px}
 .hero .hero-buttons{gap:15px}
 .hero .hero-index{left:24px;bottom:24px;font-size:8px}
 .hero .hero-img-number{top:18px;right:18px}
 .booking-strip{margin-top:0}
 .booking-strip-inner{box-shadow:0 10px 30px #132e2815}
 .section-pad{padding-block:85px}
 .suites-section .suite-picture img,.experience-photo img,.dining-image img,.gallery-item img{transform:none}
 .hero .hero-visual:hover img{transform:scale(1.035)}
}
@media(prefers-reduced-motion:reduce){.hero .hero-visual img{animation:none!important;transform:none!important}.suites-section img,.gallery-item img,.experience-photo img,.dining-image img{transition:none!important}}

/* Modern concept: refined type hierarchy and editorial layout throughout */
:root{--serif:'Italiana',Georgia,serif;--editorial:'Playfair Display',Georgia,serif}
.header{height:82px}
.header-inner.shell{width:min(1530px,calc(100% - 80px))}
.header .nav{gap:clamp(13px,1.65vw,31px)}
.header .nav a{font-size:10px;font-weight:500;letter-spacing:.65px;text-transform:uppercase}
.header .nav a{position:relative}
.header .nav a:after{content:'';position:absolute;bottom:-8px;left:0;right:100%;height:1px;background:currentColor;transition:right .35s}
.header .nav a:hover:after{right:0}
.header .nav-book{height:45px;padding-inline:22px;letter-spacing:1.25px}
.hero h1{font-family:var(--editorial);font-weight:400;letter-spacing:-.045em;line-height:1.06;font-size:clamp(70px,8vw,133px)}
.hero h1 em{font-style:italic;font-family:var(--editorial);font-size:.86em;font-weight:400;letter-spacing:-.04em}
.hero .hero-copy>p{font-weight:300;letter-spacing:.2px}
.hero .hero-copy .btn{font-size:10px;letter-spacing:1.6px}
.serif{font-family:var(--editorial);font-weight:400;letter-spacing:-.04em;line-height:1.17}
.serif em{font-style:italic;color:#819286}
.intro{grid-template-columns:31% 1fr;gap:7%;min-height:530px;align-items:center}
.intro-left{align-self:stretch;padding-block:40px;justify-content:space-between}
.intro-right{max-width:850px}
.intro-right h2{font-size:clamp(54px,5.8vw,91px);margin-bottom:32px}
.intro-right>p{font-size:15px;line-height:2.05;max-width:560px}
.intro .small-note{font-family:var(--editorial);font-size:18px;font-style:italic;line-height:1.6;color:#75837a}
.suites-section{background:#ecece6;padding-block:125px}
.suites-section .section-heading{margin-bottom:58px}
.section-heading h2{font-size:clamp(54px,5.9vw,93px);max-width:880px}
.section-heading>p{font-size:13px;max-width:240px;line-height:1.9}
.suite-grid{gap:clamp(22px,3.3vw,55px)}
.suite-picture{height:clamp(350px,41vw,610px);box-shadow:0 14px 42px #20332b12}
.suite-card:nth-child(2) .suite-picture{height:clamp(350px,41vw,610px)}
.suite-picture:after{content:'';position:absolute;inset:50% 0 0;pointer-events:none;background:linear-gradient(transparent,#0b211b33)}
.image-label{top:22px;left:22px;background:#f5f4eae8;backdrop-filter:blur(8px);padding:12px 16px;font-size:9px;letter-spacing:2px}
.suite-footer{padding-block:29px 35px;align-items:center}
.suite-footer h3{font-family:var(--editorial);font-size:clamp(31px,2.7vw,46px);line-height:1.23;letter-spacing:-1px}
.suite-footer h3 em{font-style:italic;color:#7b9085}
.suite-footer p{font-size:13px;line-height:1.9;margin-bottom:0}
.suite-attr{letter-spacing:1.7px;font-weight:600}
.round-btn{height:55px;width:55px;border-color:#8a9c8e;transition:transform .3s,background .3s,color .3s}
.round-btn:hover{transform:rotate(45deg);background:#203c37}
.suite-note{margin-top:20px;padding-top:29px}
.experience{background:#f7f5ef}
.experience-layout{grid-template-columns:44% 48%;justify-content:space-between;gap:8%}
.experience-copy h2{font-size:clamp(52px,5.4vw,89px);line-height:1.16}
.experience-copy>p{font-size:15px;line-height:2.1}
.amenities{margin-top:45px}
.amenities>div{min-height:75px;font-size:12px;letter-spacing:.25px}
.experience-photo{min-height:clamp(560px,53vw,760px)}
.exp-stamp{background:#eae6d9;width:150px;height:150px}
.dining{background:#1b302c;min-height:740px}
.dining-image{min-height:740px}
.dining-copy{padding-inline:clamp(55px,7vw,145px)}
.dining-copy h2{font-family:var(--editorial);font-size:clamp(52px,5.4vw,90px)}
.dining-copy>p{font-size:15px;line-height:2.05;color:#d1d8d0}
.gallery-section{padding-block:145px}
.gallery-carousel{scroll-behavior:smooth}
.gallery-controls button{width:52px;height:52px;border-radius:50%;transition:background .25s,transform .25s}
.gallery-controls button:hover{transform:translateX(2px)}
.location-section{background:#e9e9e1}
.location-text{background:#e9e9e1}
.location-text h2{font-family:var(--editorial);letter-spacing:-.045em}
.location-map iframe{filter:saturate(.7) contrast(.95)}
.guestbook{padding-block:140px}
.guestbook-head h2{font-size:clamp(52px,5.4vw,88px)}
.booking-section{background:#1b332e}
.booking-main{gap:clamp(40px,5vw,90px)}
.booking-copy h2{font-family:var(--editorial);font-size:clamp(53px,5.4vw,90px);line-height:1.16}
.booking-form{box-shadow:0 25px 75px #091d1733}
.faq{padding-block:130px}
.faq-intro h2{font-family:var(--editorial);font-size:clamp(52px,5.3vw,84px)}
.faq-list details{border-color:#d5d9d0}
.faq-list summary{transition:color .25s}
.faq-list summary:hover{color:#718678}
.footer{background:#152b27}
.booking-strip-inner{min-height:113px;padding:15px}
.book-field{padding-inline:clamp(16px,2.3vw,36px)}
.book-field label{letter-spacing:1.9px}
.book-field input,.book-field select{font-size:14px}
.booking-strip-btn{letter-spacing:1.3px;padding-inline:clamp(16px,2.4vw,35px)}
@media(max-width:1050px){
 .header-inner.shell{width:calc(100% - 48px)}
 .header .nav a{font-size:9px}
 .intro{gap:5%}
 .dining-copy{padding-inline:45px}
}
@media(max-width:900px){
 .header{height:74px}
 .hero h1{font-size:clamp(64px,9vw,98px)}
 .intro{grid-template-columns:1fr;gap:28px;min-height:0}
 .intro-left{padding:0;gap:20px}
 .intro-right h2{font-size:clamp(51px,8vw,75px)}
 .suites-section{padding-block:90px}
 .suite-picture,.suite-card:nth-child(2) .suite-picture{height:clamp(350px,48vw,550px)}
 .experience-layout{grid-template-columns:1fr 1fr;gap:5%}
 .experience-photo{min-height:600px}
 .dining,.dining-image{min-height:570px}
 .dining-copy{padding:45px 30px}
}
@media(max-width:650px){
 .header-inner.shell{width:calc(100% - 30px)}
 .header{height:68px}
 .header .brand-words b{letter-spacing:3px}
 .hero .hero-copy{padding:100px 22px 105px}
 .hero .hero-copy h1{font-size:clamp(49px,12vw,76px);line-height:1.08;letter-spacing:-.04em}
 .hero h1 em{font-size:.89em;line-height:1.06}
 .hero .hero-copy>p{font-size:13px;max-width:340px}
 .hero .hero-buttons{gap:18px}
 .hero .hero-copy .btn{min-height:52px;padding-inline:20px}
 .booking-strip{width:100%}
 .booking-strip-inner{border-inline:0}
 .intro{padding-block:88px}
 .intro-left .small-note{font-size:17px}
 .intro-right h2{font-size:clamp(42px,11vw,65px);letter-spacing:-.045em}
 .intro-right>p{font-size:13px}
 .section-heading h2,.experience-copy h2,.guestbook-head h2,.booking-copy h2,.faq-intro h2{font-size:clamp(42px,10.4vw,64px)}
 .suites-section{padding-block:85px}
 .suites-section .section-heading{margin-bottom:35px}
 .suites-section .suite-grid{gap:40px}
 .suites-section .suite-picture,.suites-section .suite-card:nth-child(2) .suite-picture{height:clamp(410px,118vw,600px)}
 .suite-footer{padding:24px 16px 20px}
 .suite-footer h3{font-size:32px}
 .suite-note{padding-inline:16px}
 .experience{padding-block:85px}
 .experience-layout{grid-template-columns:1fr;gap:40px}
 .experience-photo{min-height:0}
 .dining{grid-template-columns:1fr;min-height:0}
 .dining-image{min-height:0}
 .dining-copy{padding:70px 25px}
 .dining-copy h2{font-size:clamp(46px,11vw,70px)}
 .gallery-section{padding-block:95px}
 .gallery-controls button{width:44px;height:44px}
 .location-text h2{font-size:clamp(44px,10.5vw,66px)}
 .guestbook{padding-block:90px}
 .booking-main{gap:32px}
 .booking-copy h2{font-size:clamp(46px,10vw,66px)}
 .faq{padding-block:85px}
}

/* Header mobile layout correction: never overlap the ARCUS logo. */
@media(max-width:920px){
 .header-inner.shell{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;min-width:0}
 .header .brand{flex:1 1 auto;min-width:0;width:auto;max-width:none}
 .header .header-actions{display:flex;flex:0 0 auto;align-items:center;gap:12px;min-width:0}
 .header .lang-picker{flex:0 0 auto;position:relative;margin:0}
 .header .menu-toggle{flex:0 0 36px;min-width:36px;display:flex;align-items:center;justify-content:center}
 .header .nav{top:100%;z-index:30}
}
@media(max-width:650px){
 .header-inner.shell{width:calc(100% - 32px);max-width:none;gap:12px}
 .header .brand{display:flex;gap:8px;min-width:0;flex:1 1 auto;align-items:center}
 .header .brand .arcus-authentic-mark{width:28px;min-width:28px;flex:0 0 28px}
 .header .brand-words{min-width:0;flex:0 1 auto}
 .header .brand-words b{font-size:clamp(14px,4.1vw,19px);letter-spacing:clamp(2px,.8vw,4px);white-space:nowrap}
 .header .brand-words small{font-size:6px;letter-spacing:1.6px}
 .header .header-actions{flex:0 0 auto;gap:11px;justify-content:flex-end}
 .header .lang-picker{order:0;flex:0 0 auto}
 .header .lang-picker select{min-width:56px;width:56px;height:38px;padding:7px 20px 7px 9px;font-size:11px}
 .header .lang-picker:after{right:8px}
 .header .nav-book{display:none}
 .header .menu-toggle{order:1;width:38px;min-width:38px;flex:0 0 38px;padding:5px}
 .header .menu-toggle span{width:25px}
 .header .nav{top:100%}
}
@media(max-width:370px){
 .header-inner.shell{width:calc(100% - 24px);gap:7px}
 .header .brand{gap:5px}
 .header .brand .arcus-authentic-mark{width:24px;min-width:24px;flex-basis:24px}
 .header .brand-words b{font-size:13px;letter-spacing:2px}
 .header .header-actions{gap:5px}
 .header .lang-picker select{min-width:52px;width:52px}
 .header .menu-toggle{width:32px;min-width:32px;flex-basis:32px}
}

.mobile-book-link{display:none!important}
@media(max-width:920px){.header .nav .mobile-book-link{display:flex!important;color:#25433b;font-weight:700;border-top:1px solid #d9dfd6;padding-top:14px;width:100%}}

/* Always-visible enquiry CTA in mobile header, alongside language and menu. */
@media(max-width:650px){
 .header-inner.shell{gap:7px}
 .header .brand{gap:6px;min-width:0;flex:1 1 auto}
 .header .brand .arcus-authentic-mark{width:25px;min-width:25px;flex-basis:25px}
 .header .brand-words b{font-size:clamp(12px,3.8vw,17px);letter-spacing:clamp(1.5px,.65vw,3px)}
 .header .brand-words small{font-size:5px;letter-spacing:1.2px}
 .header .header-actions{gap:7px}
 .header .lang-picker select{min-width:51px;width:51px;height:34px;padding:6px 17px 6px 7px;font-size:10px}
 .header .lang-picker:after{right:5px}
 .header .nav-book{display:inline-flex;align-items:center;justify-content:center;order:1;flex:0 0 auto;min-width:0;max-width:none;width:auto;height:35px;min-height:35px;padding:0 10px;gap:0;font-size:9px;font-weight:700;letter-spacing:.6px;white-space:nowrap;line-height:1}
 .header .nav-book span{display:none}
 .header .menu-toggle{order:2;flex:0 0 29px;min-width:29px;width:29px;padding:3px}
 .header .menu-toggle span{width:23px}
}
@media(max-width:390px){
 .header-inner.shell{width:calc(100% - 20px);gap:4px}
 .header .brand .arcus-authentic-mark{width:22px;min-width:22px;flex-basis:22px}
 .header .brand-words b{font-size:12px;letter-spacing:1.3px}
 .header .brand-words small{font-size:4.5px;letter-spacing:1px}
 .header .header-actions{gap:4px}
 .header .lang-picker select{width:46px;min-width:46px;padding-right:15px;font-size:9px}
 .header .nav-book{height:33px;min-height:33px;padding-inline:7px;font-size:8px;letter-spacing:.2px}
 .header .menu-toggle{width:26px;min-width:26px;flex-basis:26px}
}

/* Dual booking actions: direct ARCUS enquiry + external Booking.com */
.booking-strip-inner{grid-template-columns:1fr 1fr .8fr 1.25fr 1.25fr;gap:0}
.booking-strip-btn,.booking-strip-external{min-height:76px;margin:0 0 0 10px;padding:12px 15px;display:flex;align-items:center;justify-content:center;gap:12px;text-align:center;line-height:1.45;font-size:10px;font-weight:700;letter-spacing:1.1px;text-transform:uppercase}
.booking-strip-btn{background:#203c37;color:#fff}
.booking-strip-external{background:transparent;color:#203c37;border:1px solid #89998d;transition:background .3s,color .3s,transform .3s}
.booking-strip-external:hover{background:#e7ebe4;transform:translateY(-2px)}
@media(max-width:1100px){
 .booking-strip-inner{grid-template-columns:1fr 1fr 1fr 1.1fr 1.1fr}
 .booking-strip-btn,.booking-strip-external{font-size:9px;letter-spacing:.6px;padding:9px}
}
@media(max-width:750px){
 .booking-strip-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:16px;gap:0}
 .booking-strip-inner .book-field{min-width:0}
 .booking-strip-inner .book-field:nth-child(3){grid-column:1 / -1;border-right:0;border-top:1px solid var(--line);padding-block:14px}
 .booking-strip-btn,.booking-strip-external{grid-column:auto;min-width:0;min-height:62px;margin:0;padding:12px 9px;font-size:9px;letter-spacing:.6px}
 .booking-strip-btn{margin-right:5px}
 .booking-strip-external{margin-left:5px}
}
@media(max-width:390px){
 .booking-strip-btn,.booking-strip-external{font-size:8px;letter-spacing:.2px;padding:9px 5px}
}
