@charset "UTF-8";
.hero-v2 { padding-top: 38px; padding-bottom: 30px; }
.hero-v2-grid { display: grid; grid-template-columns: minmax(0,1.16fr) minmax(0,1fr); align-items: center; gap: 48px; }
.hero-v2 .eyebrow { margin-bottom: 16px; }
.hero-v2 h1 { font-size: clamp(34px,3.8vw,52px); line-height: 1.13; margin-bottom: 19px; }
.hero-v2 .hero-description { font-size: 16px; line-height: 1.7; max-width: 580px; }
.hero-author { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; color: var(--ink); margin-top: 20px; padding: 5px 7px 5px 0; border-radius: 8px; }
.hero-author > img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; object-position: 50% 29%; background: #e3e9e0; }
.hero-author strong { font-size: 13px; font-weight: 600; }
.hero-author span span { display: block; color: var(--muted); font-size: 11px; margin-top: 1px; }
.hero-author > span:last-child { margin-left: 10px; color: var(--green); }
.hero-v2-art { margin: 0; position: relative; padding: 10px 10px 0; background: #e9e6db; border-radius: 24px; border: 1px solid #dedfd0; transform: rotate(1deg); box-shadow: 0 14px 40px #263e2b09; }
.hero-v2-art > img { display: block; width: 100%; aspect-ratio: 1.5; object-fit: cover; border-radius: 16px; }
.hero-v2-art figcaption { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 40px; padding: 8px; color: #435449; font-size: 11px; text-align: center; }
.hero-art-dot { width: 7px; height: 7px; flex: 0 0 auto; background: var(--green); border-radius: 50%; }
.hero-v2 .search-area { margin-top: 25px; }
.hero-search-label { display: block; font-size: 12px; color: var(--muted); margin-bottom: 7px; font-weight: 600; }
.home-release { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.1fr) auto; align-items: center; gap: 28px; padding: 26px 30px; margin-top: 4px; margin-bottom: 42px; background: #f1eadd; border: 1px solid #e0d6c3; border-radius: 16px; }
.home-release .eyebrow { margin-bottom: 6px; font-size: 10px; }
.home-release h2 { font-size: 23px; line-height: 1.3; margin: 0 0 8px; letter-spacing: -.025em; font-weight: 600; }
.home-release p { font-size: 13px; line-height: 1.6; color: #536056; margin: 0; }
.home-release-topics ul { list-style: none; margin: 0; padding: 0; }
.home-release-topics li { position: relative; padding-left: 16px; font-size: 12px; color: #435449; line-height: 1.6; }
.home-release-topics li + li { margin-top: 5px; }
.home-release-topics li::before { content: ""; position: absolute; left: 0; top: .6em; width: 5px; height: 5px; background: #547960; border-radius: 50%; }
.home-release time { display: block; color: var(--muted); font-size: 12px; margin-bottom: 8px; }
.home-author-section { padding: 54px 0; background: #eeefe5; border-block: 1px solid #dce1d2; }
.home-author-grid { max-width: 1040px; display: grid; grid-template-columns: 270px minmax(0,1fr); gap: 64px; align-items: center; }
.home-author-photo { margin: 0; border-radius: 18px; overflow: hidden; background: white; border: 1px solid #d9dfd3; box-shadow: 0 10px 28px #263e2b07; }
.home-author-photo img { display: block; width: 100%; height: 300px; object-fit: cover; object-position: 50% 27%; }
.home-author-photo figcaption { padding: 16px 20px; color: var(--ink); font-size: 14px; font-weight: 600; }
.home-author-photo figcaption span { color: var(--muted); font-size: 12px; font-weight: 400; }
.home-author-copy h2 { font-weight: 600; font-size: clamp(26px,3vw,36px); line-height: 1.2; letter-spacing: -.035em; margin: 0 0 20px; }
.home-author-copy .eyebrow { margin-bottom: 12px; }
.home-author-copy p { font-size: 15px; line-height: 1.8; margin: 0 0 16px; color: #4b5c52; }
.home-author-copy .author-lead { font-size: 17px; color: var(--ink); }
.author-note { border-left: 3px solid #9c7b48; padding: 3px 0 3px 18px; margin: 23px 0; }
.author-note p { font-size: 15px; margin: 0; color: #46574c; }
.author-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; }
.author-actions > a:last-child { font-size: 13px; }
#gp-release-history > section { background: #f8f9f5; border: 1px solid var(--line); border-radius: 12px; padding: 23px 25px; margin: 18px 0; }
#gp-release-history > section > p:first-child { font-size: 11px; color: var(--muted); margin-bottom: 7px; }
#gp-release-history time { margin-left: 10px; white-space: nowrap; }
#gp-release-history h2 { margin: 0 0 12px; font-size: 22px; }
#gp-release-history h2 a { text-decoration: none; }
#gp-release-history > section > p { font-size: 14px; line-height: 1.75; }
#gp-release-history > section > a { font-size: 13px; }
#gp-releases-pagination { border-top: 1px solid var(--line); padding-top: 22px; margin-top: 28px; display: flex; gap: 8px; flex-wrap: wrap; font-size: 13px; }
#gp-release-view > time { display: block; color: var(--muted); font-size: 13px; margin-bottom: 24px; }
@media (max-width: 1000px) {
  .hero-v2-grid { gap: 28px; }
  .hero-v2-art figcaption { font-size: 10px; }
  .home-release { gap: 20px; grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .home-release > a { justify-self: start; grid-column: 1 / -1; }
  .home-author-grid { gap: 36px; grid-template-columns: 230px minmax(0,1fr); }
}
@media (max-width: 700px) {
  .hero-v2 { padding-top: 28px; }
  .hero-v2-grid { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .hero-v2-art { display: none; }
  .hero-v2 h1 { font-size: clamp(33px,7.9vw,44px); }
  .hero-v2 .hero-description { font-size: 15px; }
  .hero-author { margin-top: 17px; }
  .home-release { grid-template-columns: minmax(0,1fr); padding: 23px; margin-bottom: 30px; gap: 17px; }
  .home-release > a { grid-column: 1; }
  .home-author-section { padding: 34px 0; }
  .home-author-grid { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .home-author-photo { display: grid; grid-template-columns: 112px minmax(0,1fr); align-items: center; max-width: 400px; }
  .home-author-photo img { width: 112px; height: 140px; }
  .home-author-photo figcaption { padding: 15px; }
  .home-author-copy .author-lead { font-size: 16px; }
  #gp-release-history > section { padding: 20px; }
  #gp-release-history h2 { font-size: 21px; }
}
@media print { .hero-v2-art,.hero-author,.home-author-section,.home-release { display:none; } }
