:root{
    --void:#050709;
    --panel:#0A0F16;
    --panel-2:#0D141D;
    --line:rgba(140,200,255,0.12);
    --line-soft:rgba(140,200,255,0.06);
    --text:#E7EDF3;
    --dim:#7C8B9C;
    --cyan:#4CE7D8;
    --violet:#8B7CFF;
    --cyan-glow: rgba(76,231,216,0.55);
    --violet-glow: rgba(139,124,255,0.45);
    --display: 'Space Grotesk', sans-serif;
    --sans: 'Inter', sans-serif;
    --mono: 'JetBrains Mono', monospace;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--void);
    color:var(--text);
    font-family:var(--sans);
    line-height:1.5;
    overflow-x:hidden;
    position:relative;
  }
  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}
  }
  a{color:inherit;}
  ::selection{background:var(--cyan); color:var(--void);}
  .wrap{max-width:1180px; margin:0 auto; padding:0 32px;}

  body::before{
    content:'';
    position:fixed; inset:0;
    background-image:
      linear-gradient(var(--line-soft) 1px, transparent 1px),
      linear-gradient(90deg, var(--line-soft) 1px, transparent 1px);
    background-size:64px 64px;
    mask-image: radial-gradient(ellipse 80% 60% at 50% 0%, black 40%, transparent 90%);
    pointer-events:none;
    z-index:0;
  }
  body::after{
    content:'';
    position:fixed; top:-20%; left:50%;
    width:900px; height:900px;
    transform:translateX(-50%);
    background: radial-gradient(circle, var(--cyan-glow) 0%, transparent 65%);
    opacity:0.10;
    pointer-events:none;
    z-index:0;
    filter:blur(40px);
  }

  nav{
    position:fixed; top:0; left:0; right:0; z-index:50;
    background:rgba(5,7,9,0.72);
    backdrop-filter: blur(14px);
    border-bottom:1px solid var(--line);
  }
  nav .wrap{display:flex; align-items:center; justify-content:space-between; height:76px;}
  .brand{
    font-family:var(--display); font-size:1.1rem; font-weight:600; letter-spacing:0.01em;
    display:flex; align-items:center; gap:10px;
  }
  .brand-mark{width:22px; height:22px; flex-shrink:0;}
  nav ul{list-style:none; display:flex; gap:36px; font-size:0.85rem; color:var(--dim);}
  nav ul a{text-decoration:none; transition:color 0.2s ease;}
  nav ul a:hover, nav ul a:focus-visible{color:var(--text);}
  nav ul a:focus-visible{outline:1px solid var(--cyan); outline-offset:4px;}
  .nav-cta{
    font-size:0.82rem; padding:10px 20px; border:1px solid var(--cyan); color:var(--cyan);
    text-decoration:none; border-radius:2px; font-family:var(--mono);
    transition:background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease; white-space:nowrap;
  }
  .nav-cta:hover, .nav-cta:focus-visible{background:var(--cyan); color:var(--void); box-shadow:0 0 24px var(--cyan-glow);}

  .hero{position:relative; padding:180px 0 0; z-index:1;}
  .hero .wrap{position:relative; z-index:2;}
  .eyebrow{
    font-family:var(--mono); font-size:0.76rem; letter-spacing:0.16em; text-transform:uppercase;
    color:var(--cyan); margin-bottom:28px; display:flex; align-items:center; gap:10px;
  }
  .eyebrow::before{content:'';width:8px; height:8px; border-radius:50%; background:var(--cyan); box-shadow:0 0 12px var(--cyan-glow); animation:pulse-dot 2.4s ease-in-out infinite;}
  @keyframes pulse-dot{0%,100%{opacity:1;} 50%{opacity:0.3;}}
  h1{
    font-family:var(--display); font-weight:600; font-size:clamp(2.6rem, 6vw, 4.8rem);
    line-height:1.03; letter-spacing:-0.02em; max-width:860px;
  }
  h1 span.grad{
    background:linear-gradient(90deg, var(--cyan), var(--violet));
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .hero-sub{margin-top:28px; font-size:1.12rem; color:var(--dim); max-width:540px; line-height:1.65;}
  .hero-actions{margin-top:44px; display:flex; gap:18px; align-items:center;}
  .btn-primary{
    background:var(--text); color:var(--void); text-decoration:none; padding:15px 28px;
    font-size:0.92rem; font-weight:500; border-radius:2px;
    transition:transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease; display:inline-block;
  }
  .btn-primary:hover, .btn-primary:focus-visible{background:var(--cyan); transform:translateY(-1px); box-shadow:0 0 30px var(--cyan-glow);}
  .btn-ghost{
    color:var(--dim); text-decoration:none; font-size:0.92rem; font-family:var(--mono);
    border-bottom:1px solid var(--line); padding-bottom:2px; transition:color 0.2s ease, border-color 0.2s ease;
  }
  .btn-ghost:hover, .btn-ghost:focus-visible{color:var(--cyan); border-color:var(--cyan);}

  .signal-stage{position:relative; height:260px; margin-top:90px;}
  .signal-stage svg{position:absolute; bottom:0; left:0; width:100%; height:100%;}
  .signal-path{
    stroke-dasharray: 2400; stroke-dashoffset: 2400;
    animation: draw 3.2s ease-out forwards, drift 10s ease-in-out infinite 3.2s;
  }
  @keyframes draw{ to{ stroke-dashoffset:0; } }
  @keyframes drift{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-8px); } }
  .signal-glow{ filter: blur(6px); opacity:0.7; }
  .grid-mark{ font-family:var(--mono); font-size:10.5px; fill:var(--dim); letter-spacing:0.05em; }
  .node{ fill:var(--cyan); }
  .node-pulse{ animation: node-pulse 2.4s ease-in-out infinite; transform-origin:center; }
  @keyframes node-pulse{ 0%,100%{ r:3.5; opacity:1;} 50%{ r:6; opacity:0.4;} }

  section{padding:120px 0; border-top:1px solid var(--line); position:relative; z-index:1;}
  .section-head{display:grid; grid-template-columns:1fr 2fr; gap:60px; margin-bottom:72px; align-items:start;}
  .section-label{
    font-family:var(--mono); font-size:0.76rem; letter-spacing:0.16em; text-transform:uppercase;
    color:var(--violet); display:flex; align-items:center; gap:8px;
  }
  .section-label::before{content:'//'; color:var(--dim);}
  h2{font-family:var(--display); font-weight:600; font-size:clamp(1.8rem, 3.2vw, 2.6rem); line-height:1.15; max-width:660px;}
  .lede{color:var(--dim); font-size:1.02rem; max-width:520px; margin-top:18px; line-height:1.7;}

  .pillars{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
  .pillar{background:var(--panel); padding:40px 34px; transition:background 0.25s ease;}
  .pillar:hover{background:var(--panel-2);}
  .pillar-tag{font-family:var(--mono); font-size:0.74rem; color:var(--cyan); letter-spacing:0.1em; text-transform:uppercase;}
  .pillar h3{font-family:var(--display); font-weight:600; font-size:1.35rem; margin-top:16px; margin-bottom:14px;}
  .pillar p{color:var(--dim); font-size:0.95rem; line-height:1.65;}

  .horizon-list{border-top:1px solid var(--line);}
  .horizon-row{
    display:grid; grid-template-columns:200px 1fr 180px; gap:32px; align-items:center;
    padding:30px 0; border-bottom:1px solid var(--line); transition:padding-left 0.25s ease;
  }
  .horizon-row:hover{padding-left:12px;}
  .horizon-row .h-name{font-family:var(--display); font-size:1.2rem; font-weight:600; display:flex; align-items:center; gap:10px;}
  .horizon-row .h-name::before{content:'▹'; color:var(--cyan); font-size:0.9rem;}
  .horizon-row .h-desc{color:var(--dim); font-size:0.94rem; line-height:1.6;}
  .horizon-row .h-tag{font-family:var(--mono); font-size:0.8rem; color:var(--violet); text-align:right; letter-spacing:0.05em;}

  .statline{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
  .stat{background:var(--panel); padding:36px 28px;}
  .stat .num{font-family:var(--mono); font-size:2.1rem; color:var(--cyan); text-shadow:0 0 20px var(--cyan-glow);}
  .stat .label{margin-top:8px; font-size:0.85rem; color:var(--dim);}

  .firm-grid{display:grid; grid-template-columns:1.1fr 1fr; gap:80px; align-items:start;}
  .firm-copy p{color:var(--dim); font-size:1rem; line-height:1.8; margin-bottom:20px; max-width:480px;}
  .principles{display:flex; flex-direction:column;}
  .principle{padding:22px 0; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; gap:24px;}
  .principle:first-child{border-top:1px solid var(--line);}
  .principle .p-name{font-family:var(--display); font-weight:600; font-size:1.05rem;}
  .principle .p-desc{color:var(--dim); font-size:0.88rem; max-width:280px; text-align:right;}

  .contact-panel{
    background:var(--panel); border:1px solid var(--line); padding:64px;
    display:grid; grid-template-columns:1fr 1fr; gap:60px; position:relative;
    box-shadow: 0 0 80px rgba(76,231,216,0.04) inset;
  }
  .contact-panel h2{margin-top:16px;}
  .contact-form{display:flex; flex-direction:column; gap:16px;}
  .contact-form label{
    font-family:var(--mono); font-size:0.74rem; letter-spacing:0.08em; text-transform:uppercase;
    color:var(--dim); margin-bottom:6px; display:block;
  }
  .field{display:flex; flex-direction:column;}
  .field input, .field textarea, .field select{
    background:transparent; border:none; border-bottom:1px solid var(--line);
    color:var(--text); font-family:var(--sans); font-size:0.98rem; padding:10px 2px;
    outline:none; transition:border-color 0.2s ease;
  }
  .field select option{background:var(--panel); color:var(--text);}
  .field input:focus, .field textarea:focus, .field select:focus{border-color:var(--cyan);}
  .field textarea{resize:vertical; min-height:70px;}
  .contact-form button{
    margin-top:12px; background:var(--text); color:var(--void); border:none;
    padding:15px 24px; font-size:0.92rem; font-weight:500; border-radius:2px;
    cursor:pointer; transition:background 0.2s ease, box-shadow 0.2s ease; align-self:flex-start;
  }
  .contact-form button:hover{background:var(--cyan); box-shadow:0 0 24px var(--cyan-glow);}
  .form-note{font-size:0.82rem; color:var(--dim); margin-top:4px;}

  footer{border-top:1px solid var(--line); padding:48px 0; position:relative; z-index:1;}
  footer .wrap{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px;}
  .foot-brand{font-family:var(--display); font-weight:600; font-size:1rem;}
  .foot-meta{font-size:0.8rem; color:var(--dim); font-family:var(--mono);}
  .disclosure{font-size:0.76rem; color:var(--dim); max-width:640px; margin-top:16px; line-height:1.6; opacity:0.7;}

  @media (max-width: 860px){
    .section-head{grid-template-columns:1fr; gap:20px;}
    .pillars{grid-template-columns:1fr;}
    .statline{grid-template-columns:1fr 1fr;}
    .horizon-row{grid-template-columns:1fr; gap:8px;}
    .horizon-row .h-tag{text-align:left;}
    .firm-grid{grid-template-columns:1fr; gap:40px;}
    .contact-panel{grid-template-columns:1fr; padding:36px 24px;}
    nav ul{display:none;}
    .principle{flex-direction:column; gap:6px;}
    .principle .p-desc{text-align:left;}
  }
  .foot-links{display:flex; gap:20px; align-items:center;}
  .admin-link{
    font-family:var(--mono); font-size:0.78rem; color:var(--dim); text-decoration:none;
    border-bottom:1px solid transparent; transition:color 0.2s ease, border-color 0.2s ease;
  }
  .admin-link:hover, .admin-link:focus-visible{color:var(--cyan); border-color:var(--cyan);}

  /* ADMIN OVERLAY */
  .admin-overlay{
    display:none; position:fixed; inset:0; z-index:200;
    background:rgba(5,7,9,0.88); backdrop-filter:blur(8px);
    align-items:center; justify-content:center; padding:24px;
  }
  .admin-box{
    background:var(--panel); border:1px solid var(--line);
    width:100%; max-width:420px; padding:44px;
    box-shadow:0 0 60px rgba(0,0,0,0.5);
  }
  .admin-box h3{
    font-family:var(--display); font-weight:600; font-size:1.3rem; margin-bottom:6px;
  }
  .admin-box .admin-sub{color:var(--dim); font-size:0.86rem; margin-bottom:28px; line-height:1.5;}
  .admin-field{margin-bottom:16px; display:flex; flex-direction:column;}
  .admin-field label{
    font-family:var(--mono); font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase;
    color:var(--dim); margin-bottom:6px;
  }
  .admin-field input{
    background:var(--void); border:1px solid var(--line); color:var(--text);
    font-family:var(--sans); font-size:0.95rem; padding:11px 12px; outline:none;
    transition:border-color 0.2s ease;
  }
  .admin-field input:focus{border-color:var(--cyan);}
  .admin-error{
    display:none; color:#FF6B6B; font-family:var(--mono); font-size:0.8rem; margin-bottom:14px;
  }
  .admin-box button[type="submit"]{
    width:100%; background:var(--text); color:var(--void); border:none;
    padding:13px 20px; font-size:0.9rem; font-weight:500; cursor:pointer;
    transition:background 0.2s ease; margin-top:8px;
  }
  .admin-box button[type="submit"]:hover{background:var(--cyan);}
  .admin-close-x{
    position:absolute; top:20px; right:24px; background:none; border:none;
    color:var(--dim); font-size:1.3rem; cursor:pointer; line-height:1;
    transition:color 0.2s ease;
  }
  .admin-close-x:hover{color:var(--text);}

  .admin-panel-box{
    background:var(--panel); border:1px solid var(--line);
    width:100%; max-width:960px; max-height:85vh; overflow:auto;
    padding:36px; position:relative;
  }
  .admin-panel-head{
    display:flex; justify-content:space-between; align-items:center;
    margin-bottom:24px; flex-wrap:wrap; gap:12px;
  }
  .admin-panel-head h3{font-family:var(--display); font-weight:600; font-size:1.2rem;}
  .admin-panel-actions{display:flex; gap:10px;}
  .admin-btn{
    font-family:var(--mono); font-size:0.78rem; padding:8px 16px;
    border:1px solid var(--line); background:transparent; color:var(--dim);
    cursor:pointer; transition:border-color 0.2s ease, color 0.2s ease;
  }
  .admin-btn:hover{border-color:var(--cyan); color:var(--cyan);}
  table.admin-table{width:100%; border-collapse:collapse; font-size:0.86rem;}
  table.admin-table th{
    text-align:left; font-family:var(--mono); font-size:0.7rem; letter-spacing:0.06em;
    text-transform:uppercase; color:var(--dim); padding:10px 12px; border-bottom:1px solid var(--line);
  }
  table.admin-table td{padding:12px; border-bottom:1px solid var(--line-soft); color:var(--text); vertical-align:top;}
  table.admin-table tr:hover td{background:var(--panel-2);}
  .admin-delete-btn{
    font-family:var(--mono); font-size:0.75rem; padding:6px 12px;
    background:transparent; border:1px solid rgba(255,107,107,0.4); color:#FF6B6B;
    cursor:pointer; transition:background 0.2s ease;
  }
  .admin-delete-btn:hover{background:rgba(255,107,107,0.12);}
  .admin-loading{padding:24px; text-align:center; color:var(--dim); font-family:var(--mono); font-size:0.85rem;}
  .admin-empty{display:none; padding:24px 0; text-align:center; color:var(--dim); font-size:0.9rem;}

/* Standalone admin pages */
.admin-page{
  min-height:100vh;
  padding:120px 24px 60px;
  position:relative;
  z-index:1;
}
.admin-page .admin-shell{
  width:min(1200px, 100%);
  margin:0 auto;
}
.admin-page .admin-login-card{
  width:min(440px, 100%);
  margin:70px auto 0;
  background:var(--panel);
  border:1px solid var(--line);
  padding:40px;
}
.admin-page .admin-login-card h1{
  font-size:2rem;
  margin-bottom:10px;
}
.admin-page .admin-login-card p{
  color:var(--dim);
  margin-bottom:28px;
}
.admin-page .admin-login-card button,
.admin-page .admin-toolbar button,
.admin-page .delete-form button{
  font-family:var(--mono);
  cursor:pointer;
}
.admin-page .admin-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:22px;
}
.admin-page .admin-toolbar h1{
  font-size:2rem;
}
.admin-page .admin-card{
  background:var(--panel);
  border:1px solid var(--line);
  padding:28px;
  overflow-x:auto;
}
.admin-page table{
  width:100%;
  border-collapse:collapse;
  min-width:1050px;
}
.admin-page th{
  text-align:left;
  font-family:var(--mono);
  font-size:0.72rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--dim);
  padding:12px;
  border-bottom:1px solid var(--line);
}
.admin-page td{
  padding:14px 12px;
  border-bottom:1px solid var(--line-soft);
  vertical-align:top;
  font-size:0.87rem;
}
.admin-page tr:hover td{
  background:var(--panel-2);
}
.admin-page .admin-actions{
  display:flex;
  gap:10px;
}
.admin-page .admin-actions a,
.admin-page .admin-actions button{
  border:1px solid var(--line);
  background:transparent;
  color:var(--dim);
  padding:9px 14px;
  text-decoration:none;
  font-size:0.78rem;
}
.admin-page .admin-actions a:hover,
.admin-page .admin-actions button:hover{
  color:var(--cyan);
  border-color:var(--cyan);
}
.admin-page .delete-form button{
  border:1px solid rgba(255,107,107,0.45);
  background:transparent;
  color:#FF6B6B;
  padding:7px 10px;
}
.admin-page .delete-form button:hover{
  background:rgba(255,107,107,0.12);
}
.admin-page .empty-message{
  color:var(--dim);
  padding:24px 0;
}
.admin-message{
  display:none;
  margin-top:12px;
  font-family:var(--mono);
  font-size:0.82rem;
}
.admin-message.success{color:var(--cyan);}
.admin-message.error{color:#FF6B6B;}
.form-status{
  min-height:20px;
  font-size:0.82rem;
  color:var(--dim);
  font-family:var(--mono);
}
.form-status.success{color:var(--cyan);}
.form-status.error{color:#FF6B6B;}


/* ============================================================
   BOT 01 DEPLOYMENT COUNTDOWN
   ============================================================ */
.deployment-section{
  padding:80px 0 120px;
  border-top:1px solid var(--line);
  position:relative;
  z-index:1;
}

.deployment-panel{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(135deg, rgba(76,231,216,0.045), transparent 40%),
    var(--panel);
  border:1px solid var(--line);
  padding:56px;
  box-shadow:
    0 0 80px rgba(76,231,216,0.035) inset,
    0 20px 80px rgba(0,0,0,0.28);
}

.deployment-panel::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:1px;
  background:linear-gradient(90deg, transparent, var(--cyan), transparent);
  opacity:0.7;
}

.deployment-panel::after{
  content:'BOT_01';
  position:absolute;
  right:-12px;
  bottom:-38px;
  font-family:var(--mono);
  font-size:7rem;
  font-weight:500;
  letter-spacing:-0.08em;
  color:rgba(76,231,216,0.025);
  pointer-events:none;
}

.deployment-copy{
  position:relative;
  z-index:2;
  max-width:780px;
}

.deployment-kicker{
  margin-top:22px;
  margin-bottom:14px;
  font-family:var(--mono);
  font-size:0.78rem;
  letter-spacing:0.14em;
  color:var(--cyan);
}

.deployment-meta{
  display:flex;
  flex-wrap:wrap;
  gap:14px 34px;
  margin-top:28px;
}

.deployment-meta-row{
  display:flex;
  align-items:center;
  gap:10px;
  font-family:var(--mono);
  font-size:0.76rem;
}

.deployment-meta-row span{
  color:var(--dim);
}

.deployment-meta-row strong{
  color:var(--text);
  font-weight:500;
}

#deployment-status{
  color:var(--violet);
}

