/* Readable copy and comfortable controls across shared page templates. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.intro,.section-heading>p,.lesson-intro p,.lesson-item p,.purpose>div>p:not(.eyebrow),.questions details p,.starting-card>p,.community-inline,.learn-hero p:not(.eyebrow),.learn-section p,.learn-grid p,.path-card p,.journey-stop p:not(.path-kicker),.gentle-note p,.support-section p,.one-next p:not(.eyebrow),.aq-attribute-grid p,.aq-belief>div>p,.learn-page details p{font-size:16px;line-height:1.8}
.learn-home-entry p,.lesson-banner>p,.glossary dd,.checklist small{font-size:15px;line-height:1.75}
.welcome,.learn-meta,.aq-meta,.source,.source-row,.reading-note,.aq-note,.aq-page figcaption,.check-status,.destination-note,.path-kicker,.eyebrow,.lesson-kicker,.menu-eyebrow,.path-card>small,.lesson-item small,.section-top>span,.curiosity-caption{font-size:12px!important;line-height:1.7}
.purpose .art-note{font-size:13px!important;line-height:1.75}
.aq-page .learn-section p.eyebrow,.aq-anchor>.eyebrow,.aq-practice .eyebrow,.aq-hope .eyebrow,.aq-responsibility .eyebrow,.one-next .eyebrow{font-size:12px}
.primary,.learn-page .primary,.one-next .primary,.journey-hero .primary,.aq-hero .primary{font-size:15px;line-height:1.5;min-height:48px;white-space:normal;max-width:100%;gap:20px}
.text-link,.full-guide-link,.path-link,.aq-belief .path-link,.back-to-paths{font-size:15px;line-height:1.5;min-height:44px;align-items:center}
.back-to-paths{display:inline-flex}
.jump-nav a,.community-jumps a{font-size:14px!important;line-height:1.5;min-height:44px;display:inline-flex;align-items:center}
.other-paths a{font-size:15px!important;min-height:44px;display:inline-flex;align-items:center}
.site-header .header-cta{font-size:13px;line-height:1.5;min-height:44px;max-width:none}
.site-header .site-nav>a,.site-header .discover-menu>summary{font-size:14px;min-height:44px;line-height:1.5}
.site-header .discover-panel a{font-size:15px;min-height:44px;line-height:1.6}
.learn-page summary,.questions summary,.renewal-week summary,.learn-section .answer-card summary,.aq-more summary,.support-disclosure summary{font-size:16px;line-height:1.65;min-height:44px}
.questions summary,.renewal-week summary,.learn-section .answer-card summary{align-items:center}
.checklist label{font-size:16px;line-height:1.65;min-height:44px}.checklist input{width:22px;height:22px}
.faith-map a{font-size:15px;line-height:1.5;min-height:48px}
.prayer-stop small{font-size:13px;line-height:1.6}
.learning-tabs button{font-size:12px;line-height:1.5;min-height:48px}.learning-tabs button span{font-size:18px}.learning-tabs button small{font-size:13px}
#universe .oc-copy small{font-size:13px}#universe .oc-tag{font-size:11px;letter-spacing:1.4px}
#universe .oc-motion,.orbit-caption button{min-height:44px;min-width:44px;font-size:13px;line-height:1.5;padding:10px 14px}
.orbit-caption{font-size:11px;gap:10px;letter-spacing:1px}
.orb-label{font-size:12px;min-height:44px;padding:8px 12px}
.hero-bottom{font-size:10px;letter-spacing:1px}.hero-bottom a{display:inline-flex;align-items:center;min-height:44px}
footer .footer-credit,footer a:not(.brand){font-size:13px;line-height:1.8}footer .footer-credit a{display:inline-flex;align-items:center;min-height:44px}footer>a:not(.brand){display:inline-flex;align-items:center;min-height:44px}
.source a,.source-row a,.aq-page .source-row a{display:inline-flex;align-items:center;min-height:44px;padding:7px 3px;line-height:1.6}
@media(max-width:850px){.site-header .header-cta{max-width:170px;white-space:normal}.site-header .site-nav>a,.site-header .discover-menu>summary{padding:10px 8px}}
@media(max-width:700px){
 .hero h1{font-size:clamp(46px,12vw,65px)}
 .hero-bottom{height:auto;min-height:64px;gap:12px}.hero-bottom>span{max-width:48%}.hero-bottom>a{max-width:48%}
 .hero{padding-bottom:74px}.orbit-scene{height:470px}.orbit-caption{flex-wrap:wrap;justify-content:center;width:90%;white-space:normal;bottom:8px}.orbit-caption>span{flex-basis:100%;text-align:center}
 .one-next{padding:24px}.one-next .primary{width:100%;justify-content:space-between}
 .learning-tabs{grid-template-columns:1fr}.learning-tabs button{padding:16px 20px}.learning-tabs button span{display:inline;margin:0 12px}.learning-tabs button small{display:block;margin-top:5px}
 .faith-map{grid-template-columns:1fr}.faith-map a{font-size:15px}
 .renewal-week summary,.learn-section .answer-card summary{font-size:16px}.renewal-week summary>span{font-size:12px}
 .aq-chapters small{font-size:13px}.aq-chapters a{font-size:16px!important}
 footer{grid-template-columns:1fr;gap:8px}footer>a:not(.brand){grid-column:1;grid-row:2;justify-self:start}
}
@media(max-width:450px){.site-header .site-nav{display:grid;grid-template-columns:1fr 1fr;border-radius:22px;gap:4px}.site-header .site-nav>a,.site-header .discover-menu>summary{font-size:14px;min-height:44px}.site-header .brand-logo{width:170px}.site-header .header-cta{max-width:100%;font-size:13px}.site-header .discover-panel{left:0;right:0;width:auto;max-width:none}.site-header .brand{min-height:44px}}

/* Stable phone links keep moving artwork from crowding touch targets. */
@media(max-width:700px){
 .orbit-scene{height:auto;margin-top:10px;padding-bottom:18px}
 #orbit{height:360px}
 .orbit-center{top:166px}
 #orbit-labels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 7%}
 .orb-label{position:static;transform:none;white-space:normal;justify-content:center;opacity:1!important;font-size:13px;line-height:1.5;min-width:0}
 .orbit-caption{position:relative;left:auto;bottom:auto;transform:none;width:auto;margin:18px 7% 0}
}
@media(max-width:450px){.pillars-grid,.faith-grid{grid-template-columns:1fr}.pillars-grid .lesson-item{border-radius:16px}.lesson-item{padding:24px}.lesson-item h3{font-size:23px}}

