/* atlanticlabs.ai shared stylesheet, Atlantic Labs brand (Brand Guidelines 1.0, Valerio, 2026-10-26).
   Tokens come from marketing/brand-guidelines/tokens.css. The licensed GT fonts are never committed:
   tools/deploy.sh copies them into /fonts/ at deploy time. */
@font-face { font-family: "GT Ultra Standard"; src: url("/fonts/GT-Ultra-Standard-Regular.woff2") format("woff2"), url("/fonts/GT-Ultra-Standard-Regular.woff") format("woff"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "GT America Standard"; src: url("/fonts/GT-America-Standard-Regular.woff2") format("woff2"), url("/fonts/GT-America-Standard-Regular.woff") format("woff"); font-weight: 400; font-style: normal; font-display: swap; }
/* Capsize fallbacks (gates/capsize-metrics.txt): Arial scaled to the GT metrics so the swap does not shift layout. */
@font-face { font-family: "GT Ultra Fallback"; src: local("Arial"), local("Helvetica"); size-adjust: 105.65%; ascent-override: 85.18%; descent-override: 18.93%; line-gap-override: 0%; }
@font-face { font-family: "GT America Fallback"; src: local("Arial"), local("Helvetica"); size-adjust: 101.39%; ascent-override: 98.63%; descent-override: 25.45%; line-gap-override: 0%; }
:root {
  --al-white: #fbfbfb; --al-paper: #f4f0ec; --al-navy: #042839; --al-cobalt: #0047ab; --al-sky: #77b5fe;
  --al-stone: #c9c3bb; --al-butter: #fbf78e; --al-ink: #040506; --al-peach: #ffa07a;
  --al-font-headline: "GT Ultra Standard", "GT Ultra Fallback", system-ui, -apple-system, "Segoe UI", sans-serif;
  --al-font-body: "GT America Standard", "GT America Fallback", system-ui, -apple-system, "Segoe UI", sans-serif;
  --al-weight: 400;
  --al-h1-size: 90px; --al-h1-leading: 1; --al-h1-tracking: -0.02em;
  --al-h2-size: 40px; --al-h2-leading: 1.15; --al-h2-tracking: -0.01em;
  --al-sub-size: 30px; --al-sub-leading: 1.25; --al-sub-tracking: -0.01em;
  --al-body1-size: 18px; --al-body1-leading: 1.25;
  --al-body2-size: 14px; --al-body2-leading: 1.25;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body { background: var(--bg); color: var(--text); font-family: var(--al-font-body); line-height: 1.6; overflow-x: hidden; }
.rainbow-bar { height: 4px; background: var(--rainbow); }
.rainbow-bar.thin { height: 2px; }
.nav-rainbow { height: 4px; background: var(--rainbow); }
.logo .labs { font-weight: 400; color: var(--gray); margin-left: 4px; }
nav ul { list-style: none; display: flex; gap: 2px; align-items: center; }
nav ul li a { font-weight: 400; font-size: 14px; color: var(--text-secondary); text-decoration: none; padding: 10px 18px; border-radius: 8px; transition: all 0.2s; }
nav ul li a:hover { color: var(--text); background: var(--cream); }
nav ul li a.active { color: var(--text); font-weight: 400; }
.btn-nav { background: var(--coral); color: #fbfbfb; font-weight: 400; font-size: 14px; padding: 10px 24px; border-radius: 8px; text-decoration: none; transition: all 0.2s; }
.btn-nav:hover { background: var(--coral-deep); }
.nav-toggle { display: none; background: none; border: none; cursor: pointer; padding: 8px; }
.nav-toggle span { display: block; width: 24px; height: 2px; background: var(--text); margin: 5px 0; border-radius: 2px; }
.divider::before, .divider::after { content: ''; position: absolute; top: 50%; transform: translateY(-50%); width: 10px; height: 10px; border-radius: 50%; border: 2px solid var(--coral); background: var(--bg); z-index: 1; }
.divider::before { left: 40px; }
.divider::after { right: 40px; }
footer { background: var(--bg); padding: 40px 48px; display: flex; justify-content: space-between; align-items: center; border-top: 1px solid var(--sand); }
.footer-brand { font-weight: 400; font-size: 18px; color: var(--text); }
.footer-brand .labs { font-weight: 400; color: var(--gray); }
footer .footer-links a { font-size: 14px; color: var(--gray); text-decoration: none; transition: color 0.2s; }
footer .footer-links a:hover { color: var(--coral); }
footer .footer-meta { font-family: var(--al-font-body); font-size: 14px; color: var(--gray); letter-spacing: 0; }
nav ul li.has-drop { position: relative; }
nav ul li.has-drop > a::after { content: ''; display: inline-block; width: 6px; height: 6px; margin-left: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-3px) rotate(45deg); opacity: 0.6; }
.nav-drop { position: absolute; top: 100%; left: 50%; transform: translate(-50%, 8px); background: #fbfbfb; border: 1px solid var(--sand, #c9c3bb); border-radius: 14px; box-shadow: 0 16px 40px rgba(4,40,57, 0.10); padding: 14px; min-width: 280px; opacity: 0; visibility: hidden; transition: opacity 0.16s ease-out, transform 0.16s ease-out, visibility 0.16s; z-index: 300; text-align: left; }
.nav-drop::before { content: ''; position: absolute; left: 0; right: 0; top: -14px; height: 14px; }
nav ul li.has-drop:hover .nav-drop, nav ul li.has-drop:focus-within .nav-drop { opacity: 1; visibility: visible; transform: translate(-50%, 4px); }
.nav-drop-wide { min-width: 600px; }
.nav-drop-cols { display: grid; gap: 4px 16px; }
.nav-drop-wide .nav-drop-cols { grid-template-columns: 1fr 1fr; }
.nav-drop-group { display: flex; flex-direction: column; padding-bottom: 6px; }
.nav-drop-title { font-family: var(--al-font-body); font-size: 14px; letter-spacing: 0; text-transform: none; color: var(--coral, #0047ab); padding: 8px 12px 4px; }
nav ul li .nav-drop a { display: block; padding: 8px 12px; border-radius: 8px; font-size: 14px; font-weight: 400; color: var(--text, #042839); white-space: nowrap; background: none; }
nav ul li .nav-drop a:hover, nav ul li .nav-drop a:focus-visible { background: var(--cream, #f4f0ec); color: var(--text, #042839); }
nav ul li .nav-drop a.nav-drop-all { margin-top: 4px; border-top: 1px solid var(--sand, #c9c3bb); border-radius: 0 0 8px 8px; padding-top: 12px; color: var(--coral, #0047ab); font-weight: 400; }
@media (prefers-reduced-motion: reduce) {
  .nav-drop { transition: none; }
}
@media (max-width: 1024px) {
  .nav-drop, nav ul li.has-drop > a::after { display: none; }
}
