@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap');

:root{
  --ink:#131417;
  --ink-2:#1D1F24;
  --ink-3:#282B32;
  --paper:#F4F1E9;
  --paper-2:#E9E4D6;
  --cobalt:#2C4BE0;
  --cobalt-light:#5D74EA;
  --coral:#FF5A36;
  --text-on-ink:#F1EFE9;
  --muted-on-ink:#9AA0AC;
  --text-on-paper:#17181B;
  --muted-on-paper:#5F594D;
  --rule-on-ink:rgba(241,239,233,0.16);
  --rule-on-paper:rgba(23,24,27,0.14);
  --max:1180px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--text-on-paper);
  font-family:'IBM Plex Sans', sans-serif;
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4{
  font-family:'Space Grotesk', sans-serif;
  font-weight:600;
  line-height:1.08;
  margin:0 0 0.5em 0;
  letter-spacing:-0.01em;
}
h1{font-size:clamp(2.6rem,5vw,4.4rem); font-weight:700;}
h2{font-size:clamp(1.9rem,3.2vw,2.7rem);}
h3{font-size:1.3rem;}
p{margin:0 0 1em 0;}
a{color:inherit;}
img{max-width:100%; display:block;}

.wrap{max-width:var(--max); margin:0 auto; padding:0 32px;}
@media (max-width:640px){ .wrap{padding:0 20px;} }

a.btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:15px 28px;
  font-family:'IBM Plex Sans', sans-serif;
  font-weight:600;
  font-size:0.98rem;
  text-decoration:none;
  border:2px solid transparent;
  border-radius:0;
  transition:background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.btn-cobalt{background:var(--cobalt); color:var(--text-on-ink);}
.btn-cobalt:hover{background:var(--cobalt-light);}
.btn-coral{background:var(--coral); color:var(--ink);}
.btn-coral:hover{background:#ff7454;}
.btn-outline-ink{border-color:var(--rule-on-ink); color:var(--text-on-ink);}
.btn-outline-ink:hover{border-color:var(--cobalt-light); color:var(--cobalt-light);}
.btn-outline-paper{border-color:var(--ink); color:var(--text-on-paper);}
.btn-outline-paper:hover{border-color:var(--cobalt); color:var(--cobalt);}

.eyebrow{
  font-family:'IBM Plex Sans', sans-serif;
  font-size:0.85rem;
  font-weight:600;
  color:var(--cobalt);
  margin:0 0 0.9em 0;
}
.section-ink .eyebrow{color:var(--cobalt-light);}

hr.rule{border:none; border-top:3px solid var(--ink); margin:0;}
hr.rule.on-ink{border-top:3px solid var(--rule-on-ink);}

/* ---------- Header ---------- */
header.site-header{
  position:sticky; top:0; z-index:50;
  background:var(--paper);
  border-bottom:3px solid var(--ink);
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 32px;
  max-width:var(--max); margin:0 auto;
  gap:24px;
}
.logo{
  font-family:'Space Grotesk', sans-serif;
  font-weight:700;
  font-size:1.32rem;
  color:var(--text-on-paper);
  text-decoration:none;
  display:flex; align-items:center; gap:10px;
  white-space:nowrap;
}
.logo .mark{
  width:30px; height:30px;
  background:var(--ink);
  color:var(--paper);
  display:flex; align-items:center; justify-content:center;
  font-size:0.92rem; font-weight:700;
  flex-shrink:0;
  position:relative;
}
.logo .mark::after{
  content:""; position:absolute; right:-3px; bottom:-3px; width:10px; height:10px; background:var(--coral);
}
nav.main-nav{display:flex; gap:26px; align-items:center; flex-wrap:wrap;}
nav.main-nav a{
  color:var(--muted-on-paper);
  text-decoration:none;
  font-size:0.96rem;
  font-weight:500;
  transition:color 0.15s ease;
}
nav.main-nav a:hover, nav.main-nav a.active{color:var(--text-on-paper);}
.header-cta{display:flex; align-items:center; gap:18px; flex-shrink:0;}
.header-phone{color:var(--muted-on-paper); font-size:0.92rem; text-decoration:none; white-space:nowrap;}
.header-phone strong{color:var(--text-on-paper); font-weight:600;}
.nav-toggle{display:none;}

@media (max-width:960px){
  nav.main-nav{
    display:none;
    position:absolute; top:100%; left:0; right:0;
    background:var(--paper);
    flex-direction:column; align-items:flex-start;
    padding:14px 32px 22px;
    border-bottom:3px solid var(--ink);
    gap:16px;
  }
  nav.main-nav.open{display:flex;}
  .header-phone{display:none;}
  .nav-toggle{
    display:inline-flex; background:none; border:2px solid var(--ink);
    color:var(--text-on-paper); padding:8px 12px; font-size:0.85rem; cursor:pointer;
  }
}

/* ---------- Hero ---------- */
.hero{
  background:var(--ink);
  color:var(--text-on-ink);
  padding:92px 0 100px;
  border-bottom:3px solid var(--cobalt);
}
.hero-grid{
  display:grid; grid-template-columns:1.15fr 0.85fr; gap:64px; align-items:end;
}
.hero h1{color:var(--text-on-ink);}
.hero .lede{font-size:1.15rem; color:var(--muted-on-ink); max-width:48ch;}
.hero-cta-row{display:flex; align-items:center; gap:22px; margin-top:30px; flex-wrap:wrap;}
.hero-tags{display:flex; flex-direction:column; gap:0; border-left:3px solid var(--cobalt); padding-left:0;}
.hero-tag{padding:16px 0 16px 24px; border-bottom:1px solid var(--rule-on-ink); font-size:0.94rem; color:var(--muted-on-ink);}
.hero-tag:last-child{border-bottom:none;}
.hero-tag b{display:block; color:var(--text-on-ink); font-family:'Space Grotesk',sans-serif; font-size:1.05rem; font-weight:600;}
@media (max-width:820px){
  .hero-grid{grid-template-columns:1fr; gap:36px;}
}

/* ---------- Sections ---------- */
section{padding:92px 0;}
.section-alt{background:var(--paper-2);}
.section-ink{background:var(--ink); color:var(--text-on-ink);}
.section-ink h2{color:var(--text-on-ink);}
.section-head{max-width:640px; margin-bottom:52px;}
.section-head.center{margin-left:auto; margin-right:auto; text-align:center;}

.two-col{display:grid; grid-template-columns:1fr 1fr; gap:56px;}
@media (max-width:760px){.two-col{grid-template-columns:1fr;}}

.panel{
  border:2px solid var(--ink);
  padding:32px;
  background:var(--paper);
}
.section-ink .panel{border-color:var(--rule-on-ink); background:var(--ink-2);}

.service-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:3px solid var(--ink); border-left:3px solid var(--ink);}
.service-cell{border-right:3px solid var(--ink); border-bottom:3px solid var(--ink); padding:32px 28px;}
@media (max-width:860px){ .service-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .service-grid{grid-template-columns:1fr;} }

