/* Display-size corrections that preserve the established art direction. */
.ken-phone-screen-clip-defs { position: absolute; width: 0; height: 0; overflow: hidden; pointer-events: none; }
/* Match the display openings in the 1448 x 1086 artwork, not the screenshot aspect ratio. */
.marketing-product-plate { --screen-x: 70.44%; --screen-y: 8.38%; --screen-w: 22.72%; --screen-h: 73.02%; }
.product-media-scam .marketing-product-plate { --screen-x: 70.925%; --screen-y: 10.87%; --screen-w: 22.79%; --screen-h: 78.27%; }
.product-media-darkweb .marketing-product-plate { --screen-x: 61.19%; --screen-y: 16.67%; --screen-w: 18.23%; --screen-h: 64.73%; }
.product-media-toolkit .marketing-product-plate { --screen-x: 79.63%; --screen-y: 12.98%; --screen-w: 15.61%; --screen-h: 56.81%; }
.marketing-product-screen { box-shadow: none; background: #fafbfe; }
.features-hero-visual { position: absolute; inset: 68px 0 0; pointer-events: none; }
@media (min-width: 961px) {
  .features-hero-media { width: auto; height: 100%; aspect-ratio: 1672 / 941; transform: translate(-50%, -50%); mask-image: linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent); }
  .features-hero-screen { top: 6.55%; left: 58.92%; width: 21.28%; height: 83.25%; box-shadow: none; }
  .features-hero h1 { font-size: clamp(56px, 7.5vw, 116px); line-height: 1; }
}

