@media (min-width: 600px) {
  .container { width: calc(100% - 48px); }
  .feature-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-grid { grid-template-columns: 1.4fr repeat(2, 1fr); }
  .footer-brand { grid-column: 1 / -1; }
}

@media (min-width: 768px) {
  .section { padding: 92px 0; }
  .hero { height: 577px; padding: 0; box-sizing: border-box; }
  .hero { --hero-content-scale: 1; }
  .hero-grid { grid-template-columns: minmax(0, .45fr) minmax(0, .55fr); gap: clamp(2rem, 4vw, 4.5rem); }
  h1 { font-size: clamp(2.8rem, 3.25vw, 3.4rem); }
  .overview-section { --overview-content-scale: 1.1; display: flex; align-items: center; height: 654px; padding: 0; box-sizing: border-box; }
  .overview-section .section-intro h2 { font-size: clamp(calc(2.15rem * var(--overview-content-scale)), calc(3.4vw * var(--overview-content-scale)), calc(3.1rem * var(--overview-content-scale))); }
  .overview-section .section-intro > p { font-size: calc(.86rem * var(--overview-content-scale)); }
  .overview-section .chapter-list h3 { font-size: calc(.82rem * var(--overview-content-scale)); }
  .overview-section .chapter-list p { font-size: calc(.67rem * var(--overview-content-scale)); }
  .overview-grid { grid-template-columns: .95fr 1fr .72fr; gap: clamp(2rem, 4vw, 4.4rem); align-items: center; }
  .section-whole-picture { --whole-content-scale: 1.1; display: flex; align-items: center; height: 612px; padding: 0; box-sizing: border-box; }
  .section-whole-picture .section-intro h2 { font-size: clamp(calc(2.15rem * var(--whole-content-scale)), calc(3.4vw * var(--whole-content-scale)), calc(3.1rem * var(--whole-content-scale))); }
  .section-whole-picture .section-intro > p { font-size: calc(.86rem * var(--whole-content-scale)); }
  .whole-grid { grid-template-columns: .85fr 1.15fr; gap: clamp(3rem, 7vw, 7rem); }
  .section.feature-section { display: flex; align-items: center; height: 438px; padding: 0; box-sizing: border-box; }
  .feature-shape-top { top: 36px; left: 24px; width: 280px; height: 300px; }
  .feature-section .section-nav-row { padding-top: 0; border-top: 0; }
  .feature-section > .container { width: 83.2%; max-width: none; margin-left: 14.3%; margin-right: 0; }
  .feature-layout { grid-template-columns: minmax(0, .37fr) minmax(0, .63fr); gap: clamp(3rem, 5.5vw, 5rem); }
  .privacy-section { --privacy-content-scale: 1.12; display: flex; align-items: center; height: 660px; padding: 0; box-sizing: border-box; }
  .privacy-section .section-intro h2 { font-size: clamp(calc(2.15rem * var(--privacy-content-scale)), calc(3.4vw * var(--privacy-content-scale)), calc(3.1rem * var(--privacy-content-scale))); }
  .privacy-section .section-intro > p:not(.privacy-support) { font-size: calc(.86rem * var(--privacy-content-scale)); }
  .privacy-section .privacy-support { font-size: calc(.86rem * var(--privacy-content-scale)); }
  .privacy-section .control-mark { font-size: calc(.72rem * var(--privacy-content-scale)); }
  .privacy-section .control-list h3 { font-size: calc(.82rem * var(--privacy-content-scale)); }
  .privacy-section .control-list p { font-size: calc(.67rem * var(--privacy-content-scale)); }
  .privacy-grid { grid-template-columns: .9fr .95fr .8fr; gap: clamp(2rem, 5vw, 5rem); }
  .section.pricing-section { --pricing-content-scale: 1.16; padding-top: 166px; padding-bottom: 162px; }
  .pricing-top-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pricing-top-grid > .pricing-card { height: auto; min-height: 502px; overflow: visible; }
  .pricing-section .container { left: 0; max-width: 1020px; }
  .pricing-card h3 { font-size: calc(2.1rem * var(--pricing-content-scale)); }
  .pricing-card-head p { font-size: calc(1rem * var(--pricing-content-scale)); }
  .pricing-card-wide > p { font-size: calc(.98rem * var(--pricing-content-scale)); }
  .pricing-status { font-size: calc(1.05rem * var(--pricing-content-scale)); }
  .pricing-status small { font-size: calc(.72rem * var(--pricing-content-scale)); }
  .pricing-card ul { font-size: calc(1rem * var(--pricing-content-scale)); }
  .pricing-card .text-link { font-size: calc(.8rem * var(--pricing-content-scale)); }
  .pricing-chips > span { font-size: calc(.64rem * var(--pricing-content-scale)); }
  .pricing-symbol { width: calc(78px * var(--pricing-content-scale)); height: calc(78px * var(--pricing-content-scale)); }
  .faq-section > .container { width: calc(100% - 40px); max-width: 1400px; }
  .faq-grid { grid-template-columns: .76fr 1.24fr; align-items: center; gap: 4rem; }
  .faq-section { height: auto; min-height: 828px; padding: 96px 0; box-sizing: border-box; }
  .faq-section .section-intro { min-height: 632px; }
  .faq-section .section-intro h2 { margin-bottom: 1.25rem; font-size: calc(clamp(2.75rem, 4.5vw, 4.1rem) * var(--faq-content-scale)); letter-spacing: -.08em; }
  .faq-section .section-intro > p:not(.section-kicker) { max-width: 27rem; font-size: calc(1.08rem * 1.1); line-height: 1.6; }
  .faq-illustration { position: absolute; bottom: -90px; left: 0; width: calc(235px * var(--faq-content-scale)); height: calc(235px * var(--faq-content-scale)); margin: 0; }
  .faq-list { gap: .5rem; }
  .faq-list summary { min-height: calc(52px * var(--faq-pill-scale)); padding: calc(.6rem * var(--faq-pill-scale)) calc(1.5rem * var(--faq-pill-scale)); font-size: calc(.96rem * var(--faq-pill-scale)); }
  .faq-list details p { max-width: none; padding: 0 1.5rem .4rem; font-size: calc(.68rem * var(--faq-pill-scale)); line-height: 1.3; }
  .faq-list summary::after { display: none; }
  .closing-section { --closing-content-scale: 1; height: 504px; min-height: 0; padding: 0; box-sizing: border-box; }
  .closing-content h2 { font-size: calc(clamp(2.8rem, 4.2vw, 3.75rem) * var(--closing-heading-scale)); }
  .closing-content p { margin-bottom: 2.1rem; font-size: calc(1.08rem * var(--closing-copy-scale)); }
  .closing-content .button { min-height: calc(62px * var(--closing-cta-scale)); padding: calc(.95rem * var(--closing-cta-scale)) calc(1.8rem * var(--closing-cta-scale)); }
  .footer-grid { grid-template-columns: 1.1fr repeat(3, 1fr); gap: 2rem; }
  .footer-brand { grid-column: auto; }
  .site-footer { --footer-content-scale: 1; display: flex; align-items: stretch; height: 396px; padding: 32px 0; box-sizing: border-box; }
  .footer-grid { height: 100%; align-items: stretch; }
  .footer-brand { display: flex; flex-direction: column; align-items: flex-start; }
  .site-footer .brand-lockup img { width: 86px; height: 86px; }
  .site-footer .brand-wordmark { font-size: 1.95rem; }
  .site-footer .brand-tagline { font-size: .62rem; }
  .footer-links { gap: .75rem; }
  .footer-links h2 { margin-bottom: .9rem; font-size: 1.4rem; }
  .footer-links a { min-height: 39px; font-size: 1.08rem; }
  .footer-brand p { margin-top: auto; font-size: .95rem; }
}

