/* Stone Axis LLC — corporate landing page
   Palette: deep navy #0F1D2E / #0A1420, stone silver #C7C9CC, cool off-white #F6F7F9, gold accent #B08D4F */

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  background: #F6F7F9;
  color: #16202E;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-wrap: pretty;
}
img { max-width: 100%; }
a { color: #0F1D2E; text-underline-offset: 3px; }
a:hover { color: #6B5220; }
:focus-visible { outline: 2px solid #B08D4F; outline-offset: 3px; }

.wrap { max-width: 1180px; margin: 0 auto; padding: 0 clamp(20px, 5vw, 56px); }
.gold { color: #B08D4F; }
.gold-ink { color: #6B5220; }
.dim { color: #7E8794; }
.muted { color: #4B5563; font-size: 15px; line-height: 1.75; margin: 0; }
.serif, .serif-lead { font-family: "EB Garamond", Georgia, serif; }
.eyebrow { margin: 0 0 22px; font-size: 12px; letter-spacing: 0.3em; text-transform: uppercase; }

.skip {
  position: absolute; left: -9999px; top: 0; z-index: 100;
  padding: 12px 18px; background: #0F1D2E; color: #F2F4F6;
  font-size: 14px; letter-spacing: 0.08em; text-transform: uppercase; text-decoration: none;
}
.skip:focus { left: 12px; top: 12px; color: #F2F4F6; }

/* Header */
.site-header { position: sticky; top: 0; z-index: 50; background: #0F1D2E; border-bottom: 1px solid rgba(226, 232, 240, 0.14); }
.header-inner { min-height: 76px; display: flex; flex-wrap: wrap; gap: 10px 32px; align-items: center; justify-content: space-between; }
.brand { display: flex; align-items: center; gap: 16px; padding: 14px 0; text-decoration: none; color: #F2F4F6; }
.brand img { display: block; width: 54px; height: auto; }
.brand-text { display: flex; align-items: baseline; gap: 10px; white-space: nowrap; padding-left: 16px; border-left: 1px solid rgba(226, 232, 240, 0.2); }
.brand-name { font-family: "EB Garamond", Georgia, serif; font-size: clamp(15px, 2vw, 20px); letter-spacing: 0.2em; text-transform: uppercase; }
.brand-suffix { font-size: 11px; letter-spacing: 0.28em; color: #9AA3AE; text-transform: uppercase; }
.site-header nav { display: flex; flex-wrap: wrap; gap: 4px 28px; align-items: center; padding-bottom: 6px; }
.site-header nav a { color: #CFD4DA; font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none; padding: 8px 0; }
.site-header nav a:hover { color: #F2F4F6; }

/* Hero */
.hero { background: #0F1D2E; color: #F2F4F6; border-bottom: 1px solid rgba(226, 232, 240, 0.14); }
.hero .wrap { padding-top: clamp(44px, 7vw, 84px); padding-bottom: clamp(48px, 7vw, 80px); }
.hero-mark { display: block; width: clamp(76px, 9vw, 104px); height: auto; margin: 0 0 clamp(24px, 3.5vw, 36px); }
.hero h1 {
  margin: 0; max-width: 20ch;
  font-family: "EB Garamond", Georgia, serif; font-weight: 500;
  font-size: clamp(34px, 7.4vw, 76px); line-height: 1.05; letter-spacing: -0.01em;
}
.rule-gold { width: 64px; height: 1px; background: #B08D4F; margin: clamp(26px, 4vw, 40px) 0; }
.lede { margin: 0; max-width: 52ch; font-size: clamp(16px, 2vw, 19px); line-height: 1.65; color: #C8CDD4; }
.actions { display: flex; flex-wrap: wrap; gap: 14px 18px; margin-top: clamp(32px, 5vw, 52px); }
.btn {
  display: inline-block; padding: 16px 30px;
  font-size: 13px; letter-spacing: 0.16em; text-transform: uppercase; text-decoration: none;
  border: 1px solid transparent; transition: background 160ms ease, color 160ms ease, border-color 160ms ease;
}
.btn-primary { background: #F2F4F6; color: #0F1D2E; border-color: #F2F4F6; }
.btn-primary:hover { background: #B08D4F; border-color: #B08D4F; color: #0F1D2E; }
.btn-ghost { color: #F2F4F6; border-color: rgba(226, 232, 240, 0.34); }
.btn-ghost:hover { border-color: #B08D4F; color: #E6D9BC; }

/* Sections */
.section { scroll-margin-top: 84px; }
.section .wrap { padding-top: clamp(56px, 8vw, 104px); padding-bottom: clamp(56px, 8vw, 104px); }
.section h2 { margin: 0; font-family: "EB Garamond", Georgia, serif; font-weight: 500; font-size: clamp(28px, 4.4vw, 44px); line-height: 1.15; }
.section-head {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: clamp(16px, 4vw, 64px); align-items: end;
  padding-bottom: clamp(26px, 4vw, 44px); border-bottom: 1px solid #D2D8DE;
}
.section-head .muted { max-width: 44ch; line-height: 1.7; }

.focus-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.focus-list li { padding: clamp(26px, 4vw, 44px) clamp(0px, 3vw, 44px) clamp(26px, 4vw, 44px) 0; border-bottom: 1px solid #DCE1E6; }
.focus-list .num { color: #6B5220; margin: 0 0 18px; font-size: 12px; letter-spacing: 0.26em; }
.focus-list h3 { margin: 0 0 14px; font-family: "EB Garamond", Georgia, serif; font-weight: 500; font-size: clamp(22px, 2.6vw, 26px); line-height: 1.25; }
.focus-list .muted { max-width: 38ch; }

.publishing { background: #E8EBEE; border-top: 1px solid #D2D8DE; border-bottom: 1px solid #D2D8DE; }
.publishing-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: clamp(28px, 6vw, 80px); }
.publishing h2 { margin: 0; font-family: "EB Garamond", Georgia, serif; font-weight: 500; font-size: clamp(30px, 5vw, 48px); line-height: 1.12; }
.publishing-body { display: flex; flex-direction: column; gap: 22px; justify-content: center; border-left: 1px solid #C6CCD4; padding-left: clamp(18px, 3vw, 44px); }
.serif-lead { margin: 0; font-family: "EB Garamond", Georgia, serif; font-size: clamp(19px, 2.4vw, 23px); line-height: 1.55; color: #1B2534; max-width: 34ch; }
.publishing-body .muted { max-width: 46ch; }
.email-link { align-self: start; font-size: 16px; color: #0F1D2E; text-decoration: none; border-bottom: 1px solid #B08D4F; padding-bottom: 4px; word-break: break-word; }
.email-link:hover { color: #6B5220; }
.email-link--dark { color: #F2F4F6; }
.email-link--dark:hover { color: #E6D9BC; }

.dev-head {
  display: flex; flex-wrap: wrap; gap: 14px 24px; align-items: center;
  padding-bottom: clamp(22px, 3vw, 36px); border-bottom: 1px solid #D2D8DE;
}
.dev-head h2 { flex: 1 1 auto; min-width: min(100%, 9ch); }
.badge {
  flex: 0 0 auto; white-space: nowrap; padding: 7px 12px;
  border: 1px solid #B08D4F; color: #6B5220;
  font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;
}
.dev-body { padding-top: clamp(26px, 4vw, 44px); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: clamp(22px, 4vw, 64px); }
.dev-name { margin: 0 0 14px; font-family: "EB Garamond", Georgia, serif; font-weight: 500; font-size: clamp(26px, 3.4vw, 34px); line-height: 1.2; }
.dev-body .muted { max-width: 38ch; align-self: center; }

/* Contact */
.contact { background: #0F1D2E; color: #F2F4F6; scroll-margin-top: 84px; }
.contact .wrap { padding-top: clamp(56px, 8vw, 108px); padding-bottom: clamp(56px, 8vw, 108px); }
.contact h2 { margin: 0; font-family: "EB Garamond", Georgia, serif; font-weight: 500; font-size: clamp(30px, 5.4vw, 52px); line-height: 1.12; }
.contact .lede { margin-top: clamp(20px, 3vw, 30px); max-width: 48ch; }
.contact-list {
  margin: clamp(32px, 5vw, 56px) 0 0; display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 26px clamp(24px, 4vw, 56px);
  border-top: 1px solid rgba(226, 232, 240, 0.16); padding-top: clamp(26px, 4vw, 40px);
}
.contact-list dt { font-size: 11px; letter-spacing: 0.24em; text-transform: uppercase; color: #9AA3AE; }
.contact-list dd { margin: 10px 0 0; font-size: 17px; word-break: break-word; }
.contact-list dd.serif { font-size: 22px; }

/* Footer */
.site-footer { background: #0A1420; color: #9AA3AE; border-top: 1px solid rgba(226, 232, 240, 0.12); }
.footer-inner { padding-top: 34px; padding-bottom: 34px; display: flex; flex-wrap: wrap; gap: 10px 32px; justify-content: space-between; align-items: center; }
.site-footer p { margin: 0; font-size: 13px; letter-spacing: 0.04em; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition-duration: 0.001ms !important; animation-duration: 0.001ms !important; }
}

/* Founder */
.founder { background: #E8EBEE; border-top: 1px solid #D2D8DE; border-bottom: 1px solid #D2D8DE; }
.founder-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: clamp(28px, 6vw, 80px); }
.founder-body { display: flex; flex-direction: column; gap: 20px; border-left: 1px solid #C6CCD4; padding-left: clamp(18px, 3vw, 44px); }
.founder-body p { margin: 0; font-size: 16px; line-height: 1.8; color: #2A3340; max-width: 62ch; }
.founder-note { padding-top: 18px; border-top: 1px solid #C6CCD4; font-size: 12px !important; letter-spacing: 0.18em; text-transform: uppercase; color: #6B5220 !important; }
