/* ScanTexter product visuals on the shared BoardTack layout. */
.scantexter-home { --purple: #6755c9; --teal: #2b8e82; --radius: 24px; }
.hero-visual { position: relative; isolation: isolate; min-width: 0; }
.visual-halo {
  position: absolute;
  inset: -45px -38px;
  z-index: -1;
  background: radial-gradient(ellipse at 24% 32%, rgba(209, 196, 252, .5), transparent 56%), radial-gradient(ellipse at 76% 76%, rgba(187, 232, 215, .52), transparent 54%);
  filter: blur(28px);
  pointer-events: none;
}
.showcase { position: relative; padding: 18px 18px 0; border: 1px solid #e5e6ed; border-radius: 21px; background: #fff; box-shadow: 0 25px 70px -30px rgba(39, 39, 66, .23), 0 4px 18px -8px rgba(39, 39, 66, .09); }
.showcase-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 20px; color: var(--muted); font-size: 11px; }
.window-dots { display: inline-flex; gap: 5px; }
.window-dots i { display: block; width: 7px; height: 7px; border-radius: 50%; background: #efc3c0; }
.window-dots i:nth-child(2) { background: #eaddb5; }
.window-dots i:nth-child(3) { background: #c2dccd; }
.mac-label { font-size: 10px; letter-spacing: 1px; }
.mode-tabs { display: flex; width: fit-content; margin: 17px auto 12px; padding: 4px; gap: 2px; border-radius: 10px; background: #f3f3f7; }
.mode-tabs button { padding: 6px 16px; min-height: 44px; border: 0; border-radius: 7px; background: transparent; color: var(--muted); font-size: 13px; font-weight: 600; transition: background .2s ease, color .2s ease; }
.mode-tabs button[aria-selected="true"] { background: #fff; color: var(--ink); box-shadow: 0 2px 6px rgba(25, 28, 42, .07); }
.mode-tabs button:hover { color: var(--purple); }
.screenshot-frame { display: flex; align-items: center; justify-content: center; aspect-ratio: 1.353 / 1; width: 100%; overflow: hidden; border-radius: 9px; background: #fff; }
.screenshot-frame img { width: 100%; height: 100%; max-height: 100%; object-fit: contain; }
.mode-panel figcaption { padding: 10px 0 16px; text-align: center; color: var(--muted); font-size: 12px; }
.showcase-foot { display: flex; align-items: center; justify-content: center; gap: 20px; padding: 14px; margin-inline: -18px; border-top: 1px solid #eff0f4; color: #626a7a; font-size: 12px; font-weight: 600; letter-spacing: .25px; }
.showcase-foot span[aria-hidden] { color: #aaaeb9; }
.shortcut-note { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 22px; color: var(--muted); font-size: 12px; }
.shortcut-keys { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border: 1px solid #e1e3e9; border-radius: 6px; background: #fff; color: #727a88; font-size: 16px; line-height: 1; }
.section-heading .eyebrow, .feature-heading .eyebrow, .mobile-copy .eyebrow { margin-bottom: 17px; }
.features-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 115px; align-items: start; }
.feature-heading > p:not(.eyebrow) { max-width: 325px; margin-top: 23px; margin-bottom: 28px; color: var(--muted); font-size: 15px; }
.feature-row { display: grid; grid-template-columns: 44px 1fr; align-items: start; gap: 21px; padding-block: 27px; border-bottom: 1px solid var(--line); }
.feature-row:first-child { padding-top: 0; }
.feature-row:last-child { border-bottom: 0; padding-bottom: 0; }
.feature-symbol { display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; border: 1px solid #e6e3f3; border-radius: 12px; background: #f0edf9; color: var(--purple); font-size: 20px; font-weight: 600; }
.feature-row:nth-child(2) .feature-symbol { border-color: #dcece6; background: #eaf3ef; color: var(--teal); font-size: 16px; }
.feature-row h3 { padding-top: 3px; font-size: 18px; font-weight: 600; letter-spacing: -.4px; }
.feature-row p { max-width: 430px; margin-top: 10px; color: var(--muted); font-size: 14px; line-height: 1.75; }
.mobile-section { overflow: hidden; background: #eaf3ef; }
.mobile-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }
.mobile-copy > p:not(.eyebrow) { max-width: 360px; margin-top: 24px; color: #5e746c; font-size: 15px; line-height: 1.75; }
.mobile-copy .eyebrow { color: #466459; }
.device-note { display: inline-block; margin-top: 24px; padding: 7px 12px; border: 1px solid #cfe1d9; border-radius: 8px; color: #466459; font-size: 12px; font-weight: 500; }
.phone-pair { display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 455px; padding: 4px 0; }
.phone-pair img { width: min(47%, 230px); height: auto; object-fit: contain; filter: drop-shadow(0 18px 20px rgba(42, 74, 61, .11)); }
.phone-capture { position: relative; z-index: 1; transform: rotate(-6deg) translateY(-10px); }
.phone-result { position: relative; z-index: 2; margin-left: -26px; transform: rotate(5deg) translateY(24px); }
@media (max-width: 1050px) {
.features-grid { gap: 70px; }
.mobile-grid { gap: 44px; }
.phone-pair { min-height: 400px; }
}
@media (max-width: 800px) {
.hero-visual { width: 100%; max-width: 600px; }
.visual-halo { inset: -20px 0; filter: blur(22px); }
.showcase { padding: 16px 16px 0; }
.showcase-foot { margin-inline: -16px; }
.shortcut-note { margin-top: 18px; }
.features-grid, .faq-grid { grid-template-columns: 1fr; gap: 38px; }
.feature-heading > p:not(.eyebrow) { max-width: 430px; margin-top: 18px; margin-bottom: 22px; }
.feature-heading h2 br { display: none; }
.mobile-grid { grid-template-columns: 1fr; gap: 34px; }
.mobile-copy > p:not(.eyebrow) { max-width: 450px; margin-top: 18px; }
.phone-pair { min-height: 0; max-width: 470px; margin-inline: auto; padding-block: 0 25px; }
.phone-pair img { width: min(47%, 215px); }
}
@media (max-width: 480px) {
.showcase { padding: 12px 12px 0; border-radius: 15px; }
.showcase-top { font-size: 10px; gap: 8px; }
.mac-label { font-size: 9px; }
.window-dots { gap: 4px; }
.window-dots i { width: 6px; height: 6px; }
.mode-tabs { margin-top: 13px; }
.mode-tabs button { padding-inline: 14px; }
.mode-panel figcaption { font-size: 11px; padding-bottom: 12px; }
.showcase-foot { margin-inline: -12px; padding: 12px; gap: 15px; font-size: 11px; }
.shortcut-note { flex-wrap: wrap; font-size: 11px; gap: 9px; }
.feature-row { grid-template-columns: 38px 1fr; gap: 17px; padding-block: 24px; }
.feature-symbol { width: 38px; height: 38px; border-radius: 10px; }
.feature-row h3 { font-size: 17px; }
.feature-row p { font-size: 13px; }
.phone-pair img { width: 47%; max-width: 188px; }
.phone-result { margin-left: -20px; }
}
