:root {
  --press-ink: #0c0c0c;
  --press-muted: #5f5f5f;
  --press-line: #dddddd;
  --press-surface: #f5f3ef;
  --press-paper: #ffffff;
  --press-green: #173d34;
  --press-green-2: #245b4d;
  --press-orange: #111111;
  --press-max: 1180px;
}

html { scroll-behavior: smooth; }
body { background: var(--press-surface); }
.press-container { width: min(calc(100% - 48px), var(--press-max)); margin-inline: auto; }
.press-header { position: sticky; top: 0; z-index: 40; border-bottom: 1px solid var(--press-line); background: rgba(255,255,255,.98); }
.press-header-inner { min-height: 76px; display: flex; align-items: center; gap: 25px; }
.press-brand-logo { display: block; width: 190px; height: auto; flex: 0 0 190px; }
.press-menu { display: none; width: 44px; height: 44px; margin-left: auto; align-items: center; justify-content: center; gap: 5px; flex-direction: column; border: 1px solid var(--press-line); border-radius: 8px; background: #fff; }
.press-menu span { width: 18px; height: 2px; background: var(--press-ink); }
.press-nav { margin-left: auto; display: flex; align-items: center; gap: 14px; }
.press-nav a { color: #4c4c4c; font-size: 13px; font-weight: 650; text-decoration: none; }
.press-nav a:hover, .press-nav a[aria-current='page'] { color: var(--press-green-2); }
.press-nav .press-nav-current { color: var(--press-orange); }
.press-language { display: inline-flex; overflow: hidden; border: 1px solid var(--press-line); border-radius: 8px; }
.press-language button { min-width: 38px; height: 38px; border: 0; color: var(--press-muted); background: #fff; font-size: 12px; font-weight: 800; }
.press-language button[aria-pressed='true'] { color: #fff; background: var(--press-green); }
.press-mobile-language { display: none; }

.press-hero { position: relative; min-height: calc(100vh - 76px); overflow: hidden; color: #fff; border-bottom: 1px solid var(--press-line); background-color: #071f1a; background-image: linear-gradient(90deg, rgba(7,31,26,.98) 0%, rgba(7,31,26,.9) 52%, rgba(7,31,26,.48) 100%), url('../assets/updates-hero.jpg'); background-position: center 50%; background-size: cover; }
.press-hero-inner { width: min(1120px, calc(100% - clamp(54px, 8vw, 152px))); min-height: calc(100vh - 76px); display: grid; grid-template-columns: minmax(0, 900px); align-content: end; margin: 0 clamp(18px, 6vw, 76px); padding: 0 0 clamp(34px, 8vh, 90px); box-sizing: border-box; }
.press-eyebrow { margin: 0 0 18px; color: var(--press-green-2); font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.press-hero .press-eyebrow { color: rgba(255,255,255,.72); }
.press-hero h1 { max-width: 780px; margin: 0; color: #fff; font-size: clamp(46px, 6vw, 70px); font-weight: 800; letter-spacing: 0; line-height: 1.02; }
.press-hero-copy { max-width: 720px; margin: 24px 0 0; color: rgba(255,255,255,.82); font-size: 18px; }
.press-hero-note { max-width: 720px; margin: 12px 0 0; color: rgba(255,255,255,.72); font-size: 15px; line-height: 1.6; }
.press-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.press-button { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; padding: 11px 18px; border: 1px solid transparent; border-radius: 6px; font-size: 13px; font-weight: 750; text-decoration: none; cursor: pointer; }
.press-button-primary { color: #fff; background: #111; }
.press-button-secondary { border-color: var(--press-ink); color: var(--press-ink); background: transparent; }
.press-hero .press-button-primary { color: #111; background: #fff; }
.press-hero .press-button-secondary { border-color: rgba(255,255,255,.75); color: #fff; }

.press-section { padding-block: 86px; background: var(--press-surface); }
.press-section-head { display: flex; justify-content: space-between; gap: 40px; align-items: end; margin-bottom: 36px; }
.press-section-head h2 { margin: 0; font-size: clamp(30px, 4vw, 46px); letter-spacing: 0; line-height: 1.08; }
.press-section-head > p { max-width: 470px; margin: 0; color: var(--press-muted); }
.press-book-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: stretch; gap: 44px 24px; }
.press-book-card { min-width: 0; height: 100%; display: flex; flex-direction: column; padding: 18px 18px 22px; border: 1px solid var(--press-line); border-radius: 8px; background: var(--press-paper); box-shadow: 0 10px 30px rgba(12,12,12,.04); }
.press-cover-link { display: block; overflow: hidden; aspect-ratio: 900 / 1272; background: #dcdad4; }
.press-cover-link img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.press-cover-link:hover img { transform: scale(1.012); }
.press-book-meta { display: flex; justify-content: space-between; gap: 14px; margin-top: 18px; color: var(--press-muted); font-size: 12px; font-weight: 700; text-transform: uppercase; }
.press-book-card h3 { margin: 10px 0 0; font-size: 22px; letter-spacing: 0; line-height: 1.22; }
.press-book-card h3 a { text-decoration: none; }
.press-book-card p { margin: 12px 0 0; color: var(--press-muted); font-size: 14px; }
.press-book-card .press-book-isbn { margin-top: 15px; color: var(--press-ink); font-size: 13px; letter-spacing: .015em; }
.press-book-card .press-book-isbn strong { margin-right: 6px; font-size: 11px; letter-spacing: .08em; }
.press-book-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: auto; padding-top: 20px; }
.press-price { color: var(--press-green); font-weight: 850; }
.press-registration { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); gap: 32px; align-items: center; margin-top: 44px; padding: 28px 30px; border: 1px solid var(--press-line); background: var(--press-paper); }
.press-registration .press-eyebrow { margin-bottom: 8px; }
.press-registration h3 { margin: 0; font-size: 22px; line-height: 1.25; }
.press-registration strong { color: var(--press-green); font-size: 18px; }
.press-registration p { margin: 7px 0 0; color: var(--press-muted); font-size: 13px; }

.press-detail { padding-block: 64px 92px; background: #fff; }
.press-breadcrumb { display: flex; gap: 8px; margin-bottom: 34px; color: var(--press-muted); font-size: 12px; }
.press-breadcrumb a { color: inherit; }
.press-detail-grid { display: grid; grid-template-columns: minmax(260px, 420px) minmax(0, 1fr); gap: 72px; align-items: start; }
.press-detail-cover { position: sticky; top: 104px; }
.press-detail-cover img { width: 100%; height: auto; }
.press-detail-label { color: var(--press-green-2); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.press-detail-copy h1 { max-width: 720px; margin: 12px 0 0; font-size: clamp(38px, 5vw, 62px); letter-spacing: 0; line-height: 1.05; }
.press-subtitle { max-width: 700px; margin: 18px 0 0; color: var(--press-muted); font-size: 18px; }
.press-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 30px 0 0; border-top: 1px solid var(--press-line); }
.press-facts div { padding: 16px 18px 16px 0; border-bottom: 1px solid var(--press-line); }
.press-facts dt { color: var(--press-muted); font-size: 11px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.press-facts dd { margin: 4px 0 0; font-size: 14px; font-weight: 650; }
.press-buy-box { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 28px; padding: 24px; background: var(--press-surface); }
.press-buy-box strong { display: block; font-size: 30px; }
.press-buy-box span { color: var(--press-muted); font-size: 12px; }
.press-preface { margin-top: 58px; padding-top: 46px; border-top: 1px solid var(--press-line); }
.press-preface h2 { margin: 0 0 22px; font-size: 34px; }
.press-preface p { max-width: 780px; margin: 0 0 18px; color: #343434; font-size: 16px; line-height: 1.78; }
.press-notice { max-width: 780px; margin-top: 26px; padding: 18px; border-left: 4px solid var(--press-orange); background: #fff5ef; color: #71452f; font-size: 13px; }

.press-form-page { min-height: 70vh; padding-block: 70px 90px; background: #fff; }
.press-form-shell { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; }
.press-form-shell h1 { margin: 8px 0 0; font-size: clamp(36px, 5vw, 58px); letter-spacing: 0; line-height: 1.05; }
.press-form-shell > div > p { color: var(--press-muted); }
.press-form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; padding: 28px; background: var(--press-surface); }
.press-form label { display: grid; gap: 7px; color: var(--press-green); font-size: 12px; font-weight: 750; }
.press-form .wide { grid-column: 1 / -1; }
.press-form input, .press-form select, .press-form textarea { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #c9c9c4; border-radius: 4px; background: #fff; }
.press-form textarea { min-height: 110px; resize: vertical; }
.press-form small { color: var(--press-muted); }

.press-site-footer { background: var(--press-paper); }
.press-site-footer strong { color: var(--press-ink); }
.press-footer { padding-block: 44px; color: #fff; background: #111; }
.press-footer-inner { display: grid; grid-template-columns: 1fr auto; gap: 42px; align-items: end; }
.press-footer p { margin: 0; color: #c7c7c7; font-size: 13px; }
.press-footer strong { display: block; margin-bottom: 10px; color: #fff; font-size: 20px; }
.press-footer nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px 20px; }
.press-footer a { color: #fff; font-size: 12px; text-decoration: none; }

@media (max-width: 1220px) {
  .press-menu { display: flex; }
  .press-nav { position: absolute; top: 76px; right: 0; left: 0; display: none; margin: 0; padding: 20px 24px 26px; border-bottom: 1px solid var(--press-line); background: #fff; flex-direction: column; align-items: stretch; gap: 0; }
  .press-nav[data-open='true'] { display: flex; }
  .press-nav a { padding: 10px 0; }
  .press-language { display: none; }
  .press-nav .press-mobile-language { display: flex; gap: 8px; padding-top: 12px; }
  .press-mobile-language button { min-width: 48px; height: 38px; border: 1px solid var(--press-line); border-radius: 4px; background: #fff; font-weight: 800; }
  .press-mobile-language button[aria-pressed='true'] { color: #fff; background: var(--press-green); }
  .press-book-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .press-container { width: min(calc(100% - 36px), var(--press-max)); }
  .press-brand-logo { width: 165px; flex-basis: 165px; }
  .press-hero-inner, .press-detail-grid, .press-form-shell { grid-template-columns: 1fr; }
  .press-hero, .press-hero-inner { min-height: calc(100svh - 66px); }
  .press-hero-inner { width: min(1120px, calc(100% - 54px)); gap: 38px; margin-right: clamp(18px, 6vw, 76px); margin-left: clamp(18px, 6vw, 76px); padding: 0; }
  .press-section { padding-block: 58px; }
  .press-section-head { display: block; }
  .press-section-head > p { margin-top: 14px; }
  .press-book-grid { grid-template-columns: 1fr; gap: 42px; }
  .press-book-card { max-width: 460px; }
  .press-registration { grid-template-columns: 1fr; padding: 24px; }
  .press-detail-grid { gap: 42px; }
  .press-detail-cover { position: static; max-width: 410px; }
  .press-buy-box { align-items: stretch; flex-direction: column; }
  .press-form { grid-template-columns: 1fr; }
  .press-form .wide { grid-column: auto; }
  .press-footer-inner { grid-template-columns: 1fr; }
  .press-footer nav { justify-content: flex-start; }
}

@media (max-width: 480px) {
  .press-header-inner { min-height: 70px; }
  .press-nav { top: 70px; }
  .press-brand-logo { width: 145px; flex-basis: 145px; }
  .press-hero h1 { font-size: 42px; }
  .press-detail-copy h1 { font-size: 38px; }
  .press-facts { grid-template-columns: 1fr; }
  .press-hero-actions .press-button, .press-book-actions .press-button { width: 100%; }
}
