/* Editorial layout using the existing HH Web Studios design tokens. */
:root { --guide-muted: #505966; --guide-copper: #a64b21; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.skip-link { position: fixed; top: -80px; left: 16px; z-index: 100; padding: 12px 18px; background: var(--color-midnight); color: white; border-radius: 8px; }
.skip-link:focus { top: 12px; }
a:focus-visible, summary:focus-visible { outline: 3px solid var(--guide-copper); outline-offset: 5px; }
.guide-hero { padding: 60px 0 52px; border-bottom: 1px solid var(--color-ink-15); }
.guide-breadcrumb { margin-bottom: 32px; font-size: 13px; color: var(--guide-muted); }
.guide-breadcrumb a { color: inherit; text-underline-offset: 4px; }
.guide-kicker { color: var(--guide-copper); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.guide-hero h1 { font: 400 clamp(36px, 4.8vw, 62px)/1.08 var(--font-display); letter-spacing: -.025em; max-width: 820px; margin: 18px 0 24px; }
.guide-hero h1 em { font-weight: 500; color: var(--guide-copper); }
.guide-deck { max-width: 740px; font-size: 19px; line-height: 1.65; color: var(--guide-muted); }
.guide-byline { margin-top: 26px; font-size: 13px; color: var(--guide-muted); }
.guide-layout { display: grid; grid-template-columns: minmax(0, 740px) 230px; gap: 66px; align-items: start; padding-top: 52px; padding-bottom: 80px; }
.guide-copy { min-width: 0; font-size: 17px; line-height: 1.8; }
.guide-copy p { margin-bottom: 22px; }
.guide-copy > p:first-child { font-size: 20px; line-height: 1.65; }
.guide-copy h2 { font: 400 34px/1.2 var(--font-display); letter-spacing: -.015em; margin: 50px 0 22px; scroll-margin-top: 110px; }
.guide-copy a { color: var(--guide-copper); text-decoration-thickness: 1px; text-underline-offset: 4px; overflow-wrap: anywhere; }
.guide-copy a:hover { color: var(--color-midnight); }
.guide-copy strong { font-weight: 600; }
.guide-copy ul { padding-left: 24px; margin: 0 0 24px; }
.guide-copy li { padding-left: 3px; margin: 10px 0; }
.guide-copy .table-wrap { margin: 26px 0; }
.guide-copy table { width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid var(--color-ink-15); border-radius: 12px; overflow: hidden; font-size: 14px; line-height: 1.6; background: white; }
.guide-copy th { background: var(--color-midnight); color: var(--color-cream); font-weight: 600; text-align: left; }
.guide-copy td, .guide-copy th { padding: 17px 16px; vertical-align: top; width: 33.333%; }
.guide-copy td { border-top: 1px solid var(--color-ink-15); }
.guide-copy tbody tr:first-child td { border-top: 0; }
.guide-copy tbody tr:nth-child(even) { background: #fdfaf6; }
.guide-sidebar { position: sticky; top: 106px; font-size: 13px; line-height: 1.6; }
.guide-sidebar h2 { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 18px; }
.guide-sidebar ol { list-style: none; border-left: 1px solid var(--color-ink-15); padding-left: 18px; }
.guide-sidebar li { margin-bottom: 13px; }
.guide-sidebar a { color: var(--guide-muted); text-decoration: none; }
.guide-sidebar a:hover { color: var(--guide-copper); text-decoration: underline; text-underline-offset: 4px; }
.guide-sidebar .guide-related { margin-top: 30px; padding: 20px; border: 1px solid var(--color-ink-15); border-radius: 12px; background: white; }
.guide-related p { margin: 12px 0; }
.guide-related a { color: var(--guide-copper); font-weight: 600; }
.guide-copy .guide-cta { background: var(--color-midnight); color: var(--color-cream); padding: 32px; border-radius: 16px; margin-top: 48px; }
.guide-copy .guide-cta h2 { color: var(--color-cream); margin: 0 0 20px; }
.guide-copy .guide-cta p { font-size: 16px; }
.guide-copy .guide-cta a { color: var(--color-cream); }
.guide-copy .guide-cta .btn { color: var(--color-midnight); background: var(--color-cream); text-decoration: none; white-space: normal; }
.guide-copy .guide-cta .guide-email-help { font-size: 13px; color: #d2d6dc; margin-bottom: 0; }
@media (max-width: 1100px) {
  .nav { gap: 18px; }
  .guide-layout { grid-template-columns: minmax(0, 1fr) 210px; gap: 36px; }
}
@media (max-width: 900px) {
  .nav > a:not(.btn) { display: none; }
  .guide-layout { display: block; max-width: 830px; }
  .guide-sidebar { display: none; }
  .footer-inner { grid-template-columns: 1fr 1fr; gap: 28px; }
}
@media (max-width: 600px) {
  .container { padding-left: 22px; padding-right: 22px; }
  .header-inner { min-height: 66px; gap: 8px; }
  .logo { font-size: 14px; gap: 7px; }
  .nav { gap: 8px; }
  .nav > .btn { display: none; }
  .client-menu > summary { padding: 8px 10px; font-size: 12px; }
  .guide-hero { padding: 36px 0; }
  .guide-breadcrumb { margin-bottom: 26px; }
  .guide-hero h1 { margin-top: 16px; }
  .guide-deck { font-size: 17px; }
  .guide-layout { padding-top: 30px; padding-bottom: 48px; }
  .guide-copy { font-size: 16px; line-height: 1.75; }
  .guide-copy > p:first-child { font-size: 18px; }
  .guide-copy h2 { font-size: 29px; margin-top: 38px; scroll-margin-top: 84px; }
  .guide-copy table { border: 0; border-radius: 0; background: transparent; }
  .guide-copy thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .guide-copy tbody, .guide-copy tr, .guide-copy td { display: block; width: 100%; }
  .guide-copy tbody tr { border: 1px solid var(--color-ink-15); border-radius: 12px; overflow: hidden; margin-bottom: 16px; background: white; }
  .guide-copy tbody tr:nth-child(even) { background: white; }
  .guide-copy td { padding: 13px 16px; }
  .guide-copy td::before { content: attr(data-label); display: block; margin-bottom: 4px; color: var(--guide-muted); font-size: 11px; font-weight: 700; letter-spacing: .035em; text-transform: uppercase; }
  .guide-copy tbody tr td:first-child { background: var(--color-midnight); color: var(--color-cream); border-top: 0; }
  .guide-copy td:first-child::before { color: #d2d6dc; }
  .guide-copy .guide-cta { padding: 25px 22px; }
  .footer-inner { grid-template-columns: 1fr; gap: 28px; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: 12px; }
}
@media (max-width: 350px) { .container { padding-left: 18px; padding-right: 18px; } .logo { font-size: 13px; } .logo-mark { width: 27px; height: 27px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; } }
