/* Shared progressive enhancement. Keep existing routes and interaction hooks. */
:root { --reading-width: 68ch; }
html { scrollbar-gutter: stable; }
body { text-rendering: optimizeLegibility; }
h1, h2, h3 { overflow-wrap: break-word; }
p, li { overflow-wrap: anywhere; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--blue, #1859de); outline-offset: 4px; }
button:disabled { cursor: not-allowed; }
.navbar { border-bottom: 1px solid var(--line, #dce3de); }
.nav-links a { display: inline-flex; align-items: center; min-height: 44px; }
.theme-toggle, .mobile-menu-btn, .lang-switcher-btn { min-height: 44px; min-width: 44px; }
.ceo-edition .hero { padding-block: clamp(40px, 6vw, 88px) 56px; }
.ceo-edition .hero-content { gap: clamp(28px, 5vw, 72px); align-items: center; }
.ceo-edition .hero-title { font-size: clamp(42px, 5.3vw, 76px); line-height: 1.06; letter-spacing: -.055em; text-wrap: balance; }
.ceo-edition .hero-subtitle { font-size: clamp(16px, 1.5vw, 19px); line-height: 1.8; max-width: 48ch; }
.ceo-edition .hero-actions { gap: 12px; }
.ceo-edition .hero-actions .btn { max-width: 100%; }
.ceo-edition .ceo-product-frame { border-radius: 26px; box-shadow: 0 24px 64px #15282d18; }
.ceo-edition .ceo-product-label { line-height: 1.6; }
.page-jumps { display: flex; flex-wrap: wrap; gap: 10px 18px; padding-block: 22px; border-block: 1px solid var(--line, #dce3de); }
.page-jumps a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.section-desc, .guide-lede, .landing-subtitle { max-width: var(--reading-width); }
.growth-guides > a { transition: background-color .2s ease; }
.growth-guides > a:hover { background: var(--soft, #eef1eb); }
.ceo-planner-card select { min-height: 48px; max-width: 100%; }
.ceo-draft { line-height: 1.8; }
.faq-question, summary { min-height: 48px; }
table { font-variant-numeric: tabular-nums; }
[dir="rtl"] .ceo-side-note { right: auto; left: 0; }
@media (max-width: 800px) {
  .container { width: min(1240px, calc(100% - 40px)); }
  .section { padding-block: 64px; }
  .section-header { margin-bottom: 32px; }
  .ceo-edition .hero-title { font-size: clamp(40px, 9vw, 64px); }
  .ceo-edition .ceo-product-visual { min-height: 0; padding-block: 28px; }
  .page-jumps { gap: 6px 16px; }
  .page-jumps > span { flex-basis: 100%; }
}
@media (max-width: 420px) {
  .container { width: calc(100% - 32px); }
  .ceo-edition .hero-actions .btn-primary { width: 100%; }
  .ceo-edition .hero-badge { white-space: normal; line-height: 1.6; }
  .ceo-edition .ceo-product-visual { padding-inline: 0; display: flex; flex-direction: column; gap: 16px; }
  .ceo-edition .ceo-product-frame { width: min(280px, 100%); transform: none; }
  .ceo-edition .ceo-side-note { position: static; width: min(280px, 100%); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
@media (forced-colors: active) {
  .btn, .nav-cta, .ceo-product-frame, .ceo-planner-card { border: 1px solid ButtonText; }
}
@media print {
  .navbar, .hero-actions, .mobile-menu-btn, .qr-modal, .page-jumps { display: none !important; }
  body { background: white !important; color: black !important; }
  .section { padding-block: 24px; }
}
