:root{--ink:#0b0f11;--ink2:#121719;--cream:#eee8dc;--muted:#bdb7ac;--gold:#c8a052;--line:#303436}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--cream);font-family:Arial,Helvetica,sans-serif;line-height:1.55}.wrap{width:min(1180px,92vw);margin:auto}
.site-header{background:#080c0e;border-bottom:1px solid #262b2d;position:relative;z-index:10}.brand-row{min-height:105px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{text-decoration:none;color:var(--gold)}.brand span{font:500 clamp(28px,4vw,52px)/1 Georgia,serif;letter-spacing:.06em}.brand small{display:block;color:#ddd7cc;letter-spacing:.22em;font-size:10px;margin-top:10px}.thought{text-align:right;font:italic 18px/1.3 Georgia,serif;color:#ddd7cc}.thought em{color:var(--gold);display:inline-block;margin-left:10px}.nav{display:flex;justify-content:space-between;gap:20px;overflow:auto;border-top:1px solid #202527}.nav a{color:#e6e0d6;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:12px;padding:17px 8px;white-space:nowrap}.nav a:first-child,.nav a:hover{color:var(--gold)}
.hero{position:relative;min-height:650px;background:linear-gradient(90deg,#101517,#23282a);overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 48% 35%,rgba(255,255,255,.09),transparent 32%),linear-gradient(90deg,rgba(0,0,0,.5),transparent 55%,rgba(0,0,0,.45))}.hero-grid{position:relative;z-index:2;min-height:650px;display:grid;grid-template-columns:1.05fr .9fr .78fr;gap:32px;align-items:center}.hero-copy h1{font:italic 58px/1.05 Georgia,serif;margin:10px 0 25px;color:#f5f0e7}.hero-copy h1 span{color:var(--gold)}.eyebrow{color:var(--gold);letter-spacing:.2em;font-size:12px;font-weight:bold}.lead{max-width:430px;text-transform:uppercase;letter-spacing:.11em;font-size:13px;color:#e1ddd5}.button{display:inline-block;text-transform:uppercase;letter-spacing:.1em;font-weight:bold;font-size:13px;padding:14px 25px;margin-top:18px}.outline{border:1px solid var(--gold);color:var(--gold);text-decoration:none}.coming{background:var(--gold);color:#111;text-align:center;width:100%}.julie-frame img{width:100%;height:520px;object-fit:cover;object-position:center top;filter:saturate(.82) contrast(1.04)}.book-frame{align-self:center}.book-frame img{width:100%;max-height:510px;object-fit:contain;filter:drop-shadow(0 16px 18px rgba(0,0,0,.55))}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:12px 0;background:var(--ink)}.card{position:relative;min-height:230px;border:1px solid #293033;text-decoration:none;color:white;overflow:hidden;background:#111}.card img{width:100%;height:150px;object-fit:cover;filter:grayscale(1) brightness(.75)}.book-card img{object-position:center 25%}.card div{padding:10px 20px 14px}.card h2{font:22px Georgia,serif;margin:0}.card p{font:italic 15px Georgia,serif;color:#d2ccc2;margin:3px 0}
.section{padding:85px 0}.book-section{background:#ece6da;color:#171717}.split{display:grid;grid-template-columns:1.3fr .7fr;gap:70px;align-items:center}.section h2{font:42px Georgia,serif;margin:5px 0 20px}.muted{color:#5f5b55}.book-large{max-height:530px;max-width:100%;justify-self:center;box-shadow:0 20px 35px rgba(0,0,0,.3)}.dark-section{background:#111719}.reverse{grid-template-columns:.8fr 1.2fr}.portrait{width:100%;max-height:500px;object-fit:cover;object-position:center top}.dark-section p{color:#d8d2c8}.place-banner{position:relative;height:520px;overflow:hidden}.place-banner>img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.5)}.place-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.quote{font:italic clamp(32px,5vw,58px) Georgia,serif;max-width:600px;margin:0}.signature{font:italic 26px Georgia,serif;color:var(--gold);margin:10px 0}.location{letter-spacing:.2em;font-size:12px}.news{background:#171c1e}.news p:not(.eyebrow){max-width:720px;color:#c9c4bb}
footer{background:#070a0c;border-top:1px solid #252a2c;padding:42px 0 22px}.footer-grid{display:flex;justify-content:space-between;gap:30px}.footer-grid strong{font:26px Georgia,serif;color:var(--gold)}.footer-grid p,.footer-note{color:#aaa49b}.footer-note{text-align:right}.footer-note span{font-size:13px}.copyright{border-top:1px solid #24292b;margin-top:30px;padding-top:18px;font-size:12px;color:#8f8a82}
@media(max-width:850px){.brand-row{min-height:88px}.thought{display:none}.nav{justify-content:flex-start}.hero-grid{grid-template-columns:1fr 1fr;padding:55px 0}.hero-copy{grid-column:1/-1}.hero-copy h1{font-size:48px}.julie-frame img{height:430px}.cards{grid-template-columns:1fr}.split,.reverse{grid-template-columns:1fr}.book-large{order:-1;max-height:420px}.place-banner{height:430px}}
@media(max-width:540px){.brand span{font-size:27px}.brand small{font-size:8px;letter-spacing:.14em}.hero-grid{grid-template-columns:1fr}.hero-copy h1{font-size:42px}.julie-frame img{height:420px}.book-frame{max-width:280px;margin:auto}.section{padding:60px 0}.section h2{font-size:34px}.footer-grid{display:block}.footer-note{text-align:left;margin-top:20px}}

/* VERSION 2 */
.card:first-child img{object-position:center 18%;filter:grayscale(1) brightness(.78)}
.book-card img{object-fit:contain;object-position:center;background:#0d1113;padding:10px;filter:none}
.card:nth-child(3) img{object-position:center 52%;filter:grayscale(1) brightness(.78)}
.julie-frame img{object-position:center 12%}
.place-banner>img{object-position:center 58%}

/* VERSION 3 — reviews and final Julie cleanup */
.reviews-section{
  background:#0d1214;
  border-top:1px solid #272d2f;
  border-bottom:1px solid #272d2f;
  text-align:center;
}
.reviews-inner{max-width:850px}
.reviews-section h2{
  color:#f1ece2;
  font:italic 42px/1.15 Georgia,serif;
  margin:8px 0 18px;
}
.review-rule{
  width:72px;
  height:1px;
  background:var(--gold);
  margin:0 auto 24px;
}
.reviews-coming{
  color:#c9c3b9;
  font:18px/1.7 Georgia,serif;
  max-width:680px;
  margin:0 auto;
}

/* VERSION 4 — flush Julie images and stronger Heptonstall feature */
.julie-frame,
.card:first-child,
.portrait { background:#111719; }

.julie-frame img,
.card:first-child img,
.portrait {
  display:block;
  margin:0;
  border:0;
}

.place-banner>img{
  object-fit:cover;
  object-position:center 48%;
  filter:grayscale(1) brightness(.48) contrast(1.05);
}

/* VERSION 5 — exact Julie portrait for the small About Julie card */
.card:first-child img{
  object-fit:cover;
  object-position:center 46%;
  filter:grayscale(1) brightness(.78) contrast(1.04);
}
