/* Approved green/white service theme. Only four opted-in index surfaces.
   Existing templates own content, eligibility, form behavior and detail routes. */
.public-service-page {
  --service-green: #17684b;
  --service-green-hover: #10543c;
  --service-ink: #202723;
  --service-muted: #606963;
  --service-line: #e5e9e6;
  --service-soft: #edf5ef;
  --service-surface: #f6f8f6;
  --brand: var(--service-green); --ink: var(--service-ink); --muted: var(--service-muted);
  --line: var(--service-line); --bg: #fff;
  --reading-accent: var(--service-green); --reading-ink: var(--service-ink);
  --reading-muted: var(--service-muted); --reading-line: var(--service-line); --reading-soft: var(--service-soft);
  --phone-brand: var(--service-green); --phone-violet: var(--service-green);
  --phone-ink: var(--service-ink); --phone-muted: var(--service-muted); --phone-line: var(--service-line);
  --phone-soft: var(--service-surface); --phone-violet-soft: var(--service-soft);
  --phone-brand-soft: var(--service-soft); --phone-green: var(--service-green);
  --phone-green-soft: var(--service-soft); --phone-radius-card: 12px; --phone-radius-control: 8px;
  /* Rebind derived aliases here: inherited root values already resolved upstream. */
  --phone-bg-page: var(--service-surface); --phone-bg-surface: #fff;
  --phone-bg-section: var(--service-soft); --phone-bg-success: var(--service-soft);
  --phone-bg-gift: var(--service-soft); --phone-text-primary: var(--service-ink);
  --phone-text-secondary: var(--service-muted); --phone-text-brand: var(--service-green);
  --phone-text-action: var(--service-green); --phone-text-success: var(--service-green);
  --phone-border-default: var(--service-line); --phone-border-accent: var(--service-green);
  --hk-nav-blue: var(--service-green);
  margin: 0; background: #fff; color: var(--service-ink); color-scheme: light;
  font-family: var(--hotker-font); font-size: 16px; line-height: 1.6;
  word-break: keep-all; overflow-wrap: break-word; -webkit-font-smoothing: antialiased;
}

