*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
:root{
  --bg:#f5f8fd; --bg2:#eaf0f9; --panel:#ffffff;
  --text:#0d1626; --text2:#475569; --text3:#64748b; --text4:#94a3b8;
  --strong:#070b14;
  --border:rgba(13,22,38,0.09); --border2:rgba(13,22,38,0.13); --border3:rgba(13,22,38,0.18); --chip:rgba(13,22,38,0.035);
  --stripe1:#e8eef7; --stripe2:#f1f5fb; --ov:245,248,253;
  --accent:#2f6bff; --accent2:#5a8cff; --accent-ink:#ffffff;
}
:root[data-theme="dark"]{
  --bg:#080b12; --bg2:#0b0f18; --panel:#0e131d;
  --text:#e8ecf3; --text2:#9aa5b8; --text3:#7e8aa0; --text4:#646f85;
  --strong:#ffffff;
  --border:rgba(255,255,255,0.08); --border2:rgba(255,255,255,0.11); --border3:rgba(255,255,255,0.15); --chip:rgba(255,255,255,0.04);
  --stripe1:#0f1420; --stripe2:#0b0f18; --ov:8,11,18;
  --accent:#3d79ff; --accent2:#6a96ff; --accent-ink:#ffffff;
}
body{margin:0;background:var(--bg);color:var(--text);font-family:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background .5s ease,color .5s ease;}
::selection{background:var(--accent);color:var(--accent-ink);}
@keyframes kblink{0%,49%{opacity:1}50%,100%{opacity:0}}
@keyframes kmarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes kfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}
@keyframes kglide{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-4px) rotate(3deg)}}
a{color:inherit;text-decoration:none;}
.brand{display:flex;align-items:center;gap:9px;font-weight:600;font-size:18px;letter-spacing:-0.02em;}
.mark{color:var(--accent);flex:none;animation:kglide 6s ease-in-out infinite;transform-origin:60% 60%;}
.nav-cta{transition:background .25s ease,box-shadow .25s ease;box-shadow:0 6px 18px -8px var(--accent);}
.nav-cta:hover{background:var(--accent2);}
.btn-accent{transition:background .25s ease,transform .25s ease,box-shadow .25s ease;box-shadow:0 10px 26px -12px var(--accent);}
.btn-accent:hover{background:var(--accent2);transform:translateY(-2px);}
.btn-ghost{transition:border-color .25s ease,color .25s ease;}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent);}
.svc-card{transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1),border-color .3s ease,box-shadow .3s ease;}
.svc-card:hover{border-color:var(--accent);transform:translateY(-5px);box-shadow:0 24px 48px -28px rgba(47,107,255,0.45);}
.mail-link{transition:color .25s ease;}
.mail-link:hover{color:var(--accent);}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;border:1px solid var(--border3);background:transparent;color:var(--text2);cursor:pointer;transition:border-color .25s ease,color .25s ease;}
.theme-toggle:hover{border-color:var(--accent);color:var(--accent);}
img{max-width:100%;}
@media(max-width:760px){.nav-links{gap:14px!important;}.nav-link-hide{display:none!important;}}
@media(max-width:720px){
  .work-grid{grid-template-columns:1fr!important;}
  .work-meta{position:static!important;top:auto!important;}
}
.skip-link{position:absolute;top:-100%;left:0;z-index:9999;padding:10px 18px;background:var(--accent);color:var(--accent-ink);font-size:14px;font-weight:600;border-radius:0 0 8px 0;text-decoration:none;}
.skip-link:focus{top:0;}
.foot-link{transition:color .25s ease;}
.foot-link:hover{color:var(--accent);}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
