.ai-refresh h1,.ai-refresh h2,.ai-refresh h3{text-wrap:balance}.ai-refresh p{text-wrap:pretty}.refresh-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:32px}.refresh-text-link{color:var(--blue);font-size:14px;font-weight:600;text-underline-offset:4px}.refresh-intro{display:grid;grid-template-columns:1fr 1fr;gap:64px}.refresh-intro h3{font-size:clamp(24px,3vw,36px);line-height:1.6}.refresh-intro p{font-size:15px;line-height:2}.refresh-intro p+p{margin-top:20px}.ai-refresh .feat-card h3{margin-top:0}.refresh-demo-card{display:flex;flex-direction:column;gap:16px}.refresh-demo-card img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r-card)}.refresh-demo-card .refresh-text-link{margin-top:auto}.ai-refresh .section{scroll-margin-top:100px}.ai-refresh .plan-price{font-variant-numeric:tabular-nums}.demo-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px}.demo-entry{display:flex;flex-direction:column;background:#fff;border-radius:var(--r-card);overflow:hidden}.demo-entry img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.demo-entry-copy{padding:24px;display:flex;flex-direction:column;gap:12px;flex:1}.demo-entry h3{font-size:19px;line-height:1.6}.demo-entry p{font-size:14px;line-height:1.9;color:var(--ink-soft)}.demo-entry small{color:var(--blue);font-size:12px}.demo-entry .refresh-text-link{margin-top:auto}.demo-summary{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:32px}.demo-summary p{font-size:14px;color:var(--ink-soft)}@media(max-width:900px){.demo-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-refresh .feat-grid.cols3{grid-template-columns:1fr}.refresh-intro{gap:28px}}@media(max-width:720px){.ai-refresh .page-head{padding-inline:0}.ai-refresh .page-head .lead{max-width:none}.refresh-intro,.demo-catalog{grid-template-columns:1fr}.demo-summary{display:block}.demo-summary p{margin-top:12px}.refresh-actions{gap:20px}.ai-refresh .feat-grid{grid-template-columns:1fr}}
/* Demo library: category sections and thumbnail-first video links. */
.demo-library { padding-top: 88px; }
.demo-category-nav { display: flex; flex-wrap: wrap; gap: 12px; padding-bottom: 48px; }
.demo-category-nav a { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 16px 24px; border: 1px solid var(--line); border-radius: var(--r-card); background: #fff; font-size: 16px; font-weight: 600; }
.demo-category-nav a span { color: var(--blue); }
.demo-category { scroll-margin-top: 120px; padding: 40px 0 64px; border-top: 1px solid var(--line); }
.demo-category-heading { display: flex; align-items: baseline; gap: 20px; margin-bottom: 32px; }
.demo-category-heading h2 { font-size: clamp(25px, 3vw, 34px); line-height: 1.5; }
.demo-category-heading > span { font-size: 15px; color: var(--ink-soft); white-space: nowrap; }
.demo-library .demo-catalog { gap: 40px 32px; }
.local-demo-catalog { gap: 40px 32px; }
.local-demo-catalog .demo-entry { background: transparent; border-radius: 0; overflow: visible; color: #333; text-decoration: none; }
.local-demo-catalog .demo-entry-copy { padding: 12px 0 0; gap: 12px; }
.local-demo-catalog .demo-entry h3 { margin: 0; font-size: 18px; line-height: 1.7; color: #333; }
.local-demo-catalog .demo-entry p { margin: 0; font-size: 14px; line-height: 1.9; color: #333; }
.demo-library .demo-entry { background: transparent; border-radius: 0; overflow: visible; }
.demo-thumbnail { position: relative; display: block; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; aspect-ratio: 16 / 9; background: #fff; }
.demo-thumbnail img { display: block; }
.demo-play { position: absolute; inset: 0; margin: auto; width: 64px; height: 64px; border-radius: 50%; background: rgba(0, 0, 0, .72); color: #fff; display: grid; place-items: center; border: 0; }
.demo-play svg { margin-left: 3px; }
.demo-duration { position: absolute; bottom: 10px; right: 10px; background: #222; color: #fff; padding: 3px 7px; border-radius: 3px; font-size: 13px; font-variant-numeric: tabular-nums; }
.demo-library .demo-entry-copy { padding: 16px 0 0; gap: 8px; }
.demo-library .demo-entry h3 { font-size: 18px; line-height: 1.7; }


.demo-entry:focus-visible, .demo-category-nav a:focus-visible { outline: 3px solid var(--blue); outline-offset: 5px; }
@media (max-width: 720px) {
 .demo-category-nav { display: grid; grid-template-columns: 1fr; padding-bottom: 32px; }
 .demo-category-nav a { padding: 14px 18px; }
 .demo-category { padding: 32px 0 48px; }
 .demo-category-heading { flex-wrap: wrap; gap: 8px 16px; margin-bottom: 24px; }
 .demo-library .demo-catalog { gap: 32px; }
}

/* Thumbnail hover follows the reference: image zoom and play-icon crossfade. */
.demo-thumbnail img { transform: scale(1); transition: transform 180ms ease-out; }
.demo-play { isolation: isolate; }
.demo-play::before { content: ""; position: absolute; inset: 0; border-radius: inherit; background: var(--blue); opacity: 0; transition: opacity 180ms ease-out; z-index: -1; }
@media (hover: hover) and (pointer: fine) {
 .demo-entry:hover .demo-thumbnail img { transform: scale(1.07); }
 .demo-entry:hover .demo-play::before { opacity: 1; }
}
.demo-entry:focus-visible .demo-thumbnail img { transform: scale(1.07); }
.demo-entry:focus-visible .demo-play::before { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
 .demo-thumbnail img, .demo-play::before { transition: none; }
 .demo-entry:hover .demo-thumbnail img, .demo-entry:focus-visible .demo-thumbnail img { transform: none; }
}

.demo-library .demo-entry-copy > p {
  background: #fff;
  border-radius: 8px;
  padding: 14px 16px;
  color: #333333;
}

/* Reference-style compact category links; no boxed buttons. */
.demo-category-nav { display: flex; justify-content: center; flex-wrap: wrap; gap: 20px 40px; padding-bottom: 40px; border-bottom: 1px dashed #999; }
.demo-category-nav a { padding: 0; border: 0; border-radius: 0; background: transparent; gap: 8px; font-size: 14px; font-weight: 700; color: #333; line-height: 1.6; }
.demo-category-nav a > span { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 4px; background: #333; color: #fff; font-size: 14px; }
.demo-category-nav + .demo-category { border-top: 0; }
.demo-play { width: 52px; height: 52px; background: rgba(180, 180, 180, .45); border: 0; }
.demo-play svg { width: 100%; height: 100%; margin-left: 0; }
.demo-library .demo-entry, .demo-library .demo-entry:hover, .demo-library .demo-entry h3, .demo-library .demo-entry:hover h3 { color: #333333; text-decoration: none; }
@media (max-width: 720px) {
 .demo-category-nav { gap: 14px 20px; justify-content: flex-start; }
 .demo-category-nav a { font-size: 12px; padding: 0; }
 .demo-category-nav a > span { width: 16px; height: 16px; border-radius: 3px; font-size: 12px; }
 .demo-play { width: 40px; height: 40px; }
}

/* Consistent card spacing and category count labels. */
.demo-category-nav { border-bottom: 0; }
.demo-category { border-top: 0; }
.demo-video-area .demo-category + .demo-category { border-top: 4px dotted #fff; }
.demo-library .demo-entry-copy { padding-top: 12px; gap: 12px; }
.demo-library .demo-entry-copy > h3,
.demo-library .demo-entry-copy > p { margin: 0; }
.demo-category-heading { align-items: center; }
.demo-category-heading > span {
  display: inline-flex;
  align-items: center;
  padding: 5px 14px;
  border-radius: 8px;
  background: var(--blue);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}

.demo-category-icon { display: block; flex: none; width: 20px; height: 20px; color: #333333; }
@media (max-width: 720px) { .demo-category-icon { width: 16px; height: 16px; } }


.demo-category-heading {
  flex-direction: row;
  align-items: flex-end;
  gap: 12px 20px;
}

/* The category navigation stays outside the blue video area. */
.section.demo-library { padding-inline: 0; padding-bottom: 0; }
.demo-library > .container { width: auto; margin-inline: var(--edge); }
.demo-video-area { background: var(--blue); padding-inline: var(--edge); padding-bottom: 24px; }
.demo-video-area .demo-category-heading h2,
.demo-video-area .demo-entry h3,
.demo-video-area .demo-entry:hover h3 { color: #fff; }
.demo-video-area .demo-category-heading > span { background: #fff; color: var(--blue); }
.demo-video-area .demo-entry:focus-visible { outline-color: #fff; }

/* A rounded navigation tab joins directly to the video background. */
.demo-library .demo-category-nav {
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
  padding: 24px 40px;
  background: var(--blue);
  border-radius: 20px 20px 0 0;
  gap: 20px 40px;
}
.demo-library .demo-category-nav a,
.demo-library .demo-category-icon { color: #fff; }
.demo-library .demo-category-nav a:focus-visible { outline-color: #fff; }
@media (max-width: 720px) {
  .demo-library .demo-category-nav {
    width: 100%;
    padding: 20px;
    gap: 16px 20px;
    border-radius: 16px 16px 0 0;
  }
}

/* Rounded inner corners where the tab joins the wider blue area. */
.demo-library .demo-category-nav { position: relative; }
.demo-library .demo-category-nav::before,
.demo-library .demo-category-nav::after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 20px;
  height: 20px;
  pointer-events: none;
}
.demo-library .demo-category-nav::before {
  left: -20px;
  background: radial-gradient(circle at top left, transparent 19.5px, var(--blue) 20px);
}
.demo-library .demo-category-nav::after {
  right: -20px;
  background: radial-gradient(circle at top right, transparent 19.5px, var(--blue) 20px);
}
@media (max-width: 720px) {
  .demo-library .demo-category-nav::before,
  .demo-library .demo-category-nav::after { width: 12px; height: 12px; }
  .demo-library .demo-category-nav::before { left: -12px; background: radial-gradient(circle at top left, transparent 11.5px, var(--blue) 12px); }
  .demo-library .demo-category-nav::after { right: -12px; background: radial-gradient(circle at top right, transparent 11.5px, var(--blue) 12px); }
}

/* Align the visible heading text with the count pill, not its line-box edge. */
.demo-category-heading { align-items: baseline; }
.demo-category-heading h2 { line-height: 1.2; }
.demo-video-area { border-radius: 32px; }
@media (max-width: 720px) {
  .demo-video-area { border-radius: 24px; }
}

.demo-category-heading {
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 12px;
}

.demo-video-area .demo-category:first-child { padding-top: 72px; }
.demo-category-heading { gap: 20px; }
@media (max-width: 720px) {
  .demo-video-area .demo-category:first-child { padding-top: 56px; }
}

.demo-library > .container {
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-inline: var(--edge);
}
.demo-library .demo-category-nav { margin-inline: 0; justify-content: center; }

/* Descriptions remain readable beneath every video title. */
.demo-library .demo-entry-copy > p {
  position: static; opacity: 1; visibility: visible;
  background: transparent; border: 0; border-radius: 0;
  box-shadow: none; padding: 0; color: #fff;
}
.demo-modal {
  position: fixed; inset: 0; margin: auto; width: min(920px, calc(100% - 32px));
  max-height: calc(100dvh - 32px); padding: 24px; border: 0;
  border-radius: 16px; background: #fff; color: #333; overflow: auto;
}
.demo-modal::backdrop { background: rgb(0 0 0 / 75%); }
.demo-modal-header { display: flex; align-items: center; gap: 20px; justify-content: space-between; margin-bottom: 20px; }
.demo-modal-header h2 { font-size: 22px; line-height: 1.5; }
.demo-modal-heading { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; min-width: 0; }
.demo-modal-category { display: inline-flex; align-items: center; flex: none; padding: 5px 12px; border-radius: 8px; background: var(--blue); color: #fff; font-size: 13px; font-weight: 700; line-height: 1.5; }
.demo-modal-close { flex: none; width: 44px; height: 44px; border: 0; border-radius: 50%; background: #eee; color: #333; font-size: 30px; cursor: pointer; }
.demo-modal video { display: block; width: 100%; max-height: 65dvh; aspect-ratio: 16 / 9; background: #000; }
.demo-modal-description,.demo-modal-error { margin-top: 20px; font-size: 15px; line-height: 1.9; }
.demo-modal-details { display: grid; gap: 16px; margin: 24px 0 0; color: #333; font-size: 15px; line-height: 1.8; }
.demo-modal-details > div { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 20px; }
.demo-modal-details dt { justify-self: start; align-self: start; display: flex; align-items: center; justify-content: center; box-sizing: border-box; width: 120px; height: 30px; padding: 5px 12px; border-radius: 8px; background: var(--blue); color: #fff; font-size: 13px; font-weight: 700; line-height: 1.5; white-space: nowrap; }
.demo-modal-details dd { margin: 0; }
@media(max-width:720px) { .demo-modal-details > div { grid-template-columns: 1fr; gap: 4px; } }
.demo-modal-error a { text-decoration: underline; color: var(--blue); }
.demo-modal button:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
@media(max-width:720px) { .demo-modal { padding: 16px; } .demo-modal-header h2 { font-size: 18px; } }

/* Native dialogs sit above the custom cursor layer. Use the system cursor while open. */
html.has-cursor:has(.demo-modal[open]),
html.has-cursor:has(.demo-modal[open]) * { cursor: auto !important; }
html.has-cursor:has(.demo-modal[open]) .demo-modal button,
html.has-cursor:has(.demo-modal[open]) .demo-modal a { cursor: pointer !important; }
html:has(.demo-modal[open]) .cursor-trail { visibility: hidden; }
.demo-modal::backdrop { cursor: auto; }

.demo-consult-heading { font-size: 38px; line-height: 1.6; }
.demo-consult-description { margin-top: 16px; }
.section.demo-consult { padding-bottom: 40px; }
.demo-consult .refresh-intro { grid-template-columns: 1fr; gap: 32px; text-align: center; }
.demo-consult .refresh-actions { justify-content: center; margin-top: 0; }
.demo-consult .btn-pill::after { width: 220%; height: auto; aspect-ratio: 1; }
@media (max-width: 720px) { .demo-consult-heading { font-size: 28px; } }

/* Invert category links without shifting the navigation layout. */
.demo-library .demo-category-nav a {
  border-radius: 8px;
  padding: 8px 12px;
  margin: -8px -12px;
}
.demo-library .demo-category-nav a:focus-visible {
  background: #fff;
  color: var(--blue);
}
.demo-library .demo-category-nav a:focus-visible .demo-category-icon { color: var(--blue); }
@media (hover: hover) {
  .demo-library .demo-category-nav a:hover { background: #fff; color: var(--blue); }
  .demo-library .demo-category-nav a:hover .demo-category-icon { color: var(--blue); }
}

.demo-library .demo-category-nav a {
  transition: background-color 200ms ease-out, color 200ms ease-out;
}
.demo-library .demo-category-nav .demo-category-icon {
  transition: color 200ms ease-out;
}
@media (prefers-reduced-motion: reduce) {
  .demo-library .demo-category-nav a,
  .demo-library .demo-category-nav .demo-category-icon { transition: none; }
}

/* Local AI: one video per category, using the shared demo modal. */
.local-demo-carousel .local-demo-catalog { display: grid; grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: calc((100% - 64px) / 3); overflow-x: auto; scroll-snap-type: x mandatory; padding: 4px 0 12px; scrollbar-width: thin; }
.local-demo-carousel .demo-entry { scroll-snap-align: start; min-width: 0; }
.local-demo-category { position: absolute; top: -1px; right: -1px; z-index: 2; padding: 0 10px 9px 13px; border-bottom-left-radius: 14px; background: var(--bg); color: var(--blue); font-size: 12px; line-height: 26px; font-weight: 700; }
.local-demo-category::before,.local-demo-category::after { content: ''; position: absolute; width: 14px; height: 14px; background: radial-gradient(circle at bottom left, transparent 13.5px, var(--bg) 14px); }
.local-demo-category::before { left: -14px; top: 0; }
.local-demo-category::after { right: 0; bottom: -14px; }
.local-demo-controls { display: flex; justify-content: flex-end; align-items: center; gap: 16px; margin-top: 20px; color: var(--blue); font-size: 14px; }
.local-demo-controls button { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--blue); border-radius: 50%; color: var(--blue); background: transparent; font-size: 22px; cursor: pointer; }
.local-demo-controls button:hover:not(:disabled) { background: var(--blue); color: #fff; }
.local-demo-controls button:disabled { opacity: .3; cursor: default; }
.local-demo-controls button:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
@media(max-width:900px) { .local-demo-carousel .local-demo-catalog { grid-auto-columns: calc((100% - 32px) / 2); } }
@media(max-width:720px) { .local-demo-carousel .local-demo-catalog { grid-auto-columns: 88%; gap: 20px; } }

.local-demo-carousel .demo-thumbnail { border: 0; }
.local-demo-carousel .local-demo-catalog { scrollbar-width: none; }
.local-demo-carousel .local-demo-catalog::-webkit-scrollbar { display: none; }
.local-demo-controls { justify-content: center; gap: 22px; margin-top: 26px; }
.local-demo-controls > button { width: 42px; height: 42px; border-width: 1.5px; transition: background .25s, color .25s; }
.local-demo-dots { display: flex; align-items: center; gap: 0; }
.local-demo-dots button { position: relative; width: 18px; height: 28px; border: 0; background: transparent; padding: 0; }
.local-demo-dots button::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: #d8d4cf; transition: background .25s, transform .25s; }
.local-demo-dots button[aria-current="true"]::before { background: #007bb7; transform: scale(1.25); }
.local-demo-dots button:hover:not(:disabled) { background: transparent; }
.local-demo-dots button:hover::before { background: #007bb7; }

/* Local AI introduction steps */
.ai-refresh #demo .sec-sub { font-size: 14px; line-height: 1.9; align-items: baseline; }
.ai-refresh .local-ai-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; max-width:none; }
.ai-refresh .local-ai-flow .flow-item { display:flex; flex-direction:column; align-items:stretch; gap:16px; padding:24px; min-width:0; }
.ai-refresh .local-ai-flow .no { font-size:28px; line-height:1; }
.ai-refresh .local-ai-flow img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; border-radius:8px; }
.ai-refresh .local-ai-flow .t { font-size:18px; text-align:center; }
.ai-refresh .local-ai-flow p { font-size:14px; line-height:1.9; margin:0; }
@media(max-width:1000px) { .ai-refresh .local-ai-flow { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:560px) { .ai-refresh .local-ai-flow { grid-template-columns:1fr; } .ai-refresh .local-ai-flow img { max-width:220px; margin-inline:auto; } }

.local-demo-carousel .local-demo-catalog { scroll-snap-type: none; scroll-behavior: auto; }

/* Flow connectors */
.ai-refresh .local-ai-flow { gap: 36px; }
.ai-refresh .local-ai-flow .flow-item { position: relative; box-shadow: none; }
.ai-refresh .local-ai-flow .flow-item:not(:last-child)::after {
  content: ''; position: absolute; top: 50%; right: -26px;
  width: 16px; height: 20px; background: var(--blue);
  clip-path: polygon(0 0, 100% 50%, 0 100%); transform: translateY(-50%);
}
@media (min-width: 561px) and (max-width: 1000px) {
  .ai-refresh .local-ai-flow .flow-item:nth-child(2)::after {
    top: auto; bottom: -28px; right: 50%; transform: translateX(50%) rotate(90deg);
  }
}
@media (max-width: 560px) {
  .ai-refresh .local-ai-flow .flow-item:not(:last-child)::after {
    top: auto; bottom: -28px; right: 50%; transform: translateX(50%) rotate(90deg);
  }
}
@media (min-width: 561px) and (max-width: 1000px) {
  .ai-refresh .local-ai-flow { grid-template-columns: 1fr; }
  .ai-refresh .local-ai-flow img { max-width: 220px; margin-inline: auto; }
  .ai-refresh .local-ai-flow .flow-item:not(:last-child)::after {
    top: auto; bottom: -28px; right: 50%; transform: translateX(50%) rotate(90deg);
  }
}

.ai-refresh .local-use-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.local-section-note,.local-plans-intro { font-size:14px; line-height:1.9; color:var(--ink-soft); }
.local-section-note { margin-top:24px; }
.local-plans-intro { margin-bottom:32px; max-width:880px; }
@media(max-width:720px) { .ai-refresh .local-use-grid { grid-template-columns:1fr; } }

.local-cta-intro { padding:0 var(--edge) 56px; text-align:center; }
.local-cta-intro h2 { font-size:clamp(26px,3vw,38px); line-height:1.6; margin:0; }
.local-cta-intro p { font-size:15px; line-height:2; margin:24px 0 0; }
@media(max-width:560px) { .local-cta-intro { padding-bottom:40px; } .local-cta-intro p br { display:none; } }

.ai-refresh .local-use-grid .feat-card { box-shadow:none; }
.local-use-illustration { display:block; width:100%; max-width:240px; height:auto; aspect-ratio:1; object-fit:contain; margin:0 auto 24px; }

.ai-refresh .local-use-grid .feat-card { background:transparent; border:0; }
.local-pricing-panel { background:var(--blue); border-radius:32px; padding:40px; }
.local-price-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.local-price-card { background:#fff; border-radius:28px; overflow:hidden; }
.local-price-card header { padding:28px 24px; text-align:center; }
.local-price-label { color:var(--blue); font-size:13px; font-weight:700; }
.local-price-card h3,.local-maintenance h3 { font-size:26px; margin:10px 0 16px; }
.local-price-card header p { font-size:14px; line-height:1.8; min-height:51px; }
.local-price-amount { color:var(--blue); font-size:56px; font-weight:700; line-height:1.3; margin-top:16px; font-variant-numeric:tabular-nums; }
.local-price-amount span { font-size:20px; margin-left:4px; }
.local-price-card header small,.local-maintenance small { font-size:12px; }
.local-price-card dl { margin:0; }
.local-price-row { display:grid; grid-template-columns:42% 1fr; gap:12px; padding:18px 24px; min-height:90px; align-items:center; font-size:14px; line-height:1.7; }
.local-price-row:nth-child(odd) { background:#edf5fa; }
.local-price-row dt { font-weight:700; }
.local-price-row dd { margin:0; }
.local-price-row small { font-size:12px; }
.local-price-card details { padding:24px; font-size:14px; }
.local-price-card summary { color:var(--blue); cursor:pointer; font-weight:700; }
.local-hardware-note { color:white; text-align:center; margin:24px 0 0; font-size:14px; }
.local-maintenance { display:grid; grid-template-columns:1fr 1.6fr; gap:40px; padding:32px; margin-top:32px; background:white; border-radius:24px; }
.local-maintenance p { font-size:14px; line-height:1.9; }
@media(max-width:720px) { .local-pricing-panel { padding:20px; border-radius:24px; } .local-price-grid,.local-maintenance { grid-template-columns:1fr; } .local-price-card h3 { font-size:24px; } .local-price-row { padding:16px; } .local-maintenance { padding:24px; gap:20px; } }

/* Compact pricing and circular use-case illustrations */
.local-pricing-panel { background:transparent; padding:0; border-radius:0; max-width:1040px; margin-inline:auto; }
.local-price-card { border-radius:20px; }
.local-price-card header { padding:20px; }
.local-price-card h3 { font-size:23px; margin:8px 0 10px; }
.local-price-card header p { min-height:0; font-size:13px; line-height:1.7; }
.local-price-amount { font-size:44px; margin-top:12px; }
.local-price-amount span { font-size:18px; }
.local-price-row { min-height:64px; padding:12px 20px; font-size:13px; line-height:1.6; }
.local-price-card details { padding:18px 20px; font-size:13px; }
.local-hardware-note { color:var(--ink-soft); margin-top:18px; font-size:13px; }
.local-maintenance { max-width:1040px; margin-inline:auto; padding:24px; }
.local-use-illustration { border-radius:50%; background:#62BACE; padding:14px; box-sizing:border-box; }
@media(max-width:720px) { .local-pricing-panel { padding:0; } .local-price-row { padding:12px 16px; } }

.local-price-amount { font-family:"DIN Alternate","D-DIN","Bahnschrift",var(--font-num); font-weight:700; font-size:56px; }
.local-price-amount span { font-family:var(--font-body, sans-serif); font-size:18px; }

.ai-refresh .local-use-grid .local-use-illustration {
  width:240px; height:240px; min-width:240px; max-width:240px;
  aspect-ratio:1 / 1; flex-shrink:0; border-radius:50%; object-fit:contain;
}
@media (min-width:721px) and (max-width:1000px), (max-width:360px) {
  .ai-refresh .local-use-grid .local-use-illustration { width:180px; height:180px; min-width:180px; max-width:180px; }
}

/* Smaller plan comparison with edge labels */
.local-pricing-panel { max-width:820px; padding-top:22px; }
.local-price-grid { gap:24px; }
.local-price-card { position:relative; overflow:visible; border-radius:16px; }
.local-price-card header { padding:26px 18px 16px; }
.local-price-card header .local-price-label { position:absolute; top:0; left:50%; transform:translate(-50%,-50%); background:var(--blue); color:#fff; border-radius:999px; padding:7px 26px; font-size:20px; line-height:1.3; white-space:nowrap; }
.local-price-card h3 { font-size:21px; margin:8px 0; }
.local-price-card header p { font-size:13px; line-height:1.7; min-height:44px; }
.local-price-row { min-height:58px; padding:10px 16px; gap:10px; grid-template-columns:40% 1fr; }
.local-price-card details { padding:14px 16px; }
.local-maintenance { max-width:820px; }
.ai-refresh .local-plan-limits { display:grid; grid-template-columns:1fr 1fr; gap:28px; border:1px solid #b46b6b; border-radius:12px; padding:24px; background:transparent; }
.ai-refresh .local-plan-limits .pain-card { background:transparent; box-shadow:none; border:0; padding:0; }
.ai-refresh .local-plan-limits b { color:#985050; }
@media(max-width:720px) { .local-price-grid { gap:42px; } .local-pricing-panel { padding-top:22px; } .ai-refresh .local-plan-limits { grid-template-columns:1fr; gap:20px; padding:20px; } }
@media(min-width:721px) { .local-price-row { height:64px; } }

.ai-refresh .local-hardware-table { border:0; }
.ai-refresh .local-hardware-table tr,.ai-refresh .local-hardware-table th,.ai-refresh .local-hardware-table td { border:0; background:transparent; }
.ai-refresh .local-hardware-table th { width:148px; padding:7px 20px 7px 0; vertical-align:top; }
.ai-refresh .local-hardware-table td { padding:9px 0; font-size:13px; line-height:1.8; vertical-align:top; }
.local-hardware-pill { display:inline-flex; align-items:center; justify-content:center; width:120px; min-height:30px; border-radius:999px; background:var(--blue); color:#fff; font-size:13px; font-weight:700; }
@media(max-width:560px) { .ai-refresh .local-hardware-table th { width:112px; padding-right:12px; } .local-hardware-pill { width:100px; font-size:12px; } }

.local-maintenance .plan-list li::before { content:none; }
.local-check-icon { flex:none; color:var(--blue); margin-top:2px; }

.local-maintenance { position:relative; padding-top:38px; margin-top:42px; }
.local-maintenance > div > .local-price-label { position:absolute; top:0; left:50%; transform:translate(-50%,-50%); padding:7px 26px; border-radius:999px; background:var(--blue); color:#fff; font-size:20px; line-height:1.3; white-space:nowrap; }
@media(max-width:560px) { .local-maintenance > div > .local-price-label { font-size:16px; padding-inline:20px; } }

.local-price-grid { align-items:start; }
.local-cta-intro .local-consult-button { margin-top:28px; }

.local-price-card .plan-list li::before { content:none; }

/* Tighten pricing vertically while keeping comparison rows aligned. */
.local-price-card header { padding:22px 18px 10px; }
.local-price-card h3 { margin:5px 0 6px; }
.local-price-card header p { min-height:0; line-height:1.6; }
.local-price-card .local-price-amount { margin-top:6px; line-height:1.15; }
.local-price-row { min-height:54px; padding-block:6px; }
.local-price-card details { padding-block:10px; }
.local-pricing-note { max-width:820px; margin-inline:auto; }
@media(min-width:721px) { .local-price-row { height:54px; } }

/* Reduce only the gaps highlighted between Demo/Support and Plans/Flow. */
.ai-refresh #demo,
.ai-refresh #plans { padding-bottom:48px; }
.ai-refresh #support,
.ai-refresh #plans + .section { padding-top:48px; }
@media(max-width:720px) {
  .ai-refresh #demo,
  .ai-refresh #plans { padding-bottom:32px; }
  .ai-refresh #support,
  .ai-refresh #plans + .section { padding-top:32px; }
}

/* Capsule frames for the four introduction steps. */
.ai-refresh .local-ai-flow .flow-item {
  border-radius:999px;
  padding:48px 24px 80px;
}
.ai-refresh .local-ai-flow .no { text-align:center; }
@media(max-width:1000px) {
  .ai-refresh .local-ai-flow .flow-item {
    width:100%;
    max-width:360px;
    margin-inline:auto;
    padding:48px 40px 80px;
  }
}

/* Align hardware specifications and exclusions with the pricing panel. */
.ai-refresh .local-hardware-heading,
.ai-refresh .local-hardware-table,
.ai-refresh .local-plan-limits { max-width:820px; margin-inline:auto; }

.ai-refresh .local-use-grid + .local-section-note { text-align:right; }
.ai-refresh .local-pricing-panel > .local-hardware-note { text-align:right; }

.local-tax-note { margin-top:16px; text-align:right; font-size:13px; color:var(--ink-soft); }
.ai-refresh .local-pricing-note { text-align:right; }

.ai-refresh .local-service-section { padding-bottom:48px; }
.ai-refresh .local-service-section + .section { padding-top:48px; }
@media(max-width:720px) {
  .ai-refresh .local-service-section { padding-bottom:32px; }
  .ai-refresh .local-service-section + .section { padding-top:32px; }
}

/* Notes are visually subordinate to body copy. */
.ai-refresh .local-section-note,
.ai-refresh .local-pricing-note,
.ai-refresh .local-hardware-note,
.ai-refresh .local-maintenance .plan-note { font-size:12px; }

/* Compact the notes beneath the maintenance card. */
.ai-refresh .local-tax-note { margin-top:10px; }
.ai-refresh .local-pricing-note { line-height:1.6; }
.ai-refresh .local-pricing-note + .local-pricing-note { margin-top:8px; }
.ai-refresh .local-maintenance .plan-list { border-top:0; }

/* Keep all four steps in one row through tablet widths. */
@media(min-width:768px) and (max-width:1000px) {
  .ai-refresh .local-ai-flow { grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
  .ai-refresh .local-ai-flow .flow-item { max-width:none; padding:32px 14px 48px; gap:12px; }
  .ai-refresh .local-ai-flow .t { font-size:16px; }
  .ai-refresh .local-ai-flow p { font-size:13px; line-height:1.8; }
  .ai-refresh .local-ai-flow .flow-item:not(:last-child)::after {
    top:50%; bottom:auto; right:-15px; width:10px; height:14px; transform:translateY(-50%);
  }
}

/* Mobile: horizontal contents inside a vertical sequence of steps. */
@media(max-width:767px) {
  .ai-refresh .local-ai-flow { grid-template-columns:1fr; gap:32px; }
  .ai-refresh .local-ai-flow .flow-item {
    display:grid; grid-template-columns:88px minmax(0,1fr);
    grid-template-rows:auto auto; column-gap:16px; row-gap:6px;
    max-width:none; padding:24px 20px; border-radius:28px; align-items:start;
  }
  .ai-refresh .local-ai-flow .no { grid-column:1; grid-row:1; font-size:24px; }
  .ai-refresh .local-ai-flow img { grid-column:1; grid-row:2; width:88px; max-width:100%; margin:0; }
  .ai-refresh .local-ai-flow .t { grid-column:2; grid-row:1; text-align:left; font-size:16px; align-self:center; }
  .ai-refresh .local-ai-flow p { grid-column:2; grid-row:2; font-size:13px; line-height:1.8; }
  .ai-refresh .local-ai-flow .flow-item:not(:last-child)::after {
    top:auto; bottom:-25px; right:50%; width:12px; height:16px;
    transform:translateX(50%) rotate(90deg);
  }
}

@media(max-width:767px) {
  .ai-refresh .local-ai-flow .flow-item {
    grid-template-columns:clamp(104px,22vw,144px) 28px minmax(0,1fr);
    column-gap:10px; align-content:center;
  }
  .ai-refresh .local-ai-flow img {
    grid-column:1; grid-row:1 / 3; width:100%; align-self:center;
  }
  .ai-refresh .local-ai-flow .no {
    grid-column:2; grid-row:1; text-align:left; align-self:center; font-size:22px;
  }
  .ai-refresh .local-ai-flow .t { grid-column:3; grid-row:1; }
  .ai-refresh .local-ai-flow p { grid-column:2 / 4; grid-row:2; }
}
