*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
html{scroll-padding-top:110px}
@media (min-width: 900px){ html{scroll-padding-top:70px} }
body{margin:0;font-family:var(--font);color:var(--text);background:var(--bg);line-height:1.8;-webkit-text-size-adjust:100%}
img{max-width:100%;height:auto;display:block}
a{color:var(--primary)}
h1,h2,h3{line-height:1.4;margin:0 0 .6em}
p{margin:0 0 1em}
ul,ol{margin:0 0 1em;padding-left:1.2em}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.skip{position:absolute;left:-999px;top:0;background:var(--primary);color:#fff;padding:.5em 1em;z-index:100}
.skip:focus{left:0}

.site-header{position:sticky;top:0;z-index:50;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;background:var(--surface);border-bottom:1px solid rgba(0,0,0,.08)}
.brand{font-weight:700;font-size:1.1rem;margin:0;color:var(--primary)}
.brand-sub{display:block;font-size:.7rem;font-weight:400;opacity:.8}
.gnav{display:flex;flex-wrap:wrap;gap:14px;list-style:none;padding:0;margin:0;font-size:.85rem}
.gnav a{text-decoration:none;color:var(--text)}

.hero{padding:40px 16px;max-width:760px;margin:0 auto;text-align:center}
.hero h1{font-size:1.7rem}
.eyebrow{font-size:.75rem;letter-spacing:.2em;color:var(--accent);font-weight:700;margin-bottom:.4em}

.section{padding:44px 16px}
.section>*{max-width:960px;margin-left:auto;margin-right:auto}
.section-alt{background:rgba(0,0,0,.03)}
.sec-head{text-align:center;margin-bottom:24px}
.sec-head h2{font-size:1.4rem;margin:0}
.note{text-align:center;font-size:.85rem;opacity:.8}

.work-list{list-style:none;padding:0;display:grid;gap:24px}
.work-card{background:var(--surface);border-radius:14px;overflow:hidden;border:1px solid rgba(0,0,0,.08)}
.work-card img{aspect-ratio:3/2;object-fit:cover}
.work-body{padding:18px}
.work-industry{font-size:.75rem;color:var(--accent);font-weight:700;margin:0 0 .3em}
.work-features{padding-left:1.1em;font-size:.9rem}
.work-tech{font-size:.85rem;opacity:.8}
.work-lh{font-size:.8rem;opacity:.85}
.work-lh-note{font-size:.75rem;opacity:.75;display:block}
.work-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}

.btn{display:inline-block;background:var(--primary);color:#fff;padding:10px 20px;border-radius:999px;text-decoration:none;font-weight:700;font-size:.9rem}
.btn-sub{background:transparent;color:var(--primary);border:2px solid var(--primary);padding:8px 18px}

.cap-list{list-style:none;padding:0;display:grid;gap:20px}
.cap-list h3{font-size:1rem}

.process-list{list-style:none;padding:0;display:grid;gap:18px;counter-reset:none}
.process-list li{position:relative;padding-left:42px}
.process-list .num{position:absolute;left:0;top:0;font-weight:700;color:var(--accent)}
.process-list h3{font-size:1rem;margin:0 0 .3em}

.pricing-note{max-width:640px;margin:0 auto;text-align:center;font-size:1.05rem}

.site-footer{background:var(--primary);color:#fff;padding:28px 16px;text-align:center}
.footer-name{font-weight:700;margin:0}
.footer-note{font-size:.85rem;opacity:.85}
.copy{font-size:.8rem;opacity:.85;margin:0}
.site-footer a{color:#fff}

@media (min-width: 900px){
  .work-list{grid-template-columns:repeat(2,1fr)}
  .cap-list{grid-template-columns:repeat(2,1fr)}
  .hero h1{font-size:2.2rem}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *{transition:none!important;animation:none!important}
}