.deployment-clock{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;
  align-items:center;
  gap:20px;
  margin-top:52px;
  padding:34px 38px;
  background:rgba(5,7,9,0.76);
  border:1px solid var(--line);
  backdrop-filter:blur(10px);
}

.clock-cell{
  min-width:0;
  text-align:center;
}

.clock-number{
  font-family:var(--mono);
  font-size:clamp(2.3rem, 6vw, 5rem);
  line-height:1;
  letter-spacing:-0.07em;
  color:var(--text);
  text-shadow:0 0 28px rgba(76,231,216,0.10);
  font-variant-numeric:tabular-nums;
}

.clock-label{
  margin-top:12px;
  font-family:var(--mono);
  font-size:0.68rem;
  letter-spacing:0.15em;
  text-transform:uppercase;
  color:var(--dim);
}

.clock-separator{
  align-self:start;
  padding-top:0.13em;
  font-family:var(--mono);
  font-size:clamp(2rem, 5vw, 4.3rem);
  line-height:1;
  color:var(--cyan);
  opacity:0.55;
  animation:clock-blink 1s steps(1,end) infinite;
}

@keyframes clock-blink{
  0%,49%{opacity:0.55;}
  50%,100%{opacity:0.15;}
}

.deployment-live{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  margin-top:52px;
  min-height:170px;
  padding:34px;
  background:rgba(5,7,9,0.76);
  border:1px solid rgba(76,231,216,0.35);
  box-shadow:0 0 50px rgba(76,231,216,0.08) inset;
}

