/* Spark Zero, Inc. draft site (v2, 2 Oct 2026).
   Theme follows the live sparkxc.ai: same tokens, type scale, nav, hero, section tags, cards, terminal, CTA band and footer.
   Fonts are self-hosted (SIL OFL, licenses in fonts/), so the page makes no third-party requests. */

@font-face { font-family:'DM Sans'; font-style:normal; font-weight:300 700; font-display:swap; src:url(fonts/dm-sans-latin-var.woff2) format('woff2'); }
@font-face { font-family:'Instrument Serif'; font-style:normal; font-weight:400; font-display:swap; src:url(fonts/instrument-serif-latin-400.woff2) format('woff2'); }
@font-face { font-family:'Instrument Serif'; font-style:italic; font-weight:400; font-display:swap; src:url(fonts/instrument-serif-latin-400-italic.woff2) format('woff2'); }
@font-face { font-family:'JetBrains Mono'; font-style:normal; font-weight:400 600; font-display:swap; src:url(fonts/jetbrains-mono-latin-var.woff2) format('woff2'); }

:root {
  --amber:#F59E0B; --amber-light:#FEF3C7; --amber-mid:#FDE68A;
  --orange:#EA580C;
  --navy:#0C1628; --navy-mid:#1E293B;
  --slate:#475569; --slate-light:#64748B;
  --border:#E2E8F0; --border-strong:#CBD5E1;
  --bg:#FFFFFF; --bg-soft:#F8FAFC; --bg-amber:#FFFBEB;
  --green:#10B981; --blue:#3B82F6; --text:#0F172A;
  --radius:12px; --nav-height:64px;
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:var(--nav-height); }
body { background:var(--bg); color:var(--text); font-family:'DM Sans',sans-serif; overflow-x:hidden; font-size:16px; line-height:1.6; }
a { color:inherit; }
:focus-visible { outline:2px solid var(--amber); outline-offset:3px; border-radius:4px; }
.skip-link { position:absolute; left:-9999px; top:0; background:var(--navy); color:#fff; padding:0.6rem 1rem; z-index:300; border-radius:0 0 8px 0; }
.skip-link:focus { left:0; }

/* NAV */
nav { position:fixed; top:0; left:0; right:0; z-index:200; display:flex; align-items:center; justify-content:space-between; padding:0.9rem 3rem; background:rgba(255,255,255,0.85); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); border-bottom:1px solid var(--border); }
.logo { font-family:'DM Sans',sans-serif; font-weight:700; font-size:1.25rem; color:var(--navy); letter-spacing:-0.02em; display:flex; align-items:center; gap:0.4rem; text-decoration:none; }
nav ul { list-style:none; display:flex; gap:2rem; align-items:center; }
nav a { text-decoration:none; color:var(--slate); font-size:0.875rem; font-weight:500; transition:color 0.2s; }
nav a:hover { color:var(--navy); }
.nav-cta { background:var(--navy) !important; color:#fff !important; padding:0.55rem 1.25rem; border-radius:8px; font-weight:600 !important; box-shadow:0 1px 3px rgba(0,0,0,0.12); transition:all 0.2s !important; display:inline-block; }
.nav-cta:hover { background:var(--orange) !important; transform:translateY(-1px); box-shadow:0 4px 12px rgba(234,88,12,0.3); }
.hamburger { display:none; background:none; border:none; cursor:pointer; width:36px; height:36px; padding:6px; flex-direction:column; justify-content:center; align-items:center; gap:5px; }
.hamburger span { display:block; width:22px; height:2px; background:var(--navy); border-radius:2px; transition:all 0.3s; }
.hamburger.open span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.hamburger.open span:nth-child(2) { opacity:0; }
.hamburger.open span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }

/* HERO */
.hero { min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:8rem 2rem 5rem; position:relative; overflow:hidden; }
.hero-mesh { position:absolute; inset:0; pointer-events:none; background:
  radial-gradient(ellipse 80% 60% at 50% -10%, rgba(245,158,11,0.12) 0%, transparent 60%),
  radial-gradient(ellipse 40% 40% at 80% 60%, rgba(234,88,12,0.06) 0%, transparent 50%),
  radial-gradient(ellipse 50% 40% at 10% 80%, rgba(59,130,246,0.05) 0%, transparent 50%); }
