/* Armour Set 29 — screen-only mobile/tablet presentation.
 * Desktop (901px and wider), printed documents, prices, and workflows are unchanged.
 * Keep this stylesheet last so earlier responsive patches cannot reintroduce spacing.
 */
@media screen and (max-width:900px) {
  [hidden] { display:none !important; }
  .container, .sync-container, .sync-header-inner, .sync-footer-inner,
  .billing-container, .billing-header-inner {
    width:calc(100% - 36px); max-width:720px; margin-inline:auto;
  }
  .container > *, .form-grid > *, .grid-2 > *, .grid-3 > *,
  .sync-container > *, .billing-grid > *, .portal-content > * { min-width:0; }
  .eyebrow { font-size:.74rem; letter-spacing:.12em; line-height:1.6; overflow-wrap:break-word; }
  .section { padding-block:28px; }
  .section-head { margin-bottom:22px; }
  .section-head h2, .section-heading h2, .payday-section h2 {
    font-size:clamp(1.65rem,5.7vw,2.1rem); line-height:1.18;
    letter-spacing:-.02em; text-wrap:balance; overflow-wrap:break-word;
  }
  .section-head h2, .section-heading h2 { margin:8px 0 12px; }
  .section-head p, .section-heading p, .payday-section p { font-size:1rem; line-height:1.65; }
  .content-card { padding:20px; border-radius:16px; box-shadow:0 5px 20px rgba(7,31,57,.05); }
  .content-card > h2:first-child, .content-card > h3:first-child { margin-top:0; }
  .content-card h2 { font-size:1.3rem; line-height:1.35; overflow-wrap:break-word; }
  .content-card p, .notice, .help, .form-help { overflow-wrap:break-word; }
  a[href^="mailto:"] { overflow-wrap:anywhere; }
  .stack { gap:16px; }
  .button, .btn {
    min-width:0; max-width:100%; min-height:48px; padding:12px 18px;
    font-size:.96rem; line-height:1.4; text-align:center; white-space:normal;
    overflow-wrap:break-word; touch-action:manipulation;
  }
  .button-small { min-height:44px; font-size:.86rem; padding:10px 14px; }
  .button-primary { box-shadow:0 5px 14px rgba(255,122,0,.16); }
  :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #bd761b; outline-offset:3px; }
  .family-card:hover, .plan-card:hover, .plan-family-row:hover { transform:none; }

  /* Compact, undistorted logo and a reachable, scrollable navigation menu. */
  .armour-branding-set11 .site-header { box-shadow:0 3px 16px rgba(7,31,57,.07); }
  .armour-branding-set11 .site-header .nav { min-height:80px; gap:12px; }
  .armour-branding-set11 .site-header .public-brand { min-width:0; padding:8px 0; flex:1 1 auto; }
  .armour-branding-set11 .site-header .corporate-logo { width:min(220px,56vw); max-width:100%; }
  .site-header .nav-toggle {
    display:inline-flex; align-items:center; justify-content:center; gap:7px;
    flex:0 0 auto; min-width:78px; min-height:44px; padding:9px 11px;
    font:inherit; font-size:.88rem; font-weight:700; border:1px solid #c7d5e1;
    border-radius:12px; background:#f5f8fb; color:#0b2942; touch-action:manipulation;
  }
  .site-header .nav-toggle::before {
    content:""; width:15px; height:12px; flex:none;
    border-block:2px solid currentColor;
    background:linear-gradient(currentColor,currentColor) center/100% 2px no-repeat;
  }
  .site-header .nav-links {
    display:none; position:absolute; inset:100% 0 auto; flex-direction:column;
    align-items:stretch; gap:4px; padding:12px 18px 18px; background:#fff;
    border-top:1px solid #dce5ee; border-radius:0 0 18px 18px;
    box-shadow:0 14px 25px rgba(7,31,57,.12); max-height:calc(100vh - 100px);
    overflow-y:auto; overscroll-behavior:contain;
  }
  .site-header .nav-links.open { display:flex; }
  .site-header .nav-links a, .site-header .nav-links .nav-login {
    display:flex; align-items:center; width:100%; min-height:46px; padding:11px 14px;
    font-size:.97rem; line-height:1.4; border-radius:10px; border:0; color:#17334f;
  }
  .site-header .nav-links a:hover, .site-header .nav-links a:focus-visible { background:#edf4f9; }
  .site-header .nav-links .nav-login { background:#082744; color:#fff; margin-top:5px; justify-content:center; }

  /* Marketing heroes: a consistent scale and no narrow desktop-style columns. */
  .hero.home-hero-compact { min-height:0; }
  .home-hero-compact .hero-grid, .employer-hero-grid, .broker-hero-grid {
    grid-template-columns:minmax(0,1fr); gap:24px; align-items:start;
  }
  .home-hero-compact .hero-grid { padding-block:22px 28px; }
  .page-hero, .broker-hero, .employer-hero { padding-block:24px; }
  .hero-copy-block h1, .broker-hero h1, .employer-hero h1, .page-hero h1 {
    font-size:clamp(2.1rem,8.8vw,2.7rem); line-height:1.12; letter-spacing:-.028em;
    margin:10px 0 16px; max-width:100%; text-wrap:balance; overflow-wrap:break-word;
  }
  .hero .hero-copy, .employer-hero .hero-copy, .broker-hero .hero-copy, .page-hero p {
    font-size:1rem; line-height:1.65; margin:0; max-width:100%;
  }
  .hero-actions { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; margin-top:22px; }
  .hero-actions .button { width:100%; }
  .home-hero-compact .hero-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hero-disclosure, .employer-hero .hero-disclosure, .hero .legal-note, .broker-hero .legal-note {
    font-size:.82rem; line-height:1.65; margin:16px 0 0;
  }
  .hero-side { display:block; padding:18px; border-radius:18px; box-shadow:none; }
  .hero-facts { gap:0; }
  .hero-fact { display:grid; grid-template-columns:30px minmax(0,1fr); gap:12px; padding:15px 0; }
  .hero-fact:first-child { padding-top:0; }
  .hero-fact:last-child { padding-bottom:0; }
  .hero-fact .fact-icon { width:30px; height:30px; font-size:.87rem; }
  .hero-fact strong { display:inline-block; margin-bottom:4px; font-size:1rem; line-height:1.35; }
  .hero-fact span:not(.fact-icon) { font-size:.94rem; line-height:1.65; }
  .employer-highlight, .broker-highlight { padding:22px; border-radius:18px; }
  .employer-highlight > strong, .broker-highlight > strong {
    font-size:clamp(1.4rem,4.8vw,1.8rem); line-height:1.25; text-wrap:balance;
  }
  .employer-highlight-kicker, .broker-highlight-kicker { font-size:.72rem; line-height:1.6; letter-spacing:.1em; }
  .employer-highlight p, .employer-highlight li, .broker-highlight p { font-size:.95rem; line-height:1.65; }
  .employer-highlight ul { padding-left:20px; margin-bottom:0; }

  /* Equal card rhythm, shorter gaps, but all copy and prices remain available. */
  .family-grid, .family-grid-directory { gap:16px; }
  .family-card { min-height:0; border-radius:17px; box-shadow:0 5px 18px rgba(8,40,68,.06); }
  .family-card-accent { height:6px; }
  .family-card-body { padding:20px; }
  .family-card .family-label { font-size:.72rem; letter-spacing:.09em; line-height:1.5; }
  .family-card h2, .family-card h3, .family-card-large h2 { font-size:1.65rem; line-height:1.2; margin:8px 0 0; }
  .family-card-body p, .home-plan-categories .family-card-body p {
    flex:none; margin:12px 0 16px; font-size:.96rem; line-height:1.65;
  }
  .family-card-meta { margin:0 0 16px; padding-top:12px; }
  .family-card .family-button { margin-top:0; min-height:46px; font-size:.95rem; }
  .home-plan-categories { padding-block:26px 20px; }
  .plan-directory-hero { padding-block:24px 16px; }
  .plan-directory-hero h1 { margin-bottom:0; }
  .plan-directory-hero + .section { padding-top:20px; }
  .home-plan-categories + .payday-section-centered { padding-block:26px; }
  .payday-section-centered p { margin-top:16px; }
  .home-plan-categories ~ .section-dark { padding-block:24px; }
  .section-dark .grid-3 { gap:0; }
  .section-dark .grid-3 > div { padding:16px 0; border-bottom:1px solid #ffffff20; }
  .section-dark .grid-3 > div:first-child { padding-top:0; }
  .section-dark .grid-3 > div:last-child { border:0; padding-bottom:0; }
  .section-dark .grid-3 h3 { margin:0 0 8px; font-size:1.13rem; line-height:1.4; }
  .section-dark .grid-3 p { margin:0; font-size:.94rem; line-height:1.65; }
  .employer-benefits-section, .broker-benefits-section, .broker-steps-compact,
  .employer-benefits-section + .employer-process-centered, .broker-application-section { padding-block:26px; }
  .employer-benefit-grid, .broker-benefit-grid { gap:16px; }
  .employer-benefits-unnumbered .employer-benefit, .broker-benefits-unnumbered .broker-benefit { padding:20px; border-radius:16px; }
  .employer-benefits-unnumbered .employer-benefit h3, .broker-benefits-unnumbered .broker-benefit h3 {
    font-size:1.17rem; margin-bottom:12px; line-height:1.4; text-align:center;
  }
  .employer-benefit p, .broker-benefit p { font-size:.95rem; line-height:1.65; }
  .employer-process-centered .employer-steps-card { padding:20px 16px; }
  .employer-steps { margin:20px 0 0; padding:0; }
  .employer-process-centered .employer-steps li { grid-template-columns:28px minmax(0,1fr); gap:10px; padding:14px 10px; }
  .employer-steps li > span { width:28px; height:28px; font-size:.87rem; }
  .employer-steps li strong { font-size:1rem; line-height:1.4; }
  .employer-steps li p { font-size:.94rem; line-height:1.65; }
  .employer-setup-actions, .employer-account-signin { margin-top:18px; }
  .broker-steps .grid-2 { gap:20px; }
  .broker-steps h2 { font-size:1.55rem; line-height:1.25; }
  .broker-numbered li { padding-block:14px; }
  .broker-disclosure-card ul { padding-left:20px; }
  .broker-disclosure-card li { margin-bottom:12px; line-height:1.65; }
  .broker-application-cta-centered { padding:24px 20px; border-radius:18px; }
  .broker-application-cta-centered .section-head { margin-bottom:18px; }
  .broker-application-cta-centered h2 { font-size:1.75rem; line-height:1.2; }
  .broker-form-wrap > .content-card + .content-card, .broker-form-wrap > .content-card + form.content-card { margin-top:18px; }

  /* Schedule labels and amounts remain prominent without a wall of navy text. */
  .plan-pages-set17 .plan-flyer-hero { padding-block:24px; border-bottom-width:5px; }
  .plan-pages-set17 .plan-flyer-head { text-align:center; }
  .plan-pages-set17 .plan-flyer-hero .plan-detail-title {
    font-size:clamp(2rem,7.8vw,2.55rem); line-height:1.15; margin:8px 0 18px;
  }
  .plan-pages-set17 .plan-hero-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
  .plan-pages-set17 .plan-hero-actions .button { width:auto; flex:1 1 145px; max-width:300px; font-size:.86rem; padding:11px 12px; }
  .plan-pages-set17 .plan-flyer-hero + .section { padding-top:20px; }
  .plan-pages-set17 .schedule-heading-simple { margin-bottom:20px; }
  .plan-pages-set17 .schedule-heading-simple span { font-size:.75rem; letter-spacing:.105em; line-height:1.6; }
  .plan-pages-set17 .schedule-heading-simple h2 { font-size:1rem; line-height:1.6; font-weight:500; margin:10px auto 0; }
  .plan-pages-set17 .plan-level-switcher { padding-bottom:20px; }
  .plan-pages-set17 .plan-level-tabs { max-width:440px; width:100%; display:flex; border-radius:14px; gap:4px; padding:4px; }
  .plan-pages-set17 .plan-level-tab { flex:1 1 0; min-width:0; padding:11px 8px; font-size:.94rem; border-radius:10px; min-height:46px; white-space:normal; overflow-wrap:break-word; }
  .plan-pages-set17 .plan-level-intro { margin-top:12px; }
  .plan-pages-set17 .plan-level-intro p { font-size:.9rem; line-height:1.6; }
  .plan-pages-set17 .plan-price-card { grid-template-columns:minmax(0,1fr); gap:16px; padding:22px; border-radius:17px; text-align:center; margin-top:22px; }
  .plan-pages-set17 .plan-price-amount > strong { font-size:2.6rem; }
  .plan-pages-set17 .plan-price-terms { border-left:0; border-top:1px solid #ffffff38; padding:14px 0 0; }
  .plan-pages-set17 .plan-price-actions { justify-content:center; }
  .plan-pages-set17 .plan-price-actions .button { width:100%; max-width:360px; }
  .plan-pages-set17 .plan-limits, .plan-pages-set17 .plan-actions-grid { margin-top:22px !important; }
  .plan-pages-set17 .plan-actions-grid { grid-template-columns:minmax(0,1fr); gap:18px; }
  .plan-pages-set17 .plan-actions-grid h2, .plan-pages-set17 .plan-limits h2 { text-align:center; font-size:1.3rem; line-height:1.35; }
  .plan-pages-set17 .plan-actions-grid ul, .plan-pages-set17 .plan-limits ul { padding-left:20px; margin-bottom:0; }
  .plan-pages-set17 .plan-actions-grid li, .plan-pages-set17 .plan-limits li { padding-left:2px; margin-bottom:10px; line-height:1.65; }
  .plan-pages-set17 .plan-actions-grid li:last-child, .plan-pages-set17 .plan-limits li:last-child { margin-bottom:0; }
  .plan-pages-set17 .plan-enroll-card .button { width:100%; }
  .sync-full-terms > h2 { font-size:1.5rem; line-height:1.3; text-wrap:balance; }
  .sync-flyer-page.sync-flyer-continuous { padding:18px 16px; border-radius:16px; }
  .sync-flyer-pricing { padding:14px; line-height:1.6; }
  .sync-flyer-pricing strong, .sync-flyer-pricing span { font-size:.88rem; line-height:1.65; }
  .sync-flyer-term h3 { font-size:1rem; line-height:1.5; }
  .sync-flyer-term p { font-size:1rem; line-height:1.7; }
  .sync-flyer-part, .sync-flyer-subheading { overflow-wrap:break-word; line-height:1.5; }

  /* How It Works preserves centered badges/headings and left-aligned introduction. */
  .how-it-works .how-hero { padding-block:24px 20px; }
  .how-it-works .how-hero p { margin:12px 0 0; text-align:left; }
  .how-it-works .how-step { padding:20px; gap:14px; border-radius:16px; }
  .how-it-works .how-step > span { width:44px; height:44px; font-size:22px; border-radius:12px; box-shadow:3px 3px 0 #ead7b2; }
  .how-it-works .how-step h2 { font-size:1.2rem; line-height:1.3; }
  .how-it-works .how-step p { font-size:1rem; }
  .how-it-works details.content-card { padding:0; overflow:visible; }
  .how-it-works details summary { padding:17px 18px; min-height:54px; cursor:pointer; font-size:.96rem; }
  .how-it-works details > p { padding:0 18px 18px; margin:0; font-size:.96rem; }

  /* Contact, applications and secure enrollment: room for labels and fingers. */
  input:not([type=checkbox]):not([type=radio]):not([type=hidden]), select, textarea {
    min-width:0; max-width:100%; font-size:16px; line-height:1.4; min-height:48px; padding:12px;
  }
  input[type=file] { white-space:normal; overflow-wrap:anywhere; }
  textarea { min-height:120px; }
  .form-group { min-width:0; gap:7px; }
  .form-group > label { font-size:.95rem; line-height:1.45; }
  .form-group small, .form-help, .help { font-size:.87rem; line-height:1.6; }
  .form-grid, .sync-form-card .form-grid { gap:18px; }
  .form-grid > .form-group { margin:0; }
  .form-grid > .form-group > label { margin:0; }
  .content-card form, form.content-card, .sync-form-card { min-width:0; }
  .content-card > .form-group + .form-group, .sync-document-card form:not(.employer-login-form):not(.account-login-form) > .form-group + .form-group { margin-top:18px; }
  .content-card > .form-group + .button, .sync-document-card form > .form-group + .button { margin-top:20px; }
  .checkbox, .grouped-acknowledgment { line-height:1.6; min-width:0; }
  .checkbox > input { flex:0 0 20px; width:20px; height:20px; margin-top:3px; }
  .checkbox > span { min-width:0; }
  .notice { padding:16px; border-radius:12px; font-size:.94rem; line-height:1.65; }
  .employer-request-page .sync-page-heading { text-align:center; margin-bottom:20px; }
  .employer-request-page .employer-enrollment-choice legend { font-size:1.4rem; line-height:1.35; text-align:center; }
  .employer-request-page .employer-enrollment-card, .employer-request-page .choice-card {
    position:relative; display:block; padding:18px; border-radius:14px;
  }
  .employer-request-page .employer-enrollment-card > input, .employer-request-page .choice-card > input {
    position:absolute; left:18px; top:20px; margin:0; width:20px; height:20px;
  }
  .employer-request-page .employer-enrollment-card-content, .employer-request-page .choice-card > span { display:block; width:100%; }
  .employer-request-page .employer-enrollment-card-title, .employer-request-page .choice-card > span > strong { display:block; padding-left:32px; min-height:26px; line-height:1.4; }
  .employer-request-page .employer-enrollment-card-title { font-size:1.12rem; }
  .employer-request-page .employer-enrollment-card-heading { font-size:1rem; line-height:1.5; margin-top:12px; }
  .employer-request-page .employer-enrollment-card-description, .employer-request-page .choice-card small { display:block; margin-top:12px; font-size:.96rem; line-height:1.65; }
  .employer-request-page .employer-request-form > .content-card { padding:20px 18px; }
  .employer-request-page .employer-authority-confirmation { margin-block:24px; padding:16px; }
  .employer-create-form h2, .sync-form-card h2 { margin-top:26px; padding-top:20px; border-top:1px solid #dce5ee; }
  .employer-create-form > h2:first-child, .sync-form-card > h2:first-of-type { border:0; margin-top:0; padding-top:0; }
  .sync-process { gap:8px; margin-block:18px 22px; }
  .sync-process > div { min-width:0; padding:12px; gap:10px; border-radius:12px; line-height:1.4; }
  .sync-process b { width:30px; height:30px; flex:0 0 30px; }
  .broker-submit-row { gap:16px; }
  .broker-submit-row > .button { width:100%; }
  .broker-application-certification { padding:16px; margin-block:22px; }
  .account-login-page { padding-block:24px; }
  .account-login-shell, .sync-body .employer-login-shell, .sync-auth-shell { width:calc(100% - 36px); max-width:560px; margin-inline:auto; }
  .account-login-card, .sync-body .employer-login-card { border-radius:18px; }
  .account-login-header, .account-login-choice .account-login-header, .sync-body .employer-login-header { padding:24px 20px; }
  .account-login-body, .employer-login-body { padding:20px; }
  .account-login-options { gap:14px; grid-template-columns:minmax(0,1fr); }
  .account-login-option, .account-login-choice .account-login-option { padding:20px 16px; border-radius:14px; gap:16px; }
  .account-login-note, .employer-login-help { font-size:.91rem; line-height:1.65; }
  .account-login-choice .account-login-header h1 { font-size:1.4rem; line-height:1.3; }
  .account-login-header h1, .sync-body .employer-login-header h1 { font-size:1.8rem; line-height:1.2; }
  .account-login-header p, .employer-login-header p { font-size:.95rem; line-height:1.6; }
  .sync-body .sync-section { padding-block:24px 30px; }
  .sync-body .sync-header-inner { gap:12px; padding-block:10px; min-height:76px; }
  .sync-body .sync-brand[class*="sync-brand--set"] { flex:1 1 230px; width:auto; max-width:260px; min-width:0; padding:7px 9px; border-radius:10px; }
  .sync-body .sync-secure-label {
    display:block; flex:0 1 85px; min-width:0; max-width:85px; text-align:right; overflow-wrap:break-word;
    font-size:.65rem !important; letter-spacing:.025em; white-space:normal; line-height:1.5;
  }
  .sync-body .sync-secure-label::after { content:none !important; }
  .sync-body .sync-secure-label > span { display:inline; font-size:.7rem; margin-right:3px; }
  .sync-page-heading h1, .sync-page-heading-compact h1 { font-size:clamp(1.8rem,6vw,2.25rem); line-height:1.2; margin:8px 0 12px; }
  .sync-page-heading p { font-size:1rem; line-height:1.6; }
  .sync-body .sync-form-card, .sync-auth-shell > .sync-document-card:not(.employer-login-card) { padding:20px; border-radius:16px; }
  .sync-auth-shell > .sync-document-card:not(.employer-login-card) h1 { font-size:1.8rem; line-height:1.2; margin-top:0; }
  .sync-body .sync-document-card:not(.employer-login-card) { border-radius:16px; }
  .sync-body .sync-document-actions form { width:100%; }
  .sync-body .sync-agree-checkbox { font-size:.95rem; line-height:1.6; }
  .sync-body .terms-scroll-box { max-height:60vh; min-height:240px; padding:14px; overscroll-behavior:contain; }
  .sync-body .sync-plan-actions .button { min-height:48px; }
  .sync-toolbar { flex-wrap:wrap; gap:10px; }
  .sync-help { margin:0 auto 18px; padding:20px 18px; }
  .sync-help h2 { margin-top:0; }
  .sync-help > div { max-width:720px; margin-inline:auto; }
  .sync-help p { font-size:.9rem; line-height:1.65; }
  .sync-footer-inner { gap:14px; grid-template-columns:minmax(0,1fr); }
  .sync-footer-inner p:nth-child(2) { flex-wrap:wrap; justify-content:flex-start; row-gap:4px; }
  .sync-footer-inner p:nth-child(2) a { display:inline-flex; min-height:40px; align-items:center; }
  .sync-footer-legal { line-height:1.65; }

  /* Keep dense account data inside the viewport; tables may still scroll. */
  .billing-grid, .sync-catalog-summary-row { grid-template-columns:minmax(0,1fr); gap:18px; }
  .billing-hero { padding-block:24px; }
  .billing-hero h1 { font-size:2rem; line-height:1.2; overflow-wrap:break-word; }
  .billing-section { padding-block:24px; }
  .table-wrap { max-width:100%; min-width:0; overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .table-wrap th, .table-wrap td { overflow-wrap:break-word; }
  .detail-list > div { min-width:0; }
  .detail-list dd { overflow-wrap:anywhere; min-width:0; }
  .portal-body .portal-shell { grid-template-columns:minmax(0,1fr); }
  .portal-body .portal-sidebar { position:static; height:auto; padding:16px 18px; min-width:0; }
  .portal-body .portal-brand--set11 { max-width:225px; margin:0 0 14px; gap:8px; }
  .portal-body .portal-brand-context { padding-top:8px; }
  .portal-body .portal-nav { display:flex; gap:8px; overflow-x:auto; padding:3px 2px 8px; scroll-padding:8px; }
  .portal-body .portal-nav a { flex:0 0 auto; min-height:44px; padding:11px 18px; font-size:.9rem; white-space:nowrap; }
  .portal-body .portal-content { padding:20px 18px; }
  .portal-body .portal-top { position:static; flex-wrap:wrap; gap:12px; padding:14px 18px; font-size:.92rem; }
  .portal-body .portal-top .button { width:auto; }
  .portal-body .portal-content .grid-2, .portal-body .portal-content .grid-3 { grid-template-columns:minmax(0,1fr); }
  .flash-wrap { top:94px; right:12px; left:12px; max-width:none; }
  .flash { max-width:600px; margin-left:auto; line-height:1.5; overflow-wrap:anywhere; }

  /* Footer navigation: two compact columns, not a very long single column. */
  body > footer .footer-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 24px; }
  body > footer .footer-grid > div:first-child { grid-column:1/-1; }
  .armour-branding-set11 .footer-logo { width:220px; max-width:100%; margin-bottom:16px; }
  body > footer:has(.footer-grid) { padding-block:28px 24px; }
  .footer-grid p { font-size:.9rem; line-height:1.65; margin:8px 0 0; }
  .footer-grid > div:not(:first-child) strong { display:block; margin:0 0 8px; font-size:.95rem; }
  .footer-grid > div:not(:first-child) a { display:inline-flex; align-items:center; min-height:42px; padding-block:8px; }
  .footer-grid > div:not(:first-child) br { display:none; }
  .footer-grid > div:not(:first-child) p { display:flex; flex-direction:column; align-items:flex-start; }
  .footer-legal { margin-top:20px; padding-top:18px; font-size:.8rem; line-height:1.7; }
}

@media screen and (min-width:621px) and (max-width:900px) {
  .family-grid, .family-grid-directory, .employer-benefit-grid, .broker-benefit-grid-five { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hero-copy-block, .employer-hero-grid > div, .broker-hero-grid > div { max-width:700px; }
  .plan-pages-set17 .discount-word-table .discount-table { min-width:0; }
  .plan-pages-set17 .discount-word-table .discount-name { font-size:1.1rem; }
  .plan-pages-set17 .discount-word-table .plan-what-counts { font-size:.95rem; }
}
@media screen and (max-width:620px) {
  .grid-2, .grid-3, .form-grid, .employer-benefit-grid, .broker-benefit-grid-five, .family-grid, .family-grid-directory { grid-template-columns:minmax(0,1fr); }
  .plan-pages-set17 .discount-word-table .discount-table { display:block; min-width:0; width:100%; }
  .plan-pages-set17 .discount-word-table .discount-table tbody { display:grid; gap:8px; }
  .plan-pages-set17 .discount-word-table .discount-table tbody tr {
    display:grid; grid-template-columns:minmax(0,1fr) minmax(92px,29%);
    border:1px solid #d3dfe9; border-radius:13px; overflow:hidden; box-shadow:none; margin:0;
  }
  .plan-pages-set17 .discount-word-table .discount-table .discount-name,
  .plan-pages-set17 .discount-word-table .discount-table tbody tr:hover .discount-name {
    background:#f4f7fa !important; color:#0b2942; border:0; padding:15px 14px;
    display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:8px;
  }
  .plan-pages-set17 .discount-word-table .discount-table .plan-category-label { font-size:.94rem; font-weight:800; line-height:1.4; letter-spacing:.015em; }
  .plan-pages-set17 .discount-word-table .discount-table .plan-what-counts { color:#42586b; font-size:.9rem; line-height:1.6; font-weight:400; }
  .plan-pages-set17 .discount-word-table .discount-table .discount-amount {
    background:var(--accent); padding:16px 8px; border:0; border-left:1px solid #ffffff38;
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px;
  }
  .plan-pages-set17 .discount-word-table .discount-table .sync-discount-amount { font-size:clamp(1.55rem,6.5vw,1.9rem); line-height:1.2; }
  .plan-pages-set17 .discount-word-table .discount-table .sync-discount-unit { font-size:.79rem; line-height:1.4; }
  .plan-pages-set17 .discount-word-table[style*="#ff7a00"] .discount-amount,
  .plan-pages-set17 .discount-word-table[style*="#09a8a5"] .discount-amount { color:#071f39; }
  .sync-body .sync-discount-row:not(.sync-discount-header) > span { padding:14px; font-size:.98rem; text-align:left; align-items:flex-start; }
  .sync-body .sync-discount-row .sync-reward-description { font-size:.9rem; line-height:1.6; }
  .sync-body .sync-discount-row .sync-discount-amount { font-size:1.5rem; }
  .sync-body .sync-discount-row .sync-discount-unit { font-size:.8rem; line-height:1.4; }
  .sync-body .sync-plan-detail-heading { padding:18px; }
  .sync-body .sync-plan-detail-heading h1 { font-size:1.6rem; line-height:1.3; }
  .sync-body .sync-discount-table { margin-inline:14px; }
  .sync-body .sync-authorization-facts { grid-template-columns:minmax(0,1fr); }
}
@media screen and (max-width:360px) {
  .home-hero-compact .hero-actions { grid-template-columns:minmax(0,1fr); }
  .container, .sync-container, .sync-header-inner, .sync-footer-inner,
  .billing-container, .billing-header-inner { width:calc(100% - 28px); }
  .account-login-shell, .sync-body .employer-login-shell, .sync-auth-shell { width:calc(100% - 28px); }
  .content-card, .family-card-body, .account-login-body, .employer-login-body { padding:18px; }
  .plan-pages-set17 .plan-level-tab { font-size:.86rem; padding-inline:5px; }
  .plan-pages-set17 .plan-hero-actions .button { flex-basis:125px; }
  .plan-pages-set17 .discount-word-table .discount-table .discount-name { padding:14px 12px; }
  .sync-body .sync-secure-label { flex-basis:72px; font-size:.6rem !important; }
}
