/* Sacred Homes / SHAI — an open, practical place to find a next step.
   Local fonts and existing inline vectors keep the public experience light. */
:root {
  --ink: #193b32;
  --muted: #566359;
  --paper: #f6f3eb;
  --card: #fffdf7;
  --line: #d8d9cc;
  --navy: #193b32;
  --teal: #375e4e;
  --gold: #a66643;
  --forest: #183c31;
  --action-hover: #2c5243;
  --focus: #a15d34;
  --radius: 12px;
  --shadow: none;
  --max: 1216px;
  --copper: #dfb38c;
  --deep-forest: #132f27;
}

html { scroll-padding-top: 104px; }
body { background: var(--paper); color: var(--ink); line-height: 1.6; }
::selection { background: #d7b691; color: #172f27; }
.wrap { width: min(var(--max), calc(100% - 96px)); }
button, input, select, textarea { font: inherit; }
button { font-weight: 650; }
a { text-underline-offset: .2em; }
.button { min-height: 48px; border-radius: 7px; padding: 11px 20px; font-size: .875rem; font-weight: 650; line-height: 1.4; background: var(--card); color: var(--ink); }
.button.primary { background: var(--ink); border-color: var(--ink); color: #fffdf7; }
.button:not([disabled]):hover { background: #eceee3; border-color: #a3ad9d; }
.button.primary:not([disabled]):hover { background: var(--action-hover); border-color: var(--action-hover); color: #fffdf7; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid var(--focus); outline-offset: 4px; }
.eyebrow { color: #71543b; font-size: .69rem; font-weight: 750; letter-spacing: .16em; line-height: 1.55; }
.row, .hero-actions { gap: 12px; }

/* A steady, light header remains distinct from the content below. */
.topbar { background: #f6f3eb; border-bottom: 1px solid #d8d9cc; box-shadow: none; }
.topbar-inner { height: 88px; gap: 24px; }
.brand { gap: 12px; flex-shrink: 0; }
.brand-mark { width: 43px; height: 48px; border: 1px solid #bdc6b7; border-radius: 15px 15px 3px 3px; background: transparent; color: var(--ink); }
.brand-mark svg { width: 30px; height: 30px; }
.brand-copy strong { font-family: Georgia, 'Times New Roman', serif; font-size: 1.45rem; letter-spacing: -.04em; font-weight: 500; line-height: 1.15; }
.brand-copy small { margin-top: 5px; font-size: .56rem; letter-spacing: .11em; line-height: 1.3; color: #586155; }
.desktop-nav { gap: 2px; }
.desktop-nav button { padding: 10px 12px; font-size: .82rem; font-weight: 600; border-radius: 3px; }
.desktop-nav button:hover { background: #ecece1; }
.desktop-nav button.active { background: transparent; box-shadow: inset 0 -2px 0 #9e663f; }
.lang-select, .menu-btn, .ask-button { border-radius: 5px; font-size: .79rem; font-weight: 650; padding: 9px 10px; background: transparent; }
.lang-select { width: 108px; max-width: 108px; color: var(--ink); border-color: #c7cdbe; }
.ask-button { background: var(--ink); border-color: var(--ink); color: #fffdf7; padding-inline: 16px; }
.ask-button:hover { background: var(--action-hover); border-color: var(--action-hover); }
.mobile-panel { background: #eeeee4; border-color: var(--line); }
.mobile-panel nav { width: min(var(--max), calc(100% - 64px)); margin: auto; padding: 16px 0 22px; gap: 8px; }
.mobile-panel button { background: #fffdf7; border-color: #d5d8ca; border-radius: 6px; padding: 12px 14px; font-size: .9rem; text-align: start; }
.mobile-panel button.active { background: #e0e7d8; box-shadow: inset 3px 0 0 #8d5d3e; }

/* Home: the invitation and the navigator are one clear composition. */
.hero-home { isolation: isolate; padding: 0; background: var(--deep-forest); color: #f7f3e7; overflow: hidden; }
.hero-home::before { display: block; content: ''; position: absolute; z-index: -1; inset: 0; width: auto; height: auto; border-radius: 0; background: radial-gradient(ellipse at 18% 55%, #24493b 0, transparent 57%); pointer-events: none; }
.home-hero-grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 78px; align-items: center; padding: 72px 0 62px; }
.home-hero-copy { position: relative; min-width: 0; padding: 0; }
.home-hero-copy > .eyebrow { color: #e0b68f; gap: 12px; font-size: .7rem; }
.home-hero-copy > .eyebrow::before { width: 28px; height: 1px; background: #d4a478; }
.hero-home h1 { max-width: 690px; margin: 24px 0 26px; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(3.6rem, 6.35vw, 6.05rem); font-weight: 400; line-height: 1.015; letter-spacing: -.065em; color: #fcf7eb; }
.hero-home h1 em { color: #e0b38c; font-weight: 400; font-style: italic; }
.hero-home .lead { max-width: 480px; margin: 0 0 28px; color: #d0ddcf; font-size: 1.05rem; line-height: 1.8; }
.hero-home .hero-actions { gap: 12px; }
.hero-home .button.primary { background: #e0b38c; border-color: #e0b38c; color: #193b32; }
.hero-home .button.primary:not([disabled]):hover { background: #edc7a7; border-color: #edc7a7; color: #193b32; }
.hero-home .button.hero-secondary { background: #193a30; border-color: #78907b; color: #f7f3e7; }
.hero-home .button.hero-secondary:hover { background: #2c5141; border-color: #b1bc9f; }
.hero-home .hero-actions button:focus-visible, .sacred-homes-band button:focus-visible { outline-color: #f1ccaa; }
.home-origin { margin-top: 29px; gap: 12px; color: #bccdbb; font-size: .72rem; line-height: 1.65; }
.origin-line { width: 24px; height: 1px; flex-shrink: 0; background: #829b7c; }
.home-landscape { height: 88px; max-width: 520px; margin: 19px 0 -20px; overflow: hidden; opacity: .9; }
.home-landscape .terrain-art { position: static; display: block; width: 100%; height: 142px; object-fit: cover; object-position: top; transform: translateY(-31px); }
.home-landscape .terrain-art > path:nth-of-type(1) { fill: #2a4b3b; }
.home-landscape .terrain-art > path:nth-of-type(2) { fill: #19382c; }
.hero-launchpad { padding: 30px; border: 1px solid #dfdfcb; border-radius: 14px; background: #f5f1e5; color: #193b32; box-shadow: 0 25px 60px #061b2429; }
.hero-launchpad > .terrain-art { display: none; }
.navigator-head { align-items: center; padding-bottom: 0; gap: 18px; }
.product-name { font-family: Georgia, 'Times New Roman', serif; font-size: 2.4rem; font-weight: 400; letter-spacing: -.06em; line-height: 1.1; }
.trademark { font-family: system-ui, sans-serif; font-size: .7rem; }
.navigator-status { color: #4c6151; font-size: .69rem; max-width: 158px; text-align: end; line-height: 1.45; }
.navigator-status::before { content: ''; display: inline-block; width: 5px; height: 5px; border-radius: 50%; margin-inline-end: 6px; vertical-align: middle; background: #52745a; }
.product-expansion { color: #68715f; font-size: .71rem; line-height: 1.5; margin: 9px 0 25px; }
.home-navigator { gap: 11px; }
.home-navigator label { color: #233e30; font-size: .98rem; font-weight: 650; letter-spacing: -.015em; }
.home-navigator textarea { border: 1px solid #b6c1af; border-radius: 6px; background: #fffdf7; color: #193b32; min-height: 103px; padding: 15px; font-size: 1rem; line-height: 1.5; }
.home-navigator textarea::placeholder { color: #667063; opacity: 1; }
.navigator-submit { min-height: 47px; padding: 11px 16px; border: 1px solid #254b3c; border-radius: 6px; background: #254b3c; color: #fffdf7; font-size: .85rem; font-weight: 650; }
.navigator-submit:not([disabled]):hover { background: #356047; border-color: #356047; color: #fffdf7; }
.navigator-privacy { color: #626c5d; font-size: .71rem; line-height: 1.55; margin: 0; }
.navigator-quick { margin-top: 23px; padding-top: 20px; border-top: 1px solid #d1d6c5; }
.navigator-quick > span { display: block; color: #60695b; font-size: .69rem; font-weight: 500; }
.launch-links { gap: 8px; margin-top: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.launch-link { background: #ececdf; border: 1px solid #d1d7c5; border-radius: 5px; color: #244334; padding: 10px 11px; gap: 8px; min-height: 45px; font-size: .76rem; text-align: start; }
.launch-link .pathway-icon { width: 16px; height: 16px; color: #617553; }
.launch-link > span:last-child { font-size: .9rem; color: #637356; }
.launch-link:hover { background: #dfe6d3; border-color: #b5c4a5; }
.hero-launchpad button:focus-visible, .hero-launchpad textarea:focus-visible { outline-color: #94552f; }
.trust-ribbon { border-top: 1px solid #46604b; gap: 24px; padding-block: 0; }
.trust-ribbon > div { padding: 23px 0 25px; gap: 10px; }
.trust-ribbon strong { color: #d2dccb; font-size: .73rem; font-weight: 500; line-height: 1.45; }
.trust-tick { color: #d9b589; font-size: .86rem; }
.startup-home { padding-block: 64px; }
.startup-home .home-hero-copy { width: min(var(--max), calc(100% - 96px)); }
.startup-resources { border-top-color: #46604b; color: #e3dfca; }

/* Spacious sections, with useful choices arranged as editorial rows. */
.section { padding: 76px 0; }
.section-head { align-items: end; gap: 64px; margin-bottom: 38px; }
.section-head > div { flex: 1; }
.section-head h2 { max-width: 620px; font-family: Georgia, 'Times New Roman', serif; font-weight: 400; font-size: clamp(2.25rem, 3.3vw, 3.6rem); letter-spacing: -.045em; line-height: 1.13; margin: 12px 0 0; }
.section-head p { max-width: 410px; margin: 0 0 2px; font-size: .94rem; line-height: 1.75; color: var(--muted); }
.grid { gap: 22px; }
.card { background: #fffdf7; padding: 28px; border: 1px solid #d9dacc; border-radius: 10px; box-shadow: none; }
.card h3 { color: #233d31; font-size: 1.14rem; font-weight: 650; letter-spacing: -.025em; line-height: 1.35; margin: 12px 0 10px; }
.card p { color: var(--muted); font-size: .94rem; line-height: 1.75; }
.card .meta { color: #785439; font-size: .67rem; font-weight: 700; letter-spacing: .11em; line-height: 1.6; }
.section-pathways { background: #f6f3eb; border: 0; padding: 82px 0 86px; }
.home-pathways { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; border-top: 1px solid #c7cebd; }
.home-pathways .pathway-card { display: grid; grid-template-columns: 52px minmax(0, 1fr); column-gap: 20px; row-gap: 0; padding: 28px 8px 30px 0; min-height: 0; background: transparent; border: 0; border-bottom: 1px solid #c7cebd; border-radius: 0; box-shadow: none; transition: background .18s ease; }
.home-pathways .pathway-card-top { grid-column: 1; grid-row: 1 / 4; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 14px; margin: 0; }
.home-pathways .pathway-card-top .pathway-icon { box-sizing: border-box; width: 48px; height: 48px; padding: 12px; border: 1px solid #c6cfba; border-radius: 50%; background: #e9edde; color: var(--path-accent, #365c45); }
.home-pathways .pathway-number { padding-inline-start: 16px; font-family: system-ui, sans-serif; font-size: .58rem; font-weight: 650; letter-spacing: .08em; color: #7c826e; }
.home-pathways .pathway-card h3 { grid-column: 2; font-family: Georgia, 'Times New Roman', serif; font-size: 1.65rem; line-height: 1.15; font-weight: 400; margin: 5px 0 10px; letter-spacing: -.035em; }
.home-pathways .pathway-card p { grid-column: 2; font-size: .91rem; line-height: 1.65; max-width: 420px; margin: 0 0 12px; }
.home-pathways .pathway-card .button { grid-column: 2; width: fit-content; max-width: 100%; justify-self: start; margin-top: 0; padding: 5px 0; border: 0; color: #2d4a39; font-size: .8rem; font-weight: 650; min-height: 44px; text-align: start; background: transparent; }
.home-pathways .pathway-card .button::after { margin-inline-start: 10px; margin-inline-end: 0; font-size: 1.05rem; }
.home-pathways .pathway-card:hover { background: #eef0e4; transform: none; border-color: #c7cebd; box-shadow: none; }
.home-pathways .pathway-card:focus-within { outline-color: #9e683f; outline-offset: 4px; }
.pathway-card:not(.home-pathways .pathway-card) { min-height: 265px; }

/* Library and products have visibly different roles and reading rhythms. */
.library-feature { padding: 79px 0; background: #e8ecdd; border-block: 1px solid #d2d9c5; }
.library-feature-grid { grid-template-columns: 1.12fr 1fr; gap: 94px; align-items: center; }
.library-feature h2, .sacred-homes-grid h2 { font-size: clamp(2.65rem, 4.3vw, 4.25rem); font-weight: 400; letter-spacing: -.055em; line-height: 1.09; max-width: 620px; margin: 16px 0 23px; }
.library-feature p { color: #52614e; font-size: .96rem; line-height: 1.8; margin: 0 0 27px; max-width: 490px; }
.library-feature .button:not(.primary) { background: transparent; border-color: #abb99d; }
.library-index { column-gap: 38px; padding-top: 2px; }
.library-count { padding-bottom: 28px; gap: 8px; border-bottom-color: #b8c4a8; }
.library-count strong { font-size: 4.5rem; letter-spacing: -.07em; line-height: 1; color: #375340; }
.library-count span { color: #59684f; font-size: .79rem; }
.library-index-link { padding: 23px 0; border-bottom-color: #b8c4a8; gap: 18px; }
.library-index-link .pathway-icon { width: 26px; height: 26px; flex-shrink: 0; color: #5d7651; }
.library-index-link strong { font-size: .95rem; font-weight: 600; }
.library-index-link small { font-size: .8rem; line-height: 1.55; margin-top: 4px; color: #59684f; }
.library-index-link:hover { color: #805336; }
.home-products { background: #f6f3eb; border-bottom: 1px solid #d9dacc; }
.product-teaser-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.product-teaser { display: flex; flex-direction: column; position: relative; overflow: hidden; padding: 30px; border-radius: 9px; background: #fffdf7; }
.product-teaser-top { display: flex; align-items: center; gap: 12px; min-height: 35px; }
.product-teaser-top .pathway-icon { width: 25px; height: 25px; color: #6a754f; }
.product-teaser .meta { color: #6f563d; }
.product-teaser h3 { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; font-size: 1.7rem; line-height: 1.2; margin-top: 16px; }
.product-teaser p { margin-bottom: 24px; }
.product-teaser .button { margin-top: auto; width: fit-content; max-width: 100%; }
.product-teaser:first-child { background: #e6eadc; border-color: #c6d0b7; }
.product-teaser:last-child { background: #efe6d8; border-color: #d7c8b7; }
.product-price { font-family: Georgia, 'Times New Roman', serif; font-size: 2.4rem; line-height: 1.1; color: #31533d; margin-top: 18px; }
.product-price small { font: 500 .8rem system-ui, sans-serif; }
.how-section { background: #f6f3eb; padding: 74px 0 78px; }
.how-section .grid { gap: 42px; }
.step-card { border: 0; border-top: 1px solid #bfcab3; border-radius: 0; background: transparent; padding: 22px 0 0; }
.step-card h3 { font-size: 1.05rem; margin: 15px 0 9px; }
.step-card p { margin: 0; }
.metric { font-family: Georgia, 'Times New Roman', serif; font-size: 2.75rem; font-weight: 400; color: #966443; }

/* The master brand closes the page in a quiet, human voice. */
.sacred-homes-band { background: #253e31; color: #f8f2e5; border: 0; padding: 79px 0 83px; }
.sacred-homes-grid { grid-template-columns: 1.16fr 1fr; gap: 96px; }
.sacred-homes-band .eyebrow { color: #dfb58e; }
.sacred-homes-grid h2 { font-size: clamp(2.55rem, 4vw, 4rem); }
.sacred-homes-grid p { max-width: 515px; color: #cdd8c4; font-size: .96rem; line-height: 1.8; margin-bottom: 26px; }
.sacred-homes-band .button { background: #253e31; border-color: #899b7c; color: #f8f2e5; }
.sacred-homes-band .button.primary { background: #deb38b; border-color: #deb38b; color: #203d2e; }
.sacred-homes-band .button:hover { background: #496047; color: #fffdf7; border-color: #afbf9d; }
.sacred-homes-band .button.primary:hover { background: #f1ccaa; border-color: #f1ccaa; color: #203d2e; }
.home-founder-quote { border: 0; border-inline-start: 1px solid #617457; padding: 12px 0 12px 42px; padding-inline-start: 42px; padding-inline-end: 0; margin: 0; }
.home-founder-quote blockquote { color: #efe6cf; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.75rem, 2.5vw, 2.4rem); font-weight: 400; line-height: 1.45; letter-spacing: -.03em; margin: 0 0 25px; }
.home-founder-quote figcaption { color: #cad6bd; font-size: .75rem; line-height: 1.7; }

/* Every inner route shares the same calm, practical design language. */
.hero:not(.hero-home) { padding: 60px 0 46px; background: #eaeedf; border-bottom: 1px solid #ccd6bf; }
.hero:not(.hero-home) .hero-grid { grid-template-columns: minmax(0, 1.45fr) minmax(260px, .7fr); gap: 72px; align-items: center; }
.hero:not(.hero-home) h1 { max-width: 840px; font-size: clamp(2.85rem, 5.1vw, 5rem); line-height: 1.08; letter-spacing: -.055em; margin: 20px 0 20px; }
.hero:not(.hero-home) .lead { font-size: 1.01rem; line-height: 1.8; max-width: 685px; }
.trust-strip { gap: 16px 22px; padding-top: 10px; }
.trust-item { background: transparent; border: 0; border-top: 1px solid #b5c3a6; padding: 16px 0 0; border-radius: 0; box-shadow: none; }
.trust-item strong { font-size: .79rem; font-weight: 650; line-height: 1.5; }
.trust-item span { color: #5c6b51; font-size: .74rem; line-height: 1.65; margin-top: 6px; }
.service-card { min-height: 275px; }
.service-card .button { margin-top: auto; }
.source-list { gap: 12px; }
.source-card { background: #fffdf7; padding: 23px 26px; border-color: #d6daca; border-radius: 8px; gap: 28px; }
.source-card h3 { color: #244233; font-size: 1.02rem; line-height: 1.4; margin-bottom: 7px; font-weight: 650; }
.source-card p { color: #586553; font-size: .9rem; line-height: 1.65; }
.source-card a { color: #355239; font-size: .8rem; font-weight: 650; min-height: 44px; text-align: start; }
.source-card a:hover { color: #8c5735; }
.badge { background: #e9edde; color: #455a3b; border-color: #cbd5bd; border-radius: 4px; font-size: .64rem; line-height: 1.5; padding: 5px 8px; font-weight: 700; letter-spacing: .07em; }
.field { margin-bottom: 18px; gap: 8px; }
.field label { display: grid; gap: 8px; color: #314532; font-size: .85rem; font-weight: 650; }
.field input, .field select, .field textarea, .filterbar input, .filterbar select { border: 1px solid #b8c4ae; border-radius: 6px; background: #fffef9; color: #243f30; min-height: 48px; font-size: 1rem; padding: 12px 14px; }
.field input::placeholder, .field textarea::placeholder, .filterbar input::placeholder { color: #6b7464; opacity: 1; }
.field textarea { min-height: 122px; }
.tool { gap: 24px; }
.tool-output { background: #edf0e4; border-color: #c9d2bb; }
.filterbar { margin: 0 0 20px; gap: 12px; }
.filterbar input { min-width: min(240px, 100%); }
.filterbar select { max-width: 100%; }
#libCount { margin: 0 0 20px; font-size: .82rem; }
.checklist { gap: 10px; }
.check { background: #f7f8ef; border-color: #d2d9c4; border-radius: 6px; padding: 13px 14px; gap: 12px; font-size: .9rem; line-height: 1.5; }
.check input { width: 17px; height: 17px; accent-color: #375b43; flex-shrink: 0; }
.notice, .callout, .danger, .human { border-radius: 7px; padding: 23px 26px; font-size: .94rem; line-height: 1.75; }
.notice { background: #f8efdc; border-color: #d8c49a; border-inline-start-width: 3px; }
.callout { background: #eaf0e2; border-color: #c8d6bd; }
.danger { background: #fbefea; border-color: #dcbeb0; border-inline-start-width: 3px; }
.human { background: #f0eaf3; border-color: #d7c7df; border-inline-start-width: 3px; }
.notice p, .callout p, .danger p, .human p { margin-bottom: 0; }
.pricing { gap: 24px; }
.price-card { gap: 9px; padding: 30px; }
.price-card .price { font-family: Georgia, 'Times New Roman', serif; font-size: 3rem; font-weight: 400; letter-spacing: -.06em; margin: 10px 0 4px; }
.price-card .price small { font: 500 .8rem system-ui, sans-serif; }
.price-card h3 { font-size: 1.2rem; }
.price-card p { margin: 0 0 10px; }
.price-card .button { margin-top: auto; }
.product-status, .institutional-status { color: #62684f; background: #f1f1e5; border-color: #d4d7c4; font-size: .7rem !important; font-weight: 600; border-radius: 4px; padding: 7px 9px; letter-spacing: .035em; line-height: 1.5; }
.institutional-status { margin-bottom: 12px; }
.free-access-card { background: #e8eddd; border-color: #c2d0b1; }
.product-group { border-color: #d6dacb; }
.federation span { background: #f9fcf2; border-color: #c8d5ba; border-radius: 5px; padding: 8px 11px; }
.founder-quote { border: 1px solid #c4d0b7; background: #eaf0de; border-radius: 10px; box-shadow: none; padding: 34px; }
.founder-quote blockquote { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; line-height: 1.35; }
.table-wrap { border-color: #d0d8c3; border-radius: 7px; }
.table th { background: #eaf0df; }
.table th, .table td { padding: 15px 16px; border-bottom-color: #dce1d2; text-align: start; }
.repair-form-section { padding-top: 42px; }
.repair-primary-resource { gap: 26px; }

/* Utility controls stay small and opaque, with content space at page end. */
.floating-shai { right: max(20px, env(safe-area-inset-right)); bottom: calc(18px + env(safe-area-inset-bottom)); z-index: 90; width: 58px; height: 58px; border: 1px solid #acbc96; background: #214334; color: #fff9ec; box-shadow: 0 6px 18px #132f2730; font-size: .76rem; }
.floating-shai:hover { background: #345741; }
.watch-learn-dock { z-index: 89; left: max(20px, env(safe-area-inset-left)); right: auto; bottom: calc(22px + env(safe-area-inset-bottom)); min-height: 46px; padding: 0 17px; border: 1px solid #aab99b; border-radius: 24px; background: #fffdf5; color: #234432; box-shadow: 0 3px 14px #1736261a; }
.watch-learn-action { font-size: .78rem; font-weight: 650; color: #234432; }
.watch-learn-action::before { content: '▷'; display: inline-block; margin-inline-end: 8px; font-size: .95rem; }
.watch-learn-dock:hover { background: #e8eddf; }
.shai-drawer { background: #f6f3eb; border-color: #c1cdaf; padding: 24px; width: min(480px, 100%); }
.drawer-head { background: #f6f3eb; padding-bottom: 8px; }
.drawer-head h2, .learning-lounge-head h2 { font-family: Georgia, 'Times New Roman', serif; font-size: 1.8rem; font-weight: 400; letter-spacing: -.04em; }
.icon-btn { background: #fffdf7; border-color: #c6ceba; color: #22412f; border-radius: 7px; min-width: 44px; }
.quick-intents { gap: 8px; margin: 8px 0 18px; }
.quick-intents button { background: #e9eede; border-color: #c8d5b9; color: #2d4a34; padding: 9px 11px; font-size: .78rem; border-radius: 6px; }
.quick-intents button:hover { background: #dae4ce; }
.shai-log { gap: 12px; }
.msg { font-size: .94rem; line-height: 1.65; padding: 15px; border-radius: 9px; }
.msg.shai { background: #fffdf7; border-color: #d2d8c6; }
.msg.user { background: #e1e9d6; }
.shai-form textarea { border-color: #b8c5a9; background: #fffdf7; color: #254331; border-radius: 6px; font-size: 1rem; }
.privacy-note { color: #626c5a; font-size: .72rem; line-height: 1.6; }
.backdrop { background: #102e2866; }
.learning-lounge { background: #f6f3eb; border-color: #bac8a8; border-radius: 12px; }
.learning-lounge-shell { gap: 16px; padding: 22px; }
.learning-player { border-color: #c4d0b5; border-radius: 8px; }
.learning-player iframe { border-radius: 5px; }
.learning-card { border-color: #d2d8c5; }
.learning-lounge-peek { border-radius: 12px; }
.footer { background: #f1eee4; padding: 49px 0 calc(103px + env(safe-area-inset-bottom)); margin-top: 0; border-top: 1px solid #d3d7c5; }
.footer-grid { grid-template-columns: 1.2fr .75fr 1.05fr; gap: 68px; }
.footer strong { color: #2b4635; font-weight: 650; font-size: .91rem; }
.footer p { font-size: .78rem; line-height: 1.8; color: #5b6854; max-width: 350px; }
.footer-links { gap: 0; grid-template-columns: 1fr; }
.footer-links button { color: #465a3b; font-size: .78rem; min-height: 38px; padding: 7px 0; text-align: start; font-weight: 550; }
.footer-links button:hover { color: #8c5735; text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 1180px) {
  .wrap { width: calc(100% - 64px); }
  .topbar-inner { gap: 15px; }
  .desktop-nav button { padding-inline: 8px; font-size: .77rem; }
  .top-actions { gap: 7px; }
  .home-hero-grid { gap: 46px; padding-top: 62px; }
  .hero-home h1 { font-size: clamp(3.6rem, 6.7vw, 5.8rem); }
  .hero-launchpad { padding: 26px; }
  .library-feature-grid, .sacred-homes-grid { gap: 58px; }
  .footer-grid { gap: 42px; }
}

@media (max-width: 1000px) {
  .topbar-inner { height: 78px; }
  .desktop-nav { display: none; }
  .menu-btn { display: inline-flex; align-items: center; justify-content: center; }
  .top-actions { margin-inline-start: auto; }
  .home-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, .92fr); gap: 34px; padding-block: 48px; }
  .hero-home h1 { font-size: clamp(3.1rem, 6.4vw, 4.3rem); }
  .hero-home .lead { font-size: .97rem; line-height: 1.75; }
  .hero-home .hero-actions .button { padding-inline: 14px; font-size: .8rem; }
  .hero-launchpad { padding: 25px 23px; }
  .navigator-status { max-width: 114px; font-size: .66rem; }
  .launch-link { font-size: .7rem; gap: 6px; padding-inline: 8px; }
  .launch-link .pathway-icon { width: 15px; height: 15px; }
  .home-landscape { height: 68px; }
  .trust-ribbon { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 26px; padding-block: 10px 15px; }
  .trust-ribbon > div { padding: 8px 0; }
  .section, .section-pathways { padding-block: 60px; }
  .section-head { gap: 38px; }
  .section-head p { max-width: 340px; }
  .home-pathways { column-gap: 26px; }
  .home-pathways .pathway-card { grid-template-columns: 44px minmax(0, 1fr); column-gap: 15px; }
  .home-pathways .pathway-card-top .pathway-icon { width: 42px; height: 42px; padding: 10px; }
  .home-pathways .pathway-card h3 { font-size: 1.5rem; }
  .home-pathways .pathway-card p { font-size: .87rem; }
  .library-feature { padding-block: 62px; }
  .library-feature-grid, .sacred-homes-grid { gap: 42px; }
  .library-count strong { font-size: 3.7rem; }
  .product-teaser-grid { gap: 16px; }
  .product-teaser { padding: 23px; }
  .product-teaser h3 { font-size: 1.5rem; }
  .how-section .grid { gap: 26px; }
  .hero:not(.hero-home) { padding: 46px 0 34px; }
  .hero:not(.hero-home) .hero-grid { grid-template-columns: 1fr; gap: 25px; }
  .trust-strip { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
  .sacred-homes-band { padding-block: 60px; }
  .home-founder-quote { padding-inline-start: 28px; }
  .footer-grid { grid-template-columns: 1fr .65fr 1fr; gap: 32px; }
}

@media (max-width: 740px) {
  html { scroll-padding-top: 87px; }
  .wrap { width: calc(100% - 40px); }
  .topbar-inner { height: 72px; gap: 12px; }
  .brand { gap: 9px; }
  .brand-mark { width: 35px; height: 40px; border-radius: 12px 12px 3px 3px; }
  .brand-mark svg { width: 25px; height: 25px; }
  .brand-copy strong { font-size: 1.28rem; }
  .brand-copy small { font-size: .49rem; max-width: 128px; margin-top: 3px; letter-spacing: .08em; }
  .lang-select { width: 95px; max-width: 95px; }
  .lang-select, .menu-btn { font-size: .75rem; min-height: 44px; }
  .ask-button { display: none; }
  .top-actions { gap: 7px; }
  .mobile-panel { max-height: calc(100dvh - 72px); }
  .mobile-panel nav { width: calc(100% - 40px); grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mobile-panel button { font-size: .83rem; }
  .home-hero-grid { grid-template-columns: 1fr; padding: 43px 0 30px; gap: 31px; }
  .home-hero-copy > .eyebrow { font-size: .65rem; letter-spacing: .13em; }
  .hero-home h1 { font-size: clamp(3.1rem, 10.4vw, 4.8rem); line-height: 1.05; letter-spacing: -.057em; margin: 22px 0 22px; max-width: 610px; }
  .hero-home .lead { font-size: 1rem; max-width: 560px; margin-bottom: 24px; line-height: 1.75; }
  .hero-home .hero-actions { gap: 10px; }
  .hero-home .hero-actions .button { min-height: 48px; width: auto; flex: 0 1 auto; padding-inline: 20px; font-size: .83rem; }
  .home-origin { margin-top: 23px; font-size: .69rem; }
  .home-landscape { display: none; }
  .hero-launchpad { padding: 26px; border-radius: 12px; }
  .product-name { font-size: 2.45rem; }
  .navigator-status { max-width: 160px; font-size: .72rem; }
  .product-expansion { font-size: .72rem; margin-bottom: 23px; }
  .home-navigator label { font-size: 1rem; }
  .home-navigator textarea { min-height: 98px; }
  .navigator-submit { min-height: 48px; font-size: .86rem; }
  .navigator-privacy { font-size: .73rem; }
  .navigator-quick { margin-top: 22px; padding-top: 18px; }
  .navigator-quick > span { font-size: .72rem; }
  .launch-link { padding: 12px; gap: 9px; font-size: .82rem; }
  .launch-link .pathway-icon { width: 17px; height: 17px; }
  .trust-ribbon { gap: 2px 20px; padding-block: 16px 22px; }
  .trust-ribbon > div { gap: 8px; padding: 7px 0; align-items: start; }
  .trust-ribbon strong { font-size: .69rem; line-height: 1.55; }
  .trust-tick { font-size: .75rem; }
  .startup-home { padding-block: 40px; }
  .startup-home .home-hero-copy { width: calc(100% - 40px); }
  .section, .section-pathways { padding: 48px 0; }
  .section-head { align-items: start; flex-direction: column; gap: 17px; margin-bottom: 28px; }
  .section-head h2 { max-width: 520px; font-size: clamp(2.25rem, 7vw, 2.9rem); line-height: 1.14; margin-top: 10px; }
  .section-head p { max-width: 550px; margin: 0; font-size: .93rem; line-height: 1.75; }
  .grid { gap: 18px; }
  .card { padding: 23px; }
  .home-pathways { grid-template-columns: 1fr; }
  .home-pathways .pathway-card { grid-template-columns: 48px minmax(0, 1fr); column-gap: 19px; padding: 23px 0 21px; }
  .home-pathways .pathway-card-top .pathway-icon { width: 46px; height: 46px; padding: 11px; }
  .home-pathways .pathway-number { padding-inline-start: 16px; }
  .home-pathways .pathway-card h3 { font-size: 1.63rem; margin: 4px 0 10px; }
  .home-pathways .pathway-card p { font-size: .94rem; line-height: 1.7; margin-bottom: 8px; max-width: none; }
  .home-pathways .pathway-card .button { font-size: .81rem; }
  .library-feature { padding: 49px 0; }
  .library-feature-grid, .sacred-homes-grid { grid-template-columns: 1fr; gap: 38px; }
  .library-feature h2, .sacred-homes-grid h2 { font-size: clamp(2.5rem, 8vw, 3.6rem); line-height: 1.1; letter-spacing: -.05em; margin: 16px 0 22px; }
  .library-feature p { font-size: .96rem; }
  .library-index { column-gap: 32px; padding-top: 4px; }
  .library-count { padding-bottom: 23px; }
  .library-count strong { font-size: 4rem; }
  .library-count span { font-size: .78rem; }
  .library-index-link { padding: 21px 0; }
  .library-index-link small { font-size: .83rem; }
  .product-teaser-grid { grid-template-columns: 1fr; gap: 16px; }
  .product-teaser { padding: 27px; }
  .product-teaser h3 { font-size: 1.85rem; }
  .product-teaser p { max-width: 530px; }
  .how-section .grid { grid-template-columns: 1fr; gap: 30px; }
  .step-card { padding: 20px 0 0; }
  .step-card h3 { margin-top: 9px; font-size: 1.1rem; }
  .metric { font-size: 2.45rem; }
  .sacred-homes-band { padding: 51px 0; }
  .sacred-homes-grid p { font-size: .94rem; }
  .home-founder-quote { border: 0; border-top: 1px solid #617457; padding: 29px 0 0; }
  .home-founder-quote blockquote { font-size: 1.85rem; margin-bottom: 20px; line-height: 1.4; }
  .hero:not(.hero-home) { padding: 35px 0 29px; }
  .hero:not(.hero-home) h1 { font-size: clamp(2.65rem, 8.4vw, 3.8rem); margin: 17px 0 18px; }
  .hero:not(.hero-home) .lead { font-size: .96rem; }
  .hero:not(.hero-home) .hero-grid { gap: 25px; }
  .trust-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 19px 24px; }
  .trust-item { padding-top: 12px; }
  .trust-item strong { font-size: .8rem; }
  .trust-item span { font-size: .74rem; }
  .source-card { padding: 21px; gap: 16px; }
  .source-card h3 { font-size: 1.02rem; }
  .source-card p { font-size: .89rem; }
  .source-card a { font-size: .83rem; }
  .filterbar { gap: 10px; }
  .filterbar input, .filterbar select { width: 100%; }
  .tool { gap: 20px; }
  .notice, .callout, .danger, .human { padding: 20px; font-size: .91rem; }
  .pricing { gap: 19px; }
  .price-card { padding: 25px; }
  .price-card .price { font-size: 2.85rem; }
  .founder-quote { padding: 25px; }
  .repair-form-section { padding-top: 28px; }
  .floating-shai { width: 53px; height: 53px; right: max(14px, env(safe-area-inset-right)); bottom: calc(14px + env(safe-area-inset-bottom)); font-size: .73rem; }
  .watch-learn-dock { left: max(14px, env(safe-area-inset-left)); bottom: calc(17px + env(safe-area-inset-bottom)); min-height: 46px; padding-inline: 15px; max-width: calc(100% - 95px); }
  .watch-learn-action { font-size: .76rem; }
  .shai-drawer { padding: 21px; }
  .learning-lounge { bottom: calc(82px + env(safe-area-inset-bottom)); }
  .learning-lounge-shell { padding: 17px; }
  .learning-lounge-peek { bottom: calc(132px + env(safe-area-inset-bottom)); }
  .footer { padding: 39px 0 calc(104px + env(safe-area-inset-bottom)); }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 27px 34px; }
  .footer-grid > :last-child { grid-column: 1 / -1; }
  .footer p { max-width: 520px; font-size: .78rem; }
  .footer-links button { min-height: 44px; font-size: .8rem; }
}

@media (max-width: 480px) {
  .wrap { width: calc(100% - 36px); }
  .brand-copy small { display: none; }
  .brand-mark { width: 31px; height: 36px; }
  .brand-copy strong { font-size: 1.23rem; }
  .topbar-inner { gap: 9px; }
  .top-actions { gap: 6px; }
  .lang-select { width: 105px; max-width: 105px; min-width: 0; padding-inline: 7px; }
  .menu-btn { max-width: 84px; padding-inline: 9px; }
  .home-hero-grid { padding-top: 35px; }
  .hero-home h1 { font-size: clamp(2.7rem, 10.6vw, 3.75rem); }
  .hero-home .lead { font-size: .94rem; line-height: 1.75; }
  .hero-home .hero-actions .button { padding-inline: 15px; font-size: .78rem; flex: 1 1 auto; }
  .home-origin { font-size: .65rem; }
  .hero-launchpad { padding: 22px 20px; }
  .navigator-head { gap: 13px; }
  .navigator-status { max-width: 129px; font-size: .65rem; }
  .product-name { font-size: 2.2rem; }
  .product-expansion { font-size: .67rem; }
  .home-navigator label { font-size: .95rem; }
  .navigator-privacy { font-size: .7rem; }
  .launch-link { font-size: .74rem; gap: 6px; padding-inline: 8px; }
  .launch-link .pathway-icon { width: 15px; height: 15px; }
  .home-pathways .pathway-card { grid-template-columns: 41px minmax(0, 1fr); gap: 0 16px; }
  .home-pathways .pathway-card-top .pathway-icon { width: 40px; height: 40px; padding: 9px; }
  .home-pathways .pathway-number { padding-inline-start: 13px; }
  .home-pathways .pathway-card h3 { font-size: 1.52rem; }
  .home-pathways .pathway-card p { font-size: .9rem; }
  .section-head h2 { font-size: 2.2rem; }
  .section-head p { font-size: .9rem; }
  .library-feature .row, .sacred-homes-band .row { gap: 10px; }
  .library-feature .button, .sacred-homes-band .button { padding-inline: 15px; font-size: .8rem; }
  .library-feature h2, .sacred-homes-grid h2 { font-size: 2.55rem; }
  .library-count strong { font-size: 3.7rem; }
  .home-founder-quote blockquote { font-size: 1.75rem; }
  .hero:not(.hero-home) h1 { font-size: 2.6rem; }
  .grid, .grid.two, .pricing { grid-template-columns: 1fr; }
  .source-card { grid-template-columns: 1fr; }
  .source-card a { justify-self: start; }
  .product-teaser { padding: 25px; }
  .product-teaser h3 { font-size: 1.7rem; }
  .footer-grid { grid-template-columns: 1fr; gap: 26px; }
  .footer-links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
  .footer-grid > :last-child { grid-column: auto; }
  .shai-drawer { padding: 18px; }
  .quick-intents { gap: 7px; }
  .quick-intents button { font-size: .76rem; padding: 8px 10px; }
  .shai-form { grid-template-columns: 1fr; }
  .msg.shai { margin-inline-end: 0; }
  .msg.user { margin-inline-start: 18px; }
}

@media (max-width: 350px) {
  .wrap { width: calc(100% - 32px); }
  .topbar-inner { gap: 7px; }
  .brand { gap: 6px; }
  .brand-mark { width: 28px; height: 34px; }
  .brand-mark svg { width: 22px; height: 22px; }
  .brand-copy strong { font-size: 1.08rem; }
  .lang-select { width: 95px; max-width: 95px; font-size: .7rem; }
  .menu-btn { font-size: .71rem; padding-inline: 7px; max-width: 74px; }
  .home-hero-copy > .eyebrow { font-size: .59rem; letter-spacing: .1em; gap: 8px; }
  .home-hero-copy > .eyebrow::before { width: 18px; }
  .hero-home h1 { font-size: 2.8rem; }
  .hero-home .hero-actions .button { font-size: .75rem; padding-inline: 11px; }
  .hero-launchpad { padding: 21px 17px; }
  .launch-links { gap: 7px; }
  .launch-link { font-size: .71rem; padding-inline: 7px; }
  .launch-link .pathway-icon { width: 14px; height: 14px; }
  .navigator-status { max-width: 117px; font-size: .63rem; }
  .home-pathways .pathway-card { grid-template-columns: 36px minmax(0, 1fr); column-gap: 13px; }
  .home-pathways .pathway-card-top .pathway-icon { width: 35px; height: 35px; padding: 8px; }
  .home-pathways .pathway-card h3 { font-size: 1.45rem; }
  .home-pathways .pathway-number { padding-inline-start: 10px; }
  .trust-ribbon { gap: 2px 14px; }
  .trust-ribbon strong { font-size: .65rem; }
  .library-feature h2, .sacred-homes-grid h2 { font-size: 2.4rem; }
  .card, .source-card, .product-teaser { padding: 21px; }
  .home-pathways .pathway-card { padding-block: 23px 21px; padding-inline: 0; }
  .step-card { padding: 20px 0 0; }
}

/* Direction and script are independent of the layout's visual hierarchy. */
[dir='rtl'] .desktop-nav { margin-left: 0; margin-right: auto; }
[dir='rtl'] .top-actions { margin-left: 0; margin-right: auto; }
[dir='rtl'] .home-founder-quote { border-right: 1px solid #617457; border-left: 0; padding-right: 42px; padding-left: 0; }
[dir='rtl'] .mobile-panel button.active { box-shadow: inset -3px 0 0 #8d5d3e; }
[dir='rtl'] .home-pathways .pathway-card .button::after { transform: scaleX(-1); }
[dir='rtl'] .home-landscape { transform: scaleX(-1); }
html:is(:lang(ar), :lang(ur), :lang(pa), :lang(hi), :lang(zh)) .hero h1,
html:is(:lang(ar), :lang(ur), :lang(pa), :lang(hi), :lang(zh)) .section-head h2,
html:is(:lang(ar), :lang(ur), :lang(pa), :lang(hi), :lang(zh)) .library-feature h2,
html:is(:lang(ar), :lang(ur), :lang(pa), :lang(hi), :lang(zh)) .sacred-homes-grid h2 {
  font-family: ui-sans-serif, system-ui, sans-serif; font-weight: 500; letter-spacing: normal; line-height: 1.28;
}
html:is(:lang(ar), :lang(ur), :lang(pa), :lang(hi)) .eyebrow { letter-spacing: normal; }
@media (max-width: 1000px) { [dir='rtl'] .home-founder-quote { padding-right: 28px; } }
@media (max-width: 740px) { [dir='rtl'] .home-founder-quote { border-right: 0; border-top: 1px solid #617457; padding-right: 0; } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
