:root{color-scheme:light;--ink:#221f19;--paper:#f4f1eb;--muted:#625c53;--line:#d8d1c5;--cedar:#936744}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Schibsted Grotesk',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:4px}
button{font:inherit}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--cedar);outline-offset:5px}
.skip-link{position:absolute;top:-100px;left:16px;background:var(--ink);color:var(--paper);padding:12px;z-index:2}
.skip-link:focus{top:10px}
.site-header{max-width:1320px;margin:auto;padding:20px 48px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}
.brand img{display:block;object-fit:contain}
.back-link{font-size:13px;text-decoration:none}
.back-link:hover{text-decoration:underline}
main{max-width:1240px;margin:auto;padding:0 48px 100px}
.introduction{padding:42px 0 38px}
.eyebrow{font-size:11px;letter-spacing:.23em;text-transform:uppercase;font-weight:500;margin:0 0 24px;line-height:1.7}
.eyebrow span{margin:0 12px;color:var(--cedar)}
h1,h2,h3,footer p{font-family:'Playfair Display',Georgia,serif;font-weight:400}
h1{font-size:clamp(48px,6vw,76px);line-height:1.08;letter-spacing:-.035em;margin:0 0 20px}
h1 em{font-weight:400;color:var(--cedar)}
.intro-copy{font-size:19px;line-height:1.6;margin:0 0 12px}
.property-line{font-size:13px;color:var(--muted);line-height:1.8;margin:0}
.property-line span{margin:0 7px}
.booking-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start;gap:56px}
.booking-panel{background:#fff;padding:36px;border:1px solid var(--line);border-radius:5px;box-shadow:0 18px 45px -38px #221f1970;scroll-margin-top:24px}
.booking-panel .eyebrow{margin-bottom:16px;color:var(--muted)}
h2{font-size:34px;line-height:1.17;letter-spacing:-.02em;margin:0 0 28px}
p{line-height:1.75}
.status-heading{font-size:16px;font-weight:500;margin:0 0 8px}
.muted{color:var(--muted)}
#status-description{margin:0 0 24px;font-size:14px}
#payment-summary{font-size:14px}
.button{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:19px 22px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:3px;text-decoration:none;font-size:13px;font-weight:500;letter-spacing:.04em;transition:background .18s}
.button:hover{background:#40362b}
.small{font-size:12px;line-height:1.8}
.text-link{border:0;padding:0;background:transparent;cursor:pointer;font-size:14px;font-weight:500;text-decoration:underline;text-underline-offset:5px;color:var(--ink)}
.registration-notice{border-top:1px solid var(--line);padding-top:20px;margin:26px 0 0;font-size:12px;color:var(--muted)}
.stay-summary{padding-top:12px}
.stay-summary h2{font-size:29px}
.stay-summary .eyebrow{color:var(--muted);margin-bottom:15px}
dl{margin:0}
dl>div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.6}
dt{color:var(--muted)}
dd{margin:0;text-align:right;font-weight:500}
dd small{display:block;font-size:11px;font-weight:400;color:var(--muted)}
.booking-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:72px;padding-top:38px;border-top:1px solid var(--line)}
.note-number{color:var(--cedar);font-size:11px;letter-spacing:.15em}
h3{font-size:22px;margin:14px 0 10px;line-height:1.3}
.booking-notes p{font-size:13px;color:var(--muted);margin:0}
footer{background:var(--ink);color:var(--paper);text-align:center;padding:48px 24px}
footer p{font-size:29px;font-style:italic;margin:0 0 18px}
footer a{font-size:11px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none}
@media(max-width:760px){.site-header{padding:14px 22px}.brand img{width:96px;height:64px}.back-link{font-size:12px}main{padding:0 22px 64px}.introduction{padding:48px 0 34px}.intro-copy{font-size:17px}.booking-layout{grid-template-columns:1fr;gap:36px}.booking-panel{padding:28px 24px}h2{font-size:30px}.booking-notes{grid-template-columns:1fr;gap:26px;margin-top:44px;padding-top:30px}.stay-summary{padding:0 3px}.booking-notes h3{margin-top:8px}.property-line{max-width:30ch}.property-line span{margin:0 3px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
