:root{
  --ink:#0F1B33;
  --panel:#152442;
  --panel-2:#1B2C4E;
  --amber:#E8A33D;
  --amber-soft:#F0BB66;
  --teal:#3FCF8E;
  --text:#F2EFE6;
  --muted:#93A0B7;
  --line: rgba(242,239,230,0.12);
  --line-strong: rgba(242,239,230,0.22);
  --radius: 14px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
}
body{
  margin:0;
  background:var(--ink);
  color:var(--text);
  font-family:'Inter', system-ui, sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3{
  font-family:'Fraunces', Georgia, serif;
  font-weight:600;
  line-height:1.08;
  margin:0;
  letter-spacing:-0.01em;
}
em{ font-style:italic; color:var(--amber-soft); font-weight:500; }
a{color:inherit; text-decoration:none;}
.mono{font-family:'JetBrains Mono', monospace;}
.wrap{max-width:1180px; margin:0 auto; padding:0 28px;}
img,svg{display:block; max-width:100%;}
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
  outline:2px solid var(--teal); outline-offset:3px; border-radius:4px;
}

/* ---------- NAV ---------- */
header.nav{
  position:sticky; top:0; z-index:50;
  background:rgba(15,27,51,0.86);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--line);
}
.nav-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 28px; max-width:1180px; margin:0 auto;
}
.logo{
  display:flex; align-items:center; gap:10px;
  font-family:'Fraunces', serif; font-weight:600; font-size:19px; color:var(--text);
}
.logo .mark{
  width:11px; height:11px; border-radius:50%;
  background: radial-gradient(circle at 35% 30%, var(--amber-soft), var(--amber) 60%, transparent 100%);
  box-shadow:0 0 10px 2px rgba(232,163,61,0.55);
}
nav.links{display:flex; gap:32px; font-size:14.5px; color:var(--muted);}
nav.links a{transition:color .2s ease; padding-bottom:4px; border-bottom:2px solid transparent;}
nav.links a:hover{color:var(--text);}
nav.links a.active{color:var(--text); border-bottom-color:var(--amber);}
.nav-cta{
  font-size:13.5px; font-weight:600; padding:10px 18px;
  border:1px solid var(--line-strong); border-radius:999px; color:var(--text); white-space:nowrap;
  transition:border-color .2s ease, background .2s ease;
}
.nav-cta:hover{border-color:var(--amber); background:rgba(232,163,61,0.08);}
@media (max-width:860px){ nav.links{display:none;} }

/* ---------- PAGE HERO (inner pages) ---------- */
.page-hero{
  position:relative; padding:76px 0 56px; overflow:hidden;
  border-bottom:1px solid var(--line);
  background: radial-gradient(120% 160% at 80% -20%, rgba(232,163,61,0.14), transparent 55%), var(--ink);
}
.page-hero .eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-family:'JetBrains Mono', monospace; font-size:12.5px; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--teal); margin-bottom:18px;
}
.page-hero .eyebrow::before{
  content:''; width:7px; height:7px; border-radius:50%; background:var(--teal);
  box-shadow:0 0 8px 2px rgba(63,207,142,0.6);
}
.page-hero h1{font-size:clamp(32px,4.8vw,52px); max-width:760px;}
.page-hero p{max-width:560px; margin-top:18px; font-size:16.5px; line-height:1.6; color:var(--muted);}

