:root{--charcoal:#333;--dark:#222;--orange:#c45100;--orange-hover:#a94300;--orange-light:#ff8a3d;--ink:#333;--muted:#666;--line:#e5e0dc;--light:#f4f4f4;--white:#fff;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-5:48px;--space-6:64px;--space-7:96px;--content:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;color:var(--ink);background:white;font:16px/1.7 'Open Sans',sans-serif}h1,h2,h3,h4{font-family:Montserrat,sans-serif;line-height:1.16;font-weight:700;margin:0;letter-spacing:0;text-wrap:balance}h1{font-size:48px}h2{font-size:36px}h3{font-size:24px}h4{font-size:17px}p{margin:0 0 20px;max-width:70ch}a{color:var(--orange);text-underline-offset:5px;text-decoration-thickness:1px}a:hover{color:var(--orange-hover)}button,input,textarea{font:inherit}a,button,input,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block;object-fit:cover}ul{margin:0;padding:0;list-style:none}figure{margin:0}::selection{background:var(--orange);color:white}input,textarea{caret-color:var(--orange)}:focus-visible{outline:3px solid var(--orange-light);outline-offset:5px}body{scrollbar-color:var(--orange) var(--light)}.container{width:calc(100% - 80px);max-width:var(--content);margin:auto}.section{padding-block:88px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-bottom:40px}.section-heading p{margin:0;max-width:32ch;font-size:14px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;color:white;background:var(--orange);border:0;border-radius:3px;font-weight:600;text-decoration:none;white-space:nowrap;transition:background .18s ease}.button:hover{color:white;background:var(--orange-hover)}.text-link{display:inline-flex;align-items:center;min-height:44px;font-weight:600}.actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.light{color:white}.light:hover{color:var(--orange-light)}.top-bar{background:var(--dark);color:#eee;font-size:13px}.top-bar .container{display:flex;justify-content:space-between;padding-block:9px}.top-bar a{color:#eee;text-decoration:none}.main-header{background:var(--charcoal);color:white}.main-header>.container{display:flex;justify-content:space-between;align-items:center;min-height:100px;gap:32px}.logo{display:inline-block;flex-shrink:0}.logo img{width:142px;height:70px;object-fit:contain}.main-header nav ul{display:flex;align-items:center;gap:28px}.main-header nav a{font-size:13px;font-weight:600;text-decoration:none;color:white}.main-header nav a:hover,.main-header nav a[aria-current]{color:var(--orange-light)}.main-header nav .button:hover{color:white}.menu-toggle{display:none}.skip-link{position:absolute;top:-100px;left:16px;background:white;z-index:30;padding:12px}.skip-link:focus{top:12px}.home-hero{display:grid;grid-template-columns:minmax(0,45fr) minmax(0,55fr);background:var(--charcoal);color:white}.hero-copy{padding:64px 48px 72px max(40px,calc((100vw - 1200px)/2));display:flex;flex-direction:column;justify-content:center}.hero-copy h1{font-size:52px;max-width:none;line-height:1.08;margin-bottom:28px}.hero-copy h1 span{color:var(--orange-light);display:block}.hero-copy p{max-width:42ch;color:#f4f4f4;margin-bottom:32px}.hero-image{min-height:592px;overflow:hidden}.hero-image img{width:100%;height:100%;object-position:47% center}.welcome{display:grid;grid-template-columns:1fr 1.5fr;gap:96px;padding-bottom:48px}.welcome h2{font-size:40px}.welcome p:last-child{margin-bottom:0}.facilities{display:flex;justify-content:space-between;gap:24px;padding:28px 0;border-block:1px solid var(--line);font-weight:600}.room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.room-photo{display:block;overflow:hidden;margin-bottom:24px}.room-photo img{width:100%;aspect-ratio:4/3;transition:transform .45s cubic-bezier(.16,1,.3,1)}.room-photo:hover img{transform:scale(1.035)}.room-preview{display:flex;flex-direction:column}.room-preview>.text-link{margin-top:auto;align-self:flex-start}.room-preview h3{font-size:23px;margin-bottom:10px}.room-preview h3 a{color:var(--ink);text-decoration:none}.room-preview .room-floor{font-size:13px;color:var(--muted);margin-bottom:16px}.room-preview>p:not(.room-floor){margin-bottom:12px}.restaurant-feature{display:grid;grid-template-columns:1.1fr 1fr;background:var(--charcoal);color:white}.feature-photo img{width:100%;height:100%;min-height:480px}.feature-copy{padding:72px max(40px,calc((100vw - 1200px)/2)) 72px 64px;align-self:center}.feature-copy h2{font-size:44px;margin-bottom:24px}.feature-copy p{color:#f4f4f4;margin-bottom:32px}.explore-home{display:grid;grid-template-columns:1fr 1.3fr .7fr;gap:32px;align-items:center}.explore-copy h2{margin-bottom:24px}.explore-copy{padding-right:16px}.railway-photo img{width:100%;height:370px}.bike-photo{align-self:end;margin-bottom:20px}.bike-photo img{height:270px;width:100%}.reviews{background:var(--light)}.reviews h2{margin-bottom:40px}.quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.quotes blockquote{font-size:17px;margin:0 0 20px;line-height:1.8}.quotes figcaption{font-size:14px;color:var(--muted)}.arrival{padding:56px 0;background:white}.arrival>.container{display:grid;grid-template-columns:1fr 1fr;gap:96px}.arrival h2{font-size:26px;margin-bottom:16px}.arrival p{margin-bottom:8px}.arrival a{font-size:22px;font-weight:600}footer{background:#1a1a1a;color:#eee;padding:56px 0 20px}footer a{color:#eee}footer a:hover{color:var(--orange-light)}.footer-grid{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:64px}footer h2{font-size:17px;margin:8px 0 20px}footer .logo{margin-bottom:20px}footer p,footer li{font-size:14px;margin-bottom:8px}footer li a{display:inline-block;padding:2px 0}.copyright{border-top:1px solid #444;margin-top:36px;padding-top:20px;font-size:12px;color:#ccc}.page-title{padding-block:64px 36px}.page-title h1{max-width:900px}.page-title p{margin-top:24px;margin-bottom:0;max-width:650px}.jump-links{display:flex;gap:12px 28px;flex-wrap:wrap;padding:16px 0;border-block:1px solid var(--line)}.jump-links a{min-height:44px;display:flex;align-items:center;font-weight:600;font-size:14px}.room-list{padding-bottom:32px}.group-title{font-size:32px;margin:56px 0 32px}.room-row{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;padding:0 0 40px;margin:0 0 40px;border-bottom:1px solid var(--line);align-items:center;scroll-margin-top:24px}.room-row h3{font-size:28px;margin-bottom:20px}.room-info .actions{gap:20px}.room-info p{max-width:56ch}.room-specs{display:grid;grid-template-columns:92px 1fr;gap:32px;border-block:1px solid var(--line);padding:20px 0;margin:24px 0}.room-specs dt{font-size:13px;color:var(--muted);margin-bottom:4px}.room-specs dd{font-size:16px;margin:0;font-weight:600}.gallery-open{position:relative;display:block}.gallery-main{width:100%;aspect-ratio:4/3}.gallery-open>span{position:absolute;bottom:16px;right:16px;background:#222;color:white;font-size:12px;font-weight:600;padding:6px 12px}.gallery-thumbs{display:flex;gap:8px;margin-top:8px}.gallery-thumbs button{width:25%;max-width:112px;border:2px solid transparent;padding:0;background:none}.gallery-thumbs img{width:100%;aspect-ratio:4/3}.gallery-thumbs button[aria-pressed=true]{border-color:var(--orange)}.back-link{margin-top:32px}.back-link+.page-title{padding-top:24px}.suite-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:64px;padding-bottom:72px;align-items:start}.suite-layout .room-info{padding-top:12px}.related-link{margin-top:20px}.photo-dialog{border:0;background:#222;padding:20px;max-width:90vw;max-height:92vh}.photo-dialog::backdrop{background:#000b}.photo-dialog img{max-height:76vh;object-fit:contain;margin-top:16px}.photo-dialog button{background:white;color:#333;border:0;min-height:44px;padding:8px 16px}.dining-hero{display:grid;grid-template-columns:1fr 1.2fr;gap:64px;padding-block:64px;align-items:center}.dining-hero h1{font-size:48px;margin-bottom:32px}.dining-hero h2{font-size:24px;margin-bottom:16px}.dining-hero>.img,.dining-hero>img{width:100%;height:580px;object-position:50%}.hours{font-size:14px;color:var(--muted);margin:24px 0 0;max-width:45ch}.menu-section{background:var(--light)}.menu-columns{columns:2;column-gap:80px;margin-top:48px}.menu-group{break-inside:avoid;margin-bottom:48px;scroll-margin-top:32px}.menu-group h3{font-size:28px;color:var(--orange);padding-bottom:20px;border-bottom:1px solid #ccc}.menu-item{padding-top:24px}.dish-heading{display:flex;gap:24px;align-items:baseline;justify-content:space-between}.dish-heading h4{line-height:1.5}.dish-heading span{font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.menu-item p{font-size:14px;color:#555;margin:4px 0 0}.menu-note{font-size:14px;margin-top:20px}.menu-originals{display:flex;gap:24px;flex-wrap:wrap;font-size:14px}.attraction-list{padding:20px 0 72px}.attraction{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:center;margin-bottom:64px}.attraction:nth-child(even){grid-template-columns:1fr 1.2fr}.attraction:nth-child(even)>img{order:2}.attraction img{width:100%;aspect-ratio:4/3}.attraction h2{margin-bottom:24px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:96px;padding-bottom:64px}.contact-details h2{font-size:22px;margin:32px 0 16px}.contact-details h2:first-child{margin-top:0}.contact-phone{font-size:28px;font-weight:600;display:inline-block;margin-bottom:20px}.contact-form h2{font-size:28px;margin-bottom:24px}.form-field{margin-bottom:20px}.form-field label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}input,textarea{width:100%;border:1px solid #8a8a8a;border-radius:2px;padding:12px;background:white;color:#333;min-height:48px;resize:vertical}.preview-note{font-size:13px;margin-top:16px;color:var(--muted)}.map-container iframe{display:block;width:100%;height:360px;border:0}.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:64px}.faq h2{font-size:32px}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;padding:20px 0;font-weight:600}.faq details p{font-size:15px;padding-right:20px}.review-content{padding-bottom:64px}.review-content>.actions{margin:24px 0 56px}.review-content h2{margin:48px 0 24px}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:24px}.comparison figcaption{margin-bottom:12px;font-weight:600}.comparison img{border:1px solid var(--line);width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top}.preview-pair{display:grid;grid-template-columns:2fr .65fr;gap:32px;align-items:start}.preview-pair img{width:100%;border:1px solid var(--line)}.review-pages li{display:flex;gap:24px;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line)}.review-pages{margin-bottom:40px}.sr-only{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap}
@media(min-width:1500px){.hero-copy{padding-right:64px}.hero-copy h1{font-size:64px}}
@media(max-width:1100px){.main-header nav ul{gap:16px}.main-header>.container{gap:20px}.main-header nav a{font-size:12px}.hero-copy h1{font-size:48px}.hero-copy{padding-right:32px}.welcome{gap:56px}.feature-copy{padding:48px 40px}.explore-home{grid-template-columns:1fr 1fr}.bike-photo{display:none}.room-row{gap:40px}.dining-hero{gap:40px}.footer-grid{gap:40px}}
@media(max-width:900px){.container{width:calc(100% - 48px)}.main-header>.container{min-height:88px}.logo img{width:132px;height:66px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:48px;height:48px;background:none;border:1px solid #888;border-radius:3px;padding:12px}.menu-toggle span{display:block;height:2px;background:white;width:22px}.main-header{position:relative;z-index:10}.main-header nav{display:none;position:absolute;left:0;right:0;top:100%;background:#333;border-top:1px solid #666;padding:12px 24px 24px}.main-header nav.is-open{display:block}.main-header nav ul{display:block}.main-header nav a{font-size:16px;display:block;padding:12px 0}.main-header nav .button{display:inline-flex;margin-top:12px;padding:12px 24px}.hero-copy{padding:48px 32px 56px 24px}.hero-copy h1{font-size:44px}.hero-image{min-height:560px}.hero-copy .actions{gap:12px 20px}.welcome{gap:40px;grid-template-columns:1fr 1.4fr}.welcome h2{font-size:32px}.section{padding-block:64px}.room-grid{gap:20px}.room-preview h3{font-size:20px}.room-preview .room-floor{min-height:44px}.restaurant-feature{grid-template-columns:1fr 1fr}.feature-copy{padding:40px 24px}.feature-copy h2{font-size:36px}.feature-photo img{min-height:440px}.quotes{gap:28px}.arrival>.container{gap:48px}.dining-hero{grid-template-columns:1fr 1fr;gap:32px}.dining-hero h1{font-size:38px}.dining-hero>img{height:560px}.menu-columns{column-gap:40px}.room-row{gap:32px}.room-row h3{font-size:24px}.room-specs{gap:20px}.suite-layout{gap:32px}.contact-layout{gap:40px}.faq{gap:40px}.attraction{gap:40px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:last-child{grid-column:2;grid-row:2}.footer-grid>div:first-child{grid-row:span 2}}
@media(max-width:600px){body{font-size:16px;line-height:1.65}h1{font-size:36px}h2{font-size:30px}h3{font-size:22px}.container{width:calc(100% - 40px)}.top-bar .container{justify-content:center;padding-block:7px;font-size:12px}.top-bar span{display:none}.main-header>.container{min-height:80px}.logo img{width:122px;height:60px}.home-hero{display:flex;flex-direction:column}.hero-copy{padding:36px 20px 40px}.hero-copy h1{font-size:42px;max-width:11ch;margin-bottom:24px}.hero-copy p{max-width:35ch;margin-bottom:24px}.hero-copy .actions{gap:24px}.hero-image{min-height:0;height:300px}.hero-image img{object-position:center}.section{padding-block:48px}.welcome{display:block;padding-bottom:28px}.welcome h2{font-size:32px;margin-bottom:24px}.welcome h2 br{display:none}.facilities{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px;padding:24px 0;font-size:13px}.section-heading{display:block;margin-bottom:28px}.section-heading h2{margin-bottom:12px}.section-heading p{max-width:none}.room-grid{grid-template-columns:1fr;gap:36px}.room-photo{margin-bottom:20px}.room-preview h3{font-size:24px}.room-preview .room-floor{min-height:0;margin-bottom:12px}.room-preview>p:not(.room-floor){margin-bottom:6px}.restaurant-feature{display:flex;flex-direction:column}.feature-photo img{min-height:0;height:300px}.feature-copy{padding:36px 20px 40px}.feature-copy h2{font-size:36px}.feature-copy p{margin-bottom:24px}.explore-home{display:grid;grid-template-columns:1fr 1fr;gap:24px 16px}.explore-copy{grid-column:1/-1;padding:0}.explore-copy h2{margin-bottom:20px}.railway-photo img{height:240px}.bike-photo{display:block;margin:32px 0 0;align-self:start}.bike-photo img{height:208px}.quotes{display:block}.quotes figure{padding:24px 0;border-bottom:1px solid #ddd}.quotes figure:first-child{padding-top:0}.quotes figure:last-child{border:0;padding-bottom:0}.reviews h2{margin-bottom:28px}.quotes blockquote{margin-bottom:12px}.arrival{padding:40px 0}.arrival>.container{grid-template-columns:1fr;gap:32px}.arrival h2{font-size:25px;margin-bottom:12px}.footer-grid{display:block}.footer-grid>div{margin-bottom:32px}.footer-grid>div:last-child{margin:0}footer{padding-top:40px}.copyright{margin-top:32px}.page-title{padding-block:40px 28px}.page-title h1{font-size:36px}.jump-links{gap:4px 20px;padding-block:12px}.jump-links a{font-size:13px}.group-title{font-size:28px;margin:36px 0 24px}.room-row{display:block;padding-bottom:32px;margin-bottom:32px}.room-info{padding-top:24px}.room-row h3{font-size:25px}.room-specs{margin:20px 0}.gallery-open>span{bottom:12px;right:12px}.gallery-thumbs button{max-width:none}.suite-layout{display:block;padding-bottom:40px}.suite-layout .room-info{padding-top:28px}.back-link{margin-top:24px}.dining-hero{display:flex;flex-direction:column;gap:32px;padding-block:40px}.dining-hero h1{font-size:40px;margin-bottom:28px}.dining-hero h2{font-size:24px}.dining-hero>img{height:340px}.hours{margin-top:20px}.menu-columns{columns:1;margin-top:32px}.menu-group{margin-bottom:36px}.menu-group h3{font-size:26px}.dish-heading{gap:16px}.menu-originals{gap:12px}.attraction-list{padding-bottom:16px}.attraction,.attraction:nth-child(even){display:flex;flex-direction:column;gap:24px;margin-bottom:40px;align-items:stretch}.attraction:nth-child(even)>img{order:0}.attraction h2{font-size:28px;margin-bottom:16px}.contact-layout{display:block;padding-bottom:40px}.contact-form{margin-top:40px}.contact-phone{font-size:26px}.map-container iframe{height:280px}.faq{display:block}.faq h2{font-size:30px;margin-bottom:20px}.review-content{padding-bottom:40px}.review-content h2{font-size:28px}.comparison{grid-template-columns:1fr}.preview-pair{grid-template-columns:1fr 1fr;gap:16px}.review-pages li{display:block}.review-pages span{display:block;font-size:14px;margin-top:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media(max-width:380px){.page-title h1{font-size:30px}}
.menu-section a{color:var(--orange-hover)}
/* HTML dimensions reserve image space; CSS aspect-ratio still owns crops. */
img{height:auto}
:focus-visible{outline-color:var(--orange)}
.main-header :focus-visible,.home-hero :focus-visible,footer :focus-visible,.restaurant-feature :focus-visible{outline-color:var(--orange-light)}
