/* Larger reading sizes requested by Phương, 19 October 2026. */
@media screen {
  body { font-size: 18px; line-height: 1.75; }
  .eyebrow { font-size: 12px; letter-spacing: .1em; }
  .small-index, .micro-label { font-size: 12px; letter-spacing: .045em; line-height: 1.65; }
  .section-header { flex-wrap: wrap; }
  h2, .gains-section h2 { font-size: 44px; }
  .section-description, .header-aside { font-size: 17px; line-height: 1.8; }
  .header-aside { max-width: 370px; }
  .button { font-size: 16px; min-height: 48px; padding: 13px 21px; max-width: 100%; white-space: normal; text-align: center; }
  .text-link { font-size: 16px; line-height: 1.7; }
  .site-header { height: 94px; }
  .header-inner { gap: 22px; }
  .brand-name { font-size: 20px; }
  .brand-caption { font-size: 12px; line-height: 1.4; letter-spacing: .025em; max-width: 164px; }
  .brand img { width: 82px; }
  .desktop-nav { gap: 22px; }
  .desktop-nav a { font-size: 15px; }
  .header-cta { font-size: 14px; min-height: 44px; padding: 10px 15px; }
  .menu-toggle { min-width: 44px; min-height: 44px; }
  .mobile-nav { top: 100%; }
  .mobile-nav a { font-size: 17px; padding: 13px 10px; }
  .hero-roles { font-size: 16px; line-height: 1.75; }
  .hero-roles .hero-role-line { display: block; font-size: 16px; line-height: 1.7; margin: 8px 0 0; color: var(--ink); letter-spacing: 0; }
  .hero-statement { font-size: 38px; }
  .hero-statement span { font-size: 44px; }
  .hero-description { font-size: 18px; line-height: 1.8; max-width: 100%; }
  .hero-actions { flex-wrap: wrap; gap: 20px; }
  .hero-actions .button, .hero-actions .text-link { font-size: 16px; }
  .hero-footnote { font-size: 13px; line-height: 1.7; flex-wrap: wrap; }
  .hero-footnote .icon { width: 16px; height: 16px; }
  .portrait-label { font-size: 12px; letter-spacing: .055em; top: -10px; }
  .portrait-note strong { font-size: 20px; }
  .portrait-note span { font-size: 13px; line-height: 1.5; }
  .visual-index { display: none; }
  .hero-bottom { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 36px; }
  .hero-bottom > span { grid-column: 1 / -1; font-size: 12px; max-width: none; letter-spacing: .09em; }
  .hero-bottom a { font-size: 21px; justify-content: space-between; gap: 14px; }
  .about-copy > p:not(.lead) { font-size: 18px; line-height: 1.8; }
  .about-copy .lead { font-size: 23px; line-height: 1.75; }
  .about-copy blockquote { font-size: 25px; line-height: 1.7; }
  .signature { font-size: 26px; }
  .signature span { font-size: 12px; }
  .profile-section h2 { font-size: 36px; }
  .profile-item h3 { font-size: 22px; line-height: 1.5; }
  .profile-item dl { font-size: 16px; }
  .profile-item dl > div { display: block; margin-top: 19px; }
  .profile-item dt { font-size: 14px; line-height: 1.7; }
  .profile-item dd { font-size: 16px; line-height: 1.75; margin-top: 4px; min-width: 0; overflow-wrap: break-word; }
  .gains-table-heading { font-size: 12px; letter-spacing: .035em; line-height: 1.8; }
  .gains-letter { font-size: 59px; width: 46px; }
  .gains-key h3 { font-size: 18px; line-height: 1.6; }
  .gains-key div > span { font-size: 14px; overflow-wrap: anywhere; }
  .gains-main > p { font-size: 17px; line-height: 1.8; }
  .gains-main ul { font-size: 16px; line-height: 1.85; padding-left: 20px; }
  .gains-main li + li { margin-top: 9px; }
  .gains-connect { font-size: 15px; line-height: 1.85; margin-left: 18px; padding: 14px 17px; }
  .gains-note { font-size: 13px; }
  .gains-section .section-header .button { font-size: 15px; }
  .approach-section h2 { font-size: 42px; }
  .approach-section .section-description { font-size: 17px; line-height: 1.8; }
  .approach-list article > span { font-size: 14px; }
  .approach-list h3 { font-size: 22px; line-height: 1.55; }
  .approach-list p { font-size: 17px; line-height: 1.8; }
  .audience-number { font-size: 14px; }
  .audience-grid h3 { font-size: 22px; line-height: 1.5; }
  .audience-grid p { font-size: 17px; line-height: 1.8; }
  .trigger-header { flex-wrap: wrap; }
  .trigger-header h3 { font-size: 22px; line-height: 1.55; }
  .trigger-tabs { max-width: 100%; }
  .trigger-tabs button { font-size: 15px; padding: 10px 15px; min-height: 44px; white-space: normal; }
  .trigger-grid p { font-size: 19px; line-height: 1.8; }
  .trigger-grid article > span:last-child { font-size: 13px; line-height: 1.75; }
  .trigger-note { font-size: 13px; }
  .observation-grid article > span { font-size: 14px; }
  .observation-grid h4 { font-size: 22px; line-height: 1.5; }
  .observation-grid p, .question-list p { font-size: 17px; line-height: 1.85; }
  .question-list p span { font-size: 14px; }
  .referral-script { flex-wrap: wrap; }
  .referral-script .eyebrow { font-size: 12px; }
  .referral-script p:last-child { font-size: 17px; line-height: 1.85; }
  .referral-script .button { font-size: 15px; padding: 12px 16px; }
  .solutions-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .solution-card, .solution-content { min-width: 0; }
  .solution-content .small-index { font-size: 12px; letter-spacing: .04em; }
  .solution-content h3, .featured .solution-content h3 { display: block; position: relative; font-size: 29px; line-height: 1.4; min-height: 82px; padding-right: 31px; }
  .solution-content h3 > span { position: absolute; right: 0; top: 8px; font-size: 14px; }
  .solution-content .solution-promise { font-size: 18px; line-height: 1.8; min-height: 0; }
  .solution-content > p:not(.small-index):not(.solution-promise) { font-size: 17px; line-height: 1.85; min-height: 0; }
  .check-list { font-size: 16px; line-height: 1.8; }
  .check-list li { padding-left: 25px; margin: 10px 0; }
  .solution-fit { font-size: 16px; line-height: 1.8; }
  .solution-fit strong { font-size: 14px; }
  .solution-content > .text-link { font-size: 16px; line-height: 1.75; }
  .solution-note { font-size: 13px; line-height: 1.8; }
  .solution-illustration { height: 240px; }
  .illustration-label { font-size: 12px; letter-spacing: .035em; line-height: 1.6; top: 18px; left: 19px; right: 19px; }
  .mini-bubble { font-size: 14px; gap: 9px; top: 76px; padding: 11px 14px; }
  .mini-line { top: 125px; height: 33px; }
  .mini-flow { bottom: 29px; gap: 5px; width: calc(100% - 28px); justify-content: center; }
  .mini-flow span { flex: 1; max-width: 92px; font-size: 12px; line-height: 1.5; padding: 7px 4px; text-align: center; white-space: normal; }
  .mini-flow .icon { width: 12px; height: 12px; }
  .ai-orb { width: 80px; height: 80px; top: 88px; }
  .ai-orb .icon { width: 42px; height: 42px; }
  .orbit-tag { font-size: 12px; padding: 5px 9px; line-height: 1.6; }
  .tag-a { left: 13px; top: 68px; }
  .tag-b { right: 12px; top: 123px; }
  .tag-c { left: 28px; bottom: 20px; }
  .together-symbol { top: 78px; gap: 13px; }
  .together-symbol span { width: 76px; height: 76px; font-size: 15px; }
  .together-symbol .icon { width: 30px; height: 30px; }
  .together-caption { bottom: 23px; font-size: 12px; line-height: 1.7; padding: 0 15px; }
  .partner-section h2, .moments-section h2, .faq-section h2 { font-size: 40px; }
  .partner-section .section-description { font-size: 17px; }
  .partner-list h3 { font-size: 21px; line-height: 1.55; }
  .partner-list p { font-size: 17px; line-height: 1.8; }
  .moments-grid figcaption span { font-size: 12px; }
  .moments-grid figcaption strong { font-size: 22px; line-height: 1.5; }
  .faq-list summary { font-size: 17px; line-height: 1.75; }
  .faq-list p { font-size: 17px; line-height: 1.85; }
  .contact-section h2 { font-size: 57px; }
  .contact-section p:not(.eyebrow) { font-size: 18px; line-height: 1.85; }
  .button-lime { font-size: 16px; }
  .contact-section .contact-note { font-size: 14px !important; }
  .contact-links a > div { min-width: 0; }
  .contact-links a span { font-size: 12px; line-height: 1.8; letter-spacing: .07em; }
  .contact-links a strong { font-size: 24px; line-height: 1.6; overflow-wrap: anywhere; }
  .footer-top { flex-wrap: wrap; }
  .footer-top > p { font-size: 14px; line-height: 1.8; }
  .footer-top .text-link { font-size: 14px; }
  .footer-top .brand-name { font-size: 19px; }
  .footer-bottom { font-size: 12px; line-height: 1.8; }
  .toast { font-size: 16px; line-height: 1.75; }
  dialog textarea, .copy-dialog-head + p { font-size: 16px; }
  .copy-dialog-head button { min-width: 44px; min-height: 44px; }
}

