/* Complete phone layout, including landscape and touch controls. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media(max-width:1024px){
 html{scroll-padding-top:96px}
 .header{position:sticky;top:0;z-index:60;display:grid;grid-template-columns:auto minmax(0,1fr) 44px;gap:12px;height:78px;padding:0 20px;background:var(--paper);border-bottom:1px solid #d8decf}
 .header nav{display:none;position:absolute;top:100%;left:0;right:0;z-index:61;width:auto;max-height:calc(100vh - 92px);max-height:calc(100dvh - 92px);overflow-y:auto;flex-direction:column;gap:6px;padding:14px 20px 18px;background:var(--paper);border-bottom:1px solid #c9d3be;box-shadow:0 10px 18px #18391f0b}
 .header nav.open{display:flex}
 .header nav a{display:flex;align-items:center;min-height:48px;padding:9px 13px;font-size:17px;line-height:1.5;border-radius:5px}
 .header nav a:hover,.header nav a:focus-visible{background:#e5ecd9;color:#254536}
 .header-cta{justify-self:end;min-width:0;max-width:100%;min-height:44px;font-size:14px;line-height:1.45;gap:12px;padding:4px 0;margin:0}
 .header-cta span{flex-shrink:0;font-size:23px}
 .menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;justify-self:end;width:44px;height:44px;min-width:44px;min-height:44px;padding:10px;border:1px solid #cbd4bf;border-radius:6px;background:#eff2e8}
 .menu-toggle span{width:19px;height:1.5px;background:#2e4d33;flex-shrink:0}
 .menu-toggle[aria-expanded=true]{background:#dce7cb;border-color:#9ab284}
}
@media(max-width:780px){
 .section{padding-block:56px}
 .section-heading{gap:22px;margin-bottom:32px}
 .section-kicker{gap:12px;margin-bottom:24px;font-size:12px;line-height:1.65}
 .section-kicker span:last-child{font-size:12px;letter-spacing:.3px}
 .hero{padding-top:27px;padding-bottom:30px;gap:28px}
 .hero h1{font-size:clamp(42px,13.3vw,56px);line-height:1.08;letter-spacing:-2.6px}
 .hero-desc{font-size:17px;line-height:1.75}
 .hero .button{min-height:50px;margin-top:24px}
 .hero-bottom{margin-top:23px;line-height:1.7}
 .header-cta{font-size:13px;gap:9px}
 .header .wordmark i,.header .wordmark small{display:none}
 .header .wordmark{font-size:26px;letter-spacing:-1.8px}
 .hero-visual,.project-grid>*,.section-heading>*,.voice-card,.review-copy,.route article,.proof-slot,.article-card,.evidence-caption{min-width:0}
 .project-grid{gap:26px}
 .project-grid p,.section-heading>p,.section-heading>div>p,.start-grid p,.work-accordion p,.timeline-panel p,.proof-slot p{font-size:16px;line-height:1.8}
 .owner-review{padding-block:56px 5px;gap:26px}
 .owner-review+#project{padding-top:56px}
 .review-copy>p{font-size:16px;line-height:1.8}
 .voice-card{min-width:0;padding:22px;overflow:hidden}
 .voice-card-header>div:last-child{min-width:0}
 .voice-card-header span{font-size:12px;line-height:1.6}
 .voice-action-row{min-width:0;gap:12px;flex-wrap:wrap}
 .voice-main-play{min-height:48px;font-size:15px;gap:11px}
 .voice-play-icon{width:44px;height:44px;min-width:44px;min-height:44px;flex-shrink:0}
 .voice-clock{font-size:12px}
 #owner-audio{min-width:0;max-width:100%;width:100%;height:48px}
 .voice-bottom a{display:inline-flex;align-items:center;min-height:44px}
 .voice-bottom{padding-top:12px;margin-top:18px}
 .voice-wave{margin-block:22px}
 .work-accordion details{padding-block:19px}
 .work-accordion summary{display:grid;grid-template-columns:22px minmax(0,1fr) 24px;gap:12px;min-height:54px;align-items:center}
 .work-accordion summary h3{font-size:22px;line-height:1.4;min-width:0;overflow-wrap:anywhere}
 .work-accordion summary b{justify-self:end;margin:0;font-size:25px}
 .work-accordion details>div{padding:15px 0 0}
 .route-tabs button{min-height:46px;padding:11px 15px}
 .route-finish a{display:inline-flex;align-items:center;min-height:44px}
 .evidence-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;overflow:visible;border:0}
 .evidence-tabs button{min-width:0;min-height:56px;padding:11px 12px;text-align:left;white-space:normal;font-size:14px;line-height:1.5;background:#f5f6ed;border:1px solid #ccd6bf;border-radius:5px;color:#4c6540}
 .evidence-tabs button[aria-selected=true]{background:#284a35;border-color:#284a35;color:#f4f7e8}
 .evidence-panel{padding-top:24px;gap:22px}
 .evidence-caption .text-link{min-height:44px;line-height:1.6}
 .evidence-caption h3{font-size:25px;line-height:1.35}
 .evidence-view{min-height:0}
 .chart-tabs button{min-height:46px}
 .chart-card{padding:24px 18px}
 .chart-explorer input{min-height:44px;margin-block:10px}
 .chart-explorer{padding-top:18px;gap:12px}
 .chart-header h3{font-size:22px;line-height:1.4}
 .chart-caption{font-size:13px;line-height:1.8}
 .honest-note p{font-size:15px;line-height:1.8}
 .article-read{min-height:48px;padding-block:11px 5px}
 .photo-expand{position:static;display:flex;justify-content:space-between;width:100%;font-size:13px;padding:11px 14px;min-height:44px;border-top:1px solid #d6dfc9;border-radius:0;background:#eef2e7;box-shadow:none;gap:15px}
 .hero-photo img{height:auto;aspect-ratio:16/9;object-fit:contain}
 .article-image>span{position:static;display:flex;align-items:center;justify-content:space-between;width:100%;height:auto;min-height:44px;padding:9px 13px;border-radius:0;background:#eef2e7;font-size:22px;line-height:1.2}
 .article-image>span:before{content:'Рассмотреть проект';font-family:var(--sans);font-size:13px;font-weight:500;line-height:1.5}
 .article-image:hover>span{transform:none}
 .content-footer .text-link{min-height:44px}
 .proof-filled .slot-top,.proof-filled .slot-top span:last-child{font-size:12px;line-height:1.6}
 .proof-photo{aspect-ratio:auto;padding:7px;height:auto}
 .proof-photo img{width:100%;height:auto;max-height:none;object-fit:contain;aspect-ratio:auto}
 .proof-photo img[src$='seo1photo.webp']{aspect-ratio:2781/1073}
 .proof-photo img[src$='seo2photo.webp']{aspect-ratio:2748/1470}
 .proof-expand{position:static;display:flex;justify-content:space-between;width:100%;margin-top:9px;min-height:44px;padding:9px 12px;border-radius:4px;font-size:13px;box-shadow:none}
 .proof-slot>small{font-size:12px;line-height:1.8}
 .next-inner{padding:33px 26px;gap:12px}
 .next-inner h2{font-size:clamp(34px,9.6vw,40px);line-height:1.15;letter-spacing:-1.7px}
 .next-inner p{font-size:17px;line-height:1.8;margin-block:23px}
 .next-inner .button{min-height:50px;max-width:100%;font-size:15px;gap:20px}
 .next-inner .button span{flex-shrink:0}
 .next-graphic{display:block;position:relative;width:100%;height:240px;transform:none!important;margin:20px 0 0!important;max-width:100%}
 .o1{width:90px;height:90px}.o2{width:150px;height:150px}.o3{width:220px;height:220px}
 .orbit-center{width:65px;height:65px;font-size:33px}
 .orbit-tag{font-size:13px;line-height:1.5;padding:9px 12px}
 .t1{top:4px;left:0}.t2{top:52%;right:0}.t3{bottom:2px;left:0}
 .next-graphic:before{width:180px;height:180px;margin:-90px 0 0 -90px}
 .next-graphic:after{top:calc(50% - 90px);transform-origin:0 90px;width:6px;height:6px}
 .sources summary{min-height:54px;align-items:center;gap:15px;font-size:15px;line-height:1.6}
 .sources summary span:first-child{min-width:0}
 .sources-grid{padding-top:23px;gap:21px}
 .sources-grid p{font-size:14px;line-height:1.85}
 .footer-legal-grid a{display:inline-flex;align-items:center;min-height:44px;padding-block:7px;overflow-wrap:anywhere}
 .footer-legal-grid>div,.footer-legal-grid nav{gap:4px}
 .footer-requisites summary{min-height:48px;padding-bottom:6px;line-height:1.5}
 .footer-bottom a,.back-top{display:inline-flex;align-items:center;min-height:44px}
 .footer-bottom{overflow-wrap:anywhere}
 .legal-footer{padding-bottom:calc(70px + env(safe-area-inset-bottom,0px))}
 .motion-toggle{min-width:44px;min-height:44px;bottom:calc(12px + env(safe-area-inset-bottom,0px));right:12px}
 .dialog-close{width:44px;height:44px;min-width:44px;min-height:44px;right:8px;top:8px}
 #image-dialog{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);padding:60px 12px 17px}
 #image-dialog[open]{display:flex;flex-direction:column}
 .image-tools{flex-shrink:0;gap:14px;padding-bottom:13px}
 .image-tools button,.image-tools a{min-height:44px;display:flex;align-items:center;line-height:1.6}
 .image-tools button{font-size:13px;padding:9px 13px;flex-shrink:0}
 .image-tools a{font-size:12px;max-width:150px}
 .image-scroll{min-height:0;max-height:min(68vh,calc(100vh - 190px));max-height:min(68dvh,calc(100dvh - 190px))}
 .image-scroll #modal-image{max-height:min(68vh,calc(100vh - 190px));max-height:min(68dvh,calc(100dvh - 190px))}
 .is-zoomed .image-scroll #modal-image{max-height:none}
 #image-dialog p{font-size:13px;line-height:1.7;flex-shrink:0;margin-top:13px}
 a,button,summary{touch-action:manipulation}
}
@media(max-width:600px){
 .timeline-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:0}
 .timeline-tabs:before,.timeline-tabs button[aria-selected=true]:after{display:none}
 .timeline-tabs button{padding:16px;min-width:0;min-height:118px;display:flex;flex-direction:column;justify-content:center;text-align:left;border:1px solid #d1d9c6;border-radius:6px;background:#f9f9f1}
 .timeline-tabs button[aria-selected=true]{border:1px solid #7b9566;background:#e2ead6}
 .timeline-tabs button>span{font-size:12px;line-height:1.4;margin:0 0 7px}
 .timeline-tabs button strong{font-size:21px;line-height:1.35;font-weight:600}
 .timeline-tabs button small{font-size:13px;line-height:1.7;margin-top:6px;white-space:normal}
 .timeline-panel{padding-top:28px;gap:22px}
 .stage-metric span{max-width:140px;font-size:12px;line-height:1.7}
 .timeline-date{font-size:12px;letter-spacing:.5px;line-height:1.8}
 .stage-metric{min-width:0;padding-left:18px}
 .section-kicker span:last-child{max-width:46%}
}
@media(max-width:380px){
 .header{padding-inline:16px;gap:10px}
 .header .wordmark{font-size:25px}
 .header-cta{font-size:12px;gap:8px}
 .hero h1{font-size:clamp(42px,13.3vw,49px);letter-spacing:-2.6px}
 .hero-desc{font-size:16px}
 .hero-console{padding:20px}
 .console-bottom strong{font-size:42px}
 .console-bottom p{font-size:12px}
 .voice-card{padding:20px}
 .voice-card-header span{font-size:12px}
 .voice-main-play{font-size:14px}
 .voice-play-icon{width:44px;height:44px}
 .timeline-tabs{gap:10px}
 .timeline-tabs button{padding:13px;min-height:116px}
 .timeline-tabs button strong{font-size:19px}
 .timeline-tabs button small{font-size:12px}
 .work-accordion summary h3{font-size:21px}
 .work-accordion summary{grid-template-columns:19px minmax(0,1fr) 21px;gap:9px}
 .evidence-tabs{gap:8px}.evidence-tabs button{padding:10px;font-size:13px;min-height:58px}
 .chart-card{padding-inline:16px}
 .next-inner{padding:31px 22px}
 .next-inner .button{font-size:14px;padding:17px 19px;gap:16px}
 .next-inner h2{font-size:34px}
 .footer-top{gap:20px}
 .legion-wordmark{font-size:22px}
}
@media(max-width:1024px) and (max-height:500px){
 .header{height:64px}
 html{scroll-padding-top:78px}
 .header nav{max-height:calc(100vh - 80px);max-height:calc(100dvh - 80px);padding-block:10px;gap:3px}
 .header nav a{min-height:44px;font-size:15px}
 #image-dialog{max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);padding:56px 14px 12px}
 #image-dialog[open]{display:flex;flex-direction:column}
 .image-tools{flex-shrink:0;padding-bottom:10px;gap:20px}
 .image-tools button,.image-tools a{min-height:44px;display:flex;align-items:center}
 .image-scroll,.image-scroll #modal-image{min-height:0;max-height:calc(100vh - 170px);max-height:calc(100dvh - 170px)}
 .is-zoomed .image-scroll #modal-image{max-height:none}
 #image-dialog p{font-size:12px;line-height:1.5;flex-shrink:0;margin-top:10px}
 .dialog-close{width:44px;height:44px;min-width:44px;min-height:44px}
}
@media(max-width:780px){
 .work-accordion summary b{display:grid;place-items:center;width:21px;height:24px;line-height:1;font-size:0;transform:none!important;justify-self:end}
 .work-accordion summary b:before{content:'+';font-size:25px;line-height:1}
 .work-accordion details[open] summary b:before{content:'−'}
}
@media(max-width:780px){
 .text-link,.voice-teaser,.legion-wordmark{min-height:44px;align-items:center}
 .header .wordmark{min-height:44px;align-items:center}
 .voice-teaser{padding-block:6px}
}
/* Keep disclosure glyphs inside their column at every viewport. */
.work-accordion summary b{display:grid;place-items:center;width:24px;height:25px;line-height:1;font-size:0;transform:none!important;justify-self:end}
.work-accordion summary b:before{content:'+';font-size:25px;line-height:1}
.work-accordion details[open] summary b:before{content:'−'}
@media(max-width:1024px){
 .work-accordion summary{min-height:54px;align-items:center}
 .voice-teaser,.text-link,.legion-wordmark{min-height:44px;align-items:center}
 .sources summary{min-height:54px;align-items:center;gap:15px}
 .footer-legal-grid a{display:inline-flex;align-items:center;min-height:44px;padding-block:7px}
 .footer-requisites summary{min-height:48px;align-items:center}
 .image-tools button,.image-tools a,.dialog-close{min-height:44px}
}
@media(max-width:380px){.work-accordion summary b{width:21px;height:24px}}
