:root{
  --bg:#0B0B0A;
  --ink:#F2EFE8;
  --soft:#C9C6BE;
  --softer:#A8A6A0;
  --muted:#7C7A74;
  --accent:#C8923A;
  --rule:#1F1E1B;
  --serif:'Instrument Serif','Times New Roman',serif;
  --sans:'Geist','Helvetica Neue',Arial,sans-serif;
  --mono:'Geist Mono','JetBrains Mono',ui-monospace,monospace;
}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none;transition:opacity .15s ease}
a:hover{opacity:.7}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
::selection{background:var(--accent);color:var(--bg)}

.skip{position:fixed;left:16px;top:16px;background:var(--accent);color:var(--bg);padding:12px 16px;font-family:var(--mono);font-size:11px;letter-spacing:.20em;text-transform:uppercase;z-index:100;transform:translateY(calc(-100% - 32px))}
.skip:focus{transform:translateY(0);outline:2px solid var(--ink);outline-offset:3px}

.wrap{max-width:1440px;margin:0 auto}

/* Header */
header.nav{display:flex;align-items:center;justify-content:space-between;padding:28px 56px}
.wordmark{display:flex;align-items:center;gap:10px}
.wordmark .mark{color:var(--accent);display:inline-flex}
.wordmark .text{font-family:var(--sans);font-weight:600;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.wordmark .text .gold{color:var(--accent)}
nav.links{display:flex;gap:32px}
nav.links a{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
nav.links a.active{color:var(--ink)}
nav.links a:hover{opacity:1;color:var(--ink)}

/* Mobile nav (hidden by default) */
.menu-toggle{display:none;background:none;border:0;padding:0;cursor:pointer;font-family:var(--mono);font-size:11px;letter-spacing:.20em;text-transform:uppercase;color:var(--accent)}
.menu-overlay{position:fixed;inset:0;background:var(--bg);z-index:50;display:none;flex-direction:column;padding:28px 24px}
.menu-overlay.open{display:flex}
.menu-overlay .top{display:flex;justify-content:space-between;align-items:center}
.menu-overlay .close{background:none;border:0;font-family:var(--mono);font-size:11px;letter-spacing:.20em;text-transform:uppercase;color:var(--accent);cursor:pointer}
.menu-overlay nav{display:flex;flex-direction:column;gap:24px;margin-top:80px}
.menu-overlay nav a{font-family:var(--serif);font-size:32px;font-style:italic;color:var(--ink)}
.menu-overlay nav a.active{color:var(--accent)}

/* Shared meta line */
.meta{font-family:var(--mono);font-size:11px;letter-spacing:.20em;text-transform:uppercase;color:var(--muted);margin-bottom:60px;display:flex;align-items:center;gap:14px}
.meta .dash{width:24px;height:1px;background:var(--accent)}

/* Display headings */
h1.display{margin:0;font-family:var(--serif);font-weight:400;letter-spacing:-.02em}
h1.display em{font-style:italic;color:var(--accent)}
h1.display .em-ink{font-style:italic}
h1.display .dim{color:var(--muted)}

/* Home hero */
section.hero{padding:110px 56px 100px}
section.hero h1.display{font-size:116px;line-height:.98}
.hero-grid{margin-top:56px;display:grid;grid-template-columns:480px 1fr;gap:64px;align-items:flex-end}
.hero-grid p{margin:0;font-size:18px;line-height:1.55;color:var(--soft);max-width:460px}
.cta{text-align:right}
.cta a.link{font-family:var(--mono);font-size:11px;letter-spacing:.20em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--accent);padding-bottom:4px}
.cta .sub{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:10px}

/* Pillars */
section.pillars{padding:0 56px 64px}
.pillars-grid{border-top:1px solid var(--rule);padding-top:40px;display:grid;grid-template-columns:repeat(4,1fr);gap:40px}
.pillar .label{font-family:var(--mono);font-size:11px;letter-spacing:.20em;text-transform:uppercase;color:var(--accent);margin-bottom:20px}
.pillar h2{font-family:var(--serif);font-size:36px;font-style:italic;margin:0 0 12px;letter-spacing:-.01em;font-weight:400}
.pillar p{font-size:14px;line-height:1.6;color:var(--softer);margin:0}

/* Labs breadcrumb */
.crumb{padding:0 56px}
.crumb .row{font-family:var(--mono);font-size:11px;letter-spacing:.20em;text-transform:uppercase;color:var(--muted);padding:16px 0;border-bottom:1px solid var(--rule)}
.crumb .gold{color:var(--accent)}

/* Labs hero */
section.hero.labs{padding:90px 56px 80px}
section.hero.labs h1.display{font-size:124px;line-height:.96;letter-spacing:-.025em}
section.hero.labs p{margin-top:48px;max-width:620px;font-size:18px;line-height:1.55;color:var(--soft)}

/* Labs "what we do" */
section.what{padding:0 56px 80px}
.what-label{font-family:var(--mono);font-size:11px;letter-spacing:.20em;text-transform:uppercase;color:var(--muted);padding-bottom:32px;border-top:1px solid var(--rule);padding-top:24px}
.what-body{font-family:var(--serif);font-size:56px;line-height:1.1;letter-spacing:-.015em;max-width:1100px}
.what-body em{font-style:italic;color:var(--accent)}

/* Backed-by strip */
section.cta-strip{padding:40px 56px;border-top:1px solid var(--rule);display:flex;align-items:baseline;justify-content:space-between;gap:24px;flex-wrap:wrap}
.cta-strip .left{font-family:var(--serif);font-size:36px;font-style:italic}
.cta-strip .left .gold{color:var(--accent)}
.cta-strip a{font-family:var(--mono);font-size:11px;letter-spacing:.20em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--accent);padding-bottom:4px}

