:root{
  --bg:#242B32;
  --bg-soft:#2B333B;
  --text:#F2F3EF;
  --dim:#AEBAC1;
  --accent:#E8672F;
  --good:#6FBF95;
  --hair:rgba(255,255,255,0.12);
  --card-bg:#31393F;
  --card-border:rgba(255,255,255,0.14);
  --max:1080px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--bg);color:var(--text);font-family:'IBM Plex Sans', sans-serif;font-size:17px;line-height:1.65;}
h1,h2,h3{font-family:'Space Grotesk', sans-serif;margin:0;letter-spacing:-0.01em;font-weight:600;}
a{color:inherit;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 32px;}
.eyebrow{font-family:'IBM Plex Mono', monospace;font-size:13px;color:var(--accent);margin-bottom:14px;display:block;}
header{padding:26px 0;}
.nav-row{display:flex;justify-content:space-between;align-items:center;}
.brand{font-family:'Space Grotesk', sans-serif;font-weight:700;font-size:18px;}
nav ul{list-style:none;display:flex;gap:26px;margin:0;padding:0;}
nav a{text-decoration:none;color:var(--dim);font-size:14.5px;transition:color .2s ease;}
nav a:hover{color:var(--text);}
.nav-row nav{display:flex;align-items:center;gap:30px;}
.btn-nav{
  display:inline-block;
  background:var(--accent);
  color:#181008;
  text-decoration:none;
  padding:9px 18px;
  font-size:14px;
  font-weight:600;
  border-radius:3px;
  border:1px solid var(--accent);
  transition:filter .2s ease;
}
.btn-nav:hover{filter:brightness(1.1);}
/* ---------- Popup email input (reused for the audit form) ---------- */
.mini-input{
  width:100%;
  background:var(--card-bg);
  border:1px solid var(--card-border);
  border-radius:4px;
  color:var(--text);
  padding:12px 14px;
  font-family:'IBM Plex Sans', sans-serif;
  font-size:15px;
  margin-bottom:14px;
}
.mini-input:focus{outline:1px solid var(--accent);}
/* ---------- Contact form ---------- */
.contact-form{
  display:flex;
  flex-direction:column;
  gap:16px;
  max-width:480px;
  margin:32px auto 0;
  text-align:left;
}
.contact-form label{
  font-size:13px;
  color:var(--dim);
  margin-bottom:6px;
  display:block;
}
.contact-form input,
.contact-form textarea{
  width:100%;
  background:var(--card-bg);
  border:1px solid var(--card-border);
  border-radius:4px;
  color:var(--text);
  padding:12px 14px;
  font-family:'IBM Plex Sans', sans-serif;
  font-size:15px;
}
.contact-form textarea{resize:vertical; min-height:90px;}
.contact-form input:focus,
.contact-form textarea:focus{outline:1px solid var(--accent);}
.contact-form button{
  align-self:center;
  background:var(--accent);
  color:#181008;
  border:1px solid var(--accent);
  padding:14px 26px;
  font-size:15px;
  font-weight:600;
  border-radius:3px;
  cursor:pointer;
  font-family:'IBM Plex Sans', sans-serif;
}
.contact-form button:hover{filter:brightness(1.1);}
.contact-form .form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.contact-form .opt{color:var(--dim); font-weight:400;}
.contact-form .hp-field{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}
.contact-form button:disabled{opacity:0.6; cursor:not-allowed; filter:none;}
.form-status{min-height:1.4em; margin-top:4px; font-size:14px; text-align:center;}
.form-status.success{color:#7ED6A0;}
.form-status.error{color:#FF8A7A;}
@media (max-width:600px){ .contact-form .form-row{grid-template-columns:1fr;} }
.form-note{color:var(--dim); font-size:13px; margin-top:10px; text-align:center;}
/* ---------- About / credibility ---------- */
.about-grid{
  display:grid;
  grid-template-columns:1.2fr 0.8fr;
  gap:44px;
  align-items:start;
}
.about-grid p{color:var(--dim); font-size:16px;}
.about-grid p + p{margin-top:14px;}
.quote-block{
  background:var(--card-bg);
  border:1px solid var(--card-border);
  border-radius:8px;
  padding:26px;
}
.quote-block p{
  font-style:italic;
  color:var(--text);
  font-size:15.5px;
  line-height:1.6;
  margin:0;
}
.quote-block cite{
  display:block;
  margin-top:14px;
  font-style:normal;
  font-family:'IBM Plex Mono', monospace;
  font-size:12px;
  color:var(--dim);
}
/* ---------- Exit-intent popup ---------- */
.popup-overlay{
  position:fixed;
  inset:0;
  background:rgba(10,12,14,0.7);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:100;
  padding:20px;
}
.popup-overlay.show{display:flex;}
.popup-box{
  background:var(--card-bg);
  border:1px solid var(--card-border);
  border-radius:10px;
  max-width:420px;
  padding:34px;
  position:relative;
}
.popup-box h3{font-size:22px; margin-bottom:12px;}
.popup-box p{color:var(--dim); font-size:15px; margin-bottom:22px;}
.popup-box form{display:flex; flex-direction:column; gap:12px;}
.popup-box .mini-input{margin-bottom:0;}
.popup-box .hp-field{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}
.popup-close{
  position:absolute;
  top:14px;
  right:16px;
  background:none;
  border:none;
  color:var(--dim);
  font-size:20px;
  cursor:pointer;
  line-height:1;
}
.popup-close:hover{color:var(--text);}
.hero{padding:44px 0 96px;overflow:hidden;}
.hero > .wrap{display:grid;grid-template-columns:1.1fr 0.9fr;gap:40px;align-items:center;}
.hero h1{font-size:34px;line-height:1.28;max-width:20ch;}
.hero h1 .accent{color:var(--accent);}
.hero h1 .problem{color:#E24B4B;}
.problem{color:#E24B4B;}
.hero p.sub{margin-top:22px;max-width:48ch;color:var(--dim);font-size:18px;}
.cta-row{margin-top:32px;display:flex;gap:18px;align-items:center;flex-wrap:wrap;}
.btn{display:inline-block;background:var(--accent);color:#181008;text-decoration:none;padding:14px 24px;font-size:15px;font-weight:600;border-radius:3px;border:1px solid var(--accent);transition:filter .2s ease;}
.btn:hover{filter:brightness(1.1);}
.btn-ghost{color:var(--text);text-decoration:none;font-size:15px;border-bottom:1px solid var(--dim);padding-bottom:2px;}
.hero-photo{position:relative;display:flex;justify-content:center;}
.hero-photo::before{content:"";position:absolute;width:340px;height:340px;background:radial-gradient(circle, rgba(232,103,47,0.28) 0%, rgba(232,103,47,0) 70%);top:10%;z-index:0;filter:blur(10px);}
.hero-photo img{position:relative;z-index:1;max-width:100%;width:340px;height:auto;display:block;}
section{padding:80px 0;}
.bg-soft{background:var(--bg-soft);}
.section-quote-break{background:var(--card-bg);}
.section-head{max-width:62ch;margin-bottom:0;}
.section-head h2{font-size:32px;}
.section-head p{color:var(--dim);margin-top:14px;font-size:17px;}
.section-head-row{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:24px;
  align-items:center;
}
.section-head-row .cta-slot{
  display:flex;
  justify-content:center;
  align-items:center;
}
.fix-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:36px;}
.fix-card{padding:28px 26px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;}
.fix-num{font-family:'IBM Plex Mono', monospace;font-size:12.5px;color:var(--accent);display:block;margin-bottom:12px;}
.fix-card h3{font-size:19px;margin-bottom:16px;}
.fix-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;}
.fix-card li{color:var(--dim);font-size:14.5px;padding-left:18px;position:relative;line-height:1.5;}
.fix-card li::before{content:"—";position:absolute;left:0;color:var(--accent);}
.process-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:0;align-items:start;}
.process-step{padding:0 8px;}
.process-step .eyebrow{color:var(--dim);font-size:12px;}
.process-step h3{font-size:20px;margin-bottom:10px;}
.process-step p{color:var(--dim);font-size:15px;}
.step-01 .eyebrow{color:var(--accent);}
.step-02 .eyebrow{color:#E24B4B;}
.step-03 .eyebrow{color:var(--good);}
.process-connector{display:flex;align-items:center;justify-content:center;color:var(--dim);font-size:22px;padding-top:6px;}
.process-note{margin-top:32px;padding-top:24px;border-top:1px solid var(--hair);color:var(--dim);font-size:15px;}
.process-note strong{color:var(--text);font-weight:500;}
.stats-row{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:28px;
  margin-top:44px;
  padding-top:32px;
  border-top:1px solid var(--hair);
}
.stat-num{
  font-family:'Space Grotesk', sans-serif;
  font-size:26px;
  color:var(--accent);
  font-weight:600;
}
.stat-label{
  color:var(--dim);
  font-size:14px;
  margin-top:6px;
  line-height:1.4;
}
.section-mini{
  padding:44px 0;
  text-align:center;
}
.section-mini .stats-row{
  margin-top:0;
  padding-top:0;
  border-top:none;
}
.section-mini .quote-block{
  max-width:620px;
  margin:0 auto;
  text-align:left;
}
.section-quote-break .quote-block{
  background:transparent;
  border:none;
  padding:0;
}
.audit-panel{display:grid;grid-template-columns:1.3fr 0.7fr;gap:40px;align-items:center;background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;padding:44px;}
.audit-panel h2{font-size:28px;margin-bottom:14px;}
.audit-panel p{color:var(--dim);}
.audit-tag{font-family:'IBM Plex Mono', monospace;font-size:12px;color:var(--good);display:inline-block;margin-bottom:14px;border:1px solid rgba(95,174,133,0.35);padding:4px 10px;border-radius:20px;}
.projects-row{display:grid;grid-template-columns:repeat(3, 1fr);gap:28px;}
.project-item{padding:22px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;}
.project-item h3{font-size:17px;margin-bottom:8px;}
.project-item p{color:var(--dim);font-size:14.5px;}
footer{padding:90px 0 44px;}
.footer-cta{text-align:center;}
.footer-cta h2{font-size:36px;max-width:18ch;margin:0 auto;}
.footer-cta p{color:var(--dim);margin-top:16px;max-width:50ch;margin-left:auto;margin-right:auto;font-size:17px;}
.price-line{margin-top:26px;display:inline-flex;align-items:baseline;gap:10px;font-family:'IBM Plex Mono', monospace;flex-wrap:wrap;justify-content:center;max-width:480px;}
.price-line .price{font-size:26px;color:var(--accent);font-weight:600;}
.price-line .price-desc{color:var(--dim);font-size:14px;min-width:0;flex:1 1 240px;text-align:left;}
.footer-bottom{margin-top:64px;padding-top:22px;border-top:1px solid var(--hair);display:flex;justify-content:space-between;color:var(--dim);font-size:13px;}
@media (max-width:900px){
  /* Hero: single centered column, photo hidden */
  .hero{padding:32px 0 56px;}
  .hero > .wrap{grid-template-columns:1fr;gap:0;text-align:center;}
  .hero-photo{display:none;}
  .hero h1{font-size:28px;line-height:1.28;max-width:none;margin:0 auto;}
  .hero p.sub{margin:22px auto 0;font-size:17px;max-width:44ch;}
  .cta-row{margin-top:28px;justify-content:center;flex-direction:row;align-items:center;gap:22px;}
  /* Quote buttons drop below the cards in each section */
  #fix > .wrap,#process > .wrap,#projects > .wrap{display:flex;flex-direction:column;gap:28px;}
  #fix .section-head-row,#process .section-head-row,#projects .section-head-row{display:contents;}
  #fix .cta-slot,#process .cta-slot,#projects .cta-slot{order:5;justify-content:flex-start;}
  .fix-grid{grid-template-columns:1fr;}
  .process-flow{grid-template-columns:1fr;}
  .process-connector{display:none;}
  .process-step{padding:18px 0;border-top:1px solid var(--hair);}
  .process-step:first-child{border-top:none;}
  .audit-panel{grid-template-columns:1fr;padding:30px;}
  .projects-row{grid-template-columns:1fr;}
  nav ul li:nth-child(2){display:none;}
  .about-grid{grid-template-columns:1fr;}
  .popup-box{padding:26px;}
  .stats-row{grid-template-columns:1fr; gap:20px;}
  .section-head-row{grid-template-columns:1fr;}
  .section-head-row .cta-slot{margin-top:0; justify-content:flex-start; align-items:flex-start;}
}
@media (max-width:600px){
  .wrap{padding:0 20px;}
}