*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#19202b;font-family:Arial,sans-serif;background:#fbfaf7}header{height:78px;background:#fff;display:flex;align-items:center;padding:0 5.5%;gap:34px;position:relative;z-index:5}.logo{width:150px;position:absolute;top:3px;left:7%;z-index:7}nav{margin-left:250px;display:flex;gap:34px;font-size:12px;font-weight:700}nav a{color:#18202a;text-decoration:none;padding:30px 0}nav .active{color:var(--wine);border-bottom:2px solid var(--wine)}.book{display:inline-block;background:var(--wine);color:#fff;text-decoration:none;padding:17px 30px;border-radius:4px;font-weight:700;font-size:13px}.top{margin-left:auto;padding:16px 28px}.lang{font-size:11px}.hero{height:480px;position:relative;background:url('assets/home-hero-evening.webp') center/cover}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.1) 70%)}.heroText{position:absolute;left:5.5%;top:100px;color:#fff}.eyebrow,.gold,.feature span{letter-spacing:5px;color:#d3a74d;font-size:12px}.hero h1{font:52px Georgia,serif;line-height:1.05;margin:15px 0 8px}.hero p{font:21px Georgia,serif;margin:0 0 25px}.ghost{display:inline-block;color:#fff;border:1px solid #fff;padding:16px 28px;margin-left:12px;text-decoration:none;font-size:12px;font-weight:bold}.script{position:absolute;right:4%;bottom:45px;color:#fff;font:italic 30px Georgia,serif;transform:rotate(-8deg)}.searchbox{width:72%;height:88px;margin:-45px auto 0;position:relative;z-index:4;background:#fff;padding:12px;display:grid;grid-template-columns:1fr 1fr 1fr 1.15fr;gap:12px;box-shadow:0 5px 18px #0002}.searchbox>div{border:1px solid #eee;padding:10px 15px}.searchbox small,.searchbox b{display:block;margin-left:25px}.searchbox small{font-size:11px}.searchbox b{font:14px Georgia,serif;color:#667}.searchbox .book{text-align:center;padding-top:22px}.benefits{display:flex;justify-content:space-around;padding:34px 5%;background:#fff}.benefits>div{display:flex;gap:15px;color:var(--wine);font-size:25px}.benefits span{color:#222}.benefits b,.benefits small{display:block}.benefits b{font:15px Georgia,serif}.benefits small{font:12px Georgia,serif;color:#667;margin-top:5px}.rooms{text-align:center;padding:15px 3.5% 25px}.rooms h2{font:34px Georgia,serif;margin:8px 0 22px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;text-align:left}.cards article{background:#fff;box-shadow:0 2px 10px #0001}.cards img{width:100%;height:180px;object-fit:cover}.cards h3{font:18px Georgia,serif;margin:14px 16px 4px}.cards h3 i{float:right}.cards p{font:13px Georgia,serif;color:#59606a;margin:0 16px 16px}.split{display:grid;grid-template-columns:1fr 1fr;height:310px}.feature{position:relative;background-size:cover;background-position:center}.feature:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 25%,rgba(70,0,10,.88))}.breakfast{background-image:url('assets/gallery/gemensamt-04.webp')}.city{background-image:url('assets/gallery/svit-01.webp')}.feature>div{position:absolute;z-index:2;right:7%;top:55px;width:44%;color:#fff}.feature h2{font:27px Georgia,serif;margin:8px 0}.feature p{font:14px Georgia,serif;line-height:1.5}.feature .ghost{margin:5px 0 0;padding:11px 30px}.about{text-align:center;padding:50px 20%;background:#fff}.about h2{font:30px Georgia,serif}.about p{font:15px Georgia,serif;line-height:1.7;color:#555}footer{background:#18202b;color:#fff;display:flex;align-items:center;justify-content:space-around;padding:20px 5%;font:13px Georgia,serif}footer img{width:130px}@media(max-width:900px){nav{display:none}.logo{left:20px;width:110px}.hero h1{font-size:38px}.searchbox{width:92%;grid-template-columns:1fr 1fr;height:auto}.benefits{flex-wrap:wrap;gap:25px}.cards{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr;height:auto}.feature{height:300px}.feature>div{width:55%}footer{flex-wrap:wrap;gap:20px}.top{margin-left:auto}.lang{display:none}}@media(max-width:560px){.cards{grid-template-columns:1fr}.searchbox{grid-template-columns:1fr}.hero{height:520px}.heroText{left:25px}.split{display:block}.about{padding:35px 8%}}

