/* IGMA — shared site styles (used by every page). Load AFTER colors_and_type.css. */
*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  font-family:var(--font-sans);
  background:var(--bg);
  color:var(--fg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
#root{ min-height:100vh; }

/* ── shared atoms ───────────────────────────── */
.container{ max-width:var(--container); margin:0 auto; padding:0 32px; }

.eyebrow{
  font-family:var(--font-mono); font-weight:500; font-size:12px;
  letter-spacing:var(--track-eyebrow); text-transform:uppercase;
  color:var(--azure-600);
}
.eyebrow.gold{ color:var(--gold-500); }
.eyebrow.on-dark{ color:var(--gold-400); }

.btn{
  font-family:var(--font-sans); font-weight:600; font-size:14px; cursor:pointer;
  border:0; border-radius:2px; padding:15px 28px;
  display:inline-flex; align-items:center; gap:9px; letter-spacing:.01em;
  transition:all var(--dur) var(--ease-out); text-decoration:none; line-height:1;
}
.btn:active{ transform:translateY(1px); }
.btn svg{ width:16px; height:16px; }
.btn-primary{ background:var(--navy-950); color:#fff; }
.btn-primary:hover{ background:var(--navy-800); }
.btn-azure{ background:var(--navy-950); color:#fff; }
.btn-azure:hover{ background:var(--navy-800); }
.btn-ghost-light{ background:transparent; color:#fff; box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55); }
.btn-ghost-light:hover{ background:#fff; color:var(--navy-950); }
.btn-ghost-dark{ background:transparent; color:var(--navy-950); box-shadow:inset 0 0 0 1.5px var(--navy-950); }
.btn-ghost-dark:hover{ background:var(--navy-950); color:#fff; }
.btn-gold{ background:transparent; color:var(--gold-600); box-shadow:inset 0 0 0 1.5px var(--gold-500); }
.btn-gold:hover{ background:var(--gold-500); color:#fff; }

input, button{ font-family:inherit; }
:focus-visible{ outline:3px solid var(--ring); outline-offset:2px; }

/* ── scroll reveal ──────────────────────────── */
.reveal{ opacity:0; transform:translateY(16px); transition:opacity .6s var(--ease-out), transform .6s var(--ease-out); }
.reveal.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  html{ scroll-behavior:auto; }
}

image-slot{ --is-bg:var(--gray-100); }

/* ── responsive (shared across homepage + inner pages) ───────── */
@media (max-width: 1000px){
  .nav-desktop{ display:none !important; }
  .svc-grid{ grid-template-columns:1fr 1fr !important; }
  .art-grid{ grid-template-columns:1fr 1fr !important; }
  .loc-grid{ grid-template-columns:1fr 1fr !important; }
  .footer-grid{ grid-template-columns:1fr 1fr !important; gap:32px !important; }
  .statement-grid{ grid-template-columns:1fr !important; gap:24px !important; }
  .page-grid-2{ grid-template-columns:1fr !important; gap:32px !important; }
}
@media (max-width: 900px){
  .container{ padding:0 20px; }
}
@media (max-width: 760px){
  .svc-grid{ grid-template-columns:1fr !important; }
  .art-grid{ grid-template-columns:1fr !important; }
  .loc-grid{ grid-template-columns:1fr !important; }
  .footer-grid{ grid-template-columns:1fr !important; }
  .hero-grid, .editorial-row{ grid-template-columns:1fr !important; }
  .hero-grid .hero-media, .editorial-row > div:first-child{ min-height:280px !important; }
  .hero-grid .hero-text{ padding:56px 24px !important; order:2; }
  .hero-grid .hero-media{ order:1; }
  .cert-rows{ grid-template-columns:1fr !important; }
  .cert-scales{ grid-template-columns:1fr !important; gap:18px !important; }
  .verify-row{ flex-direction:column !important; }
  .verify-row input{ border-right-width:1.5px !important; border-radius:3px !important; }
  .verify-row .btn{ border-radius:3px !important; margin-top:10px; justify-content:center; padding:14px !important; }
}