.deployment-live[hidden]{
  display:none;
}

.live-dot{
  width:14px;
  height:14px;
  border-radius:50%;
  background:var(--cyan);
  box-shadow:0 0 20px var(--cyan-glow);
  animation:live-pulse 1.6s ease-in-out infinite;
}

@keyframes live-pulse{
  0%,100%{
    transform:scale(1);
    opacity:1;
    box-shadow:0 0 18px var(--cyan-glow);
  }
  50%{
    transform:scale(0.68);
    opacity:0.45;
    box-shadow:0 0 34px var(--cyan-glow);
  }
}

.live-label{
  font-family:var(--mono);
  font-size:0.8rem;
  letter-spacing:0.13em;
  color:var(--dim);
}

.live-status{
  margin-top:2px;
  font-family:var(--display);
  font-size:clamp(2.3rem, 5vw, 4rem);
  font-weight:600;
  line-height:1;
  color:var(--cyan);
  text-shadow:0 0 30px var(--cyan-glow);
}

@media (max-width:860px){
  .deployment-panel{
    padding:34px 22px;
  }

  .deployment-clock{
    grid-template-columns:1fr 1fr;
    gap:20px;
    padding:26px 18px;
  }

  .clock-separator{
    display:none;
  }

  .clock-number{
    font-size:clamp(2.4rem, 13vw, 4rem);
  }

  .deployment-meta{
    flex-direction:column;
    gap:10px;
  }

  .deployment-meta-row{
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }
}


