/* 12 columns: 5-column modules, 2-column central channel; 8px spacing rhythm. */
:root{--grid-margin:clamp(24px,7.8vw,150px);--grid-gap:clamp(16px,1.25vw,24px);--grid-top:clamp(40px,6.7dvh,72px);--grid-height:calc(100dvh - var(--header-height) - 2 * var(--grid-top));--text-zone:clamp(168px,20dvh,216px);--scene-gap:24px;--square: min(600px,calc(var(--grid-height) - var(--text-zone) - var(--scene-gap)))}
.horizontal-mode .section{padding:var(--grid-top) 0}.section>.wrap{width:calc(100% - 2 * var(--grid-margin));max-width:none}
.horizontal-mode main>section{border-left:0}
.header .wrap,.footer .wrap{width:calc(100% - 2 * var(--grid-margin));max-width:none}
.narrative-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0 var(--grid-gap)}
.horizontal-mode .section .narrative-grid,.horizontal-mode #contact .narrative-grid{min-height:var(--grid-height);height:var(--grid-height)}
.horizontal-mode #contact{padding-bottom:calc(var(--grid-top) + 80px)}
.horizontal-mode #contact .narrative-grid{min-height:calc(var(--grid-height) - 80px);height:calc(var(--grid-height) - 80px)}
.narrative-grid .narrative-copy{grid-column:1/span 5;grid-row:1;padding:0;min-width:0;display:flex;flex-direction:column}
.narrative-grid .narrative-display{grid-column:8/span 5;grid-row:1;padding:0;min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:24px}
.narrative-grid.copy-right .narrative-copy{grid-column:8/span 5}.narrative-grid.copy-right .narrative-display{grid-column:1/span 5}
.narrative-copy>p,#thought .narrative-copy>p{max-width:100%;font-size:clamp(15px,1.05vw,20px);line-height:1.5;margin:0}
.narrative-copy>p+p{margin-top:24px}.narrative-display h2{font-size:clamp(40px,3.65vw,70px);line-height:1.2;margin:0}
.scene-actions,.offer-layout .narrative-copy>.scene-actions{margin-top:auto;padding:0;justify-content:flex-end;gap:16px}.scene-actions .controls{margin:0;gap:12px;justify-content:flex-end}.scene-actions .controls button{font-size:clamp(13px,1vw,18px);margin:0}
.narrative-copy .semantic-vector,.horizontal-mode .narrative-copy .semantic-vector{width:min(100%,var(--square));height:auto;aspect-ratio:1;min-height:0;max-height:none;margin: auto 0 0;flex:none;display:block}
.narrative-copy .semantic-vector svg,.horizontal-mode .narrative-copy .semantic-vector svg{width:100%;height:100%;max-height:none;display:block}
.semantic-vector .resolve-line{stroke-dasharray:700;stroke-dashoffset:700}.semantic-vector.resolved .resolve-line{stroke-dashoffset:0}
.scene-experiment{margin-top:auto;flex:none;width:min(100%,var(--square))}.scene-experiment .panel{display:flex;flex-direction:column;gap:0}.scene-experiment .panel[hidden]{display:none}
.scene-experiment .panel>div:last-child{order:0;position:absolute;top:calc(var(--grid-top) + 80px);width:calc((100vw - 2 * var(--grid-margin) - 11 * var(--grid-gap)) / 12 * 5 + 4 * var(--grid-gap));max-width:600px}
#intention .scene-experiment .panel>.stage{order:1;position:relative;width:100%;height:auto;aspect-ratio:1;margin:0}
.people-stage>svg{width:100%;height:100%;inset:0}.people-stage .flower{width:43%;height:43%;max-width:none;left:28.5%;top:28.5%;margin:0}
.offer-map-scene{margin-top:auto;width:min(100%,var(--square));aspect-ratio:1;position:relative}
.offer-map-scene .moscow-scheme{width:100%;height:100%;margin:0}.offer-map-scene .moscow-scheme>svg{display:block;width:100%;height:100%;max-height:none!important}.offer-map-scene .map-caption{position:absolute;bottom:-20px;left:0;font-size:10px}
.offer-options{margin:auto 0;padding:0;gap:clamp(16px,2.8dvh,30px)}.option-choices{gap:8px 14px}.option-choices button{font-size:clamp(14px,1.1vw,21px)}.option-choices button+button::before{margin-right:14px}.option-row>img{width:30px;height:30px}
.button-arrow{position:relative;display:inline-block;width:20px;height:16px;flex:0 0 20px}.button-arrow img{position:absolute;inset:0;display:block;width:20px;height:16px;transition:opacity .22s ease-in-out}.arrow-rest{opacity:1}.arrow-hover{opacity:0}.btn:hover .arrow-rest,.btn:focus-visible .arrow-rest{opacity:0}.btn:hover .arrow-hover,.btn:focus-visible .arrow-hover{opacity:1}
.btn:hover,.btn.primary:hover{border-color:#2e2e2e;color:rgba(255,255,255,.75)}
.loading-flower{width:clamp(240px,45dvh,520px);height:clamp(240px,45dvh,520px)}.loading-flower img{width:100%;height:100%;object-fit:contain}
.statement-orbit{width:min(90vw,78dvh);aspect-ratio:1}.statement-orbit svg{width:100%;height:100%}
@media(max-width:1050px) and (min-width:801px){:root{--grid-margin:40px;--grid-gap:16px;--text-zone:180px}.option-choices button{font-size:14px}.option-row>img{width:24px;height:24px}.offer-options{gap:14px}.narrative-display h2{font-size:40px}.scene-actions .btn{font-size:14px;padding:10px 18px}}
@media(max-width:800px){:root{--grid-margin:24px;--grid-gap:16px;--square: min(100%,440px)}.horizontal-mode .section{padding:40px 0}.narrative-grid{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:32px}.horizontal-mode .section .narrative-grid,.horizontal-mode #contact .narrative-grid{height:auto;min-height:0}.narrative-grid .narrative-copy,.narrative-grid.copy-right .narrative-copy{grid-column:1/-1;grid-row:1}.narrative-grid .narrative-display,.narrative-grid.copy-right .narrative-display{grid-column:1/-1;grid-row:2;gap:32px}.narrative-copy .semantic-vector,.horizontal-mode .narrative-copy .semantic-vector,.scene-experiment,.offer-map-scene{width:100%;max-width:440px;margin-top:32px;align-self:center}.scene-experiment .panel>div:last-child{position:static;width:100%;margin-bottom:24px}.offer-map-scene{margin-top:0}.offer-options{margin:32px 0;gap:24px}.scene-actions,.offer-layout .narrative-copy>.scene-actions{justify-content:flex-start}.scene-actions .controls{justify-content:flex-start}.horizontal-mode #contact{padding-bottom:100px}.loading-flower{width:min(66vw,40dvh);height:min(66vw,40dvh)}}
@media(max-width:520px){:root{--grid-margin:20px}.narrative-display h2{font-size:38px}.option-row>img{width:24px;height:24px}.option-choices button{font-size:16px}.narrative-copy>p{font-size:16px}.offer-map-scene .map-caption{bottom:-16px}}
