/* Shared final layer: consistent navigation, controls and reading rhythm. */
.site-header{color:var(--ink)}
.site-header .brand,.site-header nav{color:var(--ink)}
.site-header .brand span{color:var(--muted)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
img,video,audio{max-width:100%}
button,input,select,textarea{font-family:var(--body,Arial,sans-serif)}
.button{white-space:normal;text-align:left;overflow-wrap:break-word;border-radius:8px}
.button span,.text-link span,.home-topics-disclosure a span{flex-shrink:0}
.home-page .home-topic-start{max-width:440px}
.home-page .home-topic-start select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='m5 7 5 5 5-5' fill='none' stroke='%23505b43' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.home-page .home-topic-start button{background:var(--olive);border-color:var(--olive)}
.home-page .home-topic-start button:hover{background:#3e4834}
.home-page .home-about{padding-top:48px}
.home-page .home-cover{margin-bottom:0}
.dialogue-page .letter-question,.reader-message{border-radius:8px;margin-inline:0;width:100%}
.dialogue-page .letter-answer,.author-message{width:auto;margin-left:0;padding-left:24px}
.dialogue-page .letter-question>p:not(.message-label){font-size:clamp(20px,2.1vw,24px);line-height:1.55}
.dialogue-page .reflection-feature-art{max-width:480px}
.reflection-feature-art img,.trust-intro figure img{display:block;width:100%;height:auto;object-fit:contain}
.letter-meta{flex-wrap:wrap;gap:8px 20px}
.topic-tile,.reflection-quicklinks a{border-radius:8px}
.topic-tile:focus-visible,.reflection-quicklinks a:focus-visible{outline:3px solid var(--olive);outline-offset:4px}
.contact input,.contact select,.contact textarea{border-radius:8px}
.contact .form-note,.newsletter-note{font-size:14px!important;line-height:1.65}
@media(max-width:1000px){
 .site-header .header-inner{flex-direction:row;flex-wrap:wrap;gap:12px;min-height:80px;padding-block:16px}
 .site-header .brand{font-size:22px;text-align:left}
 .site-header.menu-enhanced .menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--ink);font:400 14px/1.4 var(--body);cursor:pointer}
 .site-header.menu-enhanced nav{display:none;width:100%}
 .site-header.menu-enhanced .menu-toggle[aria-expanded=true]+nav{display:grid;grid-template-columns:minmax(0,1fr);gap:0;align-items:stretch;margin-top:8px;padding-top:12px;border-top:1px solid var(--line)}
 .site-header.menu-enhanced nav>a,.site-header .nav-topics>summary{display:flex;min-height:48px;padding:12px 8px;font-size:16px}
 .site-header .nav-topics{width:100%}
 .site-header .nav-topics ul{position:static;width:calc(100% - 8px);max-width:100%;max-height:none;margin:0 0 12px 8px;padding:0 14px;box-shadow:none;border:0;border-left:1px solid var(--line)}
 .site-header .nav-topics li a{padding:12px 8px;font-size:15px}
}
@media(max-width:600px){
 .home-page .home-cover{margin-top:20px}
 .home-page .cover-copy{padding:28px 22px 30px}
 .home-page .cover-copy h1{font-size:clamp(30px,8vw,42px);line-height:1.2}
 .home-page .cover-portrait img{max-height:380px;object-position:center 26%}
 .home-page .home-topic-start{max-width:none;gap:10px}
 .home-page .home-about{padding-top:40px}
 .home-page .section{padding-block:48px}
 .home-page .home-about .about-text .about-personal-lead{font-size:22px;line-height:1.55}
 .dialogue-page .letter-question{padding:22px;margin:0;width:100%}
 .dialogue-page .letter-answer,.author-message{padding-left:18px;margin-left:0;width:auto}
 .dialogue-page .letters-list{gap:36px}
 .dialogue-page .reflection-feature-art{max-width:360px}
 .dialogue-page .letter-answer .letter-answer-label,.message-label{font-size:11px;letter-spacing:.08em}
 .home-topics-disclosure li a{font-size:17px;line-height:1.5;gap:16px}
 .home-topics-disclosure>ul{margin-top:16px}
 .programs-two .program .button{font-size:14px;line-height:1.5;min-height:52px}
 .site-header .brand{font-size:20px}
 .free-meetings h1{font-size:clamp(34px,9vw,48px);line-height:1.2}
 .free-meetings .meeting-lead{font-size:19px}
 .event-faq summary{font-size:18px}
 footer nav a{font-size:14px;min-height:44px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Live browser QA: remove the inherited empty second hero column. */
.reference-course .course-hero{display:block;grid-template-columns:none}
.reference-course .course-hero h1{max-width:20ch}
.reference-course .course-hero .course-inner{width:min(1040px,calc(100% - 80px))}
@media(max-width:600px){.reference-course .course-hero .course-inner{width:calc(100% - 40px)}}

/* Preserve the complete portrait at every viewport size. */
.home-page .cover-portrait img{height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center top}
