:root{
  --ink:#14132B;
  --ink-2:#1D1B3F;
  --magenta:#C6318F;
  --violet:#6C3CE0;
  --mint:#3FE1B0;
  --paper:#F7F4EF;
  --paper-2:#EDE8DF;
  --slate:#2A2740;
  --slate-soft:#5B5876;
  --line: rgba(247,244,239,0.14);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter', sans-serif;
  background:var(--paper);
  color:var(--slate);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,.display{font-family:'Space Grotesk', sans-serif;}
.mono{font-family:'JetBrains Mono', monospace;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
@media(max-width:640px){.wrap{padding:0 20px;}}

a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
  outline:2px solid var(--mint); outline-offset:3px;
}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
}

/* ---------- NAV ---------- */
header{
  position:sticky; top:0; z-index:50;
  background:rgba(20,19,43,0.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 32px; max-width:1180px; margin:0 auto;
}
.brand{display:flex; align-items:center; gap:10px; color:var(--paper);}
.brand .cross{
  width:22px; height:22px; border-radius:6px;
  background:linear-gradient(135deg, var(--magenta), var(--violet));
  position:relative; flex-shrink:0;
}
.brand .cross::before, .brand .cross::after{
  content:''; position:absolute; background:var(--paper);
}
.brand-logo{
  width:26px; height:26px; border-radius:6px; flex-shrink:0; display:block;
}
.brand span{font-weight:600; font-size:16px; letter-spacing:0.01em;}
.nav-links{display:flex; gap:32px; color:var(--paper); font-size:14px; font-weight:500;}
.nav-links a{opacity:0.75; transition:opacity .2s;}
.nav-links a:hover, .nav-links a.current{opacity:1;}
.nav-right{display:flex; align-items:center; gap:20px;}
.nav-phone{color:var(--mint); font-family:'JetBrains Mono', monospace; font-size:13px; opacity:0.9;}
.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 20px; border-radius:100px;
  font-size:14px; font-weight:600; cursor:pointer; border:none;
  transition:transform .18s ease, box-shadow .18s ease;
  white-space:nowrap;
}
.btn-primary{background:var(--mint); color:var(--ink);}
.btn-primary:hover{transform:translateY(-2px); box-shadow:0 8px 24px rgba(63,225,176,0.35);}
.btn-ghost{background:transparent; color:var(--paper); border:1px solid rgba(247,244,239,0.28);}
.btn-ghost:hover{border-color:var(--mint); color:var(--mint);}
@media(max-width:860px){.nav-links{display:none;} .nav-phone{display:none;}}
@media(max-width:480px){
  nav{padding:14px 16px;}
  .nav-right{gap:10px;}
  .brand span{font-size:14px;}
  .brand{gap:8px;}
  .nav .btn-primary{padding:8px 14px; font-size:12.5px;}
}

/* mobile menu */
.nav-burger{display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:6px;}
.nav-burger span{width:22px; height:2px; background:var(--paper); border-radius:2px;}
@media(max-width:860px){.nav-burger{display:flex;}}
.mobile-menu{
  display:none; flex-direction:column; gap:2px;
  background:var(--ink-2); border-top:1px solid var(--line);
  padding:10px 20px 18px;
}
.mobile-menu.open{display:flex;}
.mobile-menu a{color:var(--paper); font-size:15px; font-weight:500; padding:12px 4px; border-bottom:1px solid var(--line);}
.mobile-menu a:last-child{border-bottom:none;}

/* ---------- SECTION DIVIDER (signature pulse) ---------- */
.divider{width:100%; height:44px; display:block; background:var(--ink);}
.divider-flip{transform:scaleY(-1); background:var(--paper);}
.divider svg{width:100%; height:100%;}

