:root{--cream:#f1eadc;--paper:#f8f5ee;--rust:#9a4827;--rust-dark:#873d21;--brown:#704b43;--ink:#2b2722;--line:#cdbba3;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}
.site-header{height:76px;background:var(--paper);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 5vw;border-bottom:1px solid rgba(43,39,34,.12);position:sticky;top:0;z-index:20}.brand{font-size:.78rem;letter-spacing:.16em;font-weight:600}.brand span{color:var(--rust)}.site-header nav{display:flex;gap:2.4rem;text-transform:uppercase;letter-spacing:.12em;font-size:.67rem}.site-header nav a:hover{color:var(--rust)}.header-cta{justify-self:end;border:1px solid var(--rust);color:var(--rust);padding:.55rem .85rem;text-transform:uppercase;letter-spacing:.1em;font-size:.63rem}
.masthead{background:var(--paper);border-bottom:1px solid rgba(43,39,34,.12)}.masthead img{width:100%;height:auto}
.section-light{background:var(--paper)}.section-paper{background:var(--cream)}.eyebrow{font-size:.65rem;letter-spacing:.2em;font-weight:600;color:var(--rust);margin:0 0 1rem}.welcome{display:grid;grid-template-columns:1fr 1.05fr;gap:7vw;align-items:center;padding:7vw 8vw}.welcome-copy h1,.about-copy h2,.booking-copy h2,.contact h2{font-family:var(--serif);font-weight:500;letter-spacing:-.04em;line-height:.88;margin:0;color:var(--ink)}.welcome-copy h1{font-size:clamp(3.6rem,6vw,6rem)}.tagline{font-family:var(--serif);font-size:1.75rem;color:var(--rust);line-height:1.05;margin:2rem 0 1.2rem}.welcome-copy>p:not(.eyebrow):not(.tagline){font-family:var(--serif);font-size:1.25rem;color:var(--brown);max-width:520px}.welcome-image{margin:0;overflow:hidden}.welcome-image img{width:100%;aspect-ratio:1.05/1;object-fit:cover}.outline-button,.rust-button{display:inline-flex;align-items:center;gap:2rem;text-transform:uppercase;letter-spacing:.12em;font-size:.64rem;font-weight:600;padding:.9rem 1.1rem;margin-top:1.2rem}.outline-button{border:1px solid var(--rust);color:var(--rust)}.outline-button span,.rust-button span{font-size:1rem}
.about{display:grid;grid-template-columns:.78fr 1fr;gap:8vw;align-items:center;padding:8vw}.about-image{margin:0}.about-image img{width:100%;aspect-ratio:1/1;object-fit:cover}.about-copy h2{font-size:clamp(3.5rem,5.6vw,6.1rem);margin:.2rem 0 1.8rem}.about-copy p:not(.eyebrow){font-family:var(--serif);font-size:1.18rem;color:var(--brown);max-width:650px}.values{margin-top:2rem;color:var(--rust);font-size:.68rem;letter-spacing:.13em;font-weight:600}.values span{padding:0 .35rem}
.photo-break{height:58vh;min-height:430px;overflow:hidden;background:var(--paper)}.photo-break img{width:100%;height:100%;object-fit:cover;object-position:center 54%;filter:saturate(.82)}
.readings{background:var(--rust);color:#fff;padding:8vw}.readings-heading{display:grid;grid-template-columns:1fr 1.4fr;column-gap:5vw;align-items:end;margin-bottom:4vw}.readings-heading .eyebrow{color:#f1d3a8;grid-column:1}.readings-heading h2{font-family:var(--serif);font-size:clamp(3.8rem,6vw,6.2rem);line-height:.82;font-weight:500;letter-spacing:-.04em;margin:0;grid-column:1}.readings-heading>p:last-child{grid-column:2;font-family:var(--serif);font-size:1.4rem;margin:0;color:#f6e8d1;align-self:end}.reading-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,239,216,.42);border-bottom:1px solid rgba(255,239,216,.42)}.reading-card{padding:3vw 2.4vw;min-height:350px;border-right:1px solid rgba(255,239,216,.42);display:flex;flex-direction:column}.reading-card:last-child{border-right:0}.number{font-size:.62rem;letter-spacing:.18em;color:#f0c98e}.reading-card h3{font-family:var(--serif);font-size:2.4rem;font-weight:500;margin:3rem 0 .3rem}.price{font-family:var(--serif);font-size:2.6rem;color:#f0c98e}.reading-card p{font-family:var(--serif);font-size:1.1rem;color:#f8e8d4;max-width:360px}.reading-card a{margin-top:auto;text-transform:uppercase;letter-spacing:.12em;font-size:.62rem;font-weight:600}.payments{text-align:center;margin-top:2rem;font-size:.58rem;letter-spacing:.2em;color:#f4dcc0}
.booking{display:grid;grid-template-columns:1fr .9fr;min-height:620px}.booking-copy{padding:8vw;display:flex;flex-direction:column;justify-content:center}.booking-copy h2{font-size:clamp(3.8rem,5.8vw,6rem);margin:.2rem 0 1.8rem}.booking-copy>p:not(.eyebrow){font-family:var(--serif);font-size:1.35rem;color:var(--brown);max-width:540px}.rust-button{background:var(--rust);color:#fff;align-self:flex-start}.contact-mini{display:flex;flex-direction:column;gap:.35rem;margin-top:2rem;font-size:.78rem}.contact-mini a:first-child{font-weight:600}.contact-mini a:hover{color:var(--rust)}.booking-image{margin:0;min-height:620px;overflow:hidden}.booking-image img{width:100%;height:100%;object-fit:cover}
.contact{padding:7vw 8vw;display:grid;grid-template-columns:1fr 1fr;align-items:end}.contact h2{font-size:clamp(3.5rem,5vw,5.6rem)}.contact-details{display:flex;flex-direction:column;gap:.65rem;font-family:var(--serif);font-size:1.35rem}.contact-details a:hover{color:var(--rust)}.contact-details p{font-family:var(--sans);font-size:.7rem;color:#777267;margin:0}footer{background:#2b2722;color:#f1eadc;padding:1.5rem 5vw;display:flex;justify-content:space-between;font-size:.57rem;letter-spacing:.16em}
@media(max-width:800px){.site-header{height:68px;display:flex;justify-content:space-between;padding:0 5vw}.site-header nav{display:none}.header-cta{padding:.5rem .65rem}.welcome,.about,.booking,.contact{grid-template-columns:1fr}.welcome,.about{padding:15vw 7vw;gap:3rem}.welcome-copy h1{font-size:3.8rem}.tagline{font-size:1.5rem}.photo-break{height:45vh}.readings{padding:15vw 6vw}.readings-heading{grid-template-columns:1fr;gap:1.5rem}.readings-heading .eyebrow,.readings-heading h2,.readings-heading>p:last-child{grid-column:1}.readings-heading h2{font-size:4rem}.reading-grid{grid-template-columns:1fr}.reading-card{border-right:0;border-bottom:1px solid rgba(255,239,216,.42);padding:9vw 5vw;min-height:320px}.reading-card:last-child{border-bottom:0}.booking-image{min-height:430px}.booking-copy{padding:15vw 7vw}.contact{padding:15vw 7vw;gap:3rem}footer{padding:1.3rem 5vw}}