@media (max-width: 960px) {
  .features-hero { display: flex; min-height: 0; flex-direction: column; }
  .features-hero > .marketing-hero-grid { display: contents; }
  .features-hero .marketing-hero-copy {
    order: 0; width: min(640px, calc(100% - 40px)); max-width: none;
    margin: 100px auto 0;
  }
  .marketing-hero h1 { font-size: clamp(44px, 12vw, 78px); line-height: 1.02; letter-spacing: -.045em; }
  .features-hero .marketing-hero-lede { text-shadow: none; }
  .features-hero .marketing-link-light { text-shadow: none; }
  .features-hero-visual {
    --feature-media-width: min(156vw, 780px);
    position: relative; inset: auto; display: block; order: 1; width: 100%;
    height: calc(var(--feature-media-width) * .99); margin-top: 28px;
    overflow: hidden; pointer-events: none;
  }
  .features-hero-media {
    top: calc(var(--feature-media-width) * -.67); left: 50%;
    width: var(--feature-media-width); height: calc(var(--feature-media-width) * 1672 / 941);
    transform: translateX(-65.65%); opacity: 1; will-change: auto;
  }
  /* Trace the mobile plate aperture: its lower edge slopes differently from its top. */
  .hero-product-screen, .features-hero-screen {
    top: 40.550239%; left: 48.459086%; width: 34.750266%; height: 46.710526%;
    border-radius: 0; transform: none; box-shadow: none;
    clip-path: url(#ken-mobile-hero-screen-clip);
  }
  .features-hero-shade {
    background: linear-gradient(#030711, transparent 30px, transparent calc(100% - 32px), #030711);
  }
  .features-hero .marketing-hero-aside {
    order: 2; align-self: center; width: min(640px, calc(100% - 40px)); max-width: none;
    margin: 12px auto 40px; padding: 20px 0 0; border-left: 0; backdrop-filter: none;
  }
  .features-hero .marketing-hero-aside ol { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; }
  .features-hero .marketing-hero-aside li { grid-template-columns: 26px minmax(0, 1fr); font-size: 13px; }
  .marketing-toc-track { display: flex; gap: 0; padding-inline: 16px; scroll-padding-inline: 16px; scrollbar-width: thin; }
  .marketing-toc a { flex: 0 0 auto; min-width: 0; padding-inline: 16px; min-height: 52px; }
  .marketing-toc a > span { margin-right: 8px; }
  .product-chapter-copy h2 { font-size: clamp(38px, 10vw, 66px); line-height: 1.04; letter-spacing: -.04em; }
  .product-chapter-grid, .product-chapter-grid-reverse { padding-block: 68px 40px; gap: 24px; }
  .product-chapter-media { width: 100%; max-width: 640px; margin-inline: auto; }
  .product-chapter-media::before { content: none; }
  .marketing-product-plate, .product-media-scam .marketing-product-plate { width: 150%; transform: translateX(-35%); }
  .product-media-darkweb .marketing-product-plate { width: 150%; transform: translateX(-23%); }
  .product-media-toolkit .marketing-product-plate { width: 160%; transform: translateX(-44%); }
  .product-chapter-media figcaption {
    position: static; max-width: none; margin-top: 18px; padding-inline: 2px;
    font-size: 10px; line-height: 1.6; text-align: left;
  }
  .plans-hero, .plans-hero .marketing-hero-grid { min-height: 0; }
  .plans-hero .marketing-hero-grid { padding-block: 100px 40px; gap: 48px; align-items: stretch; }
  .plans-hero .marketing-hero-copy, .plans-hero-aside { width: 100%; max-width: 640px; margin-inline: auto; }
  .plans-hero-aside { align-self: auto; }
  .plans-hero-aside > span { font-size: 12px; }
  .decision-list article { grid-template-columns: 34px minmax(0, 1fr); gap: 12px 20px; }
  .decision-list article > p { grid-column: 2; }
  .field-manifesto { padding-block: 72px; gap: 32px; }
  .manifesto-copy h2 { font-size: clamp(40px, 10.5vw, 68px); line-height: 1.04; }
  .lens-heading h2, .system-heading h2, .proof-title h2 { font-size: clamp(38px, 10vw, 62px); line-height: 1.05; }
  .lens-section, .field-proof, .system-section { padding-block: 72px; }
  .lens-stage { height: auto; min-height: 0; padding-bottom: 18px; }
  .message-window { width: calc(100% - 36px); min-height: 0; padding: 22px; }
  .message-window-muted { position: relative; inset: auto; margin: 60px 18px 0; transform: none; }
  .message-window-clear { top: 60px; left: 18px; transform: none; }
  .message-window > p { margin-block: 32px; font-size: clamp(19px, 5.5vw, 24px); line-height: 1.38; overflow-wrap: anywhere; }
  /* Highlighting must not reflow the duplicate message under the lens. */
  .message-window-clear mark { padding: 0; }
  .lens-result { position: relative; inset: auto; width: auto; margin: 20px 18px 0; opacity: 1; transform: none; backdrop-filter: none; }
  .lens-result p { font-size: 13px; line-height: 1.55; }
  .lens-product { padding-top: 20px; }
  .field-mobile-menu { padding-bottom: max(24px, env(safe-area-inset-bottom)); gap: 24px; }
  .field-mobile-menu nav a { min-height: 48px; }
  .field-footer-col a { display: flex; align-items: center; min-height: 44px; }
}

@media (max-width: 780px) {
  .account-auth-page .auth-form-side { padding: 34px 20px; }
  .auth-panel h1, .delete-panel h1 { font-size: clamp(32px, 9.5vw, 42px); line-height: 1.12; }
  .portal-section-links {
    max-height: calc(100dvh - var(--account-header)); overflow-y: auto; overscroll-behavior: contain;
    padding-bottom: max(24px, env(safe-area-inset-bottom));
  }
  .auth-legal, .del-alt, .provider-confirm-note, .device-info { overflow-wrap: anywhere; }
  .account-portal-page .device-actions { grid-column: 2; justify-content: flex-start; flex-wrap: wrap; }
  .account-portal-page .device-actions button { flex: 0 0 auto; min-width: max-content; min-height: 44px; }
}

@media (max-width: 720px) {
  .comparison-scroll { width: 100%; padding-right: 0; }
  .comparison-table { width: 100%; }
  .comparison-capability-column { width: 44%; }
  .comparison-table thead th:first-child,
  .comparison-table tbody tr:not(.comparison-group) th,
  .comparison-group th { position: static; }
  .comparison-table thead th { height: 62px; padding: 12px 8px; }
  .comparison-table thead th:first-child { padding-left: 0; }
  .comparison-table thead th:nth-child(2), .comparison-table thead th:nth-child(3) { font-size: 18px; }
  .comparison-table tbody tr:not(.comparison-group) th { padding: 18px 10px 18px 0; }
  .comparison-table tbody tr:not(.comparison-group) th strong { font-size: 13px; line-height: 1.4; }
  .comparison-table tbody tr:not(.comparison-group) th span { font-size: 12px; }
  .comparison-table tbody td { padding: 18px 8px; font-size: 12px; overflow-wrap: anywhere; }
  .comparison-group th { padding-block: 26px 12px; line-height: 1.6; }
  .comparison-included::before { content: none; }
  .comparison-scroll-hint { display: none; }
  .plan-panel { padding-inline: 20px; }
  .plan-facts > div { gap: 12px; }
  .pro-price-lines { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .pro-price-lines strong { font-size: clamp(38px, 10.5vw, 60px); line-height: 1.15; white-space: nowrap; }
  .ledger-heading h2, .plan-editorial-heading h2, .foundation-heading h2,
  .comparison-heading h2, .decision-heading h2, .marketing-final h2 { line-height: 1.06; letter-spacing: -.04em; }
  .legal-ledger-hero { padding-block: 108px 40px; }
  .legal-hero-grid { gap: 28px; }
  .legal-ledger-hero h1 { font-size: clamp(42px, 12vw, 64px); }
  .legal-revision { padding: 16px 20px; }
  .legal-stage { padding-top: 24px; }
  .legal-layout { gap: 28px; }
  .legal-toc { max-width: 100%; }
  .legal-toc a { min-height: 44px; display: flex; align-items: center; }
  .legal-layout .prose { min-width: 0; overflow-wrap: anywhere; }
}

@media (max-width: 380px) {
  .features-hero .marketing-hero-copy { margin-top: 90px; }
  .features-hero .marketing-hero-aside ol { gap: 0 12px; }
  .features-hero .marketing-hero-aside li { font-size: 12px; }
  .pro-price-lines { gap: 12px; }
  .pro-price-lines strong { font-size: 36px; }
  .field-kicker { letter-spacing: .075em; }
}

@media (max-height: 500px) and (max-width: 960px) {
  .field-mobile-menu { padding-top: 16px; }
  .field-mobile-menu nav a { padding-block: 10px; font-size: 26px; }
}
