:root{
  --white:#ffffff;--black:#0a0a0a;--gray1:#f8f8f8;--gray2:#ebebeb;
  --gray3:#d4d4d4;--gray4:#737373;--gray5:#404040;
  --green:#C5A67C;--green2:#8C734B;
  --copper-dark:#8C734B;--copper-mid:#C5A67C;--copper-light:#E6D5B3;
  --copper-gradient:linear-gradient(135deg,#E6D5B3 0%,#C5A67C 50%,#8C734B 100%);
  --border:#e5e5e5;--border-dark:#2a2a2a;
}
@keyframes metallicSweep{0%{left:-100%;opacity:1;}30%,100%{left:220%;opacity:.6;}}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--white);color:var(--black);font-family:'Inter',sans-serif;font-weight:400;overflow-x:hidden;line-height:1.6;}
.scroll-progress{position:fixed;top:0;left:0;height:3px;background:var(--copper-gradient);z-index:10000;width:0%;transition:width .1s ease-out;}
/* NAV */
.nav-wrap{position:fixed;top:0;left:0;right:0;z-index:999;}
nav{width:100%;height:54px;background:transparent;border-bottom:1px solid transparent;display:flex;align-items:center;transition:all .3s ease;}
.nav-wrap.is-scrolled nav{background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);box-shadow:0 4px 20px rgba(0,0,0,.03);}
.nav-wrap.solid nav{background:#ffffff;border-bottom:1px solid var(--border);}
.nav-inner{width:100%;max-width:1280px;margin:0 auto;padding:0 2.5rem;display:flex;align-items:center;}
.logo{font-size:1.1rem;font-weight:900;letter-spacing:-.03em;color:var(--white);text-decoration:none;display:flex;align-items:center;gap:.5rem;transition:color .3s ease;}
.nav-wrap.is-scrolled .logo,.nav-wrap.solid .logo{color:var(--black);}
.logo-box{width:22px;height:22px;background:var(--copper-gradient);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.logo-box svg{width:12px;height:12px;fill:#fff;}
.logo-name span{color:var(--copper-mid);}
.nav-links{display:flex;list-style:none;margin-left:3rem;}
.nav-links li a{font-size:.85rem;font-weight:600;color:rgba(255,255,255,.7);text-decoration:none;padding:0 1rem;height:54px;display:flex;align-items:center;transition:color .2s ease;}
.nav-links li a:hover{color:var(--white);}
.nav-links li a.active{color:var(--copper-light);}
.nav-wrap.is-scrolled .nav-links li a,.nav-wrap.solid .nav-links li a{color:var(--gray4);}
.nav-wrap.is-scrolled .nav-links li a:hover,.nav-wrap.solid .nav-links li a:hover{color:var(--black);}
.nav-wrap.is-scrolled .nav-links li a.active,.nav-wrap.solid .nav-links li a.active{color:var(--copper-mid);}
.nav-right{margin-left:auto;}
.btn-nav{font-size:.8rem;font-weight:700;background:var(--white);color:var(--black);padding:0 1.25rem;height:34px;border-radius:4px;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;transition:all .2s;}
.btn-nav:hover{background:var(--copper-mid);color:var(--white);}
.nav-wrap.is-scrolled .btn-nav,.nav-wrap.solid .btn-nav{background:var(--black);color:var(--copper-mid);}
.nav-wrap.is-scrolled .btn-nav:hover,.nav-wrap.solid .btn-nav:hover{background:var(--copper-mid);color:var(--white);}
/* BUTTONS */
.btn-green{font-size:.85rem;font-weight:700;background:var(--black);color:var(--green);padding:.75rem 1.75rem;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;border-radius:4px;transition:all .2s;}
.btn-green:hover{background:var(--green);color:var(--white);}
.btn-black{font-size:.9rem;font-weight:700;background:var(--black);color:var(--white);border:1px solid var(--black);padding:1rem 2.25rem;border-radius:4px;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:all .2s;}
.btn-black:hover{background:var(--copper-mid);border-color:var(--copper-mid);color:var(--white);transform:translateY(-2px);box-shadow:0 8px 20px rgba(197,166,124,.2);}
.btn-outline{font-size:.9rem;font-weight:600;background:transparent;border:1px solid var(--gray3);color:var(--black);padding:1rem 2.25rem;border-radius:4px;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:all .2s;}
.btn-outline:hover{border-color:var(--copper-mid);color:var(--copper-mid);transform:translateY(-2px);}
.arrow-icon{color:inherit;font-size:1.1rem;}
.btn-shine{position:relative;overflow:hidden;font-size:.9rem;font-weight:700;background:var(--black);color:var(--white);border:1px solid var(--copper-dark);padding:1rem 2.25rem;border-radius:4px;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:all .3s cubic-bezier(.16,1,.3,1);z-index:1;}
.btn-shine::before{content:'';position:absolute;top:0;left:-100%;width:55%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(230,213,179,.25) 40%,rgba(255,245,220,.45) 55%,rgba(230,213,179,.25) 70%,transparent 100%);transform:skewX(-20deg);animation:metallicSweep 3.2s ease-in-out infinite;pointer-events:none;}
.btn-shine:hover{border-color:var(--copper-light);box-shadow:0 0 28px rgba(197,166,124,.35);transform:translateY(-2px);}
.btn-shine-outline{position:relative;overflow:hidden;font-size:.9rem;font-weight:600;background:transparent;color:rgba(255,255,255,.75);border:1px solid rgba(197,166,124,.35);padding:1rem 2.25rem;border-radius:4px;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:all .3s ease;}
.btn-shine-outline:hover{border-color:var(--copper-mid);color:var(--copper-light);}
/* PAGE HERO (non-home) */
.page-hero{background:var(--black);padding:10rem 2.5rem 5rem;position:relative;overflow:hidden;}
.page-hero::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 70% 50%,rgba(197,166,124,.08),transparent);}
.page-hero-inner{max-width:1280px;margin:0 auto;position:relative;z-index:1;}
.page-hero .stag{color:rgba(255,255,255,.4);}
.page-hero .stag::before{background:var(--copper-mid);}
.page-hero h1{color:var(--white);font-size:clamp(2.5rem,5vw,5rem);font-weight:900;letter-spacing:-.04em;line-height:.95;margin-top:.75rem;}
.page-hero h1 .g{background:var(--copper-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.page-hero-sub{color:rgba(255,255,255,.55);font-size:1.05rem;margin-top:1.25rem;max-width:50ch;line-height:1.7;}
/* SHARED */
.section-wrap{max-width:1280px;margin:0 auto;padding:6rem 2.5rem;}
.section-header{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:3rem;border-bottom:1px solid var(--border);margin-bottom:3rem;flex-wrap:wrap;gap:2rem;}
.stag{font-family:'DM Mono',monospace;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gray4);margin-bottom:.75rem;display:flex;align-items:center;gap:.6rem;font-weight:500;}
.stag::before{content:'';width:16px;height:2px;background:var(--copper-mid);}
h2{font-size:clamp(2rem,4vw,3.5rem);font-weight:900;letter-spacing:-.04em;line-height:1;color:var(--black);}
.section-sub{color:var(--gray5);max-width:50ch;margin-top:1rem;font-size:1rem;line-height:1.7;}
/* CAPS */
.cap-section{border-bottom:1px solid var(--border);}
.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border);}
.cap{padding:3rem 2.5rem;border-right:1px solid var(--border);border-bottom:1px solid var(--border);transition:background .2s,transform .2s;cursor:default;background:var(--white);}
.cap:nth-child(3n){border-right:none;}
.cap:nth-child(n+4){border-bottom:none;}
.cap:hover{background:var(--gray1);transform:translateY(-4px);box-shadow:0 10px 30px rgba(0,0,0,.03);}
.cap-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:2rem;}
.cap-icon{width:48px;height:48px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--white);transition:border-color .3s,box-shadow .3s,transform .3s;}
.cap:hover .cap-icon{border-color:var(--copper-mid);box-shadow:0 6px 18px rgba(197,166,124,.12);transform:scale(1.05);}
.cap-icon svg{width:24px;height:24px;stroke:url(#iconGradient);fill:none;stroke-width:1.5;}
.cap-num{font-family:'DM Mono',monospace;font-size:.65rem;color:var(--gray4);letter-spacing:.12em;}
.cap-title{font-size:1.1rem;font-weight:800;color:var(--black);margin-bottom:.75rem;letter-spacing:-.02em;}
.cap-desc{font-size:.9rem;color:var(--gray5);line-height:1.75;}
.cap-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem;}
.ctag{font-family:'DM Mono',monospace;font-size:.65rem;padding:.3rem .6rem;border:1px solid var(--border);color:var(--gray5);border-radius:4px;background:var(--white);}
.cap-arrow{color:var(--copper-mid);font-size:1.2rem;opacity:0;transition:opacity .2s,transform .2s;}
.cap:hover .cap-arrow{opacity:1;transform:translate(4px,-4px);}
/* PROCESS */
.process-section{border-bottom:1px solid var(--border);background:var(--gray1);}
.process-layout{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--border);}
.process-canvas-col{border-right:1px solid var(--border);background:var(--white);position:relative;min-height:520px;}
canvas#pipeCanvas{width:100%;height:100%;display:block;}
.pipe-hud{position:absolute;bottom:0;left:0;right:0;border-top:1px solid var(--border);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,.9);backdrop-filter:blur(5px);}
.pipe-hud-l{font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.12em;color:var(--copper-mid);font-weight:500;}
.pipe-hud-r{font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.1em;color:var(--gray4);}
.process-steps-col{display:flex;flex-direction:column;background:var(--white);}
.pstep{padding:3rem 2.5rem;border-bottom:1px solid var(--border);display:flex;gap:2rem;transition:background .2s;}
.pstep:last-child{border-bottom:none;}
.pstep:hover{background:var(--gray1);}
.pstep-n{font-size:3.5rem;font-weight:900;line-height:.8;color:var(--gray3);letter-spacing:-.05em;flex-shrink:0;width:3.5rem;transition:color .3s;}
.pstep:hover .pstep-n{color:var(--copper-mid);}
.pstep-title{font-size:1.1rem;font-weight:800;color:var(--black);margin-bottom:.5rem;letter-spacing:-.01em;}
.pstep-desc{font-size:.9rem;color:var(--gray5);line-height:1.7;}
.pstep-meta{font-family:'DM Mono',monospace;font-size:.65rem;color:var(--copper-mid);letter-spacing:.1em;margin-top:.75rem;font-weight:500;}
/* APPS */
.app-section{border-bottom:1px solid var(--border);}
.app-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border);}
.app{padding:2.5rem;border-right:1px solid var(--border);border-bottom:1px solid var(--border);transition:background .2s;cursor:default;position:relative;}
.app:nth-child(3n){border-right:none;}
.app:nth-child(n+4){border-bottom:none;}
.app:hover{background:var(--gray1);}
.app-num{font-family:'DM Mono',monospace;font-size:.65rem;color:var(--gray4);letter-spacing:.12em;margin-bottom:1rem;}
.app-ico{font-size:2.2rem;margin-bottom:1.2rem;display:block;line-height:1;filter:grayscale(100%);transition:filter .3s;}
.app:hover .app-ico{filter:grayscale(0%);}
.app-title{font-size:1.05rem;font-weight:800;color:var(--black);margin-bottom:.5rem;letter-spacing:-.01em;}
.app-desc{font-size:.9rem;color:var(--gray5);line-height:1.7;}
.app-arrow{position:absolute;bottom:2rem;right:2rem;color:var(--copper-mid);font-size:1.2rem;opacity:0;transition:opacity .2s,transform .2s;}
.app:hover .app-arrow{opacity:1;transform:translate(4px,-4px);}
/* SPECS */
.specs-section{border-bottom:1px solid var(--border);background:var(--gray1);}
.specs-layout{display:grid;grid-template-columns:1fr 1fr;gap:5rem;padding-top:3rem;}
.specs-table{border:1px solid var(--border);background:var(--white);box-shadow:0 10px 30px rgba(0,0,0,.02);}
.specs-head{background:var(--black);padding:1rem 1.5rem;font-family:'DM Mono',monospace;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:#fff;}
.srow{display:flex;border-bottom:1px solid var(--border);transition:background .2s;}
.srow:last-child{border-bottom:none;}
.srow:hover{background:var(--gray1);}
.sk{padding:1rem 1.5rem;font-family:'DM Mono',monospace;font-size:.7rem;color:var(--gray5);letter-spacing:.06em;min-width:160px;flex-shrink:0;border-right:1px solid var(--border);font-weight:500;}
.sv{padding:1rem 1.5rem;font-family:'DM Mono',monospace;font-size:.75rem;color:var(--black);font-weight:600;}
.perf-list{display:flex;flex-direction:column;gap:2.5rem;justify-content:center;}
.perf-label{font-family:'DM Mono',monospace;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gray5);margin-bottom:.5rem;}
.perf-val{font-size:3rem;font-weight:900;letter-spacing:-.04em;color:var(--black);line-height:1;}
.perf-sub{font-family:'DM Mono',monospace;font-size:.65rem;color:var(--copper-mid);letter-spacing:.08em;margin-top:.4rem;font-weight:500;}
.perf-track{height:3px;background:var(--border);margin-top:1rem;border-radius:2px;overflow:hidden;}
.perf-fill{height:100%;background:var(--copper-mid);width:0;transition:width 1.5s cubic-bezier(.22,1,.36,1);}
/* STATS */
.stats-row{border-bottom:1px solid var(--border);background:var(--gray1);}
.stats-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);}
.stat{padding:3rem 2.5rem;border-right:1px solid var(--border);}
.stat:last-child{border-right:none;}
.stat-val{font-size:3rem;font-weight:900;letter-spacing:-.05em;color:var(--black);display:block;line-height:1;}
.stat-val .unit{font-size:1.5rem;color:var(--copper-mid);}
.stat-label{font-size:.8rem;color:var(--gray4);margin-top:.5rem;font-weight:600;}
/* LOGOS */
.logos-section{border-bottom:1px solid var(--border);padding:4rem 2.5rem;}
.logos-inner{max-width:1280px;margin:0 auto;}
.logos-label{font-family:'DM Mono',monospace;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gray4);margin-bottom:2rem;text-align:center;}
.logos-row{display:flex;align-items:center;justify-content:center;gap:4rem;flex-wrap:wrap;}
.lp{font-family:'DM Mono',monospace;font-size:.9rem;letter-spacing:.15em;color:var(--gray3);font-weight:700;text-transform:uppercase;transition:color .2s;}
.lp:hover{color:var(--black);}
/* CTA */
.cta-section{background:var(--white);}
.cta-inner{max-width:1280px;margin:0 auto;padding:6rem 2.5rem;display:flex;align-items:flex-end;justify-content:space-between;gap:4rem;flex-wrap:wrap;}
.cta-stag{font-family:'DM Mono',monospace;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gray5);margin-bottom:1rem;display:flex;align-items:center;gap:.6rem;font-weight:500;}
.cta-stag::before{content:'';width:20px;height:2px;background:var(--copper-mid);}
.cta-section h2{color:var(--black);font-size:clamp(2.5rem,5vw,4rem);font-weight:900;letter-spacing:-.04em;line-height:.95;max-width:18ch;}
.cta-sub{color:var(--gray5);font-size:1rem;margin-top:1rem;max-width:46ch;line-height:1.7;}
.cta-actions{display:flex;flex-direction:column;gap:1rem;flex-shrink:0;}
/* CONTACT FORM */
.contact-section{background:var(--white);border-bottom:1px solid var(--border);}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start;}
.contact-form{display:flex;flex-direction:column;gap:1.25rem;}
.form-group{display:flex;flex-direction:column;gap:.5rem;}
.form-group label{font-family:'DM Mono',monospace;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gray5);font-weight:500;}
.form-group input,.form-group textarea,.form-group select{font-family:'Inter',sans-serif;font-size:.9rem;color:var(--black);background:var(--white);border:1px solid var(--border);padding:.9rem 1.1rem;border-radius:4px;transition:border-color .2s;outline:none;width:100%;}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--copper-mid);}
.form-group textarea{resize:vertical;min-height:140px;}
.form-group select{appearance:none;cursor:pointer;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;}
.contact-info{display:flex;flex-direction:column;gap:2rem;}
.ci-item{border-bottom:1px solid var(--border);padding-bottom:2rem;}
.ci-item:last-child{border-bottom:none;}
.ci-label{font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--copper-mid);margin-bottom:.5rem;font-weight:500;}
.ci-val{font-size:1rem;font-weight:600;color:var(--black);}
.ci-sub{font-size:.85rem;color:var(--gray4);margin-top:.25rem;}
/* FOOTER */
footer{border-top:1px solid var(--border);background:var(--black);color:var(--white);}
.footer-top{max-width:1280px;margin:0 auto;padding:5rem 2.5rem 4rem;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:4rem;border-bottom:1px solid var(--border-dark);}
.footer-logo{font-size:1.2rem;font-weight:900;letter-spacing:-.03em;color:var(--white);text-decoration:none;display:flex;align-items:center;gap:.5rem;margin-bottom:1.25rem;}
.footer-logo span{color:var(--copper-mid);}
.footer-desc{font-size:.9rem;color:rgba(255,255,255,.4);line-height:1.7;max-width:32ch;}
.footer-col-title{font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:1.5rem;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:.75rem;}
.footer-col ul a{font-size:.9rem;color:rgba(255,255,255,.5);text-decoration:none;transition:color .2s;}
.footer-col ul a:hover{color:var(--white);}
.footer-bottom{max-width:1280px;margin:0 auto;padding:2rem 2.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem;}
.footer-copy{font-family:'DM Mono',monospace;font-size:.65rem;color:rgba(255,255,255,.3);letter-spacing:.08em;}
.footer-legal{display:flex;gap:2rem;}
.footer-legal a{font-family:'DM Mono',monospace;font-size:.65rem;color:rgba(255,255,255,.3);text-decoration:none;transition:color .2s;letter-spacing:.06em;}
.footer-legal a:hover{color:rgba(255,255,255,.7);}
/* REVEAL */
.reveal-up{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);}
.reveal-up.is-visible{opacity:1;transform:translateY(0);}
/* RESPONSIVE */
@media(max-width:1024px){
  .cap-grid{grid-template-columns:1fr 1fr;}
  .cap:nth-child(2n){border-right:none!important;}
  .cap:nth-child(n+3){border-bottom:1px solid var(--border)!important;}
  .cap:last-child{border-bottom:none!important;}
  .process-layout{grid-template-columns:1fr;}
  .process-canvas-col{min-height:300px;border-right:none;border-bottom:1px solid var(--border);}
  .app-grid{grid-template-columns:1fr 1fr;}
  .app:nth-child(2n){border-right:none!important;}
  .footer-top{grid-template-columns:1fr 1fr;}
  .stats-inner{grid-template-columns:1fr 1fr;}
  .stat{border-bottom:1px solid var(--border);}
  .nav-links{display:none;}
  .specs-layout,.contact-layout{grid-template-columns:1fr;}
}
@media(max-width:640px){
  .section-wrap{padding:4rem 1.5rem;}
  .cap-grid,.app-grid{grid-template-columns:1fr;}
  .cap,.app{border-right:none!important;}
  .stats-inner{grid-template-columns:1fr 1fr;}
  .cta-inner{flex-direction:column;align-items:flex-start;}
  .footer-top{grid-template-columns:1fr;}
  .logos-row{gap:2rem;justify-content:flex-start;}
  .form-row{grid-template-columns:1fr;}
  .page-hero{padding:8rem 1.5rem 4rem;}
}

/* ── PAGE TRANSITION OVERLAY ── */
#page-overlay {
  position: fixed;
  inset: 0;
  background: #ffffff;
  z-index: 99999;
  opacity: 1;
  pointer-events: all;
  transition: opacity 0.32s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ── CONTENT SLIDE-UP ON ENTER ── */
.page-hero-inner,
.hero > *,
.section-wrap > * {
  animation: pageEnter 0.6s cubic-bezier(0.16, 1, 0.3, 1) both;
}
@keyframes pageEnter {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
