/* Accepted 2B editorial layout. English labels are literal ASCII capitals. */
main.grg-main { padding: 0 !important; }
#grh-guides { --grg-ink: var(--ink, #f7f7f7); --grg-muted: var(--muted, #b6b6bb); --grg-surface: var(--surface-solid, #242424); --grg-line: var(--line, rgba(255,255,255,.14)); --grg-accent: #f27886; --grg-stage: #303633; max-width: 1320px; margin: 0 auto; padding: 58px 40px 64px; color: var(--grg-ink); font-family: inherit; }
html[data-theme="light"] #grh-guides { --grg-accent: #b71d3a; --grg-stage: #e6e8e1; }
#grh-guides *, #grh-guides *::before, #grh-guides *::after { box-sizing: border-box; }
#grh-guides :is(h1,h2,h3,p,figure) { margin: 0; }
#grh-guides :is(h1,h2,h3,.grg-eyebrow,.grg-card-type,a,summary) { text-transform: none; }
#grh-guides :is(h1,h2,h3) { color: var(--grg-ink); font-family: inherit; font-weight: 600; letter-spacing: -.04em; }
#grh-guides p { color: var(--grg-muted); font-size: 16px; line-height: 1.65; }
#grh-guides a { color: inherit; text-decoration: none; }
#grh-guides :is(a,summary):focus-visible { outline: 2px solid var(--grg-accent); outline-offset: 5px; }
#grh-guides img { display: block; width: 100%; max-width: 100%; height: auto; }
#grh-guides [id] { scroll-margin-top: 150px; }
#grh-guides .grg-intro { margin-bottom: 38px; }
#grh-guides .grg-eyebrow { display: flex; align-items: center; gap: 13px; color: var(--grg-accent); font-size: 11px; font-weight: 650; line-height: 1.5; letter-spacing: .15em; margin-bottom: 15px; }
#grh-guides .grg-eyebrow::before { content: ""; flex: none; width: 30px; height: 2px; background: currentColor; }
#grh-guides h1 { font-size: clamp(38px,4.4vw,58px); line-height: 1.08; letter-spacing: -.05em; margin-bottom: 18px; }
#grh-guides .grg-lead { font-size: 17px; max-width: 760px; line-height: 1.65; }
#grh-guides .grg-editorial-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 30px; }
#grh-guides .grg-card { min-width: 0; border-radius: 13px; background: var(--grg-surface); overflow: hidden; }
#grh-guides .grg-card-media { aspect-ratio: 16 / 9; position: relative; overflow: hidden; }
#grh-guides .grg-card-media > img { width: 100%; height: 100%; object-fit: cover; }
#grh-guides .grg-card-body { display: flex; flex-direction: column; min-height: 279px; padding: 27px 29px 23px; }
#grh-guides .grg-card-type { color: var(--grg-muted); font-size: 11px; font-weight: 600; letter-spacing: .14em; line-height: 1.5; margin-bottom: 13px; }
#grh-guides .grg-card h2 { font-size: clamp(26px,2.65vw,34px); line-height: 1.12; max-width: 20ch; min-height: 2.24em; margin-bottom: 16px; text-wrap: balance; }
#grh-guides .grg-excerpt { font-size: 15px; line-height: 1.65; margin-bottom: 23px; min-height: 3.3em; }
#grh-guides .grg-card-actions { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: auto; padding-top: 15px; border-top: 1px solid var(--grg-line); min-height: 45px; }
#grh-guides .grg-action, #grh-guides summary { font-size: 14px; font-weight: 550; line-height: 1.5; }
#grh-guides .grg-action { display: inline-flex; align-items: center; gap: 21px; padding: 3px 0; }
#grh-guides .grg-arrow { color: var(--grg-accent); font-size: 22px; font-weight: 400; line-height: 1; }
#grh-guides .grg-file-meta { color: var(--grg-muted); font-size: 12px; white-space: nowrap; }
#grh-guides .grg-action:hover, #grh-guides summary:hover { color: var(--grg-accent); }
#grh-guides .grg-article { margin-top: auto; padding-top: 15px; border-top: 1px solid var(--grg-line); }
#grh-guides summary { display: inline-flex; align-items: center; gap: 21px; padding: 3px 0; cursor: pointer; list-style: none; }
#grh-guides summary::-webkit-details-marker { display: none; }
#grh-guides summary::marker { content: ""; }
#grh-guides details[open] summary .grg-arrow { transform: rotate(180deg); }
#grh-guides .grg-article-copy { padding-top: 7px; }
#grh-guides .grg-article-copy h3 { font-size: 18px; line-height: 1.3; letter-spacing: -.02em; margin: 21px 0 10px; }
#grh-guides .grg-article-copy p { font-size: 15px; line-height: 1.75; }
#grh-guides .grg-article-links { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; margin-top: 23px; }
#grh-guides .grg-article-links a { font-size: 13px; line-height: 1.5; border-bottom: 1px solid var(--grg-accent); padding-bottom: 4px; }
#grh-guides .grg-article-links a span { margin-left: 12px; color: var(--grg-accent); }
#grh-guides .grg-suite-media { padding: 28px; background: var(--grg-stage); }
#grh-guides .grg-suite-media > img { object-fit: contain; filter: drop-shadow(5px 9px 7px rgba(0,0,0,.18)); }