/* ============================================================
   MOBILE / TOUCH POLISH
   ============================================================ */
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scroll-padding-top:96px;
}

button,
a,
input,
select,
textarea{
  -webkit-tap-highlight-color:transparent;
}

img,
svg{
  max-width:100%;
}

.mobile-menu-btn{
  display:none;
  width:44px;
  height:44px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  border:1px solid var(--line);
  background:rgba(10,15,22,0.72);
  color:var(--text);
  cursor:pointer;
  border-radius:3px;
  flex:0 0 44px;
}

.mobile-menu-btn span{
  width:18px;
  height:1px;
  background:currentColor;
  transition:transform .2s ease, opacity .2s ease;
  transform-origin:center;
}

.mobile-menu-btn.is-open span:nth-child(1){
  transform:translateY(6px) rotate(45deg);
}
.mobile-menu-btn.is-open span:nth-child(2){
  opacity:0;
}
.mobile-menu-btn.is-open span:nth-child(3){
  transform:translateY(-6px) rotate(-45deg);
}

@media (max-width:860px){
  html{
    scroll-padding-top:84px;
  }

  body{
    min-width:0;
  }

  body.mobile-nav-open{
    overflow:hidden;
  }

  body::after{
    width:560px;
    height:560px;
    top:-8%;
  }

  .wrap{
    width:100%;
    max-width:none;
    padding-left:max(20px, env(safe-area-inset-left));
    padding-right:max(20px, env(safe-area-inset-right));
  }

  nav{
    padding-top:env(safe-area-inset-top);
  }

  nav .wrap{
    height:68px;
    gap:10px;
    position:relative;
  }

  .brand{
    font-size:1rem;
    gap:8px;
    min-width:0;
    white-space:nowrap;
  }

  .brand-mark{
    width:20px;
    height:20px;
  }

  .mobile-menu-btn{
    display:flex;
    margin-left:auto;
  }

  nav ul.nav-links{
    display:none;
    position:absolute;
    top:68px;
    left:max(12px, env(safe-area-inset-left));
    right:max(12px, env(safe-area-inset-right));
    flex-direction:column;
    gap:0;
    padding:8px;
    background:rgba(10,15,22,0.98);
    border:1px solid var(--line);
    box-shadow:0 24px 70px rgba(0,0,0,.45);
    backdrop-filter:blur(18px);
  }

  nav ul.nav-links.is-open{
    display:flex;
  }

  nav ul.nav-links li{
    width:100%;
  }

  nav ul.nav-links a{
    display:flex;
    align-items:center;
    min-height:48px;
    width:100%;
    padding:0 14px;
    border-bottom:1px solid var(--line-soft);
    font-size:.9rem;
  }

  nav ul.nav-links li:last-child a{
    border-bottom:0;
  }

  .nav-cta{
    min-height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 14px;
    font-size:.74rem;
  }

  .hero{
    padding-top:132px;
  }

  .eyebrow{
    margin-bottom:20px;
    font-size:.68rem;
    line-height:1.55;
    letter-spacing:.12em;
  }

  h1{
    font-size:clamp(2.35rem, 11vw, 4rem);
    line-height:1.02;
    overflow-wrap:anywhere;
  }

  .hero-sub{
    margin-top:22px;
    font-size:1rem;
    line-height:1.7;
  }

  .hero-actions{
    margin-top:32px;
    flex-wrap:wrap;
    gap:14px;
  }

  .btn-primary{
    min-height:48px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }

  .signal-stage{
    height:190px;
    margin-top:58px;
  }

  section{
    padding:76px 0;
  }

  .section-head{
    margin-bottom:42px;
  }

  .section-label{
    font-size:.69rem;
  }

  h2{
    font-size:clamp(1.75rem, 8vw, 2.45rem);
  }

  .lede{
    font-size:.96rem;
    line-height:1.7;
  }

  .pillar{
    padding:30px 24px;
  }

  .horizon-row{
    padding:24px 0;
  }

  .horizon-row:hover{
    padding-left:0;
  }

  .stat{
    padding:28px 20px;
  }

  .stat .num{
    font-size:1.6rem;
  }

  .contact-panel{
    gap:34px;
    padding:34px 22px;
  }

  .contact-form{
    gap:18px;
  }

  .field input,
  .field textarea,
  .field select,
  .admin-field input{
    width:100%;
    min-height:48px;
    font-size:16px; /* prevents iOS auto-zoom */
  }

  .field textarea{
    min-height:110px;
    padding-top:12px;
  }

  .contact-form button{
    width:100%;
    min-height:50px;
    align-self:stretch;
    margin-top:4px;
    font-size:.95rem;
  }

  .form-status{
    line-height:1.55;
  }

  footer{
    padding:38px 0 calc(38px + env(safe-area-inset-bottom));
  }

  footer .wrap{
    align-items:flex-start;
    flex-direction:column;
  }

  .foot-links{
    width:100%;
    justify-content:space-between;
    flex-wrap:wrap;
  }

  .foot-meta{
    font-size:.7rem;
    line-height:1.5;
  }

  .deployment-section{
    padding:64px 0 76px;
  }

  .deployment-panel{
    padding:30px 20px;
  }

  .deployment-panel::after{
    font-size:4rem;
    right:-5px;
    bottom:-20px;
  }

  .deployment-kicker{
    font-size:.69rem;
    margin-top:18px;
  }

  .deployment-clock{
    grid-template-columns:1fr 1fr;
    gap:1px;
    padding:1px;
    margin-top:34px;
    background:var(--line);
    border:1px solid var(--line);
  }

  .clock-cell{
    background:rgba(5,7,9,.92);
    padding:24px 10px;
    min-width:0;
  }

  .clock-separator{
    display:none;
  }

  .clock-number{
    font-size:clamp(2.2rem, 12vw, 4rem);
    letter-spacing:-.055em;
  }

  .clock-label{
    margin-top:8px;
    font-size:.61rem;
    letter-spacing:.11em;
  }

  .deployment-live{
    margin-top:34px;
    min-height:140px;
    padding:28px 18px;
  }

  /* Admin dashboard becomes stacked cards instead of a wide table */
  .admin-page{
    padding:
      calc(44px + env(safe-area-inset-top))
      max(16px, env(safe-area-inset-right))
      calc(40px + env(safe-area-inset-bottom))
      max(16px, env(safe-area-inset-left));
  }

  .admin-page .admin-toolbar{
    align-items:flex-start;
    flex-direction:column;
    margin-bottom:18px;
  }

  .admin-page .admin-toolbar h1{
    font-size:1.8rem;
  }

  .admin-page .admin-actions{
    width:100%;
  }

  .admin-page .admin-actions a,
  .admin-page .admin-actions form,
  .admin-page .admin-actions button{
    flex:1;
  }

  .admin-page .admin-actions a,
  .admin-page .admin-actions button{
    min-height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
  }

  .admin-page .admin-card{
    padding:0;
    border:0;
    background:transparent;
    overflow:visible;
  }

  .admin-page table,
  .admin-page tbody,
  .admin-page tr,
  .admin-page td{
    display:block;
    width:100%;
    min-width:0;
  }

  .admin-page table{
    min-width:0;
  }

  .admin-page thead{
    display:none;
  }

  .admin-page tr{
    background:var(--panel);
    border:1px solid var(--line);
    margin-bottom:14px;
    padding:8px 16px;
  }

  .admin-page tr:hover td{
    background:transparent;
  }

  .admin-page td{
    display:grid;
    grid-template-columns:minmax(92px, 34%) 1fr;
    gap:14px;
    padding:12px 0;
    border-bottom:1px solid var(--line-soft);
    overflow-wrap:anywhere;
  }

  .admin-page td::before{
    content:attr(data-label);
    color:var(--dim);
    font-family:var(--mono);
    font-size:.68rem;
    text-transform:uppercase;
    letter-spacing:.06em;
  }

  .admin-page td:last-child{
    border-bottom:0;
  }

  .admin-page .delete-form button{
    width:100%;
    min-height:42px;
  }

  .admin-page .admin-login-card{
    margin:20px auto 0;
    padding:30px 22px;
  }

  .admin-page .admin-login-card h1{
    font-size:1.8rem;
  }

  .admin-page .admin-login-card button[type="submit"]{
    width:100%;
    min-height:48px;
  }
}

