html { scroll-behavior:smooth; background:#220F32; }
body { margin:0; }
.ard-root { min-height:100dvh !important; }
.site-shell { display:flex; flex-direction:column; min-height:100vh; min-height:100dvh; }
.site-shell > #main-content { flex:1 0 auto; min-width:0; }
.site-shell > .site-nav, .site-shell > footer { flex-shrink:0; }
* { box-sizing:border-box; }
:focus-visible { outline:3px solid #FFDE59; outline-offset:5px; }
#main-content { outline:none; }
#main-content h1, #case-studies { scroll-margin-top:120px; }
.skip-link { position:fixed; top:10px; left:12px; z-index:1000; transform:translateY(-160%); background:#FFDE59; color:#220F32; padding:12px 20px; border-radius:4px; font:600 16px Inter,sans-serif; }
.skip-link:focus { transform:none; }
.site-loading { max-width:640px; margin:15vh auto; padding:32px; color:#F2ECF7; font:18px/1.6 Inter,sans-serif; }
.site-loading a { color:#FFDE59; text-decoration:underline; }
.site-loading .recovery { display:none; }
.site-loading.failed .recovery { display:block; }
.case-gallery { margin:48px 0; }
.case-gallery h2 { font:600 1.6rem/1.2 Satoshi,sans-serif; }
.case-gallery-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:24px; }
.case-gallery figure { margin:0; min-width:0; }
.case-gallery img { display:block; width:100%; aspect-ratio:16/9; object-fit:contain; background:#160a21; border:1px solid #3D2159; border-radius:8px; }
.case-gallery a:has(img) { display:block; border-radius:8px; }
.case-gallery figcaption { font:400 .92rem/1.5 Inter,sans-serif; color:#B9AFD1; padding:12px 0; }
.case-gallery figcaption a { color:#FFDE59; text-decoration:underline; text-underline-offset:3px; }
.case-gallery .credit { display:block; font-size:.8rem; margin-top:6px; }
.site-nav a[aria-current="page"] { color:#FFDE59 !important; }
.ard-root .lbl[style*="font-size:0.6"], .ard-root .lbl[style*="font-size:0.7"], .ard-root .lbl[style*="font-size:0.8"] { font-size:.875rem !important; }
@media(max-width:720px) {
  .ard-root .lbl { font-size:.875rem !important; }
  .site-nav ul { gap:4px !important; }
  .site-nav ul a { font-size:.875rem !important; padding:8px !important; }
  .site-nav > div { padding:12px 16px !important; }
  .hero-row { flex-wrap:wrap; }
  .hero-row > div { min-width:0 !important; }
  .hero-row > div > div.lbl:first-child { white-space:normal !important; flex-wrap:wrap; max-width:100%; border-radius:12px !important; }
  .hero-visual { flex-wrap:wrap; }
  .hero-art span { font-size:.8rem !important; }
  .ard-root p, .ard-root li { font-size:1rem !important; }
  .ard-root div[style*="minmax(300px"] { grid-template-columns:minmax(0,1fr) !important; }
  .ard-root div[style*="gap:48px"] { gap:24px !important; }
  .ard-root a[href^="mailto:"], .ard-root a[href*="linkedin.com"] { min-width:0; overflow-wrap:anywhere; }
  .ard-root a[href^="mailto:"] > div, .ard-root a[href*="linkedin.com"] > div { min-width:0; }
  .ard-root a[href^="mailto:"] h3, .ard-root a[href*="linkedin.com"] h3 { font-size:1rem !important; }
  .ard-root a[href^="mailto:"][style*="padding:32px"], .ard-root a[href*="linkedin.com"][style*="padding:32px"] { padding:24px !important; gap:12px !important; }
  .ard-root a[href^="mailto:"] h3 { overflow-wrap:normal; }
  .ard-root div[style*="justify-content:space-between"] { flex-wrap:wrap; }
  #main-content h1, #case-studies { scroll-margin-top:180px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .ard-root *, .ard-root *::before, .ard-root *::after { animation:none !important; transition:none !important; }
  .ard-root .tl-node { opacity:1 !important; transform:none !important; }
}

/* Outlaws case-study narrative and matching summary panels. */
.outlaws-story-section { max-width:68ch; margin-bottom:48px; }
.outlaws-story-section h2 { font:600 1.6rem/1.2 Satoshi,sans-serif; margin:0 0 16px; }
.outlaws-story-section p { color:#B9AFD1; margin:0 0 20px; }
.outlaws-summary { max-width:68ch; border:1px solid #3D2159; border-top:2px solid #FFDE59; background:#2E1346; border-radius:8px; padding:32px; margin:32px 0 48px; }
.outlaws-summary > h2 { font:500 .875rem/1.5 "IBM Plex Mono",monospace; text-transform:uppercase; letter-spacing:.1em; color:#FFDE59; margin:0 0 20px; }
.outlaws-summary-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr)); gap:24px; }
.outlaws-summary h3 { font:700 1.05rem/1.4 Satoshi,sans-serif; margin:0; color:#F2ECF7; }
.outlaws-summary p { margin:6px 0 0; font-size:.92rem; line-height:1.5; color:#B9AFD1; }
@media(max-width:600px) { .outlaws-summary { padding:24px; } .outlaws-summary-grid { grid-template-columns:1fr; } }

/* Shared type hierarchy: page titles, section titles, and compact panel labels. */
.ard-root .h1 { font-size:2.7rem !important; line-height:1.1 !important; }
.ard-root #main-content h2 { line-height:1.2; }
.ard-root #main-content:not(:has(.cs-head)) h2 { font-size:2.2rem !important; }
.ard-root #main-content:has(.cs-head) h2 { font-size:1.6rem !important; line-height:1.2 !important; }
.ard-root .outlaws-summary > h2 { font-family:'JetBrains Mono',monospace; font-weight:600; letter-spacing:.08em; }
.ard-root #main-content .outlaws-summary > h2 { font-size:.875rem !important; line-height:1.5 !important; }
@media(max-width:720px) {
  .ard-root .h1 { font-size:2.1rem !important; line-height:1.12 !important; }
  .ard-root #main-content:not(:has(.cs-head)) h2 { font-size:1.7rem !important; }
  .ard-root .outlaws-summary { padding:22px; }
  .ard-root .site-nav > div:not([aria-hidden]) { gap:4px !important; }
  .ard-root .site-nav ul { display:grid !important; grid-template-columns:1fr 1.4fr 1fr 1.1fr 1.2fr; width:100%; gap:2px !important; }
  .ard-root .site-nav ul a { display:flex !important; align-items:center; justify-content:center; min-height:44px; height:100%; padding:6px 2px !important; font-size:.75rem !important; line-height:1.3; letter-spacing:0; text-align:center; }
  .ard-root .site-nav > div > a { min-height:44px; }
}
