/* SRT Studio brand foundation. Add to your website stylesheet. */
:root {
  color-scheme: dark;
  --srt-orange: #FF5A1F;
  --srt-orange-hover: #FF7847;
  --srt-bg: #111111;
  --srt-surface: #1D1D1D;
  --srt-text: #F5F0E6;
  --srt-muted: #B9B4AA;
  --srt-border: #76716A;
  --srt-success: #8BDDAB;
  --srt-error: #FFB4AB;
  --srt-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --srt-space-1: 4px; --srt-space-2: 8px; --srt-space-3: 12px;
  --srt-space-4: 16px; --srt-space-6: 24px; --srt-space-8: 32px;
  --srt-space-12: 48px; --srt-space-16: 64px; --srt-space-24: 96px;
  --srt-radius: 8px; --srt-width: 1280px;
  --srt-fast: 180ms; --srt-medium: 280ms; --srt-reveal: 600ms;
  --srt-ease: cubic-bezier(0.22, 1, 0.36, 1);
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--srt-bg); color: var(--srt-text); font-family: var(--srt-font); font-size: 1rem; line-height: 1.6; }
img, video { max-width: 100%; height: auto; }
a { color: var(--srt-orange); text-underline-offset: .2em; }
.srt-container { width: 100%; max-width: calc(var(--srt-width) + 96px); margin-inline: auto; padding-inline: 20px; }
.srt-section { padding-block: 64px; }
.srt-hero-title { font-size: clamp(2.5rem, 7vw, 5.5rem); line-height: 1.02; letter-spacing: -.04em; font-weight: 700; }
.srt-heading { font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.1; letter-spacing: -.025em; }
.srt-body { font-size: clamp(1rem, 1.5vw, 1.125rem); max-width: 65ch; }
.srt-muted { color: var(--srt-muted); }
.srt-grid { display: grid; grid-template-columns: 1fr; gap: 24px; }
.srt-card { background: var(--srt-surface); border-radius: var(--srt-radius); overflow: hidden; }
.srt-card img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.srt-button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 12px 24px; border: 1px solid transparent; border-radius: 6px; background: var(--srt-orange); color: var(--srt-bg); font: 600 .875rem/1.4 var(--srt-font); text-decoration: none; cursor: pointer; transition: background-color var(--srt-fast) var(--srt-ease); }
.srt-button:hover, .srt-button:active { background: var(--srt-orange-hover); }
.srt-button--secondary { background: transparent; color: var(--srt-text); border-color: var(--srt-text); }
.srt-button--secondary:hover, .srt-button--secondary:active { background: var(--srt-surface); }
.srt-button:disabled { background: var(--srt-surface); color: var(--srt-muted); border-color: var(--srt-border); cursor: not-allowed; }
:focus-visible { outline: 3px solid var(--srt-text); outline-offset: 4px; }
.srt-field label { display: block; margin-bottom: 8px; font-weight: 600; }
.srt-field input, .srt-field textarea { width: 100%; min-height: 48px; padding: 12px 16px; border: 1px solid var(--srt-border); border-radius: 6px; background: var(--srt-bg); color: var(--srt-text); font: inherit; }
.srt-field input::placeholder, .srt-field textarea::placeholder { color: var(--srt-muted); opacity: 1; }
.srt-field [aria-invalid="true"] { border-color: var(--srt-error); }
.srt-error { color: var(--srt-error); }
.srt-success { color: var(--srt-success); }
@media (min-width: 640px) { .srt-container { padding-inline: 32px; } .srt-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .srt-container { padding-inline: 48px; } .srt-section { padding-block: 96px; } .srt-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
