/* Plains Technology — void / manifesto. Dark, bone accent, radius 0. */

/* Self-hosted Sora (variable font: one file covers 300/400/600) */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url('./assets/fonts/sora-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url('./assets/fonts/sora-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root{--bg:#0e0f11;--ink:#e9e8e4;--muted:#77787c;--line:rgba(233,232,228,.14)}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{background:var(--bg);color:var(--ink);font-family:'Sora',system-ui,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.wrap{max-width:1100px;margin:0 auto;padding:0 28px}

.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--bg);padding:10px 18px;z-index:10}
.skip:focus{left:0}

nav{border-bottom:1px solid var(--line)}
.nav-in{height:66px;display:flex;align-items:center;justify-content:space-between;font-size:.92rem}
.mark{font-weight:600;letter-spacing:.02em;display:flex;align-items:center;gap:10px}
.mark img{width:24px;height:24px;display:block}
.nav-in a:last-child{color:var(--muted)}
.nav-in a:last-child:hover,.nav-in a:last-child:focus-visible{color:var(--ink)}

.hero{position:relative;min-height:calc(100dvh - 66px);display:flex;align-items:center}
#net{position:absolute;inset:0;width:100%;height:100%}
.hero-in{position:relative;pointer-events:none;max-width:900px;margin:0 auto;padding:0 28px;text-align:center}
.hero-in a{pointer-events:auto}
h1{font-size:clamp(2.2rem,5.6vw,4.4rem);font-weight:300;line-height:1.18;letter-spacing:-.015em}
h1 b{font-weight:600}
.hero p{margin:34px auto 44px;color:var(--muted);max-width:46ch;font-size:1.05rem}
.btn{display:inline-block;border:1px solid var(--ink);padding:14px 36px;font-size:.9rem;letter-spacing:.04em;transition:background .2s,color .2s,transform .18s}
.btn:hover,.btn:focus-visible{background:var(--ink);color:var(--bg)}
.btn:active{transform:scale(.98)}

section{padding:110px 0;border-top:1px solid var(--line)}
.claims{display:grid;gap:64px;max-width:720px}
.claims p{font-size:clamp(1.15rem,2vw,1.45rem);font-weight:300;line-height:1.55}
.claims p b{font-weight:600}
.claims .who{color:var(--muted);font-size:.95rem;font-weight:400}
.claims .eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:300;line-height:1.25}
h2 b{font-weight:600}
.direct{margin-top:24px;color:var(--muted)}
.direct a{color:var(--ink);border-bottom:1px solid var(--line)}
form{display:grid;gap:22px}
.field{display:grid;gap:8px}
label{font-size:.82rem;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}
input,textarea{width:100%;background:transparent;border:1px solid var(--line);padding:13px 14px;color:var(--ink);font-family:inherit;font-size:.98rem}
input:focus,textarea:focus{outline:none;border-color:var(--ink)}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:.6}
textarea{min-height:110px;resize:vertical}
form .btn{justify-self:start;background:transparent;color:var(--ink);cursor:pointer;font-family:inherit}
form .btn:hover,form .btn:focus-visible{background:var(--ink);color:var(--bg)}
form .btn[disabled]{opacity:.5;cursor:default}

.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-status{color:var(--muted);font-size:.92rem;min-height:1.2em;margin:0}
.form-status.ok{color:var(--ink)}

footer{border-top:1px solid var(--line);padding:30px 0;color:var(--muted);font-size:.85rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
footer .wrap{display:contents}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none}}
@media (max-width:820px){.contact-grid{grid-template-columns:1fr;gap:56px}section{pad