:root{--ink:#201b18;--paper:#f6f0e6;--cream:#fffaf2;--wine:#663b38;--green:#314b40;--gold:#a68245;--muted:#766d65;--shadow:0 14px 35px rgba(30,20,14,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,'Times New Roman',serif;line-height:1.62}a{color:inherit}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:14px 4vw;background:rgba(255,250,242,.97);border-bottom:1px solid #d8ccbb}.brand{text-decoration:none;display:flex;gap:12px;align-items:center}.brand-mark{width:40px;height:40px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;font-size:22px;color:var(--gold)}.brand strong{display:block;font-size:20px}.brand small{display:block;color:var(--muted);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.main-nav{display:flex;gap:18px;align-items:center}.main-nav a{text-decoration:none;font-size:14px}.main-nav a.active{color:var(--wine);border-bottom:1px solid var(--wine)}.menu-toggle{display:none}.page-hero{min-height:42vh;padding:7vw 6vw;display:grid;align-content:end;color:white;background:linear-gradient(90deg,rgba(20,15,12,.7),rgba(20,15,12,.25)),var(--hero) center/cover}.page-hero h1{font-size:clamp(42px,7vw,82px);max-width:900px;margin:.15em 0}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:bold;color:var(--gold)}.page-hero .eyebrow{color:#ead4a8}.section{padding:68px 6vw;max-width:1400px;margin:auto}.section-heading{max-width:850px;margin-bottom:34px}.section-heading h2{font-size:clamp(30px,4vw,50px);margin:.15em 0}.lede{font-size:21px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.card{background:var(--cream);box-shadow:var(--shadow);border:1px solid #e0d4c5;overflow:hidden;border-radius:3px}.card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.card-body{padding:22px}.card h3{font-size:25px;margin:0 0 8px}.kicker{color:var(--wine);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.button{display:inline-block;text-decoration:none;border:1px solid var(--ink);padding:10px 15px;margin:4px 6px 4px 0;background:transparent;font-family:inherit;cursor:pointer}.button.primary{background:var(--ink);color:#fff}.button.gold{background:var(--gold);border-color:var(--gold);color:#fff}.gallery{columns:3 260px;column-gap:18px}.gallery figure{break-inside:avoid;margin:0 0 18px;background:var(--cream);box-shadow:var(--shadow)}.gallery img{width:100%;display:block}.gallery figcaption{padding:12px 14px;color:var(--muted);font-size:14px}.split{display:grid;grid-template-columns:1.1fr .9fr;gap:38px;align-items:center}.split img{width:100%;max-height:650px;object-fit:cover;box-shadow:var(--shadow)}.dark{background:#201b18;color:#f9f2e8;max-width:none}.dark .section-heading{margin-left:auto;margin-right:auto;text-align:center}.soft{background:#eae0d2;max-width:none}.quote{font-size:28px;font-style:italic;border-left:3px solid var(--gold);padding-left:20px}.book-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.book-card{text-decoration:none;background:var(--cream);padding:18px;box-shadow:var(--shadow);text-align:center}.book-card img{width:100%;height:330px;object-fit:contain;background:#ede7df}.journey-card{position:relative}.price{font-weight:bold;font-size:18px}.price.tbd{color:var(--muted);font-weight:normal}.cart-count{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:10px;background:var(--wine);color:white;font-size:11px;padding:0 6px}.cart-drawer{position:fixed;right:20px;bottom:20px;z-index:30;width:min(370px,calc(100vw - 40px));background:#fffaf2;box-shadow:0 18px 60px rgba(0,0,0,.25);padding:20px;display:none;border:1px solid #d3c5b1}.cart-drawer.open{display:block}.cart-items{max-height:240px;overflow:auto}.cart-item{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #ddd}.notice{padding:18px;background:#efe3cf;border-left:4px solid var(--gold)}footer{padding:30px 6vw;border-top:1px solid #d8ccbb;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:14px}.hero-home{min-height:78vh;background:linear-gradient(90deg,rgba(20,15,12,.72),rgba(20,15,12,.2)),url('assets/edith_wharton_journey.png') center/cover;color:white;display:flex;align-items:flex-end;padding:7vw}.hero-home .inner{max-width:760px}.hero-home h1{font-size:clamp(50px,8vw,96px);line-height:.95;margin:.2em 0}.home-links{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:55px 6vw;max-width:1400px;margin:auto}.home-link{background:var(--cream);padding:28px;text-decoration:none;box-shadow:var(--shadow);min-height:190px}.home-link h2{font-size:27px;margin:.2em 0}.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.video-grid video{width:100%;background:#111}.young-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.young-grid img{width:100%;box-shadow:var(--shadow)}@media(max-width:900px){.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fffaf2;padding:20px;flex-direction:column}.main-nav.open{display:flex}.grid,.book-row,.home-links,.split,.young-grid,.video-grid{grid-template-columns:1fr}.page-hero{min-height:34vh}.site-header{align-items:flex-start}footer{flex-direction:column}.book-card img{height:auto}}

/* Contact details */
footer a{color:inherit;text-decoration:none}footer a:hover{text-decoration:underline}.contact-card{margin-top:1.25rem;padding:1rem 1.15rem;border:1px solid rgba(120,98,65,.28);border-radius:12px;background:rgba(255,255,255,.55)}.contact-card p{margin:.35rem 0}.contact-card a{color:inherit}

.contact-hero{--hero:linear-gradient(115deg,#2b211c,#6b4d3f);min-height:36vh}.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.contact-box{display:block;text-decoration:none;background:var(--cream);border:1px solid #e0d4c5;box-shadow:var(--shadow);padding:28px;min-height:220px}.contact-box:hover{transform:translateY(-2px)}.contact-label{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:11px;color:var(--gold);font-weight:bold;margin-bottom:10px}.contact-box strong{font-size:21px;overflow-wrap:anywhere}.contact-note{margin-top:36px;padding:24px;background:#eae0d2;border-left:4px solid var(--gold)}@media(max-width:900px){.contact-grid{grid-template-columns:1fr}}
