@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,200..800&family=Instrument+Sans:ital,wght@0,400..700;1,400..700&family=JetBrains+Mono:wght@400;500&family=Newsreader:ital,opsz,wght@0,6..72,400;1,6..72,400;1,6..72,500&display=swap');

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:#fff;font-family:'Instrument Sans',sans-serif;-webkit-font-smoothing:antialiased;color:#0A0A0A}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}

@keyframes edsMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes edsMarqueeRev{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@keyframes edsBlink{0%,100%{opacity:1}50%{opacity:0}}
@keyframes edsPing{0%{transform:scale(1);opacity:.6}80%,100%{transform:scale(3.4);opacity:0}}
@keyframes edsRotate{to{transform:rotate(360deg)}}

@media (pointer:fine){.eds-nocursor, .eds-nocursor *{cursor:none !important}}
@media (pointer:fine){.eds-nocursor a,.eds-nocursor [data-cursor],.eds-nocursor [data-cursor] *,.eds-nocursor [data-blogrow],.eds-nocursor [data-blogrow] *,.eds-nocursor [data-magnetic],.eds-nocursor [data-magnetic] *,.eds-nocursor [data-tilt],.eds-nocursor [data-tilt] *,.eds-nocursor [onclick],.eds-nocursor [onclick] *{cursor:pointer !important}}

[data-blogrow]:hover{background:#F1F1F3 !important;padding-left:38px !important}
[data-blogrow]:hover [data-arrow]{opacity:1 !important;transform:translateX(0) !important}
::selection{background:#0A0A0A;color:#fff}
html{scroll-behavior:smooth;scroll-padding-top:78px}

/* Services tab active state (vanilla, replaces the React state classes) */
.eds-tab{display:flex;align-items:center;gap:16px;padding:22px 26px;cursor:pointer;border-left:3px solid transparent;background:transparent;transition:background .3s ease,border-color .3s ease}
.eds-tab.is-active{border-left-color:#0A0A0A;background:#fff}
.eds-tab-num{width:34px;height:34px;flex:0 0 auto;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:500;background:transparent;color:#A0A0A6;border:1px solid #D4D4D8;transition:all .3s ease}
.eds-tab.is-active .eds-tab-num{background:#0A0A0A;color:#fff;border-color:#0A0A0A}
.eds-tab-tag{display:block;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#A0A0A6;margin-bottom:3px;transition:color .3s ease}
.eds-tab.is-active .eds-tab-tag{color:#0A0A0A}
.eds-tab-title{display:block;font-family:'Bricolage Grotesque',sans-serif;font-size:19px;font-weight:600;letter-spacing:-0.01em;color:#8A8A90;transition:color .3s ease}
.eds-tab.is-active .eds-tab-title{color:#0A0A0A}
.eds-tab-arrow{font-size:18px;color:#0A0A0A;opacity:0;transform:translateX(-8px);transition:all .3s ease}
.eds-tab.is-active .eds-tab-arrow{opacity:1;transform:translateX(0)}
.eds-panel{display:none}
.eds-panel.is-active{display:block}

/* Article body (blog/project content from the editor) */
.eds-article h2{font-family:'Bricolage Grotesque',sans-serif;font-size:30px;font-weight:700;letter-spacing:-.02em;margin:40px 0 16px;color:#0A0A0A}
.eds-article h3{font-family:'Bricolage Grotesque',sans-serif;font-size:23px;font-weight:600;margin:32px 0 12px;color:#0A0A0A}
.eds-article p{margin:0 0 20px}
.eds-article a{color:#0A0A0A;text-decoration:underline}
.eds-article ul,.eds-article ol{margin:0 0 20px 1.3em}
.eds-article li{margin-bottom:8px}
.eds-article img{border-radius:14px;border:1px solid #E6E6E8;margin:24px 0}
.eds-article blockquote{border-left:3px solid #0A0A0A;padding:4px 0 4px 20px;margin:24px 0;color:#5A5A60;font-family:'Newsreader',serif;font-size:22px;font-style:italic}
.eds-article pre{background:#0A0A0A;color:#F2F2F0;border-radius:12px;padding:20px;overflow-x:auto;font-family:'JetBrains Mono',monospace;font-size:14px;margin:0 0 20px}
.eds-article code{font-family:'JetBrains Mono',monospace;font-size:.92em}
.eds-article table{width:100%;border-collapse:collapse;margin:0 0 20px}
.eds-article th,.eds-article td{border:1px solid #E6E6E8;padding:10px 14px;text-align:left}

/* Responsive */
@media(max-width:960px){
  .eds-hide-mobile{display:none !important}
  .eds-grid-2,.eds-grid-3,.eds-grid-svc{grid-template-columns:1fr !important}
  .eds-cta{grid-template-columns:1fr !important}
}
@media(max-width:640px){
  .eds-h1{font-size:44px !important}
  .eds-pad{padding-left:20px !important;padding-right:20px !important}
}
