/* ---------- All Pro AI Solutions — production stylesheet ---------- */
:root{
  --ink:#101B2E;
  --ink-2:#17253C;
  --ink-line:#22314C;
  --cream:#F6F3ED;
  --cream-2:#EFEBE2;
  --line:#E2DDD2;
  --line-2:#DFDACE;
  --body:#4E5768;
  --body-2:#3A4459;
  --muted:#5F6879;
  --slate:#48536A;
  --dark-body:#98A4B8;
  --dark-body-2:#94A0B4;
  --orange:#E8763A;
  --orange-2:#F2913D;
  --rust:#A34B1B;
  --rust-btn:#AE4E19;
  --rust-btn-hover:#8E3D12;
  --sora:'Sora',system-ui,-apple-system,'Segoe UI',sans-serif;
  --sans:'Public Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'JetBrains Mono','SFMono-Regular',Consolas,monospace;
  --pad:40px;
  --maxw:1240px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.5;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--ink);text-decoration:none;transition:color .18s ease,background-color .18s ease,border-color .18s ease}
h1,h2,h3{font-family:var(--sora);letter-spacing:-.035em;margin:0}
p{margin:0}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:4px}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:12px 18px;z-index:200;border-radius:0 0 8px 0}
.skip-link:focus{left:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.wrap{max-width:var(--maxw);margin:0 auto;width:100%}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.22em;color:var(--rust);text-transform:uppercase}
.eyebrow--light{color:var(--orange-2)}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:17px 28px;border-radius:10px;font-size:15.5px;font-weight:600;
  font-family:var(--sans);cursor:pointer;border:1px solid transparent;
  line-height:1.2;text-align:center;min-height:48px;
}
.btn:hover{color:inherit}
.btn--primary{background:var(--rust-btn);color:#fff}
.btn--primary:hover,.btn--primary:focus-visible{background:var(--rust-btn-hover);color:#fff}
.btn--ghost{border-color:#CDC7BA;color:var(--ink);background:transparent}
.btn--ghost:hover,.btn--ghost:focus-visible{background:#EEEAE0;color:var(--ink)}
.btn .arrow{transition:transform .18s ease}
.btn:hover .arrow{transform:translateX(3px)}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:60;
  display:flex;align-items:center;justify-content:space-between;gap:32px;
  padding:14px var(--pad);
  background:rgba(246,243,237,.92);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.brand{display:flex;align-items:center;gap:12px}
.brand:hover{color:var(--ink)}
.mark{position:relative;width:38px;height:38px;border-radius:10px;background:var(--ink);flex:none}
.mark i{position:absolute;background:var(--orange-2);border-radius:1px;display:block}
.mark i:nth-child(1){top:9px;left:9px;width:4px;height:20px;transform:rotate(23deg);transform-origin:bottom center}
.mark i:nth-child(2){top:9px;left:25px;width:4px;height:20px;transform:rotate(-23deg);transform-origin:bottom center}
.mark i:nth-child(3){top:21px;left:12.5px;width:13px;height:4px}
.brand-text{display:flex;flex-direction:column;line-height:1}
.brand-name{font-family:var(--sora);font-weight:800;font-size:16px;letter-spacing:.16em}
.brand-sub{font-family:var(--mono);font-size:9px;letter-spacing:.24em;color:var(--muted);margin-top:5px}

.nav{display:flex;align-items:center;gap:32px;font-family:var(--mono);font-size:11.5px;letter-spacing:.14em}
.nav a{color:var(--slate)}
.nav a:hover,.nav a:focus-visible{color:var(--orange)}
.nav .nav-cta{background:var(--ink);color:var(--cream);padding:12px 20px;border-radius:8px;letter-spacing:.1em}
.nav .nav-cta:hover,.nav .nav-cta:focus-visible{background:#1D2C46;color:var(--cream)}

.nav-toggle{
  display:none;align-items:center;justify-content:center;
  width:46px;height:46px;border-radius:10px;border:1px solid var(--line);
  background:#fff;cursor:pointer;padding:0;flex:none;
}
.nav-toggle span{display:block;width:20px;height:2px;background:var(--ink);position:relative;transition:background .15s ease}
.nav-toggle span::before,.nav-toggle span::after{content:"";position:absolute;left:0;width:20px;height:2px;background:var(--ink);transition:transform .2s ease,top .2s ease}
.nav-toggle span::before{top:-6px}
.nav-toggle span::after{top:6px}
.nav-toggle[aria-expanded="true"] span{background:transparent}
.nav-toggle[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}

/* ---------- Hero ---------- */
.hero{padding:96px var(--pad) 0}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:start}
.pill{
  display:inline-flex;align-items:center;gap:9px;padding:7px 15px 7px 11px;
  border-radius:999px;background:#FDEBDA;border:1px solid #F5CDA6;
}
.pill .dot{width:7px;height:7px;border-radius:99px;background:var(--orange);display:block;flex:none}
.pill span:last-child{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:#9A4A18}
.hero h1{
  font-weight:800;font-size:clamp(40px,7.2vw,80px);line-height:1;
  letter-spacing:-.04em;margin:28px 0 0;text-wrap:balance;
}
.hero h1 .accent{color:var(--rust)}
.hero-lede{font-size:clamp(17px,2.2vw,19px);line-height:1.62;color:var(--body);max-width:38ch;margin:26px 0 0;text-wrap:pretty}
.hero-actions{display:flex;gap:14px;margin-top:36px;flex-wrap:wrap}

.stat-card{background:var(--ink);border-radius:20px;padding:38px 36px 32px;color:var(--cream);margin-top:8px}
.stat-card .eyebrow{color:var(--orange-2)}
.stat-list{display:flex;flex-direction:column;gap:24px;margin-top:32px}
.stat-row{display:flex;align-items:baseline;gap:20px;flex-wrap:wrap}
.stat-num{font-family:var(--sora);font-weight:800;font-size:clamp(38px,6vw,46px);letter-spacing:-.04em;line-height:1;min-width:130px}
.stat-label{font-size:15px;color:var(--dark-body-2)}
.rule{height:1px;background:var(--ink-line)}
.quote{font-size:16.5px;line-height:1.5;color:#E7E4DC;margin:0}
.quote-by{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--orange-2);margin:14px 0 0}

/* ---------- Marquee ---------- */
.marquee{margin-top:84px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;overflow:hidden}
.marquee-track{display:flex;width:max-content;animation:marquee 46s linear infinite}
.marquee-group{
  display:flex;align-items:center;gap:46px;padding-right:46px;
  font-family:var(--mono);font-size:12px;letter-spacing:.16em;color:var(--muted);white-space:nowrap;
}
.marquee-group b{color:var(--orange);font-weight:400}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee-track{animation:none}.marquee{overflow-x:auto}}

/* ---------- Section shell ---------- */
.section{padding:112px var(--pad)}
.section--flush-top{padding-top:0}
.section--dark{background:var(--ink);color:var(--cream)}
.section-head{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:end;margin-top:18px}
.section-head h2{font-weight:800;font-size:clamp(32px,5.2vw,52px);line-height:1.02}
.section-head p{font-size:clamp(16px,2vw,17.5px);line-height:1.62;color:var(--body)}
.section--dark .section-head p{color:var(--dark-body)}

/* ---------- Services ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:34px 30px 30px;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.card:hover{border-color:var(--orange);transform:translateY(-2px);box-shadow:0 10px 30px rgba(16,27,46,.06)}
.card--dark{background:var(--ink);border-color:var(--ink);color:var(--cream)}
.card--dark:hover{border-color:var(--orange-2)}
.card-num{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:#6F6857}
.card--dark .card-num{color:#8496B0}
.card h3{font-weight:700;font-size:23px;letter-spacing:-.02em;margin:14px 0 0}
.card p{font-size:15.5px;line-height:1.62;color:var(--body);margin:12px 0 0}
.card--dark p{color:var(--dark-body)}
.card-list{display:flex;flex-direction:column;gap:9px;margin-top:22px;padding-top:20px;border-top:1px solid #EDE9E0}
.card-list div{display:flex;gap:10px;align-items:center;font-size:14.5px;color:var(--body-2)}
.card-list b{color:var(--orange);font-weight:400}
.card-link{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;color:var(--rust);margin-top:22px;min-height:44px}
.card-link:hover,.card-link:focus-visible{color:var(--orange)}
.card--dark .card-link{color:var(--orange-2)}
.card--dark .card-link:hover{color:#fff}

/* ---------- Process ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:60px;border-top:1px solid var(--ink-line)}
.step{padding:34px 28px;border-right:1px solid var(--ink-line)}
.step:first-child{padding-left:0}
.step:last-child{padding-right:0;border-right:0}
.step-num{font-family:var(--sora);font-weight:800;font-size:56px;letter-spacing:-.04em;line-height:1;color:var(--orange-2)}
.step h3{font-weight:700;font-size:22px;letter-spacing:-.02em;margin:16px 0 0}
.step p{font-size:15.5px;line-height:1.62;color:var(--dark-body);margin:12px 0 0}

/* ---------- Results ---------- */
.split{display:grid;grid-template-columns:.95fr 1.05fr;gap:80px;align-items:start}
.split h2{font-weight:800;font-size:clamp(30px,4.6vw,46px);line-height:1.05;margin:18px 0 0}
.split > div > p{font-size:clamp(16px,2vw,17.5px);line-height:1.62;color:var(--body);margin:22px 0 0}
.checklist{display:flex;flex-direction:column;border-top:1px solid var(--line-2)}
.checklist div{display:flex;gap:18px;align-items:baseline;padding:20px 0;border-bottom:1px solid var(--line-2)}
.checklist span:first-child{font-family:var(--mono);font-size:12px;color:var(--rust);flex:none}
.checklist span:last-child{font-size:clamp(16px,2vw,17.5px);color:#22304A;line-height:1.5}

/* ---------- About ---------- */
.panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:64px 56px}
.panel-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:72px;align-items:start}
.panel h2{font-weight:800;font-size:clamp(30px,4.4vw,44px);line-height:1.05;margin:18px 0 0}
.panel p{font-size:clamp(16px,2vw,17.5px);line-height:1.68;color:var(--body);margin:24px 0 0}
.panel p + p{margin-top:18px}
.icp{background:var(--cream);border-radius:16px;padding:34px 32px}
.icp-title{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:#22304A}
.icp-list{display:flex;flex-direction:column;gap:20px;margin-top:26px}
.icp-list div{display:flex;gap:16px;align-items:baseline}
.icp-list span:first-child{font-family:var(--sora);font-weight:700;font-size:15px;color:var(--rust);min-width:14px;flex:none}
.icp-list span:last-child{font-size:16px;line-height:1.5;color:var(--body-2)}

/* ---------- FAQ ---------- */
.faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}
.faq-grid h2{font-weight:800;font-size:clamp(30px,4.6vw,46px);line-height:1.03;margin:18px 0 0}
.faq-grid > div > p{font-size:17px;line-height:1.62;color:var(--body);margin:20px 0 0}
.faq-list{border-top:1px solid var(--line-2)}
.faq-item{border-bottom:1px solid var(--line-2)}
.faq-q{
  display:flex;justify-content:space-between;align-items:center;gap:24px;
  width:100%;padding:24px 0;background:none;border:0;cursor:pointer;text-align:left;
  font-family:var(--sora);font-weight:600;font-size:clamp(17px,2.2vw,19px);
  letter-spacing:-.015em;color:var(--ink);line-height:1.35;
}
.faq-q:hover{color:var(--rust)}
.faq-sign{font-size:22px;color:var(--orange);line-height:1;flex:none;font-family:var(--sans)}
.faq-a{overflow:hidden;max-height:0;transition:max-height .28s ease}
.faq-a p{font-size:16.5px;line-height:1.65;color:var(--body);margin:0;padding:0 60px 26px 0}
.faq-item.is-open .faq-a{max-height:420px}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center}
.contact-grid h2{font-weight:800;font-size:clamp(32px,5.6vw,58px);line-height:1;letter-spacing:-.04em;margin:20px 0 0}
.contact-grid > div > p{font-size:clamp(16px,2.2vw,18px);line-height:1.62;color:var(--dark-body);margin:22px 0 0;max-width:46ch}
.contact-card{background:var(--ink-2);border:1px solid var(--ink-line);border-radius:18px;padding:38px 34px}
.contact-card h3{font-weight:700;font-size:24px;letter-spacing:-.02em;margin:0}
.contact-card p{font-size:16px;line-height:1.6;color:var(--dark-body);margin:12px 0 0}
.contact-card a{display:inline-block;font-family:var(--mono);font-size:15px;color:var(--orange-2);margin-top:24px;word-break:break-word;min-height:44px}
.contact-card a:hover,.contact-card a:focus-visible{color:#fff}

/* ---------- Footer ---------- */
.site-footer{background:var(--cream-2);padding:80px var(--pad) 34px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:56px}
.footer-blurb{font-size:15px;line-height:1.65;color:var(--body);margin:24px 0 0;max-width:34ch}
.footer-quote{font-size:15px;line-height:1.6;color:var(--muted);margin:20px 0 0;font-style:italic}
.footer-title{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--rust)}
.footer-links{display:flex;flex-direction:column;gap:13px;margin-top:22px;font-size:15px}
.footer-links a{color:var(--body)}
.footer-links a:hover,.footer-links a:focus-visible{color:var(--orange)}
.footer-bottom{
  max-width:var(--maxw);margin:56px auto 0;padding-top:26px;border-top:1px solid #DDD8CC;
  display:flex;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;font-size:13.5px;color:var(--muted);
}
.footer-bottom a{color:var(--muted)}
.footer-bottom a:hover{color:var(--orange)}

/* ---------- Responsive ---------- */
@media (max-width:1080px){
  .hero-grid{gap:48px}
  .cards{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .step{padding:30px 24px}
  .step:nth-child(2n){border-right:0;padding-right:0}
  .step:nth-child(2n+1){padding-left:0}
  .step:nth-child(n+3){border-top:1px solid var(--ink-line)}
  .footer-grid{grid-template-columns:1fr 1fr;gap:40px}
}

@media (max-width:900px){
  :root{--pad:24px}
  html{scroll-padding-top:76px}
  .site-header{padding:12px var(--pad);flex-wrap:wrap}
  .nav-toggle{display:flex}
  .nav{
    display:none;order:3;width:100%;flex-direction:column;align-items:stretch;
    gap:0;padding:8px 0 12px;border-top:1px solid var(--line);margin-top:12px;
    font-size:13px;letter-spacing:.12em;
  }
  .nav.is-open{display:flex}
  .nav a{padding:15px 4px;border-bottom:1px solid var(--line)}
  .nav .nav-cta{
    margin-top:14px;text-align:center;padding:16px 20px;border-bottom:0;
    background:var(--rust-btn);color:#fff;font-size:12px;
  }
  .nav .nav-cta:hover,.nav .nav-cta:focus-visible{background:var(--rust-btn-hover);color:#fff}
  .hero{padding:56px var(--pad) 0}
  .hero-grid,.section-head,.split,.panel-grid,.faq-grid,.contact-grid{grid-template-columns:1fr;gap:36px}
  .section-head{align-items:start}
  .hero-lede{max-width:none}
  .stat-card{padding:30px 26px 26px;margin-top:0}
  .stat-num{min-width:104px}
  .marquee{margin-top:56px}
  .section{padding:72px var(--pad)}
  .cards{grid-template-columns:1fr;gap:16px;margin-top:36px}
  .panel{padding:36px 26px;border-radius:18px}
  .icp{padding:28px 24px}
  .faq-a p{padding-right:16px}
  .site-footer{padding:56px var(--pad) 30px}
  .footer-bottom{margin-top:40px}
  /* comfortable thumb targets in the footer on touch screens */
  .footer-links{gap:0;margin-top:12px}
  .footer-links a{display:flex;align-items:center;min-height:46px;padding:4px 0}
}

@media (max-width:560px){
  .hero-actions{flex-direction:column;align-items:stretch}
  .hero-actions .btn{width:100%}
  .btn{padding:16px 22px}
  .steps{grid-template-columns:1fr}
  .step{padding:26px 0;border-right:0;border-top:1px solid var(--ink-line)}
  .step:first-child{border-top:0}
  .footer-grid{grid-template-columns:1fr;gap:34px}
  .footer-bottom{flex-direction:column;gap:10px}
  .pill span:last-child{font-size:10px;letter-spacing:.06em}
  .stat-row{gap:8px}
  .stat-num{min-width:auto}
}
