/* Palette derived from the supplied cosmic, gold and digital-life artwork.
   Typography and the optional A+ reading mode stay in their existing layers. */
:root {
    --bg: #080f23;
    --bg-deep: #050b1a;
    --surface: #13213d;
    --surface-hover: #203355;
    --text: #f1efe9;
    --muted: #bcc4d8;
    --subtle: #98a8c6;
    --gold: #dfbd7c;
    --gold-bright: #ffe0a4;
    --gold-soft: rgba(223, 189, 124, .08);
    --cyan: #aacaff;
    --cyan-line: rgba(153, 176, 227, .22);
    --line: rgba(179, 185, 218, .17);
}
.site-header { background: #080f23; border-bottom-color: #b3976136; box-shadow: 0 1px 28px #0003; }
.brand img { border-color: #d3b57d66; }
.reading-toggle { color: var(--gold-bright); border-color: #dfbd7c55; }
.reading-toggle:hover, .reading-toggle[aria-pressed="true"] { border-color: var(--gold); }
.button-primary { background: linear-gradient(115deg, #f1d39a, #caa260); color: #191b2a; box-shadow: 0 4px 25px #d5ad691a; }
.button-primary:hover { background: #ffe0a4; box-shadow: 0 4px 30px #d5ad6933; }
.eyebrow { color: #b8c7ee; }

/* Full-bleed artwork, with HTML copy kept separate from the image. */
.hero.cosmic-hero {
    display: block;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    width: 100%;
    min-height: clamp(690px, 56.25vw, 940px);
    padding: 0;
    background: #060d20;
}
.sacred-visual { margin: 0; }
.sacred-visual img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sacred-visual--hero { position: absolute; inset: 0; z-index: 0; }
.sacred-visual--hero img { object-position: center; opacity: .78; filter: brightness(.92) saturate(.85); }
.member-chat-notice { margin: 16px 24px; padding: 12px; border: 1px solid var(--line); border-radius: 8px; }
.member-chat-notice a { text-decoration: underline; }
.member-chat-tools { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 18px; padding: 12px 24px; }
.history-more { display: block; margin: 12px auto; }
.memory-card { margin-block: 24px; }
.memory-item { padding-block: 20px; border-top: 1px solid var(--line); }
.memory-item textarea { display: block; width: 100%; margin-block: 8px 12px; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg-deep); color: var(--text); font: inherit; resize: vertical; }
.memory-item details { margin-block: 12px; }
.memory-item blockquote { white-space: pre-wrap; overflow-wrap: anywhere; }
.hero.cosmic-hero:before {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(90deg, #060d20ed 0%, #060d20a6 28%, #060d2026 51%, transparent 68%), linear-gradient(0deg, #080f23 0%, #080f2366 10%, transparent 30%);
}
.cosmic-hero-inner { position: relative; z-index: 2; min-height: inherit; display: flex; align-items: center; }
.cosmic-hero .hero-copy { width: 45%; padding-block: 70px 110px; }
.cosmic-hero h1 { text-shadow: 0 2px 25px #0009; }
.cosmic-hero h1 span { color: #ffe0a4; text-shadow: 0 0 35px #f2c57144; }
.cosmic-hero .hero-description { color: #d0d5e5; text-wrap: pretty; }
.cosmic-hero .eyebrow { color: #e8c887; }
.cosmic-hero .hero-note { color: #b6bfd6; }
.cosmic-hero .hero-actions { gap: 22px; }
.cosmic-hero .scroll-cue { z-index: 2; justify-content: flex-start; left: max(24px, calc((100vw - 1200px) / 2)); right: auto; color: #a9b8d6; }
.sacred-caption { position: absolute; z-index: 2; right: 17%; bottom: 32px; text-align: center; text-shadow: 0 2px 12px #000; }
.sacred-caption > span { display: block; font: 500 16px/1.8 var(--serif); letter-spacing: 4px; color: #f6d99b; }
.sacred-caption small { display: block; font-size: 14px; letter-spacing: 2px; color: #b8c8e6; margin-top: 4px; }

/* Distinct dark sections: midnight blue, violet indigo, then blue-black. */
.values-strip { background: linear-gradient(90deg, #162039, #25233b, #162039); border-color: #c1a77640; }
#explore { background: #111d36; box-shadow: 0 0 0 100vmax #111d36; }
.intro-section { background: radial-gradient(ellipse at 85% 20%, #32264a77, transparent 65%), #191a32; border-block-color: #77739340; }
.section.container:not(#explore) { background: #0b162d; box-shadow: 0 0 0 100vmax #0b162d; }
.journey-grid .journey-card { background: linear-gradient(140deg, #1d2d4a, #132039); border-color: #61749355; }
.journey-grid .journey-card.featured { background: linear-gradient(140deg, #322b40, #1d223a); border-color: #bba07177; }
.journey-card:before { border-color: #d8b779; }
.journey-top > span { color: #9eafd2; }
.journey-card:hover { box-shadow: 0 10px 35px #03081b50; }
.invitation.container { background: radial-gradient(ellipse at 50% 0, #4a3a5555, transparent 65%), linear-gradient(120deg, #152444, #211d37); border-color: #c4a37355; }
.site-footer { background: #040919; border-top-color: #3f496655; }
.media-toolbar { background: #14213c; border-color: #4b587666; }
.art-orb { background: radial-gradient(ellipse at 50% 75%, #6764ab55, transparent 65%), #13203e; }
.art-lotus { background: radial-gradient(ellipse at 50% 80%, #b98a5750, transparent 70%), #25203a; }
.art-stars { background: radial-gradient(ellipse at 50% 50%, #62509866, transparent 70%), #101b35; }
.art-orbit { border-color: #d9b57277; box-shadow: 0 0 35px #b096dc26; }

/* User-provided posters remain uncropped and link to their full resolution. */
.section.container.brand-visions { background: #101a32; box-shadow: 0 0 0 100vmax #101a32; }
.brand-vision-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.brand-vision { display: block; border: 1px solid #a594704d; border-radius: 9px; overflow: hidden; background: #111e37; }
.brand-vision:hover { transform: translateY(-4px); border-color: #dfbd7c; box-shadow: 0 14px 40px #0004; }
.brand-vision > img { width: 100%; aspect-ratio: 1; object-fit: contain; height: auto; }
.brand-vision > span { display: grid; grid-template-columns: 1fr auto; padding: 19px 21px 23px; gap: 8px; align-items: center; }
.brand-vision small { font-size: 14px; letter-spacing: 2px; color: #bfa982; grid-column: 1 / -1; }
.brand-vision strong { font: 500 18px/1.8 var(--serif); }
.brand-vision .icon { width: 18px; color: var(--gold); }
.brand-vision-note { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 27px; font-size: 14px; color: var(--subtle); }
.brand-vision-note .icon { width: 13px; }
.about-art { width: 100%; max-width: 430px; padding-block: 30px; }
.sacred-visual--portrait { aspect-ratio: 4/5; overflow: hidden; border-radius: 180px 180px 12px 12px; border: 1px solid #d9b77966; box-shadow: 0 0 60px #60519c22; }
.sacred-visual--portrait img { object-position: 72% center; }

/* Keep the reading area quiet, with the same blue / gold family. */
.chat-sidebar { background: #081124; }
.chat-toolbar { background: linear-gradient(110deg, #152440, #1b213d); border-bottom-color: #99897144; }
.chat-workspace { background: radial-gradient(ellipse at 75% 15%, #34294f4d, transparent 65%), #0c172e; }
.welcome-emblem { border-color: #ddbd7b88; background: radial-gradient(circle, #d6ae5522, transparent); box-shadow: 0 0 40px #7078d333; }
.welcome-emblem:after { border-color: #a99ad855; }
.suggestion-grid button { background: #172541; border-color: #5d6b8e66; }
.suggestion-grid button:hover { background: #233455; border-color: #c2aa7a88; }
.composer-area .composer { background: #192b47; border-color: #7583a06e; }
.composer-area .composer:focus-within { border-color: #d8b880; box-shadow: 0 0 0 2px #dfbd7c19; }
.send-button { background: #dfbd7c; color: #16213c; }
.message-user .message-text { background: #253554; border-color: #67779b66; }

:root[data-text-size="large"] .brand-vision strong { font-size: 23px; }
:root[data-text-size="large"] .brand-vision-note { font-size: 16px; }
@media (min-width: 1700px) {
    .cosmic-hero-inner { width: min(1440px, calc(100% - 160px)); }
}
@media (max-width: 1100px) and (min-width: 701px) {
    .hero.cosmic-hero { min-height: 660px; }
    .cosmic-hero .hero-copy { width: 48%; }
    .sacred-visual--hero img { object-position: 61% center; }
    .cosmic-hero h1 { font-size: 34px; }
    .cosmic-hero .hero-description .desktop-break { display: none; }
    .brand-vision-grid { gap: 16px; }
    .brand-vision > span { padding: 16px; }
    .brand-vision strong { font-size: 16px; }
}
@media (max-width: 700px) {
    .hero.cosmic-hero { display: flex; flex-direction: column; min-height: 0; padding: 0; gap: 0; }
    .hero.cosmic-hero:before { display: none; }
    .sacred-visual--hero { position: relative; inset: auto; width: 100%; aspect-ratio: 1/1.03; mask-image: linear-gradient(#000 83%, transparent); }
    .sacred-visual--hero img { object-position: 72% center; }
    .cosmic-hero-inner { min-height: 0; margin-top: -8px; }
    .cosmic-hero .hero-copy { width: 100%; padding: 0 0 25px; text-align: center; }
    .cosmic-hero .eyebrow { justify-content: center; }
    .cosmic-hero h1 { margin: 15px 0 20px; }
    .cosmic-hero .hero-actions { justify-content: center; }
    .cosmic-hero .hero-note { justify-content: center; text-align: center; }
    .cosmic-hero .scroll-cue { position: relative; inset: auto; justify-content: center; padding: 8px 0 26px; }
    .sacred-caption { top: 16px; left: 16px; right: auto; bottom: auto; padding: 7px 11px; border: 1px solid #dfbd7c44; border-radius: 4px; background: #08132ab3; }
    .sacred-caption > span { font-size: 14px; letter-spacing: 2px; }
    .sacred-caption small { display: none; }
    .brand-vision-grid { grid-template-columns: 1fr; gap: 25px; }
    .brand-vision > span { padding: 18px 22px; }
    .brand-vision strong { font-size: 20px; }
    .about-art { max-width: 320px; width: 85%; }
}
/* Quiet, concise content: readable type with no decorative microcopy. */
#font-size-toggle { font-size: 14px; }
.brand small, .eyebrow, .video-meta > span:last-child { display: none; }
.cosmic-hero .eyebrow { display: flex; font-size: 16px; letter-spacing: 3px; }
:root .hero-description,
:root .welcome-description,
:root .composer textarea,
:root .message-text,
:root .message-user .message-text,
:root .suggestion-grid button > span,
:root .video-card p,
:root .page-hero > div > p:not(.eyebrow) { font-size: 16px; line-height: 1.9; }
:root[data-text-size="large"] .composer textarea,
:root[data-text-size="large"] .message-text,
:root[data-text-size="large"] .message-user .message-text { font-size: 24px; }
:root[data-text-size="large"] .hero-description,
:root[data-text-size="large"] .welcome-description { font-size: 21px; }
:root[data-text-size="large"] .suggestion-grid button > span { font-size: 18px; }
.cosmic-hero .hero-copy { width: 49%; }
.cosmic-hero h1 { font-size: clamp(34px, 3.4vw, 48px); }
.cosmic-hero .hero-description { letter-spacing: 1px; }
.cosmic-hero .hero-actions { margin-top: 32px; }
.virtues-lead { font-size: 16px; color: var(--muted); margin-top: 12px; }
.invitation .button { margin-top: 24px; }
.virtues-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 32px; }
.virtue { display: flex; align-items: center; gap: 27px; padding: 25px 10px; border-bottom: 1px solid #cfb78038; }
.virtue h3 { color: var(--gold-bright); font: 400 38px/1.4 var(--serif); }
.virtue p { color: var(--muted); font-size: 18px; }
.home-paths { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.home-path { display: flex; gap: 20px; align-items: center; padding: 30px; border: 1px solid var(--line); border-radius: 8px; background: #15213a; }
.home-path:hover { background: #1b2c47; border-color: #ccb17d77; }
.home-path > .icon { color: var(--gold); width: 28px; height: 28px; }
.home-path > .icon:last-child { margin-left: auto; width: 20px; }
.home-path h2 { font: 500 23px/1.7 var(--serif); }
.home-path p { font-size: 16px; color: var(--muted); margin-top: 9px; }
:root[data-text-size="large"] .virtue p { font-size: 22px; }
:root[data-text-size="large"] .virtues-lead,
:root[data-text-size="large"] .home-path p { font-size: 20px; }
@media (max-width: 900px) {
    .virtues-grid { gap: 0 18px; }
    .virtue { gap: 16px; }
    .home-paths { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
    .reading-label { display: none; }
    .cosmic-hero .hero-copy { width: 100%; }
    .cosmic-hero h1 { font-size: 30px; }
    .cosmic-hero .hero-description { letter-spacing: 0; }
    .virtues-grid { grid-template-columns: 1fr; }
    .virtue { padding: 19px 14px; gap: 30px; }
    .virtue h3 { font-size: 34px; }
    .home-path { padding: 24px 20px; gap: 13px; }
    .home-path h2 { font-size: 20px; }
    .home-path p { font-size: 16px; }
    .home-path > .icon { width: 22px; height: 22px; }
    .mode-badge { padding-inline: 5px; }
    .chat-toolbar-title > div > span { display: none; }
    .mode-select select { max-width: 110px; }
    .composer-help { line-height: 1.7; }
}
