
:root{
  --bg:#09090a;--panel:#151516;--panel2:#1a1a1b;--text:#f3f3f3;
  --muted:#9b9b9e;--line:#3a3a3d;--green:#17f24a;--green2:#65ff84
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:104px}
html,body{max-width:100%;overflow-x:hidden}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}
a{color:inherit;text-decoration:none} button{font:inherit}
.container{width:min(1120px,calc(100% - 42px));margin:auto}
.header{position:sticky;top:0;z-index:50;background:rgba(8,8,9,.93);border-bottom:1px dashed #38383a;backdrop-filter:blur(12px)}
.header-inner{height:84px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:13px;font-size:23px;font-weight:700}
.logo-box{width:52px;height:52px;border:4px solid var(--green);border-left-width:7px;border-right-width:7px;display:grid;place-items:center;color:var(--green);font:bold 22px/1 monospace;box-shadow:0 0 18px rgba(23,242,74,.15)}
.burger{width:52px;height:52px;border:0;background:transparent;display:grid;place-items:center;cursor:pointer;padding:6px}
.burger span,.burger:before,.burger:after{content:"";display:block;width:40px;height:2px;background:#f2f2f2;margin:5px 0}
.overlay{position:fixed;inset:0;width:100vw;height:100dvh;background:#09090a;z-index:100;display:flex;opacity:0;visibility:hidden;transition:.3s ease;overflow:hidden}
.overlay.open{opacity:1;visibility:visible}
.close{position:absolute;right:22px;top:22px;width:56px;height:56px;background:transparent;border:0;cursor:pointer}
.close:before,.close:after{content:"";position:absolute;left:27px;top:8px;width:2px;height:42px;background:white}
.close:before{transform:rotate(45deg)} .close:after{transform:rotate(-45deg)}
.overlay nav{width:100%;max-width:100%;margin:auto 0;display:flex;flex-direction:column;gap:34px;text-align:right;font-size:29px;padding:0 30px}
.overlay nav a{color:#f6f6f6}.overlay nav a:hover,.overlay nav a.active{color:var(--green)}

.hero{min-height:880px;border-bottom:1px solid #121214}
.hero-top{padding:92px 0 60px}
.hero h1,.page-hero h1{font-weight:300;font-size:clamp(62px,8vw,118px);line-height:.92;margin:0 0 24px;letter-spacing:-.04em}
.hero .tagline,.page-hero .tagline{color:var(--green);font-size:clamp(25px,3vw,44px);line-height:1.05;font-weight:400;text-transform:uppercase;max-width:760px}
.hero-art{height:560px;position:relative;overflow:hidden;background:linear-gradient(180deg,#242a31,#111418)}
.hero-art svg{width:100%;height:100%;display:block}

.page-hero{padding:110px 0 70px;border-bottom:1px solid #202023}
.page-hero p{max-width:760px;color:#b5b5b8;font-size:22px;line-height:1.5}

.section{padding:105px 0;scroll-margin-top:104px}
h2{font-weight:300;font-size:clamp(52px,7vw,88px);letter-spacing:-.04em;line-height:.95;margin:14px 0 42px}
.cards{display:flex;flex-direction:column;gap:44px}
.reveal-card{width:min(88%,780px);min-height:320px;background:var(--panel);border:1px dashed #444;padding:44px 48px;position:relative;opacity:0;transform:perspective(1100px) rotateY(16deg) translateX(110px) translateY(70px) scale(.96);transition:opacity .8s ease,transform 1s cubic-bezier(.2,.7,.2,1)}
.reveal-card:nth-child(2){align-self:flex-end;transform:perspective(1100px) rotateY(-16deg) translateX(-110px) translateY(70px) scale(.96)}
.reveal-card:nth-child(3){width:min(72%,650px)}
.reveal-card.show{opacity:1;transform:perspective(1100px) rotateY(0) translateX(0) translateY(0) scale(1)}
.card-number{color:var(--green);font-size:28px;margin-bottom:28px}
.reveal-card h3{font-size:42px;font-weight:300;margin:0 0 20px}
.reveal-card p{font-size:27px;line-height:1.35;color:#a8a8ab;margin:0}

.tech-visual{margin:110px 0 40px;height:520px;border:1px solid #242428;overflow:hidden;background:#0f1215}
.tech-visual svg{width:100%;height:100%}
.arch{display:grid;grid-template-columns:1fr;gap:28px;max-width:860px}
.arch h3{font-size:clamp(48px,6vw,72px);font-weight:300;margin:0}
.arch p{font-size:25px;line-height:1.48;color:#a3a3a6;margin:0}
.outline-btn{display:inline-block;margin-top:22px;border:2px solid var(--green);color:var(--green);padding:18px 24px;font-size:25px}

.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.project-card{border:1px solid #303035;background:#101012;overflow:hidden}
.project-art{height:260px;background:linear-gradient(135deg,#1c1c20,#0b0b0d);display:grid;place-items:center;border-bottom:1px solid #29292d}
.project-art svg{width:100%;height:100%}
.project-body{padding:28px}
.project-meta{color:var(--green);font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}
.project-card h3{font-size:34px;font-weight:300;margin:0 0 14px}
.project-card p{font-size:18px;color:#c0c0c4;line-height:1.5;margin:0}
.project-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}
.project-tags span{border:1px solid #3a3a3f;padding:7px 10px;font-size:12px;color:#d3d3d6}

.blog-list{display:grid;gap:26px}
.post{border:1px solid #343438;background:#0d0d0f;padding:34px}
.post .date{color:var(--green);font-size:14px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:15px}
.post h3{font-size:36px;font-weight:300;margin:0 0 15px}
.post p{color:#b6b6ba;font-size:19px;line-height:1.55;margin:0}
.post .more{display:inline-block;margin-top:18px;color:var(--green)}

.cta{background:#181819;padding:80px 0;border-top:1px solid #49494b;border-bottom:1px solid #49494b}
.cta h3{font-size:clamp(50px,7vw,78px);font-weight:300;margin:0 0 42px}
.cta .solid{display:inline-block;padding:20px 26px;background:var(--green);color:#111;font-size:25px}

footer{padding:90px 0 110px;text-align:center}
footer h3{font-size:clamp(52px,7vw,76px);font-weight:300;margin:0 0 54px}
.footer-brand{display:inline-flex;align-items:center;gap:12px;font-size:26px;font-weight:700;margin-bottom:52px}
.socials{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;margin:50px 0}
.social{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:white;font-size:20px}
.social svg{width:25px;height:25px;display:block}
.fb{background:#1877f2}.ig{background:linear-gradient(135deg,#ff7a00,#ff0069,#7a3cff)}.yt{background:#ff0000}
.x{background:#000;border:1px solid #333}.in{background:#0a66c2}.tt{background:#000;border:1px solid #333}
.contact{font-size:24px}.copyright{color:#a0a0a2;font-size:18px;margin-top:34px}

@media(max-width:760px){
  .container{width:min(100% - 36px,1120px)}
  .header-inner{height:78px}.header{min-height:78px}
  .brand{font-size:20px;gap:10px}.logo-box{width:46px;height:46px;font-size:19px}
  .burger{width:48px;height:48px}.burger span,.burger:before,.burger:after{width:36px}
  .hero{min-height:auto}.hero-top{padding:68px 0 46px}
  .hero h1,.page-hero h1{font-size:clamp(54px,15vw,78px);line-height:.93}
  .hero .tagline,.page-hero .tagline{font-size:clamp(22px,6vw,30px)}
  .hero-art{height:610px}
  .page-hero{padding:78px 0 55px}.page-hero p{font-size:19px}
  .section{padding:90px 0;scroll-margin-top:96px}
  .software{padding-top:112px}
  h2{font-size:clamp(46px,12vw,66px);margin-bottom:34px}
  .cards{gap:28px}
  .reveal-card,.reveal-card:nth-child(2),.reveal-card:nth-child(3){width:100%;min-height:0;padding:30px 28px 34px}
  .card-number{font-size:23px;margin-bottom:20px}.reveal-card h3{font-size:32px;line-height:1.08;margin-bottom:16px}.reveal-card p{font-size:20px;line-height:1.42}
  .tech-visual{height:330px;margin-top:68px}
  .arch{gap:22px}.arch h3{font-size:45px}.arch p{font-size:21px;line-height:1.5}.outline-btn{font-size:21px;padding:15px 19px}
  .portfolio-grid{grid-template-columns:1fr}.project-art{height:230px}.project-card h3{font-size:31px}.project-card p{font-size:18px}
  .post{padding:28px}.post h3{font-size:30px}.post p{font-size:18px}
  .cta{padding:62px 0}.cta h3{margin-bottom:28px}.cta .solid{font-size:21px;padding:17px 20px}
  footer{padding:72px 0 86px}footer h3{margin-bottom:38px}.footer-brand{font-size:22px;margin-bottom:38px}.contact{font-size:20px}
  .socials{gap:16px;margin:38px 0}.social{width:44px;height:44px}
}


.overlay nav a{display:block;max-width:100%;overflow-wrap:anywhere}
.close{box-sizing:border-box}


@media(max-width:760px){
  .overlay{width:100vw;max-width:100vw;left:0;right:0;overflow-x:hidden}
  .overlay nav{
    width:100%;
    max-width:100%;
    margin:auto 0;
    padding:0 28px;
    text-align:right;
    align-items:flex-end;
    font-size:28px;
  }
  .overlay nav a{
    width:auto;
    max-width:calc(100vw - 56px);
    white-space:normal;
  }
  .close{
    right:18px;
    top:18px;
  }
}


/* v11 mobile overlay hard-fix */
html, body {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}
.overlay {
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100dvh !important;
  overflow: hidden !important;
}
.overlay nav {
  position: absolute !important;
  top: 50% !important;
  right: 28px !important;
  left: auto !important;
  transform: translateY(-50%) !important;
  width: auto !important;
  max-width: calc(100% - 56px) !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 34px !important;
  text-align: right !important;
}
.overlay nav a {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  white-space: nowrap !important;
  overflow: visible !important;
}
.close {
  right: 20px !important;
  top: 20px !important;
}

@media (max-width: 760px) {
  .overlay nav {
    right: 24px !important;
    max-width: calc(100% - 48px) !important;
    font-size: 28px !important;
  }
  .overlay nav a {
    max-width: 100% !important;
  }
}
