
  :root { --ease: cubic-bezier(0.22,1,0.36,1); }
  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  html { scroll-behavior: smooth; }
  body { font-family: 'Geist','Helvetica Neue',Helvetica,system-ui,sans-serif; background: #0B0C10; color: #F0EFE8; font-size: 18px; line-height: 1.65; overflow-x: hidden; text-wrap: pretty; }
  body.no-cursor * { cursor: none !important; }
  body.light-mode { background: #F4F3EF; color: #1C1B18; }
  body.light-mode .lm-invert { background: #FFFFFF !important; border-color: rgba(0,0,0,0.09) !important; }
  body.light-mode .lm-muted { color: #5A5850 !important; }
  body.light-mode #site-header { border-bottom-color: rgba(0,0,0,0.08) !important; }
  body.light-mode footer { background: #E8E7E3 !important; }
  body.dyslexia-mode { font-family: 'Lexend',sans-serif !important; }
  @keyframes kenBurns { from { transform: scale(1) translateY(0); } to { transform: scale(1.12) translateY(-2%); } }
  @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
  @keyframes grainAnim { 0%,100%{transform:translate(0,0)} 20%{transform:translate(-3%,-2%)} 40%{transform:translate(4%,1%)} 60%{transform:translate(-2%,5%)} 80%{transform:translate(3%,-3%)} }
  @keyframes pulsate { 0%,100%{opacity:.8;transform:scale(1)} 50%{opacity:1;transform:scale(1.25)} }
  @keyframes floatUp { from{opacity:0;transform:translateY(32px)} to{opacity:1;transform:translateY(0)} }
  .nav-link { position:relative; text-decoration:none; color:#F0EFE8; font-size:15px; font-weight:500; letter-spacing:.04em; padding:4px 0; transition:color .25s var(--ease); }
  .nav-link::after { content:''; position:absolute; bottom:-4px; left:0; width:100%; height:2px; background:#FF1500; transform:scaleX(0); transform-origin:left; transition:transform .32s var(--ease); }
  .nav-link:hover { color:#FF8070; }
  .nav-link:hover::after, .nav-link.active::after { transform:scaleX(1); }
  .icon-btn { background:transparent; border:none; color:#F0EFE8; cursor:pointer; display:flex; align-items:center; justify-content:center; border-radius:8px; transition:background .2s var(--ease); }
  .icon-btn:hover { background:rgba(255,255,255,.09); }
  .icon-btn:focus-visible { outline:2px solid #FF1500; outline-offset:2px; }
  [data-card] { transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease); }
  [data-card]:hover { transform:translateY(-6px); box-shadow:0 28px 60px rgba(0,0,0,.55); }
  [data-card-img] { transition:transform .7s var(--ease); }
  [data-card]:hover [data-card-img] { transform:scale(1.06); }
  [data-card-arrow] { display:inline-block; transition:transform .3s var(--ease); }
  [data-card]:hover [data-card-arrow] { transform:translateX(4px); }
  [data-ul] { position:relative; text-decoration:none; }
  [data-ul]::after { content:''; position:absolute; bottom:-2px; left:0; width:100%; height:1px; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform .32s var(--ease); }
  [data-ul]:hover::after { transform:scaleX(1); }
  [data-reveal] { transition:opacity .75s var(--ease),transform .75s var(--ease); }
  .resp-2col { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
  .footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1.5fr; gap:48px; }
  .stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center; }
  .svc-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:22px; }
  @media(max-width:960px) { .resp-2col{grid-template-columns:1fr;gap:40px} .footer-grid{grid-template-columns:1fr 1fr;gap:28px} .stats-grid{grid-template-columns:1fr 1fr;gap:18px} }
  @media(max-width:640px) { .footer-grid{grid-template-columns:1fr} .hide-sm{display:none!important} }
  @media(min-width:641px) { .show-sm{display:none!important} }
  ::-webkit-scrollbar{width:4px} ::-webkit-scrollbar-track{background:#060608} ::-webkit-scrollbar-thumb{background:#FF1500;border-radius:2px}
  @media(prefers-reduced-motion:reduce) { *,*::before,*::after{animation:none!important;transition-duration:.001ms!important} }
  .btn-micro { transition: transform .22s cubic-bezier(0.22,1,0.36,1), box-shadow .22s cubic-bezier(0.22,1,0.36,1) !important; }
  .btn-micro:hover { transform: translateY(-3px) scale(1.03) !important; }
  .btn-micro:active { transform: translateY(1px) scale(0.97) !important; transition-duration:.07s !important; }
  /* ── Light mode legibility overrides ── */
  body.light-mode { background:#F4F3EF; color:#1C1B18; }
  body.light-mode p, body.light-mode li { color:#3C3830 !important; }
  body.light-mode h1, body.light-mode h2, body.light-mode h3 { color:#111009 !important; }
  body.light-mode label { color:#3C3830 !important; }
  body.light-mode input, body.light-mode textarea, body.light-mode select { background:#E8E7E3 !important; border-color:rgba(0,0,0,.15) !important; color:#1C1B18 !important; }
  body.light-mode input::placeholder, body.light-mode textarea::placeholder { color:#888070 !important; }
  body.light-mode .nav-link { color:#1C1B18 !important; }
  body.light-mode #site-header { background:rgba(244,243,239,0.93) !important; }
  body.light-mode .icon-btn { color:#1C1B18 !important; }
  body.light-mode #contact-btn { color:#1C1B18 !important; }
  /* Hero text must stay light — heroes always have dark overlays */
  body.light-mode section[data-screen-label$="Hero"] h1,
  body.light-mode section[data-screen-label$="Hero"] p,
  body.light-mode section[data-screen-label$="Hero"] span { color:inherit !important; }
