/* Hero proportions measured against the approved 1672 × 941 comp.
   Keep these changes scoped to the hero; the rest of the homepage is unchanged. */
.hero {
  min-height:0;
  background:url('assets/hero-comp-tree-removed.webp') center center / cover no-repeat;
}
.hero::after { background:linear-gradient(90deg,rgba(2,9,15,.12),transparent 52%); }
.hero-shade { display:none; }
.hero .shell { width:82.2%; max-width:1580px; }
.hero .site-nav { min-height:0; height:8.4vw; max-height:162px; gap:24px; }
.hero .brand { font-family:Georgia,'Times New Roman',serif; font-size:clamp(28px,2.5vw,48px); letter-spacing:.24em; font-weight:400; }
.hero .nav-links { gap:clamp(24px,2.5vw,48px); }
.hero .nav-links a { font-family:Georgia,'Times New Roman',serif; font-size:clamp(14px,1.075vw,21px); letter-spacing:0; font-weight:400; }
.hero .nav-links a::after { bottom:3px; }
.hero .nav-links a.active::after { height:2px; background:#8dd8e5; }
.hero-layout { min-height:0; grid-template-columns:46.2% 53.8%; gap:0; align-items:start; padding:0 0 5.65vw; }
.hero-copy { max-width:none; padding-top:3vw; }
.hero .credential { font-family:Georgia,'Times New Roman',serif; font-size:clamp(18px,1.65vw,32px); line-height:1.1; letter-spacing:.25em; margin-bottom:1.35vw; color:#f3a25c; white-space:nowrap; }
.hero .credential em { font-weight:400; }
.hero .short-rule { width:12vw; height:2px; margin-bottom:2.05vw; background:linear-gradient(90deg,#e8a05a 70%,transparent); }
.hero .quote-block blockquote { font-family:Georgia,'Times New Roman',serif; font-size:calc(clamp(25px,2.2vw,42px) - 2pt); line-height:1.21; font-weight:400; text-wrap:initial; margin:0 0 .9vw; letter-spacing:0; }
.hero .quote-block figcaption { font-family:Georgia,'Times New Roman',serif; font-size:clamp(14px,1.2vw,23px); line-height:1.3; letter-spacing:.13em; color:#7dd7e9; }
.hero .quote-rule { width:9.2vw; height:2px; margin:1.85vw 0 1.9vw; background:linear-gradient(90deg,#e8a05a 75%,transparent); }
.hero-book { padding-top:0; }
.hero .book-3d { width:22.1vw; max-width:424px; filter:drop-shadow(0 18px 18px rgba(0,0,0,.4)); }
.hero .audio-line { font-family:Georgia,'Times New Roman',serif; font-size:calc(clamp(24px,2.02vw,39px) - 1pt); font-weight:400; line-height:1.15; letter-spacing:.055em; margin-top:1.2vw; white-space:nowrap; text-shadow:0 2px 10px #000; }
.hero .btn-dark { min-width:0; width:20.9vw; max-width:401px; min-height:0; height:4vw; max-height:77px; padding:0 15px; margin-top:1.1vw; border:2px solid #efa254; color:#f4a352; background:rgba(3,10,15,.9); }
.hero .btn-dark:hover { background:#efa254; color:var(--ink-navy); }
@media (min-width:1921px) {
 .hero-layout { padding-bottom:108px; }
 .hero-copy { padding-top:58px; }
 .hero .credential { margin-bottom:26px; }
 .hero .short-rule { margin-bottom:39px; }
 .hero .quote-rule { margin:35px 0 36px; }
}
@media (min-width:781px) and (max-width:1099px) {
 .hero .site-nav { height:100px; }
 .hero .brand { font-size:25px; letter-spacing:.15em; }
 .hero .nav-links { gap:14px; }
 .hero .nav-links a { font-size:12px; }
 .hero .shell { width:90%; }
 .hero-layout { grid-template-columns:49% 51%; }
 .hero .quote-block blockquote { font-size:calc(clamp(21px,2.3vw,25px) - 2pt); }
 .hero .quote-block figcaption { font-size:12px; }
 .hero .credential { font-size:17px; letter-spacing:.17em; }
 .hero .book-3d { width:27vw; }
 .hero .audio-line { font-size:calc(21px - 1pt); white-space:normal; }
 .hero .btn-dark { width:220px; height:50px; }
 .comp-break { display:none; }
}
@media (max-width:780px) {
 .hero { background-position:60% center; }
 .hero::after { background:rgba(2,9,15,.3); }
 .hero .shell { width:calc(100% - 40px); }
 .hero .site-nav { height:86px; max-height:none; }
 .hero .brand { font-size:25px; letter-spacing:.18em; }
 .hero .nav-links { gap:0; }
 .hero .nav-links a { font-size:17px; }
 .hero-layout { display:flex; gap:38px; padding:28px 0 54px; }
 .hero-copy { padding-top:0; }
 .hero .credential { font-size:17px; letter-spacing:.18em; margin-bottom:20px; }
 .hero .short-rule { width:115px; margin-bottom:26px; }
 .hero .quote-block blockquote { font-size:calc(23px - 2pt); line-height:1.3; margin-bottom:12px; }
 .hero .quote-block figcaption { font-size:12px; line-height:1.5; letter-spacing:.12em; }
 .hero .quote-rule { width:90px; margin:26px 0; }
 .comp-break { display:none; }
 .hero .book-3d { width:min(280px,74vw); }
 .hero .audio-line { font-size:calc(clamp(20px,5.5vw,27px) - 1pt); margin-top:24px; letter-spacing:.04em; white-space:normal; }
 .hero .btn-dark { width:260px; height:54px; margin-top:18px; }
}
@media (max-width:360px) {
 .hero .brand { font-size:21px; }
 .hero .credential { font-size:15px; }
}
@media (min-width:781px) and (max-width:1000px) {
 .hero .nav-toggle { display:flex; width:46px; height:42px; padding:7px 4px; border:0; background:transparent; flex-direction:column; justify-content:space-around; cursor:pointer; }
 .hero .nav-toggle span { width:100%; height:2px; background:var(--soft-ivory); display:block; }
 .hero .nav-links { position:absolute; top:84px; right:0; left:0; background:rgba(7,17,26,.98); padding:18px 24px 24px; flex-direction:column; align-items:flex-start; gap:0; visibility:hidden; pointer-events:none; }
 .hero .nav-links.open { visibility:visible; pointer-events:auto; }
 .hero .nav-links a { width:100%; padding:13px 0; font-size:17px; }
}

/* Local feathered scrims from the approved comp. These affect only the
   backdrop behind the quotes and audio CTA, never the artwork or layout. */
.hero-copy,
.hero-book { position:relative; isolation:isolate; }
.hero-copy::before {
  content:"";
  position:absolute;
  z-index:-1;
  pointer-events:none;
  inset:-5% -17% -12% -13%;
  background:radial-gradient(ellipse 50% 50% at 50% 50%,
    rgba(3,13,21,.86) 0%,
    rgba(3,13,21,.79) 37%,
    rgba(3,13,21,.57) 57%,
    rgba(3,13,21,.24) 76%,
    rgba(3,13,21,0) 100%);
}
.hero-book::before {
  content:"";
  position:absolute;
  z-index:-1;
  pointer-events:none;
  left:4%;
  right:4%;
  bottom:-3.1vw;
  height:14.5vw;
  max-height:278px;
  background:radial-gradient(ellipse 50% 50% at 50% 50%,
    rgba(23,36,47,.98) 0%,
    rgba(23,36,47,.95) 32%,
    rgba(23,36,47,.75) 51%,
    rgba(23,36,47,.32) 72%,
    rgba(23,36,47,0) 100%);
}
@media (min-width:781px) and (max-width:1099px) {
  .hero-book::before { height:190px; bottom:-38px; left:-5%; right:-5%; }
}
@media (max-width:780px) {
  .hero-copy::before { inset:-24px -30px -36px; }
  .hero-book::before { height:200px; bottom:-36px; left:-24px; right:-24px; }
}
@media (min-width:1921px) {
  .hero-book::before { bottom:-60px; }
}

/* Final comp adjustment: near-black left edge, feathered into the quote scrim. */
.hero-copy::after {
  content:"";
  position:absolute;
  z-index:-1;
  pointer-events:none;
  top:3vw;
  bottom:-8%;
  left:calc((min(82.2vw, 1580px) - 100vw) / 2);
  width:calc((100vw - min(82.2vw, 1580px)) / 2 + 7vw);
  background:linear-gradient(90deg,rgba(3,13,21,.98) 0%,rgba(3,13,21,.94) 43%,rgba(3,13,21,.65) 66%,rgba(3,13,21,0) 100%);
  mask-image:linear-gradient(180deg,transparent 0%,#000 12%,#000 86%,transparent 100%);
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 12%,#000 86%,transparent 100%);
}
@media (min-width:781px) and (max-width:1099px) {
  .hero-copy::after { left:-5vw; width:12vw; }
}
@media (max-width:780px) {
  .hero-copy::after { top:0; left:-20px; width:65px; }
}

/* Author subtitle and reordered audio heading; preserve the right group's height. */
.hero .brand { display:flex; flex-direction:column; align-items:flex-start; gap:.24em; }
.hero .brand-subtitle {
  font-family:Montserrat,Arial,sans-serif;
  font-size:.456em;
  font-weight:500;
  line-height:1.2;
  letter-spacing:.12em;
  color:#ede6de;
}
.hero .audio-line { margin-top:0; margin-bottom:1.2vw; }
@media (max-width:780px) {
  .hero .audio-line { margin-top:0; margin-bottom:24px; }
}