.feature-list{list-style:none; margin:0; padding:0; columns:2; column-gap:40px;}
.feature-list li{
  break-inside:avoid;
  padding:10px 0;
  border-bottom:1px solid var(--rule-on-paper);
  font-size:0.98rem;
}
.section-ink .feature-list li{border-bottom:1px solid var(--rule-on-ink);}
@media (max-width:640px){ .feature-list{columns:1;} }

.feature-block{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; padding:52px 0;}
.feature-block + .feature-block{border-top:1px solid var(--rule-on-paper);}
@media (max-width:760px){.feature-block{grid-template-columns:1fr; gap:22px;}}
.feature-num{font-family:'Space Grotesk', sans-serif; color:var(--cobalt); font-size:1rem; margin-bottom:14px; font-weight:600;}

.industry-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
@media (max-width:900px){.industry-grid{grid-template-columns:1fr;}}
.industry-card{
  border-top:4px solid var(--cobalt);
  background:var(--paper);
  padding:30px 28px;
}
.industry-card ul{margin:14px 0 0; padding-left:1.1em; color:var(--muted-on-paper); font-size:0.94rem;}
.industry-card li{margin-bottom:6px;}

/* Pricing */
.pricing-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:3px solid var(--ink); border-left:3px solid var(--ink);}
@media (max-width:900px){.pricing-grid{grid-template-columns:1fr;}}
.price-card{
  border-right:3px solid var(--ink); border-bottom:3px solid var(--ink);
  padding:40px 32px;
  display:flex; flex-direction:column;
  background:var(--paper);
}
.price-card.featured{background:var(--ink); color:var(--text-on-ink);}
.price-card.featured h3{color:var(--text-on-ink);}
.price-card .plan-name{color:var(--cobalt); font-weight:600; font-size:0.9rem; margin-bottom:10px;}
.price-card.featured .plan-name{color:var(--cobalt-light);}
.price-amount{font-family:'Space Grotesk', sans-serif; font-size:2.4rem; font-weight:700; margin:6px 0 4px;}
.price-amount sup{font-size:1rem; font-weight:500; margin-right:2px;}
.price-note{font-size:0.85rem; color:var(--muted-on-paper); margin-bottom:24px;}
.price-card.featured .price-note{color:var(--muted-on-ink);}
.price-list{list-style:none; margin:0 0 28px 0; padding:0; flex-grow:1;}
.price-list li{
  padding:10px 0 10px 22px;
  border-bottom:1px solid var(--rule-on-paper);
  position:relative;
  font-size:0.95rem;
}
.price-card.featured .price-list li{border-bottom:1px solid var(--rule-on-ink);}
.price-list li::before{
  content:"+";
  position:absolute; left:0; color:var(--cobalt); font-weight:700;
}
.price-card.featured .price-list li::before{color:var(--cobalt-light);}