@media screen and (max-width: 1100px) {
  .desktop-nav { display: none; }
  .header-cta { margin-left: auto; }
  .menu-toggle { display: flex; }
  .profile-grid { gap: 28px; }
  .profile-item h3 { font-size: 21px; }
  .gains-table-heading, .gains-row { grid-template-columns: 28% 72%; }
  .gains-table-heading span:last-child { display: none; }
  .gains-key { grid-row: span 2; }
  .gains-connect { grid-column: 2; margin: 18px 0 0; }
  .gains-main { padding: 0; }
  .hero-layout { gap: 35px; }
  .hero-statement { font-size: 33px; }
  .hero-statement span { font-size: 40px; }
  .approach-layout, .two-column { gap: 44px; }
  .trigger-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media screen and (min-width: 761px) and (max-width: 1050px) {
  .solutions-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .solution-card.featured { grid-column: 1 / -1; }
  .solution-card.featured .solution-content h3 { min-height: 0; }
  .section-header > .header-aside { max-width: 100%; }
  .audience-grid { grid-template-columns: 1fr; gap: 28px; }
  .audience-grid article { display: grid; grid-template-columns: 35px 1fr; column-gap: 15px; }
  .audience-number { grid-row: 1 / 4; }
  .audience-grid h3 { margin-top: 0; }
  .profile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .profile-item:last-child { grid-column: 1 / -1; }
  .profile-item:last-child dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px; }
}

