@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&display=swap');
:root{--ink:#171817;--muted:#6e716c;--paper:#f5f5f0;--line:#d7d8d0;--lime:#d8f36b;--code-bg:#121413}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif}
a{color:inherit;text-decoration:none}
.wrap{max-width:1180px;margin:auto;padding-left:32px;padding-right:32px}
.nav{height:88px;max-width:1244px;margin:auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.brand{display:flex;gap:10px;align-items:center;font-weight:700;letter-spacing:-.04em;font-size:20px}
.mark{display:grid;place-items:center;background:var(--ink);color:var(--lime);width:27px;height:27px;border-radius:50%;font-size:14px;font-family:'DM Mono'}
.nav nav{display:flex;gap:24px;align-items:center;font-size:13px;color:#4c4e4a}
.nav nav a.active{color:var(--ink);font-weight:600;border-bottom:2px solid var(--ink);padding-bottom:4px}
.nav-cta{border-bottom:1px solid var(--ink);padding-bottom:4px;color:var(--ink)}

.page-header{padding-top:80px;padding-bottom:40px}
.page-header h1{font-size:clamp(44px,6vw,72px);line-height:1;letter-spacing:-.07em;margin:16px 0 24px}

.hero{padding-top:90px;padding-bottom:80px}
.eyebrow,.num{font:11px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.11em;color:var(--muted)}
h1{font-size:clamp(48px,7vw,92px);line-height:.96;letter-spacing:-.08em;max-width:900px;margin:24px 0 36px;font-weight:600}
.lede{font-size:19px;line-height:1.55;max-width:680px;color:#4f524c}
.hero-actions{display:flex;gap:16px;margin-top:33px;align-items:center}
.button{display:inline-flex;gap:18px;align-items:center;background:var(--ink);color:var(--paper);padding:15px 22px;font-size:13px;font-weight:500;border:1px solid var(--ink);transition:all .2s ease}
.button.outline{background:transparent;color:var(--ink)}
.button.outline:hover{background:rgba(23,24,23,.05)}
.button span,.text-link span{color:var(--lime)}
.hero-meta{display:flex;gap:40px;margin-top:70px;padding-top:18px;border-top:1px solid var(--line);font:10px 'DM Mono';color:var(--muted);text-transform:uppercase}

.band{background:#e8e9e1;padding:85px 0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.split h2,.contact h2,.spec-section h2,.entity-section h2{font-size:clamp(34px,4.5vw,56px);line-height:1;letter-spacing:-.06em;margin:20px 0 20px}
.graphic-frame{margin-top:24px;border:1px solid var(--line);background:var(--paper);padding:8px;border-radius:4px}
.diagram-img{width:100%;height:auto;display:block;border:1px solid rgba(23,24,23,.08)}
.large{font-size:23px;line-height:1.38;letter-spacing:-.03em;margin:0 0 24px}
.split p:not(.large){color:var(--muted);line-height:1.65;max-width:440px}

/* Code Spec Runner */
.spec-section{padding-top:80px;padding-bottom:90px}
.spec-intro{font-size:16px;color:var(--muted);margin-bottom:32px;max-width:600px}
.code-viewer{background:var(--code-bg);border:1px solid var(--ink);border-radius:6px;overflow:hidden;box-shadow:0 12px 32px rgba(0,0,0,.08)}
.code-tabs{display:flex;background:#1b1e1d;border-bottom:1px solid #2a2e2c;overflow-x:auto}
.tab-btn{background:transparent;border:none;color:#8e948f;padding:14px 20px;font:12px 'DM Mono',monospace;cursor:pointer;border-right:1px solid #2a2e2c;transition:all .15s ease}
.tab-btn:hover{color:var(--paper)}
.tab-btn.active{background:var(--code-bg);color:var(--lime);border-bottom:2px solid var(--lime)}
.code-content{padding:24px;overflow-x:auto}
.code-content pre{margin:0;font:13px/1.6 'DM Mono',monospace;color:#d4d7cf}

/* craf Protocol Cards */
.protocol-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:36px}
.protocol-card{background:var(--paper);border:1px solid var(--line);padding:24px;border-radius:4px}
.protocol-card h3{font-size:22px;letter-spacing:-.04em;margin:16px 0 10px}
.protocol-card p{color:var(--muted);font-size:14px;line-height:1.55;margin:0}

.work{padding-top:90px;padding-bottom:100px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px}
.cards article{border-top:1px solid var(--ink);padding-top:20px;min-height:240px;display:flex;flex-direction:column;justify-content:space-between}
.cards h3{font-size:24px;letter-spacing:-.05em;margin:32px 0 14px}
.cards p{color:var(--muted);line-height:1.6;max-width:300px}
.card-link{margin-top:auto;padding-top:16px;font:12px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.05em;color:var(--ink);font-weight:600;display:inline-block}

.verticals{padding:80px 0}
.vertical-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
.vertical-grid>div{border-top:1px solid var(--ink);padding-top:16px}
.vertical-grid span{font:11px 'DM Mono';color:var(--muted)}
.vertical-grid h3{font-size:21px;letter-spacing:-.04em;margin:28px 0 10px}
.vertical-grid p{font-size:14px;line-height:1.55;color:var(--muted)}

.dual-card{background:var(--paper);border:1px solid var(--line);padding:32px;border-radius:4px}
.dual-card h3{font-size:24px;letter-spacing:-.04em;margin:16px 0 12px}
.dual-card p{color:var(--muted);font-size:15px;line-height:1.6;margin:0}

/* Entity Manifest Section */
.entity-section{padding-top:80px;padding-bottom:80px;border-top:1px solid var(--line)}
.manifest-card{background:var(--ink);color:var(--paper);padding:36px;border-radius:4px;margin-top:24px}
.manifest-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.manifest-label{font:10px 'DM Mono',monospace;color:var(--lime);text-transform:uppercase;letter-spacing:.1em;display:block;margin-bottom:8px}
.manifest-grid p{margin:0;font-size:13px;line-height:1.6}
.manifest-grid code,.manifest-list code{font-family:'DM Mono',monospace;color:var(--lime);background:rgba(216,243,107,.1);padding:2px 6px;border-radius:3px}
.manifest-link{color:var(--lime);border-bottom:1px solid var(--lime)}
.manifest-list{list-style:none;padding:0;margin:16px 0;font-size:14px;line-height:1.8;color:var(--muted)}

/* Interactive Contact Intake Form */
.contact-section{padding-top:80px;padding-bottom:100px}
.contact-card{background:var(--paper);border:1px solid var(--line);padding:36px;border-radius:4px}
.intake-form{margin-top:24px;display:flex;flex-direction:column;gap:18px}
.form-group{display:flex;flex-direction:column;gap:6px}
.form-group label{font:11px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.form-group input,.form-group select,.form-group textarea{font-family:Manrope,sans-serif;font-size:14px;padding:12px 14px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:3px;outline:none}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--ink)}

.text-link{display:inline-block;font-size:18px;border-bottom:1px solid var(--ink);padding-bottom:6px}
.footer{border-top:1px solid var(--line);padding-top:24px;padding-bottom:28px;display:flex;justify-content:space-between;color:var(--muted);font:10px 'DM Mono';text-transform:uppercase}

@media(max-width:900px){
  .manifest-grid,.protocol-grid{grid-template-columns:1fr 1fr}
  .vertical-grid{grid-template-columns:1fr 1fr}
  .cards{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .wrap{padding-left:20px;padding-right:20px}
  .nav{height:auto;padding:16px 20px;flex-direction:column;gap:14px;align-items:flex-start}
  .nav nav{display:flex;flex-wrap:wrap;gap:14px;font-size:12px}
  .hero{padding-top:40px;padding-bottom:40px}
  .hero-actions{flex-direction:column;align-items:stretch;gap:12px}
  .hero-meta{flex-direction:column;gap:12px;margin-top:36px}
  .split,.contact-section .split{grid-template-columns:1fr;gap:28px}
  .band,.work,.spec-section,.entity-section,.contact-section{padding-top:40px;padding-bottom:40px}
  .cards{grid-template-columns:1fr;gap:24px}
  .vertical-grid,.protocol-grid,.manifest-grid{grid-template-columns:1fr;gap:20px}
  .footer{flex-direction:column;gap:8px}
}