.hero-dots { position:absolute; inset:0; pointer-events:none; background-image:radial-gradient(circle, rgba(148,163,184,0.35) 1px, transparent 1px); background-size:28px 28px; mask-image:radial-gradient(ellipse 70% 70% at 50% 50%, black 30%, transparent 100%); -webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 50%, black 30%, transparent 100%); }
.hero-pill { display:inline-flex; align-items:center; gap:0.5rem; background:var(--bg-amber); border:1px solid #FCD34D; padding:0.35rem 0.9rem; border-radius:100px; font-size:0.8rem; font-weight:600; color:var(--orange); margin-bottom:1.75rem; position:relative; z-index:2; animation:fadeDown 0.6s ease both; }
.hero-pill-dot { width:6px; height:6px; border-radius:50%; background:var(--green); animation:livePulse 2s ease-in-out infinite; }
.hero h1 { font-family:'Instrument Serif',serif; font-weight:400; font-size:clamp(2.8rem,6vw,5rem); line-height:1.1; letter-spacing:-0.03em; color:var(--navy); max-width:860px; position:relative; z-index:2; animation:fadeUp 0.8s ease 0.1s both; }
.hero h1 em { font-style:italic; color:var(--orange); }
.underline-amber { position:relative; display:inline-block; }
.underline-amber::after { content:''; position:absolute; bottom:-4px; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--amber),var(--orange)); border-radius:2px; animation:lineGrow 0.8s ease 0.7s both; }
.hero-sub { margin-top:1.5rem; max-width:580px; font-size:1.1rem; line-height:1.75; color:var(--slate); position:relative; z-index:2; animation:fadeUp 0.9s ease 0.25s both; }
.hero-sub strong { color:var(--navy); font-weight:600; }
.hero-tagline { margin-top:1rem; max-width:580px; font-size:1rem; font-weight:600; color:var(--navy); position:relative; z-index:2; animation:fadeUp 0.9s ease 0.3s both; }
.hero-actions { display:flex; gap:0.75rem; margin-top:2.25rem; justify-content:center; flex-wrap:wrap; position:relative; z-index:2; animation:fadeUp 1s ease 0.35s both; }
.hero-logos { display:flex; align-items:center; gap:0.75rem 1rem; margin-top:3.5rem; padding-top:2rem; border-top:1px solid var(--border); max-width:720px; width:100%; position:relative; z-index:2; flex-wrap:wrap; justify-content:center; animation:fadeUp 1s ease 0.5s both; }
.hero-logos-label { font-size:0.78rem; color:var(--slate-light); font-weight:500; }
.logo-chip { background:var(--bg-soft); border:1px solid var(--border); padding:0.35rem 0.9rem; border-radius:6px; font-size:0.75rem; font-weight:600; color:var(--slate); letter-spacing:0.02em; }

/* BUTTONS */
.btn-primary, .btn-secondary { font-family:'DM Sans',sans-serif; font-weight:600; font-size:0.9rem; padding:0.8rem 1.75rem; border-radius:8px; text-decoration:none; transition:all 0.2s; display:inline-flex; align-items:center; gap:0.5rem; }
.btn-primary { background:var(--navy); color:#fff; box-shadow:0 1px 3px rgba(0,0,0,0.12); }
.btn-primary:hover { background:var(--orange); transform:translateY(-2px); box-shadow:0 6px 20px rgba(234,88,12,0.3); }
.btn-secondary { background:transparent; color:var(--navy); border:1px solid var(--border-strong); }
.btn-secondary:hover { border-color:var(--navy); background:var(--bg-soft); transform:translateY(-2px); }

/* SECTIONS */
section { padding:6rem 3rem; position:relative; }
.wrap { max-width:1200px; margin:0 auto; }
.narrow { max-width:720px; }
.section-tag { display:inline-flex; align-items:center; gap:0.4rem; font-size:0.75rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--orange); margin-bottom:1rem; }
.section-tag::before { content:''; width:20px; height:2px; background:var(--amber); border-radius:1px; }
h2 { font-family:'Instrument Serif',serif; font-weight:400; font-size:clamp(2rem,4vw,3rem); line-height:1.15; letter-spacing:-0.02em; color:var(--navy); margin-bottom:1rem; }
h2 em { font-style:italic; color:var(--orange); }
h3 { font-family:'DM Sans',sans-serif; font-size:1rem; font-weight:600; color:var(--navy); margin-bottom:0.4rem; }
.lead { color:var(--slate); font-size:1.05rem; line-height:1.8; max-width:640px; }
p + p { margin-top:1rem; }
.body { color:var(--slate); line-height:1.8; }
.body strong { color:var(--navy); font-weight:600; }
.fine { font-size:0.85rem; color:var(--slate-light); line-height:1.7; margin-top:1.5rem; }

