/*
 * Andrea Michelini — Editorial Theme V5
 * A richer visual identity, without changing page content or behaviour.
 * Palette: midnight #142B3B | deep petrol #28636A |
 *          warm gold #B6945A | ivory #F4F0E7
 * The previous stylesheet remains intact for simple comparison or rollback.
 */

:root {
  --paper: #F4F0E7;
  --ink: #142B3B;
  --muted: #53646B;
  --gold: #B6945A;
  --line: #D8CEBD;
  --petrol: #28636A;
  --ivory: #F4F0E7;
  --white: #FFFDF8;
  --gold-light: #D9BC7F;
  --gold-dark: #805E2C;
}

body {
  background: var(--paper);
  overflow-x: clip;
}

::selection { background: #D0B47E; color: #142B3B; }

/* Dark navigation continues the character of the opening section. */
.site-header {
  background: var(--ink);
  color: var(--ivory);
  border-bottom: 1px solid rgba(244,240,231,.16);
}
.site-header .wordmark { color: var(--white); }
.site-header .wordmark-dot { color: var(--gold-light); }
.site-header #navigation a { color: #E4E8E4; }
.site-header #navigation a:hover { color: var(--gold-light); }
.site-header .languages { border-color: rgba(244,240,231,.23); }
.site-header .languages a { color: #D2D8D4; }
.site-header .languages a[aria-current] {
  color: #F5DBA5;
  box-shadow: 0 2px var(--gold-light);
}
.site-header .menu-toggle span { background: var(--ivory); }

/* The hero is a full-width midnight-blue editorial opening. */
.hero {
  position: relative;
  isolation: isolate;
  color: var(--ivory);
  padding-top: 88px;
}
.hero::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  z-index: -1;
  background:
    radial-gradient(ellipse 44% 65% at 83% 28%, rgba(48,118,122,.40), transparent 82%),
    radial-gradient(ellipse 55% 50% at 0% 100%, rgba(37,88,96,.40), transparent 85%),
    linear-gradient(128deg, #102431 0%, #142B3B 48%, #1B4050 100%);
}
.hero .eyebrow { color: #E4C58D; }
.hero .gold-line { background: var(--gold-light); }
.hero h1 {
  color: var(--white);
  font-size: clamp(65px, 6.4vw, 96px);
  line-height: 1.045;
  letter-spacing: -4.4px;
}
.hero h1 em { color: #D8B87B; }
.hero .hero-intro { color: #DAE3E1; font-size: 17px; }
.hero .button {
  background: var(--gold-light);
  color: var(--ink);
  font-weight: 700;
  box-shadow: 0 6px 19px rgba(0,0,0,.14);
}
.hero .button:hover { background: #F0D9AD; }
.hero .text-link { color: var(--white); }
.hero .text-link:hover { color: var(--gold-light); }
.hero-art { padding-left: 24px; }
.art-frame {
  padding: 31px 29px 22px;
  background:
    radial-gradient(circle at 58% 32%, rgba(254,252,243,.97), transparent 46%),
    linear-gradient(153deg, #EEE9DB, #D6DDD7 65%, #DFD5BD);
  border: 1px solid #B9A477;
  box-shadow: 21px 24px 0 rgba(8,22,30,.30), 0 30px 65px rgba(0,0,0,.20);
}
.art-frame:before { border-color: rgba(166,131,69,.45); }
.art-index { color: #50686A; font-weight: 700; }
.art-caption { color: #31515B; font-weight: 600; }
.hero-bottom {
  border-color: rgba(229,215,180,.33);
  color: #DBE3E0;
  margin-top: 69px;
  padding: 25px 0;
}
.hero-bottom a { color: var(--gold-light); }
.hero-bottom a:hover { color: white; }

/* Ivory bookshelf with four gallery-like cards. */
.books-section {
  margin-top: 0;
  padding: 99px 0 112px;
  background:
    radial-gradient(circle at 95% 4%, rgba(214,201,172,.20), transparent 40%),
    var(--paper);
}
.books-section .eyebrow,
.about-section .eyebrow { color: var(--gold-dark); }
.section-heading h2 { color: var(--ink); font-size: 51px; }
.section-heading>p { color: #4B6166; font-size: 15px; }
.books-grid { gap: 31px; }
.book-card {
  overflow: hidden;
  background: var(--white);
  border: 1px solid #D9CEBE;
  box-shadow: 0 11px 29px rgba(20,43,59,.075);
  transition: transform .25s ease, box-shadow .25s ease;
}
.book-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 36px rgba(20,43,59,.135);
}
.book-stage {
  height: 390px;
  border: 0;
  border-bottom: 1px solid rgba(20,43,59,.10);
}
.stage-3 { background: linear-gradient(141deg, #2D626A 0%, #173C4B 47%, #102634 100%); }
.stage-0 { background: linear-gradient(135deg, #D8E9E8 0%, #AAC9CD 52%, #659BA7 100%); }
.stage-1 { background: linear-gradient(135deg, #173C51 0%, #2D6470 100%); }
.stage-2 { background: linear-gradient(135deg, #F2E5C9 0%, #D6C8A9 100%); }
.book-stage:not(.stage-2) .stage-number { color: #E4D4AD; }
.stage-0 .stage-number { color: #244F5C !important; }
.book-stage:not(.stage-2) .stage-label { color: #E6E5D9; }
.book-stage.stage-0 .stage-label { color: #365A61; }
.book-object.book-3, .book-object.has-cover { width: 206px; }
.book-object { box-shadow: 13px 20px 30px rgba(0,0,0,.25), 3px 3px 5px rgba(0,0,0,.17); }
.book-1 { background: #112839; color: #F6F0DF; }
.book-2 { background: #FFF8E9; color: #273B40; }
.book-info {
  padding: 27px 32px 37px;
  background: var(--white);
}
.book-info .eyebrow { color: var(--gold-dark); }
.book-info h3 { color: #142B3B; font-size: 25px; }
.book-info>p:not(.eyebrow) { color: #566870; }
.book-status { color: #53636B; }
.book-status--published { color: #235B4E; }
.book-links a { color: #175861; font-weight: 600; }
.book-links a:hover { color: #805E2C; }

/* Portrait and biography are warm but have a distinct light editorial rhythm. */
.about-section {
  position: relative;
  isolation: isolate;
  padding-top: 103px;
  padding-bottom: 116px;
  gap: 80px;
}
.about-section::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  z-index: -1;
  background: linear-gradient(126deg, #FFFDF8 9%, #E9EEE8 100%);
}
.about-heading h2 {
  color: var(--ink);
  font-size: clamp(41px, 3.65vw, 54px);
}
.about-heading h2 em { color: #84612E; }
.author-signature { color: #947138; }
.author-portrait {
  max-width: 370px;
  margin-top: 35px;
  padding: 11px;
  border: 1px solid #CEBD9A;
  background: var(--white);
  box-shadow: 16px 17px 0 rgba(40,99,106,.14);
}
.author-portrait img {
  border: 0;
  box-shadow: none;
}
.about-copy {
  align-self: center;
  padding: 38px 35px 37px;
  background: #FFFDF9;
  border-top: 4px solid var(--gold);
  box-shadow: 0 20px 46px rgba(20,43,59,.085);
}
.about-copy > p { color: #435860; font-size: 16px; }
.about-copy .about-end { color: #173B48; }
.subject-tags span {
  border-color: #B8D1CF;
  background: #EFF6F1;
  color: #235B62;
  font-weight: 600;
}

/* A renewed deep petrol / navy closing section. */
.contact-section {
  background:
    radial-gradient(circle at 92% 28%, rgba(166,201,183,.12), transparent 42%),
    linear-gradient(112deg, #28636A 0%, #194452 47%, #142B3B 100%);
  border-top: 3px solid #B6945A;
  padding: 91px 0 93px;
}
.contact-section .eyebrow { color: #E4C58D; }
.contact-section h2 { font-size: 49px; color: #FFFDF8; }
.contact-section em { color: #DEBE81; }
.contact-copy p { color: #E0E9E5; }
.email-link { border-color: rgba(231,219,186,.52); color: white; }
.email-link:hover { color: #E7CB92; }
.email-link span { color: #DEBE81; }

.site-footer {
  position: relative;
  isolation: isolate;
  color: var(--ivory);
  padding-top: 47px;
  padding-bottom: 41px;
}
.site-footer::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  z-index: -1;
  background: #102431;
}
.site-footer .wordmark { color: #FFFDF8; }
.site-footer .wordmark-dot { color: var(--gold-light); }
.site-footer p { color: #C2CDC8; }
.site-footer nav a { color: #E4E8E4; }
.site-footer nav a:hover { color: var(--gold-light); }

@media (min-width: 1440px) {
  .hero { padding-top: 99px; }
  .hero-art { padding-left: 36px; }
}
@media (max-width: 1050px) {
  .hero h1 { font-size: 67px; }
  .hero-art { padding-left: 0; }
  .book-stage { height: 357px; }
  .book-object.book-3, .book-object.has-cover { width: 188px; }
  .about-section { gap: 44px; }
  .about-copy { padding: 29px 26px; }
}
@media (max-width: 760px) {
  .site-header #navigation {
    background: #193545;
    border-color: rgba(244,240,231,.16);
  }
  .site-header #navigation a { color: var(--ivory); }
  .hero { padding-top: 51px; }
  .hero h1 { font-size: clamp(54px, 10.7vw, 79px); }
  .hero .hero-intro { font-size: 15px; }
  .hero-art { max-width: 475px; }
  .art-frame { box-shadow: 12px 15px 0 rgba(8,22,30,.25), 0 20px 40px rgba(0,0,0,.20); }
  .hero-bottom { margin-top: 18px; }
  .books-section { padding: 65px 0 76px; }
  .section-heading h2 { font-size: 40px; }
  .book-stage { height: 365px; }
  .book-info { padding: 23px 23px 30px; }
  .book-object.book-3, .book-object.has-cover { width: 198px; }
  .about-section { padding-top: 71px; padding-bottom: 76px; }
  .about-heading h2 { font-size: clamp(36px, 9.3vw, 48px); }
  .author-portrait { max-width: 330px; }
  .about-copy { margin-top: 20px; padding: 30px 25px; }
  .contact-section { padding: 64px 0 69px; }
  .contact-section h2 { font-size: 40px; }
  .site-footer { padding-top: 39px; }
}
@media (max-width: 360px) {
  .hero h1 { font-size: 51px; }
  .hero-actions { gap: 15px; }
  .book-info { padding-inline: 18px; }
  .contact-section h2 { font-size: 34px; }
}
@media (prefers-reduced-motion: reduce) {
  .book-card { transition: none; }
}

/* Respect the actual proportions of the approved American English grammar cover. */
.book-object.has-cover { aspect-ratio: 1053 / 1494; }