.guarantee-strip{
  display:flex; align-items:center; gap:28px;
  border:2px solid var(--ink);
  padding:26px 32px;
  margin-top:40px;
}
.guarantee-strip .num{font-family:'Space Grotesk', sans-serif; font-size:2.1rem; color:var(--coral); flex-shrink:0; font-weight:700;}
@media (max-width:600px){ .guarantee-strip{flex-direction:column; align-items:flex-start; gap:10px;} }

/* Steps */
.steps{counter-reset:step; list-style:none; margin:0; padding:0;}
.steps li{
  counter-increment:step;
  display:grid; grid-template-columns:56px 1fr; gap:20px;
  padding:26px 0; border-bottom:1px solid var(--rule-on-paper);
}
.steps li::before{
  content: counter(step);
  font-family:'Space Grotesk', sans-serif; font-size:1.5rem; color:var(--cobalt); font-weight:700;
}

/* FAQ */
.faq-item{border-bottom:1px solid var(--rule-on-paper);}
.faq-q{
  width:100%; text-align:left; background:none; border:none; cursor:pointer;
  padding:22px 0; font-family:'IBM Plex Sans', sans-serif; font-weight:600; font-size:1.04rem;
  display:flex; justify-content:space-between; align-items:center; gap:20px; color:var(--text-on-paper);
}
.faq-q .icon{font-family:'Space Grotesk', sans-serif; font-size:1.3rem; color:var(--cobalt); flex-shrink:0;}
.faq-a{max-height:0; overflow:hidden; transition:max-height 0.25s ease;}
.faq-a p{padding-bottom:22px; color:var(--muted-on-paper); max-width:70ch;}
.faq-item.open .faq-a{max-height:600px;}

/* CTA band */
.cta-band{
  background:var(--cobalt); color:var(--text-on-ink); text-align:center; padding:84px 0;
}
.cta-band h2{color:var(--text-on-ink);}

/* Contact / forms */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:64px;}
@media (max-width:820px){.contact-grid{grid-template-columns:1fr;}}
.field{margin-bottom:20px;}
.field label{display:block; font-size:0.88rem; font-weight:600; margin-bottom:7px;}
.field input, .field textarea, .field select{
  width:100%; padding:13px 14px; border:2px solid var(--ink); background:var(--paper);
  font-family:'IBM Plex Sans', sans-serif; font-size:0.98rem; border-radius:0; color:var(--text-on-paper);
}
.field input:focus, .field textarea:focus, .field select:focus{outline:2px solid var(--cobalt); outline-offset:1px;}
.contact-info-list{list-style:none; margin:0; padding:0;}
.contact-info-list li{padding:16px 0; border-bottom:1px solid var(--rule-on-paper);}
.contact-info-list b{display:block; font-size:0.85rem; color:var(--muted-on-paper); margin-bottom:4px; font-weight:600;}
.social-row{display:flex; gap:14px; margin-top:22px;}
.social-row a{
  width:38px; height:38px; border:2px solid var(--ink);
  display:flex; align-items:center; justify-content:center; text-decoration:none; color:var(--text-on-paper);
  font-size:0.85rem; font-weight:600;
}
.social-row a:hover{border-color:var(--cobalt); color:var(--cobalt);}

/* Legal pages */
.legal-body{max-width:74ch;}
.legal-body h2{font-size:1.35rem; margin-top:2em;}
.legal-body h3{font-size:1.1rem; margin-top:1.6em;}
.legal-body p, .legal-body li{color:var(--muted-on-paper); font-size:0.98rem;}
.legal-body ul{padding-left:1.2em;}
.legal-updated{color:var(--cobalt); font-weight:600; font-size:0.9rem;}

/* Footer */
footer.site-footer{background:var(--ink); color:var(--muted-on-ink); padding:72px 0 0; border-top:3px solid var(--cobalt);}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:40px; padding-bottom:56px;}
@media (max-width:860px){.footer-grid{grid-template-columns:1fr 1fr; row-gap:36px;}}
@media (max-width:500px){.footer-grid{grid-template-columns:1fr;}}
.footer-grid h4{color:var(--text-on-ink); font-family:'IBM Plex Sans', sans-serif; font-size:0.88rem; font-weight:600; margin-bottom:16px;}
.footer-grid ul{list-style:none; margin:0; padding:0;}
.footer-grid li{margin-bottom:11px;}
.footer-grid a{color:var(--muted-on-ink); text-decoration:none; font-size:0.94rem;}
.footer-grid a:hover{color:var(--cobalt-light);}
.footer-brand p{max-width:32ch; font-size:0.94rem;}
.footer-bottom{
  border-top:1px solid var(--rule-on-ink);
  padding:22px 0 28px;
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px;
  font-size:0.85rem;
}
.footer-bottom a{color:var(--muted-on-ink); text-decoration:none;}

.skip-link{
  position:absolute; left:-999px; top:0; background:var(--cobalt); color:var(--text-on-ink); padding:10px 16px; z-index:100;
}
.skip-link:focus{left:12px; top:12px;}

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