/* ---------- HOME HERO / HORIZON ---------- */
.hero{ position:relative; padding:96px 0 64px; overflow:hidden; }
.horizon-canvas{ position:absolute; inset:0; z-index:0; pointer-events:none; }
.horizon-canvas svg{width:100%; height:100%;}
.hero-inner{position:relative; z-index:2;}
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-family:'JetBrains Mono', monospace; font-size:12.5px; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--teal); margin-bottom:22px;
}
.eyebrow::before{
  content:''; width:7px; height:7px; border-radius:50%; background:var(--teal);
  box-shadow:0 0 8px 2px rgba(63,207,142,0.6);
  animation: blink 2.4s ease-in-out infinite;
}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:0.35;}}
.hero h1{ font-size:clamp(38px, 5.6vw, 68px); max-width:820px; }
.hero p.sub{ max-width:560px; margin-top:22px; font-size:17.5px; line-height:1.6; color:var(--muted); }
.hero-ctas{display:flex; gap:16px; margin-top:34px; flex-wrap:wrap;}
.btn{
  display:inline-flex; align-items:center; gap:8px; padding:14px 26px; border-radius:999px;
  font-size:14.5px; font-weight:600; border:1px solid transparent; cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
  font-family:inherit;
}
.btn-primary{ background:linear-gradient(135deg, var(--amber-soft), var(--amber)); color:#1A1204; }
.btn-primary:hover{transform:translateY(-2px); box-shadow:0 10px 26px -10px rgba(232,163,61,0.55);}
.btn-ghost{ border:1px solid var(--line-strong); color:var(--text); background:transparent; }
.btn-ghost:hover{border-color:var(--text); background:rgba(255,255,255,0.04);}

.console{
  margin-top:64px; display:grid; grid-template-columns:repeat(4,1fr);
  border:1px solid var(--line); border-radius:var(--radius);
  background:rgba(21,36,66,0.55); backdrop-filter:blur(6px); overflow:hidden;
}
.console .cell{ padding:22px 24px; border-right:1px solid var(--line); }
.console .cell:last-child{border-right:none;}
.console .cell .num{ font-family:'JetBrains Mono', monospace; font-size:26px; color:var(--amber-soft); font-weight:500; }
.console .cell .lbl{ font-size:12px; color:var(--muted); text-transform:uppercase; letter-spacing:0.08em; margin-top:6px; }
@media (max-width:760px){
  .console{grid-template-columns:repeat(2,1fr);}
  .console .cell:nth-child(2){border-right:none;}
}

/* ---------- SECTION SHARED ---------- */
section{padding:110px 0;}
.section-head{max-width:640px; margin-bottom:56px;}
.section-head .eyebrow{color:var(--amber-soft);}
.section-head .eyebrow::before{background:var(--amber-soft); box-shadow:0 0 8px 2px rgba(232,163,61,0.5);}
.section-head h2{font-size:clamp(28px,3.6vw,42px);}
.section-head p{color:var(--muted); margin-top:16px; font-size:16px; line-height:1.6;}

/* ---------- SERVICES ---------- */
.services-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background:var(--line); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;
}
.service-card{ background:var(--panel); padding:34px 30px; transition:background .25s ease; }
.service-card:hover{background:var(--panel-2);}
.service-card .glyph{
  font-family:'JetBrains Mono', monospace; font-size:12px; color:var(--teal);
  border:1px solid rgba(63,207,142,0.4); border-radius:6px;
  width:34px; height:34px; display:flex; align-items:center; justify-content:center; margin-bottom:20px;
}
.service-card h3{font-size:19px; font-weight:600; margin-bottom:10px;}
.service-card p{color:var(--muted); font-size:14.5px; line-height:1.6; margin:0;}
@media (max-width:860px){.services-grid{grid-template-columns:1fr;}}

