/* Final phone readability and shared image/video overlay layout. Load last. */
body{font-size:16px}
.header nav{overscroll-behavior:contain}
.header nav a,.header-cta,.voice-main-play,.film-toolbar button,.image-tools button,.image-tools a{min-height:44px}
#image-dialog{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow:hidden}
#image-dialog[open]{display:flex;flex-direction:column}
#image-dialog .dialog-close{width:44px;height:44px;min-width:44px;min-height:44px;display:grid;place-items:center}
#image-dialog .dialog-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
#image-dialog .image-tools{flex:none;min-width:0;flex-wrap:wrap}
#image-dialog .image-scroll{flex:1;min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y pinch-zoom}
.image-description{background:#e9eddf;border-bottom:1px solid #d1dac5;width:100%;margin-bottom:12px;position:relative;left:0}
.image-description summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;min-height:44px;padding:10px 13px;font-size:14px;line-height:1.6;font-weight:600;cursor:pointer;color:#3e5934}
.image-description summary::-webkit-details-marker{display:none}
.image-description summary svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.image-description[open] summary svg{transform:rotate(180deg)}
#image-dialog .image-description #modal-caption{padding:0 13px 14px;margin:0;font-size:15px;line-height:1.75;overflow-wrap:anywhere}

@media(max-width:1024px){
 #image-dialog{inset:0;width:100%;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;border:0;border-radius:0;padding:calc(56px + env(safe-area-inset-top,0px)) max(14px,env(safe-area-inset-right,0px)) calc(14px + env(safe-area-inset-bottom,0px)) max(14px,env(safe-area-inset-left,0px))}
 #image-dialog .dialog-close{top:calc(7px + env(safe-area-inset-top,0px));right:max(12px,env(safe-area-inset-right,0px))}
 #image-dialog .image-tools{gap:12px;padding-bottom:12px;justify-content:space-between;align-items:center}
 #image-dialog .image-tools button{min-height:46px;font-size:14px;padding:10px 15px}
 #image-dialog .image-tools a{min-height:44px;font-size:13px;line-height:1.55;max-width:150px;display:inline-flex;align-items:center;gap:8px}
 #image-dialog .image-scroll #modal-image{width:100%;height:auto;max-width:100%;max-height:calc(100vh - 194px);max-height:calc(100dvh - 194px);object-fit:contain}
 #image-dialog.is-zoomed .image-scroll #modal-image{width:auto;max-width:none;max-height:none;height:auto;object-fit:initial}
 .process-film.is-wide{overscroll-behavior:contain}
 .process-film.is-wide .film-toolbar,.process-film:fullscreen .film-toolbar{padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px));flex-wrap:wrap;gap:6px 10px}
 .process-film.is-wide .film-status,.process-film:fullscreen .film-status{padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));font-size:12px;line-height:1.6}
 .process-film.is-wide .film-toolbar button,.process-film:fullscreen .film-toolbar button{min-height:44px;font-size:13px}
 .process-film.is-wide .film-volume,.process-film:fullscreen .film-volume{width:72px;min-width:60px}
}

@media(max-width:780px){
 .hero-copy,.hero-visual,.leads-heading>div,.leads-track,.lead-card,.chart-card,.chart-header>div,.chart-explorer>div,.evidence-caption,.process-film,.process-intro-copy,.roadmap-planning,.roadmap-months,.footer-legal-grid>*{min-width:0}
 .hero-desc,.project-grid p,.section-heading>p,.section-heading>div>p,.start-grid p,.route p,.sticky-title p,.work-accordion p,.timeline-panel p,.numbers p,.result-grid p,.result-foot p,.honest-note p,.article-card p,.evidence-caption p,.proof-slot p,.review-copy>p,.lead-card-copy p,.process-intro-copy>p,.process-steps li>p,.observe-heading p,.observe-tools p,.month-panel>p,.month-panel li,.month-outcome p,.roadmap-close>p{font-size:16px;line-height:1.8}
 .voice-card-header span,.voice-clock,.review-ongoing,.voice-bottom,.proof-slot>small,.chart-caption,.fineprint,.source-note,.sources-grid p,.content-footer>span,.plan-caption{font-size:14px;line-height:1.8}
 .voice-main-play{min-height:48px;font-size:15px}
 .voice-play-icon{width:44px;height:44px;min-width:44px;min-height:44px}
 .voice-card-header strong{font-size:17px;line-height:1.45}
 .voice-card-header{gap:13px}
 .voice-avatar{width:46px;height:46px;font-size:28px}
 .voice-action-row{gap:12px;flex-wrap:wrap}
 .lead-card-top{flex-wrap:wrap;gap:7px;font-size:12px;line-height:1.6}
 .lead-card-top>span{min-width:0;max-width:100%;overflow-wrap:anywhere}
 .lead-card-top>span:last-child{font-size:13px;white-space:normal}
 .lead-open{font-size:15px;min-height:48px}
 .leads-note{font-size:14px;line-height:1.8}
 .hero-bottom{flex-wrap:wrap;gap:6px 22px;padding-top:24px;font-size:13px}
 .footer-about,.footer-requisites p{font-size:15px;line-height:1.8}
 .footer-label,.footer-bottom{font-size:13px;line-height:1.8}
 .footer-legal-grid a{font-size:14px;min-height:44px;gap:8px}
 .film-status,.process-intro-note p,.step-output strong,.observe-measure,.month-planned span{font-size:14px;line-height:1.75}
 .film-toolbar #film-play,.film-toolbar #film-mute{font-size:14px;min-height:46px}
 .film-toolbar #film-fullscreen{font-size:13px;min-height:46px;white-space:normal;max-width:150px}
 .month-tabs button{min-height:74px}
 .month-tabs button strong{font-size:14px;line-height:1.6}
}

@media(max-width:600px){
 .leads-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 .leads-filter{font-size:14px;line-height:1.5;padding:11px 10px;min-height:46px}
 .leads-filter[data-leads-filter="all"]{grid-column:1/-1}
 .planning-top{flex-wrap:wrap;gap:8px;font-size:11px;line-height:1.6}
}

@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .image-description summary svg{transition:none}
}

@media(max-width:780px){.legal-footer .motion-toggle{position:static;display:flex;width:max-content;max-width:100%;margin-top:24px;min-height:46px;padding:11px 15px;font-size:14px;line-height:1.65;white-space:normal;box-shadow:none}}
