/* Local AI Referrals professional shared shell v2 — 2026-08-14 */
html[data-full-shell="v2"] {
  --lar-navy-900:#10233f;
  --lar-navy-800:#17365d;
  --lar-blue-600:#0b5fff;
  --lar-blue-700:#0847c4;
  --lar-teal-500:#1f9e8c;
  --lar-ink:#142033;
  --lar-ink-2:#34445b;
  --lar-muted:#66768c;
  --lar-line:#d9e2ec;
  --lar-line-soft:#e9eef4;
  --lar-surface:#f5f8fb;
  --lar-blue-soft:#eaf1ff;
  --lar-teal-soft:#e8f7f4;
  --lar-white:#fff;
  --lar-shadow-sm:0 8px 24px rgba(16,35,63,.07);
  --lar-shadow-md:0 18px 48px rgba(16,35,63,.11);
  --lar-radius-sm:9px;
  --lar-radius-md:14px;
  --lar-font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  scroll-behavior:smooth;
  scroll-padding-top:5.5rem;
}
html[data-full-shell="v2"] *,
html[data-full-shell="v2"] *::before,
html[data-full-shell="v2"] *::after { box-sizing:border-box; }
html[data-full-shell="v2"] [hidden] { display:none !important; }
html[data-full-shell="v2"] body {
  margin:0;
  padding-top:4.5rem;
  background:var(--lar-white);
  color:var(--lar-ink);
  font-family:var(--lar-font);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
html[data-full-shell="v2"] img { max-width:100%; }
html[data-full-shell="v2"] a { text-underline-offset:.18em; }
html[data-full-shell="v2"] :focus-visible { outline:3px solid rgba(11,95,255,.28); outline-offset:3px; }
html[data-full-shell="v2"] .container { width:min(1180px,calc(100% - 40px)); max-width:1180px; margin-inline:auto; }
html[data-full-shell="v2"] .skip-link { position:fixed; z-index:10000; left:1rem; top:-5rem; padding:.7rem 1rem; border-radius:0 0 8px 8px; background:var(--lar-navy-900); color:#fff; font-weight:750; }
html[data-full-shell="v2"] .skip-link:focus { top:0; }

/* Header */
html[data-full-shell="v2"] .navbar {
  position:fixed;
  z-index:9999;
  inset:0 0 auto;
  min-height:4.5rem;
  border-bottom:1px solid rgba(217,226,236,.94);
  background:rgba(255,255,255,.96);
  box-shadow:none;
  backdrop-filter:blur(15px);
}
html[data-full-shell="v2"] .navbar > .container { min-height:4.5rem; display:flex; align-items:center; justify-content:space-between; gap:2rem; }
html[data-full-shell="v2"] .nav-logo { display:inline-flex; align-items:center; gap:.72rem; flex:none; color:var(--lar-navy-900); font-size:1.02rem; font-weight:800; letter-spacing:-.025em; text-decoration:none; }
html[data-full-shell="v2"] .nav-logo img { width:42px; height:42px; flex:none; }
html[data-full-shell="v2"] .nav-links { display:flex; align-items:center; justify-content:flex-end; gap:1.7rem; margin:0; padding:0; list-style:none; }
html[data-full-shell="v2"] .nav-links li { margin:0; padding:0; }
html[data-full-shell="v2"] .nav-links a:not(.btn) { position:relative; display:inline-flex; align-items:center; min-height:44px; color:var(--lar-ink-2); font-size:.9rem; font-weight:680; text-decoration:none; transition:color .16s ease; }
html[data-full-shell="v2"] .nav-links a:not(.btn)::after { content:""; position:absolute; left:0; right:0; bottom:.34rem; height:2px; transform:scaleX(0); transform-origin:center; background:var(--lar-blue-600); transition:transform .16s ease; }
html[data-full-shell="v2"] .nav-links a:hover,
html[data-full-shell="v2"] .nav-links a.active,
html[data-full-shell="v2"] .nav-links a[aria-current="page"] { color:var(--lar-blue-600); }
html[data-full-shell="v2"] .nav-links a:hover::after,
html[data-full-shell="v2"] .nav-links a.active::after,
html[data-full-shell="v2"] .nav-links a[aria-current="page"]::after { transform:scaleX(1); }
html[data-full-shell="v2"] .nav-links .btn,
html[data-full-shell="v2"] .nav-cta .btn { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:.64rem 1rem; border:1px solid var(--lar-blue-600); border-radius:var(--lar-radius-sm); background:var(--lar-blue-600); color:#fff; font-size:.82rem; font-weight:760; line-height:1.15; text-decoration:none; box-shadow:none; transition:background .16s ease,border-color .16s ease,transform .16s ease; }
html[data-full-shell="v2"] .nav-links .btn:hover { border-color:var(--lar-blue-700); background:var(--lar-blue-700); transform:translateY(-1px); }
html[data-full-shell="v2"] .menu-toggle { display:none; width:44px; height:44px; align-items:center; justify-content:center; flex-direction:column; gap:5px; padding:0; border:1px solid var(--lar-line); border-radius:9px; background:#fff; color:var(--lar-navy-900); }
html[data-full-shell="v2"] .menu-toggle span { display:block; width:20px; height:2px; border-radius:2px; background:currentColor; transition:transform .16s ease,opacity .16s ease; }
html[data-full-shell="v2"] .menu-toggle.active span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
html[data-full-shell="v2"] .menu-toggle.active span:nth-child(2) { opacity:0; }
html[data-full-shell="v2"] .menu-toggle.active span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* Type and shared page surface */
html[data-full-shell="v2"] h1,
html[data-full-shell="v2"] h2,
html[data-full-shell="v2"] h3,
html[data-full-shell="v2"] h4 { color:var(--lar-ink); font-family:var(--lar-font); letter-spacing:-.035em; text-wrap:balance; }
html[data-full-shell="v2"] h1 { font-size:clamp(2.3rem,5vw,4.6rem); line-height:1.02; }
html[data-full-shell="v2"] h2 { font-size:clamp(1.9rem,3.5vw,3.2rem); line-height:1.08; }
html[data-full-shell="v2"] h3 { line-height:1.18; }
html[data-full-shell="v2"] p,
html[data-full-shell="v2"] li { color:var(--lar-ink-2); line-height:1.72; }
html[data-full-shell="v2"] .section,
html[data-full-shell="v2"] section.section { padding-block:clamp(4.2rem,7vw,6.8rem); }
html[data-full-shell="v2"] .section-alt,
html[data-full-shell="v2"] section:nth-of-type(even):not(.page-header):not(.hero):not(.cta-section) { background:var(--lar-surface); }
html[data-full-shell="v2"] .page-header,
html[data-full-shell="v2"] .hero:not(.service-hero) { position:relative; overflow:hidden; padding:clamp(4.8rem,8vw,7.5rem) 0; background:linear-gradient(180deg,#fff 0%,#f7fafe 100%); color:var(--lar-ink); }
html[data-full-shell="v2"] .page-header::after,
html[data-full-shell="v2"] .hero:not(.service-hero)::after { content:""; position:absolute; z-index:0; width:34rem; height:34rem; right:-15rem; top:-18rem; border-radius:50%; background:radial-gradient(circle,rgba(31,158,140,.1),transparent 67%); pointer-events:none; }
html[data-full-shell="v2"] .page-header > *,
html[data-full-shell="v2"] .hero:not(.service-hero) > * { position:relative; z-index:1; }
html[data-full-shell="v2"] .page-header h1,
html[data-full-shell="v2"] .hero h1 { margin-top:0; color:var(--lar-navy-900); }
html[data-full-shell="v2"] .page-header p,
html[data-full-shell="v2"] .hero p { max-width:760px; color:var(--lar-ink-2); font-size:clamp(1rem,2vw,1.2rem); }
html[data-full-shell="v2"] .eyebrow,
html[data-full-shell="v2"] .section-label,
html[data-full-shell="v2"] .kicker { color:var(--lar-blue-600); font-size:.76rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }

/* Components */
html[data-full-shell="v2"] .btn,
html[data-full-shell="v2"] .button,
html[data-full-shell="v2"] button[type="submit"] { border-radius:var(--lar-radius-sm); font-family:var(--lar-font); font-weight:750; }
html[data-full-shell="v2"] .btn-primary,
html[data-full-shell="v2"] .button-primary { border-color:var(--lar-blue-600); background:var(--lar-blue-600); color:#fff; box-shadow:none; }
html[data-full-shell="v2"] .btn-primary:hover,
html[data-full-shell="v2"] .button-primary:hover { border-color:var(--lar-blue-700); background:var(--lar-blue-700); }
html[data-full-shell="v2"] .btn-outline,
html[data-full-shell="v2"] .btn-secondary,
html[data-full-shell="v2"] .button-secondary { border-color:var(--lar-line); background:#fff; color:var(--lar-navy-900); }
html[data-full-shell="v2"] .card,
html[data-full-shell="v2"] .info-card,
html[data-full-shell="v2"] .service-card,
html[data-full-shell="v2"] .proof-card,
html[data-full-shell="v2"] .step-card,
html[data-full-shell="v2"] .contact-card,
html[data-full-shell="v2"] .content-card { border:1px solid var(--lar-line); border-radius:var(--lar-radius-md); background:#fff; box-shadow:var(--lar-shadow-sm); }
html[data-full-shell="v2"] blockquote { margin-inline:0; padding:1.2rem 1.35rem; border-left:4px solid var(--lar-teal-500); border-radius:0 var(--lar-radius-sm) var(--lar-radius-sm) 0; background:var(--lar-teal-soft); color:var(--lar-ink-2); }
html[data-full-shell="v2"] table { overflow:hidden; border:1px solid var(--lar-line); border-radius:var(--lar-radius-md); border-collapse:separate; border-spacing:0; background:#fff; }
html[data-full-shell="v2"] th { background:var(--lar-navy-900); color:#fff; }
html[data-full-shell="v2"] td,
html[data-full-shell="v2"] th { padding:.85rem 1rem; border-color:var(--lar-line); }
html[data-full-shell="v2"] input,
html[data-full-shell="v2"] select,
html[data-full-shell="v2"] textarea { border-color:var(--lar-line); border-radius:var(--lar-radius-sm); color:var(--lar-ink); font-family:var(--lar-font); }
html[data-full-shell="v2"] input:focus,
html[data-full-shell="v2"] select:focus,
html[data-full-shell="v2"] textarea:focus { border-color:var(--lar-blue-600); box-shadow:0 0 0 3px rgba(11,95,255,.12); }
html[data-full-shell="v2"] details { border-color:var(--lar-line); border-radius:var(--lar-radius-sm); background:#fff; }

/* Legacy-page normalization */
html[data-full-shell="v2"] .stats-bar,
html[data-full-shell="v2"] .trust-bar { border-block:1px solid var(--lar-line); background:var(--lar-navy-900); }
html[data-full-shell="v2"] .stats-bar *,
html[data-full-shell="v2"] .trust-bar * { color:#fff; }
html[data-full-shell="v2"] .cta-section,
html[data-full-shell="v2"] .final-cta { background:var(--lar-navy-900); color:#fff; }
html[data-full-shell="v2"] .cta-section h2,
html[data-full-shell="v2"] .cta-section p,
html[data-full-shell="v2"] .final-cta h2,
html[data-full-shell="v2"] .final-cta p { color:#fff; }
html[data-full-shell="v2"] .service-hero { background:linear-gradient(145deg,var(--lar-navy-900),var(--lar-navy-800)); }
html[data-full-shell="v2"] .service-hero h1,
html[data-full-shell="v2"] .service-hero h2,
html[data-full-shell="v2"] .service-hero p { color:#fff; }
html[data-full-shell="v2"] .service-catalog-intro,
html[data-full-shell="v2"] .service-band,
html[data-full-shell="v2"] .larger-engagements,
html[data-full-shell="v2"] .decision-path,
html[data-full-shell="v2"] .proof-shell,
html[data-full-shell="v2"] .sample-shell { font-family:var(--lar-font); }
html[data-full-shell="v2"] .proof-hero,
html[data-full-shell="v2"] .sample-hero { background:linear-gradient(180deg,#fff,#f5f8fb); }
html[data-full-shell="v2"] .proof-hero h1,
html[data-full-shell="v2"] .sample-hero h1 { color:var(--lar-navy-900); }

/* Footer */
html[data-full-shell="v2"] .footer { padding:0; background:var(--lar-navy-900); color:#fff; }
html[data-full-shell="v2"] .footer > .container { width:min(1180px,calc(100% - 40px)); max-width:1180px; }
html[data-full-shell="v2"] .footer-grid { display:grid; grid-template-columns:1.7fr repeat(3,1fr); gap:4rem; padding:4.6rem 0 3.6rem; }
html[data-full-shell="v2"] .footer-logo { display:inline-flex; align-items:center; gap:.75rem; margin-bottom:1rem; color:#fff; font-size:1.02rem; font-weight:800; letter-spacing:-.025em; text-decoration:none; }
html[data-full-shell="v2"] .footer-logo img { width:42px; height:42px; }
html[data-full-shell="v2"] .footer-brand p { max-width:23rem; margin:0 0 1rem; color:#aab8ca; font-size:.88rem; line-height:1.65; }
html[data-full-shell="v2"] .footer h4 { margin:0 0 1rem; color:#fff; font-size:.72rem; letter-spacing:.13em; text-transform:uppercase; }
html[data-full-shell="v2"] .footer a:not(.footer-logo) { display:block; width:fit-content; margin:.58rem 0; color:#aab8ca; font-size:.84rem; line-height:1.45; text-decoration:none; }
html[data-full-shell="v2"] .footer a:hover { color:#fff; }
html[data-full-shell="v2"] .footer-bottom { min-height:4.4rem; display:flex; justify-content:space-between; gap:1rem; align-items:center; border-top:1px solid rgba(255,255,255,.1); color:#8195ad; font-size:.72rem; }

@media (max-width:1020px) {
  html[data-full-shell="v2"] .nav-links { gap:1rem; }
  html[data-full-shell="v2"] .nav-links a:not(.btn) { font-size:.84rem; }
  html[data-full-shell="v2"] .footer-grid { grid-template-columns:1.4fr repeat(3,1fr); gap:2rem; }
}
@media (max-width:880px) {
  html[data-full-shell="v2"] body { padding-top:4.25rem; }
  html[data-full-shell="v2"] .navbar,
  html[data-full-shell="v2"] .navbar > .container { min-height:4.25rem; }
  html[data-full-shell="v2"] .menu-toggle { display:flex; }
  html[data-full-shell="v2"] .nav-links { position:absolute; top:calc(100% + 1px); left:0; right:0; display:none; align-items:stretch; gap:.15rem; max-height:calc(100vh - 4.25rem); overflow-y:auto; padding:.8rem 20px 1.1rem; border-bottom:1px solid var(--lar-line); background:#fff; box-shadow:var(--lar-shadow-md); }
  html[data-full-shell="v2"] .nav-links.active { display:flex; flex-direction:column; }
  html[data-full-shell="v2"] .nav-links a:not(.btn) { min-height:44px; padding:.25rem .4rem; font-size:.94rem; }
  html[data-full-shell="v2"] .nav-links a:not(.btn)::after { display:none; }
  html[data-full-shell="v2"] .nav-links .btn { width:100%; min-height:46px; margin-top:.3rem; }
  html[data-full-shell="v2"] .footer-grid { grid-template-columns:1.5fr 1fr; }
}
@media (max-width:620px) {
  html[data-full-shell="v2"] .container,
  html[data-full-shell="v2"] .footer > .container { width:min(100% - 28px,1180px); }
  html[data-full-shell="v2"] .nav-logo span { font-size:.94rem; }
  html[data-full-shell="v2"] .nav-logo img { width:38px; height:38px; }
  html[data-full-shell="v2"] .page-header,
  html[data-full-shell="v2"] .hero:not(.service-hero) { padding:4rem 0; }
  html[data-full-shell="v2"] .footer-grid { grid-template-columns:1fr; gap:2rem; padding:3.6rem 0 2.8rem; }
  html[data-full-shell="v2"] .footer-bottom { align-items:flex-start; flex-direction:column; justify-content:center; padding:1.2rem 0; }
}
@media (prefers-reduced-motion:reduce) {
  html[data-full-shell="v2"] { scroll-behavior:auto; }
  html[data-full-shell="v2"] *,
  html[data-full-shell="v2"] *::before,
  html[data-full-shell="v2"] *::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
}
