/* Fonts are loaded from Google Fonts in index.html:
   - Inter Tight (500/600/700): headings, wordmark, eyebrows, buttons, stat numbers
   - Inter (400/500, plus 600/700 for nav links & checkmarks): body copy, labels, forms */

*{box-sizing:border-box;}

/* Custom brand cursor: the Kalibr arrow, everywhere except text fields
   (which keep a caret so typing feels normal). Falls back to the normal
   pointer/arrow if the image can't load. Hotspot = the arrow's tip. */
html{
  cursor:url('cursor.png?v=2') 22 3, auto;
  cursor:-webkit-image-set(url('cursor.png?v=2') 1x, url('cursor-2x.png?v=2') 2x) 22 3, auto;
  cursor:image-set(url('cursor.png?v=2') 1x, url('cursor-2x.png?v=2') 2x) 22 3, auto;
}
a[href], button, [role="button"], summary, label[for]{
  cursor:url('cursor.png?v=2') 22 3, pointer !important;
  cursor:-webkit-image-set(url('cursor.png?v=2') 1x, url('cursor-2x.png?v=2') 2x) 22 3, pointer !important;
  cursor:image-set(url('cursor.png?v=2') 1x, url('cursor-2x.png?v=2') 2x) 22 3, pointer !important;
}
input, textarea, select{cursor:text;}

html{scroll-behavior:smooth;}
body{margin:0;font-family:'Inter',-apple-system,sans-serif;color:#2C2C2C;background:#FFFFFF;-webkit-font-smoothing:antialiased;}
a{color:#0F9D58;text-decoration:none;}
a:hover{color:#0b7d45;}
::selection{background:#0F9D58;color:#fff;}
@keyframes kpulse{0%,100%{opacity:1;}50%{opacity:.3;}}
@keyframes kdraw{to{stroke-dashoffset:0;}}
@keyframes kspin{to{transform:rotate(360deg);}}
details summary::-webkit-details-marker{display:none;}

img{max-width:100%;}

/* ---------- Mobile / responsive ----------
   The source design is desktop-only and entirely inline-styled, so these
   overrides target the exact inline values and need !important to win. */
@media (max-width: 760px) {
  /* Collapse every grid to one column. Match both the authored inline format
     ("display:grid") and the format the JS reveal re-serializes to
     ("display: grid"), so reveal-touched elements are covered too. */
  [style*="display:grid"], [style*="display: grid"] { grid-template-columns: 1fr !important; }

  /* Single-page scroll: hide the top-nav links; the CTA button stays */
  [data-nav-links] { display: none !important; }

  /* Scale down oversized display type (both inline-format variants) */
  [style*="font-size:60px"], [style*="font-size: 60px"] { font-size: 34px !important; }
  [style*="font-size:52px"], [style*="font-size: 52px"] { font-size: 32px !important; }
  [style*="font-size:46px"], [style*="font-size: 46px"] { font-size: 30px !important; }
  [style*="font-size:44px"], [style*="font-size: 44px"] { font-size: 29px !important; }
  [style*="font-size:42px"], [style*="font-size: 42px"] { font-size: 28px !important; }
  [style*="font-size:40px"], [style*="font-size: 40px"] { font-size: 27px !important; }
  [style*="font-size:36px"], [style*="font-size: 36px"] { font-size: 25px !important; }
  [style*="font-size:34px"], [style*="font-size: 34px"] { font-size: 24px !important; }

  /* Trim big section padding (both inline-format variants) */
  [style*="padding:96px 24px"], [style*="padding: 96px 24px"] { padding: 56px 20px !important; }
  [style*="padding:92px 24px"], [style*="padding: 92px 24px"] { padding: 56px 20px !important; }
  [style*="padding:120px 24px"], [style*="padding: 120px 24px"] { padding: 60px 20px !important; }
  [style*="padding:76px 24px 84px"], [style*="padding: 76px 24px 84px"] { padding: 40px 20px 48px !important; }
  [style*="padding:56px 24px 40px"], [style*="padding: 56px 24px 40px"] { padding: 44px 20px 32px !important; }

  /* Tighten hero gap and form padding */
  [data-hero] { gap: 28px !important; }
  [data-form] { padding: 22px !important; }

  /* Center the primary CTA button row for thumb reach */
  [style*="flex-wrap:wrap;gap:14px;margin-bottom:24px"],
  [style*="flex-wrap: wrap; gap: 14px; margin-bottom: 24px"] { justify-content: center !important; }
}
