:root{--slate-900:#0d1620;--slate-850:#111d29;--slate-800:#16242f;--slate-700:#20323f;--slate-line:#2c4150;--mist:#c3d0da;--mist-soft:#7e93a2;--white:#f4f7f9;--amber:#f5a524;--amber-hot:#ff8a2b;--font-display:"Space Grotesk", system-ui, sans-serif;--font-body:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--wrap:1140px;--radius:4px;--ease:cubic-bezier(0.22, 1, 0.36, 1)}*,*::before,*::after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--font-body);font-size:clamp(1rem,.96rem + .2vw,1.0625rem);line-height:1.65;color:var(--mist);background:var(--slate-900);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}svg{display:block;max-width:100%}a{color:inherit}button{font:inherit;color:inherit;cursor:pointer}.u-visually-hidden,.u-hp{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:0;top:-3rem;z-index:100;background:var(--amber);color:var(--slate-900);padding:.6rem 1rem;font-family:var(--font-mono);font-size:.8rem;text-decoration:none;transition:top .18s var(--ease)}.skip-link:focus{top:0}:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:2px}.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2.5rem)}.section{padding-block:clamp(4rem,9vw,7.5rem);border-top:1px solid var(--slate-line)}.section--light{background:var(--slate-850)}.section--dark{background:var(--slate-900)}.section--contact{background:var(--slate-850)}.section__head{margin-bottom:clamp(2.5rem,5vw,3.75rem)}.section__intro{max-width:52ch;margin-top:1rem;color:var(--mist-soft)}.section__title{font-family:var(--font-display);font-weight:600;color:var(--white);font-size:clamp(1.9rem,1.3rem + 2.6vw,3rem);line-height:1.08;letter-spacing:-.02em}.eyebrow{font-family:var(--font-mono);font-size:.74rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--mist-soft);margin-bottom:1rem}.eyebrow--hero{color:var(--amber)}.spec-line{display:flex;flex-wrap:wrap;gap:.5rem 0;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;color:var(--mist-soft)}.spec-line span{position:relative;padding-inline:.85rem}.spec-line span:first-child{padding-left:0}.spec-line span::after{content:"·";position:absolute;right:-.1em;color:var(--slate-line)}.spec-line span:last-child::after{content:none}.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.82rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;padding:.85rem 1.5rem;border-radius:var(--radius);border:1px solid transparent;transition:transform .18s var(--ease),background-color .18s var(--ease)}.btn--accent{background:var(--amber);color:var(--slate-900)}.btn--accent:hover{background:var(--amber-hot);transform:translateY(-2px)}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--slate-900) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--slate-line)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;min-height:64px}.wordmark{display:inline-flex;align-items:center;font-family:var(--font-display);font-weight:500;font-size:1.12rem;letter-spacing:-.01em;color:var(--mist);text-decoration:none}.wordmark strong{font-weight:700;color:var(--white)}.wordmark--footer{font-size:1.25rem}.site-nav__link{font-family:var(--font-mono);font-size:.82rem;letter-spacing:.03em;color:var(--mist);text-decoration:none;transition:color .16s var(--ease)}.site-nav__link:hover{color:var(--amber)}.hero{background:var(--slate-900);padding-block:clamp(5rem,13vw,9rem);border-bottom:1px solid var(--slate-line)}.hero__title{font-family:var(--font-display);font-weight:600;color:var(--white);font-size:clamp(2.4rem,1.2rem + 5vw,4.4rem);line-height:1.04;letter-spacing:-.03em;margin-bottom:1.25rem}.hero__lede{max-width:46ch;color:var(--mist);font-size:clamp(1.05rem,1rem + .4vw,1.25rem);margin-bottom:2rem}.spec-line--hero{margin-bottom:2.5rem}.hero__cta{display:flex;flex-wrap:wrap;gap:.85rem}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.card{background:var(--slate-800);border:1px solid var(--slate-line);border-radius:var(--radius);padding:1.75rem 1.6rem 1.9rem;display:flex;flex-direction:column;transition:transform .22s var(--ease),border-color .22s var(--ease)}.card:hover{transform:translateY(-4px);border-color:var(--amber)}.card__idx{font-family:var(--font-mono);font-size:.8rem;color:var(--amber);letter-spacing:.1em;margin-bottom:1.25rem}.card__title{font-family:var(--font-display);font-weight:600;font-size:1.3rem;color:var(--white);letter-spacing:-.01em;margin-bottom:.7rem}.card__body{color:var(--mist);font-size:.97rem;flex:1}.card__tag{margin-top:1.5rem;padding-top:1rem;border-top:1px dashed var(--slate-line);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;color:var(--mist-soft)}.approach{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:start}.approach__copy{margin-top:1.25rem;color:var(--mist);max-width:40ch}.approach__points{list-style:none;padding:0}.approach__points li{padding:1.4rem 0;border-top:1px solid var(--slate-line)}.approach__points li:last-child{border-bottom:1px solid var(--slate-line)}.approach__k{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--amber);margin-bottom:.4rem}.approach__v{color:var(--mist);font-size:.97rem}.contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,6vw,4.5rem);align-items:start}.contact__copy{margin-top:1.25rem;color:var(--mist)}.spec-line--contact{margin-top:1.5rem}.spec-line--contact span::after{content:none}.contact-form{display:grid;gap:1.4rem}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1.25rem}.field{display:flex;flex-direction:column;gap:.4rem}.field--full{grid-column:1/-1}.field label{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mist-soft)}.field input,.field select,.field textarea{font-family:var(--font-body);font-size:1rem;color:var(--mist);background:var(--slate-800);border:1px solid var(--slate-line);border-radius:var(--radius);padding:.72rem .85rem;width:100%;transition:border-color .16s var(--ease),box-shadow .16s var(--ease)}.field textarea{resize:vertical;min-height:120px}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--amber);box-shadow:0 0 0 3px color-mix(in srgb,var(--amber) 25%,transparent)}.field select option{color:#16242f}.select-wrap{position:relative;display:block}.select-wrap::after{content:"";position:absolute;right:.95rem;top:50%;width:.5rem;height:.5rem;border-right:2px solid var(--mist-soft);border-bottom:2px solid var(--mist-soft);transform:translateY(-65%)rotate(45deg);pointer-events:none}.field select{appearance:none;padding-right:2.2rem}.contact-form__action{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.form-status{font-family:var(--font-mono);font-size:.82rem;margin:0}.form-status.is-pending{color:var(--mist-soft)}.form-status.is-success{color:#56c98a}.form-status.is-error{color:#ff7a6b}button[type=submit]:disabled{opacity:.6;cursor:progress}.site-footer{background:var(--slate-900);color:var(--mist-soft);padding-block:3.5rem;border-top:1px solid var(--slate-line)}.site-footer__inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2rem}.site-footer__line{margin-top:.6rem;font-size:.9rem}.site-footer__meta{text-align:right;display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}.site-footer__email{font-family:var(--font-mono);font-size:.92rem;color:var(--mist);text-decoration:none}.site-footer__email:hover{color:var(--amber)}.site-footer__copy{font-size:.78rem;color:var(--mist-soft)}.js [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease),transform .6s var(--ease)}.js [data-reveal].is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.js [data-reveal]{opacity:1;transform:none;transition:none}}@media(max-width:860px){.cards{grid-template-columns:1fr}.approach,.contact{grid-template-columns:1fr}}@media(max-width:680px){.field-grid{grid-template-columns:1fr}.site-footer__inner{flex-direction:column}.site-footer__meta{text-align:left;align-items:flex-start}}