/* ---------- HOME HERO ---------- */
.hero{
  background:radial-gradient(ellipse at 20% -10%, rgba(108,60,224,0.45), transparent 55%),
             radial-gradient(ellipse at 90% 10%, rgba(198,49,143,0.30), transparent 50%),
             var(--ink);
  color:var(--paper);
  padding:88px 0 64px;
  position:relative;
}
.toggle-row{display:flex; align-items:center; gap:14px; margin-bottom:32px; flex-wrap:wrap;}
.toggle-label{font-size:13px; font-family:'JetBrains Mono', monospace; opacity:0.6;}
.toggle{
  position:relative; display:inline-flex; background:rgba(247,244,239,0.08);
  border:1px solid var(--line); border-radius:100px; padding:4px; cursor:pointer;
}
.toggle button{
  position:relative; z-index:2; border:none; background:none; color:var(--paper);
  padding:9px 20px; font-size:13px; font-weight:600; font-family:'Inter',sans-serif;
  cursor:pointer; opacity:0.55; transition:opacity .25s; border-radius:100px;
}
.toggle button.active{opacity:1;}
.toggle-pill{
  position:absolute; top:4px; left:4px; height:calc(100% - 8px);
  width:calc(50% - 4px); border-radius:100px;
  background:linear-gradient(135deg, var(--magenta), var(--violet));
  transition:transform .3s cubic-bezier(.65,0,.35,1);
}
.toggle[data-mode="home"] .toggle-pill{transform:translateX(100%);}

.hero-grid{display:grid; grid-template-columns:1.15fr 0.85fr; gap:56px; align-items:center;}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;}}

.eyebrow{
  font-family:'JetBrains Mono', monospace; font-size:12.5px; letter-spacing:0.06em;
  color:var(--mint); display:flex; align-items:center; gap:8px; margin-bottom:18px;
}
.eyebrow .dot{width:7px; height:7px; border-radius:50%; background:var(--mint); box-shadow:0 0 0 0 rgba(63,225,176,0.6); animation:pulse-dot 2s infinite;}
@keyframes pulse-dot{
  0%{box-shadow:0 0 0 0 rgba(63,225,176,0.55);}
  70%{box-shadow:0 0 0 8px rgba(63,225,176,0);}
  100%{box-shadow:0 0 0 0 rgba(63,225,176,0);}
}