/* Responsive refinements */
a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #d3a74d;outline-offset:5px}.skip{position:absolute;top:-100px}.skip:focus{top:10px;z-index:50;background:white;padding:15px}.menu-toggle{display:none}.booking-strip{grid-template-columns:1.1fr 1.3fr 1fr;align-items:center;height:auto;min-height:88px;border-radius:5px}.booking-strip>div{border:0}.booking-strip small,.booking-strip b{margin:0}.booking-strip small{color:#976f2b;font-size:10px;letter-spacing:1px;margin-bottom:7px}.booking-strip b{font-size:19px;color:#19202b}.booking-strip p{font-size:13px;line-height:1.5;color:#59606a}.booking-strip .book{padding:20px 12px}.card-link{display:block;color:var(--wine);text-decoration:none;font-size:12px;margin:10px 16px 18px}.cards article{border-radius:5px;overflow:hidden}.cards img{display:block}.cards article:hover{box-shadow:0 5px 20px #0002}.cards h3 i{font-style:normal}footer a{color:inherit;text-decoration:none}footer a:hover{text-decoration:underline}nav{gap:22px;margin-left:220px;white-space:nowrap}header{gap:20px}.top{white-space:nowrap}.logo{width:145px}.hero{height:440px}.heroText{top:105px}.cards img{height:165px}.about{padding:32px 18%}.about h2{font-size:27px}.feature span{letter-spacing:2px}.benefits{padding-top:35px}
@media(min-width:1500px){header{padding-left:8%;padding-right:8%}.heroText{left:8%}.hero{height:500px}.hero h1{font-size:60px}.cards img{height:210px}}
@media(max-width:1150px){nav{gap:15px;margin-left:155px;font-size:10px}header{padding:0 3%;gap:15px}.logo{left:3%;width:125px}.top{padding:15px 18px}.booking-strip{width:86%}}
@media(max-width:900px){.menu-toggle{display:block;margin-left:auto;background:white;border:1px solid #ddd;padding:12px;color:#19202b;border-radius:4px}header .top{margin-left:0}nav.open{display:flex;position:absolute;top:78px;left:0;right:0;margin:0;padding:20px;background:#fff;flex-direction:column;gap:0;font-size:13px;box-shadow:0 8px 15px #0002}nav a{padding:13px}.booking-strip{grid-template-columns:1fr 1fr;width:92%}.booking-strip p{display:none}.heroText{left:5%;top:115px}.hero h1{font-size:42px}.script{font-size:23px}.feature>div{width:50%}.benefits>div{min-width:145px}.about{padding:30px 8%}}
@media(max-width:560px){header{height:75px;padding:0 16px}.logo{width:96px;left:15px}.top{font-size:11px;padding:13px 12px}.menu-toggle{font-size:12px;padding:11px}.hero{height:435px}.heroText{left:22px;right:18px;top:110px}.hero h1{font-size:35px}.hero p{font-size:18px;max-width:290px;line-height:1.4}.heroText .book,.heroText .ghost{padding:15px 19px;font-size:11px}.script{display:none}.booking-strip{grid-template-columns:1fr;margin-top:-25px;text-align:center}.booking-strip>div{padding:6px}.booking-strip .book{padding:16px}.benefits{gap:20px;padding:28px 15px}.benefits>div{width:43%;font-size:22px}.benefits b{font-size:14px}.benefits small{font-size:11px}.rooms{padding:15px 18px 24px}.cards{gap:16px}.cards img{height:205px}.feature>div{width:65%;top:38px}.feature:after{background:linear-gradient(90deg,#29000b44,#40000be8)}footer{flex-direction:column;text-align:center;font-size:14px;gap:17px}.eyebrow{letter-spacing:4px;font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Shared pages and rounded image galleries */
.cards article{border-radius:19px}.gallery-image{padding:0;border:0;background:none;display:block;width:100%;cursor:zoom-in;border-radius:19px;overflow:hidden}.gallery-image img{width:100%;display:block;object-fit:cover;border-radius:19px;transition:transform .25s}.gallery-image:hover img{transform:scale(1.025)}.cards .gallery-image{border-radius:19px}.cards .gallery-image img{border-radius:19px}.page-hero{min-height:340px;background-position:center 45%;background-size:cover;display:flex;align-items:center;color:white;padding:70px max(6%,calc((100vw - 1200px)/2)) 45px}.page-hero>div{max-width:720px}.breadcrumb{color:#fff9;font-size:12px;display:block;margin-bottom:26px}.page-hero .eyebrow{display:block;letter-spacing:3px}.page-hero h1{font:52px Georgia,serif;margin:12px 0}.page-hero p{font:20px/1.5 Georgia,serif;margin:0;max-width:620px}.page-content{max-width:1240px;margin:auto;padding:60px 28px}.page-content h2{font:34px/1.2 Georgia,serif;margin:12px 0 22px}.page-content h3{font:23px Georgia,serif}.page-content p{font:16px/1.8 Georgia,serif;color:#59606a}.section-heading{text-align:center;max-width:700px;margin:0 auto 35px}.section-heading .gold{letter-spacing:3px}.editorial,.room-detail{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:start}.editorial>.gallery-image img{min-height:350px;max-height:490px}.editorial>.gallery-image{align-self:center}.text-link{display:block;color:var(--wine);text-decoration:none;margin-top:24px;font-size:14px}.room-gallery{display:grid;gap:18px}.room-gallery img{max-height:440px}.amenities{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:30px 0}.amenities li:before{content:'✓';color:#a77b34;margin-right:10px}.soft-section{background:#f1ede6}.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.info-grid h3{font-size:22px}.travel{grid-template-columns:1fr 1fr}.travel>div{padding:30px;background:white;border:1px solid #eae4da;border-radius:18px}.gallery-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-top:0}.gallery-row img{height:330px}.hours{margin:25px 0 32px;max-width:340px}.hours>div{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid #ded8ce}.hours dd{margin:0;color:var(--wine)}.contact-lines a{display:block;color:var(--wine);font-size:19px;margin:20px 0;overflow-wrap:anywhere}.inquiry{background:white;border:1px solid #e9e3d9;border-radius:20px;padding:30px;box-shadow:0 10px 35px #24100607}.inquiry h2{font-size:28px}.inquiry label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600;margin-bottom:18px}.inquiry input,.inquiry textarea,.inquiry select{width:100%;min-width:0;border:1px solid #d9d4cc;border-radius:8px;padding:12px;font:15px Arial,sans-serif;background:#fdfcfb;color:#19202b}.inquiry input:focus,.inquiry textarea:focus,.inquiry select:focus{outline:2px solid #c6a15b;outline-offset:2px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.inquiry .form-note{font:12px/1.6 Arial,sans-serif}.book{border:0;cursor:pointer}.inquiry .book{width:100%;line-height:1.4}.phone-link{font:30px Georgia,serif;color:var(--wine)}.inquiry .form-status{font:13px/1.5 Arial,sans-serif;color:#740019}.lightbox{border:0;border-radius:20px;background:#171419;color:white;padding:18px;max-width:min(1000px,92vw);max-height:92vh}.lightbox::backdrop{background:#09070adb}.lightbox img{max-width:100%;max-height:74vh;display:block;border-radius:14px;margin:auto}.lightbox p{margin:12px 0 0;text-align:center}.lightbox-close{display:block;margin:0 0 12px auto;border:1px solid #ffffff55;color:white;background:transparent;font-size:26px;width:40px;height:40px;border-radius:50%;cursor:pointer}nav a[aria-current=page]{color:var(--wine);border-bottom:2px solid var(--wine)}.cards h3{font-size:18px}.cards p{font-size:14px;line-height:1.5}.page-content .cards{gap:20px}.page-content .cards img{height:190px}
@media(max-width:900px){.editorial,.room-detail{gap:30px}.info-grid{grid-template-columns:1fr 1fr}.page-hero{padding:80px 6% 40px;min-height:310px}.page-hero h1{font-size:43px}.page-content{padding:40px 24px}.gallery-row{padding-top:0}.page-content h2{font-size:29px}}
@media(max-width:600px){.editorial,.room-detail,.gallery-row,.travel{grid-template-columns:1fr;gap:28px}.page-hero{min-height:300px}.page-hero h1{font-size:38px}.page-hero p{font-size:18px}.page-content{padding:35px 20px}.page-content .cards img{height:230px}.editorial>.gallery-image img{min-height:220px}.gallery-row img{height:230px}.inquiry{padding:22px}.info-grid{gap:20px}.info-grid h3{font-size:20px}.page-content .gold{font-size:10px;letter-spacing:2px}.contact-lines a{font-size:16px}.form-grid{gap:0 10px}.gallery-row{padding-top:0}.travel>div{padding:22px}}
@media(prefers-reduced-motion:reduce){.gallery-image img{transition:none}}
/* Warm ivory background with a quiet brand watermark. */
:root{--ivory:#f5efe5;--paper:#fbf7f0;--gold:#b8924d;--wine:#a00020}body{background:var(--ivory);isolation:isolate}body:before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:url('assets/logo.png') right -65px top 48% / 520px auto no-repeat;filter:grayscale(1) sepia(1) blur(1.8px);opacity:.035}header{background:#fcf8f1}nav{gap:16px;margin-left:200px}nav a{font-size:11px}.benefits,.about{background:transparent}.cards article,.inquiry{background:#fdfaf5}.soft-section{background:#eee5d7b3}.home-gallery-link{text-align:center;padding:36px 20px 16px}.home-gallery-link h2{font:30px Georgia,serif;margin:12px 0 22px}.home-gallery-link .gold{letter-spacing:3px}.rooms .cards{gap:22px}.photo-gallery{min-width:0}.gallery-stage{position:relative;border-radius:22px;overflow:hidden;background:#e7ddd0}.gallery-main img{width:100%;height:390px;object-fit:cover;border-radius:22px}.gallery-main:hover img{transform:none}.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);width:43px;height:43px;border-radius:50%;border:1px solid #fff8;background:#290c12b3;color:white;font:32px Georgia,serif;cursor:pointer;box-shadow:0 2px 12px #0002}.gallery-prev{left:14px}.gallery-next{right:14px}.gallery-count{position:absolute;bottom:15px;right:17px;background:#1c111abf;border-radius:20px;color:white;padding:6px 12px;font-size:12px;pointer-events:none}.gallery-thumbs{display:flex;gap:10px;overflow-x:auto;padding:14px 2px 6px;scrollbar-width:thin;scrollbar-color:#cbb78f transparent}.gallery-thumb{flex:0 0 85px;height:68px;padding:0;border:2px solid transparent;border-radius:12px;overflow:hidden;background:none;cursor:pointer;opacity:.7}.gallery-thumb[aria-pressed=true]{border-color:var(--wine);opacity:1;box-shadow:0 0 0 2px #a0002014}.gallery-thumb img{height:100%;width:100%;object-fit:cover}.page-content .gallery-hint{font:12px Arial,sans-serif;color:#85776a;margin:10px 0}.themed-gallery{max-width:1050px;padding-top:20px}.themed-gallery .gallery-main img{height:490px}.gallery-filters{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin-bottom:18px}.gallery-filters button{padding:10px 17px;border-radius:22px;background:#fcf8f1;border:1px solid #ded0bc;font:13px Arial,sans-serif;color:#5e4b40;cursor:pointer}.gallery-filters button[aria-pressed=true]{background:var(--wine);color:white;border-color:var(--wine)}.filter-status{text-align:center;font-size:13px!important;margin:15px 0 25px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery-grid .gallery-image img{height:245px}.gallery-image[hidden]{display:none}.lightbox-stage{position:relative;display:flex;align-items:center;justify-content:center;min-width:min(75vw,850px)}.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;background:#220914bb;color:white;border:1px solid #fff8;font-size:30px;cursor:pointer;z-index:1}.lightbox-prev{left:10px}.lightbox-next{right:10px}.lightbox{background:#211b18}.page-content:has(>.cards) .cards{grid-template-columns:repeat(3,1fr)}
@media(max-width:1150px){nav{gap:11px;margin-left:145px}nav a{font-size:9px}}@media(max-width:900px){body:before{background-size:380px;background-position:right -100px top 60%}.gallery-grid{grid-template-columns:repeat(2,1fr)}.page-content:has(>.cards) .cards{grid-template-columns:repeat(2,1fr)}.gallery-main img{height:310px}.themed-gallery .gallery-main img{height:400px}nav.open a{font-size:13px}nav.open{margin-left:0;background:#fcf8f1}.lightbox-stage{min-width:75vw}}@media(max-width:600px){body:before{background-size:310px;opacity:.025}.gallery-main img{height:270px}.themed-gallery .gallery-main img{height:280px}.gallery-thumb{flex-basis:74px;height:60px}.gallery-grid{gap:12px}.gallery-grid .gallery-image img{height:160px}.gallery-filters{gap:7px}.gallery-filters button{padding:9px 12px;font-size:12px}.page-content:has(>.cards) .cards{grid-template-columns:1fr}.gallery-arrow{width:38px;height:38px}.home-gallery-link h2{font-size:26px}.lightbox{padding:12px}.lightbox img{max-height:70vh}.lightbox-prev,.lightbox-next{width:34px;height:34px}.lightbox-stage{min-width:78vw}}

/* Repeated, engraved brand marks in the warm paper background. */
body:before{position:absolute;inset:0;min-height:100%;background-image:url('assets/logo-pattern.svg');background-repeat:repeat;background-position:0 0;background-size:720px 640px;filter:none;opacity:1}body{position:relative}.soft-section{background-color:#eee5d780}
@media(max-width:900px){body:before{background-size:620px 550px;background-position:-50px 30px;opacity:.95}}
@media(max-width:600px){body:before{background-size:480px 427px;background-position:-40px 20px;opacity:.8}}

/* Relief logos occupy reserved, mirrored positions beside headings. */
body:before{content:none}body{background:var(--ivory)}.brand-heading{display:grid;grid-template-columns:90px minmax(0,1fr) 90px;align-items:center;gap:30px;max-width:1000px;margin:0 auto 25px}.brand-cutout{display:block;width:90px;height:80px;background:url('assets/logo-relief.svg') center / contain no-repeat;pointer-events:none;opacity:1}.brand-heading-copy{text-align:center;min-width:0}.brand-heading-copy h2{margin-top:8px}.section-heading{max-width:1000px}.section-heading .brand-heading-copy{max-width:680px;margin:auto}.brand-heading-small{grid-template-columns:42px minmax(0,1fr) 42px;gap:12px;margin:5px 0 20px}.brand-heading-small .brand-cutout{width:42px;height:40px}.brand-heading-small h2{font-size:29px;margin:10px 0}.rooms>.brand-heading{max-width:650px;margin-bottom:24px}.home-gallery-link>.brand-heading{max-width:750px;margin-bottom:0}.about{padding-left:7%;padding-right:7%}.about>.brand-heading{max-width:970px;margin-bottom:0}.about>p{max-width:820px;margin:10px auto}.home-gallery-link .brand-heading-copy .book{margin-bottom:10px}
/* Fine gold frames follow the rounded corners of photographs. */
.gallery-image{border:1.5px solid #b8924d;box-shadow:0 2px 8px #8a612010}.gallery-stage{border:1.5px solid #b8924d;box-shadow:0 4px 18px #8a612014}.gallery-stage .gallery-main{border:0;box-shadow:none}.gallery-thumb{border:1px solid #c5a467}.gallery-thumb[aria-pressed=true]{border:2px solid #a77b34;box-shadow:0 0 0 2px #b8924d26}.cards article{border:1px solid #d0b783}.cards article>.gallery-image{margin:7px;width:calc(100% - 14px);border-radius:15px}.cards article>.gallery-image img{border-radius:13px}.hero,.page-hero,.feature{position:relative}.hero:after,.page-hero:after,.feature:before{content:'';position:absolute;inset:12px;border:1px solid #c5a05bcc;border-radius:8px;pointer-events:none;z-index:3}.heroText,.page-hero>div{position:relative;z-index:4}.heroText{position:absolute}.feature>div{z-index:4}.lightbox img{border:1px solid #b8924d}.booking-strip{border:1px solid #cfb27b}.travel>div{border-color:#cfb27b}
@media(max-width:900px){.brand-heading{grid-template-columns:64px minmax(0,1fr) 64px;gap:18px}.brand-cutout{width:64px;height:59px}.brand-heading-small{grid-template-columns:34px minmax(0,1fr) 34px;gap:8px}.brand-heading-small .brand-cutout{width:34px;height:32px}.brand-heading-small h2{font-size:25px}.about{padding:32px 5%}}
@media(max-width:600px){.brand-heading{grid-template-columns:42px minmax(0,1fr) 42px;gap:10px}.brand-cutout{width:42px;height:40px}.brand-heading-copy .gold{letter-spacing:1.5px;font-size:9px}.brand-heading-copy h2{font-size:25px}.brand-heading-small{grid-template-columns:30px minmax(0,1fr) 30px;gap:8px}.brand-heading-small .brand-cutout{width:30px;height:29px}.brand-heading-small h2{font-size:24px}.hero:after,.page-hero:after,.feature:before{inset:8px;border-radius:6px}.about .brand-heading-copy h2{font-size:23px}.cards article>.gallery-image{margin:6px;width:calc(100% - 12px)}}

/* Stronger, larger relief marks remain in their reserved heading cells. */
.brand-heading{grid-template-columns:110px minmax(0,1fr) 110px}.brand-cutout{width:110px;height:98px;background-image:url('assets/logo-relief.svg?v=2')}.brand-heading-small{grid-template-columns:52px minmax(0,1fr) 52px}.brand-heading-small .brand-cutout{width:52px;height:47px}
@media(max-width:900px){.brand-heading{grid-template-columns:78px minmax(0,1fr) 78px}.brand-cutout{width:78px;height:70px}.brand-heading-small{grid-template-columns:42px minmax(0,1fr) 42px}.brand-heading-small .brand-cutout{width:42px;height:38px}}
@media(max-width:600px){.brand-heading{grid-template-columns:50px minmax(0,1fr) 50px;gap:9px}.brand-cutout{width:50px;height:46px}.brand-heading-small{grid-template-columns:34px minmax(0,1fr) 34px}.brand-heading-small .brand-cutout{width:34px;height:31px}}

/* Only two large, soft relief logos flank the gallery invitation. */
.brand-heading:not(.bottom-cutouts){display:block}.home-gallery-link{padding:20px 24px 12px}.home-gallery-link>.bottom-cutouts{display:grid;grid-template-columns:minmax(0,385px) minmax(280px,1fr) minmax(0,385px);max-width:1450px;gap:24px;align-items:center;margin:0 auto}.bottom-cutouts .brand-cutout{display:block;width:100%;height:auto;aspect-ratio:220/194;max-width:385px;background-size:contain;opacity:.58}.bottom-cutouts .brand-heading-copy{padding:15px 0}.bottom-cutouts .brand-heading-copy h2{font-size:30px;line-height:1.25}.brand-heading-small h2{text-align:left}
@media(max-width:1100px){.home-gallery-link>.bottom-cutouts{grid-template-columns:minmax(0,1fr) minmax(250px,1.3fr) minmax(0,1fr);gap:18px}.bottom-cutouts .brand-heading-copy h2{font-size:27px}}
@media(max-width:600px){.home-gallery-link{padding:28px 12px 15px}.home-gallery-link>.bottom-cutouts{grid-template-columns:minmax(0,1fr) minmax(160px,1.9fr) minmax(0,1fr);gap:7px}.bottom-cutouts .brand-cutout{opacity:.65}.bottom-cutouts .brand-heading-copy h2{font-size:22px}.bottom-cutouts .brand-heading-copy .gold{font-size:8px;letter-spacing:1px}.bottom-cutouts .book{font-size:10px;padding:13px 16px}}
/* Compact category and image rails: six photographs visible on desktop. */
.rail-shell{position:relative;padding:0 44px}.rail-arrow{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:42px;border:1px solid #b8924d;border-radius:10px;background:#fcf8f1;color:var(--wine);font:30px Georgia,serif;cursor:pointer;z-index:2}.rail-back{left:0}.rail-forward{right:0}.rail-arrow:disabled{opacity:.3;cursor:default}.category-rail,.gallery-rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding:3px 1px 8px}.category-rail::-webkit-scrollbar,.gallery-rail::-webkit-scrollbar{display:none}.category-card{flex:0 0 calc((100% - 70px)/6);min-width:0;scroll-snap-align:start;display:block;text-align:left;text-decoration:none;color:#19202b;border:1px solid #b8924d;border-radius:15px;background:#fcf8f1;overflow:hidden}.category-card img{width:100%;height:128px;object-fit:cover;display:block;border-bottom:1px solid #c5a467}.category-card-title{display:block;font:16px Georgia,serif;padding:12px 10px 5px}.category-card small{display:block;font-size:11px;color:#907449;padding:0 10px 12px}.compact-categories{padding:20px 3.5% 25px}.compact-categories h2{font-size:30px;margin:9px 0 18px}.gallery-rail>.gallery-image{flex:0 0 calc((100% - 70px)/6);min-width:0;scroll-snap-align:start}.gallery-rail>.gallery-image[hidden]{display:none}.gallery-grid.gallery-rail{display:flex;gap:14px}.gallery-grid.gallery-rail .gallery-image img{height:140px;border-radius:14px}.gallery-grid.gallery-rail .gallery-image{border-radius:15px}.compact-gallery-page .page-hero{min-height:180px;padding:28px 6% 22px}.compact-gallery-page .page-hero h1{font-size:37px;margin:8px 0}.compact-gallery-page .breadcrumb{margin-bottom:12px}.compact-gallery-page .page-hero p{font-size:17px}.compact-gallery-page .page-content{max-width:1500px;padding:26px 26px 34px}.compact-gallery-page .gallery-filters{gap:7px;margin-bottom:12px}.compact-gallery-page .gallery-filters button{padding:8px 13px;font-size:12px}.compact-gallery-page .filter-status{margin:8px 0 14px}.gallery-help{font:12px/1.5 Arial,sans-serif!important;color:#8b7b6b!important;text-align:center;margin:10px 0 0}.themed-gallery{padding-top:15px;padding-bottom:30px}.themed-gallery .section-heading{margin-bottom:18px}.themed-gallery .section-heading h2{font-size:28px;margin:8px 0}.compact-photo-strip .rail-shell{padding:0 32px}.compact-photo-strip .rail-arrow{width:27px;height:38px}.room-detail .gallery-rail>.gallery-image{flex-basis:calc((100% - 42px)/4)}.room-detail .gallery-rail .gallery-image img{height:110px}.compact-photo-strip{align-self:center;min-width:0}.viewer-open{overflow:hidden}.lightbox{max-width:96vw;max-height:96vh}.lightbox-stage{min-width:min(85vw,1350px)}.lightbox img{max-width:88vw;max-height:80vh;width:auto;height:auto;object-fit:contain}.lightbox p{font-size:13px}
@media(max-width:1100px){.category-card{flex-basis:calc((100% - 56px)/5)}.gallery-rail>.gallery-image{flex-basis:calc((100% - 56px)/5)}.category-card img{height:112px}.category-card-title{font-size:14px}}
@media(max-width:800px){.category-card,.gallery-rail>.gallery-image{flex-basis:calc((100% - 42px)/4)}.category-card img{height:108px}.room-detail .gallery-rail>.gallery-image{flex-basis:calc((100% - 14px)/2)}.compact-gallery-page .page-content{padding:22px 16px}.gallery-grid.gallery-rail .gallery-image img{height:120px}}
@media(max-width:560px){.rail-shell{padding:0 30px}.rail-arrow{width:25px;height:36px}.category-card,.gallery-rail>.gallery-image{flex-basis:calc((100% - 14px)/2)}.category-card img{height:114px}.category-card-title{font-size:15px}.compact-categories{padding:17px 14px 22px}.compact-categories h2{font-size:26px}.compact-gallery-page .page-hero{min-height:155px;padding:24px 20px}.compact-gallery-page .page-hero h1{font-size:30px}.compact-gallery-page .page-hero p{font-size:14px}.compact-gallery-page .eyebrow{font-size:9px}.compact-gallery-page .gallery-filters button{font-size:11px;padding:7px 10px}.compact-gallery-page .page-content{padding:20px 12px 28px}.gallery-grid.gallery-rail .gallery-image img{height:125px}.lightbox-stage{min-width:84vw}.lightbox img{max-width:87vw;max-height:78vh}}
/* Practical guest information, in compact warm-paper panels. */
.home-practical{max-width:1200px;margin:24px auto 8px;padding:0 26px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.home-practical>a{padding:20px 24px;background:#fcf8f1;border:1px solid #ccb17d;border-radius:15px;text-decoration:none;color:#19202b}.home-practical span,.home-practical strong,.home-practical small{display:block}.home-practical span{font-size:10px;letter-spacing:1.4px;color:#957538}.home-practical strong{font:23px Georgia,serif;margin:10px 0}.home-practical small{font-size:12px;color:var(--wine)}.guest-hero{min-height:230px;padding-top:45px;padding-bottom:35px}.guest-hero h1{font-size:43px}.guest-highlights{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #c7aa73;border-radius:16px;background:#fcf8f1;margin-bottom:26px;overflow:hidden}.guest-highlights>div{text-align:center;padding:23px 18px}.guest-highlights>div+div{border-left:1px solid #e3d4bc}.guest-highlights span{display:block;font-size:10px;letter-spacing:1.5px;color:#9a793e}.guest-highlights strong{display:block;font:25px Georgia,serif;margin-top:10px}.guest-faq{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.guest-detail{border:1px solid #d3bc90;border-radius:13px;background:#fcf8f1;overflow:hidden}.guest-detail summary{padding:19px 22px;cursor:pointer;font:19px Georgia,serif;list-style:none;display:flex;justify-content:space-between;gap:12px}.guest-detail summary:after{content:'+';color:#a48243;font:23px Arial,sans-serif}.guest-detail[open] summary:after{content:'−'}.guest-detail summary::-webkit-details-marker{display:none}.guest-detail[open] summary{border-bottom:1px solid #eadfce}.guest-detail>div{padding:5px 22px 20px}.guest-detail p{font-size:15px;line-height:1.7}.guest-detail a{color:var(--wine)}.guest-help{text-align:center;margin-top:35px;padding-top:10px}.guest-help h2{font-size:28px}.guest-guide-link{margin-top:20px}.breakfast-prices{display:flex;gap:35px;padding:18px 22px;border:1px solid #c7aa73;background:#fcf8f1;border-radius:13px;max-width:390px;margin:22px 0 12px}.breakfast-prices strong{display:block;font:29px Georgia,serif;color:var(--wine)}.breakfast-prices span{display:block;font-size:13px;color:#87765f;margin-top:6px}.page-content .diet-note{font-size:14px}.local-info{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding-top:0}.local-card{padding:28px;border:1px solid #c7aa73;background:#fcf8f1;border-radius:18px;scroll-margin-top:25px}.local-card h2{font-size:29px}.parking-price{font:28px Georgia,serif;color:var(--wine)}.room-service-note{margin-top:24px;padding:16px 18px;border-left:2px solid #b8924d;background:#fcf8f199}.room-service-note p{font-size:14px;margin:0}.room-service-note .text-link{font-size:12px;line-height:1.6;margin-top:10px}
@media(max-width:800px){.home-practical{gap:12px;padding:0 20px}.home-practical>a{padding:18px 15px}.home-practical strong{font-size:20px}.guest-faq{gap:12px}.guest-detail summary{font-size:17px;padding:17px}.guest-detail>div{padding:5px 17px 17px}.local-info{gap:16px}.local-card{padding:22px}}
@media(max-width:560px){.home-practical,.guest-faq,.local-info{grid-template-columns:1fr}.home-practical{margin-top:18px}.home-practical>a{padding:17px 20px}.home-practical strong{font-size:23px;margin:7px 0}.guest-highlights{grid-template-columns:1fr}.guest-highlights>div{padding:17px}.guest-highlights>div+div{border-left:0;border-top:1px solid #e3d4bc}.guest-highlights strong{font-size:22px;margin-top:6px}.guest-hero{min-height:210px;padding:30px 20px}.guest-hero h1{font-size:34px}.guest-detail summary{font-size:19px}.breakfast-prices{gap:28px}.local-info{padding-top:0}.local-card{padding:23px}}

/* Reference-style paired banners: clear photographs fading into burgundy/plum. */
.split{height:310px;grid-template-columns:1fr 1fr}.split .feature{height:310px;overflow:hidden;background-size:cover;background-position:left center}.split .breakfast{background-image:url('assets/banner-breakfast-room.webp');background-position:left 55%}.split .city{background-image:url('assets/banner-stockholm-night.webp');background-position:left center}.split .feature:after{background:linear-gradient(90deg,rgba(26,8,18,0) 0%,rgba(35,8,24,.04) 34%,rgba(42,10,29,.42) 49%,rgba(54,11,35,.86) 66%,rgba(76,10,37,.95) 82%,rgba(106,5,29,.98) 100%)}.split .feature>div{width:38%;right:6%;top:50%;transform:translateY(-50%);color:#fff}.split .feature span{font-size:10px;letter-spacing:2.5px;color:#e1be7d;line-height:1.5;display:block}.split .feature h2{font:25px/1.12 Georgia,serif;margin:10px 0 12px}.split .feature p{font:14px/1.55 Georgia,serif;color:#fff6ef;margin:0 0 16px}.split .feature .ghost{padding:11px 24px;border-color:#f3dfc9cc;border-radius:4px;margin:0;background:#22051222}.split .feature .ghost:hover{background:#ffffff14}.split .feature:before{border-color:#c7a25ecc}
@media(min-width:1500px){.split .feature h2{font-size:29px}.split .feature p{font-size:16px}.split .feature span{font-size:11px}}
@media(max-width:1100px){.split .feature>div{width:43%;right:5%}.split .feature h2{font-size:23px}.split .feature p{font-size:13px}.split .feature span{font-size:9px;letter-spacing:1.7px}}
@media(max-width:900px){.split{height:auto;grid-template-columns:1fr}.split .feature{height:285px}.split .feature>div{width:37%;right:7%}.split .feature h2{font-size:27px}.split .feature p{font-size:14px}.split .feature span{font-size:10px}}
@media(max-width:560px){.split .feature{height:290px}.split .feature>div{width:52%;right:6%}.split .feature h2{font-size:24px}.split .feature p{font-size:13px}.split .feature span{font-size:9px;letter-spacing:1.5px}.split .feature:after{background:linear-gradient(90deg,#22091600 0%,#2c09242b 20%,#350c269c 40%,#440b2ce8 64%,#69051efa 100%)}.split .feature .ghost{font-size:11px;padding:10px 20px}}

/* Tighter homepage benefits, centered four-category rail and smaller service links. */
#hem .benefits{max-width:1020px;margin:0 auto;justify-content:center;gap:58px;padding:31px 24px 24px}#hem .benefits>div{flex:0 1 auto;gap:13px}#hem .compact-categories{max-width:1080px;margin:0 auto;padding:18px 28px 26px}#category-rail .category-card{flex-basis:calc((100% - 42px)/4)}#category-rail .category-card img{height:140px}#category-rail .category-card-title{font-size:17px;padding:12px 12px 5px}#category-rail .category-card small{padding:0 12px 12px}#hem .home-practical{max-width:890px;gap:15px;margin:19px auto 5px;padding:0 22px}#hem .home-practical>a{padding:14px 17px;border-radius:12px}#hem .home-practical span{font-size:9px;letter-spacing:1.1px}#hem .home-practical strong{font-size:20px;margin:8px 0}#hem .home-practical small{font-size:11px}
@media(max-width:1000px){#hem .benefits{gap:30px;padding-left:20px;padding-right:20px}#hem .benefits>div{min-width:0}#hem .compact-categories{max-width:950px;padding-left:22px;padding-right:22px}#category-rail .category-card img{height:125px}#category-rail .category-card-title{font-size:15px}}
@media(max-width:700px){#hem .benefits{display:grid;grid-template-columns:repeat(2,max-content);gap:22px 28px;justify-content:center}#hem .benefits>div{width:auto}#hem .home-practical{gap:10px;padding:0 16px}#hem .home-practical>a{padding:13px 14px}#hem .home-practical strong{font-size:18px}}
@media(max-width:560px){#hem .compact-categories{padding:17px 16px 22px}#category-rail .category-card{flex-basis:calc((100% - 14px)/2)}#category-rail .category-card img{height:120px}#hem .home-practical{max-width:360px;grid-template-columns:1fr;margin-top:16px}#hem .home-practical>a{padding:13px 18px}#hem .home-practical strong{font-size:20px;margin:6px 0}#hem .benefits{gap:22px 20px;padding:26px 14px 20px}}

/* Full-width Sirvoy booking engine with the shared warm hotel frame. */
.booking-engine-page .page-hero{min-height:225px;padding-top:40px;padding-bottom:35px}.booking-engine-page .page-hero h1{font-size:42px}.booking-engine-content{max-width:1150px;padding-top:35px;scroll-margin-top:25px}.booking-engine-intro{text-align:center;max-width:760px;margin:0 auto 24px}.booking-engine-intro h2{font-size:32px;margin:10px 0 12px}.booking-engine-intro p{font-size:15px;line-height:1.65;margin:0}.booking-engine-panel{min-height:260px;padding:24px;background:#fcf8f1;border:1px solid #bd9a57;border-radius:18px;box-shadow:0 5px 22px #5d35100b}.booking-engine-panel iframe{max-width:100%;border:0}.booking-engine-help{display:flex;justify-content:center;align-items:center;gap:22px;flex-wrap:wrap;padding:24px 12px 5px;font-size:14px;color:#72675b}.booking-engine-help a{color:var(--wine);text-decoration:none}.booking-engine-help a:hover{text-decoration:underline}
@media(max-width:600px){.booking-engine-page .page-hero{min-height:195px;padding:30px 20px}.booking-engine-page .page-hero h1{font-size:33px}.booking-engine-content{padding:26px 13px 32px}.booking-engine-panel{padding:13px 9px;border-radius:13px}.booking-engine-intro h2{font-size:28px}.booking-engine-intro p{font-size:14px}.booking-engine-help{gap:12px 20px;text-align:center}.booking-engine-help>span{width:100%}}
/* Language choice is available in both desktop and mobile headers. */
.language-switch{display:flex;align-items:center;gap:5px;flex-shrink:0;white-space:nowrap;font:11px Arial,sans-serif}.language-switch a{color:#69584b;text-decoration:none;padding:7px 3px;border-bottom:1px solid transparent}.language-switch a[aria-current=true]{color:var(--wine);border-bottom-color:var(--wine);font-weight:700}.language-switch span{color:#b7a58c}.language-switch a:hover{color:var(--wine)}header{gap:16px}html[lang=en] nav{gap:12px}html[lang=en] .category-card-title{font-size:15px}html[lang=en] .guest-detail summary{font-size:18px}
@media(min-width:901px) and (max-width:1150px){header{gap:10px}header .top{font-size:11px;padding:14px 15px}html[lang=en] nav{gap:9px}}
@media(max-width:900px){header{gap:10px}.language-switch{font-size:11px}.language-switch a{padding:8px 2px}html[lang=en] nav.open{gap:0}html[lang=en] nav.open a{font-size:13px}}
@media(max-width:560px){header{padding-left:12px;padding-right:12px;gap:7px}.logo{left:12px;width:88px}.menu-toggle{padding:10px 8px;font-size:11px}header .top{padding:12px 9px;font-size:10px}.language-switch{gap:3px;font-size:10px}html[lang=en] .hero h1{font-size:33px}html[lang=en] .feature>div{width:54%}html[lang=en] .category-card-title{font-size:14px}}
@media(max-width:400px){header{height:88px}.logo{width:76px;top:1px;left:10px}.language-switch{position:absolute;left:17px;bottom:0;gap:5px}.menu-toggle{margin-left:auto}nav.open{top:88px}}

/* Compact central booking prompt, hotel-red image panels and larger header logo. */
.logo{width:170px}
.booking-strip{display:flex;justify-content:center;align-items:center;gap:clamp(24px,5vw,64px);padding:18px 28px}
.booking-strip>div{flex:0 1 auto;padding:0;text-align:left}
.booking-strip .book{flex:0 0 auto;padding:16px 26px}
.split .feature:after{background:linear-gradient(90deg,rgba(42,2,10,0) 0%,rgba(55,2,13,.04) 34%,rgba(76,2,17,.45) 49%,rgba(103,0,22,.89) 66%,rgba(133,0,27,.96) 82%,rgba(158,0,30,.98) 100%)}
@media(max-width:1150px){.logo{width:145px}}
@media(max-width:900px){.logo{width:135px}.booking-strip{gap:28px}}
@media(max-width:560px){
  .logo{width:102px}
  .booking-strip{flex-direction:column;gap:14px;padding:18px}
  .booking-strip>div{text-align:center}
  .booking-strip .book{padding:14px 24px}
  .split .feature:after{background:linear-gradient(90deg,rgba(55,2,13,0) 0%,rgba(76,2,17,.17) 20%,rgba(103,0,22,.61) 40%,rgba(133,0,27,.91) 64%,rgba(158,0,30,.98) 100%)}
}
@media(max-width:400px){.logo{width:88px}}

/* Narrower booking card and compact homepage gallery with floating relief logos. */
#hem .booking-strip{width:50.4%}
#hem .home-practical{position:relative;z-index:1}
#hem .home-gallery-link{position:relative;isolation:isolate;z-index:0;padding:12px 24px 6px}
#hem .home-gallery-link>.bottom-cutouts{display:block;position:relative;min-height:0}
#hem .bottom-cutouts .brand-heading-copy{position:relative;z-index:1;width:54%;max-width:560px;margin:0 auto;padding:8px 0}
#hem .bottom-cutouts .brand-cutout{position:absolute;top:50%;left:0;transform:translateY(-50%);width:27%;max-width:385px;z-index:-1;pointer-events:none}
#hem .bottom-cutouts .brand-cutout:last-child{left:auto;right:0}
#hem .home-gallery-link h2{margin:10px 0 16px}
#hem .home-gallery-link .brand-heading-copy .book{margin-bottom:0}
#hem .about{position:relative;padding-top:14px;padding-bottom:28px}
@media(max-width:1150px){#hem .booking-strip{width:60.2%}}
@media(max-width:900px){#hem .booking-strip{width:64.4%}}
@media(max-width:560px){
  #hem .booking-strip{width:calc(100% - 32px);max-width:420px}
  #hem .home-gallery-link{padding:10px 12px 4px}
  #hem .bottom-cutouts .brand-heading-copy{width:58%;padding:8px 0}
  #hem .bottom-cutouts .brand-cutout{width:21%}
  #hem .about{padding-top:10px;padding-bottom:24px}
}

/* Clean gallery banner: centre title away from the overlapping header logo. */
.compact-gallery-page .page-hero{justify-content:center;text-align:center;padding:34px 24px;min-height:180px}
.compact-gallery-page .page-hero>div{width:100%;max-width:720px;margin:0 auto}
.compact-gallery-page .page-hero p{margin:0 auto}
@media(max-width:560px){.compact-gallery-page .page-hero{min-height:155px;padding:32px 20px 24px}}

/* Phone numbers are selectable text, without call links or button styling. */
.phone-number{cursor:text}
.contact-lines .phone-number{display:block;color:var(--wine);font-size:19px;margin:20px 0;overflow-wrap:anywhere}
.guest-help>.phone-number{display:inline-block;font:22px Georgia,serif;color:var(--wine);margin:6px 0}
@media(max-width:600px){.contact-lines .phone-number{font-size:16px}}

/* Guest portal: the surrounding page follows the hotel's booking design. */
.guest-portal-page .page-hero{justify-content:center;text-align:center;min-height:180px;padding:34px 24px}
.guest-portal-page .page-hero>div{width:100%;margin:0 auto}
.guest-portal-page .page-hero p{margin:0 auto}
.guest-portal-page .booking-engine-content{max-width:960px;padding-top:30px}
.guest-portal-page .booking-engine-panel{max-width:820px;margin:0 auto}
.guest-portal-callout{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:24px 28px;margin:0 0 26px;border:1px solid #bd9a57;border-radius:16px;background:#fcf8f1;box-shadow:0 4px 18px #5d351008}
.guest-portal-callout .gold{font-size:10px;letter-spacing:2px}
.guest-portal-callout h2{font:27px/1.2 Georgia,serif;margin:8px 0}
.guest-portal-callout p{font:14px/1.6 Arial,sans-serif;margin:0;max-width:570px}
.guest-portal-callout .book{flex:0 0 auto;white-space:nowrap;padding:15px 22px}
.existing-booking-link{text-align:center;font:14px/1.6 Arial,sans-serif!important;margin:0 0 20px;color:#72675b!important}
.existing-booking-link a{color:var(--wine);font-weight:700;text-decoration:none;margin-left:8px}
.existing-booking-link a:hover{text-decoration:underline}
@media(max-width:600px){
 .guest-portal-page .page-hero{min-height:160px;padding:32px 20px 24px}
 .guest-portal-page .page-hero h1{font-size:34px}
 .guest-portal-page .booking-engine-intro .gold{letter-spacing:2px}
 .guest-portal-callout{flex-direction:column;align-items:flex-start;gap:18px;padding:22px}
 .guest-portal-callout h2{font-size:24px}
 .existing-booking-link a{display:block;margin-left:0}
}

/* Paired booking actions inside the compact card. */
#hem .booking-strip{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:13px;padding:16px 24px}
#hem .booking-strip>.booking-strip-copy{text-align:center;min-width:0}
#hem .booking-strip>.booking-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;max-width:460px;padding:0;text-align:center}
#hem .booking-actions .book{display:flex;align-items:center;justify-content:center;min-width:0;min-height:46px;padding:14px 16px;white-space:normal;line-height:1.4}
/* Keep the external form's automatic height: compact its frame, not its fields. */
.guest-portal-page .page-hero{min-height:150px;padding:28px 24px}
.guest-portal-page .page-hero h1{font-size:36px;margin:6px 0 10px}
.guest-portal-page .page-hero p{font-size:17px}
.guest-portal-page .booking-engine-content{max-width:760px;padding:22px 20px 28px}
.guest-portal-page .booking-engine-intro{margin:0 auto 14px;max-width:640px}
.guest-portal-page .booking-engine-intro p{font:14px/1.5 Arial,sans-serif}
.guest-portal-page .booking-engine-panel{max-width:680px;min-height:0;padding:12px 16px;border-radius:14px}
.guest-portal-page .booking-engine-panel iframe{display:block;max-width:100%}
.guest-portal-page .booking-engine-help{padding:14px 0 0;gap:10px 18px;font-size:13px}
/* A real logo column and separate, tappable language row on mobile/tablet. */
@media(max-width:900px){
 header{display:grid;grid-template-columns:minmax(80px,1fr) auto auto;grid-template-rows:44px 32px;height:90px;padding:6px 16px;gap:0 10px}
 header>a:first-child{grid-column:1;grid-row:1/3;display:flex;align-items:center;width:100%;max-width:110px;min-width:0;position:relative;z-index:1}
 header .logo{position:static;display:block;width:110px;max-width:100%;height:76px;object-fit:contain;object-position:left center;top:auto;left:auto}
 header .menu-toggle{grid-column:2;grid-row:1;margin:0;white-space:nowrap}
 header .top{grid-column:3;grid-row:1;margin:0;white-space:nowrap}
 header .language-switch{grid-column:2/4;grid-row:2;position:relative;left:auto;right:auto;top:auto;bottom:auto;justify-self:end;align-self:center;z-index:10;gap:6px}
 header .language-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:30px;padding:4px 8px;font-size:11px}
 header nav.open{top:90px;z-index:20}
}
@media(max-width:700px){
 #hem .benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:100%;justify-content:stretch;gap:20px 16px;padding:24px 16px}
 #hem .benefits>div{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:8px;width:100%;min-width:0;font-size:22px}
 #hem .benefits>div>span{min-width:0;text-align:left}
 #hem .benefits b{font-size:14px;white-space:normal;overflow-wrap:anywhere;line-height:1.3}
 #hem .benefits small{font-size:11px;white-space:normal;overflow-wrap:anywhere;line-height:1.4}
}
@media(max-width:560px){
 header{padding-left:12px;padding-right:12px;column-gap:8px}
 header .menu-toggle{padding:10px 8px;font-size:11px}
 header .top{padding:12px 9px;font-size:10px}
 #hem .booking-strip{padding:16px;gap:13px}
 #hem .booking-strip>.booking-actions{gap:10px}
 #hem .booking-actions .book{padding:12px 7px;font-size:11px;min-height:48px}
 .guest-portal-page .page-hero{min-height:130px;padding:24px 20px}
 .guest-portal-page .page-hero h1{font-size:30px}
 .guest-portal-page .page-hero p{font-size:15px}
 .guest-portal-page .booking-engine-content{padding:18px 12px 24px}
 .guest-portal-page .booking-engine-panel{padding:8px;min-height:0}
}

/* Cancellation deadline alongside the hotel's practical stay information. */
.booking-rules{margin:26px 0 0;padding:20px 24px;border-left:3px solid #b8924d;border-radius:0 12px 12px 0;background:#fcf8f1}
.booking-rules h3{margin:0 0 10px}
.booking-rules p{margin:0;max-width:900px}
@media(max-width:600px){.booking-rules{padding:18px;margin-top:22px}}

/* Shared design rules: warm paper, consistent wine red, readable labels and balanced columns. */
:root{--wine:#a00020;--wine-hover:#7b0018;--ivory:#f5efe5;--paper:#fcf8f1;--gold:#b8924d;--gold-line:#cfb783;--gold-text:#80602b;--ink:#19202b;--muted:#625b53}
body{color:var(--ink);line-height:1.6}
main,section,.editorial>div,.room-detail>div,.cards article,.booking-engine-panel{min-width:0}
img{max-width:100%;height:auto}
.gold{color:var(--gold-text)}
.book{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;background:var(--wine);border-radius:8px;color:#fff;text-align:center;line-height:1.4;transition:background-color .15s}
.book:hover{background:var(--wine-hover)}
.text-link,.card-link,.contact-lines a,.guest-detail a{color:var(--wine)}
.text-link:hover,.card-link:hover,.contact-lines a:hover,.guest-detail a:hover{text-decoration:underline;text-underline-offset:3px}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--wine);outline-offset:4px}
.page-hero{justify-content:center;text-align:center;min-height:250px;padding:44px 24px 36px}
.page-hero>div{width:100%;max-width:900px;margin:0 auto}
.page-hero h1{font:44px/1.15 Georgia,serif;margin:8px 0 12px}
.page-hero p{font:18px/1.5 Georgia,serif;margin:0 auto;max-width:720px}
.page-hero .eyebrow{color:#e1be7d}
.page-content{padding-top:42px;padding-bottom:42px}
.page-content p{font:15px/1.75 Arial,sans-serif;color:var(--muted)}
.editorial,.room-detail{gap:40px}
.section-heading h2,.brand-heading-copy h2{line-height:1.25}
.cards article{display:flex;flex-direction:column;border-color:var(--gold-line);background:var(--paper)}
.cards article>.gallery-image{flex:0 0 auto}
.cards .card-link{margin-top:auto;padding-top:12px;align-self:flex-start}
.cards h3{line-height:1.3}
.cards p{line-height:1.6}
.amenities{gap:12px 20px}
.info-grid{gap:26px}
.info-grid>div{min-width:0}
.inquiry{border-color:var(--gold-line);background:var(--paper)}
.inquiry input,.inquiry textarea,.inquiry select{background:#fffdf9;border-color:#d0c0a4}
.form-status:empty{display:none}
.guest-detail summary{align-items:center;line-height:1.35}
.guest-highlights strong{line-height:1.25}
.gallery-filters button{min-height:36px}
.gallery-filters button:hover:not([aria-pressed=true]){border-color:var(--wine)}
.rail-arrow::before{content:'';position:absolute;inset:-5px}
.lightbox{padding:14px;overflow:auto}
.lightbox-stage{min-width:0;width:min(86vw,1350px)}
.lightbox img{max-width:100%;max-height:calc(92vh - 120px);max-height:calc(92dvh - 120px)}
.lightbox-close,.lightbox-prev,.lightbox-next{min-width:44px;min-height:44px}
.compact-gallery-page .page-content{padding-top:24px;padding-bottom:30px}
.booking-engine-page .page-hero{min-height:205px;padding:34px 24px 28px}
.guest-portal-page .page-hero{min-height:150px;padding:28px 24px}
.booking-engine-content{padding-top:28px;padding-bottom:30px}
.booking-engine-panel{min-width:0;background:var(--paper);border-color:var(--gold)}
.booking-engine-panel .sbw{max-width:100%;min-width:0}
.booking-engine-help{line-height:1.6}
footer>div{min-width:0;line-height:1.7}
footer a{overflow-wrap:anywhere}
@media(min-width:901px){header{min-height:78px}header nav{min-width:0}header .language-switch{position:relative;z-index:8}}
@media(max-width:900px){
 .editorial,.room-detail{gap:28px}
 .page-hero{min-height:220px;padding:36px 24px 30px}
 .page-hero h1{font-size:38px}
 .page-content{padding-top:32px;padding-bottom:32px}
 .info-grid{gap:22px}
}
@media(max-width:600px){
 .page-hero{min-height:190px;padding:32px 20px 28px}
 .page-hero h1{font-size:32px}
 .page-hero p{font-size:16px;line-height:1.5}
 .page-content{padding:28px 18px}
 .page-content h2{font-size:27px}
 .page-content h3{font-size:21px}
 .page-content p{font-size:15px;line-height:1.7}
 .page-content .cards h3{font-size:18px}
 .editorial,.room-detail{gap:24px}
 .amenities{gap:12px;font-size:14px}
 .inquiry{padding:22px 18px}
 .inquiry input,.inquiry textarea,.inquiry select{font-size:16px}
 .guest-detail summary{font-size:18px;padding:17px 18px}
 .guest-detail>div{padding:4px 18px 16px}
 .compact-gallery-page .page-hero{min-height:155px;padding:28px 20px}
 .compact-gallery-page .page-content{padding:22px 12px 26px}
 .booking-engine-page .page-hero{min-height:175px;padding:30px 20px 24px}
 .booking-engine-page .page-hero h1{font-size:32px}
 .guest-portal-page .page-hero{min-height:130px;padding:24px 20px}
 .guest-portal-page .page-hero h1{font-size:30px}
 .guest-portal-page .booking-engine-content{padding:18px 12px 24px}
 .lightbox-stage{width:84vw}
 footer{gap:16px;padding:24px 18px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Long mobile menus remain scrollable, including in landscape orientation. */
@media(max-width:900px){header nav.open{max-height:calc(100vh - 90px);max-height:calc(100dvh - 90px);overflow-y:auto;overscroll-behavior:contain}}
.about p,.split .feature p,.cards p{font-family:Arial,sans-serif}
.widget-fallback{padding:18px;border:1px solid var(--gold-line);border-radius:10px;background:var(--paper);color:var(--ink);font:14px/1.6 Arial,sans-serif}
.widget-fallback a{color:var(--wine);font-weight:700}

/* Centre the final row when the five room types do not fill a three-column grid. */
.page-content .cards{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:20px}
.page-content .cards>article{flex:0 1 calc((100% - 40px)/3)}
@media(max-width:900px){.page-content .cards>article{flex-basis:calc((100% - 20px)/2)}}
@media(max-width:600px){.page-content .cards>article{flex-basis:100%}}

/* Confirmation pages and symmetric desktop reliefs beside the service row. */
.thank-you-page .page-hero{min-height:220px}
.thank-you-page .booking-engine-content{max-width:960px}
.confirmation-note{font-size:13px;line-height:1.6;text-align:center;color:var(--muted);max-width:680px;margin:18px auto 28px}
.confirmation-note a{color:var(--wine)}
.arrival-summary{text-align:center;border:1px solid var(--gold-line);border-radius:18px;background:var(--paper);padding:30px 24px;margin:28px auto}
.arrival-summary h2{font:28px Georgia,serif;margin:12px 0}
.arrival-links{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:22px}
.arrival-links .book{font-size:12px;padding:14px 20px}
@media(max-width:600px){.arrival-summary{padding:24px 16px}.arrival-links{display:grid;grid-template-columns:1fr}.arrival-summary .gold{letter-spacing:2px}.thank-you-page .page-hero h1{font-size:30px}}

/* Launch: keyboard access and a compact, optional statistics panel. */
.skip-link{position:fixed;left:16px;top:12px;z-index:10000;background:var(--paper);color:var(--wine);padding:12px 18px;border:2px solid var(--wine);border-radius:8px;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.cookie-panel{position:fixed;z-index:1100;bottom:18px;left:18px;width:min(480px,calc(100% - 36px));box-sizing:border-box;padding:22px;background:var(--paper);color:var(--ink);border:1px solid var(--gold-line);border-radius:14px;box-shadow:0 8px 36px #19202b26;max-height:75dvh;overflow:auto;text-align:left}
.cookie-panel[hidden]{display:none}
.cookie-panel h2{font:24px/1.2 Georgia,serif;margin:0 0 10px;color:var(--wine)}
.cookie-panel p{font:14px/1.55 Arial,sans-serif;margin:0 0 12px}
.cookie-panel summary,.cookie-panel a{font:13px/1.5 Arial,sans-serif;color:var(--wine);cursor:pointer}
.cookie-panel details{margin-bottom:14px}.cookie-panel details p{margin-top:10px}
.cookie-actions{display:flex;gap:10px}.cookie-actions button{flex:1;min-height:44px;padding:10px 12px;border:1px solid var(--wine);background:var(--wine);color:#fff;border-radius:7px;font:13px/1.3 Arial,sans-serif;cursor:pointer}
.cookie-actions button:hover{background:var(--wine-hover)}
.cookie-settings{display:block;margin:0;border:0;padding:4px 0;background:transparent;color:inherit;text-align:inherit;text-decoration:none;min-height:32px;cursor:pointer;font:inherit;line-height:1.7;opacity:.85}
.cookie-settings:hover{opacity:1;text-decoration:underline;text-underline-offset:3px}
:focus-visible{outline:3px solid var(--gold-text);outline-offset:4px}
@media(max-width:480px){.cookie-panel{bottom:10px;left:10px;width:calc(100% - 20px);padding:16px}.cookie-panel h2{font-size:21px}.cookie-actions{gap:8px}}
/* Cookie settings sits with the existing footer links, preserving its columns. */
