:root{
    --bg: #08090d;
    --bg-soft: #0d0f16;
    --panel: rgba(255,255,255,0.07);
    --panel-hover: rgba(255,255,255,0.1);
    --panel-border: rgba(255,255,255,0.09);
    --hairline: rgba(255,255,255,0.07);
    --text: #eceef3;
    --text-dim: #9599ab;
    --text-dimmer: #676b7d;
    --brand: #ff7f30;
    --brand-soft: rgba(255,127,48,0.55);
    --teal: #2fe0c4;
    --teal-soft: rgba(47,224,196,0.45);
    --nav-bg: rgba(10,11,16,0.55);
    --panel-bg-solid: rgba(10,11,16,1);
    --shadow-1: rgba(0,0,0,0.4);
    --shadow-2: rgba(0,0,0,0.6);
    --shadow-hi: rgba(255,255,255,0.06);
    --icon-chip-a: rgba(255,127,48,0.18);
    --icon-chip-b: rgba(47,224,196,0.08);
    --icon-chip-base: rgba(10,10,15,0.4);
    --dot-color: rgba(255,255,255,0.035);
    --blob-opacity: 0.22;
    --glow-1: rgba(255,127,48,0.14);
    --glow-2: rgba(47,224,196,0.08);
    --glow-3: rgba(255,127,48,0.07);
    --glow-4: rgba(47,224,196,0.07);
    --glow-5: rgba(255,127,48,0.06);
    --glow-6: rgba(47,224,196,0.06);
    --radius: 18px;
    --radius-sm: 12px;
    --ease: cubic-bezier(.16,.8,.24,1);
    color-scheme: dark;
  }

  html[data-theme="light"]{
    --bg: #f6f5f1;
    --bg-soft: #ffffff;
    --panel: rgba(255,255,255,0.78);
    --panel-hover: rgba(255,255,255,0.92);
    --panel-border: rgba(20,20,35,0.11);
    --hairline: rgba(20,20,35,0.1);
    --text: #17181d;
    --text-dim: #55575f;
    --text-dimmer: #83858d;
    --brand: #ff7f30;
    --brand-soft: rgba(255,127,48,0.5);
    --teal: #0d9a89;
    --teal-soft: rgba(13,154,137,0.35);
    --nav-bg: rgba(255,255,255,0.65);
    --panel-bg-solid: rgba(255,255,255,1);
    --shadow-1: rgba(30,25,15,0.08);
    --shadow-2: rgba(30,25,15,0.14);
    --shadow-hi: rgba(255,255,255,0.9);
    --icon-chip-a: rgba(255,127,48,0.16);
    --icon-chip-b: rgba(13,154,137,0.1);
    --icon-chip-base: rgba(10,10,15,0.88);
    --dot-color: rgba(20,20,35,0.045);
    --blob-opacity: 0.05;
    --glow-1: rgba(255,127,48,0.045);
    --glow-2: rgba(13,154,137,0.02);
    --glow-3: rgba(255,127,48,0.022);
    --glow-4: rgba(13,154,137,0.015);
    --glow-5: rgba(255,127,48,0.018);
    --glow-6: rgba(13,154,137,0.015);
    color-scheme: light;
  }

  body, .glass, .btn-primary, .btn-ghost, .nav-inner, .mobile-panel{
    transition: background-color .35s var(--ease), border-color .35s var(--ease), box-shadow .35s var(--ease), color .35s var(--ease);
  }

  *{ margin:0; padding:0; box-sizing:border-box; }
  html{ scroll-behavior:smooth; }

  body{
    background:
      radial-gradient(var(--dot-color) 1px, transparent 1px),
      radial-gradient(1100px 600px at 12% -10%, var(--glow-1), transparent 60%),
      radial-gradient(900px 500px at 90% 8%, var(--glow-2), transparent 55%),
      radial-gradient(800px 500px at 88% 32%, var(--glow-3), transparent 55%),
      radial-gradient(900px 550px at 6% 54%, var(--glow-4), transparent 58%),
      radial-gradient(850px 500px at 82% 76%, var(--glow-5), transparent 55%),
      radial-gradient(800px 480px at 14% 94%, var(--glow-6), transparent 55%),
      var(--bg);
    background-size: 28px 28px, auto, auto, auto, auto, auto, auto;
    color:var(--text);
    font-family:'Manrope', sans-serif;
    line-height:1.6;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
  }

  /* ---- Ambient drifting background blobs (behind all content) ---- */
  .bg-decor{
    position:fixed;
    inset:0;
    z-index:0;
    overflow:hidden;
    pointer-events:none;
  }
  .bg-decor .blob{
    position:absolute;
    border-radius:50%;
    filter:blur(90px);
    opacity:var(--blob-opacity);
    will-change:transform;
  }
  .bg-decor .blob-1{
    width:520px; height:520px;
    top:-140px; left:-120px;
    background:radial-gradient(circle at 35% 35%, var(--brand), transparent 70%);
    animation:blobFloat1 24s ease-in-out infinite alternate;
  }
  .bg-decor .blob-2{
    width:600px; height:600px;
    top:38%; right:-180px;
    background:radial-gradient(circle at 60% 40%, var(--teal), transparent 70%);
    animation:blobFloat2 28s ease-in-out infinite alternate;
  }
  .bg-decor .blob-3{
    width:440px; height:440px;
    bottom:-160px; left:18%;
    background:radial-gradient(circle at 50% 50%, var(--brand), transparent 70%);
    animation:blobFloat3 32s ease-in-out infinite alternate;
  }
  @keyframes blobFloat1{
    from{ transform:translate(0,0) scale(1); }
    to{ transform:translate(70px, 50px) scale(1.12); }
  }
  @keyframes blobFloat2{
    from{ transform:translate(0,0) scale(1); }
    to{ transform:translate(-60px, -70px) scale(1.06); }
  }
  @keyframes blobFloat3{
    from{ transform:translate(0,0) scale(1); }
    to{ transform:translate(50px, -40px) scale(1.1); }
  }
  @media (prefers-reduced-motion: reduce){
    .bg-decor .blob{ animation:none; }
  }

  main, footer{ position:relative; z-index:1; }

  h1,h2,h3,h4{
    font-family:'Space Grotesk', sans-serif;
    font-weight:600;
    letter-spacing:-0.02em;
    color:var(--text);
  }

  .mono{ font-family:'JetBrains Mono', monospace; }

  a{ color:inherit; text-decoration:none; }
  img{ max-width:100%; display:block; }
  ul{ list-style:none; }

  ::selection{ background:var(--brand); color:#fff; }

  :focus-visible{
    outline:2px solid var(--teal);
    outline-offset:3px;
    border-radius:4px;
  }

  .wrap{
    max-width:1180px;
    margin:0 auto;
    padding:0 32px;
  }

  .eyebrow{
    font-family:'JetBrains Mono', monospace;
    font-size:12.5px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--teal);
    display:flex;
    align-items:center;
    gap:10px;
  }
  .eyebrow::before{
    content:'';
    width:7px; height:7px;
    border-radius:50%;
    background:var(--teal);
    box-shadow:0 0 10px 2px var(--teal-soft);
    flex-shrink:0;
  }

  /* ---------- Ring border / glass utility ---------- */
  .glass{
    background:
      linear-gradient(150deg, rgba(255,255,255,0.06), rgba(255,255,255,0) 40%),
      var(--panel);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border:1px solid var(--panel-border);
    box-shadow:
      0 0 0 1px var(--shadow-1),
      0 20px 40px -20px var(--shadow-2),
      inset 0 1px 0 var(--shadow-hi);
  }

  .ring{
    position:relative;
  }
  .ring::after{
    content:'';
    position:absolute; inset:0;
    border-radius:inherit;
    padding:1px;
    background:linear-gradient(135deg, rgba(255,127,48,0.55), rgba(47,224,196,0.35) 50%, rgba(255,255,255,0.02));
    -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity:0;
    transition:opacity .4s var(--ease);
    pointer-events:none;
  }
  .ring:hover::after{ opacity:1; }

  /* ---------- Neomorphic buttons ---------- */
  .btn{
    font-family:'Space Grotesk', sans-serif;
    font-weight:600;
    font-size:15px;
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:14px 26px;
    border-radius:14px;
    border:none;
    cursor:pointer;
    transition:transform .25s var(--ease), box-shadow .3s var(--ease), background .3s var(--ease);
    white-space:nowrap;
  }
  .btn-primary{
    color:#0a0a10;
    background:linear-gradient(160deg, #ffb27a, #ff7f30 55%, #f2600f);
    box-shadow:
      0 1px 0 rgba(255,255,255,0.5) inset,
      0 -10px 20px -8px rgba(0,0,0,0.35) inset,
      0 14px 30px -10px rgba(255,127,48,0.55),
      0 0 0 1px rgba(255,127,48,0.3);
  }
  .btn-primary:hover{
    box-shadow:
      0 1px 0 rgba(255,255,255,0.55) inset,
      0 -10px 20px -8px rgba(0,0,0,0.3) inset,
      0 18px 38px -10px rgba(255,127,48,0.7),
      0 0 0 1px rgba(255,127,48,0.55);
  }
  .btn-primary:active{ transform:translateY(0); }

  .btn-ghost{
    color:var(--text);
    background:linear-gradient(160deg, rgba(255,255,255,0.05), rgba(255,255,255,0.015));
    box-shadow:
      0 1px 0 rgba(255,255,255,0.06) inset,
      0 8px 20px -12px rgba(0,0,0,0.7),
      0 0 0 1px rgba(255,255,255,0.09);
  }
  .btn-ghost:hover{
    box-shadow:
      0 1px 0 rgba(255,255,255,0.08) inset,
      0 8px 20px -10px rgba(0,0,0,0.7),
      0 0 0 1px var(--brand-soft),
      0 0 24px -4px rgba(255,127,48,0.35);
  }

  .btn-sm{ padding:10px 18px; font-size:13.5px; border-radius:10px; }

  /* ================= NAV ================= */
  header{
    position:fixed; top:0; left:0; right:0;
    z-index:100;
    padding:18px 0;
  }
  .nav-inner{
    max-width:1180px;
    margin:0 auto;
    padding:12px 16px 12px 22px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    border-radius:16px;
    background:var(--nav-bg);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
    border:1px solid rgba(255,255,255,0.08);
    position:relative;
  }
  .logo{
    display:flex;
    align-items:center;
  }
  .logo img{
    height:44px;
    width:auto;
    display:block;
    filter:drop-shadow(0 0 16px rgba(255,127,48,0.25));
  }
  .foot-brand .logo img{ height:60px; }
  nav ul{ display:flex; gap:30px; align-items:center; }
  nav a.navlink{
    font-size:14.5px;
    color:var(--text-dim);
    transition:color .2s;
    position:relative;
    padding-bottom:2px;
  }
  nav a.navlink:hover{ color:var(--text); }
  nav a.navlink.active{ color:var(--text); }
  nav a.navlink.active::after{
    content:'';
    position:absolute;
    left:0; right:0; bottom:-6px;
    height:2px;
    border-radius:2px;
    background:linear-gradient(90deg, var(--brand), var(--teal));
  }
  .nav-cta{ display:flex; align-items:center; gap:16px; }

  /* ---- Desktop dropdown (Services) ---- */
  li.has-dropdown{ position:relative; }
  li.has-dropdown .dropdown-panel{
    position:absolute;
    top:calc(100% + 16px);
    left:50%;
    transform:translateX(-50%) translateY(8px);
    min-width:250px;
    padding:10px;
    border-radius:14px;
    display:flex;
    flex-direction:column;
    gap:2px;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .2s var(--ease), transform .2s var(--ease);
    z-index:50;
    background:var(--panel-bg-solid);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
    border:1px solid var(--panel-border);
    box-shadow:0 20px 40px -16px rgba(0,0,0,0.5);
  }
  li.has-dropdown::before{
    /* invisible bridge so the panel doesn't close when moving the mouse up into it */
    content:'';
    position:absolute;
    top:100%; left:50%;
    transform:translateX(-50%);
    width:140%;
    height:16px;
  }
  li.has-dropdown:hover .dropdown-panel,
  li.has-dropdown:focus-within .dropdown-panel{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateX(-50%) translateY(0);
  }
  .dropdown-panel a{
    display:block;
    padding:11px 14px;
    border-radius:9px;
    font-size:13.8px;
    color:var(--text-dim);
    transition:background .15s, color .15s;
  }
  .dropdown-panel a:hover{ background:rgba(255,127,48,0.1); color:var(--text); }
  .dropdown-panel a.active{ color:var(--brand); }

  .theme-toggle{
    width:40px; height:40px;
    border-radius:12px;
    border:none;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    color:var(--text-dim);
    background:linear-gradient(160deg, rgba(255,255,255,0.05), rgba(255,255,255,0.015));
    box-shadow:
      0 1px 0 rgba(255,255,255,0.06) inset,
      0 8px 20px -12px rgba(0,0,0,0.7),
      0 0 0 1px rgba(255,255,255,0.09);
    cursor:pointer;
    transition:transform .25s var(--ease), box-shadow .3s var(--ease), color .25s var(--ease);
  }
  .theme-toggle:hover{
    color:var(--text);
    box-shadow:
      0 1px 0 rgba(255,255,255,0.08) inset,
      0 8px 20px -10px rgba(0,0,0,0.7),
      0 0 0 1px var(--brand-soft),
      0 0 20px -4px rgba(255,127,48,0.4);
  }
  .theme-toggle svg{ width:18px; height:18px; }
  .theme-toggle .icon-sun{ display:none; }
  html[data-theme="light"] .theme-toggle .icon-sun{ display:block; }
  html[data-theme="light"] .theme-toggle .icon-moon{ display:none; }
  .mp-cta .theme-toggle{ margin-right:auto; }

  .burger{
    display:none;
    width:40px; height:40px;
    border-radius:10px;
    border:1px solid var(--panel-border);
    background:rgba(255,255,255,0.03);
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    cursor:pointer;
  }
  .burger span{
    width:18px; height:2px;
    background:var(--text);
    border-radius:2px;
    transition:transform .25s var(--ease), opacity .25s var(--ease);
  }
  .burger.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .burger.open span:nth-child(2){ opacity:0; }
  .burger.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

  .mobile-panel{
    display:none;
    position:absolute;
    top:calc(100% + 10px);
    left:0; right:0;
    padding:18px;
    border-radius:16px;
    background:var(--panel-bg-solid);
    backdrop-filter:blur(20px);
    border:1px solid rgba(255,255,255,0.08);
    flex-direction:column;
    gap:4px;
  }
  .mobile-panel.open{ display:flex; }
  .mobile-panel a:not(.btn){
    padding:13px 8px;
    font-size:15.5px;
    color:var(--text-dim);
    border-bottom:1px solid var(--hairline);
  }
  .mobile-panel a:not(.btn):last-of-type{ border-bottom:none; }
  .mobile-panel a.active{ color:var(--brand); }
  .mobile-panel .mp-cta{ margin-top:10px; display:flex; gap:10px; }

  /* ---- Mobile accordion (Services group) ---- */
  .mp-group{ border-bottom:1px solid var(--hairline); }
  .mp-group:last-of-type{ border-bottom:none; }
  .mp-group-toggle{
    display:flex;
    align-items:center;
    justify-content:space-between;
    cursor:pointer;
  }
  .mobile-panel .mp-group-toggle a{ border-bottom:none; padding:13px 8px 13px 0; flex-grow:1; }
  .mp-group-toggle .chevron{
    padding:13px 8px;
    color:var(--text-dimmer);
    font-size:13px;
    transition:transform .25s var(--ease);
  }
  .mp-group.open .mp-group-toggle .chevron{ transform:rotate(180deg); }
  .mp-submenu{
    max-height:0;
    overflow:hidden;
    transition:max-height .35s var(--ease);
    padding-left:6px;
    display:flex;
    flex-direction:column;
    border-left:1px solid var(--hairline);
    margin-left:8px;
  }
  .mp-group.open .mp-submenu{ max-height:500px; }
  .mobile-panel .mp-submenu a{
    display:block;
    width:100%;
    padding:12px 8px 12px 14px;
    font-size:14px;
    color:var(--text-dim);
    border-bottom:1px solid var(--hairline);
  }
  .mobile-panel .mp-submenu a:last-child{ border-bottom:none; }
  .mp-submenu a.active{ color:var(--brand); }

  /* ================= PAGE HERO (inner pages) ================= */
  .page-hero{
    padding:150px 0 50px;
    position:relative;
    overflow:hidden;
  }
  .page-hero .hero-mark{ opacity:0.05; }
  .page-hero h1{
    font-size:44px;
    margin:16px 0 18px;
    max-width:720px;
  }
  .page-hero p.lead{ font-size:17px; color:var(--text-dim); max-width:560px; margin-bottom:0; }
  .breadcrumb{
    font-family:'JetBrains Mono', monospace;
    font-size:12px;
    color:var(--text-dimmer);
    margin-bottom:14px;
  }
  .breadcrumb a:hover{ color:var(--teal); }
  .breadcrumb .sep{ margin:0 6px; }

  /* ================= FAQ ================= */
  .faq-list{ display:flex; flex-direction:column; gap:14px; }
  .faq-item{
    border-radius:var(--radius-sm);
    overflow:hidden;
  }
  .faq-q{
    padding:20px 24px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    cursor:pointer;
    font-family:'Space Grotesk', sans-serif;
    font-size:16px;
    color:var(--text);
  }
  .faq-q .plus{
    font-family:'JetBrains Mono', monospace;
    color:var(--brand);
    font-size:18px;
    transition:transform .3s var(--ease);
    flex-shrink:0;
    margin-left:20px;
  }
  .faq-item.open .faq-q .plus{ transform:rotate(45deg); }
  .faq-a{
    max-height:0;
    overflow:hidden;
    transition:max-height .35s var(--ease);
  }
  .faq-a p{
    padding:0 24px 22px;
    font-size:14.5px;
    color:var(--text-dim);
    max-width:640px;
  }

  /* ================= STATS GRID (about) ================= */
  .stats-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px;
  }
  .stat-card{
    padding:30px 24px;
    border-radius:var(--radius);
    text-align:center;
  }
  .stat-card b{
    font-family:'Space Grotesk', sans-serif;
    font-size:34px;
    display:block;
    background:linear-gradient(100deg, var(--brand), var(--teal) 70%);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
  }
  .stat-card span{
    font-size:12.5px;
    font-family:'JetBrains Mono', monospace;
    color:var(--text-dimmer);
    letter-spacing:0.04em;
  }

  /* ================= VALUES (about) ================= */
  .values-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px;
  }
  .value-card{ padding:28px 24px; border-radius:var(--radius); }
  .value-card .s-icon{ margin-bottom:18px; }
  .value-card h3{ font-size:17px; margin-bottom:8px; }
  .value-card p{ font-size:13.8px; color:var(--text-dim); }

  /* ================= TIMELINE (about) ================= */
  .timeline{ position:relative; padding-left:36px; }
  .timeline::before{
    content:'';
    position:absolute; left:7px; top:6px; bottom:6px;
    width:1px;
    background:linear-gradient(180deg, var(--brand), var(--teal));
    opacity:0.4;
  }
  .t-item{ position:relative; padding-bottom:42px; }
  .t-item:last-child{ padding-bottom:0; }
  .t-item::before{
    content:'';
    position:absolute; left:-36px; top:4px;
    width:15px; height:15px;
    border-radius:50%;
    background:var(--bg-soft);
    border:2px solid var(--brand);
    box-shadow:0 0 0 4px var(--bg), 0 0 16px -2px rgba(255,127,48,0.6);
  }
  .t-item h4{ font-size:17px; margin-bottom:6px; }
  .t-item .t-tag{
    font-family:'JetBrains Mono', monospace;
    font-size:11.5px;
    color:var(--teal);
    text-transform:uppercase;
    letter-spacing:0.08em;
    margin-bottom:8px;
    display:block;
  }
  .t-item p{ font-size:14px; color:var(--text-dim); max-width:600px; }

  /* ================= PRICING TIERS (services) ================= */
  .tiers-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
  }
  .tier-card{
    padding:32px 26px;
    border-radius:var(--radius);
    display:flex;
    flex-direction:column;
  }
  .tier-card.featured{
    background:linear-gradient(150deg, rgba(255,127,48,0.1), rgba(255,255,255,0.02));
    border-color:rgba(255,127,48,0.35);
  }
  .tier-name{ font-family:'JetBrains Mono', monospace; font-size:12.5px; color:var(--teal); text-transform:uppercase; letter-spacing:0.08em; margin-bottom:14px; }
  .tier-price{ font-family:'Space Grotesk', sans-serif; font-size:32px; margin-bottom:4px; }
  .tier-price span{ font-size:13px; color:var(--text-dimmer); font-family:'Manrope',sans-serif; }
  .tier-sub{ font-size:13px; color:var(--text-dim); margin-bottom:22px; }
  .tier-card ul{ display:flex; flex-direction:column; gap:10px; margin-bottom:26px; flex-grow:1; }
  .tier-card ul li{ font-size:13.8px; color:var(--text-dim); padding-left:18px; position:relative; }
  .tier-card ul li::before{ content:'✓'; position:absolute; left:0; color:var(--teal); font-size:12px; }

  /* ================= SERVICE DETAIL BLOCKS ================= */
  .svc-detail{
    display:grid;
    grid-template-columns:0.9fr 1.1fr;
    gap:52px;
    align-items:start;
    padding:64px 0;
    border-top:1px solid var(--hairline);
  }
  .svc-detail:first-of-type{ border-top:none; }
  .svc-detail .svc-num{
    font-family:'JetBrains Mono', monospace;
    font-size:13px;
    color:var(--text-dimmer);
    margin-bottom:14px;
    display:block;
  }
  .svc-detail h2{ font-size:28px; margin-bottom:14px; }
  .svc-detail > div:first-child p{ color:var(--text-dim); font-size:15px; max-width:420px; }
  .svc-detail-list{ display:grid; grid-template-columns:1fr 1fr; gap:14px 24px; }
  .svc-detail-list li{
    font-size:14px;
    color:var(--text-dim);
    padding-left:20px;
    position:relative;
  }
  .svc-detail-list li::before{
    content:'';
    position:absolute; left:0; top:8px;
    width:6px; height:6px;
    border-radius:2px;
    background:linear-gradient(135deg, var(--brand), var(--teal));
  }
  .svc-ideal{
    margin-top:22px;
    padding:14px 18px;
    border-radius:12px;
    font-size:13px;
    color:var(--text-dim);
  }
  .svc-ideal b{ color:var(--teal); font-family:'JetBrains Mono', monospace; font-size:11.5px; text-transform:uppercase; letter-spacing:0.06em; display:block; margin-bottom:6px; }

  /* ================= DURATION / TIMELINE CARDS ================= */
  .duration-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
    margin-bottom:22px;
  }
  .duration-card{
    padding:28px 24px;
    border-radius:var(--radius);
    text-align:center;
  }
  .duration-card .d-days{
    font-family:'Space Grotesk', sans-serif;
    font-size:30px;
    display:block;
    margin-bottom:6px;
    background:linear-gradient(100deg, var(--brand), var(--teal) 70%);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
  }
  .duration-card .d-label{ font-size:14.5px; color:var(--text); font-weight:600; margin-bottom:6px; display:block; }
  .duration-card .d-price{ font-size:13px; color:var(--text-dim); }
  .duration-note{
    padding:16px 20px;
    border-radius:12px;
    font-size:13.3px;
    color:var(--text-dim);
    display:flex;
    gap:10px;
    align-items:flex-start;
  }
  .duration-note svg{ flex-shrink:0; margin-top:2px; color:var(--brand); width:16px; height:16px; }

  /* ================= AMC CALLOUT ================= */
  .amc-note{
    padding:26px 28px;
    border-radius:var(--radius);
    margin:8px 0 0;
  }
  .amc-note h4{
    font-size:15.5px;
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:10px;
  }
  .amc-note h4 svg{ width:18px; height:18px; color:var(--teal); flex-shrink:0; }
  .amc-note p{ font-size:14px; color:var(--text-dim); margin-bottom:0; }
  .amc-note p + p{ margin-top:10px; }
  .amc-note b{ color:var(--text); }

  /* ================= FOUNDER SECTION ================= */
  .founder-block{
    display:grid;
    grid-template-columns:0.7fr 1.3fr;
    gap:48px;
    align-items:start;
  }
  .founder-card{
    padding:30px 26px;
    border-radius:var(--radius);
    text-align:center;
  }
  .founder-avatar{
    width:84px; height:84px;
    border-radius:50%;
    margin:0 auto 18px;
    display:flex; align-items:center; justify-content:center;
    background:linear-gradient(150deg, rgba(255,127,48,0.25), rgba(47,224,196,0.12));
    border:1px solid var(--panel-border);
    font-family:'Space Grotesk', sans-serif;
    font-size:26px;
    font-weight:700;
    color:var(--text);
  }
  .founder-card h4{ font-size:17px; margin-bottom:4px; }
  .founder-card span{ font-size:12.5px; color:var(--text-dimmer); font-family:'JetBrains Mono', monospace; }
  .founder-copy p{ color:var(--text-dim); font-size:15px; margin-bottom:16px; }
  .founder-copy p:last-child{ margin-bottom:0; }
  .founder-copy p.quote-line{
    font-family:'Space Grotesk', sans-serif;
    font-size:19px;
    color:var(--text);
    font-weight:500;
    line-height:1.5;
  }

  /* ================= INDUSTRIES TAGS ================= */
  .industries-wrap{ display:flex; flex-wrap:wrap; gap:10px; }
  .industry-tag{
    padding:9px 16px;
    border-radius:10px;
    font-size:13.5px;
    color:var(--text-dim);
    transition:color .2s, border-color .2s;
  }
  .industry-tag:hover{ color:var(--text); }

  /* ================= VERTICAL PROCESS (7-stage, About page) ================= */
  .process-vertical{ display:flex; flex-direction:column; gap:0; }
  .pv-step{
    display:grid;
    grid-template-columns:60px 1fr;
    gap:24px;
    padding:26px 0;
    border-top:1px solid var(--hairline);
  }
  .pv-step:first-child{ border-top:none; padding-top:0; }
  .pv-step .pv-num{
    font-family:'JetBrains Mono', monospace;
    font-size:13px;
    color:var(--text-dimmer);
    padding-top:3px;
  }
  .pv-step h4{ font-size:17px; margin-bottom:6px; }
  .pv-step p{ font-size:14px; color:var(--text-dim); max-width:600px; }

  /* ================= CASE STUDY (work page) ================= */
  .case-study{
    display:grid;
    grid-template-columns:0.85fr 1.15fr;
    gap:0;
    border-radius:var(--radius);
    overflow:hidden;
    margin-bottom:26px;
  }
  .case-visual{
    display:flex; align-items:center; justify-content:center;
    padding:40px;
    position:relative;
    min-height:260px;
  }
  .case-visual::after{
    content:'';
    position:absolute; inset:0;
    background:linear-gradient(160deg, rgba(255,255,255,0.08), transparent 60%);
  }
  .case-visual .mark{
    font-family:'Space Grotesk', sans-serif;
    font-weight:700;
    font-size:52px;
    color:rgba(255,255,255,0.9);
  }
  .case-body{ padding:38px 40px; }
  .case-tags{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:16px; }
  .case-tag{
    font-family:'JetBrains Mono', monospace;
    font-size:11px;
    padding:5px 10px;
    border-radius:6px;
    background:rgba(255,255,255,0.05);
    border:1px solid var(--panel-border);
    color:var(--text-dim);
  }
  .case-body h3{ font-size:24px; margin-bottom:12px; }
  .case-body p{ font-size:14.5px; color:var(--text-dim); margin-bottom:14px; }
  .case-body p:last-of-type{ margin-bottom:0; }
  .case-body .case-label{
    font-family:'JetBrains Mono', monospace;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:0.06em;
    color:var(--teal);
    margin:18px 0 6px;
    display:block;
  }
  .case-body .case-label:first-of-type{ margin-top:0; }

  /* ================= CONTACT FORM ================= */
  .contact-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:40px;
    align-items:start;
  }
  .form-card{ padding:36px; border-radius:var(--radius); }
  .field{ margin-bottom:20px; }
  .hp-field{
    position:absolute;
    left:-9999px;
    top:-9999px;
    width:1px;
    height:1px;
    overflow:hidden;
    opacity:0;
  }
  .field label{
    display:block;
    font-family:'JetBrains Mono', monospace;
    font-size:12px;
    color:var(--text-dimmer);
    text-transform:uppercase;
    letter-spacing:0.06em;
    margin-bottom:8px;
  }
  .field input, .field textarea, .field select{
    width:100%;
    padding:13px 15px;
    border-radius:10px;
    border:1px solid var(--panel-border);
    background:rgba(255,255,255,0.03);
    color:var(--text);
    font-family:'Manrope', sans-serif;
    font-size:14.5px;
    transition:border-color .2s, box-shadow .2s;
  }
  .field input:focus, .field textarea:focus, .field select:focus{
    outline:none;
    border-color:rgba(255,127,48,0.5);
    box-shadow:0 0 0 3px rgba(255,127,48,0.15);
  }
  .field textarea{ resize:vertical; min-height:110px; }
  .contact-info-card{ padding:32px; border-radius:var(--radius); margin-bottom:22px; }
  .ci-row{ display:flex; align-items:flex-start; gap:14px; margin-bottom:22px; }
  .ci-row:last-child{ margin-bottom:0; }
  .ci-icon{
    width:40px; height:40px;
    border-radius:10px;
    display:flex; align-items:center; justify-content:center;
    background:linear-gradient(160deg, var(--icon-chip-a), var(--icon-chip-b)), var(--icon-chip-base);
    border:1px solid rgba(255,255,255,0.09);
    flex-shrink:0;
  }
  .ci-icon svg{ width:18px; height:18px; }
  .ci-row h4{ font-size:14.5px; margin-bottom:4px; }
  .ci-row p, .ci-row a{ font-size:13.8px; color:var(--text-dim); display:block; }
  .ci-row a:hover{ color:var(--teal); }
  .map-wrap{
    border-radius:var(--radius);
    overflow:hidden;
    height:220px;
  }
  .map-wrap iframe{ width:100%; height:100%; border:0; filter:grayscale(0.3) invert(0.92) contrast(0.9); }

  /* ================= FOOTER responsive tweak ================= */
  @media (max-width:980px){
    .stats-grid, .values-grid{ grid-template-columns:repeat(2,1fr); }
    .svc-detail{ grid-template-columns:1fr; gap:26px; }
    .case-study{ grid-template-columns:1fr; }
    .contact-grid{ grid-template-columns:1fr; }
    .tiers-grid, .duration-grid{ grid-template-columns:1fr; }
    .founder-block{ grid-template-columns:1fr; }
  }
  @media (max-width:640px){
    .logo img{ height:36px; }
    .foot-brand .logo img{ height:46px; }
    .stats-grid, .values-grid{ grid-template-columns:1fr; }
    .svc-detail-list{ grid-template-columns:1fr; }
    .page-hero h1{ font-size:30px; }
    .case-body{ padding:26px 22px; }
    .pv-step{ grid-template-columns:1fr; gap:8px; }
  }

  /* ================= HERO ================= */
  .hero{
    padding:180px 0 80px;
    position:relative;
    overflow:hidden;
  }
  .hero-mark{
    position:absolute;
    top:-60px; right:-90px;
    width:520px;
    height:auto;
    opacity:0.05;
    transform:rotate(8deg);
    pointer-events:none;
    z-index:0;
  }
  .hero-grid{
    display:grid;
    grid-template-columns:1.05fr 0.95fr;
    gap:56px;
    align-items:center;
  }
  .hero h1{
    font-size:56px;
    line-height:1.05;
    margin:20px 0 22px;
  }
  .hero h1 .grad{
    background:linear-gradient(100deg, var(--brand), var(--teal) 70%);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
  }
  .hero p.lead{
    font-size:17.5px;
    color:var(--text-dim);
    max-width:480px;
    margin-bottom:36px;
  }
  .hero-ctas{ display:flex; gap:16px; align-items:center; flex-wrap:wrap; }

  .hero-stats{
    display:flex;
    gap:36px;
    margin-top:56px;
    padding-top:28px;
    border-top:1px solid var(--hairline);
  }
  .hero-stats div b{
    font-family:'Space Grotesk', sans-serif;
    font-size:26px;
    display:block;
    color:var(--text);
  }
  .hero-stats div span{
    font-size:12.5px;
    color:var(--text-dimmer);
    font-family:'JetBrains Mono', monospace;
    letter-spacing:0.02em;
  }

  /* --- terminal mockup (signature element) --- */
  .term{
    border-radius:16px;
    overflow:hidden;
    position:relative;
    background:
      linear-gradient(150deg, rgba(255,255,255,0.05), rgba(255,255,255,0) 40%),
      #0c0d13 !important;
    border-color:rgba(255,255,255,0.1) !important;
    box-shadow:
      0 0 0 1px rgba(0,0,0,0.4),
      0 20px 40px -20px rgba(0,0,0,0.6),
      inset 0 1px 0 rgba(255,255,255,0.06) !important;
  }
  .term-bar{
    display:flex;
    align-items:center;
    gap:8px;
    padding:13px 16px;
    border-bottom:1px solid rgba(255,255,255,0.08);
    background:rgba(255,255,255,0.02);
  }
  .term-bar .tdot{ width:10px; height:10px; border-radius:50%; }
  .term-bar .tdot:nth-child(1){ background:#ff5f56; }
  .term-bar .tdot:nth-child(2){ background:#ffbd2e; }
  .term-bar .tdot:nth-child(3){ background:#27c93f; }
  .term-title{
    margin-left:8px;
    font-family:'JetBrains Mono', monospace;
    font-size:12px;
    color:#6b6f80;
  }
  .term-body{
    padding:24px 22px 28px;
    font-family:'JetBrains Mono', monospace;
    font-size:13.4px;
    line-height:2.05;
    min-height:290px;
    color:#e9eaef;
  }
  .term-body .c1{ color:var(--teal); }
  .term-body .c2{ color:var(--brand); }
  .term-body .c3{ color:#9599ab; }
  .term-body .c4{ color:#f5c563; }
  .cursor{
    display:inline-block;
    width:7px; height:15px;
    background:var(--teal);
    vertical-align:middle;
    animation:blink 1s steps(1) infinite;
    margin-left:2px;
  }
  @keyframes blink{ 50%{ opacity:0; } }

  /* ================= TRUST MARQUEE ================= */
  .trust{
    padding:40px 0 60px;
    border-top:1px solid var(--hairline);
    border-bottom:1px solid var(--hairline);
    margin-top:20px;
  }
  .trust p{
    text-align:center;
    font-family:'JetBrains Mono', monospace;
    font-size:12px;
    letter-spacing:0.12em;
    color:var(--text-dimmer);
    text-transform:uppercase;
    margin-bottom:26px;
  }
  .marquee{
    overflow:hidden;
    -webkit-mask-image:linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
    mask-image:linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
  }
  .marquee-track{
    display:flex;
    gap:64px;
    width:max-content;
    animation:scroll 28s linear infinite;
  }
  .marquee-track span{
    font-family:'Space Grotesk', sans-serif;
    font-size:19px;
    color:var(--text-dimmer);
    white-space:nowrap;
  }
  @keyframes scroll{
    from{ transform:translateX(0); }
    to{ transform:translateX(-50%); }
  }

  /* ================= SECTION HEAD ================= */
  section{ padding:76px 0; }
  .section-tight{ padding:44px 0; }
  .sec-head{ max-width:640px; margin-bottom:48px; }
  .sec-head h2{ font-size:38px; margin-top:16px; }
  .sec-head p{ color:var(--text-dim); font-size:16px; margin-top:14px; }

  /* ================= SERVICES ================= */
  .services-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:22px;
  }
  .s-card{
    border-radius:var(--radius);
    padding:30px 26px 26px;
    transition:transform .35s var(--ease), background .35s;
  }
  .s-card:hover{ background:var(--panel-hover); }
  .s-icon{
    width:46px; height:46px;
    border-radius:12px;
    display:flex; align-items:center; justify-content:center;
    background:linear-gradient(160deg, var(--icon-chip-a), var(--icon-chip-b)), var(--icon-chip-base);
    border:1px solid rgba(255,255,255,0.09);
    margin-bottom:20px;
  }
  .s-icon svg{ width:22px; height:22px; }
  .s-card h3{ font-size:19px; margin-bottom:10px; }
  .s-card ul{ margin:14px 0 18px; display:flex; flex-direction:column; gap:8px; }
  .s-card ul li{
    font-size:13.8px;
    color:var(--text-dim);
    padding-left:16px;
    position:relative;
  }
  .s-card ul li::before{
    content:'';
    position:absolute; left:0; top:8px;
    width:5px; height:5px; border-radius:50%;
    background:var(--teal);
  }
  .s-link{
    font-family:'JetBrains Mono', monospace;
    font-size:12.5px;
    color:var(--brand);
    display:inline-flex;
    align-items:center;
    gap:6px;
    transition:gap .2s;
  }
  .s-link:hover{ gap:10px; color:var(--teal); }

  /* ================= PROCESS ================= */
  .process{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:0;
    position:relative;
  }
  .process::before{
    content:'';
    position:absolute;
    top:23px; left:6%; right:6%;
    height:1px;
    background:linear-gradient(90deg, var(--brand), var(--teal));
    opacity:0.35;
  }
  .p-step{ position:relative; padding-right:20px; }
  .p-num{
    width:46px; height:46px;
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-family:'JetBrains Mono', monospace;
    font-size:14px;
    background:var(--bg-soft);
    border:1px solid var(--panel-border);
    box-shadow:0 0 0 4px var(--bg), 0 0 22px -4px rgba(255,127,48,0.55);
    margin-bottom:22px;
    color:var(--teal);
  }
  .p-step h4{ font-size:17px; margin-bottom:8px; }
  .p-step p{ font-size:13.8px; color:var(--text-dim); }

  /* ================= WORK ================= */
  .work-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:22px;
  }
  .w-card{
    border-radius:var(--radius);
    overflow:hidden;
    transition:transform .35s var(--ease);
  }

  .w-thumb{
    height:150px;
    display:flex; align-items:center; justify-content:center;
    position:relative;
    overflow:hidden;
  }
  .w-thumb span.mark{
    font-family:'Space Grotesk', sans-serif;
    font-weight:700;
    font-size:34px;
    color:rgba(255,255,255,0.85);
    letter-spacing:-0.02em;
  }
  .w-thumb::after{
    content:'';
    position:absolute; inset:0;
    background:linear-gradient(160deg, rgba(255,255,255,0.08), transparent 60%);
  }
  .w-body{ padding:22px 22px 26px; }
  .w-tag{
    font-family:'JetBrains Mono', monospace;
    font-size:11.5px;
    color:var(--teal);
    text-transform:uppercase;
    letter-spacing:0.08em;
  }
  .w-body h3{ font-size:18px; margin:10px 0 8px; }
  .w-body p{ font-size:13.6px; color:var(--text-dim); }

  /* ================= TESTIMONIAL ================= */
  .testi{
    padding:52px 48px;
    border-radius:24px;
    display:grid;
    grid-template-columns:1fr auto;
    gap:40px;
    align-items:center;
  }
  .testi blockquote{
    font-family:'Space Grotesk', sans-serif;
    font-size:24px;
    font-weight:500;
    line-height:1.45;
    color:var(--text);
  }
  .testi cite{
    display:block;
    margin-top:20px;
    font-style:normal;
    font-size:13.5px;
    color:var(--text-dim);
  }
  .testi cite b{ color:var(--text); }

  /* ================= CTA BANNER ================= */
  .cta-banner{
    border-radius:26px;
    padding:70px 60px;
    text-align:center;
    position:relative;
    overflow:hidden;
    background:
      radial-gradient(600px 300px at 20% 0%, rgba(255,127,48,0.28), transparent 60%),
      radial-gradient(600px 300px at 80% 100%, rgba(47,224,196,0.18), transparent 60%),
      var(--bg-soft);
    border:1px solid var(--panel-border);
  }
  .cta-banner h2{ font-size:36px; max-width:640px; margin:0 auto 16px; }
  .cta-banner p{ color:var(--text-dim); max-width:480px; margin:0 auto 34px; }

  /* ================= FOOTER ================= */
  footer{
    padding:70px 0 40px;
    border-top:1px solid var(--hairline);
  }
  .foot-grid{
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr 1fr;
    gap:40px;
    margin-bottom:56px;
  }
  .foot-brand p{ color:var(--text-dim); font-size:13.8px; margin:16px 0 20px; max-width:280px; }
  .foot-col h5{
    font-family:'JetBrains Mono', monospace;
    font-size:12px;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--text-dimmer);
    margin-bottom:18px;
  }
  .foot-col a{
    display:block;
    font-size:14px;
    color:var(--text-dim);
    margin-bottom:12px;
    transition:color .2s;
  }
  .foot-col a:hover{ color:var(--teal); }
  .foot-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding-top:26px;
    border-top:1px solid var(--hairline);
    font-size:12.5px;
    color:var(--text-dimmer);
    flex-wrap:wrap;
    gap:12px;
  }
  .foot-social{ display:flex; gap:14px; }
  .foot-social a{
    width:36px; height:36px;
    border-radius:10px;
    display:flex; align-items:center; justify-content:center;
    border:1px solid var(--panel-border);
    transition:border-color .2s, transform .2s;
  }
  .foot-social a:hover{ border-color:var(--brand-soft); }
  .foot-social svg{ width:16px; height:16px; }

  /* ---- reveal on scroll ---- */
  .reveal{
    opacity:0;
    transform:translateY(18px);
    transition:opacity .7s var(--ease), transform .7s var(--ease);
  }
  .reveal.in{ opacity:1; transform:translateY(0); }

  @media (prefers-reduced-motion: reduce){
    *{ animation-duration:0.01ms !important; transition-duration:0.01ms !important; }
    html{ scroll-behavior:auto; }
  }

  /* ================= RESPONSIVE ================= */
  @media (max-width:980px){
    .hero-grid{ grid-template-columns:1fr; }
    .services-grid, .work-grid{ grid-template-columns:repeat(2,1fr); }
    .process{ grid-template-columns:repeat(2,1fr); gap:36px 0; }
    .process::before{ display:none; }
    .foot-grid{ grid-template-columns:1fr 1fr; }
    nav ul{ display:none; }
    .burger{ display:flex; }
    .nav-inner{ justify-content:flex-start; }
    .nav-cta{ margin-left:auto; gap:10px; }
    .burger{ margin-left:10px; }
    .nav-inner .nav-cta .btn-primary{ display:none; }
    .testi{ grid-template-columns:1fr; text-align:left; }
  }
  @media (max-width:640px){
    .wrap{ padding:0 20px; }
    .hero{ padding:140px 0 50px; }
    .hero h1{ font-size:36px; }
    .hero-stats{ flex-wrap:wrap; gap:24px; }
    .services-grid, .work-grid{ grid-template-columns:1fr; }
    .sec-head h2{ font-size:28px; }
    .cta-banner{ padding:48px 26px; }
    .cta-banner h2{ font-size:26px; }
    .foot-grid{ grid-template-columns:1fr; gap:30px; }
    .testi{ padding:34px 24px; }
    .testi blockquote{ font-size:19px; }
    .nav-inner .nav-cta .btn-ghost{ display:none; }
  }

  /* ---- Lift/tilt hover effects: only on devices with real hover (mouse/trackpad) ----
     Touch devices simulate :hover on tap and never clear it until a tap elsewhere,
     which is what caused cards/buttons to look "stuck" tilted on mobile. ---- */
  @media (hover: hover) and (pointer: fine){
    .btn-primary:hover{ transform:translateY(-2px); }
    .btn-ghost:hover{ transform:translateY(-2px); }
    .theme-toggle:hover{ transform:translateY(-2px) rotate(-8deg); }
    .s-card:hover{ transform:translateY(-6px); }
    .w-card:hover{ transform:translateY(-6px); }
    .foot-social a:hover{ transform:translateY(-2px); }
  }