@media screen and (max-width: 760px) {
  html { scroll-padding-top: 115px; }
  body { font-size: 17px; }
  .site-header { height: 94px; }
  .header-inner { gap: 14px; }
  .brand { gap: 10px; min-width: 0; }
  .brand-name { font-size: 18px; }
  .brand-caption { font-size: 12px; max-width: 140px; letter-spacing: 0; }
  .brand img { width: 65px; }
  .brand-divider { height: 36px; }
  .header-cta { display: none; }
  .menu-toggle { margin-left: auto; width: 44px; height: 44px; }
  .hero-layout { display: flex; flex-direction: column; align-items: stretch; gap: 40px; padding-top: 34px; }
  .hero-copy .eyebrow, .eyebrow { font-size: 12px; line-height: 1.8; }
  .hero-roles, .hero-roles .hero-role-line { font-size: 16px; line-height: 1.8; }
  .hero-statement { font-size: 31px; }
  .hero-statement span { font-size: 38px; }
  .hero-description { font-size: 18px; }
  .hero-actions { align-items: flex-start; gap: 19px; }
  .hero-actions .button { font-size: 16px; padding: 13px 17px; }
  .hero-actions .text-link { font-size: 16px; min-height: 44px; }
  .hero-footnote { font-size: 13px; gap: 6px; }
  .hero-visual { width: 85%; max-width: 380px; align-self: center; padding: 18px 17px 21px; }
  .portrait-label { font-size: 12px; right: -5px; padding: 6px 9px; letter-spacing: .025em; }
  .portrait-note { padding: 13px 17px; }
  .portrait-note strong { font-size: 20px; }
  .portrait-note span { font-size: 13px; }
  .hero-bottom { grid-template-columns: 1fr; gap: 12px; }
  .hero-bottom > span { font-size: 12px; max-width: 100%; }
  .hero-bottom a { font-size: 20px; padding: 9px 0; }
  h2, .gains-section h2, .profile-section h2, .approach-section h2, .centered h2, .solutions-section h2, .partner-section h2, .moments-section h2, .faq-section h2 { font-size: 34px; line-height: 1.45; }
  .two-column, .approach-layout { grid-template-columns: 1fr; gap: 31px; }
  .section-description, .gains-section .section-description, .centered .section-description, .header-aside { font-size: 17px; line-height: 1.8; }
  .about-copy .lead { font-size: 22px; }
  .about-copy > p:not(.lead) { font-size: 17px; }
  .about-copy blockquote { font-size: 24px; }
  .profile-section .section-header { flex-direction: column; align-items: flex-start; gap: 20px; }
  .profile-section .section-header h2 { font-size: 33px; max-width: none; }
  .profile-section .section-header .text-link { font-size: 16px; max-width: none; }
  .profile-grid { grid-template-columns: 1fr; gap: 30px; }
  .profile-item h3 { font-size: 22px; }
  .profile-item dl > div { display: block; margin-top: 17px; }
  .profile-item dt { font-size: 14px; }
  .profile-item dd { font-size: 17px; }
  .gains-section .section-header .button { font-size: 15px; margin-top: 0; padding: 13px 17px; }
  .gains-table-heading { display: none; }
  .gains-row { grid-template-columns: 1fr; gap: 20px; padding: 30px 0; }
  .gains-key { grid-row: auto; align-items: center; gap: 19px; }
  .gains-key h3 { font-size: 20px; line-height: 1.5; }
  .gains-key div > span { font-size: 14px; }
  .gains-letter { font-size: 56px; width: 44px; }
  .gains-main > p { font-size: 18px; line-height: 1.8; }
  .gains-main ul { font-size: 17px; line-height: 1.85; }
  .gains-connect { grid-column: 1; font-size: 16px; line-height: 1.85; margin: 0; padding: 15px 18px; }
  .gains-note { font-size: 13px; }
  .approach-list h3 { font-size: 22px; }
  .approach-list p { font-size: 17px; }
  .audience-grid { grid-template-columns: 1fr; gap: 27px; }
  .audience-grid article { display: grid; grid-template-columns: 31px 1fr; column-gap: 12px; }
  .audience-number { grid-row: 1 / 4; font-size: 14px; }
  .audience-grid h3 { font-size: 22px; margin-top: 0; }
  .audience-grid p { font-size: 17px; }
  .micro-label { font-size: 12px; line-height: 1.8; }
  .trigger-header { display: block; }
  .trigger-header h3 { font-size: 23px; max-width: 100%; margin-bottom: 20px; }
  .trigger-tabs { width: 100%; gap: 2px; padding: 4px; }
  .trigger-tabs button { flex: 1; font-size: 14px; padding: 10px 6px; line-height: 1.6; }
  .trigger-grid, .observation-grid { grid-template-columns: 1fr; }
  .trigger-grid p { font-size: 19px; line-height: 1.8; }
  .trigger-grid article > span:last-child { font-size: 14px; }
  .trigger-note { font-size: 13px; }
  .observation-grid h4 { font-size: 22px; }
  .observation-grid p, .question-list p { font-size: 17px; }
  .referral-script .eyebrow { font-size: 12px; }
  .referral-script p:last-child { font-size: 17px; }
  .referral-script .button { font-size: 15px; padding: 12px 14px; }
  .solutions-grid { grid-template-columns: 1fr; gap: 26px; }
  .solution-content { padding: 25px 22px; }
  .solution-content .small-index { font-size: 12px; }
  .solution-content h3, .featured .solution-content h3 { font-size: 29px; line-height: 1.5; min-height: 0; }
  .solution-content .solution-promise { font-size: 19px; }
  .solution-content > p:not(.small-index):not(.solution-promise) { font-size: 17px; }
  .check-list { font-size: 17px; }
  .solution-fit { font-size: 16px; }
  .solution-fit strong { font-size: 14px; }
  .solution-content > .text-link { font-size: 16px; }
  .solution-note { font-size: 13px; text-align: left; }
  .partner-section .text-link, .moments-section .section-header .text-link { font-size: 16px; }
  .partner-list h3 { font-size: 22px; }
  .partner-list p { font-size: 17px; }
  .moments-grid { grid-template-columns: 1fr; }
  .moments-grid figcaption span { font-size: 12px; }
  .moments-grid figcaption strong { font-size: 22px; }
  .faq-list summary, .faq-list p { font-size: 17px; }
  .contact-layout { grid-template-columns: 1fr; gap: 35px; }
  .contact-section h2 { font-size: 47px; }
  .contact-section p:not(.eyebrow) { font-size: 18px; }
  .button-lime { font-size: 16px; }
  .contact-links a span { font-size: 12px; }
  .contact-links a strong { font-size: 23px; }
  .footer-top .brand-name { font-size: 18px; }
  .footer-top > p { font-size: 14px; }
  .footer-top .text-link { font-size: 14px; }
  .footer-bottom { font-size: 12px; flex-direction: column; gap: 8px; }
  .toast { font-size: 15px; width: max-content; }
}
