/* Unified forest / ivory / champagne design system. Screen styles preserve print layout. */
@media screen {
  :root { --forest:#163f35; --deep:#102f28; --gold:#bd9a59; --cream:#f7f5ee; --paper:#fffefa; --ink:#243e34; --muted:#617267; --line:#dedfd3; --mint:#eaf0e5; --coral:#f2eadb; --lavender:#eef0e7; --serif:Georgia,'Times New Roman',serif; --sans:Arial,'Helvetica Neue',sans-serif; }
  html { scroll-padding-top:100px; }
  body { background:var(--cream); color:var(--ink); -webkit-font-smoothing:antialiased; }
  ::selection { background:#d9c899; color:#183d31; }
  button,a,input,select,textarea { touch-action:manipulation; }
  button:focus-visible,a:focus-visible,summary:focus-visible { outline:3px solid #a47b33; outline-offset:4px; }
  .skip { z-index:100; }
  .site-header { position:sticky; top:0; z-index:30; min-height:88px; padding:19px max(4.5vw,24px); background:#faf9f3f5; border-bottom:1px solid #dedfd480; backdrop-filter:blur(16px); }
  .brand img { width:44px; height:44px; }
  .brand>span { font-size:14px; letter-spacing:1.8px; }
  .brand small { color:#687567; font-size:7px; letter-spacing:1.25px; margin-top:5px; }
  .site-header nav { gap:30px; font-size:13px; color:#516359; }
  .site-header nav a { padding:9px 0; }
  .header-cta { display:flex; align-items:center; padding:10px 18px; min-height:44px; background:var(--forest); color:#fff9e9; border:1px solid var(--forest); border-radius:7px; font-size:12px; }
  .header-cta:hover { background:#285744; }
  .hero { background:#143d32; color:#f6f1e3; }
  .hero:before { background:radial-gradient(ellipse at 81% 48%,#6d795e32,transparent 58%),linear-gradient(120deg,#12362d00 55%,#0b2d231c); }
  .hero:after { content:''; position:absolute; inset:24px; border:1px solid #b99b5c1e; pointer-events:none; border-radius:2px; }
  .hero-inner { max-width:1390px; padding:65px 6% 44px; display:grid; grid-template-columns:1.05fr 1fr; gap:45px; align-items:center; min-height:660px; position:relative; }
  .hero-copy { padding:18px 0 10px; z-index:1; }
  .hero .eyebrow { color:#d9c28d; font-size:10px; letter-spacing:2px; gap:12px; }
  .hero .eyebrow>span { font-size:25px; }
  .hero h1 { font-size:clamp(60px,5.5vw,80px); letter-spacing:-2.6px; line-height:1.12; margin:24px 0 25px; }
  .hero h1 em { color:#e3cd9b; font-weight:400; }
  .hero-copy>p { font-size:16px; line-height:1.9; color:#d0dbce; max-width:480px; }
  .hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:21px; margin:31px 0 0; }
  .hero-actions .primary-button { width:auto; height:54px; border:1px solid #ddc48d; color:#183c30; background:#e5cf9e; padding:0 22px; font-size:13px; gap:28px; border-radius:7px; box-shadow:0 4px 18px #061e1a25; }
  .hero-actions .primary-button:hover { background:#efddb7; }
  .hero-secondary { font-size:12px; color:#e1e6d9; border-bottom:1px solid #b1baa36b; padding:7px 0; }
  .hero-secondary span { margin-left:10px; }
  .hero-stats { margin:37px 0 0; padding-top:25px; border-top:1px solid #a7bb9b38; gap:35px; max-width:475px; }
  .hero-stats b { font-size:31px; color:#dfc994; }
  .hero-stats span { font-size:10px; color:#d2ddca; line-height:1.6; }
  .hero-art { position:relative; padding:8px 0; max-width:560px; text-align:center; }
  .art-caption { display:flex; align-items:center; justify-content:center; gap:16px; font-size:9px; letter-spacing:3px; color:#dbc390; }
  .art-rule { width:35px; height:1px; background:#bd9b6260; }
  .brand-orbit { width:100%; height:auto; display:block; max-width:510px; margin:-5px auto -12px; filter:drop-shadow(0 0 32px #c2b7830c); }
  .art-bottom { display:flex; justify-content:center; align-items:center; gap:17px; color:#e4d3a8; font-size:10px; letter-spacing:1.6px; }
  .art-bottom i { font-size:15px; font-style:normal; color:#b89d68; }
  .hero-art>p { color:#afc1ad; font:italic 16px/1.7 var(--serif); margin-top:14px; }
  .hero-bottom-line { display:flex; align-items:center; justify-content:center; gap:27px; padding:19px 25px; border-top:1px solid #c1b58c25; color:#d8c494; font-size:9px; letter-spacing:2px; position:relative; z-index:1; background:#102f2829; }
  .hero-bottom-line i { font-size:8px; font-style:normal; }
  .journey-strip { padding:28px 5%; background:#eeeee3; border-bottom:1px solid #d9ddd0; gap:0; justify-content:space-around; }
  .journey-strip>div { gap:15px; padding:0 24px; border-right:1px solid #d6d9cb; }
  .journey-strip>div:first-child { padding-left:0; }.journey-strip>div:last-child { border:0; padding-right:0; }
  .journey-strip b { color:#927a4b; font-size:29px; }
  .journey-strip p { font-size:12px; color:#2f4b3b; }
  .journey-strip small { font-size:10px; color:#667263; margin-top:3px; }
  .section-shell { padding:90px 45px; max-width:1280px; }
  .product-section { grid-template-columns:1.2fr .9fr; gap:85px; align-items:center; }
  .product-intro .eyebrow,.section-head .eyebrow,.faq .eyebrow { color:#886b3d; font-size:10px; letter-spacing:2px; }
  .product-intro h2 { font-size:49px; line-height:1.18; letter-spacing:-1.1px; margin:20px 0 24px; }
  .product-intro h2 em { color:#768667; }
  .product-intro>p { font-size:15px; line-height:1.9; color:#5d7061; }
  .product-inclusions { gap:0 27px; margin-top:29px; }
  .product-inclusions span { font-size:12px; padding:15px 0 15px 20px; border-top:1px solid #d9dece; color:#3f5b47; position:relative; }
  .product-inclusions span:before { content:'✓'; position:absolute; left:0; color:#9a793c; font-size:12px; }
  .product-purchase { background:linear-gradient(135deg,#fffefa,#f2eddf); border:1px solid #dcd1b7; padding:30px 33px; border-radius:16px; box-shadow:0 16px 42px #30402b0b,0 2px 4px #30402b05; position:relative; overflow:hidden; }
  .product-purchase:before { content:''; position:absolute; height:4px; background:linear-gradient(90deg,#56745a,#c5a46a); inset:0 0 auto; }
  .purchase-heading { display:flex; justify-content:space-between; align-items:center; }
  .purchase-symbol { color:#a88b53; font:35px var(--serif); }
  .product-purchase .tag { background:#e8e9dc; color:#5b6e51; font-size:9px; letter-spacing:1px; border-radius:4px; }
  .product-purchase h3 { font-size:32px; margin:17px 0 12px; letter-spacing:-.6px; }
  .product-purchase>p { font-size:13px; color:#64705e; line-height:1.85; }
  .sale-state { border-block:1px solid #d9d2bf; margin-top:21px; padding:18px 0; }
  .sale-state .report-price { font-size:49px; color:#284d3b; letter-spacing:-1.6px; }
  .report-price small { color:#6b755e; font-size:13px; letter-spacing:0; }
  .sale-state span { color:#717761; font-size:11px; margin-top:8px; }
  .momo-method { margin:16px 0 12px; color:#5d6c58; font-size:12px; }
  .momo-wordmark { background:#faeef3; color:#9e2a6d; font-size:11px; border-radius:6px; }
  .product-purchase>p.fine { font-size:11px; color:#6b735f; }
  .product-purchase .primary-button { height:49px; padding:0 18px; border-radius:7px; margin-top:20px; font-size:13px; }
  .purchase-disabled { border:1px dashed #c7c6b8; background:#e9e7db; color:#697360; font-size:11px; min-height:40px; margin-top:10px; border-radius:7px; }
  .lookup-section { border-block:1px solid #d8dfce; background:linear-gradient(110deg,#e8eee2,#f0f1e7); position:relative; }
  .lookup-layout { display:grid; grid-template-columns:1fr 1fr; max-width:1280px; gap:85px; align-items:center; padding:80px 45px; margin:auto; }
  .lookup-intro { padding-right:15px; }
  .section-index { font-size:10px; letter-spacing:1.8px; color:#7b805a; }
  .lookup-intro h2 { font-size:45px; line-height:1.25; margin:20px 0 22px; letter-spacing:-.8px; }
  .lookup-intro h2 em { color:#6c8060; }
  .lookup-intro>p { font-size:15px; color:#64785e; line-height:1.9; max-width:430px; }
  .lookup-guide { list-style:none; padding:0; margin:30px 0 0; }
  .lookup-guide>li { display:flex; gap:20px; align-items:flex-start; margin:0; padding:20px 0; border-top:1px solid #ced8c2; }
  .lookup-guide>li>span { color:#a08b5a; font:24px/1.4 var(--serif); flex:0 0 30px; }
  .lookup-guide h3 { font:600 14px/1.5 var(--sans); margin:3px 0 7px; color:#345239; }
  .lookup-guide p { font-size:12px; color:#63765a; line-height:1.8; }
  .lookup-quote { display:flex; gap:17px; padding:20px 0 0; border-top:1px solid #ced8c2; margin-top:8px; align-items:center; }
  .lookup-quote>span { color:#a08b5a; font:62px/1 var(--serif); height:45px; }
  .lookup-quote p { font:italic 20px/1.6 var(--serif); color:#506c47; }
  .lookup-card { padding:32px 33px 25px; border:1px solid #d9dfcd; background:#fffefa; border-radius:16px; box-shadow:0 18px 48px #233d2410,0 2px 3px #20382105; scroll-margin-top:12px; }
  .card-kicker { font-size:9px; color:#8b7546; letter-spacing:1.3px; }
  .lookup-card h2 { font-size:29px; margin:17px 0 10px; }
  .lookup-card>.muted { font-size:13px; color:#647461; margin-bottom:24px; line-height:1.8; }
  label { font-size:12px; color:#39543f; margin-bottom:8px; }
  input,select,textarea { border:1px solid #cfd7c5; background:#fdfcf7; border-radius:7px; font-size:14px; color:#2d4837; padding:12px 13px; }
  input,select { height:48px; }
  input:focus,select:focus,textarea:focus { background:#fffefa; outline:2px solid #9d8756; outline-offset:2px; }
  input::placeholder,textarea::placeholder { color:#7c8673; opacity:1; }
  .field-help { color:#64725e; font-size:11px; line-height:1.75; }
  .settings { border-color:#dde1d1; padding:13px 0; margin:17px 0; }
  .settings summary { font-size:12px; color:#49623e; }
  .settings label { font-size:12px; }
  .settings .field-help,.bazi-settings .field-help { font-size:11px; color:#66765f; }
  .primary-button { border-radius:7px; height:52px; background:var(--forest); color:#fff9e8; font-size:14px; box-shadow:0 3px 8px #1e3c2b09; }
  .primary-button:hover { background:#2b5944; }
  .sample-button { font-size:12px; color:#547047; padding:15px 0; }
  .privacy-note { font-size:10px; line-height:1.8; color:#65755f; border-color:#dde1d1; padding-top:14px; }
  .inline-check { font-size:12px; color:#4c6545; }
  .inline-check input { width:17px; height:17px; }
  /* The report reads like one editorial collection across all ten chapters. */
  .report-shell { max-width:1370px; padding:70px 40px 60px; scroll-margin-top:0; }
  .report-heading { border-bottom:1px solid #d7ddce; padding-bottom:27px; }
  .report-heading .eyebrow { font-size:10px; color:#8a7144; letter-spacing:1.7px; }
  .report-heading h2 { font-size:44px; color:#183f30; margin:14px 0 10px; }
  .report-heading .muted { color:#61715d; font-size:13px; }
  .report-actions { gap:14px; }
  .outline-button { border-color:#aebba2; border-radius:7px; background:#fafbf4; color:#35583b; padding:12px 17px; min-height:44px; }
  .text-button { color:#4e7045; font-size:12px; }
  .sample-note,.demo-notice { border:1px solid #e3d8ba; background:#f2ead8; color:#775e31; border-radius:7px; font-size:12px; padding:12px 17px; }
  .report-context { border-left-color:#9baf87; border-radius:0 8px 8px 0; background:#eaf0e3; color:#546b4d; font-size:13px; padding:16px 20px; }
  .report-layout { grid-template-columns:220px minmax(0,1fr); gap:36px; }
  .report-nav { top:112px; background:#efF0e7; border:1px solid #dce1d2; padding:19px 12px; border-radius:12px; }
  .nav-caption { font-size:9px; padding:0 8px; margin-bottom:16px; color:#7c7754; letter-spacing:1.5px; }
  .report-nav [role=tablist] { gap:4px; }
  .report-nav button { font-size:12px; min-height:45px; border-radius:6px; color:#4f6948; padding:10px 10px; gap:12px; }
  .report-nav button span { color:#7f8b6d; font-size:10px; }
  .report-nav button[aria-selected=true] { background:#1c4936; border-color:#1c4936; color:#fff9e8; box-shadow:0 4px 9px #163f3510; }
  .report-nav button[aria-selected=true] span { color:#d2ba80; }
  .report-nav button:not([aria-selected=true]):hover { background:#e1e8d7; }
  .nav-note { font-size:10px; color:#63745b; padding:17px 8px 0; margin-top:18px; }
  .panel-heading { margin-bottom:29px; padding:0 0 23px; border-bottom:1px solid #dfe4d5; }
  .panel-heading h3 { font-size:37px; letter-spacing:-.7px; margin:17px 0 14px; line-height:1.22; }
  .panel-heading p { font-size:14px; line-height:1.9; color:#5e7257; }
  .tag,.tag.mint,.tag.lavender { background:#e6ecdd; color:#4a6943; border:1px solid #dbe2cf; border-radius:4px; padding:5px 10px; font-size:9px; letter-spacing:1.1px; }
  .tag.coral { background:#f0e7d5; color:#816732; border-color:#e4d8ba; }
  .summary-cards { gap:15px; }
  .summary-card,.summary-card:nth-child(n) { border:1px solid #d8dfcd; background:#f0f3e9; border-radius:11px; min-height:182px; padding:23px; color:#35533a; transition:transform .16s,box-shadow .16s,border-color .16s; }
  .summary-card:nth-child(3n+2) { background:#f5efdf; border-color:#e3d8bc; }
  .summary-card:nth-child(3n) { background:#fffefa; }
  .summary-card:first-child { background:#1c4635; color:#f8f2e0; border-color:#1c4635; }
  .summary-card:hover { transform:translateY(-3px); box-shadow:0 8px 19px #27422b0e; border-color:#acb998; }
  .summary-card .label { font-size:13px; font-weight:500; }
  .summary-card .number { font-size:46px; color:#8d7547; margin:17px 0 10px; }
  .summary-card:first-child .number { color:#e1c68e; }
  .summary-card .sub { opacity:1; color:#66745c; font-size:11px; line-height:1.6; }
  .summary-card:first-child .sub { color:#c3d2b7; }
  .summary-card .arrow { opacity:.8; color:#849674; }
  .summary-card:first-child .arrow { color:#d6bd86; }
  .surface,.synthesis,.steps-card,.chart-card,.missing-card,.debt-card,.index-banner,.plan-settings,.integration-notes,.integration-intro { border-radius:10px; border-color:#dbe2d0; }
  .surface,.steps-card,.chart-card { background:#fffefa; }
  .synthesis,.integration-intro,.integration-notes { background:#edf2e5; }
  .surface.warm,.debt-card { background:#f5efdf; border-color:#e3d8be; }
  .report-panels :is(.surface,.synthesis,.domain-grid,.steps-card,.chart-card,.missing-card,.index-intro,.integration-intro,.integration-notes) :is(p,li) { color:#536c4d; line-height:1.9; }
  .synthesis .pair { color:#86703f; font-size:10px; letter-spacing:.8px; }
  .callout,.callout.lavender { background:#eaf0e2; border-color:#8eaa78; color:#48643f; border-radius:0 8px 8px 0; }
  .callout.coral { background:#f3ead7; border-color:#b49a63; color:#775f30; }
  .domain-grid article { border-top-color:#a9b995; }
  .domain-grid h4 { color:#365434; }
  .index-picker button { background:#fffefa; border-color:#d4dec7; border-radius:7px; color:#4b6542; font-size:12px; padding:13px; }
  .index-picker button[aria-pressed=true] { background:#1c4635; border-color:#1c4635; color:#f8f0d9; }
  .index-banner { background:#e9efe1; border:1px solid #d8e1cc; }
  .index-banner .big-number { color:#927744; }
  .index-banner .alias { color:#607356; font-size:12px; }
  .index-banner .theme { color:#7b6e43; font-size:12px; }
  .insight-card { background:#eaf0e2; border-color:#d6e2c9; border-radius:9px; }
  .insight-card.weak { background:#f5eddd; border-color:#e5d8bb; }
  .insight-card h4 { color:#3f623b; }.insight-card.weak h4 { color:#856730; }
  .insight-card ul { color:#536c49; }.insight-card.weak ul { color:#79643c; }
  .steps-card li:before { color:#907541; }
  .reflection { color:#527147; border-color:#c5d1b5; background:#eff3e8; border-radius:0 8px 8px 0; }
  .verification,.trace-box { background:#f0f2e8; border-color:#d7dfca; border-radius:8px; color:#58714c; }
  .verification button { border-radius:5px; background:#fffefa; border-color:#c5d1b6; color:#516d45; }
  .verification button[aria-pressed=true] { background:#294f36; color:#f9f2dc; border-color:#294f36; }
  .fine { color:#64765a; font-size:11px; line-height:1.8; }
  .section-title { font-size:26px; color:#2d4d31; }
  .section-description { font-size:14px; color:#5e7355; line-height:1.9; }
  .birth-cell { background:#edf2e4; color:#4b6b3f; border-color:#cddbbf; }
  .birth-cell.empty { background:#faf9f2; color:#8a957b; }
  .birth-cell small { color:#66795c; }
  .frequency-track { background:#e0e8d7; }.frequency-track>span { background:#7b9563; }
  .missing-card { background:#f5efdf; border-color:#e4d8b9; }.missing-card p { color:#70613c; }
  .missing-card .number-badge,.passion-values span { color:#8c733e; background:#eee3c8; }
  .debt-card h4 { color:#81602e; }.debt-card p { color:#74613b; }.debt-card .location { color:#756844; }.debt-card .practice { background:#ebe8d7; }
  .learn-details { border-color:#d9dfcf; }.learn-details summary { color:#4c6a40; font-size:13px; }
  .cycle-card,.cycle-card:first-child,.cycle-card:last-child { border-radius:10px; border-color:#d5dec6; background:#eaf0e0; }
  .cycle-card:nth-child(2) { background:#f3ecda; border-color:#e4d6b7; }.cycle-card:last-child { background:#fefcf4; }
  .cycle-card small { color:#786b43; }.cycle-card p { color:#5f714f; }.cycle-card .number { color:#8c7340; }
  .plan-settings { background:#eef2e6; }.root-practice,.root-practice:nth-child(2),.root-practice:nth-child(3) { background:#edf2e4; border:1px solid #d7e1ca; border-radius:8px; }
  .root-practice:nth-child(2) { background:#f4eddb; border-color:#e3d6b8; }.root-practice:nth-child(3) { background:#fffdf5; }
  .root-practice h4 { color:#3f5e35; }.root-practice p { color:#5e7350; }
  .observations label { border-radius:7px; border-color:#d5dec7; background:#fffefa; color:#516e44; }
  .day-task { color:#49653e; }.day-task .day-label { color:#836f3e; }.day-task.done { background:#e7efdb; }.day-task.done .day-text { color:#5c764f; }
  .calculation-row p { color:#546d47; }.letter-tile { background:#f3efdf; border-color:#e2d9bf; }.letter-tile.vowel { background:#e5edd9; border-color:#d0ddbF; }
  /* Bát tự and combined reading share the same surfaces and type hierarchy. */
  .holistic-status button,.holistic-status button:nth-child(2),.holistic-status button:nth-child(3) { background:#eef3e5; border-color:#d7e1c9; border-radius:9px; color:#3d6134; }
  .holistic-status button:nth-child(2) { background:#f5efde; border-color:#e3d7b9; }.holistic-status button:nth-child(3) { background:#fffdf6; }
  .holistic-status small { color:#65754f; font-size:9px; }.holistic-status strong { color:#365930; font-size:22px; }.holistic-status span { color:#63764f; font-size:11px; }
  .bazi-context { background:#f3ecd9; border-color:#e4d6b4; border-radius:8px; color:#705d30; }.bazi-context>span,.bazi-context>p { color:#79683f; }
  .pillar { border-radius:9px; background:#fffdf4; border-color:#ded2b3; }.pillar:nth-child(3) { background:#214a35; border-color:#214a35; color:#f3e8c7; }
  .pillar>small { color:#8a703b; }.pillar:nth-child(3)>small { color:#d1b978; }.pillar-branch { color:#9b793c; }.pillar:nth-child(3) .pillar-branch { color:#dfc58b; }
  .pillar-elements,.pillar-god { color:#6b7954; }.pillar:nth-child(3) :is(.pillar-elements,.pillar-god,.fine) { color:#c6d3ad; }
  .day-master { background:#e9efdf; border:1px solid #d3dfc0; border-radius:10px; }.day-master p { color:#577047; }.day-master .eyebrow,.day-master h3 small { color:#6f7c50; }
  .hidden-stems article { background:#f2eddb; border-radius:7px; }.hidden-stems p,.god-reading p { color:#62764d; }
  .three-lenses article,.three-lenses article:nth-child(2),.three-lenses article:nth-child(3) { background:#fffdf6; border-color:#d7dfc7; border-top:3px solid #7e9663; border-radius:8px; }
  .three-lenses article:nth-child(2) { border-top-color:#b59a5c; }.three-lenses article:nth-child(3) { border-top-color:#4e7460; }
  .three-lenses article>span,.three-lenses small { color:#707b50; }.three-lenses p { color:#5d744b; }
  .integration-actions article { background:#f3eddb; border-color:#e0d5b7; border-radius:8px; }.integration-actions small { color:#846b32; }.integration-actions p { color:#607447; }
  /* Pinnacles and challenges. */
  .stage-current { background:#1b4633; border-radius:10px; padding:25px 28px; }.stage-current strong { font-size:27px; color:#f5eedc; }.stage-current p { color:#d1debe; }
  .stage-overview-heading h3 { font-size:33px; }.stage-date { color:#657650; }.stage-overview-heading .eyebrow { color:#8b713d; }
  .stage-track button { background:#fffdf5; border-color:#d5dec5; border-radius:9px; color:#47643a; }.stage-track button[aria-pressed=true] { background:#e7efd9; border-color:#6a8652; box-shadow:0 3px 11px #3952260c; }
  .stage-track strong { color:#8c7139; }.stage-track strong small { color:#65764c; }.stage-track-title,.stage-track-status { color:#587145; }
  .stage-track-status { border-color:#d0ddbd; font-size:10px; }.stage-dot { background:#eee4c9; color:#826c3a; }.stage-track button[aria-pressed=true] .stage-dot { background:#315637; color:#ead5a5; }
  .stage-selection { color:#5f744b; }.stage-detail { background:#fffdf7; border-color:#d9e1ca; border-radius:10px; }
  .stage-detail-head { border-color:#dde3d1; }.stage-detail-head .eyebrow { color:#88703e; }.stage-detail-head p { color:#64764e; }
  .stage-position { background:#e9efdc; color:#5b7447; }.stage-context { background:#eef2e5; color:#58724a; }
  .stage-reading-pair p,.stage-reading-pair li { color:#536d45; font-size:14px; line-height:1.9; }.stage-reading-pair .eyebrow { color:#8d7340; }
  .stage-reading-pair h4 { font-size:25px; }.stage-reading-pair h5 { font-size:13px; color:#3d6033; }.stage-challenge { border-color:#e0d7be; }
  .stage-number { color:#8e7540; }.stage-challenge .stage-number { color:#8a9360; }
  .stage-combination { background:#f1ecd9; border-radius:8px; }.stage-combination h5 { color:#79622e; }.stage-combination p { color:#70623d; }
  .stage-practice { background:#eaf1dd; border-radius:8px; }.stage-practice .eyebrow { color:#677a46; }.stage-practice li,.stage-practice p { color:#526e3d; }.stage-practice h4 { font-size:25px; }
  .stage-reflection,.stage-boundaries { border-color:#d5dec6; }.stage-reflection summary,.stage-boundaries summary { color:#4d6a3c; }.stage-reflection p,.stage-boundaries p { color:#5a7247; font-size:13px; }
  /* Closing editorial sections. */
  .explore { border-top:1px solid #e2e3d6; }
  .section-head h2 { font-size:47px; letter-spacing:-1px; line-height:1.2; }.section-head h2 em { color:#738264; }.section-head>p { color:#63735c; font-size:14px; }
  .explore-numbers { gap:10px; }
  .explore-numbers button { border:1px solid #d6deca; border-radius:8px; background:#fffefa; color:#798455; transition:background .15s,transform .15s; }
  .explore-numbers button:hover { transform:translateY(-2px); }.explore-numbers button[aria-pressed=true] { background:#204a34; color:#e7d09b; border-color:#204a34; box-shadow:0 5px 12px #23452c12; }
  .explore-reading { background:#ecefdf; border-color:#d6e0c7; border-radius:12px; padding:34px; gap:48px; }
  .explore-reading h3 { font-size:35px; color:#345830; }.explore-reading .keywords { font-size:11px; color:#7e744a; }
  .explore-reading p,.explore-reading ul { color:#536e42; line-height:1.9; }.explore-reading h4 { font-size:14px; color:#3c602e; }
  .explore-reading .reflection { font-size:22px; background:transparent; color:#5e7848; }
  .roots-band { background:#173e30; border-block:1px solid #103225; color:#f5efdb; position:relative; }
  .roots-band .section-shell { padding-top:75px; padding-bottom:78px; }
  .roots-band .eyebrow { color:#d0b679; font-size:10px; }.roots-band h2 { font-size:48px; color:#f6efdb; letter-spacing:-1px; margin:18px 0 22px; }.roots-band h2 em { color:#ddc48e; }
  .roots-intro { font-size:14px; color:#c1d0b3; max-width:720px; line-height:1.9; }
  .roots-grid { margin-top:38px; gap:35px; }.roots-grid article { border-top:1px solid #a9b58c52; padding-top:24px; }.roots-grid span { color:#d5bb80; font-size:10px; letter-spacing:1px; }.roots-grid h3 { color:#f2ecd4; font-size:25px; line-height:1.35; margin:16px 0; }.roots-grid p { color:#c1d1b1; font-size:13px; line-height:1.9; }
  .faq { gap:80px; grid-template-columns:.8fr 1.2fr; align-items:start; }.faq h2 { font-size:47px; line-height:1.2; letter-spacing:-1px; margin-top:20px; }.faq h2 em { color:#738363; }
  .faq details { border-color:#d9decd; padding:20px 0; }.faq details:first-child { border-top:1px solid #d9decd; }.faq summary { font-size:14px; color:#35582e; line-height:1.7; padding-right:27px; }.faq summary:after { color:#9c8147; }.faq details p { color:#5e754e; font-size:13px; line-height:1.9; padding-top:14px; }
  footer { background:#102f25; padding:47px 5% 24px; color:#f2ecd8; border-top:1px solid #a4b38c23; }.footer-inner .brand small { color:#a6bd94; }.footer-inner p { font:italic 23px/1.6 var(--serif); color:#d4dcbf; }.footer-inner>a:last-child { color:#dec58c; border-color:#b9a474; font-size:13px; }.footer-bottom { border-color:#9aae7c33; color:#a8bd94; font-size:10px; margin-top:33px; padding-top:21px; }
  .result-disclaimer { color:#61744f; font-size:11px; line-height:1.8; }
}
@media screen and (max-width:1150px) {
  .site-header { padding-inline:28px; }.site-header nav { gap:19px; font-size:12px; }
  .hero-inner { padding:52px 5% 42px; gap:25px; min-height:600px; }.hero h1 { font-size:65px; }.hero-copy>p { font-size:15px; }.hero-actions { gap:15px; }.hero-stats { gap:24px; }
  .product-section,.lookup-layout { gap:50px; }.product-intro h2 { font-size:44px; }.lookup-intro h2 { font-size:39px; }
  .report-layout { grid-template-columns:195px minmax(0,1fr); gap:25px; }.report-nav { padding:16px 9px; }.report-nav button { font-size:11px; gap:10px; }
  .summary-card,.summary-card:nth-child(n) { padding:20px; min-height:170px; }.journey-strip>div { padding-inline:17px; }.journey-strip small { font-size:9px; }
}
@media screen and (max-width:900px) {
  .site-header { min-height:76px; padding:16px 23px; }.site-header nav { display:none; }.brand>span { font-size:12px; }.brand small { font-size:6px; }.brand img { width:39px; height:39px; }
  .hero-inner { grid-template-columns:1.1fr .9fr; padding:48px 5%; gap:12px; min-height:560px; }.hero h1 { font-size:55px; letter-spacing:-1.7px; }.hero .eyebrow { font-size:8px; letter-spacing:1.4px; }.hero-copy>p { font-size:14px; }.hero-actions { gap:16px; }.hero-actions .primary-button { font-size:12px; padding:0 17px; gap:17px; }.hero-secondary { font-size:11px; }.hero-stats { gap:19px; margin-top:28px; }.hero-stats b { font-size:28px; }.hero-stats span { font-size:9px; }
  .art-caption { font-size:8px; letter-spacing:1.5px; gap:10px; }.art-rule { width:20px; }.art-bottom { font-size:8px; letter-spacing:.8px; gap:10px; }.hero-art>p { font-size:13px; }
  .journey-strip { flex-wrap:wrap; display:grid; grid-template-columns:1fr 1fr; gap:23px; padding:27px 5%; }.journey-strip>div,.journey-strip>div:first-child,.journey-strip>div:last-child { padding:0 10px; border:0; }.journey-strip small { font-size:10px; }
  .section-shell { padding:65px 30px; }.product-section { gap:30px; grid-template-columns:1fr 1fr; }.product-intro h2 { font-size:38px; }.product-intro>p { font-size:14px; }.product-inclusions { grid-template-columns:1fr; margin-top:20px; }.product-inclusions span { font-size:12px; padding-block:10px; }.product-purchase { padding:26px; }.product-purchase h3 { font-size:29px; }.sale-state .report-price { font-size:43px; }
  .lookup-layout { gap:30px; padding:60px 30px; grid-template-columns:.9fr 1.1fr; }.lookup-intro { padding:0; }.lookup-intro h2 { font-size:35px; }.lookup-intro>p { font-size:14px; }.lookup-guide>li { gap:12px; }.lookup-guide>li>span { flex-basis:25px; font-size:21px; }.lookup-guide h3 { font-size:13px; }.lookup-guide p { font-size:11px; }.lookup-quote p { font-size:17px; }.lookup-card { padding:27px 24px 22px; }.lookup-card h2 { font-size:26px; }.lookup-card .form-row { gap:12px; }
  .report-shell { padding:55px 30px; }.report-layout { display:block; }.report-nav { position:sticky; top:75px; margin:0 -7px 25px; padding:8px; background:#f7f5eef5; z-index:10; border-radius:8px; backdrop-filter:blur(12px); }.report-nav [role=tablist] { flex-direction:row; overflow-x:auto; gap:7px; padding-bottom:5px; scrollbar-width:thin; scrollbar-color:#95aa7d #e5e8db; }.report-nav button { flex-shrink:0; width:auto; white-space:nowrap; padding:10px 14px; font-size:12px; min-height:42px; border-color:#d6ddc8; background:#fffef7; }.report-nav .nav-caption,.report-nav .nav-note { display:none; }
  .section-head h2,.roots-band h2 { font-size:39px; }.roots-grid h3 { font-size:23px; }.faq { gap:40px; }.faq h2 { font-size:40px; }.faq summary { font-size:13px; }
}
@media screen and (max-width:690px) {
  html { scroll-padding-top:86px; }.site-header { padding:13px 18px; min-height:70px; gap:12px; }.brand { gap:9px; }.brand img { width:34px; height:34px; }.brand>span { font-size:10px; letter-spacing:1.1px; }.brand small { font-size:5px; letter-spacing:.65px; }.header-cta { font-size:10px; padding:8px 10px; min-height:38px; border-radius:5px; }.header-cta span { font-size:15px; margin-left:6px; }
  .hero:after { inset:13px; }.hero-inner { display:flex; flex-direction:column; padding:42px 27px 29px; gap:29px; min-height:0; }.hero-copy { width:100%; padding:0; }.hero .eyebrow { font-size:8px; letter-spacing:1.45px; gap:8px; }.hero .eyebrow>span { font-size:22px; }.hero h1 { font-size:55px; letter-spacing:-1.6px; line-height:1.13; margin:22px 0 24px; }.hero-copy>p { font-size:14px; line-height:1.9; max-width:440px; }.hero-actions { gap:18px; margin-top:24px; }.hero-actions .primary-button { font-size:12px; height:49px; padding-inline:17px; gap:19px; }.hero-secondary { font-size:11px; }.hero-stats { margin-top:29px; padding-top:22px; justify-content:space-between; gap:15px; max-width:none; }.hero-stats b { font-size:30px; }.hero-stats span { font-size:9px; }
  .hero-art { width:100%; max-width:335px; padding:0; }.brand-orbit { width:100%; margin:-9px auto -13px; }.art-caption { font-size:8px; letter-spacing:2px; }.art-rule { width:27px; }.art-bottom { font-size:8px; gap:14px; letter-spacing:1px; }.hero-art>p { font-size:14px; margin-top:11px; }.hero-bottom-line { font-size:7px; letter-spacing:1.2px; gap:14px; padding:17px 20px; }
  .journey-strip { padding:25px 22px; gap:23px 15px; }.journey-strip>div,.journey-strip>div:first-child,.journey-strip>div:last-child { padding:0; gap:10px; }.journey-strip b { font-size:24px; }.journey-strip p { font-size:11px; }.journey-strip small { font-size:9px; max-width:125px; }
  .section-shell { padding:56px 23px; }.product-section { grid-template-columns:1fr; gap:30px; }.product-intro .eyebrow,.section-head .eyebrow,.faq .eyebrow { font-size:9px; letter-spacing:1.6px; }.product-intro h2 { font-size:38px; margin:18px 0 22px; letter-spacing:-.7px; }.product-intro>p { font-size:14px; }.product-inclusions { grid-template-columns:1fr 1fr; gap:0 16px; margin-top:23px; }.product-inclusions span { font-size:11px; line-height:1.8; padding:13px 0 13px 17px; }.product-purchase { padding:26px; border-radius:13px; }.product-purchase h3 { font-size:30px; }.product-purchase>p { font-size:13px; }.sale-state .report-price { font-size:46px; }
  .lookup-layout { grid-template-columns:1fr; padding:54px 21px; gap:31px; }.lookup-intro { padding:0 3px; }.section-index { font-size:9px; }.lookup-intro h2 { font-size:38px; margin:18px 0; }.lookup-intro>p { font-size:14px; }.lookup-guide { margin-top:23px; }.lookup-guide>li { padding:15px 0; gap:15px; }.lookup-guide h3 { font-size:13px; }.lookup-guide p { font-size:12px; }.lookup-quote { display:none; }.lookup-card { padding:27px 23px 23px; border-radius:13px; scroll-margin-top:12px; }.lookup-card h2 { font-size:27px; }.card-kicker { font-size:8px; letter-spacing:1px; }.lookup-card>.muted { font-size:12px; }.lookup-card .form-row { gap:11px; margin-top:18px; }label { font-size:11px; }input,select,textarea { font-size:16px; height:47px; padding:10px; }textarea { height:auto; }.field-help { font-size:10px; }.settings summary { font-size:11px; }.settings label { font-size:11px; }.settings .field-help,.bazi-settings .field-help { font-size:10px; }.privacy-note { font-size:10px; }.inline-check { font-size:11px; }
  .report-shell { padding:44px 21px 38px; }.report-heading { display:block; padding-bottom:21px; }.report-heading h2 { font-size:35px; margin:13px 0; }.report-heading .eyebrow { font-size:8px; letter-spacing:1.2px; }.report-heading .muted { font-size:11px; }.report-actions { flex-direction:row; justify-content:space-between; align-items:center; gap:12px; margin-top:22px; }.report-actions .outline-button { font-size:11px; padding:11px 13px; }.report-actions .text-button { font-size:11px; }.report-context { font-size:12px; padding:15px 17px; margin:22px 0; }.sample-note { font-size:11px; }.report-nav { top:69px; margin-bottom:23px; }.report-nav button { font-size:11px; padding:10px 12px; gap:9px; }
  .panel-heading { padding-bottom:23px; margin-bottom:25px; }.panel-heading h3 { font-size:31px; margin:15px 0; }.panel-heading p { font-size:13px; line-height:1.85; }.tag { font-size:8px; padding:5px 9px; }.summary-cards { grid-template-columns:1fr 1fr; gap:12px; }.summary-card,.summary-card:nth-child(n) { padding:18px 16px; min-height:164px; border-radius:9px; }.summary-card .label { font-size:11px; }.summary-card .number { font-size:40px; margin:13px 0 9px; }.summary-card .sub { font-size:10px; line-height:1.6; }.summary-card .arrow { right:11px; top:12px; font-size:14px; }
  .synthesis,.surface,.steps-card { padding:22px; }.synthesis h3 { font-size:26px; }.synthesis p,.surface p,.surface li { font-size:13px; }.pair-grid,.domain-grid { grid-template-columns:1fr; gap:8px; }.domain-grid h4 { font-size:15px; }.domain-grid p { font-size:13px; }.index-picker { grid-template-columns:1fr 1fr; gap:8px; }.index-picker button { font-size:11px; padding:11px; }.index-banner h3 { font-size:27px; }.index-banner .big-number { font-size:49px; }.index-banner .alias,.index-banner .theme { font-size:10px; }.insight-card { padding:21px; }.section-title { font-size:25px; }.section-description { font-size:13px; }.fine { font-size:10px; }.cycle-cards { gap:10px; }.cycle-card { padding:17px; }
  .holistic-status button { padding:18px; }.holistic-status strong { font-size:21px; }.holistic-status span { font-size:10px; }.pillar-stem { font-size:22px; }.pillar-branch { font-size:21px; }.pillar-god,.pillar-elements { font-size:9px; }
  .stage-overview-heading h3 { font-size:29px; }.stage-date { font-size:11px; }.stage-current { padding:22px; }.stage-current strong { font-size:24px; }.stage-track { gap:11px; }.stage-track button { border-radius:8px; padding:17px; }.stage-track button[aria-pressed=true] { padding:16px; }.stage-track-title { font-size:11px; }.stage-track-status { font-size:9px; }.stage-detail-head { padding:22px; }.stage-detail-head h4 { font-size:29px; }.stage-context { padding:19px 22px; font-size:13px; }.stage-reading-pair { padding:24px 22px; }.stage-reading-pair h4 { font-size:25px; }.stage-reading-pair p,.stage-reading-pair li { font-size:13px; }.stage-combination,.stage-practice { margin:0 22px 23px; padding:20px; }.stage-practice h4 { font-size:24px; }.stage-practice li { font-size:13px; }.stage-reflection p,.stage-boundaries p { font-size:12px; }
  .section-head { display:block; margin-bottom:27px; }.section-head h2 { font-size:37px; }.section-head>p { font-size:13px; margin-top:20px; }.explore-numbers { grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; }.explore-numbers button { border-radius:6px; min-height:49px; font-size:24px; }.explore-reading { padding:25px; border-radius:10px; }.explore-reading h3 { font-size:30px; }.explore-reading p,.explore-reading ul { font-size:13px; }.explore-reading .reflection { font-size:21px; }.explore-reading>div+div { padding-top:23px; border-top-color:#cddbbd; }
  .roots-band .section-shell { padding:55px 25px; }.roots-band h2 { font-size:37px; }.roots-intro { font-size:13px; }.roots-grid { grid-template-columns:1fr; gap:24px; margin-top:29px; }.roots-grid article { padding-top:22px; }.roots-grid h3 { font-size:26px; margin:13px 0; }.roots-grid p { font-size:13px; }.faq { display:block; }.faq h2 { font-size:38px; }.faq-list { margin-top:29px; }.faq summary { font-size:13px; }.faq details p { font-size:12px; }.faq details { padding:18px 0; }
  footer { padding:37px 25px 23px; }.footer-inner { display:block; }.footer-inner p { font-size:21px; margin-top:23px; }.footer-inner>a:last-child { margin-top:23px; display:inline-block; }.footer-bottom { font-size:9px; margin-top:28px; }.footer-bottom>span { margin-top:8px; display:block; }
}
@media screen and (max-width:365px) {
  .site-header { padding-inline:13px; }.brand { gap:7px; }.brand>span { font-size:9px; }.brand small { font-size:4.5px; }.brand img { width:30px; height:30px; }.header-cta { font-size:9px; padding-inline:8px; }.hero-inner { padding-inline:23px; }.hero h1 { font-size:50px; }.hero-actions { gap:16px; }.hero-actions .primary-button { font-size:11px; }.hero-stats span { font-size:8px; }.hero-bottom-line { gap:11px; font-size:6px; }.lookup-layout { padding-inline:16px; }.lookup-card { padding:24px 19px; }.lookup-card h2 { font-size:25px; }.product-purchase { padding:23px; }.stage-track button { padding:14px; }.stage-track button[aria-pressed=true] { padding:13px; }
}
@media (prefers-reduced-motion:reduce) { .summary-card:hover,.explore-numbers button:hover { transform:none; } }
