/* Approved 7 September 2026: Straight Shot signature, cobalt and lime.
   Separate from the layout layer; shared by every homepage section.
   The symbol uses the original alpha asset, not a newly drawn circle. */
:root {
  --brand-blue:#234BE8;
  --brand-lime:#D9F34A;
  --brand-font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif;
  --paper:#F7F5EF;
  --ink:#101D32;
  --navy:#101D32;
  --mint:var(--brand-lime);
  --muted:#4E596B;
  --line:#C9CED8;
}
body { font-family:var(--brand-font); }
h1,h2,h3 { font-weight:800; letter-spacing:-.045em; }
h2 em,h3 em,.hero h1>span {
  font-family:inherit; font-style:normal; font-weight:900;
  letter-spacing:inherit;
}
h2 em,h3 em,.hero h1>span { color:var(--brand-blue); }
a:focus-visible,button:focus-visible,summary:focus-visible {
  outline:3px solid currentColor; outline-offset:6px;
}
.eyebrow { font-size:.875rem; letter-spacing:.075em; }
.preview-note { color:var(--paper); background:var(--ink); font-size:.8125rem; }
.preview-note>span:last-child { opacity:1; }
.live-dot { background:var(--brand-lime); }
.wordmark {
  display:inline-flex; align-items:center; gap:.2em; align-self:center;
  color:var(--brand-blue); font-family:var(--brand-font);
  font-size:28px; font-weight:900; line-height:1; letter-spacing:-.03em;
  flex-shrink:0;
}
.wordmark>span:not(.wordmark-caption) { color:inherit; }
.brand-symbol {
  display:block; width:.91em; height:.9em; flex:0 0 .91em;
  background:currentColor;
  mask-image:var(--omg-symbol);
  mask-size:100% 100%; mask-position:center; mask-repeat:no-repeat;
}
.brand-name { font:inherit; letter-spacing:inherit; }
.header { gap:24px; }
.header nav { gap:22px; font-weight:600; }
.header nav a:after { background:var(--brand-blue); height:2px; }
.header-cta { background:var(--brand-blue); border-color:var(--brand-blue); color:white; font-weight:700; }
.hero .eyebrow { font-size:.8125rem; letter-spacing:.065em; }
.hero h1 { font-size:clamp(2.9rem,5.5vw,6rem); font-weight:900; letter-spacing:-.055em; }
.hero h1>span { font-size:1em; }
.button { font-size:.9375rem; font-weight:750; }
.button-dark { color:white; background:var(--brand-blue); }
.button-dark:hover,.header-cta:hover { background:#1936B2; }
.button-light { background:var(--brand-lime); color:var(--ink); }
.button-light:hover { background:#E5FA80; }
.text-link { font-weight:650; font-size:.9375rem; }
.hero-meta { font-size:.875rem; }
.hero-meta strong { font-weight:800; }
.hero-portrait { background:var(--line); }
.hero-portrait:after { background:linear-gradient(transparent,rgba(16,29,50,.8)); }
.hero-portrait figcaption>span:first-child { font-weight:800; }
.hero-portrait figcaption>span:last-child { font-size:.875rem; }
.portrait-note { color:var(--ink); background:var(--brand-lime); padding:12px 15px; text-shadow:none; font-weight:750; font-size:.875rem; }
.scroll-hint { font-size:.75rem; }
.principles span,.places-list span { font-size:.8125rem; color:var(--brand-blue); font-weight:700; }
.principles h3 { color:var(--brand-blue); font-weight:900; }
.first-lesson { background:var(--brand-blue); color:white; }
.first-lesson h2 em { color:var(--brand-lime); }
.first-lesson>div>p:not(.eyebrow),.ticket-line>span,.lesson-ticket .small { color:white; }
.lesson-ticket { border-color:rgba(255,255,255,.6); }
.lesson-price { color:var(--brand-lime); font-weight:900; }
.ticket-line { border-color:rgba(255,255,255,.45); font-size:.875rem; }
.ticket-line strong { font-weight:750; }
.training-card { background:var(--line); }
.card-photo:after { background:linear-gradient(transparent 10%,rgba(16,29,50,.94)); }
.training-card-copy>span:first-child,.group-card>span { font-size:.8125rem; }
.training-card h3 { font-weight:800; }
.group-card { color:var(--ink); background:var(--brand-lime); }
.group-card dl>div { border-color:rgba(16,29,50,.3); }
.card-bottom strong { font-weight:850; }
.card-bottom small { font-size:.875rem; }
.tools .eyebrow,.tools h2 em,.tools-caption,.product h3 em,.product-period { color:var(--brand-lime); }
.tools .section-top>div>p:not(.eyebrow),.product>p:not(.product-index),.product details p { color:#DEE3ED; }
.tools-caption,.product-index,.product-price span,.tools-footnote { font-size:.875rem; }
.product-index,.product-price span,.tools-footnote { color:#BBC5D6; }
.product h3 { font-weight:900; font-size:clamp(3.5rem,6.3vw,6.5rem); }
.product-price { font-weight:800; }
.places figure img { background:var(--line); }
.places figcaption { font-size:.875rem; }
.learning { background:var(--paper); border-top:1px solid var(--line); }
.learning-path { border-color:var(--line); }
.learning-path li { border-color:var(--line); }
.learning-path li>span { color:var(--brand-blue); font-weight:800; font-size:.875rem; }
.learning-path h3 { color:var(--brand-blue); }
.closing { background:var(--brand-blue); color:white; }
.closing h2 { font-weight:900; }
.closing h2 em { color:var(--brand-lime); }
.closing>p:not(.eyebrow) { color:white; }
.closing .button-dark { background:var(--brand-lime); color:var(--ink); }
.closing .button-dark:hover { background:#E5FA80; }
.footer { background:var(--ink); color:var(--paper); border-color:var(--ink); }
.footer .wordmark { color:var(--brand-lime); }
.footer>p,.footer .copyright { color:#BBC5D6; }
.footer nav { font-size:.875rem; }
.footer nav.social-links { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:12px 28px; border-top:1px solid #42516A; padding-top:20px; }
.footer .social-links a { display:flex; flex-direction:column; justify-content:center; min-height:44px; padding:4px 0; max-width:100%; overflow-wrap:anywhere; }
.footer .social-links strong { color:var(--brand-lime); font-size:1rem; }
.footer .social-links a:hover strong { text-decoration:underline; text-underline-offset:4px; }
.footer .social-links span { color:#BBC5D6; }
.footer .social-links a:focus-visible { outline-color:var(--brand-lime); }
.footer .copyright { border-color:#42516A; font-size:.8125rem; }
@media(max-width:1100px) {
  .header nav { font-size:.875rem; gap:16px; }
  .hero h1 { font-size:5.7vw; }
  .wordmark { font-size:25px; }
}
@media(max-width:1024px) {
  .header { height:80px; }
  .header-cta { margin-left:auto; }
  .menu-toggle { display:flex; align-items:center; justify-content:center; gap:6px; min-height:44px; min-width:44px; background:none; border:0; padding:8px 0; font-size:.875rem; order:3; color:var(--ink); }
  .header nav { position:absolute; top:80px; left:0; right:0; display:none; padding:20px var(--pad); background:var(--paper); border-bottom:1px solid var(--line); font-size:1rem; }
  .header nav.is-open { display:grid; gap:0; }
  .header nav a { padding:12px 0; min-height:44px; }
  .header nav a:after { display:none; }
}
@media(max-width:760px) {
  .header { height:76px; gap:14px; }
  .header-cta { display:none; }
  .header nav { top:76px; box-shadow:0 20px 20px #101D3212; }
  .wordmark { font-size:24px; }
  .preview-note { font-size:.75rem; }
  .hero .eyebrow,.eyebrow { font-size:.8125rem; }
  .hero h1 { font-size:clamp(2.6rem,10.5vw,5rem); }
  .hero-meta { font-size:.8125rem; gap:12px; }
  .button,.text-link,.card-bottom .text-link { font-size:.875rem; }
  .scroll-hint { font-size:.75rem; letter-spacing:.015em; }
  .ticket-line { flex-wrap:wrap; font-size:.8125rem; }
  .card-bottom { flex-wrap:wrap; }
  .product h3 { font-size:clamp(3.5rem,12vw,5.25rem); }
  .learning>div>p.small { font-size:.875rem; }
  .footer nav { font-size:.875rem; }
  .copyright { font-size:.8125rem; }
}
@media(max-width:420px) {
  .hero-portrait figcaption { flex-direction:column; align-items:start; gap:8px; }
  .hero-portrait figcaption>span:last-child { text-align:left; }
}
