@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Libre+Caslon+Display&display=swap');
/* Thornleigh's stone exterior, ink blue and warm brass guide the visual system. */
:root{--ink:#132c38;--paper:#f5f5f0;--copper:#c97952;--muted:#566971}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--copper);outline-offset:6px}header{min-height:96px;padding:22px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--paper)}.brand{display:flex;align-items:center;gap:15px;font-size:17px;font-weight:500;line-height:1.3}.brand-symbol{font-family:'Libre Caslon Display',Georgia,serif;font-size:37px;border:1px solid #789099;border-radius:50%;width:51px;height:51px;display:grid;place-items:center}nav{display:flex;align-items:center;gap:34px;font-size:14px}.nav-book{border-bottom:1px solid var(--ink);padding:7px 0}.nav-book span{margin-left:20px}.hero{min-height:680px;height:calc(100svh - 96px);max-height:900px;position:relative;color:white;overflow:hidden}.hero>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,26,35,.72),rgba(7,26,35,.14)),linear-gradient(0deg,rgba(7,26,35,.4),transparent 40%)}.hero-content{position:relative;padding:90px 8%;max-width:960px}.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:600;margin:0 0 24px}h1,h2,h3{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.02;margin:0}h1{font-size:clamp(70px,8vw,120px);letter-spacing:-.025em}h2{font-size:clamp(48px,5vw,72px)}h3{font-size:35px}.hero-content>p:not(.eyebrow){font-size:18px;line-height:1.6;margin:30px 0}.button{display:inline-flex;gap:42px;align-items:center;padding:16px 25px;font-size:15px;font-weight:500}.copper{background:var(--copper);color:#13232c}.button:hover{background:#e19972}.hero-caption{position:absolute;bottom:35px;left:8%;right:8%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.08em}.section{padding:100px 8%}.welcome{display:grid;grid-template-columns:1fr 1fr;gap:100px}.welcome-copy{padding-top:28px;max-width:480px;color:var(--muted)}.welcome-copy p:first-child{font-size:21px;color:var(--ink);margin-top:0}.text-link{display:inline-flex;gap:35px;border-bottom:1px solid #789099;padding:10px 0;color:var(--ink);font-size:14px}.explore{background:#e6ecee}.section-head{display:flex;justify-content:space-between;align-items:end;gap:50px}.section-head>p{color:var(--muted);font-size:15px}.experiences{display:grid;grid-template-columns:repeat(3,1fr);margin-top:60px;gap:45px}.experiences article{border-top:1px solid #9eb1b9;padding-top:24px}.number{font-size:12px;letter-spacing:.13em}.experiences h3{margin:33px 0 17px}.experiences p{max-width:310px;color:var(--muted);font-size:16px}.booking{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.booking>div>p:last-child{color:#bfccd0}.booking-card{background:var(--paper);color:var(--ink);padding:40px}.booking-card h3{font-size:39px;line-height:1.15}.booking-card p{font-size:16px}.booking-state{display:block;padding:15px 20px;background:#e6ecee;font-size:14px;text-align:center;margin:24px 0}.booking-card .booking-note{font-size:13px;color:var(--muted);margin-bottom:0}.booking-card .button{width:100%;justify-content:space-between;margin:20px 0}footer{padding:55px 8% 25px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:25px}footer p{font-size:14px;color:var(--muted)}#contact{display:flex;flex-direction:column;gap:8px;font-size:14px}.footer-bottom{border-top:1px solid #c8d1d2;width:100%;padding-top:25px;margin-top:20px;display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media(max-width:750px){header{padding:18px 6%;min-height:82px}.brand{font-size:14px;gap:10px}.brand-symbol{font-size:29px;width:41px;height:41px;flex-shrink:0}nav{gap:0}nav>a:not(.nav-book){display:none}.nav-book{font-size:13px;white-space:nowrap}.nav-book span{margin-left:6px}.hero{height:740px;min-height:600px;max-height:calc(100svh - 82px)}.hero-content{padding:70px 7%}.hero h1{font-size:clamp(60px,12vw,90px)}.hero-content>p:not(.eyebrow){font-size:16px}.hero-caption{left:7%;right:7%;font-size:10px}.section{padding:65px 7%}.welcome,.booking{grid-template-columns:1fr;gap:30px}.welcome-copy{padding-top:0}.section-head{display:block}.section-head>p{margin-top:25px}.experiences{grid-template-columns:1fr;gap:25px;margin-top:35px}.experiences h3{margin-top:20px}.experiences p{max-width:none}.booking-card{padding:28px}.booking-card h3{font-size:34px}footer{padding:40px 7% 25px}.footer-bottom{font-size:12px;gap:20px}.eyebrow{font-size:12px;letter-spacing:.13em}}

.rooms{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding-top:10px}.rooms img{width:100%;height:440px;object-fit:cover}.rooms p:not(.eyebrow){color:var(--muted);max-width:420px}.rooms .room-details{font-size:12px;line-height:2;letter-spacing:.08em;margin:25px 0}@media(max-width:750px){.rooms{grid-template-columns:1fr;gap:35px;padding-top:0}.rooms img{height:340px}.footer-bottom{flex-wrap:wrap}}

:root{--ldg-psb-background:#ffffff;--ldg-psb-border-radius:.42em;--ldg-psb-box-shadow:0 24px 54px rgba(0,0,0,.1);--ldg-psb-padding:14px;--ldg-psb-input-background:#ffffff;--ldg-psb-button-border-radius:4px;--ldg-psb-color-primary:#00a7fa;--ldg-psb-color-primary-lighter:#80d3fd;--ldg-psb-color-primary-darker:#00547d;--ldg-psb-color-primary-contrast:#132c38;--ldg-semantic-color-primary:#00a7fa;--ldg-semantic-color-primary-lighter:#80d3fd;--ldg-semantic-color-primary-darker:#00547d;--ldg-semantic-color-primary-contrast:#132c38}#lodgify-search-bar{position:relative;width:100%;z-index:2}#lodgify-widget{margin-top:20px}.booking{grid-template-columns:.8fr 1.2fr;gap:50px}@media(max-width:750px){.booking{grid-template-columns:1fr}}
