:root{
  --ink:#20251f; --forest:#28382e; --cream:#f3eee3; --paper:#faf8f2;
  --gold:#a48355; --line:rgba(32,37,31,.16); --serif:Georgia,"Times New Roman",serif;
  --sans:Arial,Helvetica,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.65}
a{color:inherit;text-decoration:none}.site-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;position:absolute;top:0;left:0;right:0;z-index:10;color:white}
.brand{font-family:var(--serif);font-size:1.18rem;letter-spacing:.03em}.brand-mark{font-size:.8rem;margin-right:.45rem}
nav{display:flex;gap:2rem;align-items:center;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}nav a{opacity:.92}.nav-cta{border:1px solid rgba(255,255,255,.55);padding:.65rem 1rem}.menu{display:none;background:none;border:0;color:white;font-size:1.5rem}
.hero{min-height:92vh;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#364238}
.hero-image{position:absolute;inset:0;background-image:url("images/banner.png");background-size:cover;background-position:center}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,25,19,.76),rgba(16,25,19,.15) 72%),linear-gradient(0deg,rgba(16,25,19,.62),transparent 55%)}
.hero-content{position:relative;z-index:2;color:white;max-width:760px;padding:0 8vw 10vw}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.68rem;font-weight:bold;margin:0 0 1rem;color:var(--gold)}.hero .eyebrow{color:#dfc18e}
h1,h2,h3{font-family:var(--serif);font-weight:normal;line-height:1.08;margin:.2rem 0 1.25rem}h1{font-size:clamp(4rem,9vw,8rem);letter-spacing:-.045em}h1 em{font-weight:normal}.hero-copy{font-size:1.1rem;max-width:510px;margin-bottom:2rem}
.button{display:inline-flex;align-items:center;gap:1.2rem;background:#e8ddc9;color:var(--ink);padding:1rem 1.3rem;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:bold}.button span{font-size:1.1rem}.button.dark{background:var(--forest);color:white}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding:9vw 10vw;background:var(--cream)}h2{font-size:clamp(2.4rem,4.2vw,4.6rem);letter-spacing:-.035em}.intro p:last-child{font-family:var(--serif);font-size:1.3rem;max-width:600px}
.section{padding:10vw 9vw}.about{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.about-photo{aspect-ratio:4/5;overflow:hidden}.about-photo img{width:100%;height:100%;object-fit:cover}.about-copy p:not(.eyebrow){max-width:570px;color:#555b54}
.readings{background:var(--forest);color:white}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:4vw}.section-heading h2{max-width:650px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.18)}.card{background:var(--forest);padding:3vw;min-height:390px;display:flex;flex-direction:column}.card.featured{background:#32483a}.card-number{font-size:.7rem;letter-spacing:.15em;color:#cdb17e}.card h3{font-size:2.3rem;margin-top:4rem}.price{font-family:var(--serif);font-size:2rem;color:#e0c28d}.card p{color:#c8cec7;max-width:340px}.card a{margin-top:auto;text-transform:uppercase;font-size:.7rem;letter-spacing:.15em}.payment-note{text-align:center;color:#bfc8bf;font-size:.75rem;margin:2rem 0 0}
.quote{display:grid;grid-template-columns:1fr 1fr;min-height:600px}.quote-image{background:url("images/tarot-2.png") center/cover}.quote-copy{background:#dfd5c2;display:flex;flex-direction:column;justify-content:center;padding:8vw}.quote-mark{font-family:var(--serif);font-size:6rem;line-height:.7;color:var(--gold)}blockquote{font-family:var(--serif);font-size:clamp(2rem,4vw,4rem);line-height:1.12;margin:1rem 0 2rem;letter-spacing:-.03em}.quote-copy p{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}
.book{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;background:var(--cream)}.book-panel{border-top:1px solid var(--line);padding-top:2rem}.book-panel p{max-width:440px}.small{font-size:.75rem;color:#686c65;margin-top:1.5rem}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.contact-details{display:flex;flex-direction:column;gap:1rem;font-family:var(--serif);font-size:1.35rem}.contact-details p{font-family:var(--sans);font-size:.85rem;color:#6a6e68}
footer{display:flex;justify-content:space-between;padding:2.5rem 5vw;background:#18231c;color:#dfe4dc;font-size:.7rem}.footer-brand{font-family:var(--serif);font-size:1rem}.footer-brand span{color:#c4a267;margin-left:.4rem}
@media(max-width:800px){
 .site-header{padding:0 6vw}nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--forest);padding:1.5rem 6vw;flex-direction:column;align-items:flex-start;gap:1rem}nav.open{display:flex}.menu{display:block}
 .hero{min-height:82vh}.hero-content{padding:0 7vw 16vw}.hero-copy{font-size:1rem}
 .intro,.about,.quote,.book,.contact{grid-template-columns:1fr}.intro{gap:2rem}.section{padding:16vw 7vw}.about-photo{aspect-ratio:1/1}.cards{grid-template-columns:1fr}.card{min-height:300px;padding:8vw}.card h3{margin-top:2.5rem}.section-heading{display:block}.quote{min-height:auto}.quote-image{min-height:420px}.quote-copy{padding:14vw 9vw}.book{gap:4rem}footer{display:block;padding:2rem 7vw}footer p{margin-top:1rem}
}