h1.headline{font-size:clamp(34px,4.6vw,58px); line-height:1.05; font-weight:700; letter-spacing:-0.01em; margin-bottom:20px; min-height:2.2em;}
h1.headline .accent{background:linear-gradient(135deg, var(--mint), #8FF0D8); -webkit-background-clip:text; background-clip:text; color:transparent;}
.subhead{font-size:17px; line-height:1.6; color:rgba(247,244,239,0.72); max-width:480px; margin-bottom:32px; min-height:3.2em;}
.hero-ctas{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:44px;}

.vitals{
  display:flex; gap:28px; padding-top:28px; border-top:1px solid var(--line); flex-wrap:wrap;
}
.vital{font-family:'JetBrains Mono', monospace;}
.vital .num{font-size:22px; font-weight:600; color:var(--paper); display:block;}
.vital .lbl{font-size:11.5px; color:rgba(247,244,239,0.5); text-transform:uppercase; letter-spacing:0.05em;}

.monitor-card{
  background:rgba(247,244,239,0.05);
  border:1px solid var(--line);
  border-radius:20px;
  padding:26px;
}
.monitor-head{display:flex; justify-content:space-between; align-items:center; margin-bottom:18px;}
.monitor-head .tag{font-family:'JetBrains Mono', monospace; font-size:11px; color:var(--mint); letter-spacing:0.05em;}
.monitor-dots{display:flex; gap:6px;}
.monitor-dots span{width:8px; height:8px; border-radius:50%; background:rgba(247,244,239,0.25);}
.pulse-wrap{width:100%; height:90px; margin-bottom:20px;}
.pulse-wrap svg{width:100%; height:100%; display:block;}
.pulse-line{
  fill:none; stroke:var(--mint); stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round;
  stroke-dasharray:1000; stroke-dashoffset:1000;
  animation:draw 3.2s ease-in-out infinite;
}
@keyframes draw{
  0%{stroke-dashoffset:1000;}
  55%{stroke-dashoffset:0;}
  100%{stroke-dashoffset:-1000;}
}
.monitor-rows{display:flex; flex-direction:column; gap:12px;}
.monitor-row{display:flex; justify-content:space-between; align-items:center; font-size:13px; padding:10px 14px; background:rgba(247,244,239,0.04); border-radius:10px;}
.monitor-row .k{color:rgba(247,244,239,0.55);}
.monitor-row .v{font-family:'JetBrains Mono', monospace; font-weight:500;}
.status-ok{color:var(--mint);}
.status-warn{color:#F2C46D;}

/* ---------- INTERIOR PAGE HERO (smaller, non-toggle) ---------- */
.page-hero{
  background:radial-gradient(ellipse at 15% -20%, rgba(108,60,224,0.4), transparent 55%),
             radial-gradient(ellipse at 95% 0%, rgba(198,49,143,0.28), transparent 50%),
             var(--ink);
  color:var(--paper);
  padding:64px 0 56px;
}
.page-hero .eyebrow{margin-bottom:16px;}
.page-hero h1{font-size:clamp(30px,4vw,46px); line-height:1.08; font-weight:700; letter-spacing:-0.01em; margin-bottom:16px; max-width:680px;}
.page-hero h1 .accent{background:linear-gradient(135deg, var(--mint), #8FF0D8); -webkit-background-clip:text; background-clip:text; color:transparent;}
.page-hero p{font-size:16.5px; line-height:1.6; color:rgba(247,244,239,0.72); max-width:560px; margin-bottom:28px;}
.page-hero .hero-ctas{margin-bottom:0;}

/* ---------- TRUST BAR ---------- */
.trust{background:var(--paper); padding:22px 0; border-bottom:1px solid rgba(42,39,64,0.08);}
.trust .wrap{display:flex; flex-wrap:wrap; row-gap:12px; column-gap:26px; align-items:center; justify-content:center; text-align:center;}
.trust-item{display:flex; align-items:center; gap:10px; font-size:13.5px; color:var(--slate-soft); font-weight:500;}
.trust-item b{color:var(--slate); font-weight:600;}

/* ---------- SECTION HEAD (generic) ---------- */
.process{background:var(--paper); padding:96px 0 80px;}
.section-head{max-width:600px; margin-bottom:56px;}
.section-eyebrow{font-family:'JetBrains Mono', monospace; font-size:12px; letter-spacing:0.06em; color:var(--magenta); margin-bottom:14px; text-transform:uppercase;}
.section-head h2{font-size:clamp(26px,3.2vw,38px); line-height:1.15; font-weight:700; color:var(--ink); letter-spacing:-0.01em;}
.section-head p{margin-top:14px; color:var(--slate-soft); font-size:15.5px; line-height:1.6;}

.process-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; position:relative;}
@media(max-width:860px){.process-grid{grid-template-columns:1fr;}}
.process-card{
  background:#fff; border:1px solid rgba(42,39,64,0.08); border-radius:18px; padding:30px 26px;
  position:relative; transition:transform .25s ease, box-shadow .25s ease;
}
.process-card:hover{transform:translateY(-5px); box-shadow:0 20px 40px rgba(20,19,43,0.08);}
.process-stage{font-family:'JetBrains Mono', monospace; font-size:11.5px; color:var(--magenta); letter-spacing:0.08em; text-transform:uppercase; margin-bottom:14px; display:block;}
.process-card h3{font-size:20px; font-weight:600; color:var(--ink); margin-bottom:10px;}
.process-card p{font-size:14.5px; color:var(--slate-soft); line-height:1.6;}
.process-icon{width:42px; height:42px; border-radius:12px; display:flex; align-items:center; justify-content:center; margin-bottom:18px; font-size:19px;}
.icon-diagnose{background:rgba(108,60,224,0.1); color:var(--violet);}
.icon-treat{background:rgba(198,49,143,0.1); color:var(--magenta);}
.icon-maintain{background:rgba(63,225,176,0.15); color:#1E9C79;}

/* ---------- SERVICES (dark) ---------- */
.services{background:var(--ink); padding:96px 0 90px; color:var(--paper); position:relative;}
.services .section-head h2{color:var(--paper);}
.services .section-eyebrow{color:var(--mint);}
.services .section-head p{color:rgba(247,244,239,0.6);}

.svc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
@media(max-width:900px){.svc-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.svc-grid{grid-template-columns:1fr;}}
.svc-card{
  background:rgba(247,244,239,0.04); border:1px solid var(--line); border-radius:16px; padding:24px;
  transition:border-color .25s ease, background .25s ease;
}
.svc-card:hover{border-color:rgba(63,225,176,0.4); background:rgba(247,244,239,0.07);}
.svc-card .n{font-family:'JetBrains Mono', monospace; font-size:11px; color:rgba(247,244,239,0.35); margin-bottom:12px; display:block;}
.svc-card h4{font-size:16px; font-weight:600; margin-bottom:8px;}
.svc-card p{font-size:13.5px; color:rgba(247,244,239,0.55); line-height:1.55;}
.svc-card ul{margin-top:12px; padding-left:16px;}
.svc-card li{font-size:12.5px; color:rgba(247,244,239,0.5); line-height:1.7;}

.repair-strip{
  margin-top:64px; padding-top:56px; border-top:1px solid var(--line);
  display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center;
}
@media(max-width:860px){.repair-strip{grid-template-columns:1fr;}}
.repair-copy .section-eyebrow{color:var(--magenta);}
.repair-copy h3{font-size:26px; font-weight:700; margin-bottom:14px;}
.repair-copy p{color:rgba(247,244,239,0.62); font-size:15px; line-height:1.65; margin-bottom:22px; max-width:440px;}
.repair-list{display:flex; flex-wrap:wrap; gap:10px;}
.chip{
  font-size:12.5px; font-family:'JetBrains Mono', monospace; padding:7px 14px;
  border:1px solid var(--line); border-radius:100px; color:rgba(247,244,239,0.7);
}
.repair-visual{
  background:rgba(247,244,239,0.04); border:1px solid var(--line); border-radius:18px;
  padding:26px; display:flex; flex-direction:column; gap:14px;
}
.repair-row{display:flex; justify-content:space-between; align-items:center; padding:12px 16px; background:rgba(247,244,239,0.05); border-radius:10px; font-size:13.5px;}
.repair-row .ok{color:var(--mint); font-family:'JetBrains Mono', monospace; font-size:12px;}

/* ---------- CASE NOTES / TESTIMONIALS ---------- */
.notes{background:var(--paper); padding:96px 0;}
.notes-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
@media(max-width:860px){.notes-grid{grid-template-columns:1fr;}}
.note-card{
  background:#fff; border:1px solid rgba(42,39,64,0.08); border-left:3px solid var(--mint);
  border-radius:4px 14px 14px 4px; padding:26px;
}
.note-top{display:flex; justify-content:space-between; font-family:'JetBrains Mono', monospace; font-size:11px; color:var(--slate-soft); margin-bottom:16px;}
.note-card p.quote{font-size:14.5px; line-height:1.65; color:var(--slate); margin-bottom:18px; font-style:italic;}
.note-who{font-size:13px; font-weight:600; color:var(--ink);}
.note-role{font-size:12px; color:var(--slate-soft);}
.placeholder-flag{
  display:inline-block; margin-top:32px; font-family:'JetBrains Mono', monospace; font-size:12px;
  color:var(--magenta); background:rgba(198,49,143,0.08); padding:8px 14px; border-radius:8px;
}

/* ---------- CONTACT ---------- */
.contact{background:var(--ink); color:var(--paper); padding:90px 0 60px;}
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:64px;}
@media(max-width:860px){.contact-grid{grid-template-columns:1fr; gap:44px;}}
.contact-info h2{font-size:clamp(26px,3vw,36px); margin-bottom:18px;}
.contact-info p{color:rgba(247,244,239,0.62); font-size:15px; line-height:1.7; margin-bottom:28px; max-width:420px;}
.info-row{display:flex; gap:14px; padding:14px 0; border-top:1px solid var(--line);}
.info-row:last-child{border-bottom:1px solid var(--line);}
.info-row .k{font-family:'JetBrains Mono', monospace; font-size:11.5px; color:var(--mint); width:110px; flex-shrink:0; text-transform:uppercase; letter-spacing:0.04em; padding-top:2px;}
.info-row .v{font-size:14.5px; color:rgba(247,244,239,0.85); line-height:1.5;}
.social-row{display:flex; gap:12px; margin-top:24px;}
.social-row a{width:38px; height:38px; border-radius:10px; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; font-size:13px; transition:border-color .2s, color .2s; color:rgba(247,244,239,0.7);}
.social-row a:hover{border-color:var(--mint); color:var(--mint);}

.form-card{background:rgba(247,244,239,0.05); border:1px solid var(--line); border-radius:18px; padding:30px;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px;}
@media(max-width:480px){.form-row{grid-template-columns:1fr;}}
input, textarea, select{
  width:100%; background:rgba(247,244,239,0.06); border:1px solid var(--line); border-radius:10px;
  padding:12px 14px; font-family:'Inter',sans-serif; font-size:14px; color:var(--paper);
}
select option{
  color:var(--slate);
  background:#ffffff;
}
input::placeholder, textarea::placeholder{color:rgba(247,244,239,0.35);}
textarea{margin-bottom:18px; resize:vertical; min-height:90px;}
.form-card .btn-primary{width:100%; justify-content:center; padding:13px;}
label.field-label{display:block; font-family:'JetBrains Mono', monospace; font-size:11px; color:rgba(247,244,239,0.5); margin-bottom:6px; text-transform:uppercase; letter-spacing:0.04em;}

footer{background:var(--ink); border-top:1px solid var(--line); padding:26px 0; text-align:center;}
footer p{font-size:12.5px; color:rgba(247,244,239,0.4); font-family:'JetBrains Mono', monospace;}

/* ---------- ABOUT PAGE ---------- */
.timeline{background:var(--paper); padding:20px 0 90px;}
.timeline-track{display:flex; flex-direction:column; gap:0;}
.timeline-item{display:grid; grid-template-columns:110px 1fr; gap:24px; padding:26px 0; border-top:1px solid rgba(42,39,64,0.1);}
.timeline-item:last-child{border-bottom:1px solid rgba(42,39,64,0.1);}
.timeline-year{font-family:'JetBrains Mono', monospace; font-size:14px; color:var(--magenta); font-weight:600; padding-top:2px;}
.timeline-item h4{font-size:17px; font-weight:600; color:var(--ink); margin-bottom:6px;}
.timeline-item p{font-size:14.5px; color:var(--slate-soft); line-height:1.6; max-width:560px;}

.values{background:var(--ink); color:var(--paper); padding:90px 0;}
.values .section-head h2{color:var(--paper);}
.values .section-eyebrow{color:var(--mint);}
.values .section-head p{color:rgba(247,244,239,0.6);}
.values-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
@media(max-width:860px){.values-grid{grid-template-columns:1fr;}}
.value-card{background:rgba(247,244,239,0.04); border:1px solid var(--line); border-radius:16px; padding:26px;}
.value-card h4{font-size:17px; font-weight:600; margin-bottom:10px;}
.value-card p{font-size:14px; color:rgba(247,244,239,0.6); line-height:1.6;}

.stats-strip{background:var(--paper); padding:64px 0; border-bottom:1px solid rgba(42,39,64,0.08);}
.stats-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center;}
@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr); gap:32px;}}
.stat-num{font-family:'Space Grotesk',sans-serif; font-size:clamp(28px,4vw,40px); font-weight:700; color:var(--ink);}
.stat-lbl{font-family:'JetBrains Mono', monospace; font-size:12px; color:var(--slate-soft); text-transform:uppercase; letter-spacing:0.04em; margin-top:6px;}

/* ---------- FAQ (contact page) ---------- */
.faq{background:var(--paper); padding:90px 0;}
.faq-list{display:flex; flex-direction:column; gap:0; max-width:760px;}
.faq-item{border-top:1px solid rgba(42,39,64,0.1);}
.faq-item:last-child{border-bottom:1px solid rgba(42,39,64,0.1);}
.faq-q{
  width:100%; text-align:left; background:none; border:none; cursor:pointer;
  padding:20px 4px; display:flex; justify-content:space-between; align-items:center;
  font-family:'Space Grotesk',sans-serif; font-size:16px; font-weight:600; color:var(--ink);
}
.faq-q .plus{font-family:'JetBrains Mono', monospace; color:var(--magenta); font-size:18px; transition:transform .25s ease;}
.faq-item.open .faq-q .plus{transform:rotate(45deg);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .3s ease;}
.faq-a p{padding:0 4px 20px; font-size:14.5px; color:var(--slate-soft); line-height:1.65; max-width:640px;}

/* ---------- MAP ---------- */
.map-embed{border-radius:16px; overflow:hidden; border:1px solid var(--line); height:280px;}
.map-embed iframe{width:100%; height:100%; border:0; display:block;}