/* Keep secondary text legible on dark panels and their gradient highlights. */
:root{--muted:#b8c9c1;--secondary-text:#b8c9c1}
.welcome,.section-top>span,.hero-bottom,.orbit-caption,.curiosity-caption,
.breadcrumb,.learn-meta,.aq-meta,.source,.source-row,.check-status,
.destination-note,.menu-eyebrow,.aq-page figcaption,
.starting-heading>p,.starting-card>p,.community-inline,
.section-heading>p,.lesson-intro p,.lesson-item p,.lesson-banner>p,
.questions details p,.learn-hero p:not(.eyebrow),.learn-section p,
.path-card p,.journey-hero p:not(.eyebrow),.journey-stop p:not(.path-kicker),
.gentle-note p,.support-section p,.one-next p:not(.eyebrow),
.glossary dd,.checklist small,.prayer-stop small,.belief-flow span,
.aq-hero p:not(.eyebrow),.aq-anchor>div>span,.aq-chapters small,
footer .footer-credit,footer>a:not(.brand){color:var(--secondary-text)}
.reading-note,.aq-note,.purpose .art-note{color:var(--secondary-text)!important}
.learning-tabs button,.learning-tabs button small{color:var(--secondary-text)}
.learning-tabs button span{color:#dce6df}
.learning-tabs button[aria-selected=true] span{color:var(--gold)}
.card-num,.lesson-number,.belief-emblem b,.belief-points p::before{color:#dfc58e}
.orb-label{opacity:1!important;color:#eef2ec;background:#0c171a}
.orb-label b{color:var(--secondary-text)}
#universe .oc-copy small{color:#c4d2ca}
#universe .oc-tag{color:#e4dcc3;background:#0c1816ed;padding:4px 8px;border-radius:5px}
/* Preserve the semantic gold accents within secondary copy. */
.learn-section p.eyebrow,.support-section p.eyebrow,.aq-page .learn-section p.eyebrow{color:#dfc58e}
footer .footer-credit a{color:var(--gold)}

/* Two-tone focus remains visible on dark panels and gold action buttons. */
:is(a,button,summary,input,canvas,[tabindex]):focus-visible{outline:3px solid #f5d899;outline-offset:3px;box-shadow:0 0 0 3px #080e10}
.primary:focus-visible{outline-color:#f5d899;box-shadow:0 0 0 3px #080e10,inset 0 0 0 2px #152023}
/* Inset rings stay inside clipped disclosure cards and scrollable menus. */
.aq-page .aq-belief summary:focus-visible,.site-header .discover-panel a:focus-visible{outline:3px solid #f5d899;outline-offset:-4px;box-shadow:none}
.skip{z-index:100;max-width:calc(100vw - 40px)}
.skip:focus{top:12px}
#lesson:focus-visible,main:focus-visible,section[tabindex='-1']:focus-visible{outline-offset:5px}

/* Leave breathing room between the orbit controls and the hero divider. */
@media(min-width:701px){.orbit-caption{bottom:48px}}
@media(max-width:700px){.orbit-scene{padding-bottom:30px}}
