/* Freelang: a field manual for consequential machines. */
.home { --paper:#f3f1e9; --ink:#252b28; --muted:#60645c; --rule:#c9cbc0; --signal:#f85a32; --dark:#252b28; font-family:var(--sans); font-size:17px; }
.home .wrap { width:min(1240px,calc(100% - 80px)); }
.home a { text-decoration:none; }
.home p { margin:0 0 22px; }
.home h1,.home h2,.home h3 { font-family:var(--sans); font-weight:650; }
.home h1 { margin-bottom:30px; font-size:clamp(56px,5.4vw,82px); line-height:.99; letter-spacing:-.065em; }
.home h1 em,.home h2 em { font-style:normal; }
.home h1 em { color:#be3d1d; }
.home h2 { font-size:clamp(38px,4.1vw,60px); line-height:1.04; letter-spacing:-.055em; }
.home h3 { font-size:25px; letter-spacing:-.035em; }
.home .site-header { background:var(--paper); border-bottom:1px solid var(--ink); }
.home .site-header .wrap { min-height:96px; gap:32px; }
.home .wordmark { display:inline-flex; align-items:baseline; gap:0; font:750 32px/1 var(--sans); letter-spacing:-.06em; white-space:nowrap; }
.wordmark-dot { color:#be3d1d; }
.home .wordmark small { margin:0 0 0 20px; padding-left:20px; border-left:1px solid var(--rule); font:10px/1.3 var(--mono); letter-spacing:.06em; color:var(--muted); }
.home .site-nav { margin-left:auto; gap:28px; font:500 13px/1 var(--sans); letter-spacing:0; text-transform:none; }
.home .site-nav a { color:var(--ink); padding-block:12px; }
.home .site-nav a:hover { color:#be3d1d; }
.nav-contact { display:flex; gap:24px; align-items:center; padding:11px 15px; border:1px solid var(--ink); font-size:12px; font-weight:650; color:var(--ink); }
.nav-contact:hover { background:var(--ink); color:var(--paper); }
.home .hero { padding:75px 0 64px; border-bottom:0; }
.home .hero-grid { grid-template-columns:1.1fr 1fr; gap:64px; align-items:center; }
.home .kicker { font:500 10px/1.5 var(--mono); letter-spacing:.12em; color:var(--muted); text-transform:uppercase; }
.home .hero .kicker { display:flex; align-items:center; gap:10px; margin-bottom:28px; }
.status-dot { display:inline-block; flex-shrink:0; width:7px; height:7px; background:var(--signal); border-radius:50%; }
.home .lede { font-size:18px; line-height:1.65; color:var(--muted); max-width:500px; margin-bottom:0; }
.home .actions { align-items:center; gap:26px; margin-top:28px; }
.home .button { display:inline-flex; align-items:center; justify-content:space-between; gap:25px; padding:17px 21px; background:var(--ink); border:1px solid var(--ink); color:var(--paper); font:600 12px/1.3 var(--sans); box-shadow:3px 3px 0 var(--signal); transition:transform .18s,box-shadow .18s; }
.home .button:hover { transform:translate(-2px,-2px); box-shadow:5px 5px 0 var(--signal); }
.quiet-link { display:inline-flex; gap:22px; align-items:center; color:var(--ink); font-size:12px; font-weight:600; padding-block:12px; border-bottom:1px solid var(--ink); }
.home .quiet-link:hover { color:#be3d1d; }
.home .hero-footnote { margin-top:35px; margin-bottom:0; font:10px/1.7 var(--mono); color:var(--muted); }
.system-figure { margin:0; background:#e7e8de; border:1px solid var(--ink); box-shadow:8px 8px 0 #d0d2c5; transform:rotate(1deg); }
.figure-top { display:flex; justify-content:space-between; padding:15px 18px; border-bottom:1px solid var(--ink); font:9px/1 var(--mono); letter-spacing:.1em; }
.figure-top span:last-child { font-size:16px; }
.system-drawing { display:block; width:100%; height:auto; }
.system-figure figcaption { display:flex; gap:10px; align-items:center; padding:15px 18px; border-top:1px solid var(--ink); font:9px/1.5 var(--mono); color:#51574e; }
.principle-strip { background:var(--ink); color:var(--paper); }
.principle-strip .wrap { display:grid; grid-template-columns:repeat(4,1fr); }
.principle-strip span { display:flex; align-items:center; justify-content:center; gap:20px; padding:22px 12px; font:10px/1.4 var(--mono); text-transform:uppercase; letter-spacing:.1em; border-left:1px solid #50554e; }
.principle-strip span:last-child { border-right:1px solid #50554e; }
.principle-strip span::before { content:'+'; color:var(--signal); font-size:15px; }
.home .section { padding:90px 0; }
.section-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:40px; }
.home .section-heading .kicker { margin:0; }
.section-aside { font:9px/1.5 var(--mono); letter-spacing:.08em; color:var(--muted); }
.split-heading { display:grid; grid-template-columns:1.2fr 1fr; gap:90px; align-items:end; margin-bottom:42px; }
.split-heading h2 { margin:0; }
.split-heading > p { margin:0; color:var(--muted); font-size:16px; }
.capabilities { display:grid; grid-template-columns:repeat(4,1fr); border-block:1px solid var(--ink); margin-bottom:62px; }
.capabilities article { padding:28px 25px 30px; border-left:1px solid var(--rule); }
.capabilities article:first-child { padding-left:0; border:0; }
.capabilities article:last-child { padding-right:0; }
.cap-number { display:block; font:10px/1 var(--mono); color:#be3d1d; margin-bottom:27px; }
.home .capabilities h3 { font-size:24px; }
.home .capabilities p { font-size:14px; color:var(--muted); margin:0; }
.hardware-showcase { display:grid; grid-template-columns:.8fr 1.2fr; gap:68px; align-items:center; }
.hardware-copy h3 { font-size:36px; line-height:1.1; margin-bottom:20px; }
.hardware-copy p { color:var(--muted); font-size:15px; }
.board-list { margin:28px 0; border-top:1px solid var(--rule); font:11px/1.5 var(--mono); }
.board-list div { display:flex; justify-content:space-between; padding:13px 0; border-bottom:1px solid var(--rule); }
.board-list dt { color:var(--muted); }
.board-list dd { margin:0; }
.home .hardware-note { font-size:11px; margin:0; }
.hardware-figure { margin:0; border:1px solid var(--ink); box-shadow:7px 7px 0 #d3d6c8; background:#dce0d2; }
.screen-top { display:flex; justify-content:space-between; gap:10px; background:var(--ink); color:var(--paper); font:9px/1.5 var(--mono); padding:13px 16px; }
.screen-top i { display:inline-block; width:6px; height:6px; border-radius:50%; background:#b6d19c; margin-right:7px; }
.screen-image { padding:30px; background:repeating-linear-gradient(0deg,transparent 0 19px,#cbd0c022 19px 20px); }
.screen-image img { display:block; width:100%; height:auto; image-rendering:pixelated; border:1px solid var(--ink); }
.hardware-figure figcaption { padding:13px 16px; border-top:1px solid #bac1ae; font:9px/1.5 var(--mono); color:#51594b; }
.home .evidence-section { color:var(--paper); background:var(--ink); }
.home .evidence-section h2,.home .evidence-section h3 { color:var(--paper); }
.home .evidence-section .kicker,.evidence-section .section-aside { color:#bdc4b7; }
.home .evidence-section h2 { font-size:clamp(50px,6.4vw,92px); margin:0 0 50px; }
.evidence-section h2 em { color:#ff8c6c; }
.evidence-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:110px; }
.home .evidence-intro { max-width:300px; color:#c6ccbf; font-size:20px; line-height:1.55; }
.evidence-list article { display:grid; grid-template-columns:30px 1fr; gap:18px; padding:22px 0; border-top:1px solid #51594f; }
.evidence-list article > span { font:10px/1.6 var(--mono); color:#ff8c6c; padding-top:5px; }
.home .evidence-list h3 { font-size:21px; margin-bottom:8px; }
.home .evidence-list p { color:#c6ccbf; font-size:14px; margin:0; }
.evidence-bottom { border-top:1px solid #51594f; margin-top:40px; padding-top:24px; display:flex; justify-content:space-between; gap:40px; align-items:center; }
.home .evidence-bottom p { font:10px/1.7 var(--mono); max-width:620px; color:#bdc4b7; margin:0; }
.light-link { white-space:nowrap; font-size:12px; padding:10px 0; color:var(--paper); border-bottom:1px solid #bdc4b7; }
.home .light-link:hover { color:#ffb199; }
.light-link span { margin-left:20px; }
.platform-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.platform-card { display:flex; flex-direction:column; padding:30px; border:1px solid var(--ink); background:#eeeee4; }
.platform-symbol { font:12px/1 var(--mono); color:#be3d1d; margin-bottom:48px; }
.home .platform-card p { color:var(--muted); font-size:14px; flex:1; }
.target-tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:17px; }
.target-tags span { padding:5px 7px; border:1px solid #b9bfb0; font:8px/1 var(--mono); }
.design-principles { margin-top:48px; display:grid; grid-template-columns:.75fr repeat(3,1fr); gap:28px; padding-top:28px; border-top:1px solid var(--rule); }
.home .design-principles h3 { font-size:17px; }
.home .design-principles p:not(.kicker) { font-size:12px; color:var(--muted); margin-bottom:0; }
.work-section { background:#e6e8dd; }
.work-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--ink); }
.work-item { display:flex; flex-direction:column; border-bottom:1px solid var(--ink); border-right:1px solid #b6bdae; padding:30px; color:var(--ink); }
.work-item:first-child { padding-left:0; }
.work-item:last-child { border-right:0; padding-right:0; }
.work-type { font:9px/1.5 var(--mono); color:var(--muted); margin-bottom:26px; }
.home .work-item h3 { font-size:27px; }
.work-item h3 span { float:right; color:#be3d1d; transition:transform .2s; }
.work-item:hover h3 span { transform:translate(3px,-3px); }
.home .work-item p { color:var(--muted); font-size:14px; flex:1; }
.work-action { font:10px/1.5 var(--mono); text-transform:uppercase; letter-spacing:.04em; padding-top:20px; }
.home .engage-section { background:var(--signal); border:0; }
.home .engage-section .kicker,.engage-section .section-aside { color:#412f25; }
.engage-heading { max-width:950px; }
.home .engage-heading h2 { font-size:clamp(44px,5.5vw,78px); }
.engage-heading h2 em { color:#fffaf2; }
.home .engage-heading p { max-width:560px; color:#3f3027; font-size:18px; }
.home .engage-heading .button { box-shadow:3px 3px 0 #ffb19b; }
.engagement-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; padding-top:32px; margin-top:55px; border-top:1px solid #9e3d24; }
.engagement-steps article > span { font:9px/1.5 var(--mono); letter-spacing:.07em; }
.home .engagement-steps h3 { margin:17px 0 12px; font-size:24px; }
.home .engagement-steps p { color:#3f3027; font-size:14px; margin:0; }
.builder-strip .wrap { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-block:35px; border-bottom:1px solid var(--rule); }
.home .builder-strip p { margin:0; }
.home .builder-strip .kicker { margin-bottom:7px; }
.home .site-footer { padding:40px 0; }
.home .site-footer p { margin:17px 0 0; font:10px/1.7 var(--mono); }
.home .footer-links { max-width:520px; gap:18px 25px; font:11px/1.7 var(--sans); }
.skip-link { position:fixed; left:12px; top:12px; transform:translateY(-160%); padding:12px 20px; background:var(--ink); color:white; z-index:100; }
.skip-link:focus { transform:translateY(0); }
.home :focus-visible { outline:3px solid #165e9e; outline-offset:5px; }
.home ::selection { background:#ffbba1; color:#252b28; }
@media (max-width:1100px) {
  .home .wrap { width:calc(100% - 48px); }
  .home .hero-grid { gap:35px; }
  .home h1 { font-size:60px; }
  .home .site-nav { gap:18px; }
  .home .wordmark small { display:none; }
  .split-heading { gap:40px; }
  .hardware-showcase { gap:38px; }
  .evidence-layout { gap:60px; }
}
@media (max-width:800px) {
  .home .site-header .wrap { min-height:80px; flex-wrap:wrap; padding-block:20px; gap:20px; align-items:center; }
  .home .site-nav { margin:0 0 0 auto; }
  .nav-contact { display:none; }
  .home .hero { padding-block:50px; }
  .home .hero-grid { grid-template-columns:1fr; gap:45px; }
  .home h1 { max-width:630px; font-size:clamp(52px,8vw,72px); }
  .home .lede { max-width:620px; }
  .system-figure { max-width:540px; width:calc(100% - 8px); margin-inline:auto; }
  .home .hero-footnote { margin-top:25px; }
  .home .section { padding-block:60px; }
  .split-heading { grid-template-columns:1fr; gap:22px; }
  .split-heading p { max-width:600px; }
  .capabilities { grid-template-columns:repeat(2,1fr); }
  .capabilities article:nth-child(3) { border-left:0; padding-left:0; border-top:1px solid var(--rule); }
  .capabilities article:nth-child(4) { border-top:1px solid var(--rule); }
  .capabilities article:nth-child(2) { padding-right:0; }
  .hardware-showcase { grid-template-columns:1fr; }
  .hardware-copy { max-width:550px; }
  .hardware-figure { max-width:620px; }
  .evidence-layout { grid-template-columns:1fr; gap:20px; }
  .home .evidence-intro { max-width:500px; }
  .evidence-bottom { align-items:flex-start; flex-direction:column; gap:15px; }
  .platform-grid { grid-template-columns:1fr; gap:15px; }
  .platform-card { display:grid; grid-template-columns:70px 1fr; gap:0 20px; }
  .platform-symbol { grid-row:1/4; margin:4px 0; }
  .target-tags { margin-top:0; }
  .design-principles { grid-template-columns:repeat(3,1fr); }
  .design-principles > .kicker { grid-column:1/-1; }
  .work-grid { grid-template-columns:1fr; }
  .work-item,.work-item:last-child { padding:28px 0; border-right:0; }
  .work-type { margin-bottom:18px; }
  .work-action { padding-top:0; }
  .engagement-steps { gap:25px; }
}
@media (max-width:520px) {
  .home .wrap { width:calc(100% - 36px); }
  .home .site-header .wrap { display:flex; padding-block:17px; gap:16px; }
  .home .wordmark { font-size:27px; }
  .home .site-nav { gap:16px; font-size:11px; }
  .home .hero { padding:38px 0 42px; }
  .home h1 { font-size:53px; }
  .home .hero .kicker { font-size:8px; letter-spacing:.07em; margin-bottom:24px; }
  .home .lede { font-size:16px; }
  .home .actions { gap:16px; margin-top:24px; }
  .home .button { padding:16px; font-size:11px; gap:20px; }
  .home .hero-grid { gap:35px; }
  .system-figure figcaption { font-size:8px; padding-inline:12px; }
  .figure-top { font-size:8px; padding-inline:12px; }
  .principle-strip .wrap { grid-template-columns:repeat(2,1fr); }
  .principle-strip span { font-size:8px; justify-content:flex-start; gap:12px; padding:16px 10px; }
  .principle-strip span:nth-child(even) { border-right:1px solid #50554e; }
  .principle-strip span:nth-child(n+3) { border-top:1px solid #50554e; }
  .section-heading { margin-bottom:28px; }
  .section-aside { display:none; }
  .home .section { padding-block:48px; }
  .home h2 { font-size:40px; }
  .home .capabilities h3 { font-size:22px; }
  .capabilities article { padding:23px 18px; }
  .capabilities { margin-bottom:40px; }
  .cap-number { margin-bottom:23px; }
  .home .capabilities p { font-size:13px; }
  .screen-image { padding:15px; }
  .screen-top,.hardware-figure figcaption { font-size:8px; padding:12px; }
  .home .evidence-section h2 { font-size:56px; margin-bottom:30px; }
  .platform-card { grid-template-columns:35px 1fr; padding:24px 18px; }
  .design-principles { grid-template-columns:1fr; gap:22px; }
  .home .design-principles h3 { margin-bottom:8px; }
  .home .engage-heading h2 { font-size:42px; }
  .home .engage-heading p { font-size:16px; }
  .engagement-steps { grid-template-columns:1fr; gap:28px; margin-top:40px; }
  .engagement-steps article { border-bottom:1px solid #b64428; padding-bottom:25px; }
  .engagement-steps article:last-child { border:0; padding:0; }
  .builder-strip .wrap { align-items:flex-start; flex-direction:column; }
  .home .builder-strip p:not(.kicker) { font-size:15px; }
  .home .site-footer .wrap { display:flex; flex-direction:column; }
  .home .footer-links { justify-content:flex-start; margin-top:0; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .home *,.home *::before,.home *::after { transition:none !important; }
}