/* PROBLEM (navy band) */
.problem-section { background:var(--navy); color:#fff; }
.problem-section .section-tag { color:var(--amber); }
.problem-section h2 { color:#fff; max-width:820px; }
.problem-section h2 em { color:var(--amber); }
.problem-section .lead { color:rgba(255,255,255,0.72); max-width:720px; }
.pain-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1px; margin-top:3rem; background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.1); border-radius:16px; overflow:hidden; }
.pain-card { background:rgba(255,255,255,0.03); padding:1.75rem; }
.pain-num { font-family:'JetBrains Mono',monospace; font-size:0.72rem; color:var(--amber); letter-spacing:0.1em; margin-bottom:0.75rem; }
.pain-card h3 { font-family:'Instrument Serif',serif; font-weight:400; font-size:1.45rem; color:#fff; margin-bottom:0.5rem; }
.pain-card p { color:rgba(255,255,255,0.62); font-size:0.9rem; line-height:1.7; }

/* WHAT WE BUILD */
.what-section { background:var(--bg-soft); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.split { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.feature-list { display:flex; flex-direction:column; gap:0.75rem; margin-top:1.75rem; }
.feature-item { display:flex; align-items:flex-start; gap:0.75rem; padding:0.9rem 1rem; background:var(--bg); border:1px solid var(--border); border-radius:10px; transition:all 0.2s; }
.feature-item:hover { border-color:var(--amber); box-shadow:0 2px 12px rgba(245,158,11,0.1); }
.feature-icon { width:32px; height:32px; border-radius:8px; background:var(--bg-amber); color:var(--orange); display:flex; align-items:center; justify-content:center; font-family:'JetBrains Mono',monospace; font-size:0.72rem; font-weight:600; flex-shrink:0; }
.feature-text strong { font-size:0.875rem; font-weight:600; color:var(--navy); display:block; }
.feature-text span { font-size:0.82rem; color:var(--slate-light); line-height:1.6; display:block; }
.what-actions { margin-top:2rem; display:flex; gap:0.75rem; flex-wrap:wrap; }

/* TERMINAL */
.terminal { background:var(--navy); border-radius:16px; overflow:hidden; box-shadow:0 20px 60px rgba(12,22,40,0.25); }
.term-bar { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:0.8rem 1.2rem; background:rgba(255,255,255,0.05); border-bottom:1px solid rgba(255,255,255,0.08); }
.term-dots { display:flex; gap:6px; }
.term-dots span { width:10px; height:10px; border-radius:50%; }
.term-dots span:nth-child(1) { background:#FF5F57; } .term-dots span:nth-child(2) { background:#FEBC2E; } .term-dots span:nth-child(3) { background:#28C840; }
.term-title { font-family:'JetBrains Mono',monospace; font-size:0.62rem; color:rgba(255,255,255,0.4); letter-spacing:0.1em; text-align:right; }
.term-body { padding:1.25rem; font-family:'JetBrains Mono',monospace; font-size:0.74rem; line-height:1.95; color:rgba(255,255,255,0.78); }
.term-line { display:flex; gap:0.75rem; }
.term-tag { display:inline-block; min-width:4.6rem; font-weight:600; }
.t-amber { color:var(--amber); } .t-blue { color:#60A5FA; } .t-green { color:#34D399; } .t-dim { color:rgba(255,255,255,0.45); }
.term-foot { padding:0.75rem 1.25rem 1.1rem; font-size:0.72rem; color:rgba(255,255,255,0.4); border-top:1px solid rgba(255,255,255,0.06); }

/* CHECK (what anyone can verify) */
.check-section { background:var(--bg); }
.check-header { max-width:680px; }
.check-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:1.25rem; margin-top:3rem; }
.check-card { background:var(--bg); border:1px solid var(--border); border-radius:14px; padding:1.6rem; transition:all 0.25s; }
.check-card:hover { border-color:var(--amber); box-shadow:0 8px 28px rgba(245,158,11,0.12); transform:translateY(-3px); }
.check-num { font-family:'JetBrains Mono',monospace; font-size:0.72rem; color:var(--orange); font-weight:600; letter-spacing:0.08em; margin-bottom:0.9rem; }
.check-card p { color:var(--slate); font-size:0.9rem; line-height:1.7; }
.check-foot { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; margin-top:2.25rem; padding:1.25rem 1.5rem; background:var(--bg-soft); border:1px solid var(--border); border-radius:12px; }
.check-foot p { color:var(--slate); font-size:0.88rem; line-height:1.7; max-width:720px; }

/* APPROACH */
.approach-section { background:var(--bg-soft); border-top:1px solid var(--border); }
.principles { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:1.25rem; margin-top:3rem; }
.principle { background:var(--bg); border:1px solid var(--border); border-radius:14px; padding:1.6rem; }
.principle p { color:var(--slate); font-size:0.9rem; line-height:1.7; }

/* COMPANY */
.company-section { background:var(--bg); border-top:1px solid var(--border); }
.facts { background:var(--bg); border:1px solid var(--border); border-radius:14px; overflow:hidden; box-shadow:0 4px 24px rgba(0,0,0,0.04); }
.fact { display:grid; grid-template-columns:150px 1fr; gap:1rem; padding:1rem 1.4rem; border-bottom:1px solid var(--border); font-size:0.9rem; }
.fact:last-child { border-bottom:none; }
.fact-k { font-size:0.7rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--slate-light); padding-top:0.15rem; }
.fact-v { color:var(--navy); font-weight:600; }
.fact-v a { color:var(--orange); text-decoration:none; }
.fact-v a:hover { text-decoration:underline; }

/* CTA */
.cta-section { background:linear-gradient(135deg,#FFFBEB 0%,#FFF8F0 50%,#FFFBF0 100%); border-top:1px solid var(--amber-mid); text-align:center; padding:7rem 3rem; }
.cta-section .section-tag { justify-content:center; }
.cta-section h2 { font-size:clamp(2.2rem,4.5vw,3.5rem); }
.cta-section p.cta-body { max-width:560px; margin:1.2rem auto 2.5rem; color:var(--slate); font-size:1.05rem; line-height:1.75; }
.cta-actions { display:flex; gap:0.75rem; justify-content:center; flex-wrap:wrap; }
.cta-trust { display:flex; align-items:center; justify-content:center; gap:0.75rem 1.5rem; margin-top:2.5rem; flex-wrap:wrap; }
.trust-item { display:flex; align-items:center; gap:0.4rem; font-size:0.8rem; color:var(--slate-light); font-weight:500; }
.trust-item::before { content:'✓'; color:var(--green); font-weight:700; }

/* FOOTER */
footer { padding:2rem 3rem; border-top:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; gap:1rem; background:var(--bg); }
.footer-brand-name { font-weight:700; font-size:1rem; color:var(--navy); letter-spacing:-0.02em; }
.footer-copy { font-size:0.78rem; color:var(--slate-light); }
.footer-links { display:flex; gap:1.75rem; flex-wrap:wrap; }
.footer-links a { font-size:0.78rem; color:var(--slate-light); text-decoration:none; transition:color 0.2s; }
.footer-links a:hover { color:var(--navy); }

/* MOTION */
.js .reveal { opacity:0; transform:translateY(20px); transition:opacity 0.6s ease, transform 0.6s ease; }
.js .reveal.visible { opacity:1; transform:none; }
@keyframes fadeDown { from { opacity:0; transform:translateY(-12px); } to { opacity:1; transform:none; } }
@keyframes fadeUp { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:none; } }
@keyframes lineGrow { from { transform:scaleX(0); transform-origin:left; } to { transform:scaleX(1); transform-origin:left; } }
@keyframes livePulse { 0% { box-shadow:0 0 0 0 rgba(16,185,129,0.5); } 70% { box-shadow:0 0 0 6px rgba(16,185,129,0); } 100% { box-shadow:0 0 0 0 rgba(16,185,129,0); } }

/* RESPONSIVE */
@media (max-width:900px) {
  nav { padding:0.9rem 1.5rem; }
  nav ul { display:none; position:fixed; top:var(--nav-height); left:0; right:0; background:rgba(255,255,255,0.98); flex-direction:column; align-items:flex-start; padding:1.5rem; gap:1rem; border-bottom:1px solid var(--border); box-shadow:0 8px 30px rgba(0,0,0,0.1); }
  nav ul.open { display:flex; }
  .hamburger { display:flex; }
  section { padding:4rem 1.5rem; }
  .hero { padding:7rem 1.5rem 4rem; min-height:auto; }
  .split { grid-template-columns:1fr; gap:3rem; }
  .cta-section { padding:5rem 1.5rem; }
  footer { flex-direction:column; text-align:center; padding:2rem 1.5rem; }
  .footer-links { justify-content:center; gap:0.5rem 1rem; }
}
@media (max-width:520px) {
  .hero-actions a, .cta-actions a { width:100%; justify-content:center; }
  .fact { grid-template-columns:1fr; gap:0.2rem; }
  .term-body { font-size:0.68rem; }
  .term-tag { min-width:3.9rem; }
  .term-title { font-size:0.55rem; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .js .reveal { opacity:1; transform:none; transition:none; }
  .hero-pill, .hero h1, .hero-sub, .hero-tagline, .hero-actions, .hero-logos, .underline-amber::after, .hero-pill-dot { animation:none; opacity:1; transform:none; }
}

/* CONTACT PAGE (v3). Form styling mirrors sparkxc.ai contact.html */
.page-hero { position:relative; overflow:hidden; padding:9rem 3rem 4rem; text-align:left; background:var(--bg); border-bottom:1px solid var(--border); }
.page-hero .wrap { position:relative; z-index:2; }
.page-hero h1 { font-family:'Instrument Serif',serif; font-weight:400; font-size:clamp(2.4rem,5vw,3.8rem); line-height:1.1; letter-spacing:-0.03em; color:var(--navy); max-width:760px; }
.page-hero h1 em { font-style:italic; color:var(--orange); }
.page-hero .lead { margin-top:1.1rem; }
.contact-section { background:var(--bg-soft); }
.contact-wrap { max-width:1100px; margin:0 auto; display:grid; grid-template-columns:1fr 1.25fr; gap:4.5rem; align-items:start; }
.contact-detail { display:flex; flex-direction:column; gap:1.5rem; }
.cd-item { display:flex; gap:1rem; align-items:flex-start; }
.cd-icon { width:40px; height:40px; border-radius:10px; background:var(--bg-amber); border:1px solid #FCD34D; color:var(--orange); display:flex; align-items:center; justify-content:center; font-family:'JetBrains Mono',monospace; font-size:0.72rem; font-weight:600; flex-shrink:0; margin-top:2px; }
.cd-label { font-size:0.75rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; color:var(--slate-light); margin-bottom:0.2rem; }
.cd-value { font-size:0.95rem; color:var(--navy); font-weight:500; line-height:1.6; }
.cd-sub { font-size:0.85rem; color:var(--slate); margin-top:0.2rem; line-height:1.65; }
.mail-fallback { margin-top:2rem; padding-top:1.25rem; border-top:1px solid var(--border); font-size:0.85rem; color:var(--slate); }
.mail-fallback a { color:var(--orange); font-weight:600; text-decoration:none; overflow-wrap:anywhere; }
.mail-fallback a:hover { text-decoration:underline; }
.form-card { background:var(--bg); border:1px solid var(--border); border-radius:16px; padding:2.25rem; box-shadow:0 4px 24px rgba(0,0,0,0.05); }
.form-title { font-family:'Instrument Serif',serif; font-weight:400; font-size:1.6rem; color:var(--navy); margin-bottom:0.3rem; letter-spacing:-0.01em; }
.form-sub { font-size:0.875rem; color:var(--slate); margin-bottom:1.75rem; line-height:1.6; }
.field-group { display:flex; flex-direction:column; gap:1.1rem; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.field { display:flex; flex-direction:column; gap:0.4rem; min-width:0; }
.field label { font-size:0.78rem; font-weight:700; color:var(--navy); letter-spacing:0.03em; }
.field .opt { font-weight:500; color:var(--slate-light); }
.field input, .field select, .field textarea { font-family:'DM Sans',sans-serif; font-size:16px; color:var(--text); background:var(--bg-soft); border:1px solid var(--border-strong); border-radius:8px; padding:0.7rem 0.9rem; transition:border-color 0.2s, box-shadow 0.2s, background 0.2s; outline:none; width:100%; }
.field input:focus, .field select:focus, .field textarea:focus { border-color:var(--amber); background:var(--bg); box-shadow:0 0 0 3px rgba(245,158,11,0.15); }
.field textarea { resize:vertical; min-height:130px; line-height:1.6; }
.field select { cursor:pointer; }
.hp-field { position:absolute !important; left:-10000px !important; width:1px; height:1px; overflow:hidden; }
.submit-btn { width:100%; background:var(--navy); color:#fff; font-family:'DM Sans',sans-serif; font-weight:700; font-size:0.95rem; padding:0.9rem 1.75rem; border-radius:8px; border:none; cursor:pointer; transition:all 0.2s; margin-top:0.5rem; display:flex; align-items:center; justify-content:center; gap:0.5rem; }
.submit-btn:hover { background:var(--orange); transform:translateY(-1px); box-shadow:0 6px 20px rgba(234,88,12,0.25); }
.submit-btn[disabled] { opacity:0.7; cursor:wait; transform:none; }
.form-note { font-size:0.78rem; color:var(--slate-light); line-height:1.6; margin-top:0.25rem; }
.form-error { display:none; margin-top:0.25rem; padding:0.75rem 0.9rem; border-radius:8px; background:#FEF2F2; border:1px solid #FECACA; color:#991B1B; font-size:0.85rem; line-height:1.6; }
.form-error a { color:#991B1B; font-weight:600; }
.success-box { display:none; text-align:center; padding:2.5rem 1rem; }
.success-icon { width:52px; height:52px; margin:0 auto 1rem; border-radius:50%; background:#ECFDF5; color:var(--green); display:flex; align-items:center; justify-content:center; font-size:1.5rem; font-weight:700; }
.success-box h2 { font-size:1.9rem; margin-bottom:0.5rem; }
.success-box p { color:var(--slate); font-size:0.95rem; line-height:1.7; overflow-wrap:anywhere; }
.success-box .btn-primary { margin-top:1.5rem; }

/* 404 */
.notfound { min-height:70vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:9rem 1.5rem 5rem; position:relative; overflow:hidden; }
.notfound h1 { font-family:'Instrument Serif',serif; font-weight:400; font-size:clamp(2.4rem,5vw,3.8rem); line-height:1.1; letter-spacing:-0.03em; color:var(--navy); position:relative; z-index:2; }
.notfound h1 em { font-style:italic; color:var(--orange); }
.notfound .lead { margin:1rem auto 2rem; position:relative; z-index:2; }
.notfound .hero-actions { animation:none; }

@media (max-width:900px) {
  .page-hero { padding:7rem 1.5rem 3rem; }
  .contact-wrap { grid-template-columns:1fr; gap:2.5rem; }
}
@media (max-width:520px) {
  .field-row { grid-template-columns:1fr; }
  .form-card { padding:1.5rem 1.25rem; }
}