/* Closed hardcover: two boards, inset paper block and a real spine. */
#grh-guides .grg-book-stage { display: flex; justify-content: center; align-items: center; perspective: 1000px; background: var(--grg-stage); }
#grh-guides .grg-hardcover { position: relative; width: 33%; max-width: 202px; aspect-ratio: 679 / 960; transform-style: preserve-3d; transform: rotateX(6deg) rotateY(-28deg) rotateZ(-2deg); margin: -7px 8px 0 0; }
#grh-guides .grg-book-front, #grh-guides .grg-book-back { position: absolute; inset: 0; background: #242829; border-radius: 2px 5px 5px 2px; }
#grh-guides .grg-book-front { transform: translateZ(16px); box-shadow: 1px 0 0 #404443, 2px 0 0 #1e2222; overflow: hidden; }
#grh-guides .grg-book-front img { height: 100%; object-fit: cover; }
#grh-guides .grg-book-front::after { content: ""; position: absolute; inset: 0 auto 0 0; width: 11px; background: linear-gradient(90deg,rgba(0,0,0,.25),rgba(255,255,255,.07) 40%,rgba(0,0,0,.15) 67%,transparent); }
#grh-guides .grg-book-back { transform: translateZ(-16px); box-shadow: 1px 2px 1px rgba(0,0,0,.3); }
#grh-guides .grg-book-spine { position: absolute; left: 0; top: 0; width: 32px; height: 100%; transform-origin: left center; transform: translateZ(16px) rotateY(90deg); background: linear-gradient(90deg,#171b1c,#323839 48%,#1e2425); border-radius: 2px; }
#grh-guides .grg-book-pages { position: absolute; top: 5px; left: calc(100% - 2px); width: 26px; height: calc(100% - 10px); transform-origin: left center; transform: translateZ(13px) rotateY(90deg); background: repeating-linear-gradient(90deg,#d8d7ce 0 1px,#eeece3 1px 2px); border: 1px solid #d3d1c8; }
#grh-guides .grg-book-top, #grh-guides .grg-book-bottom { position: absolute; left: 3px; width: calc(100% - 5px); height: 26px; transform-origin: center top; transform: translateZ(13px) rotateX(-90deg); background: repeating-linear-gradient(0deg,#d5d4cb 0 1px,#ebe9e1 1px 2px); }
#grh-guides .grg-book-top { top: 5px; }
#grh-guides .grg-book-bottom { top: calc(100% - 5px); }
#grh-guides .grg-book-shadow { position: absolute; width: 43%; height: 20px; left: 31%; top: 89%; border-radius: 50%; background: rgba(0,0,0,.32); filter: blur(10px); transform: rotate(-3deg); }

#grh-guides .grg-library-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 30px; padding-top: 28px; margin-top: 34px; border-top: 1px solid var(--grg-line); }
#grh-guides .grg-library-footer p { font-size: 14px; }
#grh-guides .grg-library-footer nav { display: flex; flex-wrap: wrap; gap: 15px 27px; }
#grh-guides .grg-library-footer a { display: inline-flex; align-items: center; gap: 12px; font-size: 13px; line-height: 1.5; padding: 5px 0; }
#grh-guides .grg-library-footer a span { color: var(--grg-accent); }
@media (max-width: 1050px) {
  #grh-guides { padding: 45px 26px 55px; }
  #grh-guides .grg-editorial-grid { gap: 25px; }
  #grh-guides .grg-card-body { padding: 23px; }
  #grh-guides .grg-card h2 { font-size: 29px; }
  #grh-guides .grg-suite-media { padding: 22px; }
}
@media (max-width: 720px) {
  #grh-guides { padding: 34px 18px 44px; }
  #grh-guides h1 { font-size: clamp(34px,7vw,46px); }
  #grh-guides .grg-lead { font-size: 15px; }
  #grh-guides .grg-intro { margin-bottom: 29px; }
  #grh-guides .grg-editorial-grid { grid-template-columns: 1fr; gap: 27px; }
  #grh-guides .grg-card-body { min-height: 0; padding: 24px; }
  #grh-guides .grg-card h2 { font-size: 30px; min-height: 0; max-width: 470px; text-wrap: pretty; }
  #grh-guides .grg-excerpt { min-height: 0; }
  #grh-guides .grg-card-actions, #grh-guides .grg-article { margin-top: 0; }
  #grh-guides .grg-library-footer { padding-top: 24px; margin-top: 27px; }
  #grh-guides .grg-library-footer nav { gap: 13px 23px; }
  #grh-guides [id] { scroll-margin-top: 120px; }
}
@media (max-width: 380px) {
  #grh-guides .grg-card-body { padding: 21px; }
  #grh-guides .grg-card h2 { font-size: 28px; }
  #grh-guides .grg-card-actions { gap: 11px; }
  #grh-guides .grg-file-meta { font-size: 11px; }
  #grh-guides .grg-action, #grh-guides summary { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  #grh-guides *, #grh-guides *::before, #grh-guides *::after { scroll-behavior: auto !important; transition: none !important; }
}