@media (max-width:540px){
  .wrap{
    padding-left:max(16px, env(safe-area-inset-left));
    padding-right:max(16px, env(safe-area-inset-right));
  }

  .nav-cta{
    display:none;
  }

  .brand{
    font-size:.96rem;
  }

  .hero{
    padding-top:118px;
  }

  .hero-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .hero-actions .btn-primary,
  .hero-actions .btn-ghost{
    width:100%;
    text-align:center;
  }

  .btn-ghost{
    min-height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--line);
    padding:0 16px;
  }

  .signal-stage{
    height:150px;
    margin-top:46px;
  }

  section{
    padding:64px 0;
  }

  .statline{
    grid-template-columns:1fr;
  }

  .stat{
    padding:24px 20px;
  }

  .contact-panel{
    padding:28px 18px;
  }

  .principle{
    padding:18px 0;
  }

  .deployment-panel{
    padding:26px 16px;
  }

  .deployment-meta-row{
    font-size:.7rem;
  }

  .clock-cell{
    padding:22px 8px;
  }

  .clock-number{
    font-size:clamp(2.05rem, 14vw, 3.4rem);
  }

  .foot-links{
    flex-direction:column;
    align-items:flex-start;
  }

  .admin-page td{
    grid-template-columns:1fr;
    gap:5px;
  }
}
