:root{--ink:#173a43;--paper:#f7f5ee;--muted:#607174;--line:#d9ded6;--accent:#c3ccba}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a9783c;outline-offset:5px}header{height:108px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font:46px/.9 Georgia,serif;letter-spacing:6px}.brand span{display:block;font:9px/1.6 Arial,sans-serif;letter-spacing:2.5px;margin-top:10px}nav{display:flex;gap:35px;font-size:13px}nav a:hover,.text-link:hover{color:#7b673d}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:18px 25px;background:var(--ink);color:#fff;border:1px solid var(--ink);cursor:pointer;font-size:13px}.button:hover{background:#28525a}.button.small{padding:12px 22px}.hero{display:grid;grid-template-columns:47% 53%;min-height:700px}.hero-copy{padding:65px 10% 30px 11%}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600}h1,h2,h3,p{margin:0}h1{font:clamp(48px,5.4vw,82px)/1.04 Georgia,serif;letter-spacing:-2.5px;margin:32px 0 28px;font-weight:400}em{font-weight:400;color:#71816e}h1 em{color:#71816e}.hero-copy>p{max-width:350px;font-size:14px;color:var(--muted)}.text-link{display:inline-flex;gap:20px;align-items:center;font-size:12px;border-bottom:1px solid var(--ink);padding:10px 0}.hero-copy>.text-link{margin-top:25px}.hero-note{display:flex;flex-direction:column;gap:3px;color:var(--muted);font-size:10px;margin-top:44px}.hero-note span:first-child{letter-spacing:2px}.hero-image{position:relative;min-height:650px;overflow:hidden}.hero-image>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:62% center;filter:brightness(.86)}.image-label{position:absolute;bottom:40px;left:40px;color:white;font-size:10px;letter-spacing:2px}.image-label span{display:block;font:25px Georgia,serif;letter-spacing:0;margin-top:8px}.booking{padding:34px 5%;background:var(--ink);color:white;display:grid;grid-template-columns:1fr 1.6fr;gap:0 30px}.booking h2{font:30px Georgia,serif;margin-top:8px}.booking .eyebrow{color:#c8d3cc}.booking form{display:flex;gap:18px;align-items:end}.booking label{flex:1;font-size:10px;letter-spacing:1px}.booking input{display:block;width:100%;border:0;border-bottom:1px solid #71858a;background:transparent;color:white;padding:10px 0;color-scheme:dark;font-size:14px;letter-spacing:0}.booking .button{background:#d6dfcb;color:var(--ink);white-space:nowrap}.booking-note{grid-column:2;font-size:10px;margin-top:10px;color:#bfcfcf}.section{padding:95px 7%}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:30px}h2{font:clamp(34px,3.6vw,52px)/1.15 Georgia,serif;font-weight:400;letter-spacing:-1px}.intro-grid p{color:var(--muted);font-size:14px;margin-bottom:15px}.amenities{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:30px;font-size:11px}.amenities span:before{content:'✧';padding-right:10px}.rooms{padding-top:45px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:40px}.section-heading h2{margin-top:15px}.caption{color:var(--muted);font-size:12px}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.room-photo{height:310px;position:relative;overflow:hidden}.room-photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.room-photo:hover img{transform:scale(1.04)}.room-photo span{position:absolute;bottom:15px;left:15px;background:var(--paper);font-size:9px;letter-spacing:1px;padding:7px 10px}h3{font:30px Georgia,serif;margin:23px 0 14px}.room p{font-size:13px;color:var(--muted);min-height:65px}.room details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:20px 0 12px}.room summary{cursor:pointer;list-style:none;font-size:11px;padding:13px 0;display:flex;justify-content:space-between}.room summary::-webkit-details-marker{display:none}.room details p{padding:0 0 15px;min-height:0;font-size:12px}.location{display:grid;grid-template-columns:1fr 1fr;background:#e8ede3}.location-art{position:relative;min-height:490px;background:#e1e8dd;overflow:hidden}.map-water{position:absolute;left:0;top:0;width:35%;height:100%;background:#c0d1d0;color:#607f82;font-size:10px;letter-spacing:3px;writing-mode:vertical-rl;text-align:center;padding-right:40px;transform:skew(-15deg);transform-origin:top}.map-lines{position:absolute;inset:-100px;transform:rotate(-22deg);background:repeating-linear-gradient(90deg,transparent 0 64px,#f7f5ee 65px 71px,transparent 72px 115px),repeating-linear-gradient(0deg,transparent 0 70px,#f7f5ee 71px 76px,transparent 77px 130px);opacity:.8;left:36%}.map-pin{position:absolute;left:57%;top:43%;width:56px;height:56px;background:var(--ink);color:white;display:grid;place-items:center;font:35px Georgia,serif;box-shadow:0 0 0 12px #173a4315}.map-pin span{position:absolute;top:74px;white-space:nowrap;color:var(--ink);font:10px Arial,sans-serif;letter-spacing:2px}.map-street{position:absolute;top:28%;left:60%;font-size:9px;letter-spacing:2px;transform:rotate(68deg)}.map-caption{position:absolute;left:30px;bottom:25px;font-size:10px;letter-spacing:2px}.location-copy{padding:75px 14%}.location-copy h2{margin:20px 0}.location-copy p{font-size:14px;color:var(--muted)}address{font-size:13px;font-style:normal;margin:25px 0 10px}.contact{text-align:center;padding-top:90px;padding-bottom:90px}.contact h2{margin:20px 0}.contact>p{font-size:14px;color:var(--muted)}.contact-links{display:flex;justify-content:center;gap:35px;margin:30px 0;font-size:14px}.contact-links a{border-bottom:1px solid var(--line)}footer{padding:35px 5%;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted)}footer .brand{color:var(--ink);font-size:34px}footer .brand span{font-size:8px} @media(min-width:1600px){body{max-width:1800px;margin:auto}}@media(max-width:1000px){nav{gap:18px}.hero{min-height:620px}.hero-copy{padding-top:45px}.hero-image{min-height:620px}h1{font-size:60px}.booking{grid-template-columns:1fr}.booking form{margin-top:25px}.booking-note{grid-column:1}.intro-grid{gap:35px}.room-photo{height:240px}.location-copy{padding:60px 10%}.contact-links{gap:20px}}@media(max-width:650px){html{scroll-padding-top:20px}header{height:88px;padding:0 6%}header .brand{font-size:37px}nav{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:40px 7% 35px}h1{font-size:56px;line-height:1.05;margin-top:25px}.hero-copy>p{max-width:100%}.hero-note{display:none}.hero-image{min-height:370px}.image-label{bottom:25px;left:25px}.booking{padding:30px 7%}.booking form{flex-wrap:wrap;gap:20px}.booking label{flex-basis:40%}.booking button{width:100%}.section{padding:60px 7%}.intro-grid{grid-template-columns:1fr;gap:25px;margin-top:20px}.rooms{padding-top:10px}.section-heading{align-items:start}.caption{display:none}.room-grid{grid-template-columns:1fr;gap:42px}.room-photo{height:340px}.room p{min-height:0}.location{grid-template-columns:1fr}.location-art{min-height:300px}.location-copy{padding:40px 7% 50px}.contact-links{flex-direction:column;gap:12px;align-items:center;font-size:13px}footer{padding:30px 7%;flex-wrap:wrap;gap:25px}footer p{display:none}h2{font-size:36px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.hotel-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:32px}.hotel-gallery img{width:100%;height:360px;object-fit:cover}.booking{scroll-margin-top:100px}.booking>div:nth-child(2){min-width:0}@media(max-width:650px){.hotel-gallery{grid-template-columns:1fr}.hotel-gallery img{height:280px}}
/* Match the official booking widget to the hotel palette. */
.booking{margin:0;padding:42px 7% 30px;grid-template-columns:1fr;gap:20px;background:#173a43;border-top:1px solid #ffffff18}
.booking>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:24px}
.booking h2{margin:0;font-size:32px;letter-spacing:-.5px}
.booking-widget{width:100%;min-width:0;border-top:1px solid #ffffff24;padding-top:16px}
.booking-widget iframe{display:block;width:100%;border:0;color-scheme:normal}
.booking-note{grid-column:1;margin:0;padding-top:4px;color:#c8d3cc;font-size:11px;letter-spacing:.2px}
@media(max-width:650px){.booking{padding:30px 6% 24px;gap:18px}.booking>div:first-child{display:block}.booking h2{font-size:29px;margin-top:12px}.booking-widget{padding-top:12px}.booking-note{font-size:10px;line-height:1.6}}

.booking-widget{min-height:128px}@media(max-width:650px){.booking-widget{min-height:240px}}

/* Original Lois identity, extracted as vector artwork from the brand manual. */
.brand{display:inline-flex;align-items:center;line-height:1;flex-shrink:0}.brand .brand-logo{display:block;width:126px;height:auto;object-fit:contain}footer .brand{background:#fff;padding:12px 18px}footer .brand .brand-logo{width:130px}@media(max-width:640px){header .brand .brand-logo{width:102px}}
