:root{
    --ink:#080D17; --surface:#0F1A2C; --surface-alt:#132239;
    --line: rgba(237,242,247,0.08); --line-strong: rgba(237,242,247,0.18);
    --text:#EDF2F7; --muted:#8A96AC;
    --gold:#E8B34E; --gold-dim: rgba(232,179,78,0.14);
    --teal:#2FD8C7; --teal-dim: rgba(47,216,199,0.14);
    --violet:#8B7CF6; --violet-dim: rgba(139,124,246,0.14);
    --danger:#FF6B6B;
    --sans:'Space Grotesk', sans-serif; --body:'Inter', sans-serif; --mono:'JetBrains Mono', monospace;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{background:var(--ink); color:var(--text); font-family:var(--body); line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important;}
  }
  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}
  .wrap{max-width:1200px; margin:0 auto; padding:0 32px;}
  ::selection{background:var(--gold); color:var(--ink);}
  :focus-visible{outline:2px solid var(--teal); outline-offset:3px;}
  ::-webkit-scrollbar{width:10px; height:10px;}
  ::-webkit-scrollbar-track{background:var(--ink);}
  ::-webkit-scrollbar-thumb{background:linear-gradient(var(--gold),var(--teal)); border-radius:6px;}
  html{scrollbar-color:var(--teal) var(--ink); scrollbar-width:thin;}

  .grain{position:fixed; inset:0; pointer-events:none; z-index:2; opacity:.035; mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

  .spotlight{position:fixed; inset:0; pointer-events:none; z-index:1;
    background:radial-gradient(420px circle at var(--sx,50%) var(--sy,30%), rgba(47,216,199,0.06), transparent 70%);
    transition:background .1s ease-out;}

  header{position:sticky; top:0; z-index:60; background:rgba(8,13,23,0.78); backdrop-filter:blur(16px); border-bottom:1px solid var(--line);}
  nav{display:flex; align-items:center; justify-content:space-between; padding:16px 32px; max-width:1200px; margin:0 auto; position:relative;}
  .brand{display:flex; align-items:center; gap:12px;}
  .logo-chip{display:flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:10px; background:#F4F6F8; padding:5px; flex-shrink:0; box-shadow:0 0 0 1px var(--line-strong);}
  .logo-chip img{width:100%; height:100%; object-fit:contain;}
  .brand-name{font-family:var(--sans); font-weight:700; font-size:1.05rem; letter-spacing:0.03em; text-transform:uppercase;}
  .brand-name em{font-style:normal; color:var(--teal);}
  nav ul{display:flex; gap:8px; list-style:none;}
  nav ul li a{position:relative; font-size:0.9rem; color:var(--muted); font-weight:500; padding:8px 14px; display:inline-block; transition:color .2s ease;}
  nav ul li a::after{content:''; position:absolute; left:14px; right:14px; bottom:2px; height:2px; background:linear-gradient(90deg,var(--gold),var(--teal)); transform:scaleX(0); transform-origin:left; transition:transform .3s ease;}
  nav ul li a:hover{color:var(--text);}
  nav ul li a:hover::after, nav ul li a.active::after{transform:scaleX(1);}
  nav ul li a.active{color:var(--text);}
  .nav-cta{display:flex; align-items:center; gap:14px;}
  .btn{position:relative; overflow:hidden; display:inline-flex; align-items:center; gap:8px; padding:12px 24px; border-radius:3px; font-weight:600; font-size:0.86rem; font-family:var(--sans); border:1px solid var(--line-strong); cursor:pointer; transition:transform .2s ease, box-shadow .3s ease, border-color .2s ease, background .2s ease, color .2s ease; background:none; color:var(--text);}
  .btn:hover{transform:translateY(-2px); box-shadow:0 10px 26px -10px rgba(0,0,0,0.6);}
  .btn:active{transform:translateY(0);}
  .btn-solid{background:var(--text); color:var(--ink); border-color:var(--text);}
  .btn-solid:hover{background:var(--teal); border-color:var(--teal); color:var(--ink);}
  .btn-line:hover{border-color:var(--gold); color:var(--gold);}
  .btn .ripple{position:absolute; border-radius:50%; background:rgba(255,255,255,0.35); transform:scale(0); animation:ripple-anim .6s ease-out; pointer-events:none;}
  @keyframes ripple-anim{ to{ transform:scale(2.6); opacity:0; } }
  .menu-toggle{display:none; background:none; border:none; color:var(--text); cursor:pointer; padding:4px;}
  .menu-toggle .bar{display:block; width:22px; height:2px; background:var(--text); margin:5px 0; transition:transform .25s ease, opacity .25s ease;}
  .menu-toggle[aria-expanded="true"] .bar:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .menu-toggle[aria-expanded="true"] .bar:nth-child(2){opacity:0;}
  .menu-toggle[aria-expanded="true"] .bar:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  .scroll-progress{position:fixed; top:0; left:0; height:2px; background:linear-gradient(90deg,var(--gold),var(--teal)); width:0%; z-index:70; transition:width .1s linear;}

  .hero{position:relative; padding:130px 32px 0; overflow:hidden;}
  .hero::before{content:''; position:absolute; inset:0; background:var(--ink); z-index:-2;}
  .hero-inner{max-width:1200px; margin:0 auto; padding-bottom:64px; position:relative; z-index:2;}

  .fusion-core{position:absolute; top:6%; right:-10%; width:560px; height:560px; pointer-events:none; z-index:-1; opacity:.4;}
  .blob-organic{position:absolute; left:8%; top:14%; width:300px; height:300px;
    background:linear-gradient(135deg, var(--gold), var(--violet));
    filter:blur(55px); opacity:.5; border-radius:62% 38% 55% 45% / 45% 55% 45% 55%;
    animation:blob-morph 14s ease-in-out infinite, blob-drift 18s ease-in-out infinite;}
  @keyframes blob-morph{0%,100%{border-radius:62% 38% 55% 45% / 45% 55% 45% 55%;} 50%{border-radius:40% 60% 45% 55% / 55% 45% 60% 40%;}}
  @keyframes blob-drift{0%,100%{transform:translate(0,0) scale(1);} 50%{transform:translate(24px,-18px) scale(1.06);}}
  .geo-wire{position:absolute; right:4%; top:0; width:380px; height:380px; opacity:.55; animation:geo-spin 46s linear infinite;}
  @keyframes geo-spin{to{transform:rotate(360deg);}}
  .fusion-seam{position:absolute; left:46%; top:6%; width:3px; height:88%;
    background:linear-gradient(180deg, transparent, var(--gold), var(--violet), var(--teal), transparent);
    filter:blur(8px); opacity:.45; animation:seam-pulse 5s ease-in-out infinite;}
  @keyframes seam-pulse{0%,100%{opacity:.25;} 50%{opacity:.6;}}
  @media (prefers-reduced-motion: reduce){.blob-organic,.geo-wire,.fusion-seam{animation:none;}}

  .product-demo{position:absolute; top:16%; right:4%; width:380px; z-index:1; opacity:0; animation:demo-in .8s cubic-bezier(.2,.8,.2,1) .5s forwards;}
  @keyframes demo-in{from{opacity:0; transform:perspective(1000px) rotateY(-8deg) translateY(20px);} to{opacity:1; transform:perspective(1000px) rotateY(-6deg) translateY(0);}}
  .demo-window{background:var(--surface); border:1px solid var(--line-strong); border-radius:10px; overflow:hidden; box-shadow:0 40px 80px -30px rgba(0,0,0,0.7); transform:perspective(1000px) rotateY(-6deg);}
  .demo-bar{display:flex; align-items:center; gap:6px; padding:10px 14px; background:var(--surface-alt); border-bottom:1px solid var(--line);}
  .demo-dot{width:8px; height:8px; border-radius:50%; display:inline-block;}
  .demo-dot.r{background:#FF6B6B;} .demo-dot.y{background:var(--gold);} .demo-dot.g{background:var(--teal);}
  .demo-title{margin-left:10px; font-family:var(--mono); font-size:0.68rem; color:var(--muted);}
  .demo-body{display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px; padding:14px;}
  .demo-col{background:var(--ink); border-radius:6px; padding:8px; min-height:120px; display:flex; flex-direction:column; gap:6px;}
  .demo-col-head{font-family:var(--mono); font-size:0.6rem; text-transform:uppercase; letter-spacing:0.06em; color:var(--muted); margin-bottom:2px;}
  .demo-card{background:var(--surface-alt); border:1px solid var(--line); border-radius:5px; padding:8px 9px; font-size:0.68rem; font-family:var(--body); color:var(--text); animation:card-settle .5s ease;}
  @keyframes card-settle{from{opacity:0; transform:translateY(-6px) scale(0.95);} to{opacity:1; transform:translateY(0) scale(1);}}
  .demo-footer{display:flex; align-items:center; gap:8px; padding:10px 14px; border-top:1px solid var(--line); font-family:var(--mono); font-size:0.65rem; color:var(--muted);}
  .demo-live-dot{width:6px; height:6px; border-radius:50%; background:var(--teal); box-shadow:0 0 6px var(--teal); animation:live-pulse 1.6s ease-in-out infinite;}
  @keyframes live-pulse{0%,100%{opacity:1;} 50%{opacity:.35;}}
  @media (prefers-reduced-motion: reduce){.product-demo{animation:none; opacity:1;} .demo-card{animation:none;} .demo-live-dot{animation:none;}}
  @media (max-width:1300px){.product-demo{display:none;}}

  .hero-particles{position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none;}
  .hero-particles .dot{position:absolute; border-radius:50%; animation-timing-function:ease-in-out; animation-iteration-count:infinite;}
  .hero-particles .dot.gold{background:var(--gold); box-shadow:0 0 10px rgba(232,179,78,0.7);}
  .hero-particles .dot.teal{background:var(--teal); box-shadow:0 0 10px rgba(47,216,199,0.7);}
  @keyframes float-a{0%,100%{transform:translate(0,0); opacity:.5;} 50%{transform:translate(14px,-22px); opacity:.9;}}
  @keyframes float-b{0%,100%{transform:translate(0,0); opacity:.4;} 50%{transform:translate(-18px,-14px); opacity:.85;}}
  @keyframes float-c{0%,100%{transform:translate(0,0); opacity:.55;} 50%{transform:translate(10px,18px); opacity:.9;}}
  @media (prefers-reduced-motion: reduce){.hero-particles .dot{animation:none !important;}}

  .eyebrow{font-family:var(--mono); font-size:0.75rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--muted); display:flex; align-items:center; gap:10px; margin-bottom:26px; opacity:0; animation:fade-up .7s ease forwards;}
  .eyebrow .dot{width:6px; height:6px; background:var(--teal); border-radius:50%; box-shadow:0 0 8px var(--teal);}
  h1.hero-title{font-family:var(--sans); font-weight:700; font-size:clamp(2.3rem,5.2vw,4.1rem); line-height:1.12; letter-spacing:-0.005em; max-width:840px; text-transform:uppercase;}
  h1.hero-title .word{display:inline-block; opacity:0; transform:translateY(24px); animation:word-in .7s cubic-bezier(.2,.8,.2,1) forwards;}
  h1.hero-title .grad{background:linear-gradient(100deg,var(--gold),var(--teal)); background-size:200% auto; -webkit-background-clip:text; background-clip:text; color:transparent; animation:word-in .7s cubic-bezier(.2,.8,.2,1) forwards, grad-shift 6s ease-in-out infinite 1s;}
  @keyframes word-in{to{opacity:1; transform:translateY(0);}}
  @keyframes grad-shift{0%,100%{background-position:0% 50%;} 50%{background-position:100% 50%;}}
  @keyframes fade-up{to{opacity:1;}}
  .hero-sub{max-width:560px; margin-top:24px; color:var(--muted); font-size:1.05rem; line-height:1.7; opacity:0; animation:fade-up-y .7s ease .4s forwards;}
  @keyframes fade-up-y{from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:translateY(0);}}
  .hero-actions{display:flex; gap:16px; margin-top:38px; flex-wrap:wrap; opacity:0; animation:fade-up-y .7s ease .55s forwards;}
  @media (prefers-reduced-motion: reduce){
    .eyebrow,.hero-title .word,.hero-title .grad,.hero-sub,.hero-actions{animation:none; opacity:1; transform:none;}
  }

  .cycle-wrap{position:relative; overflow:hidden; vertical-align:top; height:1.15em;}
  .cycle-inner{display:inline-block; color:var(--teal);}
  .cycle-inner.swap{animation:cycle-swap .5s cubic-bezier(.2,.8,.2,1);}
  @keyframes cycle-swap{0%{transform:translateY(0.3em); opacity:0;} 100%{transform:translateY(0); opacity:1;}}

  .trust-strip{display:flex; gap:26px; flex-wrap:wrap; margin-top:28px; opacity:0; animation:fade-up-y .7s ease .62s forwards;}
  .trust-strip span{display:inline-flex; align-items:center; gap:8px; font-size:0.84rem; color:var(--muted); font-family:var(--body);}

  .fusion-strip{margin-top:76px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:28px; opacity:0; animation:fade-up-y .7s ease .7s forwards;}
  .fusion-side{display:flex; align-items:center; gap:14px; padding:18px 22px; border:1px solid var(--line); background:var(--surface); backdrop-filter:blur(6px);}
  .fusion-side .tag{font-family:var(--mono); font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase;}
  .fusion-side.left .tag{color:var(--gold);}
  .fusion-side.right .tag{color:var(--teal);}
  .fusion-side p{font-size:0.86rem; color:var(--muted); margin-top:2px;}
  .fusion-side.right{flex-direction:row-reverse; text-align:right;}
  .fuse-icon{width:26px; height:26px; flex-shrink:0;}
  .fusion-glyph{width:52px; height:52px; justify-self:center;}

  .hero-chevron{position:relative; z-index:1; display:flex; justify-content:center; padding-bottom:8px;}
  .hero-chevron svg{animation:bounce-y 2s ease-in-out infinite;}
  @keyframes bounce-y{0%,100%{transform:translateY(0);} 50%{transform:translateY(6px);}}

  .ticker{overflow:hidden; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--surface); padding:16px 0;}
  .ticker-track{display:flex; gap:56px; white-space:nowrap; width:max-content; animation:ticker-scroll 26s linear infinite;}
  .ticker:hover .ticker-track{animation-play-state:paused;}
  @keyframes ticker-scroll{from{transform:translateX(0);} to{transform:translateX(-50%);}}
  .ticker-item{font-family:var(--sans); font-weight:600; font-size:0.95rem; letter-spacing:0.04em; text-transform:uppercase; color:var(--muted); display:flex; align-items:center; gap:18px;}
  .ticker-item .sep{color:var(--gold);}
  @media (prefers-reduced-motion: reduce){.ticker-track{animation:none;}}

  section{padding:120px 0; position:relative;}
  .section-head{max-width:640px; margin-bottom:60px;}
  .section-head .eyebrow{margin-bottom:18px; animation:none; opacity:1;}
  .section-head h2{font-family:var(--sans); font-weight:700; font-size:clamp(1.7rem,3.2vw,2.5rem); line-height:1.2; text-transform:uppercase;}
  .section-head h2 .hl{background:linear-gradient(100deg,var(--gold),var(--teal)); -webkit-background-clip:text; background-clip:text; color:transparent;}
  .section-head p{color:var(--muted); margin-top:16px; font-size:1.02rem; line-height:1.65;}

  .reveal{opacity:0; transform:translateY(30px); transition:opacity .7s ease, transform .7s ease;}
  .reveal.in-view{opacity:1; transform:translateY(0);}

  .tilt{transform:perspective(800px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)); transition:transform .15s ease-out, border-color .25s ease, box-shadow .3s ease;}
  .glow-card{position:relative; isolation:isolate;}
  .glow-card::before{content:''; position:absolute; inset:0; border-radius:inherit; opacity:0; transition:opacity .3s ease; pointer-events:none;
    background:radial-gradient(220px circle at var(--mx,50%) var(--my,50%), rgba(255,255,255,0.10), transparent 65%);}
  .glow-card:hover::before{opacity:1;}

  .services-grid{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line);}
  .service-col{background:var(--ink); padding:48px 42px; position:relative; overflow:hidden;}
  .service-col.identity{border-top:2px solid var(--gold);}
  .service-col.systems{border-top:2px solid var(--teal);}
  .col-head{display:flex; align-items:center; gap:10px; margin-bottom:10px;}
  .col-head .tagpill{font-family:var(--mono); font-size:0.68rem; letter-spacing:0.12em; text-transform:uppercase; padding:4px 10px; border:1px solid var(--line-strong); border-radius:20px; color:var(--muted);}
  .col-title{font-family:var(--sans); font-size:1.55rem; font-weight:700; text-transform:uppercase;}
  .col-desc{color:var(--muted); font-size:0.94rem; margin:14px 0 30px; max-width:420px;}
  .service-list{list-style:none;}
  .service-list li{display:flex; justify-content:space-between; align-items:center; padding:18px 0; border-top:1px solid var(--line); font-size:0.98rem; gap:16px; transition:padding-left .25s ease;}
  .service-list li:first-child{border-top:none;}
  .service-list li:hover{padding-left:8px;}
  .service-list li span.name{font-weight:600; font-family:var(--sans);}
  .service-list li span.desc{color:var(--muted); font-size:0.84rem; text-align:right; max-width:230px;}

  .bento-grid{display:grid; grid-template-columns:repeat(2,1fr); grid-auto-rows:auto; gap:20px;}
  .product-card{background:var(--surface); border:1px solid var(--line); border-radius:8px; padding:30px 24px 32px; overflow:hidden; position:relative;}
  .bento-lg{padding:38px 32px 40px;}
  .bento-lg h3{font-size:1.3rem;}
  .bento-lg p{font-size:0.94rem; max-width:80%;}
  .bento-chip{position:absolute; top:24px; right:24px; font-family:var(--mono); font-size:0.65rem; text-transform:uppercase; letter-spacing:0.06em; padding:5px 10px; border-radius:20px; border:1px solid var(--gold); color:var(--gold); background:var(--gold-dim);}
  .bento-chip.alt{border-color:var(--teal); color:var(--teal); background:var(--teal-dim);}
  .product-card:hover{border-color:var(--teal); box-shadow:0 20px 40px -20px rgba(47,216,199,0.25);}
  .product-icon{width:46px; height:46px; border-radius:10px; border:1px solid var(--line-strong); display:flex; align-items:center; justify-content:center; margin-bottom:22px; color:var(--teal); transition:transform .3s ease, background .3s ease;}
  .product-card:hover .product-icon{transform:rotate(-6deg) scale(1.08); background:var(--teal-dim);}
  .product-card h3{font-family:var(--sans); font-size:1.06rem; font-weight:700; margin-bottom:10px; text-transform:uppercase; letter-spacing:0.01em;}
  .product-card p{color:var(--muted); font-size:0.88rem; line-height:1.55;}

  .process{position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:0; border:1px solid var(--line); border-radius:8px; overflow:hidden;}
  .process-line{position:absolute; top:38px; left:6%; right:6%; height:2px; background:linear-gradient(90deg,var(--gold),var(--teal)); background-size:200% 100%; animation:grad-shift 6s ease-in-out infinite; opacity:.5; z-index:0;}
  .process-step{position:relative; z-index:1; padding:40px 30px; border-left:1px solid var(--line);}
  .process-step:first-child{border-left:none;}
  .process-step .step-index{font-family:var(--sans); font-weight:700; font-size:1.6rem; color:var(--surface-alt); -webkit-text-stroke:1px var(--line-strong); margin-bottom:22px; display:block;}
  .process-step h4{font-family:var(--sans); font-size:1.15rem; font-weight:700; margin-bottom:10px; text-transform:uppercase;}
  .process-step p{color:var(--muted); font-size:0.87rem; line-height:1.55;}

  .work-grid{display:grid; grid-template-columns:1.15fr 1fr; gap:20px;}
  .work-card{position:relative; background:var(--surface); border:1px solid var(--line); border-radius:8px; overflow:hidden; min-height:280px; display:flex; flex-direction:column; justify-content:flex-end; padding:26px;}
  .work-card:hover{border-color:var(--gold);}
  .work-card .mock{position:absolute; inset:0; opacity:0.9; transition:transform .5s ease;}
  .work-card:hover .mock{transform:scale(1.05);}
  .work-card .mock-fade{position:absolute; inset:0; background:linear-gradient(180deg, transparent 20%, var(--ink) 96%);}
  .work-meta{position:relative; z-index:1;}
  .work-tag{font-family:var(--mono); font-size:0.7rem; text-transform:uppercase; letter-spacing:0.1em; color:var(--muted); margin-bottom:8px; display:block;}
  .work-card h3{font-family:var(--sans); font-size:1.3rem; font-weight:700; margin-bottom:6px; text-transform:uppercase;}
  .work-card p{color:var(--muted); font-size:0.86rem; max-width:340px;}

  .stats-bar{display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .stat{padding:36px 30px; border-left:1px solid var(--line); text-align:left;}
  .stat:first-child{border-left:none;}
  .stat .num{font-family:var(--sans); font-weight:700; font-size:2.3rem; color:var(--gold);}
  .stat .num.alt{color:var(--teal);}
  .stat .label{font-size:0.8rem; color:var(--muted); margin-top:6px;}

  .why-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
  .why-card{background:var(--surface); border:1px solid var(--line); border-radius:8px; padding:38px 32px;}
  .why-card:hover{border-color:var(--gold);}
  .why-card .mark{color:var(--gold); font-family:var(--mono); font-size:0.8rem; margin-bottom:20px; display:block;}
  .why-card h4{font-family:var(--sans); font-size:1.15rem; font-weight:700; margin-bottom:10px; text-transform:uppercase;}
  .why-card p{color:var(--muted); font-size:0.88rem; line-height:1.6;}

  .testi-wrap{max-width:720px; margin:0 auto; position:relative;}
  .testi-track-outer{overflow:hidden; border-radius:8px;}
  .testi-track{display:flex; transition:transform .5s cubic-bezier(.2,.8,.2,1);}
  .testi-card{flex:0 0 100%; background:var(--surface); border:1px solid var(--line); padding:40px; text-align:center;}
  .testi-card .stars{color:var(--gold); font-size:0.9rem; margin-bottom:20px; letter-spacing:3px;}
  .testi-card p{font-size:1.05rem; line-height:1.7; color:var(--text); margin-bottom:26px; font-family:var(--sans); font-weight:500;}
  .testi-who{display:flex; align-items:center; justify-content:center; gap:12px;}
  .avatar{width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--sans); font-size:0.85rem; font-weight:700; color:var(--ink);}
  .testi-who .name{font-weight:700; font-size:0.92rem;}
  .testi-who .role{font-size:0.78rem; color:var(--muted);}
  .testi-dots{display:flex; justify-content:center; gap:10px; margin-top:26px;}
  .testi-dots button{width:9px; height:9px; border-radius:50%; border:none; background:var(--line-strong); cursor:pointer; padding:0; transition:background .2s ease, transform .2s ease;}
  .testi-dots button.active{background:linear-gradient(90deg,var(--gold),var(--teal)); transform:scale(1.3);}
  .sample-note{font-family:var(--mono); font-size:0.72rem; color:var(--muted); margin-top:24px; text-align:center;}

  .faq-list{border-top:1px solid var(--line);}
  .faq-item{border-bottom:1px solid var(--line); transition:background .25s ease;}
  .faq-item.open{background:linear-gradient(90deg, var(--teal-dim), transparent 40%);}
  .faq-q{width:100%; text-align:left; background:none; border:none; color:var(--text); cursor:pointer; display:flex; justify-content:space-between; align-items:center; padding:24px 4px; font-size:1.02rem; font-weight:600; font-family:var(--sans); transition:color .2s ease;}
  .faq-q:hover{color:var(--teal);}
  .faq-q .icon{font-family:var(--mono); color:var(--teal); font-size:1.1rem; transition:transform .3s ease;}
  .faq-item.open .faq-q .icon{transform:rotate(45deg);}
  .faq-a{max-height:0; overflow:hidden; transition:max-height .35s ease;}
  .faq-a p{color:var(--muted); font-size:0.92rem; padding:0 4px 24px; max-width:720px; line-height:1.65;}

  .cta-banner{position:relative; overflow:hidden; border:1px solid var(--line); border-radius:10px; padding:70px 60px; display:flex; justify-content:space-between; align-items:center; gap:40px; flex-wrap:wrap;}
  .cta-banner::before{content:''; position:absolute; inset:-2px; background:linear-gradient(120deg,var(--gold-dim),var(--teal-dim)); background-size:220% 220%; animation:grad-shift 8s ease-in-out infinite; z-index:-1;}
  .cta-banner h2{font-family:var(--sans); font-size:clamp(1.6rem,3vw,2.2rem); font-weight:700; max-width:520px; text-transform:uppercase;}

  .contact-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:60px;}
  .contact-info .info-item{margin-bottom:28px;}
  .contact-info .label{font-family:var(--mono); font-size:0.72rem; text-transform:uppercase; letter-spacing:0.1em; color:var(--muted); margin-bottom:6px;}
  .contact-info a{font-size:1rem; transition:color .2s ease;}
  .contact-info a:hover{color:var(--teal);}
  form{display:grid; gap:22px;}
  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:22px;}
  .field{position:relative;}
  .field label{position:absolute; left:14px; top:15px; color:var(--muted); font-size:0.95rem; transition:all .18s ease; pointer-events:none; background:var(--ink); padding:0 5px;}
  input, textarea, select{width:100%; background:var(--ink); border:1px solid var(--line-strong); color:var(--text); padding:15px 14px; font-family:var(--body); font-size:0.95rem; border-radius:4px; transition:border-color .2s ease, box-shadow .2s ease;}
  input:focus, textarea:focus, select:focus{outline:none; border-color:var(--teal); box-shadow:0 0 0 3px var(--teal-dim);}
  .field input:focus + label, .field input:not(:placeholder-shown) + label,
  .field textarea:focus + label, .field textarea:not(:placeholder-shown) + label{top:-9px; left:10px; font-size:0.72rem; color:var(--teal);}
  textarea{resize:vertical; min-height:130px;}
  select{cursor:pointer;}
  .select-label{font-size:0.78rem; color:var(--muted); margin-bottom:8px; display:block;}
  .form-status{font-size:0.9rem; padding:12px 14px; border-radius:4px; display:none;}
  .form-status.show{display:block; animation:fade-slide-in .35s ease;}
  .form-status.ok{background:var(--teal-dim); color:var(--teal); border:1px solid var(--teal);}
  @keyframes fade-slide-in{from{opacity:0; transform:translateY(-6px);} to{opacity:1; transform:translateY(0);}}

  footer{border-top:1px solid var(--line); padding:64px 0 30px; position:relative;}
  .footer-top{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; margin-bottom:60px;}
  .footer-brand p{color:var(--muted); font-size:0.88rem; margin-top:16px; max-width:280px; line-height:1.6;}
  .footer-col h5{font-family:var(--mono); font-size:0.74rem; text-transform:uppercase; letter-spacing:0.1em; color:var(--muted); margin-bottom:18px;}
  .footer-col ul{list-style:none; display:grid; gap:12px;}
  .footer-col ul li a{font-size:0.9rem; color:var(--text); opacity:0.85; transition:opacity .2s ease, color .2s ease;}
  .footer-col ul li a:hover{color:var(--teal); opacity:1;}
  .footer-bottom{border-top:1px solid var(--line); padding-top:26px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; color:var(--muted); font-size:0.8rem;}
  .socials{display:flex; gap:16px;}
  .socials a{color:var(--muted); transition:color .2s ease;}
  .socials a:hover{color:var(--gold);}

  @media (max-width:1100px){
    .fusion-core{opacity:.6;}
  }
  @media (max-width:980px){
    nav ul{display:flex; flex-direction:column; gap:0; position:absolute; top:100%; left:0; right:0; background:var(--ink); border-bottom:1px solid var(--line); max-height:0; overflow:hidden; transition:max-height .35s ease; padding:0 32px;}
    nav ul.open{max-height:320px; padding:12px 32px 20px;}
    nav ul li{border-top:1px solid var(--line);}
    nav ul li:first-child{border-top:none;}
    nav ul li a{display:block; padding:14px 0;}
    nav ul li a::after{display:none;}
    .menu-toggle{display:block;}
    .nav-cta .btn-line{display:none;}
    .services-grid{grid-template-columns:1fr;}
    .why-grid{grid-template-columns:1fr 1fr;}
    .process{grid-template-columns:1fr 1fr;}
    .process-step:nth-child(3){border-left:none;}
    .process-line{display:none;}
    .work-grid{grid-template-columns:1fr;}
    .stats-bar{grid-template-columns:1fr 1fr;}
    .stat:nth-child(3){border-left:none;}
    .contact-grid{grid-template-columns:1fr;}
    .footer-top{grid-template-columns:1fr 1fr;}
    .fusion-core{width:420px; height:420px; opacity:.4;}
    section{padding:88px 0;}
  }
  @media (max-width:680px){
    .wrap, .hero, section{padding-left:20px; padding-right:20px;}
    nav{padding:16px 20px;}
    .hero{padding-top:104px;}
    .bento-grid, .why-grid, .process, .stats-bar{grid-template-columns:1fr;}
    .bento-lg p{max-width:100%;}
    .stat{border-left:none !important; border-top:1px solid var(--line);}
    .stat:first-child{border-top:none;}
    .process-step{border-left:none; border-top:1px solid var(--line);}
    .process-step:first-child{border-top:none;}
    .form-row{grid-template-columns:1fr;}
    .footer-top{grid-template-columns:1fr;}
    .fusion-strip{grid-template-columns:1fr;}
    .fusion-glyph{display:none;}
    .cta-banner{padding:40px 26px;}
    .testi-card{padding:28px 22px;}
    .fusion-core{display:none;}
    .service-col{padding:36px 26px;}
  }
  @media (max-width:400px){
    h1.hero-title{font-size:clamp(1.9rem,8vw,2.4rem);}
    .btn{padding:11px 18px; font-size:0.8rem;}
  }

/* Honeypot field for the contact form — hidden from sighted users; kept out
   of the accessibility tree via aria-hidden in markup, and out of tab order
   via tabindex="-1" on the input. Left empty by humans, often auto-filled by bots. */
.hp-field{position:absolute; left:-9999px; height:0; overflow:hidden;}

/* Shared section-background variant, extracted from repeated inline styles */
.section-alt{background:var(--surface); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.section-alt-noborder{border-bottom:none;}
.wrap-narrow{max-width:820px;}