@media (min-width: 1024px) {
  .overview-grid .section-intro h2 span, .whole-grid .section-intro h2 span { white-space: nowrap; }
  .menu-toggle { display: none; }
  .primary-nav { position: absolute; top: 50%; right: auto; left: 50%; display: flex; align-items: center; gap: clamp(1rem, 2.3vw, 2rem); margin-left: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; transform: translate(-50%, -50%); }
  .primary-nav > a:not(.button) { min-height: 44px; padding: 0; }
  .header-cta { display: inline-flex; margin-left: auto; }
  .overview-grid { grid-template-columns: .95fr 1fr .72fr; }
  .feature-strip { grid-template-columns: repeat(4, 1fr); }
  .feature-item { min-height: 172px; padding: 1.05rem .85rem .9rem; }
}

@media (min-width: 768px) and (max-width: 1279px) {
  .pricing-top-grid .pricing-status { max-width: 100%; flex-wrap: wrap; white-space: normal; }
}

@media (min-width: 1280px) {
  .section.pricing-section { --pricing-heading-scale: 1.03; height: 1257px; padding: 75px 0 65px; box-sizing: border-box; background: #feeff2; }
  .pricing-section::before { inset: 0; width: 100%; height: 100%; background: #feeff2; }
  .pricing-shape-top { top: 64px; right: 39px; width: 493px; height: 188px; }
  .pricing-shape-bottom { left: 8px; width: 271px; height: 478px; }
  .pricing-section .container { max-width: 1276px; }
  .pricing-heading { transform: translateY(-14px); }
  .pricing-heading h2 { transform: translateX(8px); }
  .pricing-heading > p { max-width: 790px; font-size: calc(1.8rem * var(--pricing-heading-scale)); line-height: 1.35; transform: translate(6px, -4px); }
  .pricing-grid { gap: 31px; margin-top: -33px; }
  .pricing-top-grid { width: 1248px; height: 619px; gap: 34px; margin-top: 0; align-content: start; }
  .pricing-top-grid > .pricing-card { height: 615px; min-height: 615px; padding: 2.55rem 1.5rem 2.25rem; overflow: visible; }
  .pricing-top-grid > .pricing-card[data-visual="pricing-plus"] { margin-top: 4px; }
  .pricing-top-grid > .pricing-card[data-visual="pricing-plus"] { padding-left: 2.7rem; }
  .pricing-top-grid > .pricing-card[data-visual="pricing-core"] h3 { margin-top: .55rem; }
  .pricing-top-grid > .pricing-card[data-visual="pricing-plus"] h3 { margin-top: 0; }
  .pricing-lower-panel { width: calc(100% - 28px); height: 329px; min-height: 329px; margin-left: 5px; grid-template-columns: minmax(0, 617fr) 4px minmax(0, 627fr); gap: 0; }
  .pricing-card-head { gap: 1.5rem; }
  .pricing-top-grid > .pricing-card[data-visual="pricing-plus"] .pricing-card-head { gap: .8rem; }
  .pricing-top-grid > .pricing-card[data-visual="pricing-core"] .pricing-card-head p { margin-top: .65rem; }
  .pricing-top-grid > .pricing-card[data-visual="pricing-plus"] .pricing-card-head > div { transform: translateY(-18px); }
  .pricing-symbol { width: calc(86px * var(--pricing-content-scale)); height: calc(86px * var(--pricing-content-scale)); }
  .pricing-status { padding: .45rem .9rem; font-size: calc(1.35rem * var(--pricing-content-scale)); }
  .pricing-status small { font-size: calc(.9rem * var(--pricing-content-scale)); }
  .pricing-card h3 { margin-top: .02rem; }
  .pricing-status { margin: .5rem 0 1.6rem; }
  .pricing-top-grid > .pricing-card[data-visual="pricing-plus"] .pricing-status { margin-left: .4rem; }
  .pricing-card ul { font-size: calc(1rem * var(--pricing-content-scale)); }
  .pricing-top-grid > .pricing-card[data-visual="pricing-plus"] ul { margin-left: .4rem; }
  .pricing-card .text-link { margin-top: .5rem; }
  .pricing-card-wide { padding: 1.8rem 2rem; }
  .pricing-card-wide[data-visual="pricing-addon"] { padding-left: 2.4rem; }
  .pricing-card-wide[data-visual="pricing-addon"] .pricing-card-head { gap: .7rem; }
  .pricing-card-wide > p { margin-top: .7rem; }
  .feature-section > .container { width: 89.9%; max-width: none; margin-left: 4.3%; margin-right: 0; transform: translateY(14px); }
  .feature-shape-top { top: -139px; left: 32px; }
  .feature-heading h2 { width: 500px; font-size: clamp(3rem, 3.5vw, 3.25rem); }
  .feature-heading h2 { transform: translateY(3px); line-height: 1.1; }
  .feature-strip { gap: .5rem; }
  .feature-item { min-height: 182px; gap: .7rem; padding: 1.425rem .85rem .9rem; border: 0; border-radius: 56px; box-shadow: 0 8px 14px rgba(75, 53, 146, .1); }
  .feature-icon { width: 56px; height: 56px; }
  .feature-item[data-visual="feature-budget"] .feature-icon { width: 60px; height: 60px; }
  .feature-item[data-visual="feature-billing"] .feature-icon { transform: translate(-2px, 4px) scale(1.55); }
  .feature-item[data-visual="feature-history"] .feature-icon { transform: translate(-2px, 3px) scale(1.35); }
  .feature-item h3 { font-size: 1rem; }
  .feature-item p { font-size: .86rem; }
  .feature-section .section-nav-row { width: calc(100% - 20px); margin-top: 5rem; }
  .feature-section .section-nav-row nav { gap: 5rem; margin-left: 26px; font-size: 1.15rem; }
  .feature-section .section-nav-row .brand-lockup-compact { gap: 0; transform: translate(-7px, -6px); }
  .feature-section .brand-lockup-compact img { width: 48px; height: 48px; }
  .feature-section .brand-lockup-compact .brand-wordmark { font-family: Fraunces, Georgia, serif; font-size: 1.6rem; }
  .feature-section .brand-lockup-compact .brand-tagline { font-size: .65rem; }
  .feature-section .section-nav-row .button-small { min-height: 55px; padding: .9rem 1.35rem; font-size: 1.2rem; font-weight: 500; }
}

@media (max-width: 767px) {
  .header-cta { display: none; }
  .overview-section { padding: 24px 0; }
  .section-whole-picture { padding: 46px 0; }
  .section.feature-section { padding: 72px 0; }
  .feature-shape-top { top: 24px; left: -6px; width: 190px; height: 220px; }
  .feature-section .section-nav-row { padding-top: 1rem; border-top: 1px solid var(--line); }
  .feature-section > .container { width: calc(100% - 32px); max-width: var(--container); margin-inline: auto; }
  .feature-layout { grid-template-columns: 1fr; gap: 1.75rem; }
  .feature-heading h2 { width: auto; max-width: 100%; }
  .feature-section .section-nav-row { display: flex; grid-template-columns: none; }
  .feature-section .section-nav-row nav { margin-left: 0; gap: .5rem; font-size: .75rem; }
  .feature-section .section-nav-row .button-small { font-size: .8rem; }
  .section-nav-row { align-items: flex-start; flex-wrap: wrap; }
  .section-nav-row nav { order: 3; width: 100%; justify-content: space-between; gap: .5rem; }
  .whole-visuals { max-width: 720px; }
  .privacy-section { padding: 190px 0; }
  .privacy-visual { max-width: 620px; }
  .section.pricing-section { padding-top: 100px; padding-bottom: 175px; }
  .faq-section { padding: 180px 0; }
  .faq-list summary { min-height: calc(56px * var(--faq-pill-scale)); padding: calc(.82rem * var(--faq-pill-scale)) 1rem; font-size: calc(.7rem * var(--faq-pill-scale)); }
  .faq-list summary::after { display: block; }
  .faq-list details p { max-width: none; padding: 0 1rem .65rem; font-size: calc(.66rem * var(--faq-pill-scale)); line-height: 1.4; }
  .closing-section { min-height: 0; padding: 112px 0; }
  .site-footer { padding: 120px 0 140px; }
}

@media (max-width: 540px) {
  .container { width: calc(100% - 32px); }
  .hero { padding: 54px 0 72px; }
  h1 { max-width: 100%; font-size: 2rem; }
  h2 { font-size: clamp(2rem, 10vw, 2.8rem); }
  .button-row { align-items: center; flex-direction: row; gap: .75rem; }
  .button-row .button, .button-row .text-link { width: auto; }
  .overview-grid, .whole-grid, .privacy-grid, .faq-grid { gap: 2rem; }
  .chapter-list, .control-list { gap: 1rem; }
  .whole-visuals { margin-top: .5rem; }
  .feature-strip { grid-template-columns: 1fr; }
  .feature-item { min-height: 0; }
  .feature-icon { width: 34px; height: 34px; }
  .feature-item[data-visual="feature-billing"] .feature-icon,
  .feature-item[data-visual="feature-history"] .feature-icon { width: 52px; height: 52px; margin-top: -9px; margin-bottom: -9px; }
  .pricing-card { min-height: 0; }
  .pricing-top-grid { grid-template-columns: 1fr; }
  .pricing-lower-panel { grid-template-columns: 1fr; gap: 1rem; padding: 1.15rem; }
  .pricing-divider { width: 100%; height: 2px; }
  .pricing-list-core { grid-template-columns: 1fr; grid-template-rows: none; grid-auto-flow: row; }
  .pricing-top-grid > .pricing-card { min-width: 0; height: auto; min-height: 0; overflow: visible; }
  .pricing-top-grid .pricing-card-head > div,
  .pricing-top-grid .pricing-card ul,
  .pricing-top-grid .pricing-card li { min-width: 0; }
  .pricing-top-grid .pricing-card li { overflow-wrap: anywhere; }
  .pricing-top-grid .pricing-status { max-width: 100%; flex-wrap: wrap; white-space: normal; }
  .faq-section .section-intro h2 { font-size: calc(clamp(2rem, 10vw, 2.8rem) * var(--faq-content-scale)); }
  .faq-illustration { width: calc(140px * var(--faq-content-scale)); height: calc(140px * var(--faq-content-scale)); margin-top: 1rem; }
  .closing-content h2 { font-size: calc(clamp(2rem, 10vw, 2.8rem) * var(--closing-heading-scale)); }
  .footer-grid { grid-template-columns: 1fr 1fr; row-gap: 1.8rem; }
  .footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 360px) {
  .nav-shell { min-height: 64px; }
  .hero-lead, .section-intro > p:not(.privacy-support), .pricing-heading > p { font-size: .8rem; }
  .feature-item { padding: .72rem; }
  .feature-item h3 { font-size: .64rem; }
  .feature-item p, .pricing-card ul { font-size: .58rem; }
}
