/* Shared editorial scale. Loaded last; game note notation and book artwork retain their own sizing. */
:root{--type-title:36px;--type-section:28px;--type-card:20px;--type-body:16px;--type-caption:13px;--line:#e1dfd8;--muted:#637078}
body{font-size:var(--type-body);line-height:1.75;-webkit-text-size-adjust:100%;background:#faf9f6}
body main:not(.typography-exempt) h1,body .home-hero-copy h1{font-size:var(--type-title);line-height:1.35;letter-spacing:-.035em;font-weight:700;margin-bottom:24px;overflow-wrap:anywhere}
body main:not(.typography-exempt) h2,body .section-heading h2{font-size:var(--type-section);line-height:1.4;letter-spacing:-.025em;font-weight:700;margin-bottom:20px}
body main:not(.typography-exempt) h3,body main:not(.typography-exempt) .guide-flow-card h2,body main:not(.typography-exempt) .service-card h2,body main:not(.typography-exempt) .service-card h3,body main:not(.typography-exempt) .home-book h3,body main:not(.typography-exempt) .cdp-card strong{font-size:var(--type-card);line-height:1.5;letter-spacing:-.02em;font-weight:650}
body main:not(.typography-exempt) p,body main:not(.typography-exempt) .lead,body .home-hero-copy p,body main:not(.typography-exempt) .domain-rows li{font-size:var(--type-body);line-height:1.75}
body main:not(.typography-exempt) .kicker,body main:not(.typography-exempt) .step-number,body main:not(.typography-exempt) .badge,body main:not(.typography-exempt) .muted,body main:not(.typography-exempt) .guide-flow-note,body main:not(.typography-exempt) .meta,body main:not(.typography-exempt) .small,body main:not(.typography-exempt) .cdp-card-description,body main:not(.typography-exempt) .cdp-prerequisite{font-size:var(--type-caption);line-height:1.65}
body main:not(.typography-exempt) .kicker{letter-spacing:.12em;margin-bottom:12px}
body main:not(.typography-exempt) .button,body main:not(.typography-exempt) form button,body .guide-tabs a{font-size:var(--type-body);font-weight:600;line-height:1.5;min-height:46px;padding:11px 18px;border-radius:5px;letter-spacing:0;white-space:normal;word-break:keep-all;overflow-wrap:anywhere;text-align:center}
body main:not(.typography-exempt) .button:disabled{font-size:var(--type-body);white-space:normal}
body main:not(.typography-exempt) input,body main:not(.typography-exempt) select,body main:not(.typography-exempt) textarea{font-size:var(--type-body);line-height:1.5}
body header .nav{gap:24px;padding-top:14px;padding-bottom:8px}
body header .brand{letter-spacing:0}
body header .brand-tagline{font-size:16px;color:#142d43}
body header .brand img{width:74px;height:60px}
body header .nav>nav[data-primary-navigation] a{font-size:15px;font-weight:600;min-height:44px;padding:10px 14px;border-radius:5px;background:transparent;border-color:#ded8cc}
body header .nav>nav[data-primary-navigation] a[aria-current]{background:#eee7da;border-color:#bd9b68}
body header .member-services{font-size:var(--type-caption);gap:18px;padding-bottom:10px}
body .home-main{width:min(1180px,calc(100% - 80px))}
body .home-main>.section,body .home-main>.visit-count,body .home-main>.share-link{width:100%}
body .home-hero{margin-top:28px;border-radius:6px}
body .home-hero-copy{left:4%;width:52%;max-width:570px}
body .home-hero-image{height:400px;max-height:none;object-fit:contain;object-position:right center}
body .home-game-entry{margin:20px 0 12px;padding:16px 20px;border-radius:6px;background:#f0e7d6;gap:20px}
body .home-game-entry span{font-size:var(--type-caption);font-weight:400}
body .service-section,body .home-main>.section,body .section{padding-top:48px;padding-bottom:48px}
body .service-grid,body .home-books{gap:20px;margin-top:24px}
body .service-card,body .home-book,body .guide-flow-card,body .community .panel,body .commerce-panel{border-radius:6px;border:1px solid var(--line);box-shadow:none;background:#fff}
body .service-card,body .guide-flow-card{border-top:2px solid #a57b43;padding:24px;gap:16px}
body .service-card-simple h3,body .guide-flow-card h2{margin:0}
body .diagnosis-card-actions{gap:10px}
body .service-card-simple .diagnosis-card-actions .button{min-height:46px;padding:11px 14px;font-size:var(--type-body)}
body .home-book{padding:24px;gap:12px}
body .home-book p,body .home-book h3{margin:0}
body .home-book img{margin-bottom:12px}
body .guide-flow-intro{padding-top:40px;padding-bottom:24px}
body .guide-flow-grid{gap:20px;margin-top:16px}
body .guide-flow-actions{gap:10px}
body .guide-tabs{gap:10px;margin:24px 0 12px}
body .notice,body .purchase-pending,body .refund-summary{border-radius:5px;padding:22px 24px}
body .book-detail{padding-top:48px;padding-bottom:48px;gap:56px}
body .book-detail .lead{color:var(--muted)}
body .home-main .visit-count h2,body .home-main .visit-count strong{font-size:var(--type-body)}
body .home-main .visit-count p,body .home-main .visit-count small,body .home-main .visit-count #visit-status{font-size:var(--type-caption)}
body footer{padding:36px 0;margin-top:40px;background:#f2f0e9}
body footer nav,body footer p,body footer small{font-size:var(--type-caption);line-height:1.8}
body footer nav{gap:16px 24px;margin-bottom:20px}
@media(max-width:900px){:root{--type-title:32px;--type-section:26px}body .home-main{width:calc(100% - 48px)}body .home-hero-copy h1{font-size:var(--type-section)}body .book-detail{gap:32px}}
@media(max-width:700px){body .home-main{width:calc(100% - 36px)}body .home-hero{margin-top:18px}body .home-hero-copy{width:auto;max-width:none;padding:24px 20px}body .home-hero-copy h1{font-size:var(--type-section)}body .home-hero-image{height:auto;max-height:none}body .home-game-entry{margin:16px 0;gap:8px;padding:16px}body .service-section,body .home-main>.section,body .section{padding-top:32px;padding-bottom:32px}body .service-card,body .home-book,body .guide-flow-card{padding:20px}body .guide-flow-grid{gap:16px}body .guide-flow-intro{padding-top:28px;padding-bottom:16px}body .guide-tabs a{flex:1 1 140px}body .home-book{gap:12px 18px}body .book-detail{padding-top:28px;padding-bottom:32px}body header .nav>nav[data-primary-navigation] a{font-size:var(--type-caption);padding:9px 6px}body header .brand-tagline{font-size:var(--type-caption)}body .notice,body .purchase-pending,body .refund-summary{padding:18px 20px}body .home-main .visit-count{padding-top:24px}body main:not(.typography-exempt) .actions .button{white-space:normal}}
