/* Greys Inn Hotel: a single compact header and a photograph-led hotel page. */
.greys{--paper:#fff;--white:#fff;--gold:#806430;--line:#e0e3df;background:#fff}
.greys .site-header{height:80px;position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line)}
.greys .header-inner{gap:20px}
.greys .brand{min-width:0;gap:12px;flex-shrink:0}
.greys .brand img{width:37px;height:49px;object-fit:contain}
.greys .brand-name{font-size:24px;letter-spacing:-.035em;font-weight:600;white-space:nowrap}
.greys .brand-name small{font-size:10px;letter-spacing:.18em;margin-top:6px}
.greys .desktop-nav{gap:0}
.greys .desktop-nav a{padding:10px 12px;min-height:42px;font-size:14px;font-weight:500}
.greys .header-cta{min-height:42px;padding:10px 19px;font-size:14px;gap:16px}
.greys .mobile-nav{background:#fff}
.greys .hotel-hero{display:flex;align-items:center;position:relative;min-height:530px;height:calc(78svh - 80px);max-height:720px;overflow:hidden;background:var(--dark);color:#fff}
.greys .hotel-hero .hero-image{position:absolute;inset:0;min-height:0}
.greys .hotel-hero .hero-image img{position:absolute;inset:0;object-position:center 53%;animation:none}
.greys .hotel-hero:after{display:block;content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,18,19,.73),rgba(11,18,19,.32) 58%,rgba(11,18,19,.08)),linear-gradient(0deg,rgba(11,18,19,.32),transparent 50%);pointer-events:none}
.greys .hotel-hero>.wrap{position:relative;z-index:1;grid-column:auto;grid-row:auto;width:100%;max-width:1320px;margin:auto;padding:62px 56px 110px;align-self:auto}
.greys .hotel-hero .eyebrow{font-size:14px;font-weight:500;letter-spacing:.18em;color:#eee2c5}
.greys .hotel-hero h1{font-size:clamp(50px,calc(5.4vw + 2px),80px);max-width:940px;margin:22px 0 24px;font-weight:500;line-height:1.07;letter-spacing:-.045em;color:#fff}
.greys .hotel-hero p{font-size:18px;color:#f5f4ef;max-width:500px;line-height:1.75}
.greys .hotel-hero .hero-links{margin-top:28px}
.greys .hotel-hero .hero-links .button.light{background:#fff;color:var(--ink);border-color:#fff}
.greys .hotel-hero .hero-links .button.light:hover{background:#ebe4d6}
.greys .hotel-hero .hero-links .text-link{color:#fff;border-color:#d9c99e}
.stay-planner-wrap{position:relative;z-index:2;margin-top:-40px}
.stay-planner{display:grid;grid-template-columns:1.25fr 1fr 1fr .7fr auto;align-items:center;gap:24px;padding:28px 30px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 30px #1722250b}
.stay-planner-intro .eyebrow{font-size:11px;letter-spacing:.13em;margin-bottom:8px}
.stay-planner-intro p{font-size:15px;color:var(--muted);white-space:nowrap}
.stay-planner-intro strong{font-size:25px;color:var(--ink);font-weight:600;margin:0 3px}
.planner-field{display:block;font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;min-width:0}
.planner-field input{display:block;width:100%;min-width:0;padding:10px 0 8px;margin-top:6px;border:0;border-bottom:1px solid #aeb7b1;border-radius:0;background:#fff;color:var(--ink);font:inherit;font-size:16px;font-weight:400;letter-spacing:0;text-transform:none;min-height:42px}
.stay-planner .button{align-self:end;min-height:48px;white-space:nowrap;gap:15px;padding:12px 20px}
.greys .section{padding:88px 0}
.greys .section.sm{padding:65px 0}
.greys .hotel-introduction{padding-top:90px}
.greys .hotel-introduction .split{grid-template-columns:1fr 1fr;gap:75px}
.greys .hotel-introduction figure{height:405px}
.greys h2{font-size:clamp(36px,calc(3.7vw + 2px),51px);font-weight:500;line-height:1.17;letter-spacing:-.04em}
.greys .split-copy h2{margin:18px 0 23px}
.greys .split-copy p{font-size:16px;line-height:1.85}
.greys .section-title h2{margin-top:13px}
.greys .section-title>p{font-size:15px;line-height:1.85;max-width:410px}
.greys .hotel-rooms{background:#f5f6f3}
.hotel-room-features{display:grid;gap:34px}
.hotel-room-feature{display:grid;grid-template-columns:1.18fr 1fr;background:#fff;min-width:0;border:1px solid var(--line)}
.hotel-room-feature figure{position:relative;min-width:0;height:380px;margin:0;background:#eceeea}
.hotel-room-feature figure img{object-position:center}
.hotel-room-copy{padding:42px 40px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}
.hotel-room-copy h3{font-size:34px;font-weight:500;line-height:1.2;letter-spacing:-.04em;margin:13px 0 18px}
.hotel-room-copy p{color:var(--muted);font-size:15px;line-height:1.85}
.room-comforts{display:flex;flex-wrap:wrap;gap:9px 20px;list-style:none;padding:20px 0;margin:18px 0 12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px;color:var(--muted);width:100%}
.room-comforts li{display:flex;gap:7px;align-items:center}
.room-comforts li:before{content:'';width:4px;height:4px;border-radius:50%;background:var(--gold)}
.hotel-room-copy .text-link{margin-top:12px}
.greys .hotel-rate-grid{margin-top:42px}
.greys .hotel-rate-grid .rate-card{padding:25px 28px;border-top:2px solid #b39554;background:#fff}
.greys .hotel-rate-grid .rate-card h3{font-size:26px;font-weight:500}
.greys .hotel-rate-grid .rate-amount{margin:15px 0 14px}
.greys .hotel-rate-grid .rate-amount strong{font-size:47px;font-weight:500}
.greys .hotel-rooms .photo-credit{max-width:none;margin-top:12px;line-height:1.8;font-size:13px}
.breakfast-panel{display:grid;grid-template-columns:1.3fr .7fr;gap:90px;align-items:center}
.breakfast-panel h2{margin:16px 0 23px}
.breakfast-panel p{color:var(--muted);font-size:16px;line-height:1.85}
.breakfast-panel .text-link{margin-top:23px}
.breakfast-price{padding:35px;text-align:center;background:#f5f2ea;border:1px solid #e5dcc9}
.breakfast-price svg{width:47px;height:47px;color:var(--gold);margin:0 auto 14px;display:block}
.breakfast-price .eyebrow{font-size:12px;letter-spacing:.13em}
.breakfast-price .rate-amount{justify-content:center;margin:16px 0 9px}
.breakfast-price .rate-amount strong{font-size:72px;font-weight:500}
.breakfast-price p{font-size:14px;margin:0 auto}
.hotel-facilities{background:#f5f6f3}
.facility-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.facility-item{padding:0 0 12px;min-width:0}
.facility-item svg{width:38px;height:38px;margin-bottom:24px;color:var(--gold);display:block}
.facility-item h3{font-size:23px;font-weight:500;letter-spacing:-.025em;margin-bottom:14px;line-height:1.3}
.facility-item p{color:var(--muted);font-size:14px;line-height:1.85}
.greys .hotel-welcome{background:#fff}
.greys .hotel-welcome figure{height:465px}
.greys .hotel-welcome figure img{object-fit:contain;background:#f4f4ef}
.greys .hotel-gallery{background:#f5f6f3}
.greys .hotel-gallery .gallery-item:first-child:nth-last-child(4){grid-column:auto;grid-row:auto}
.greys .hotel-gallery .gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.greys .hotel-gallery .gallery-photo,.greys .hotel-gallery .gallery-item:first-child:nth-last-child(4) .gallery-photo{height:225px}
.greys .hotel-gallery .gallery-item[data-gallery-photo$="greys-bathroom-detail.jpg"] img{object-position:center 55%}
.greys .collection-note{background:#fff}
.greys .collection-note h3{font-size:31px;font-weight:500}
.greys .callout{background:#f5f2ea;border-top:0;padding:72px 24px}
.greys .callout h2{font-size:clamp(37px,calc(4.5vw + 2px),60px);font-weight:500}
.greys .callout p{font-size:16px}
.greys .subnav{position:static}
.greys .page-heading{padding-top:52px;padding-bottom:50px}
.greys .page-heading h1{font-size:clamp(42px,calc(4.8vw + 2px),66px);font-weight:500}
@media(max-width:1200px){.greys .desktop-nav{display:none}.greys .menu-toggle{display:flex}.greys .hotel-hero>.wrap{padding-left:35px;padding-right:35px}.stay-planner{gap:20px;padding:26px 24px;grid-template-columns:1fr 1fr 1fr .65fr auto}.stay-planner .button{font-size:13px;padding:12px 16px;gap:12px}.hotel-room-copy{padding:32px}.greys .hotel-introduction .split{gap:48px}.breakfast-panel{gap:60px}}
@media(max-width:1000px){.stay-planner{grid-template-columns:1fr 1fr .7fr auto;gap:20px}.stay-planner-intro{grid-column:1 / -1;display:flex;gap:22px;align-items:center}.stay-planner-intro .eyebrow{margin:0}.stay-planner-intro strong{font-size:22px}.hotel-room-feature figure{height:370px}.hotel-room-copy h3{font-size:31px}.facility-grid{gap:24px}.greys .hotel-gallery .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.greys .hotel-gallery .gallery-photo,.greys .hotel-gallery .gallery-item:first-child:nth-last-child(4) .gallery-photo{height:260px}}
@media(max-width:820px){.greys .site-header{height:74px}.greys .brand-name{font-size:22px}.greys .brand img{width:31px;height:42px}.greys .hotel-hero{height:620px;min-height:0;max-height:none}.greys .hotel-hero>.wrap{padding-top:58px;padding-bottom:112px}.greys .hotel-hero h1{font-size:62px}.greys .hotel-hero p{max-width:470px;font-size:17px}.greys .section{padding:68px 0}.greys .section.sm{padding:55px 0}.greys .hotel-introduction .split{grid-template-columns:1fr;gap:30px}.greys .hotel-introduction .split-copy{max-width:680px}.greys .hotel-introduction figure{height:385px}.hotel-room-feature{grid-template-columns:1fr}.hotel-room-feature figure{height:390px}.hotel-room-copy{padding:32px}.room-comforts{margin-top:20px}.greys .hotel-rate-grid .rate-amount{margin:0}.greys .hotel-rate-grid .rate-card{padding:24px}.breakfast-panel{gap:35px;grid-template-columns:1.15fr .85fr}.breakfast-price{padding:30px 20px}.facility-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px}.greys .hotel-welcome .split{gap:35px}.greys .hotel-welcome figure{height:430px}.greys .hotel-gallery .section-title .text-link{margin-top:12px}}
@media(max-width:600px){.greys .site-header{height:70px}.greys .header-inner{padding-left:18px;padding-right:18px;gap:10px}.greys .brand{gap:8px}.greys .brand-name{font-size:20px}.greys .brand-name small{font-size:9px;letter-spacing:.15em}.greys .brand img{width:28px;height:37px}.greys .header-cta{padding:9px 13px;font-size:13px;min-height:38px}.greys .header-actions{gap:7px}.greys .menu-toggle{height:38px;width:36px}.greys .hotel-hero{height:560px;min-height:0;max-height:none}.greys .hotel-hero>.wrap{padding:45px 22px 100px}.greys .hotel-hero h1{font-size:clamp(45px,calc(11.4vw + 2px),60px);margin:19px 0 23px}.greys .hotel-hero p{font-size:16px;max-width:360px}.greys .hotel-hero .eyebrow{font-size:12px;letter-spacing:.14em}.greys .hotel-hero .hero-links{gap:20px}.greys .hotel-hero:after{background:linear-gradient(90deg,rgba(11,18,19,.72),rgba(11,18,19,.3)),linear-gradient(0deg,rgba(11,18,19,.38),transparent 60%)}.stay-planner-wrap{margin-top:-32px}.stay-planner{grid-template-columns:1fr 1fr;gap:20px;padding:23px 20px}.stay-planner-intro{display:block}.stay-planner-intro .eyebrow{margin-bottom:9px}.stay-planner .button{align-self:end;font-size:13px;min-height:48px;padding:12px 14px;white-space:normal}.planner-field input{font-size:15px}.greys .section{padding:58px 0}.greys .section.sm{padding:46px 0}.greys .hotel-introduction figure{height:300px}.greys .split-copy h2,.greys .section-title h2{font-size:37px}.greys .split-copy p{font-size:15px}.greys .hotel-rooms .section-title{margin-bottom:30px}.hotel-room-features{gap:25px}.hotel-room-feature figure{height:285px}.hotel-room-copy{padding:26px 24px}.hotel-room-copy h3{font-size:30px;margin:11px 0 16px}.hotel-room-copy .eyebrow{font-size:12px}.room-comforts{gap:10px 16px;font-size:12px;margin:18px 0 8px;padding:17px 0}.greys .hotel-rate-grid{margin-top:30px}.breakfast-panel{grid-template-columns:1fr;gap:28px}.breakfast-panel h2{font-size:37px}.breakfast-price{padding:30px}.breakfast-price .rate-amount strong{font-size:60px}.facility-grid{gap:30px 23px}.facility-item svg{margin-bottom:18px;width:33px;height:33px}.facility-item h3{font-size:21px;margin-bottom:12px}.facility-item p{font-size:14px}.greys .hotel-welcome figure{height:425px}.greys .hotel-gallery .gallery-grid{gap:14px}.greys .hotel-gallery .gallery-photo,.greys .hotel-gallery .gallery-item:first-child:nth-last-child(4) .gallery-photo{height:200px}.greys .hotel-gallery .section-title .text-link{margin-top:18px}.greys .callout{padding:58px 22px}.greys .callout h2{font-size:40px}.greys .page-heading{padding-top:35px;padding-bottom:38px}.greys .page-heading h1{font-size:44px}}
@media(max-width:380px){.greys .brand-name{font-size:18px}.greys .brand img{width:25px;height:34px}.greys .header-inner{gap:8px;padding-left:14px;padding-right:14px}.greys .header-cta{padding:9px 11px;font-size:12px}.greys .hotel-hero h1{font-size:43px}.greys .hotel-gallery .gallery-photo,.greys .hotel-gallery .gallery-item:first-child:nth-last-child(4) .gallery-photo{height:175px}}
@media(prefers-reduced-motion:reduce){.greys .hotel-hero img{animation:none}}

/* Greys typography across pages, forms and captions. */
body.greys{font-size:17px}
.greys .text-link{font-size:14px}
.greys .button{font-size:14px}
.greys .eyebrow{font-size:13px}
.greys .breadcrumb{font-size:12px}
.greys .page-heading p,.greys .room-look-copy p{font-size:15px}
.greys .rate-section .section-title>p{font-size:14px}
.greys .rate-card .text-link{font-size:13px}
.greys .rate-amount>span{font-size:16px}
.greys .rate-amount small{font-size:13px}
.greys .gallery-item .gallery-caption{font-size:13px}
.greys .filter-row button{font-size:13px}
.greys .photo-credit{font-size:12px}
.greys .caption{font-size:12px}
.greys .hotel-map p,.greys .arrival-note{font-size:15px}
.greys .arrival-address{font-size:17px}
.greys .map-fallback{font-size:13px}
.greys .contact-actions .text-link{font-size:13px}
.greys .contact-actions .button{font-size:13px}
.greys .booking-email{font-size:15px}
.greys .footer p,.greys .footer a,.greys .footer button.footer-link{font-size:14px}
.greys .footer .eyebrow,.greys .footer-bottom{font-size:12px}
.greys .footer a.booking-email{font-size:13px}
.greys .dialog-intro{font-size:15px}
.greys .field{font-size:13px}
.greys .field input,.greys .field select,.greys .field textarea{font-size:15px}
.greys .form-note{font-size:13px}
.greys .form-message,.greys .enquiry-recipient,.greys .result textarea{font-size:14px}
.greys .enquiry-delivery-status{font-size:15px}
.greys .lightbox-info{font-size:14px}
html:has(body.greys){scroll-padding-top:100px}
.greys section[id]{scroll-margin-top:0}
@media(max-width:600px){.greys .gallery-item .gallery-caption{font-size:12px!important}.greys .caption{font-size:11px}.greys .footer .eyebrow{font-size:12px}}
