/* Scoped to the September follow-through batch: Glenelg, Laurel and Savage. */
html { color-scheme: dark; scroll-padding-top: 76px; }
:root { --text-muted: #bcb7b3; --text-dim: #aaa5a1; }
body { padding-bottom: 0; }
section[id], main { scroll-margin-top: 76px; }
a, button, summary, input, textarea { touch-action: manipulation; }
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, textarea:focus-visible { outline: 3px solid #ffd700; outline-offset: 4px; }
.loc-skip { position: fixed; top: 8px; left: 8px; z-index: 2000; padding: 12px 18px; background: #fff; color: #111; transform: translateY(-160%); }
.loc-skip:focus { transform: translateY(0); }
.loc-nav a { color: #c7c1bc; letter-spacing: .03em; }
.loc-mobile-nav { display: none; }
.loc-mobile-nav.active { display: flex; }
.loc-hero { min-height: 0; }
.loc-hero-inner { padding: 3.5rem 1.5rem; }
.loc-hero h1 { font-size: clamp(2.1rem, 5vw, 3.6rem); line-height: 1.1; text-transform: none; text-wrap: balance; }
.loc-hero-sub { color: #d3cdc7; max-width: 660px; }
.loc-hero-eyebrow, .loc-answer-eyebrow, .loc-service-cta, .loc-pop-item h3 { color: #ff9b9b; }
.loc-cta { min-height: 48px; padding: .85rem 1.3rem; letter-spacing: .02em; transition: background-color .2s, border-color .2s; }
.loc-service-cta { display: inline-flex; align-items: center; min-height: 44px; }
.loc-section { padding: 3rem 1.5rem; }
.loc-section-head { text-transform: none; text-wrap: balance; }
.loc-task-intro { display: grid; grid-template-columns: 1.35fr 1fr; gap: 2rem; align-items: center; margin-bottom: 1.5rem; }
.loc-task-intro p { margin-top: .9rem; color: #d3cdc7; }
.loc-task-photo { min-width: 0; margin: 0; }
.loc-task-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; border-radius: 6px; }
.loc-task-photo figcaption { font-size: .85rem; color: #bcb7b3; margin-top: .5rem; }
.loc-task-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.loc-task-grid article { border: 1px solid var(--border2); border-top: 2px solid #d63031; background: var(--surface); padding: 1.25rem; }
.loc-task-grid h3 { color: #f5f0eb; font-size: 1.1rem; margin-bottom: .6rem; }
.loc-task-grid p { color: #bcb7b3; }
.loc-task-links { margin-top: 1.25rem; display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; }
.loc-task-links a { color: #ffa5a5; text-underline-offset: 4px; min-height: 44px; display: inline-flex; align-items: center; }
.loc-form-group input, .loc-form-group textarea { font-size: 16px; }
.loc-form-group input::placeholder, .loc-form-group textarea::placeholder { color: #aaa5a1; opacity: 1; }
.loc-form-head p { color: #bcb7b3; }
.loc-contact-cta-secondary { color: #ffa5a5; }
.loc-footer-ctas { flex-wrap: wrap; }
.loc-footer-contact a { color: #ffa5a5; }
.loc-footer-cta, .loc-footer-social a, .loc-social a { min-height: 44px; }
@media (max-width: 768px) {
  .loc-task-intro, .loc-task-grid { grid-template-columns: 1fr; }
  .loc-hero-inner { padding: 2rem 1.25rem; }
  .loc-hero-ctas { flex-direction: column; align-items: stretch; }
  .loc-hero-ctas .loc-cta { justify-content: center; }
  .loc-section { padding: 2.25rem 1.25rem; }
  .loc-logo a { font-size: 1rem; letter-spacing: 0; }
  .loc-logo img { margin-right: 7px; }
  .loc-header-inner { padding: 0 .7rem; }
  .loc-nav-cta { padding: .6rem .7rem !important; font-size: .7rem !important; letter-spacing: 0; white-space: nowrap; min-height: 44px; display: inline-flex; align-items: center; }
  .loc-mobile-toggle { min-height: 44px; min-width: 44px; }
  .loc-footer { padding-bottom: calc(1rem + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .loc-animate { opacity: 1; }
}
