:root{
  --bg:#0b0d12;--panel:#12151c;--panel-2:#0e1016;
  --text:#e8eaf2;--muted:#9aa2b2;--ink:#07131b;
  --accent:#3fb8ff;--accent-s:#2ca2e3;
  --line:#1c2332;--line-strong:#27354b;
  --r:16px;--r-sm:12px;--shadow:0 10px 38px rgba(0,0,0,.4);
  --focus:0 0 0 3px rgba(63,184,255,.25);
  --hdr:70px
}
*{box-sizing:border-box;margin:0}
html,body{height:100%}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 12px)}
body{
  font-family:"Poppins",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text);
  background-color:var(--bg);
  background-image:
    radial-gradient(60vmax 50vmax at 9% -10%,rgba(63,184,255,.06),transparent 60%),
    radial-gradient(50vmax 40vmax at 95% -5%,rgba(63,184,255,.05),transparent 60%);
  background-repeat:no-repeat
}
.visually-hidden{position:absolute!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;height:1px!important;width:1px!important;overflow:hidden!important}
.wrap{max-width:1140px;margin:0 auto;padding:0 32px}
.section{padding:56px 0;border-bottom:1px solid rgba(255,255,255,.04);scroll-margin-top:calc(var(--hdr) + 12px)}
.section:last-of-type{border:none}
.section-title{font:600 24px/1.3 "Poppins",sans-serif}

.site-header{position:sticky;top:0;z-index:2000;background:rgba(11,13,18,.82);backdrop-filter:blur(6px);border-bottom:1px solid rgba(255,255,255,.05)}
.header-flex{display:flex;align-items:center;justify-content:space-between;height:var(--hdr)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;font-size:20px;font-weight:800}
.brand-logo{width:24px;height:24px;display:block;border-radius:50%;object-fit:cover;background:#0d1016;box-shadow:0 10px 30px rgba(63,184,255,.24),0 0 0 1px rgba(63,184,255,.28)}
.brand-name{letter-spacing:.2px}
.header-cta{display:inline-flex}

.hero{padding:100px 0 70px;position:relative}
.hero-inner{max-width:780px}
.hero .wrap{position:relative;z-index:1}
.hero-title{font:800 clamp(32px,6vw,64px)/1.05 "Poppins",sans-serif;letter-spacing:-.25px;margin-bottom:8px}
.hero-sub{color:var(--muted);font-size:18px;margin-bottom:26px}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap}
.hero-grid{pointer-events:none;position:absolute;inset:0;opacity:.2;z-index:0;background:repeating-linear-gradient(to bottom,transparent 0 42px,rgba(63,184,255,.16) 42px 43px),repeating-linear-gradient(to right,transparent 0 52px,rgba(63,184,255,.12) 52px 53px);-webkit-mask:linear-gradient(to bottom,transparent,#000 14%,#000 86%,transparent);mask:linear-gradient(to bottom,transparent,#000 14%,#000 86%,transparent)}

.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin-top:30px;list-style:none;padding:0}
.feature{background:var(--panel-2);padding:22px;border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--shadow);transition:transform .15s,border-color .15s,background .15s}
.feature:hover{transform:translateY(-4px);border-color:var(--line-strong);background:#151923}
.feature h3{font-size:18px;font-weight:600;margin-bottom:6px}
.feature p{color:var(--muted);font-size:15px;line-height:1.5}

.portfolio{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;margin-top:30px}
.portfolio-item{background:var(--panel-2);padding:16px;border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--shadow);cursor:pointer;transition:transform .15s,border-color .15s,background .15s}
.portfolio-item:hover,.portfolio-item:focus-visible{transform:translateY(-4px);border-color:var(--line-strong);background:#151923}
.portfolio-item img{width:100%;height:150px;object-fit:contain;display:block}
.card-meta{margin-top:10px;text-align:center;font-weight:600}
.card-meta a{color:var(--text);text-decoration:none}
.card-meta a:hover{text-decoration:underline;text-underline-offset:2px}
.more-note{margin-top:20px;text-align:center;color:var(--muted);font-style:italic;font-size:15px}

.form{display:grid;gap:14px;padding:24px;margin-top:20px;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--shadow)}
.form input,.form textarea{width:100%;padding:13px 15px;background:#0d1016;border:1px solid var(--line);border-radius:10px;color:var(--text);font-size:15px;transition:border-color .15s,box-shadow .15s,background .15s}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--line-strong);box-shadow:var(--focus);background:#12151c}
.form textarea{resize:vertical;min-height:120px}

.form input,
.form textarea{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, "Liberation Mono", Consolas, "Courier New", monospace;
}

.btn{display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;padding:13px 20px;border-radius:12px;border:1px solid var(--line);text-decoration:none;transition:transform .13s,box-shadow .13s,background .13s}
.btn--accent{background:var(--accent);color:var(--ink);border-color:transparent;box-shadow:0 10px 30px rgba(63,184,255,.24)}
.btn--accent:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(63,184,255,.3)}
.btn--ghost{color:var(--text);background:transparent}
.btn--ghost:hover{transform:translateY(-2px)}

.modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.86);backdrop-filter:blur(3px);z-index:4000}
.modal.open{display:block}
.modal-content{display:block;width:min(92vw,1400px);max-height:82vh;margin:60px auto 0;object-fit:contain;border-radius:var(--r-sm);box-shadow:0 20px 60px rgba(0,0,0,.6)}
.close{position:fixed;top:20px;right:30px;width:44px;height:44px;background:rgba(0,0,0,.4);border:1px solid var(--line);border-radius:10px;color:#e3e8f2;font-size:36px;font-weight:700;display:grid;place-items:center;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.close:hover,.close:focus{color:#fff;border-color:var(--line-strong)}

.site-footer{padding:24px 0 32px;border-top:1px solid rgba(255,255,255,.06);background:transparent}
.footer-flex{display:flex;align-items:center;justify-content:space-between;gap:16px}
.status-pill{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.02);text-decoration:none;color:inherit;transition:transform .13s,box-shadow .13s,border-color .15s,background .15s}
.status-pill:hover{transform:translateY(-1px);border-color:var(--line-strong);box-shadow:0 10px 30px rgba(63,184,255,.18);text-decoration:none}
.status-pill:focus-visible{outline:none;box-shadow:var(--focus)}
.copy{color:var(--muted);font-size:13px;letter-spacing:.2px}
@media (max-width:700px){
  .footer-flex{flex-direction:column;text-align:center}
}

a:focus-visible,button:focus-visible,.portfolio-item:focus-visible,input:focus-visible,textarea:focus-visible{outline:none;box-shadow:var(--focus);border-color:var(--line-strong)}

@media (max-width:640px){
  :root{--hdr:72px}
  .hero{padding:84px 0 56px}
  .section{padding:46px 0}
  .hero-title{font-size:38px}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important}
}
