/* AI services: process inks, proof stock and the existing sign-shop type. */
.ai-wrap { max-width: 1180px; margin: 0 auto; }
.ai-hero { padding: calc(var(--bar) + 4.5rem) var(--gut) 5.5rem; background: var(--C); }
.ai-hero-grid, .ai-receptionist-grid { display: grid; gap: 3rem; align-items: start; }
.ai-copy { display: grid; gap: 1.5rem; justify-items: start; }
.ai-copy > p { max-width: 36rem; }
.ai-hero h1 { font-size: clamp(3.5rem, 8vw, 6rem); max-width: 11ch; }
.ai-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.2rem 1.5rem; }
.ai-actions > a:not(.btn) { padding: .6rem 0; }
.ai-proof { position: relative; padding: 2rem; border: 2px solid var(--K); background: var(--stock); box-shadow: 0 1.4rem 2.8rem -.8rem rgba(0,0,0,.22); }
.ai-inks { display: flex; height: 12px; margin: -2rem -2rem 1.6rem; }
.ai-inks i { flex: 1; }
.ai-inks i:nth-child(1) { background: var(--C); }
.ai-inks i:nth-child(2) { background: var(--M); }
.ai-inks i:nth-child(3) { background: var(--Y); }
.ai-inks i:nth-child(4) { background: var(--K); }
.ai-slug { font: 600 .74rem/1.6 var(--mono); text-transform: uppercase; letter-spacing: .05em; }
.ai-proof h2 { margin-top: 1.2rem; font: 800 clamp(2.3rem, 5vw, 3.4rem)/.96 var(--disp); text-transform: uppercase; }
.ai-flow { list-style: none; margin: 1.6rem 0; display: grid; }
.ai-flow li { display: grid; grid-template-columns: 6rem 1fr; gap: .8rem; padding: .9rem 0; border-top: 1px solid var(--K); }
.ai-flow b { font: 800 1.5rem/1.1 var(--disp); text-transform: uppercase; }
.ai-flow span { font-size: .875rem; }
.ai-services, .ai-process, .ai-close { padding: 5.5rem var(--gut); }
.ai-services { background: var(--stock); }
.ai-section-head { display: grid; gap: 1.5rem; margin-bottom: 3rem; }
.ai-service-list { margin: 0; }
.ai-service-list > div { display: grid; gap: .8rem; padding: 1.6rem 0; border-top: 2px solid var(--K); }
.ai-service-list > div:last-child { border-bottom: 2px solid var(--K); }
.ai-service-list dt { font: 800 clamp(1.7rem, 3vw, 2.2rem)/1 var(--disp); text-transform: uppercase; }
.ai-service-list dd { margin: 0; max-width: 39rem; }
.ai-service-note { max-width: 48rem; margin-top: 1.5rem; }
.ai-receptionist { padding: 5.5rem var(--gut); background: var(--K); color: #fff; --ring: #fff; }
.ai-offer { border-top: 12px solid var(--Y); padding-top: 1.5rem; }
.ai-price { font: 800 clamp(4.5rem, 10vw, 7rem)/1 var(--disp); }
.ai-price span { font: 500 1.25rem/1.5 var(--body); margin-left: .5rem; }
/* Jarvis pricing: $50 with a website subscription, $100 without, one-time setup. */
.ai-pricing { display: grid; gap: .9rem; }
.ai-price-alt { font-size: clamp(2.5rem, 5vw, 3.25rem); padding-top: .9rem; border-top: 1px solid #fff; }
.ai-pricing .ai-price span { display: inline-block; }
@media (max-width: 600px) { .ai-pricing .ai-price span { display: block; margin: .35rem 0 0; } }
.ai-price-setup { font: 600 .95rem/1.5 var(--mono); margin: 0; }
.ai-status-list { margin: 1.5rem 0; }
.ai-status-list > div { border-top: 1px solid #fff; padding: 1rem 0; }
.ai-status-list dt { font-weight: 700; margin-bottom: .3rem; }
.ai-status-list dd { margin: 0; }
.ai-terms { max-width: 39rem; }
/* Live demo line: a tel: call-to-action in the hero and on the Jarvis listing. */
.ai-demo-line { font: 600 .9rem/1.5 var(--mono); }
.ai-demo-line a { font-weight: 700; white-space: nowrap; }
.ai-demo { display: grid; gap: .9rem; justify-items: start; width: 100%; max-width: 32rem; padding: 1.4rem; border: 2px solid #fff; border-left: 12px solid var(--C); }
.ai-demo-lead { font: 800 clamp(1.6rem, 3vw, 2rem)/1.05 var(--disp); text-transform: uppercase; }
.ai-demo-call { background: var(--Y); color: var(--K); }
.ai-demo-call::before { background: #fff; }
.ai-demo-call svg { stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ai-demo-call:hover svg { transform: none; }
.ai-process { background: var(--Y); }
.ai-process-list { list-style: none; display: grid; gap: 2rem; counter-reset: ai-step; }
.ai-process-list li { border-top: 2px solid var(--K); padding-top: 1.5rem; counter-increment: ai-step; }
.ai-process-list li::before { content: counter(ai-step, decimal-leading-zero); display: block; font: 800 3rem/1 var(--disp); margin-bottom: 1rem; }
.ai-process-list h3 { font-size: 2rem; line-height: 1; margin-bottom: .9rem; }
.ai-close { background: var(--paper); }
@media (min-width: 900px) {
  .ai-hero-grid, .ai-receptionist-grid { grid-template-columns: 1.1fr 1fr; gap: 5rem; }
  .ai-service-list > div { grid-template-columns: 1fr 1.4fr; gap: 3rem; }
  .ai-process-list { grid-template-columns: repeat(3, 1fr); }
  .ai-section-head { grid-template-columns: 1fr 1fr; align-items: end; gap: 5rem; }
}
@media (max-width: 639px) {
  .ai-page { --bar: 104px; }
  .ai-page .bar { grid-template-columns: 1fr auto; grid-template-rows: 44px 44px; align-content: center; gap: 4px; }
  .ai-page .cbar { grid-column: 1 / -1; grid-row: 2; height: 44px; max-width: none; }
  .ai-page .bar > .btn-sm { grid-column: 2; grid-row: 1; min-height: 44px; }
  .ai-page .imprint { padding: .7rem 0; }
  .ai-page .sw span { position: relative; width: auto; height: auto; clip: auto; padding: 0 .25rem; font-size: .65rem; }
  .ai-proof { padding: 1.5rem; }
  .ai-inks { margin: -1.5rem -1.5rem 1.6rem; }
  .ai-flow li { grid-template-columns: 1fr; gap: .4rem; }
  .ai-page .sw-ai { min-width: 72px; }
  .ai-page .sw-ai span { font-size: .65rem; }
}
@media (prefers-reduced-motion: no-preference) {
  .ai-inks i { animation: ai-register .9s var(--ease) both; }
  .ai-inks i:nth-child(2) { animation-delay: .12s; }
  .ai-inks i:nth-child(3) { animation-delay: .24s; }
  .ai-inks i:nth-child(4) { animation-delay: .36s; }
  @keyframes ai-register { from { transform: translateY(-8px); } to { transform: translateY(0); } }
}
.ai-price.ai-price-quote { font-size: clamp(2.6rem, 6vw, 3.6rem); }