.public-service-page ::selection { color: #173e2a; background: #c9e9d6; }
.public-service-page :focus-visible { outline: 3px solid var(--service-green); outline-offset: 4px; }
.public-service-page :is(input, select, button) { font-family: inherit; }
.public-service-page input { caret-color: var(--service-green); }
.public-service-page input::placeholder { color: var(--service-muted); opacity: 1; }
.public-service-page main :is(h1, h2, h3) { letter-spacing: -.03em; text-wrap: balance; }
.public-service-page main :is(a, button, summary) { text-underline-offset: 4px; touch-action: manipulation; }
.public-service-page main :is(button, .phone-button, .blog-button) { transition: background-color 120ms ease-out, transform 120ms ease-out; }
.public-service-page main button:active:not(:disabled) { transform: scale(.98); }
.public-service-page main button:disabled { cursor: not-allowed; }
.public-service-page :is(.seo-collection-price, .phone-deal-primary-price, .phone-deal-total-spend, .phone-deal-sheet-price) { font-variant-numeric: tabular-nums; }
.public-service-page :is(.seo-breadcrumb, .phone-breadcrumb) { flex-wrap: wrap; font-size: 13px; color: var(--service-muted); }
.public-service-page main :is(.eyebrow, .phone-eyebrow) { display: none; }
.public-service-page :is(.seo-collection-page, main:not(.blog-main):not(.qa-main)) { width: min(1120px, calc(100% - 64px)); margin: 24px auto 64px; }
.public-service-page .hk-site-header__nav a[aria-current=page] { color: var(--service-green); }

/* Product comparison: evidence first, no full-bleed ornamental hero. */
.service-products .seo-collection-heading {
  margin: 0 0 32px; padding: 24px 0 0; border: 0; border-radius: 0; background: #fff; box-shadow: none;
}
.service-products .seo-collection-heading h1 { margin: 0 0 16px; max-width: 800px; font-size: clamp(30px, 3.4vw, 42px); line-height: 1.3; color: var(--service-ink); }
.service-products .seo-collection-heading h1 span { display: block; color: inherit; }
.service-products .seo-collection-heading > p:not(.eyebrow) { margin: 0; max-width: 70ch; color: var(--service-muted); font-size: 16px; line-height: 1.75; }
.service-products .seo-collection-heading .seo-search { max-width: 800px; margin: 24px 0 0; }
.service-products .seo-collection-heading .seo-search label { font-size: 14px; color: var(--service-muted); }
.service-products .seo-collection-heading .seo-search > div { display: flex; gap: 8px; padding: 5px; border: 1.5px solid var(--service-green); border-radius: 12px; background: #fff; }
.service-products .seo-collection-heading .seo-search input { min-width: 0; min-height: 46px; border: 0; padding: 0 12px; font-size: 16px; box-shadow: none; background: #fff; }
.service-products .seo-collection-heading .seo-search button { min-height: 46px; padding: 0 24px; border-radius: 8px; background: var(--service-green); color: #fff; font-weight: 650; }
.service-products .seo-search > div:focus-within { outline: 2px solid #aecfbf; outline-offset: 3px; }
.service-products .seo-collection-heading .seo-collection-links { margin-top: 16px; font-size: 14px; }
.service-products .seo-collection-links a { display: inline-flex; align-items: center; min-height: 44px; color: var(--service-green); font-weight: 600; }
.service-products .seo-product-discovery-controls { margin: 0 0 32px; padding: 0; }
.service-products .seo-product-category-chips { gap: 8px; padding-bottom: 12px; scrollbar-width: thin; scrollbar-color: #b6c4bc transparent; }
.service-products .seo-product-category-chips a { min-height: 44px; border-radius: 8px; border: 1px solid var(--service-line); background: #fff; color: var(--service-muted); font-size: 14px; font-weight: 550; }
.service-products .seo-product-category-chips a.is-active { background: var(--service-soft); color: var(--service-green); border-color: #c9ddd1; }
.service-products .seo-product-state-guide { gap: 8px 16px; margin-top: 8px; color: var(--service-muted); font-size: 13px; }
.service-products .seo-product-state-guide span { border: 0; padding: 4px 8px; min-height: 0; border-radius: 4px; background: var(--service-surface); font-size: 12px; color: var(--service-muted); }
.service-products .seo-product-state-guide .is-confirmed { color: var(--service-green); background: var(--service-soft); }
.service-products .seo-collection-results { margin: 0; padding: 0; background: #fff; }
.service-products .seo-collection-results > header { margin-bottom: 20px; gap: 12px; }
.service-products .seo-collection-results > header h2 { font-size: 24px; }
.service-products .seo-collection-results > header p:not(.eyebrow) { color: var(--service-muted); font-size: 14px; }
.service-products .seo-collection-results > header > span { display: block; padding: 0; background: none; color: var(--service-muted); font-size: 14px; }
.service-products .seo-collection-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.service-products .seo-collection-card { border: 1px solid var(--service-line); border-radius: 12px; box-shadow: none; background: #fff; }
.service-products .seo-collection-image { margin: 0; width: 100%; aspect-ratio: 1.2; background: var(--service-surface); border-radius: 0; }
.service-products .seo-collection-image.image-fallback { font-size: 22px; color: var(--service-muted); }
.service-products .seo-collection-copy { padding: 16px; }
.service-products .seo-collection-copy h2 { height: auto; color: var(--service-ink); font-size: 16px; line-height: 1.55; font-weight: 650; }
.service-products .seo-collection-copy > :is(small, span) { font-size: 12px; color: var(--service-muted); }
.service-products .seo-collection-price { padding-top: 16px; }
.service-products .seo-collection-price strong { color: var(--service-ink); font-size: 23px; font-weight: 750; }
.service-products .seo-collection-price span { font-size: 12px; }
.service-products .seo-collection-summary { padding: 8px 0; border-top: 1px solid var(--service-line); border-radius: 0; background: none; font-size: 12px; }
.service-products .seo-condition-badge { align-self: start; background: #faf3e7; color: #855515; border-radius: 4px; font-size: 12px; }
.service-products .seo-collection-actions { padding: 0 16px 16px; }
.service-products .seo-collection-watch { min-height: 44px; border: 1px solid var(--service-line); border-radius: 8px; background: #fff; color: var(--service-green); font-size: 13px; font-weight: 600; }
.service-products .seo-method-note { margin: 48px 0 0; padding: 28px; border: 0; border-radius: 12px; background: var(--service-surface); color: var(--service-muted); }
.service-products .seo-method-note h2 { color: var(--service-ink); font-size: 24px; }
.service-products .seo-method-note li { min-height: 0; border-color: var(--service-line); background: none; }
.service-products .seo-method-note li span { color: var(--service-muted); }

/* Smartphone specialist entry: preserve all real tools and condition disclosures. */
.service-smartphones .phone-hero { grid-template-columns: minmax(0, 1fr) 280px; gap: 40px; padding: 24px 0 32px; border-radius: 0; background: #fff; color: var(--service-ink); box-shadow: none; overflow: visible; }
.service-smartphones .phone-hero::before { content: none; }
.service-smartphones .phone-hero h1 { font-size: clamp(28px, 3vw, 38px); line-height: 1.35; letter-spacing: -.03em; }
.service-smartphones .phone-hero h1 em { color: inherit; }
.service-smartphones .phone-hero-copy > p:not(.phone-eyebrow) { max-width: 70ch; margin-top: 16px; color: var(--service-muted); font-size: 16px; }
.service-smartphones .phone-hero-copy > small { color: var(--service-muted); font-size: 13px; }
.service-smartphones .phone-hero-panel { padding: 22px; border: 0; border-radius: 12px; background: var(--service-surface); box-shadow: none; backdrop-filter: none; }
.service-smartphones .phone-hero-panel > span { display: none; }
.service-smartphones .phone-hero-panel :is(strong, dd) { color: var(--service-ink); }
.service-smartphones .phone-hero-panel dl div { padding: 12px 0; border-color: var(--service-line); background: none; }
.service-smartphones .phone-hero-panel :is(dt, small) { color: var(--service-muted); font-size: 13px; }
.service-smartphones .phone-hero-search { width: 100%; margin-top: 24px; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
.service-smartphones .phone-hero-search > label { display: block; margin-bottom: 10px; }
.service-smartphones .phone-hero-search > label span { color: var(--service-ink); font-size: 14px; font-weight: 650; }
.service-smartphones .phone-hero-search > label small { display: block; margin-top: 4px; color: var(--service-muted); font-size: 13px; }
.service-smartphones .phone-hero-search-control { gap: 8px; padding: 5px; border: 1.5px solid var(--service-green); border-radius: 12px; background: #fff; }
.service-smartphones .phone-hero-search-control:focus-within { outline: 2px solid #aecfbf; outline-offset: 3px; }
.service-smartphones .phone-hero-search-control input { min-width: 0; min-height: 46px; border: 0; box-shadow: none; padding: 0 12px; font-size: 16px; background: #fff; }
.service-smartphones .phone-hero-search-control button { min-height: 46px; padding: 0 20px; border-radius: 8px; background: var(--service-green); color: #fff; font-weight: 650; }
.service-smartphones .phone-hero-search-paths { flex-wrap: wrap; }
.service-smartphones .phone-hero-search-hint { color: var(--service-muted); font-size: 13px; }
.service-smartphones .phone-hero-search-paths a { min-height: 44px; color: var(--service-green); font-size: 13px; }
.service-smartphones .phone-lab-entry.phone-inline-link { width: 100%; margin-top: 12px; padding: 20px; border: 0; border-radius: 12px; background: var(--service-soft); box-shadow: none; color: var(--service-ink); }
.service-smartphones .phone-lab-entry .lab-entry-copy { display: flex; flex-direction: column; gap: 6px; }
.service-smartphones .phone-lab-entry .lab-entry-kicker { color: var(--service-green); font-size: 19px; font-weight: 700; }
.service-smartphones .phone-lab-entry strong { color: var(--service-ink); font-size: 14px; font-weight: 550; }
.service-smartphones .phone-lab-entry .lab-entry-beta { vertical-align: middle; border-radius: 4px; background: #d6e9dd; color: var(--service-green); font-size: 10px; }
.service-smartphones .phone-lab-entry .lab-entry-description { color: #456151; font-size: 13px; }
.service-smartphones .phone-lab-entry .lab-entry-action { padding: 0 14px; border-radius: 8px; background: #fff; color: var(--service-green); font-size: 13px; }
.service-smartphones .phone-trust-strip { color: var(--service-muted); }
.service-smartphones .phone-trust-strip span { border-color: var(--service-line); background: var(--service-surface); color: var(--service-muted); font-size: 12px; }
.service-smartphones .phone-inline-link { color: var(--service-green); }
.service-smartphones .phone-button { border-radius: 8px; font-size: 14px; font-weight: 650; }
.service-smartphones .phone-button.primary { box-shadow: none; }
.service-smartphones :is(.phone-conversion-panel, .phone-support-hub, .phone-location-disclosure, .phone-official-subsidy) { border-color: var(--service-line); border-radius: 12px; background: var(--service-surface); box-shadow: none; }
.service-smartphones .phone-conversion-panel { padding: 24px; }
.service-smartphones .phone-role-switch a { border-radius: 8px; background: #fff; color: var(--service-muted); border-color: var(--service-line); }
.service-smartphones .phone-role-switch a.is-current { background: var(--service-soft); border-color: #c9ddd1; color: var(--service-green); }
.service-smartphones .phone-role-switch a :is(span, strong) { color: inherit; }
.service-smartphones :is(.phone-conversion-heading, .phone-support-hub-heading, .phone-section-heading) h2 { font-size: clamp(22px, 2.4vw, 28px); }
.service-smartphones .phone-quick-links a { min-height: 44px; border-radius: 8px; border-color: var(--service-line); background: #fff; color: var(--service-green); }
.service-smartphones .phone-location-filter :is(input, select) { min-height: 48px; border: 1px solid #b6c4bc; border-radius: 8px; font-size: 16px; }
.service-smartphones .phone-location-filter label { font-size: 13px; color: var(--service-muted); }
.service-smartphones .phone-location-filter button { min-height: 48px; border-radius: 8px; background: var(--service-green); color: #fff; }
.service-smartphones .phone-location-filter > p { font-size: 13px; color: var(--service-muted); }
.service-smartphones :is(.phone-location-result, .phone-faq-notice) { background: var(--service-surface); color: var(--service-muted); }
.service-smartphones .phone-primary-deal-section .phone-deal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.service-smartphones .phone-primary-deal-section .phone-deal-card { border-color: var(--service-line); border-radius: 12px; box-shadow: none; padding: 24px; }
.service-smartphones .phone-primary-deal-section .phone-deal-card-header h3 { font-size: 22px; font-weight: 700; line-height: 1.4; }
.service-smartphones .phone-primary-deal-section .phone-deal-primary-price { padding: 16px 0; border: 0; border-radius: 0; border-bottom: 1px solid var(--service-line); }
.service-smartphones .phone-deal-primary-price > strong { color: var(--service-ink); font-size: 34px; font-weight: 750; }
.service-smartphones .phone-deal-primary-price > small { color: var(--service-green); }
.service-smartphones .phone-deal-discount-breakdown > div { padding: 12px; border-radius: 8px; background: var(--service-surface); color: var(--service-ink); }
.service-smartphones .phone-deal-discount-breakdown > div.is-seller { background: var(--service-soft); color: var(--service-green); }
.service-smartphones .phone-deal-discount-breakdown dt { font-size: 12px; font-weight: 550; }
.service-smartphones .phone-deal-discount-breakdown dd { font-size: 19px; font-weight: 700; }
.service-smartphones .phone-deal-location { border-radius: 8px; background: var(--service-surface); color: var(--service-green); }
.service-smartphones .phone-deal-location :is(strong, span) { color: var(--service-muted); font-weight: 550; }
.service-smartphones .phone-deal-condition-chips span { border-radius: 4px; background: var(--service-surface); color: var(--service-muted); font-weight: 550; }
.service-smartphones .phone-deal-condition-chips span:last-child { background: var(--service-soft); color: var(--service-green); }
.service-smartphones .phone-deal-total-spend span { font-size: 14px; color: var(--service-muted); }
.service-smartphones .phone-deal-total-spend strong { font-size: 20px; color: var(--service-ink); }
.service-smartphones .phone-deal-total-spend time { font-size: 12px; color: var(--service-muted); }
.service-smartphones .phone-primary-deal-section .phone-deal-actions :is(.smartphone-deal-details > summary, .phone-source-action.is-consult-link) { border-color: var(--service-green); border-radius: 8px; background: var(--service-green); color: #fff; font-weight: 650; }
.service-smartphones .phone-primary-deal-section .phone-deal-actions :is(.phone-deal-watch, .phone-source-action.is-partner-link) { border-color: var(--service-line); border-radius: 8px; background: #fff; color: var(--service-green); font-weight: 600; }
.service-smartphones .smartphone-deal-detail-body :is(.is-carrier dd, .is-support-method dd, .is-seller dd) { color: var(--service-green); }
.service-smartphones .smartphone-deal-detail-body > header > div > span { display: none; }
.service-smartphones .smartphone-deal-detail-body > header button { flex: 0 0 44px; width: 44px; height: 44px; }
.service-smartphones .phone-deal-sheet-price { background: var(--service-surface); }
.service-smartphones .phone-deal-sheet-conditions dt { color: var(--service-muted); font-size: 12px; }
.service-smartphones .phone-deal-sheet-cta { background: var(--service-green); border-radius: 8px; }
.service-smartphones .phone-deal-sheet-seller { background: var(--service-soft); }
.service-smartphones .phone-deal-sheet-seller p { color: var(--service-green); }
.service-smartphones .phone-self-purchase-bridge { border-radius: 12px; background: var(--service-surface); color: var(--service-ink); }
.service-smartphones .phone-self-purchase-bridge p { color: var(--service-muted); }
.service-smartphones :is(.phone-catalog-reference-banner, .phone-deal-surface, .phone-iphone18-entry, .phone-launch) { background: var(--service-surface); border-color: var(--service-line); border-radius: 12px; box-shadow: none; }
.service-smartphones .phone-deal-surface { padding: 28px; background: #fff; }
.service-smartphones :is(.phone-catalog-reference-banner small, .phone-iphone18-entry-copy small, .phone-calculator-result > span) { display: none; }
.service-smartphones :is(.phone-official-subsidy-open-label, .phone-official-subsidy-close-label, .phone-official-subsidy-footer > a, .phone-support-accordion-panel > a, .phone-deal-alert-action, .phone-iphone18-entry-action) { background: var(--service-green); color: #fff; border-color: var(--service-green); border-radius: 8px; box-shadow: none; }
.service-smartphones :is(.phone-official-finder-step legend b, .phone-official-finder-field > span b) { background: var(--service-green); color: #fff; }
.service-smartphones .phone-support-accordion-item summary b { background: var(--service-soft); color: var(--service-green); }
.service-smartphones :is(.phone-data-disclosure summary strong, .phone-deal-search-action, .phone-deal-discovery-cta b, .phone-score-grid small, .phone-launch article > span) { color: var(--service-green); }
.service-smartphones :is(.phone-deal-search-action, .phone-deal-discovery-cta) { border-color: var(--service-line); border-radius: 8px; box-shadow: none; }
.service-smartphones .phone-deal-discovery-cta a { min-height: 44px; border-color: var(--service-line); border-radius: 8px; background: var(--service-soft); color: var(--service-green); }
.service-smartphones .phone-deal-discovery-cta a:first-child { background: var(--service-green); color: #fff; border-color: var(--service-green); }
.service-smartphones .phone-carrier-conversion-banner { background: var(--service-soft); color: var(--service-ink); border: 0; border-radius: 12px; box-shadow: none; }
.service-smartphones .phone-carrier-conversion-copy > span:last-child,
.service-smartphones .phone-carrier-conversion-points small { color: #456151; font-size: 13px; }
.service-smartphones .phone-carrier-conversion-copy strong { font-size: 24px; letter-spacing: -.03em; }
.service-smartphones .phone-carrier-conversion-points > span { background: #fff; border: 0; border-radius: 8px; }
.service-smartphones .phone-carrier-conversion-action { border-radius: 8px; color: var(--service-green); }
.service-smartphones .phone-carrier-conversion-panel { border-color: var(--service-line); background: var(--service-soft); }
.service-smartphones .phone-carrier-conversion-panel p,
.service-smartphones .phone-carrier-conversion-panel p strong { color: var(--service-ink); font-size: 14px; }
.service-smartphones .phone-carrier-conversion-panel .phone-carrier-banner-button { border-color: #c9ddd1; border-radius: 8px; background: #fff; color: var(--service-green); }
.service-smartphones .phone-carrier-conversion-panel .phone-carrier-banner-button.is-primary { background: var(--service-green); color: #fff; }
.service-smartphones .phone-carrier-conversion-banner > summary:focus-visible { outline: 3px solid var(--service-green); outline-offset: 3px; }
.service-smartphones .phone-calculator-result { background: var(--service-surface); color: var(--service-ink); border: 0; border-radius: 12px; box-shadow: none; }
.service-smartphones .phone-calculator-result :is(h3, dd) { color: var(--service-ink); }
.service-smartphones .phone-calculator-result :is(dt, p, li) { color: var(--service-muted); }
.service-smartphones .phone-calculator-result dl div { background: #fff; border-color: var(--service-line); }
.service-smartphones .phone-faq-sources a { background: var(--service-soft); color: var(--service-green); }
.service-smartphones .phone-method li > span { background: var(--service-soft); color: var(--service-green); }
.service-products .is-product-method li::before { content: none; }
.service-products .seo-collection-summary strong { font-size: 12px; }

/* Reading stays editorial; secondary category facts follow their headings. */
.service-blog .blog-feature-copy { display: flex; flex-direction: column; }
.service-blog .blog-feature-category { order: 1; margin: 0 0 12px; font-size: 13px; }
.service-blog .blog-feature h2 { order: 0; }
.service-blog .blog-feature-copy > p { order: 2; }
.service-blog .blog-feature-bottom { order: 3; }
.service-blog .blog-story .blog-card-body { display: flex; flex-direction: column; }
.service-blog .blog-story h2 { order: 0; }
.service-blog .blog-story .blog-card-meta { order: 1; }
.service-blog .blog-story p { order: 2; }
.service-blog .blog-story .blog-card-read { order: 3; }
.service-blog .blog-tools { background: var(--service-soft); }
.service-blog .blog-tools h2 { color: var(--service-ink); }
.service-blog .blog-tool-links a { color: var(--service-green); }
.service-blog .blog-button { color: #fff; }
.service-questions .qa-rail { padding: 24px; border: 0; border-radius: 12px; background: var(--service-surface); }
.service-questions .qa-rail > a { background: var(--service-green); color: #fff; border-radius: 8px; }
.service-questions .qa-card-meta { color: var(--service-muted); }

@media (hover: hover) and (pointer: fine) {
  .public-service-page main :is(.seo-collection-watch, .phone-deal-watch):hover { background: var(--service-soft); }
  .public-service-page main :is(.seo-search button, .phone-hero-search-control button, .phone-button.primary, .blog-button, .qa-search button):hover { background: var(--service-green-hover); color: #fff; }
  .service-products .seo-collection-card:hover { box-shadow: none; transform: none; border-color: #b6c4bc; }
  .service-smartphones .phone-lab-entry.phone-inline-link:hover { color: var(--service-ink); background: #e4f0e8; box-shadow: none; }
  .service-questions .qa-rail > a:hover { background: var(--service-green-hover); color: #fff; }
}
@media (max-width: 900px) {
  .public-service-page :is(.seo-collection-page, main:not(.blog-main):not(.qa-main)) { width: calc(100% - 40px); }
  .service-products .seo-collection-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-smartphones .phone-hero { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .service-smartphones .phone-hero-panel { padding: 20px; }
  .service-smartphones .phone-hero-panel dl { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .public-service-page :is(.seo-collection-page, main:not(.blog-main):not(.qa-main)) { margin-top: 16px; margin-bottom: 112px; }
  .service-products .seo-breadcrumb { margin: 0 0 16px; }
  .service-products .seo-collection-heading { padding-top: 8px; margin-bottom: 24px; }
  .service-products .seo-collection-heading h1 { font-size: 30px; }
  .service-products .seo-collection-heading > p:not(.eyebrow) { font-size: 14px; }
  .service-products .seo-collection-heading .seo-search button { padding: 0 16px; }
  .service-products .seo-product-state-guide { flex-wrap: wrap; }
  .service-products .seo-product-state-guide p { width: 100%; margin: 4px 0 0; }
  .service-products .seo-collection-results > header { flex-direction: row; align-items: baseline; }
  .service-products .seo-collection-results > header h2 { font-size: 22px; }
  .service-products .seo-collection-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .service-products .seo-collection-card > .seo-collection-main { display: grid; grid-template-columns: 100px minmax(0, 1fr); align-items: start; }
  .service-products .seo-collection-image { width: 100px; margin: 16px 0 0 12px; aspect-ratio: 1; border-radius: 8px; }
  .service-products .seo-collection-copy { padding: 16px 14px 12px 24px; }
  .service-products .seo-collection-copy h2 { font-size: 15px; }
  .service-products .seo-collection-price strong { font-size: 22px; }
  .service-products .seo-collection-actions { padding: 0 14px 16px 124px; }
  .service-products .seo-method-note { padding: 24px 20px; }
  .service-products .seo-method-note ol { grid-template-columns: minmax(0, 1fr); }
  .service-smartphones .phone-hero { padding-top: 8px; }
  .service-smartphones .phone-hero h1 { font-size: 28px; }
  .service-smartphones .phone-hero-copy > p:not(.phone-eyebrow) { font-size: 14px; }
  .service-smartphones .phone-hero-search-control button { padding: 0 12px; font-size: 14px; }
  .service-smartphones .phone-lab-entry.phone-inline-link { flex-direction: column; align-items: stretch; padding: 20px; gap: 16px; }
  .service-smartphones .phone-lab-entry .lab-entry-action { align-self: start; }
  .service-smartphones .phone-conversion-panel { padding: 20px 16px; }
  .service-smartphones .phone-primary-deal-section .phone-deal-grid { grid-template-columns: minmax(0, 1fr); }
  .service-smartphones .phone-primary-deal-section .phone-deal-card { padding: 20px; }
  .service-smartphones .phone-deal-surface { padding: 24px 0; border: 0; }
  .service-smartphones .phone-primary-deal-section { width: 100%; max-width: 100%; margin-left: 0; margin-right: 0; }
  .service-smartphones .phone-carrier-conversion-banner > summary { grid-template-columns: minmax(0, 1fr); }
  .service-smartphones .phone-carrier-conversion-action { justify-self: start; min-height: 44px; }
  .service-smartphones .phone-deal-discount-breakdown { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-smartphones .phone-deal-total-spend { grid-template-columns: minmax(0, 1fr); }
  .service-smartphones .phone-deal-total-spend strong { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  html:has(.public-service-page) { scroll-behavior: auto; }
  .public-service-page main :is(a, button, summary) { transition: none; }
  .public-service-page main button:active:not(:disabled) { transform: none; }
}

/* Results-first smartphone entry. Scoped to the existing specialist surface;
   cards on product/detail pages keep their current presentation. */
.service-smartphones .phone-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; clip-path: inset(50%); overflow: hidden; white-space: nowrap; }
.service-smartphones .phone-results-title { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 12px 0; }
.service-smartphones .phone-results-title h1 { margin: 0; font-size: 28px; line-height: 1.35; }
.service-smartphones .phone-results-title a { display: inline-flex; align-items: center; gap: 5px; min-height: 44px; color: var(--service-muted); font-size: 13px; white-space: nowrap; }
.service-smartphones #smartphoneHeroSearchForm { position: sticky; top: 64px; z-index: 60; display: flex; align-items: center; gap: 24px; margin: 0; padding: 12px 0; background: #fff; }
.service-smartphones #smartphoneHeroSearchForm > label { margin: -1px; }
.service-smartphones #smartphoneHeroSearchForm .phone-hero-search-control { flex: 1; max-width: 680px; display: flex; align-items: center; gap: 4px; min-width: 0; }
.service-smartphones #smartphoneHeroSearchForm .phone-hero-search-control > svg { flex: 0 0 20px; width: 20px; height: 20px; margin-left: 10px; color: var(--service-muted); }
.service-smartphones #smartphoneHeroSearchForm input[type=search] { width: 100%; padding: 0 6px; }
.service-smartphones #smartphoneHeroSearchForm button { flex-shrink: 0; }
.service-smartphones .phone-search-side-note { margin: 0; color: var(--service-muted); font-size: 13px; }
.service-smartphones #verified-mobile-deals { margin: 0; padding: 0; border: 0; background: #fff; scroll-margin-top: 148px; }
.service-smartphones .phone-results-filters { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 4px 0 12px; border-bottom: 1px solid var(--service-line); }
.service-smartphones .phone-carrier-tabs { display: flex; align-items: center; gap: 4px; }
.service-smartphones .phone-carrier-tabs a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 18px; border-radius: 8px; color: var(--service-ink); font-size: 14px; font-weight: 600; }
.service-smartphones .phone-carrier-tabs a[aria-current] { color: var(--service-green); background: var(--service-soft); }
.service-smartphones .phone-secondary-filters { display: flex; align-items: start; justify-content: flex-end; gap: 20px; min-width: 0; }
.service-smartphones .phone-filter-menu { position: relative; min-width: 0; }
.service-smartphones .phone-filter-menu > summary,
.service-smartphones #phone-region-picker > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; padding: 0 4px; list-style: none; cursor: pointer; color: var(--service-ink); font-size: 13px; font-weight: 500; }
.service-smartphones :is(.phone-filter-menu, #phone-region-picker) > summary::-webkit-details-marker { display: none; }
.service-smartphones :is(.phone-filter-menu, #phone-region-picker) > summary::after { content: ''; width: 6px; height: 6px; flex-shrink: 0; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); margin: -3px 2px 0; }
.service-smartphones :is(.phone-filter-menu, #phone-region-picker)[open] > summary::after { transform: rotate(225deg); margin-top: 4px; }
.service-smartphones .phone-filter-menu > nav { position: absolute; top: 48px; right: 0; z-index: 70; width: 172px; padding: 8px; background: #fff; border-radius: 12px; box-shadow: 0 8px 28px rgb(20 45 30 / 16%); }
.service-smartphones .phone-filter-menu nav a { display: flex; align-items: center; min-height: 44px; padding: 0 12px; font-size: 14px; color: var(--service-ink); border-radius: 6px; }
.service-smartphones .phone-filter-menu nav a[aria-current] { background: var(--service-soft); color: var(--service-green); font-weight: 650; }
.service-smartphones #phone-region-picker { position: relative; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; max-width: 200px; }
.service-smartphones #phone-region-picker > summary span { font-size: 13px; font-weight: 500; }
.service-smartphones .phone-region-panel { position: absolute; top: 48px; right: 0; z-index: 70; width: min(580px, calc(100vw - 40px)); max-height: calc(100dvh - 380px); overflow-y: auto; overscroll-behavior: contain; padding: 20px; border-radius: 12px; background: #fff; box-shadow: 0 8px 28px rgb(20 45 30 / 16%); }
.service-smartphones .phone-region-panel .phone-location-filter { padding: 0; border: 0; background: none; }
.service-smartphones .phone-region-panel .phone-location-result { margin: 16px 0 0; font-size: 13px; }
.service-smartphones .phone-results-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 18px 0; }
.service-smartphones .phone-results-heading h2 { margin: 0; font-size: 16px; font-weight: 650; line-height: 1.5; }
.service-smartphones .phone-results-heading h2 strong { margin-left: 4px; color: var(--service-green); }
.service-smartphones .phone-results-sort { display: flex; align-items: center; gap: 8px; color: var(--service-muted); font-size: 12px; }
.service-smartphones .phone-results-sort[hidden] { display: none; }
.service-smartphones .phone-results-sort select { max-width: 148px; min-height: 44px; padding: 0 4px; border: 0; background: #fff; color: var(--service-muted); font-size: 12px; }
.service-smartphones .phone-query-summary { display: flex; justify-content: space-between; gap: 16px; margin: -8px 0 16px; color: var(--service-muted); font-size: 13px; overflow-wrap: anywhere; }
.service-smartphones .phone-query-summary a { min-width: 44px; color: var(--service-green); text-decoration: underline; }
.service-smartphones #verified-mobile-deals .phone-deal-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; }
.service-smartphones #verified-mobile-deals .phone-deal-card.is-compact { display: flex; flex-direction: column; gap: 0; padding: 20px; border: 1px solid var(--service-line); border-radius: 12px; box-shadow: none; background: #fff; min-width: 0; }
.service-smartphones .is-compact .phone-deal-card-header { display: block; margin: 0; padding: 0; min-height: 0; }
.service-smartphones .phone-compact-fulfillment { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 12px; margin: 0 0 12px; padding: 0 0 10px; border-bottom: 1px solid var(--service-line); font-size: 13px; line-height: 1.55; }
.service-smartphones .phone-compact-fulfillment > span { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.service-smartphones .phone-compact-region { color: var(--service-ink); font-weight: 650; }
.service-smartphones .phone-compact-delivery { color: var(--service-muted); font-weight: 500; }
.service-smartphones .phone-compact-delivery[data-delivery-state=nationwide] { color: var(--service-green); font-weight: 650; }
.service-smartphones #verified-mobile-deals .is-compact .phone-deal-card-header h3 { margin: 0; color: var(--service-ink); font-size: 18px; font-weight: 700; line-height: 1.4; overflow-wrap: anywhere; }
.service-smartphones .is-compact .phone-deal-condition { margin: 4px 0 0; color: var(--service-muted); font-size: 12px; line-height: 1.5; }
.service-smartphones #verified-mobile-deals .is-compact .phone-deal-primary-price { margin: 12px 0 16px; padding: 0; border: 0; background: none; }
.service-smartphones .is-compact .phone-deal-primary-price > span { color: var(--service-muted); font-size: 12px; }
.service-smartphones .is-compact .phone-deal-primary-price > strong { display: block; margin-top: 3px; font-size: 30px; line-height: 1.3; letter-spacing: -.03em; }
.service-smartphones .is-compact .phone-deal-primary-price > strong[data-value-state=unknown] { color: var(--service-muted); font-size: 24px; }
.service-smartphones .phone-compact-seller-discount { display: block; margin: 8px 0 0; }
.service-smartphones .phone-compact-seller-discount > div { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 12px; padding: 0; border-radius: 0; background: none; }
.service-smartphones .phone-compact-seller-discount dt { color: var(--service-ink); font-size: 13px; font-weight: 500; }
.service-smartphones .phone-compact-seller-discount dd { margin: 0; color: var(--service-green); font-size: 17px; font-weight: 700; line-height: 1.5; font-variant-numeric: tabular-nums; }
.service-smartphones .phone-compact-seller-discount dd[data-value-state=confirmed-zero] { color: var(--service-ink); }
.service-smartphones .phone-compact-seller-discount dd[data-value-state=unknown] { color: var(--service-muted); font-size: 14px; font-weight: 500; }
.service-smartphones .phone-compact-conditions { margin-bottom: 16px; color: var(--service-muted); font-size: 12px; line-height: 1.65; font-variant-numeric: tabular-nums; }
.service-smartphones .phone-compact-conditions p { margin: 4px 0 0; }
.service-smartphones .phone-compact-conditions .phone-compact-plan { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 2px 8px; margin: 0 0 6px; font-size: 13px; }
.service-smartphones .phone-compact-plan > span:last-child { color: var(--service-ink); }
.service-smartphones .phone-compact-plan strong { font-weight: 650; }
.service-smartphones .phone-compact-conditions .phone-required-risk { color: #80520d; }
.service-smartphones .is-compact .phone-deal-total-spend { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 12px; margin: 0; padding: 12px 0 0; border-top: 1px solid var(--service-line); }
.service-smartphones .is-compact .phone-deal-total-spend span { font-size: 12px; }
.service-smartphones .is-compact .phone-deal-total-spend strong { font-size: 15px; font-weight: 650; }
.service-smartphones .phone-compact-evidence { margin: 12px 0 8px; color: var(--service-muted); font-size: 11px; line-height: 1.65; }
.service-smartphones .phone-compact-evidence p { margin: 0; }
.service-smartphones .phone-compact-evidence :is(.smartphone-source-badge, .phone-completeness-badge) { display: inline; min-height: 0; padding: 0; border: 0; border-radius: 0; background: none; color: inherit; font-size: inherit; font-weight: 500; }
.service-smartphones .phone-compact-evidence .is-incomplete { color: #80520d; }
.service-smartphones #verified-mobile-deals .is-compact .phone-deal-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; padding-top: 8px; }
.service-smartphones #verified-mobile-deals .is-compact .phone-deal-actions > * { flex: 1 1 calc(50% - 4px); min-width: 0; margin: 0; }
.service-smartphones #verified-mobile-deals .is-compact .phone-deal-actions :is(.smartphone-deal-details > summary, .phone-source-action, .phone-deal-watch) { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px; border-radius: 8px; font-size: 12px; line-height: 1.4; }
.service-smartphones #verified-mobile-deals .is-compact .phone-deal-actions .smartphone-deal-details > summary { border: 0; color: var(--service-green); background: var(--service-soft); }
.service-smartphones .is-compact .phone-condition-share { margin: 0; flex-shrink: 0; }
.service-smartphones .is-compact .phone-condition-share button { width: 44px; height: 44px; padding: 12px; }
.service-smartphones .is-compact .phone-condition-share .phone-share-label { display: none; }
.service-smartphones .phone-results-note { margin: 16px 0 24px; color: var(--service-muted); font-size: 13px; }
.service-smartphones .phone-buying-tools { margin: 40px 0 24px; border-top: 1px solid var(--service-line); padding-top: 24px; }
.service-smartphones .phone-buying-tools > h2 { margin: 0 0 16px; font-size: 20px; }
@media (hover: hover) and (pointer: fine) {
  .service-smartphones :is(.phone-carrier-tabs, .phone-filter-menu nav) a:hover { background: var(--service-soft); color: var(--service-green); }
}
@media (max-width: 1000px) {
  .service-smartphones #verified-mobile-deals .phone-deal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-smartphones .phone-search-side-note { display: none; }
  .service-smartphones .phone-secondary-filters { gap: 12px; }
}
@media (max-width: 640px) {
  .service-smartphones .phone-results-title { margin: 0; gap: 8px; }
  .service-smartphones .phone-results-title h1 { font-size: 23px; }
  .service-smartphones .phone-results-title a { font-size: 11px; }
  .service-smartphones #smartphoneHeroSearchForm { top: 56px; padding: 4px 0; }
  .service-smartphones #smartphoneHeroSearchForm .phone-hero-search-control { width: 100%; }
  .service-smartphones .phone-results-filters { display: block; padding: 2px 0 6px; }
  .service-smartphones .phone-carrier-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin-bottom: 4px; }
  .service-smartphones .phone-carrier-tabs a { padding: 0 8px; font-size: 13px; }
  .service-smartphones .phone-secondary-filters { justify-content: space-between; gap: 10px; }
  .service-smartphones :is(.phone-filter-menu, #phone-region-picker) > summary { gap: 8px; font-size: 12px; }
  .service-smartphones #phone-region-picker { max-width: 128px; }
  .service-smartphones .phone-filter-menu > nav { right: auto; left: 0; width: 148px; }
  .service-smartphones .phone-region-panel { max-height: calc(100dvh - 400px); padding: 16px; }
  .service-smartphones .phone-results-heading { margin: 12px 0; gap: 8px; }
  .service-smartphones .phone-results-heading h2 { font-size: 14px; }
  .service-smartphones .phone-results-sort { flex-direction: column; gap: 0; align-items: flex-end; font-size: 10px; line-height: 1; }
  .service-smartphones .phone-results-sort select { min-height: 44px; font-size: 11px; }
  .service-smartphones #verified-mobile-deals .phone-deal-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .service-smartphones #verified-mobile-deals .phone-deal-card.is-compact { padding: 18px; }
  .service-smartphones #verified-mobile-deals .is-compact .phone-deal-card-header h3 { font-size: 18px; }
  .service-smartphones .is-compact .phone-deal-primary-price > strong { font-size: 30px; }
}
