@font-face{font-family:'Source Serif 4';src:url('fonts/source-serif-4.ttf') format('truetype');font-weight:200 900;font-style:normal;font-display:swap}
@font-face{font-family:'Source Serif 4';src:url('fonts/source-serif-4-italic.ttf') format('truetype');font-weight:200 900;font-style:italic;font-display:swap}
@font-face{font-family:'Work Sans';src:url('fonts/work-sans.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
:root{--gr-forest:#1B2A21;--gr-cream:#FBF8F2;--gr-ivory:#F6F1E7;--gr-brass:#C7A96B;--gr-bookbar:calc(70px + env(safe-area-inset-bottom));--gr-header:70px}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip;scroll-padding-top:90px}body{margin:0;background:var(--gr-cream);color:#23211E;font-family:'Work Sans','Helvetica Neue',sans-serif;-webkit-font-smoothing:antialiased;text-wrap:pretty;overflow-x:clip}body .wp-site-blocks{padding:0}body .wp-site-blocks>*{margin-block-start:0}a{color:#80632d;text-decoration:none}a:hover{color:#1B2A21}button,input,textarea{font:inherit}button,a{touch-action:manipulation}img{max-width:100%;height:auto}button{cursor:pointer}:focus-visible{outline:2px solid #A98A4B;outline-offset:4px}::selection{background:#D9CFBE}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2,h3{font-family:'Source Serif 4',Georgia,serif;font-weight:300}h2{margin:0;font-size:clamp(30px,4vw,60px);line-height:1.06;color:var(--gr-forest)}h3{margin:0 0 12px;font-size:clamp(26px,2.8vw,40px);line-height:1.05}p{font-size:15px;font-weight:300;line-height:1.8}.gr-container{width:92%;max-width:1500px;margin-inline:auto}.gr-section{padding-block:clamp(70px,9vw,140px)}.gr-ivory{background:var(--gr-ivory)}.gr-forest{background:var(--gr-forest);color:var(--gr-ivory)}.gr-forest h2{color:var(--gr-ivory)}.gr-eyebrow{font-family:'Work Sans',sans-serif;font-size:10.5px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:#80632d;margin:0 0 22px;line-height:1.6}.gr-two-column{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr));gap:clamp(34px,5vw,86px);align-items:start}.gr-two-column>*{min-width:0}.gr-editorial{font-family:'Source Serif 4',Georgia,serif;font-size:clamp(19px,1.7vw,25px);line-height:1.5;color:#2F4436;margin:0;max-width:560px}.gr-rule{width:60px;height:1px;background:var(--gr-brass);margin-top:30px}.gr-actions{display:flex;flex-wrap:wrap;gap:12px}.gr-button{min-height:52px;padding:12px 24px;display:inline-flex;align-items:center;justify-content:center;text-align:center;background:var(--gr-forest);color:var(--gr-ivory);border:1px solid var(--gr-forest);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;line-height:1.5;transition:background .2s,color .2s}.gr-button:hover{background:#80632d;border-color:#80632d;color:var(--gr-cream)}.gr-outline{background:transparent;border-color:rgba(35,33,30,.38);color:#23211E}.gr-light{background:var(--gr-cream);border-color:var(--gr-cream);color:#16221B}.gr-brass{background:var(--gr-brass);border-color:var(--gr-brass);color:#16221B}.gr-outline-light{background:transparent;border-color:rgba(251,248,242,.6);color:var(--gr-cream)}.gr-skip{position:fixed;top:-100px;left:16px;z-index:10000;padding:14px 20px;background:var(--gr-forest);color:white}.gr-skip:focus{top:10px}.gr-header{position:fixed;top:0;inset-inline:0;z-index:210;background:rgba(251,248,242,.97);border-bottom:1px solid rgba(35,33,30,.14);transition:background .4s,border-color .4s;backdrop-filter:blur(16px);color:var(--gr-forest)}.admin-bar .gr-header{top:32px}.gr-header-inner{max-width:1500px;margin:auto;padding:12px 4vw;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:70px}.gr-brand{display:flex;min-width:0;align-items:center;color:inherit;min-height:44px}.gr-brand-name{font-family:'Source Serif 4',Georgia,serif;font-size:clamp(13px,1.2vw,18px);letter-spacing:.28em;text-transform:uppercase;white-space:nowrap}.gr-logo{max-width:200px;max-height:46px;width:auto;object-fit:contain}.gr-wide{display:flex;align-items:center;gap:clamp(12px,1.6vw,26px);white-space:nowrap;font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase}.gr-wide>a:not(.gr-button){color:inherit;display:inline-flex;align-items:center;min-height:44px}.gr-over-hero:not(.gr-solid){background:transparent;border-color:rgba(246,241,231,.22);color:var(--gr-ivory)}.gr-over-hero:not(.gr-solid) .gr-brand:hover{color:var(--gr-brass)}.gr-compact{display:none;align-items:center;gap:8px}.gr-menu,.gr-close{width:44px;height:44px;flex-shrink:0;border:1px solid currentColor;background:transparent;color:inherit;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0}.gr-menu span{display:block;width:20px;height:1px;background:currentColor}.gr-close{font-size:28px}.gr-hero{min-height:min(100vh,860px);position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#1E2C23}.gr-hero-photo,.gr-scrim{position:absolute;inset:0}.gr-hero-photo{background:#E4DED0}.gr-hero-photo picture,.gr-hero-photo img{display:block;width:100%;height:100%;object-fit:cover}.gr-scrim{pointer-events:none;background:linear-gradient(180deg,rgba(14,22,17,.66),rgba(14,22,17,.30) 30%,rgba(14,22,17,.50) 62%,rgba(14,22,17,.88))}.gr-hero-content{position:relative;padding-block:clamp(96px,14vh,150px) clamp(40px,7vh,86px);z-index:1}.gr-hero-copy{max-width:760px}.gr-hero .gr-eyebrow{color:#EAD9B4}.gr-hero h1{font-size:clamp(38px,6vw,88px);line-height:1.02;letter-spacing:-.015em;color:var(--gr-cream);margin:0;text-shadow:0 2px 24px rgba(14,22,17,.45)}.gr-hero .gr-lead{max-width:44ch;font-size:clamp(15.5px,1.2vw,18px);line-height:1.68;color:#F1EBDD;margin:22px 0 0}.gr-hero .gr-actions{margin-top:clamp(26px,3.6vh,40px)}.gr-section-heading{display:flex;flex-wrap:wrap;gap:22px;align-items:flex-end;justify-content:space-between;margin-bottom:clamp(34px,4.4vw,64px)}.gr-section-heading>p{max-width:36ch;margin:0}.gr-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:clamp(24px,3vw,54px)}.gr-cards article{min-width:0}.gr-card-cover{position:relative;aspect-ratio:4/3;overflow:hidden;background:#E7E1D4}.gr-image{width:100%;height:100%;overflow:hidden;background:#E4DED0}.gr-image img,.gr-empty-image{display:block;width:100%;height:100%;object-fit:cover}.gr-card-label{position:absolute;left:0;top:0;padding:9px 15px;background:#16221B;display:flex;align-items:center;gap:9px;color:var(--gr-ivory);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase}.gr-card-label span{font:13px 'Source Serif 4',Georgia,serif;color:var(--gr-brass)}.gr-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:4px}.gr-thumbs>.gr-image{aspect-ratio:1}.gr-card-body{padding-top:26px}.gr-card-body p{margin:0 0 10px}.gr-facts{margin:0 0 24px}.gr-facts:empty{display:none}.gr-facts>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 18px;padding:13px 0;border-top:1px solid rgba(35,33,30,.14)}.gr-facts dt{flex:1 1 min(120px,100%);font-size:10.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#656055}.gr-facts dd{flex:1 1 min(160px,100%);margin:0;text-align:right;font-size:13.5px;overflow-wrap:anywhere}.gr-gallery{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(34px,4.4vw,60px)}.gr-gallery>.gr-image{flex:1 1 min(200px,100%);height:300px}.gr-gallery>.gr-image:first-child{flex:2 1 min(420px,100%)}.gr-experience-grid,.gr-review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(232px,100%),1fr));gap:1px;margin-top:45px}.gr-experience-grid>div{border:1px solid rgba(35,33,30,.14);padding:26px 24px}.gr-experience-grid h3{font-size:19px}.gr-experience-grid p{font-size:13.5px}.gr-review-grid{gap:20px}.gr-review-grid blockquote{margin:0;padding:28px 24px;border:1px solid rgba(199,169,107,.35)}.gr-review-grid p{font-family:'Source Serif 4',Georgia,serif;font-size:21px;font-style:italic}.gr-review-grid cite{font-size:11px;color:var(--gr-brass)}.gr-forest .gr-eyebrow{color:var(--gr-brass)}.gr-map-slot{aspect-ratio:4/3;background:#E7E1D4;display:grid;place-items:center}.gr-practical{max-width:1100px}.gr-practical h2{margin-bottom:40px}.gr-practical-row{display:flex;flex-wrap:wrap;gap:8px 34px;padding:22px 0;border-bottom:1px solid rgba(35,33,30,.12)}.gr-practical-row h3{font:600 14.5px 'Work Sans',sans-serif;flex:1 1 min(180px,100%);margin:0}.gr-practical-row p{flex:2 1 min(260px,100%);margin:0;font-size:14px}.gr-closing{height:clamp(360px,58vh,660px);position:relative;background:#0F1712}.gr-closing p{position:absolute;bottom:clamp(34px,5vw,64px);left:4vw;margin:0;color:var(--gr-cream);font:italic 300 clamp(24px,3.4vw,50px)/1.14 'Source Serif 4',Georgia,serif;max-width:22ch}.gr-footer{background:#0F1712;color:var(--gr-ivory)}.gr-footer .gr-section{padding-block:clamp(54px,7vw,100px)}.gr-footer .gr-eyebrow{color:var(--gr-brass)}.gr-footer a:not(.gr-button){color:var(--gr-brass);min-height:44px;display:inline-flex;align-items:center}.gr-footer :focus-visible{outline-color:var(--gr-ivory)}.gr-contact-details{display:flex;flex-direction:column;gap:14px;overflow-wrap:anywhere}.gr-footer-bottom{border-top:1px solid rgba(246,241,231,.12);padding:24px 4vw;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:11.5px;color:#C6C5BC}.gr-bookbar{display:none}.gr-bookbar-spacer{display:none}.gr-room-page{padding-top:70px}.gr-room-hero{height:min(62vh,560px);min-height:340px;position:relative}.gr-room-title{position:absolute;bottom:36px;left:4%;right:4%}.gr-room-title h1{font-size:clamp(30px,5vw,72px);line-height:1;color:var(--gr-cream);margin:0}.gr-room-details{padding-block:clamp(50px,6vw,90px)}.gr-room-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));gap:8px;margin-top:clamp(40px,5vw,80px)}.gr-room-gallery>.gr-image{aspect-ratio:3/4}.gr-back{display:inline-flex;align-items:center;min-height:44px;margin-top:34px;font-size:11px;letter-spacing:.16em;text-transform:uppercase}.gr-document,.gr-archive{padding-top:130px;min-height:50vh}.gr-document{max-width:1100px;width:92%;margin:auto;padding-bottom:70px}.gr-form{margin-top:30px}.gr-form input,.gr-form textarea{max-width:100%;padding:12px}.gr-form label{display:block}.gr-form .wpcf7-response-output{color:inherit}#gr-drawer{position:fixed;inset:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#16221B;color:var(--gr-ivory);z-index:320}#gr-drawer:not([open]){display:none}#gr-drawer[open]{display:flex;flex-direction:column}.gr-drawer-head{padding:12px 5vw;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(199,169,107,.28);font:14px 'Source Serif 4',Georgia,serif;letter-spacing:.2em;text-transform:uppercase}#gr-drawer nav{flex:1;overflow-y:auto;padding:20px 5vw calc(30px + env(safe-area-inset-bottom));display:flex;flex-direction:column}#gr-drawer nav>a:not(.gr-button){min-height:56px;padding:6px 0;border-bottom:1px solid rgba(246,241,231,.1);color:var(--gr-ivory);font:24px/1.8 'Source Serif 4',Georgia,serif}#gr-drawer .gr-button{margin-top:24px}html.gr-locked,html.gr-locked body{overflow:hidden!important}
@media(max-width:1119px){.gr-wide{display:none}.gr-compact{display:flex}.gr-compact .gr-button{min-height:44px;padding:0 13px;font-size:10px}.gr-hero{min-height:84vh}.gr-hero-content{padding-bottom:calc(clamp(40px,7vh,86px) + var(--gr-bookbar))}.gr-bookbar{display:flex;position:fixed;bottom:0;inset-inline:0;z-index:200;align-items:center;justify-content:space-between;gap:12px;min-height:var(--gr-bookbar);padding:9px 4vw calc(9px + env(safe-area-inset-bottom));background:#16221B;color:var(--gr-ivory)}.gr-bookbar>span{font:16px 'Source Serif 4',Georgia,serif}.gr-bookbar .gr-button{font-size:10px;min-height:50px;padding:8px 15px}.gr-bookbar-spacer{display:block;height:max(96px,var(--gr-bookbar))}}
@media(max-width:782px){.admin-bar .gr-header{top:46px}}
@media(max-width:419px){.gr-brand-name{font-size:12px;letter-spacing:.08em}.gr-logo{max-width:140px}.gr-bookbar>span{font-size:14px}.gr-header-inner{gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Enquiry fields use the same responsive system as the rest of the theme. */
.gr-enquiry-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:900px}.gr-enquiry-fields>p{margin:0;min-width:0}.gr-enquiry-fields label{font-size:13px;font-weight:400;line-height:1.6}.gr-enquiry-fields input:not([type=submit]),.gr-enquiry-fields textarea{display:block;width:100%;min-height:48px;border:1px solid #858879;background:#FBF8F2;color:#23211E;margin-top:7px;border-radius:0}.gr-enquiry-fields textarea{min-height:150px;resize:vertical}.gr-enquiry-fields>p:has(textarea),.gr-enquiry-fields>p:has(input[type=submit]){grid-column:1/-1}.gr-enquiry-fields .wpcf7-not-valid-tip{color:#FFD3BA;font-size:13px}.gr-form .wpcf7-response-output{margin:20px 0;padding:15px;max-width:900px}.gr-form .wpcf7-spinner{align-self:center}.gr-footer .gr-form input[type=submit]{cursor:pointer}.gr-header .gr-wide{gap:clamp(10px,1.25vw,22px)}
@media(max-width:600px){.gr-enquiry-fields{grid-template-columns:minmax(0,1fr)}.admin-bar .gr-header{position:absolute}}
