@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500&display=swap');
:root{--ink:#183d43;--deep:#123b43;--teal:#287a80;--paper:#f7f8f6;--mist:#e7efed;--line:#cad9d5}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.6 'DM Sans',Arial,sans-serif}img{max-width:100%;display:block}a{color:inherit}h1,h2,p,figure{margin:0}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.13}h2{font-size:clamp(2.35rem,4.2vw,4.6rem);letter-spacing:-.035em}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip:focus{position:fixed;z-index:20;top:8px;left:8px;background:white;padding:10px}.site-header{height:88px;background:#f7f8f6;display:flex;align-items:center;gap:36px;padding:0 max(24px,calc((100vw - 1180px)/2));position:relative;z-index:2}.brand{flex:0 0 auto}.brand img{width:178px}.site-header nav{display:flex;gap:30px;margin-left:auto}.site-header nav a,.header-actions a{text-decoration:none;font-size:.88rem;font-weight:600}.site-header nav a:hover,.text-link:hover{color:var(--teal)}.header-actions{display:flex;align-items:center;gap:16px}.header-actions select{border:0;background:transparent;color:var(--ink);font:600 .88rem 'DM Sans',sans-serif;padding:8px;cursor:pointer}.header-cta{background:var(--deep);color:white!important;padding:12px 18px;white-space:nowrap}.header-cta:hover{background:var(--teal)}.hero{height:min(760px,calc(100vh - 88px));min-height:580px;position:relative;color:white;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-image{object-position:center 56%}.hero-shade{background:linear-gradient(90deg,rgba(7,38,45,.82) 0%,rgba(7,38,45,.48) 48%,rgba(7,38,45,.08) 100%),linear-gradient(0deg,rgba(7,38,45,.35),transparent 38%)}.hero-content{position:relative;height:100%;display:flex;flex-direction:column;justify-content:center}.hero-copy{max-width:740px;padding:50px 0 72px}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:.75rem;font-weight:700;color:var(--teal);margin-bottom:20px}.eyebrow.light{color:#d5eeeb}.hero h1{font-size:clamp(3.4rem,6.3vw,6.6rem);letter-spacing:-.045em;max-width:780px}.hero-lead{font-size:1.2rem;max-width:530px;margin:24px 0 32px;line-height:1.55}.button{border:0;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;text-decoration:none;font:700 .95rem 'DM Sans',sans-serif;padding:15px 20px;cursor:pointer}.button.white{background:white;color:var(--deep)}.button.white:hover{background:#e3efed}.button.dark{background:var(--deep);color:white}.button.dark:hover{background:var(--teal)}.hero-caption{position:absolute;bottom:29px;left:0;display:flex;align-items:center;gap:14px;text-transform:uppercase;letter-spacing:.15em;font-size:.7rem;font-weight:700}.caption-line{height:1px;width:46px;background:white}.intro{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding:120px 0 130px}.intro-text{max-width:490px;padding-top:27px}.intro-text p,.experience-copy>p:not(.eyebrow){font-size:1.18rem;line-height:1.75}.text-link{display:inline-flex;gap:28px;border-bottom:1px solid currentColor;text-decoration:none;font-weight:700;margin-top:25px;padding-bottom:5px}.rooms-section{background:var(--mist);padding:110px 0 125px}.section-head{display:grid;grid-template-columns:1fr 390px;align-items:end;gap:50px;margin-bottom:55px}.section-head>p{font-size:1.05rem;line-height:1.7}.room-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:start}.room-photo{position:relative}.room-photo img{height:575px;width:100%;object-fit:cover}.room-photo figcaption{position:absolute;bottom:0;left:0;background:var(--deep);color:white;padding:16px 22px;font-size:.85rem}.room-list{border-top:1px solid #9eb8b3}.room-list a{display:grid;grid-template-columns:42px 1fr 24px;gap:16px;align-items:center;border-bottom:1px solid #9eb8b3;padding:24px 4px;text-decoration:none;font:400 clamp(1.55rem,2.5vw,2.4rem) 'Playfair Display',Georgia,serif}.room-list a:hover{padding-left:12px;color:var(--teal)}.room-index{font:700 .76rem 'DM Sans',sans-serif;color:var(--teal)}.room-list a>span:last-child{font:400 1.25rem 'DM Sans',sans-serif}.room-note{font-size:.86rem;margin-top:24px;opacity:.75}.experience{display:grid;grid-template-columns:1fr 1.06fr;gap:90px;align-items:center;padding-top:130px;padding-bottom:130px}.experience-copy>p:not(.eyebrow){margin-top:30px;max-width:465px}.experience-image img{height:550px;width:100%;object-fit:cover}.tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}.tags span{border:1px solid var(--line);border-radius:30px;padding:8px 17px;font-size:.86rem}.booking-section{background:var(--deep);color:#f2f8f6;padding:115px 0}.booking-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.booking-copy h2{max-width:490px}.booking-copy>p:not(.eyebrow){max-width:430px;margin-top:26px;font-size:1.13rem}.booking-email{font-size:.95rem!important;margin-top:60px!important}.booking-email a{color:#d1f4ee;font-weight:700;overflow-wrap:anywhere}.inquiry-form{background:#fff;color:var(--ink);padding:42px;display:grid;gap:18px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.inquiry-form label{display:grid;gap:7px;font-size:.84rem;font-weight:700}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{width:100%;min-width:0;border:1px solid #b9d0cb;border-radius:0;background:#f7faf9;color:var(--ink);font:400 1rem 'DM Sans',sans-serif;padding:12px;min-height:48px}.inquiry-form textarea{resize:vertical}.inquiry-form :focus-visible,.site-header :focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #38a0a7;outline-offset:3px}.form-note{font-size:.78rem;line-height:1.5;color:#526b6c}.form-error{color:#9a2525;font-weight:700}.access{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-top:110px;padding-bottom:110px}.access-details{padding-top:20px}.access address{font-style:normal;font-size:1.2rem;line-height:1.7}footer{background:#e8efec;padding:40px 0}.footer-inner{display:flex;align-items:center;gap:30px;justify-content:space-between;font-size:.84rem}.footer-inner img{width:145px}.footer-inner a{font-weight:700;text-decoration:none}@media(max-width:960px){.site-header{gap:12px}.site-header nav{display:none}.header-actions{margin-left:auto}.intro,.experience,.booking-grid{gap:44px}.room-layout{gap:30px}}@media(max-width:700px){.wrap{width:min(100% - 36px,1180px)}.site-header{height:72px;padding:0 18px}.brand img{width:140px}.header-cta{padding:9px 11px;font-size:.78rem!important}.header-actions{gap:2px}.hero{height:680px;min-height:0}.hero-image{object-position:58%}.hero-shade{background:linear-gradient(90deg,rgba(7,38,45,.79),rgba(7,38,45,.25)),linear-gradient(0deg,rgba(7,38,45,.35),transparent)}.hero h1{font-size:clamp(3rem,10vw,4.5rem)}.hero-copy{padding:20px 0 70px}.hero-lead{font-size:1.05rem}.intro,.section-head,.room-layout,.experience,.booking-grid,.access{grid-template-columns:1fr}.intro{padding:75px 0 85px;gap:20px}.intro-text{padding:0}.rooms-section,.booking-section{padding:75px 0}.section-head{gap:15px;margin-bottom:32px}.room-photo img{height:380px}.room-list a{padding:18px 3px}.experience{padding-top:75px;padding-bottom:75px;gap:35px}.experience-image img{height:350px}.booking-grid{gap:35px}.booking-email{margin-top:30px!important}.inquiry-form{padding:24px}.access{padding-top:75px;padding-bottom:75px;gap:10px}.footer-inner{align-items:flex-start;flex-direction:column;gap:14px}}@media(max-width:420px){.field-row{grid-template-columns:1fr}.header-actions select{font-size:.8rem;padding:5px}.header-cta{font-size:.7rem!important}.brand img{width:120px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
