/* ASAP Capital · Sprint 152 · shell.css
   The header and footer used to lean on the Tailwind CDN (a 300 KB script that
   compiles utilities in the browser on every visit) and Font Awesome (one phone
   glyph). Both are gone from ASAP pages. This file is the compiled equivalent of
   the ~45 utilities the shell actually uses, plus the mobile header.
   Loads before brand.css and premium.css. Nothing here touches .ac-scope. */

/* ---- reset the shell needs (brand.css resets only .ac-scope) ---- */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body { min-height: 100vh; }
a { color: inherit; }
ul { margin: 0; padding: 0; }
img, video { display: block; max-width: 100%; }

/* ---- layout utilities the shell markup carries ---- */
.max-w-6xl { max-width: 72rem; }
.mx-auto { margin-left: auto; margin-right: auto; }
.px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
.py-5 { padding-top: 1.25rem; padding-bottom: 1.25rem; }
.pt-6 { padding-top: 1.5rem; }
.mb-2 { margin-bottom: 0.5rem; }
.mb-3 { margin-bottom: 0.75rem; }
.mb-8 { margin-bottom: 2rem; }
.mt-1 { margin-top: 0.25rem; }
.mt-3 { margin-top: 0.75rem; }
.flex { display: flex; }
.inline-flex { display: inline-flex; }
.grid { display: grid; }
.hidden { display: none; }
.items-center { align-items: center; }
.justify-between { justify-content: space-between; }
.flex-col { flex-direction: column; }
.gap-2 { gap: 0.5rem; }
.gap-5 { gap: 1.25rem; }
.gap-8 { gap: 2rem; }
.grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.space-y-1 > * + * { margin-top: 0.25rem; }
.border-t { border-top-width: 1px; border-top-style: solid; }
.border-white { border-color: rgba(255,255,255,1); }
.border-opacity-20.border-white { border-color: rgba(255,255,255,0.2); }
.text-xs { font-size: 0.78rem; line-height: 1.1rem; }
.text-sm { font-size: 0.875rem; line-height: 1.25rem; }
.text-2xl { font-size: 1.5rem; line-height: 2rem; }
.font-medium { font-weight: 500; }
.font-semibold { font-weight: 600; }
.uppercase { text-transform: uppercase; }
.tracking-widest { letter-spacing: 0.1em; }
.leading-relaxed { line-height: 1.625; }
.opacity-70 { opacity: 0.7; }
.opacity-80 { opacity: 0.8; }
.opacity-90 { opacity: 0.9; }
footer li { list-style: none; }

@media (min-width: 768px) {
  .md\:flex { display: flex; }
  .md\:flex-row { flex-direction: row; }
  .md\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* ---- the one glyph Font Awesome was loaded for ---- */
.fa-phone { display: inline-block; width: 0.9em; height: 0.9em; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.5 15.5 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25c1.1.37 2.3.57 3.6.57a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1L6.6 10.8z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.5 15.5 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25c1.1.37 2.3.57 3.6.57a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1L6.6 10.8z'/%3E%3C/svg%3E") center / contain no-repeat; }

/* ---- mobile header · Sprint 152 ----
   Under 768px the desktop nav is hidden and, before this sprint, nothing replaced
   it: a developer on a phone saw the wordmark and no way to Sam, the proof or the
   button until they scrolled. Three words now sit beside the wordmark. */
.ac-mnav { display: none; }
@media (max-width: 767px) {
  .ac-page #site-header > div:not(.ac-progress) { padding: 12px 16px; }
  .ac-page #site-header .wordmark, .ac-page #site-header > div > a:first-child > span { font-size: 19px !important; }
  .ac-mnav { display: flex; align-items: center; gap: 6px; }
  .ac-mnav a { font-size: 0.8125rem; font-weight: 600; letter-spacing: -0.01em; color: rgba(250,250,247,0.86); text-decoration: none; padding: 8px 9px; border-radius: 8px; white-space: nowrap; }
  .ac-mnav a:active { background: rgba(250,250,247,0.08); }
  .ac-mnav a.go { background: var(--ac-signal, #E5341C); color: #fff; padding: 9px 12px; }
  .ac-page #site-header.is-compact .ac-mnav a.go { box-shadow: 0 8px 20px -10px rgba(229,52,28,0.7); }
}
@media (max-width: 359px) { .ac-mnav a:not(.go) { padding: 8px 6px; font-size: 0.75rem; } }
