.skip-link { position: fixed; z-index: 100; top: -80px; left: 20px; padding: 10px 20px; background: #fff; border: 2px solid var(--blue); }
.skip-link:focus { top: 8px; }
.site-home { overflow-x: clip; }
.site-header .nav { flex-wrap: nowrap; }
.nav-tools { order: 3; display: flex; align-items: center; gap: 10px; }
.site-home .nav-links { margin-left: auto; gap: 26px; }
.nav-download { padding: 9px 14px; border: 1px solid var(--ink); border-radius: 5px; }
.menu-toggle { display: none; }
.eyebrow { font-size: 13px; font-weight: 700; line-height: 1.6; margin-bottom: 18px; }
.section-space { padding: 96px 0; }
.section-heading { margin-bottom: 46px; }
.section-heading h2, .feature-copy h2, .download-section h2 { font-size: 40px; line-height: 1.35; font-weight: 750; text-wrap: pretty; }
.section-heading > p:last-child:not(.eyebrow) { margin-top: 20px; color: var(--ink-soft); font-size: 17px; }
.home-hero { background: #ffe36b; }
.hero-layout { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 36px; padding-block: 24px 8px; }
.hero-content { padding-block: 12px; min-width: 0; }
.hero-content .eyebrow { margin-bottom: 14px; }
.hero-content h1 { font-size: 72px; font-weight: 850; line-height: 1.05; white-space: nowrap; }
.brand-period { color: #255ac3; }
.hero-statement { font-size: 48px; font-weight: 750; line-height: 1.32; margin-top: 28px; }
.hero-description { font-size: 17px; line-height: 1.9; margin-top: 24px; max-width: 510px; }
.hero-actions { display: flex; gap: 24px; align-items: center; flex-wrap: wrap; margin-top: 30px; }
.hero-reassurance { margin-top: 24px; font-size: 12px; display: flex; gap: 8px; align-items: center; }
.hero-reassurance img { flex-shrink: 0; }
.hero-demo { display: grid; grid-template-columns: 86px minmax(0, 1fr); align-items: center; gap: 10px; min-width: 0; }
.demo-steps { display: grid; gap: 2px; z-index: 1; }
.demo-step { display: grid; gap: 3px; width: 100%; padding: 14px 12px; border: 0; border-left: 2px solid #a8974b; background: transparent; text-align: left; min-height: 78px; transition: background .18s, border-color .18s; }
.step-number { font-size: 12px; font-weight: 750; line-height: 1.5; color: var(--ink-soft); font-variant-numeric: tabular-nums; }
.step-label { font-size: 14px; font-weight: 700; }
.demo-step[aria-selected="true"] { background: #12313b; border-color: #12313b; color: #fff; border-radius: 0 5px 5px 0; }
.demo-step[aria-selected="true"] .step-number { color: #ffe36b; }
.demo-step:hover:not([aria-selected="true"]) { background: #ffed9d; }
.hero-phone { min-width: 0; display: grid; align-content: center; justify-items: center; }
.screen-zoom { display: block; position: relative; border: 0; background: transparent; padding: 0; width: 100%; cursor: zoom-in; border-radius: 6px; }
.screen-zoom > img { width: 100%; height: 100%; object-fit: contain; }
.hero-phone .screen-zoom { height: min(650px, 70svh); min-height: 390px; }
.hero-phone figcaption { max-width: 340px; text-align: center; font-size: 12px; line-height: 1.6; min-height: 38px; padding-inline: 8px; }
.zoom-affordance { position: absolute; bottom: 8%; right: 10%; width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 6px; background: #fff; opacity: 0; transition: opacity .18s; }
.screen-zoom:hover .zoom-affordance, .screen-zoom:focus-visible .zoom-affordance { opacity: 1; }
.hero-footnote { border-top: 1px solid #c8b253; display: flex; align-items: center; justify-content: space-between; padding: 8px 0; font-size: 12px; }
.hero-footnote a { padding: 8px; }
.coverage { background: #fff; border-bottom: 1px solid var(--line); padding: 34px 0 19px; }
.coverage-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.coverage-grid > div { padding: 0 26px; border-left: 1px solid var(--line); }
.coverage-grid > div:first-child { padding-left: 0; border: 0; }
.coverage-grid dt { font-size: 34px; font-weight: 800; min-height: 52px; display: flex; align-items: baseline; }
.coverage-grid .metric-word { font-size: 23px; align-items: center; }
.metric-unit { font-size: 15px; font-weight: 650; padding-left: 8px; }
.coverage-grid dd { color: var(--muted); font-size: 13px; }
.coverage-note { color: var(--muted); font-size: 11px; margin-top: 24px; }
.benefit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; }
.benefit { border-top: 1px solid var(--line); padding-top: 28px; display: flex; align-items: flex-start; flex-direction: column; }
.feature-icon { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 6px; margin-bottom: 26px; }
.mint { background: #dcefe6; }.blue { background: #e1eafb; }.yellow { background: #fff0aa; }
.benefit h3 { font-size: 21px; font-weight: 750; line-height: 1.45; }
.benefit p { color: var(--ink-soft); font-size: 15px; line-height: 1.85; margin: 16px 0 22px; }
.benefit-link { display: flex; align-items: center; gap: 14px; margin-top: auto; font-size: 13px; font-weight: 750; }
.benefit:hover .benefit-link { color: var(--blue); }
.feature-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 80px; align-items: center; }
.comparison-section { background: #edf4fa; }
.feature-copy { min-width: 0; }
.feature-copy > p:not(.eyebrow) { margin-top: 26px; font-size: 16px; line-height: 1.95; color: var(--ink-soft); }
.feature-list { list-style: none; margin-block: 25px; display: grid; gap: 13px; }
.feature-list li { display: flex; align-items: baseline; gap: 10px; font-size: 14px; }
.feature-list li::before { content: ""; display: block; flex: 0 0 6px; height: 6px; background: var(--blue); border-radius: 2px; }
.feature-phone { width: min(100%, 350px); margin-inline: auto; }
.feature-phone .screen-zoom { aspect-ratio: 1466 / 2725; }
.feature-phone figcaption, .paired-phones figcaption { text-align: center; font-size: 12px; color: var(--ink-soft); margin-top: 6px; }
.update-list { margin-top: 32px; }
.update-list > div { padding: 18px 0; border-top: 1px solid var(--line); }
.small-label { display: block; font-size: 13px; font-weight: 750; }
.update-list p { font-size: 14px; margin-top: 7px; color: var(--ink-soft); }
.planner-section { background: #dcefe6; }
.planner-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: center; gap: 64px; }
.planner-steps { list-style: none; }
.planner-steps li { padding: 24px 0; display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 18px; border-top: 1px solid #b3cabe; }
.planner-steps li:last-child { border-bottom: 1px solid #b3cabe; }
.planner-steps .step-number { padding-top: 3px; }
.planner-steps h3 { font-size: 18px; line-height: 1.55; }
.planner-steps p { margin-top: 10px; font-size: 14px; color: var(--ink-soft); }
.paired-phones { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 14px; }
.paired-phones figure { min-width: 0; }
.paired-phones .screen-zoom { aspect-ratio: 1466 / 2725; }
.paired-phones .screen-zoom > img { position: absolute; inset: 0; }
.paired-phones figcaption { min-height: 38px; }
.reminders-layout { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 70px; }
.reminder-types { list-style: none; display: grid; grid-template-columns: 1fr 1fr; margin-top: 32px; border-top: 1px solid var(--line); }
.reminder-types li { display: flex; gap: 10px; align-items: center; padding: 17px 6px 17px 0; border-bottom: 1px solid var(--line); font-size: 14px; font-weight: 600; }
.reminder-types img { width: 19px; height: 19px; flex-shrink: 0; }
.more-section { border-top: 1px solid var(--line); }
.more-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; }
.more-grid article { border-top: 1px solid var(--line); padding-top: 22px; }
.more-grid .small-label { color: var(--blue); }
.more-grid h3 { font-size: 20px; margin-top: 20px; line-height: 1.6; }
.more-grid p { font-size: 14px; color: var(--ink-soft); margin-top: 12px; line-height: 1.9; }
.editorial-section { background: #f3f6f5; }
.heading-with-link { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.heading-with-link > .text-link { flex-shrink: 0; }
.journal-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.journal-media { position: relative; height: 230px; display: flex; justify-content: center; align-items: center; overflow: hidden; border-radius: 6px; margin-bottom: 22px; }
.journal-mint { background: #cee7da; }.journal-blue { background: #dbe6f7; }.journal-yellow { background: #ffe36b; }
.journal-media > img { height: 210px; width: auto; object-fit: contain; transition: transform .25s; }
.journal-issue { position: absolute; top: 15px; left: 18px; font-size: 13px; font-weight: 650; }
.journal-item:hover .journal-media > img { transform: translateY(-4px); }
.journal-item h3 { font-size: 22px; line-height: 1.6; margin-top: 10px; }
.journal-item p { font-size: 14px; color: var(--ink-soft); margin-top: 12px; line-height: 1.85; }
.journal-directory { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #c8d3cf; margin-top: 42px; padding-top: 22px; gap: 24px; }
.journal-directory a { display: flex; justify-content: space-between; gap: 8px; align-items: center; font-size: 14px; font-weight: 650; }
.journal-directory img { width: 18px; height: 18px; }
.faq-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: 72px; }
.faq-layout .text-link { margin-top: 26px; }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list details:first-child { border-top: 1px solid var(--line); }
.faq-list summary { padding: 23px 32px 23px 0; list-style: none; position: relative; font-size: 16px; font-weight: 650; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; position: absolute; right: 1px; top: 19px; font-size: 23px; font-weight: 400; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { padding: 0 30px 24px 0; color: var(--ink-soft); font-size: 14px; line-height: 1.9; }
.download-section { padding: 70px 0; background: #ffe36b; }
.download-layout { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.download-section h2 { font-size: 44px; }
.download-actions { display: grid; gap: 17px; justify-items: center; }
.download-icon { border-radius: 13px; }
.store-buttons { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; }
.download-actions > p { font-size: 12px; }
.home-footer { padding: 38px 0 26px; text-align: left; }
.footer-top { display: flex; justify-content: space-between; gap: 24px; align-items: center; }
.home-footer .footer-links { margin: 0; font-size: 12px; }
.footer-disclaimer { max-width: 790px; margin-top: 32px; font-size: 11px; line-height: 1.9; }
.copyright { margin-top: 14px; font-size: 11px; }
.screen-dialog { border: 0; border-radius: 8px; width: min(760px, calc(100% - 24px)); max-height: calc(100svh - 24px); margin: auto; padding: 0; background: #f3f6f5; color: var(--ink); }
.screen-dialog::backdrop { background: rgba(10, 23, 28, .82); }
.dialog-toolbar { position: sticky; z-index: 1; top: 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 12px 18px; border-bottom: 1px solid var(--line); background: #fff; font-size: 13px; }
.dialog-image-wrap { padding: 12px; }
.dialog-image-wrap > img { width: 100%; max-width: 660px; margin: auto; }
body.dialog-open { overflow: hidden; }
@media (min-width: 901px) and (max-height: 780px) { .hero-footnote { display: none; } }
@media (max-width: 1120px) {
  .site-home .nav-links { gap: 18px; }.nav { gap: 20px; }
  .hero-content h1 { font-size: 62px; }.hero-statement { font-size: 42px; }.hero-description { font-size: 16px; }
  .hero-demo { grid-template-columns: 74px minmax(0, 1fr); gap: 0; }.demo-step { padding: 13px 8px; }.step-label { font-size: 12px; }
  .hero-layout { gap: 16px; }.feature-layout { gap: 48px; }.planner-layout { gap: 35px; }
  .section-heading h2, .feature-copy h2 { font-size: 35px; }
  .reminders-layout { gap: 40px; }.coverage-grid > div { padding-inline: 18px; }
}
@media (max-width: 900px) {
  .site-home .nav { position: relative; min-height: 68px; }.nav-tools { margin-left: auto; }.menu-toggle { display: inline-grid; }
  .site-home .nav-links { margin: 0; gap: 0; padding: 10px 20px 18px; position: absolute; top: 100%; left: -20px; right: -20px; background: #fff; border-bottom: 1px solid var(--line); display: none; }
  .site-home .nav-links.is-open { display: grid; }.site-home .nav-links a { padding: 13px 0; font-size: 15px; }.site-home .nav-links .nav-download { border: 0; }
  .section-space { padding-block: 72px; }.benefit-grid { gap: 25px; }.benefit h3 { font-size: 19px; }
  .hero-content h1 { font-size: 54px; }.hero-statement { font-size: 36px; }.hero-layout { grid-template-columns: 1fr 1fr; padding-top: 25px; }
  .hero-phone .screen-zoom { height: 510px; min-height: 0; }.hero-actions { gap: 18px; }.hero-reassurance { font-size: 11px; }
  .hero-description br { display: none; }.hero-description { font-size: 15px; }.hero-demo { grid-template-columns: 64px minmax(0, 1fr); }
  .coverage-grid .metric-word { font-size: 18px; }.coverage-grid dd { font-size: 11px; }.coverage-grid dt { font-size: 30px; }
  .planner-layout { grid-template-columns: 1fr; }.planner-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }.planner-steps li { display: block; padding-top: 16px; }.planner-steps li:last-child { border-bottom: 0; }.planner-steps h3 { margin-top: 10px; font-size: 16px; }
  .planner-layout > .paired-phones { max-width: 630px; width: 100%; margin: auto; gap: 30px; }
  .reminders-layout { grid-template-columns: 1fr; }.reminders-layout > .paired-phones { max-width: 570px; margin-inline: auto; grid-row: 2; }
  .reminder-types { max-width: 640px; }.more-grid { grid-template-columns: repeat(2, 1fr); }
  .journal-item h3 { font-size: 19px; }.journal-media { height: 200px; }.journal-media > img { height: 180px; }
  .faq-layout { gap: 40px; grid-template-columns: .65fr 1fr; }.download-section h2 { font-size: 36px; }
}
@media (max-width: 640px) {
  .hero-layout { grid-template-columns: 1fr; padding-top: 32px; gap: 25px; }.hero-content { padding: 0; }
  .hero-content h1 { font-size: 56px; }.hero-statement { font-size: 36px; margin-top: 19px; }.hero-description { font-size: 15px; margin-top: 18px; }
  .hero-actions { margin-top: 22px; gap: 20px; }.hero-actions .button { min-height: 47px; padding-inline: 17px; font-size: 14px; }.hero-actions .text-link { font-size: 13px; }
  .hero-reassurance { margin-top: 18px; font-size: 11px; }
  .hero-demo { max-width: 430px; width: 100%; grid-template-columns: 67px minmax(0, 1fr); justify-self: center; }
  .hero-phone .screen-zoom { height: auto; aspect-ratio: 1466 / 2725; }.hero-phone .screen-zoom > img { position: absolute; inset: 0; }
  .demo-step { min-height: 67px; padding-block: 10px; }.hero-phone figcaption { font-size: 11px; }.hero-footnote { font-size: 11px; }
  .coverage-grid { grid-template-columns: repeat(2, 1fr); gap: 23px 0; }.coverage-grid > div { padding-inline: 18px; }.coverage-grid > div:nth-child(odd) { padding-left: 0; border: 0; }.coverage-grid dt { min-height: 40px; font-size: 30px; }.coverage-grid .metric-word { font-size: 21px; }.coverage-grid dd { font-size: 12px; }.coverage-note { font-size: 10px; margin-top: 24px; }
  .section-space { padding-block: 56px; }.section-heading { margin-bottom: 30px; }.eyebrow { font-size: 12px; margin-bottom: 13px; }
  .section-heading h2, .feature-copy h2 { font-size: 29px; line-height: 1.4; }.section-heading > p:last-child:not(.eyebrow) { font-size: 15px; }.feature-copy > p:not(.eyebrow) { font-size: 15px; margin-top: 21px; }
  .benefit-grid { grid-template-columns: 1fr; gap: 27px; }.benefit { position: relative; padding-top: 21px; padding-left: 66px; }.feature-icon { position: absolute; top: 23px; left: 0; width: 44px; height: 44px; }.benefit h3 { font-size: 20px; }.benefit p { font-size: 14px; margin: 11px 0 16px; }
  .feature-layout { grid-template-columns: 1fr; gap: 32px; }.feature-phone { max-width: 315px; }.feature-layout.reverse .feature-phone { grid-row: 2; }.feature-list li { font-size: 13px; }.update-list { margin-top: 24px; }
  .planner-layout { gap: 30px; }.planner-steps { display: block; }.planner-steps li { display: grid; grid-template-columns: 25px 1fr; gap: 15px; padding: 19px 0; }.planner-steps h3 { margin: 0; }.planner-steps p { font-size: 13px; margin-top: 6px; }.planner-layout > .paired-phones { gap: 8px; }
  .paired-phones { gap: 8px; }.paired-phones figcaption { font-size: 11px; line-height: 1.6; }.reminder-types li { font-size: 12px; gap: 7px; }
  .more-grid { grid-template-columns: 1fr; gap: 24px; }.more-grid article { padding-top: 20px; }.more-grid h3 { font-size: 20px; margin-top: 12px; }.more-grid p { margin-top: 9px; }
  .heading-with-link { display: block; }.heading-with-link > .text-link { margin-top: 15px; }.journal-grid { grid-template-columns: 1fr; gap: 35px; }.journal-media { height: 250px; margin-bottom: 17px; }.journal-media > img { height: 232px; }.journal-item h3 { font-size: 22px; }.journal-item p { margin-top: 9px; }.journal-directory { grid-template-columns: repeat(2, 1fr); gap: 22px; }.journal-directory a { font-size: 13px; }
  .faq-layout { grid-template-columns: 1fr; gap: 0; }.faq-layout .text-link { margin-top: 16px; }.faq-list summary { font-size: 15px; }
  .download-section { padding-block: 48px; }.download-layout { flex-direction: column; align-items: flex-start; gap: 30px; }.download-section h2 { font-size: 35px; }.download-actions { justify-items: start; }.download-icon { display: none; }.store-buttons { gap: 10px; }.store-buttons .button { padding-inline: 15px; font-size: 14px; }
  .footer-top { flex-direction: column; align-items: flex-start; gap: 22px; }.home-footer .footer-links { justify-content: flex-start; gap: 12px 20px; }.footer-disclaimer { margin-top: 24px; }
  .dialog-toolbar { padding: 10px 12px; font-size: 12px; }.dialog-image-wrap { padding: 4px; }
}
@media (max-width: 360px) { .hero-content h1 { font-size: 46px; }.hero-statement { font-size: 31px; }.hero-actions { gap: 14px; }.hero-demo { grid-template-columns: 59px minmax(0, 1fr); }.demo-step { padding-inline: 6px; }.step-label { font-size: 11px; }.hero-reassurance { font-size: 10px; }.coverage-grid .metric-word { font-size: 18px; } }