/* Contact hero */
section.hero.contact{padding:110px 56px 0}
section.hero.contact h1.display{font-size:116px;line-height:.98}
section.hero.contact p{margin-top:40px;max-width:620px;font-size:18px;line-height:1.55;color:var(--soft)}

/* Form */
section.form-wrap{padding:96px 56px 100px}
form.deck{max-width:820px;display:grid;gap:36px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:36px}
label.lab{font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;display:block}
input,textarea{width:100%;appearance:none;background:transparent;border:0;border-bottom:1px solid var(--rule);color:var(--ink);font-family:var(--serif);font-size:28px;font-weight:400;padding:14px 0;outline:none;transition:border-color .2s ease}
textarea{font-size:22px;line-height:1.45;resize:none}
input:focus,textarea:focus{border-bottom-color:var(--accent)}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.submit-row{display:flex;align-items:center;justify-content:space-between;padding-top:28px;border-top:1px solid var(--rule);gap:24px;flex-wrap:wrap}
.attach{display:inline-flex;align-items:center;gap:14px;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);min-width:0;flex:1 1 320px}
.attach .plus{width:28px;height:28px;border:1px solid var(--rule);display:inline-flex;align-items:center;justify-content:center;color:var(--accent);font-family:var(--serif);font-style:italic;font-size:18px;transition:border-color .2s ease;flex-shrink:0}
.attach:focus-within .plus{border-color:var(--accent)}
.attach-input{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);background:transparent;border:0;border-bottom:1px solid transparent;padding:6px 0;min-width:0;width:100%;transition:border-color .2s ease}
.attach-input::placeholder{color:var(--muted);text-transform:uppercase;letter-spacing:.18em}
.attach-input:focus{outline:none;border-bottom-color:var(--accent)}

button.send{appearance:none;cursor:pointer;background:var(--accent);color:var(--bg);border:0;padding:18px 32px;font-family:var(--mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;transition:filter .15s ease}
button.send:hover{filter:brightness(1.08)}
button.send:disabled{opacity:.5;cursor:not-allowed}

.form-error{margin-top:18px;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}

.sent{max-width:820px;padding-top:32px;border-top:1px solid var(--rule);font-family:var(--serif);font-size:56px;line-height:1.05;letter-spacing:-.01em}
.sent .gold{font-style:italic;color:var(--accent)}
.sent .body{color:var(--soft)}

/* Footer */
footer{border-top:1px solid var(--rule);padding:28px 56px;display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);gap:16px;flex-wrap:wrap}

/* Responsive */
@media (max-width:1279px){
  section.hero h1.display,
  section.hero.contact h1.display{font-size:92px}
  section.hero.labs h1.display{font-size:100px}
  header.nav,section.hero,section.hero.labs,section.hero.contact,section.pillars,section.what,section.cta-strip,section.form-wrap,footer,.crumb{padding-left:40px;padding-right:40px}
}

@media (max-width:1023px){
  section.hero h1.display,
  section.hero.contact h1.display,
  section.hero.labs h1.display{font-size:64px}
  .what-body{font-size:40px}
  .pillars-grid{grid-template-columns:1fr 1fr}
  .hero-grid{grid-template-columns:1fr;gap:40px;align-items:flex-start}
  .cta{text-align:left}
  header.nav,section.hero,section.hero.labs,section.hero.contact,section.pillars,section.what,section.cta-strip,section.form-wrap,footer,.crumb{padding-left:32px;padding-right:32px}
  section.hero{padding-top:80px;padding-bottom:72px}
  section.hero.labs{padding-top:64px;padding-bottom:64px}
  section.hero.contact{padding-top:80px}
}

@media (max-width:767px){
  section.hero h1.display,
  section.hero.contact h1.display,
  section.hero.labs h1.display{font-size:44px;line-height:1.02}
  .what-body{font-size:32px}
  .pillars-grid{grid-template-columns:1fr;gap:32px}
  .row2{grid-template-columns:1fr}
  header.nav,section.hero,section.hero.labs,section.hero.contact,section.pillars,section.what,section.cta-strip,section.form-wrap,footer,.crumb{padding-left:24px;padding-right:24px}
  section.hero{padding-top:64px;padding-bottom:56px}
  section.form-wrap{padding-top:64px;padding-bottom:64px}
  .sent{font-size:32px}
  nav.links{display:none}
  .menu-toggle{display:inline-flex}
  footer{flex-direction:column;align-items:flex-start;gap:8px}
  input,textarea{font-size:22px}
  textarea{font-size:18px}
  .cta-strip{flex-direction:column;align-items:flex-start}
  .cta-strip .left{font-size:24px}
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    transition-duration:0.001ms !important;
    animation-duration:0.001ms !important;
    animation-iteration-count:1 !important;
  }
}