/* ---------- VERTICALS MARQUEE + ICONS ---------- */
.verticals{background:var(--panel); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.marquee{
  overflow:hidden; white-space:nowrap; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  padding:22px 0; margin-top:8px;
}
.marquee-track{ display:inline-flex; gap:0; animation: scroll-left 32s linear infinite; }
.marquee-track span{
  font-family:'Fraunces', serif; font-style:italic; font-size:26px; color:var(--muted);
  padding:0 34px; display:inline-flex; align-items:center; gap:20px;
}
.marquee-track span::after{content:'—'; color:var(--line-strong); font-style:normal;}
@keyframes scroll-left{ from{transform:translateX(0);} to{transform:translateX(-50%);} }

.vertical-grid{ margin-top:56px; display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }
.vertical-item{
  text-align:center; padding:30px 12px; border:1px solid var(--line); border-radius:12px;
  background:rgba(255,255,255,0.02); transition:border-color .2s ease, transform .2s ease;
}
.vertical-item:hover{border-color:var(--amber); transform:translateY(-3px);}
.vicon{
  width:44px; height:44px; margin:0 auto 14px; border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(232,163,61,0.08); border:1px solid rgba(232,163,61,0.25);
}
.vicon svg{width:22px; height:22px;}
.vicon svg *{ stroke:var(--amber-soft); }
.vertical-item .name{font-size:13.5px; color:var(--text); font-weight:500;}
@media (max-width:860px){.vertical-grid{grid-template-columns:repeat(2,1fr);}}

/* ---------- WHY US ---------- */
.why-grid{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; }
.why-list{border-top:1px solid var(--line);}
.why-item{ display:grid; grid-template-columns:32px 1fr; gap:20px; padding:26px 0; border-bottom:1px solid var(--line); }
.why-item .glyph{ font-family:'JetBrains Mono', monospace; color:var(--amber-soft); font-size:16px; padding-top:3px; }
.why-item h3{font-size:17.5px; font-weight:600; margin-bottom:6px;}
.why-item p{color:var(--muted); font-size:14.5px; line-height:1.6; margin:0;}
.why-visual{
  border:1px solid var(--line); border-radius:var(--radius);
  background:linear-gradient(160deg, var(--panel), var(--panel-2));
  padding:34px; position:sticky; top:110px;
}
.why-visual .tag{
  display:inline-block; font-family:'JetBrains Mono',monospace; font-size:11.5px; color:var(--teal);
  border:1px solid rgba(63,207,142,0.35); border-radius:6px; padding:4px 10px; margin-bottom:18px;
}
.why-visual h3{font-size:23px; margin-bottom:14px; font-weight:600;}
.why-visual p{color:var(--muted); font-size:14.5px; line-height:1.65;}
.why-visual .divider{height:1px; background:var(--line); margin:24px 0;}
.why-visual .row{display:flex; justify-content:space-between; font-size:13.5px; padding:9px 0; color:var(--muted);}
.why-visual .row b{color:var(--text); font-family:'JetBrains Mono',monospace; font-weight:500;}
@media (max-width:900px){ .why-grid{grid-template-columns:1fr;} .why-visual{position:static;} }

/* ---------- TESTIMONIALS ---------- */
.testi-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.testi-card{ border:1px solid var(--line); border-radius:var(--radius); padding:30px; background:rgba(255,255,255,0.02); }
.stars{color:var(--amber-soft); font-size:14px; letter-spacing:2px; margin-bottom:16px;}
.testi-card p.quote{font-size:15.5px; line-height:1.65; color:var(--text); margin:0 0 22px;}
.testi-person{display:flex; align-items:center; gap:12px;}
.testi-person .av{
  width:38px; height:38px; border-radius:50%;
  background:linear-gradient(135deg, var(--amber-soft), var(--teal));
  display:flex; align-items:center; justify-content:center;
  font-family:'JetBrains Mono',monospace; font-size:12px; color:#0F1B33; font-weight:600;
}
.testi-person .name{font-size:14px; font-weight:600;}
.testi-person .role{font-size:12.5px; color:var(--muted);}
@media (max-width:860px){.testi-grid{grid-template-columns:1fr;}}

/* ---------- LOGO / CLIENT STRIP ---------- */
.client-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.client-card{
  border:1px solid var(--line); border-radius:12px; padding:28px 24px;
  background:rgba(255,255,255,0.02); transition:border-color .2s ease;
}
.client-card:hover{border-color:var(--amber);}
.client-card .cname{font-family:'Fraunces',serif; font-size:19px; font-weight:600; margin-bottom:6px;}
.client-card .cvert{font-size:12.5px; color:var(--teal); font-family:'JetBrains Mono',monospace; text-transform:uppercase; letter-spacing:.06em; margin-bottom:12px;}
.client-card p{color:var(--muted); font-size:14px; line-height:1.6; margin:0;}
@media (max-width:900px){.client-grid{grid-template-columns:repeat(2,1fr);}}

/* ---------- ABOUT ---------- */
.about-grid{display:grid; grid-template-columns:1.1fr 0.9fr; gap:60px; align-items:start;}
.about-grid p{color:var(--muted); font-size:16px; line-height:1.75; margin-bottom:18px;}
.stat-block{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.stat-card{border:1px solid var(--line); border-radius:12px; padding:24px; background:rgba(255,255,255,0.02);}
.stat-card .num{font-family:'JetBrains Mono',monospace; font-size:28px; color:var(--amber-soft);}
.stat-card .lbl{font-size:12.5px; color:var(--muted); margin-top:6px;}
@media (max-width:900px){.about-grid{grid-template-columns:1fr;}}

/* ---------- CONTACT ---------- */
.contact-grid{display:grid; grid-template-columns:1fr 1.1fr; gap:50px; align-items:start;}
.contact-info-card{
  border:1px solid var(--line); border-radius:var(--radius); padding:32px;
  background:linear-gradient(160deg, var(--panel), var(--panel-2));
}
.contact-info-card h3{font-size:20px; margin-bottom:18px;}
.contact-row{display:flex; gap:14px; padding:14px 0; border-top:1px solid var(--line);}
.contact-row:first-of-type{border-top:none;}
.contact-row .k{color:var(--muted); font-size:13px; min-width:90px;}
.contact-row .v{font-size:14.5px; font-weight:500;}
.contact-row a.v:hover{color:var(--amber-soft);}

.form-card{ border:1px solid var(--line); border-radius:var(--radius); padding:36px; background:rgba(255,255,255,0.02); }
.field{margin-bottom:20px;}
.field label{display:block; font-size:13px; color:var(--muted); margin-bottom:8px;}
.field input, .field textarea, .field select{
  width:100%; background:var(--panel); border:1px solid var(--line-strong); border-radius:8px;
  padding:12px 14px; color:var(--text); font-family:'Inter', sans-serif; font-size:14.5px;
}
.field textarea{resize:vertical; min-height:120px;}
.field input::placeholder, .field textarea::placeholder{color:#5C6780;}
.form-row-2{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.form-msg{padding:14px 16px; border-radius:8px; font-size:14px; margin-bottom:20px;}
.form-msg.success{background:rgba(63,207,142,0.12); border:1px solid rgba(63,207,142,0.4); color:var(--teal);}
.form-msg.error{background:rgba(232,90,90,0.1); border:1px solid rgba(232,90,90,0.4); color:#F0A0A0;}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr;} .form-row-2{grid-template-columns:1fr;}}

/* ---------- CTA BAND ---------- */
.cta-band{
  position:relative; text-align:center; padding:100px 28px; border-radius:24px;
  margin:0 28px; max-width:1124px; margin-inline:auto;
  background:radial-gradient(120% 140% at 50% 120%, rgba(232,163,61,0.16), transparent 60%), var(--panel);
  border:1px solid var(--line); overflow:hidden;
}
.cta-band h2{font-size:clamp(28px,4vw,44px); max-width:640px; margin:0 auto 20px;}
.cta-band p{color:var(--muted); max-width:460px; margin:0 auto 34px; font-size:15.5px;}
.cta-band .hero-ctas{justify-content:center;}

/* ---------- FOOTER ---------- */
footer{padding:80px 0 40px; border-top:1px solid var(--line); margin-top:60px;}
.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:40px; padding-bottom:50px; border-bottom:1px solid var(--line); }
.footer-grid h4{font-size:12.5px; text-transform:uppercase; letter-spacing:0.08em; color:var(--muted); margin-bottom:16px; font-weight:600;}
.footer-grid ul{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px;}
.footer-grid a{color:var(--text); font-size:14.5px; opacity:0.85; transition:opacity .2s;}
.footer-grid a:hover{opacity:1; color:var(--amber-soft);}
.footer-brand p{color:var(--muted); font-size:14px; line-height:1.6; max-width:280px; margin-top:14px;}
.footer-bottom{ display:flex; justify-content:space-between; align-items:center; padding-top:26px; font-size:13px; color:var(--muted); flex-wrap:wrap; gap:12px; }
@media (max-width:760px){.footer-grid{grid-template-columns:1fr 1fr;}}

/* ---------- ADMIN ---------- */
body.admin{background:#0B1220;}
.admin-shell{display:flex; min-height:100vh;}
.admin-side{
  width:230px; background:var(--panel); border-right:1px solid var(--line);
  padding:26px 20px; display:flex; flex-direction:column; gap:6px;
}
.admin-side .logo{margin-bottom:24px;}
.admin-side a{
  padding:10px 12px; border-radius:8px; font-size:14px; color:var(--muted);
}
.admin-side a.active, .admin-side a:hover{background:var(--panel-2); color:var(--text);}
.admin-main{flex:1; padding:36px 40px; max-width:980px;}
.admin-topbar{display:flex; justify-content:space-between; align-items:center; margin-bottom:30px;}
.admin-topbar h1{font-size:24px;}
.admin-card{border:1px solid var(--line); border-radius:var(--radius); background:var(--panel); padding:26px; margin-bottom:24px;}
.admin-table{width:100%; border-collapse:collapse; font-size:14px;}
.admin-table th{ text-align:left; font-size:11.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); padding:10px 12px; border-bottom:1px solid var(--line);}
.admin-table td{padding:12px; border-bottom:1px solid var(--line); vertical-align:top;}
.admin-table tr:last-child td{border-bottom:none;}
.pill{font-family:'JetBrains Mono',monospace; font-size:11.5px; padding:3px 9px; border-radius:999px; background:rgba(63,207,142,0.12); color:var(--teal); border:1px solid rgba(63,207,142,0.35);}
.login-shell{min-height:100vh; display:flex; align-items:center; justify-content:center; padding:20px;}
.login-card{width:100%; max-width:380px; border:1px solid var(--line); border-radius:var(--radius); background:var(--panel); padding:36px;}
.login-card h1{font-size:22px; margin-bottom:6px;}
.login-card p.sub{color:var(--muted); font-size:14px; margin-bottom:26px;}
.del-btn{background:transparent; border:1px solid rgba(232,90,90,0.35); color:#F0A0A0; border-radius:6px; padding:6px 10px; font-size:12px; cursor:pointer;}
.del-btn:hover{background:rgba(232,90,90,0.1);}
.admin-note{font-size:12.5px; color:var(--muted); margin-top:10px;}
