/* Latest Figma hierarchy: heading → flower → meaning and action. */
*,*::before,*::after{animation-timing-function:ease-in-out;transition-timing-function:ease-in-out}
.loading-flower img,.panel:not([hidden]) .person-link,.panel:not([hidden]) .person.actual{animation-timing-function:ease-in-out}
.btn,a,button,.person,.map-zone,.map-person,.semantic-vector .resolve-line,.semantic-vector .resolve-dot,.loading-screen.leaving{transition-timing-function:ease-in-out}
.terminal{gap:15px}.terminal-success{color:#fff}.terminal-success img{margin:3px}
.narrative-copy p,.scene-experiment p,.scene-experiment blockquote{color:rgba(255,255,255,.5)}
.narrative-display h2{font-size:clamp(44px,3.65vw,70px);color:rgba(255,255,255,.25);font-weight:300;line-height:1.2}
.hero-layout{width:100%;gap:clamp(22px,5.55dvh,60px)}
.horizontal-mode main>.hero{place-items:start center;align-content:start;padding-top:clamp(20px,7.5dvh,81px)}
#thought .narrative-copy>p{max-width:402px}
.hero-ending{display:flex;flex-direction:column;align-items:center;gap:clamp(16px,2.8dvh,30px)}
.hero .lead{margin:0;font-size:clamp(14px,1.85dvh,20px);line-height:1.5}
.hero h1{font-size:clamp(38px,6.5dvh,70px);line-height:1.2}
.flower-field .flower{width:clamp(160px,34.8dvh,376px);height:clamp(160px,34.8dvh,376px)}
.btn,.btn.primary{border:2px solid #2e2e2e;border-radius:50px;padding:12px 26px;min-height:52px;color:rgba(255,255,255,.75);background:none;gap:10px;text-align:center;justify-content:center;font-size:clamp(15px,1.25vw,24px);line-height:1.5}
.btn:hover,.btn.primary:hover{border-color:#555;color:#ddd;background:none}
.action-arrow{display:block;width:20px;height:16px;flex-shrink:0;opacity:.65;transition:opacity .2s ease-in-out}
.btn:hover .action-arrow{opacity:1}.scene-actions{gap:12px 18px}
.horizontal-mode .section .narrative-grid{min-height:calc(100dvh - var(--header-height) - 2 * clamp(50px,9.25dvh,100px))}
.horizontal-mode .section{padding-top:clamp(50px,9.25dvh,100px);padding-bottom:clamp(50px,9.25dvh,100px)}
.section>.wrap{width:calc(100% - 15.6vw);max-width:1620px}.narrative-grid{column-gap:7.5vw;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.narrative-copy>p{max-width:540px;font-size:clamp(15px,1.05vw,20px);line-height:1.5}.narrative-copy p+p{margin-top:24px}
.narrative-copy .semantic-vector{margin-top:auto;flex:none;height:clamp(170px,34dvh,367px);width:100%}.narrative-copy .semantic-vector svg{max-height:100%}
.offer-layout .narrative-copy{padding-top:12px}.offer-layout .narrative-display{justify-content:flex-start}.offer-options{display:flex;flex-direction:column;gap:30px;margin:clamp(40px,13dvh,140px) 0 36px;padding-left:clamp(0px,5.2vw,100px)}
.option-row{display:flex;flex-direction:column;gap:10px}.option-row>img{display:block;width:30px;height:30px}.option-row select[hidden]{display:none}
.option-choices{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px}.option-choices button{font:inherit;font-size:clamp(15px,1.25vw,24px);line-height:1.5;color:rgba(255,255,255,.25);padding:0;border:0;background:none;min-height:36px;text-align:left;transition:color .2s ease-in-out}.option-choices button[aria-pressed=true]{color:rgba(255,255,255,.75)}.option-choices button:hover{color:#aaa}.option-choices button+button::before{content:'•';color:rgba(190,190,190,.1);margin-right:18px;pointer-events:none}
.offer-layout .narrative-copy>.scene-actions{margin-top:auto;justify-content:flex-start;padding-left:clamp(0px,5.2vw,100px)}
.offer-map-scene{margin-top:auto}.offer-map-scene .moscow-scheme{margin:0}.offer-map-scene .moscow-scheme>svg{max-height:clamp(250px,46.8dvh,506px)!important}.offer-map-scene .map-caption{font-size:11px}
.hero-ending .btn{max-width:calc(100vw - 40px)}
.horizontal-mode #contact .narrative-grid{min-height:calc(100dvh - var(--header-height) - clamp(50px,9.25dvh,100px) - 100px)}
@media(min-width:801px) and (max-width:1500px){.offer-options{gap:18px;margin-top:40px;margin-bottom:24px;padding-left:0}.option-row>img{width:24px;height:24px}.option-choices button{font-size:16px;min-height:30px}.option-row{gap:8px}.offer-layout .narrative-copy>.scene-actions{padding-top:20px;padding-left:0}}
@media(max-width:1050px){.section>.wrap{width:calc(100% - 80px)}.narrative-grid{column-gap:60px}.offer-options{padding-left:0;gap:20px;margin-top:60px}.offer-layout .narrative-copy>.scene-actions{padding-left:0}.option-choices{gap:8px 10px}.option-choices button+button::before{margin-right:10px}.scene-actions .btn{font-size:15px}.narrative-copy .semantic-vector{height:230px}}
@media(max-width:800px){.narrative-grid{grid-template-columns:1fr;gap:40px}.horizontal-mode .section{padding:48px 0}.section>.wrap{width:calc(100% - 48px)}.horizontal-mode .section .narrative-grid{min-height:0}.narrative-copy>p{font-size:16px}.narrative-copy .semantic-vector{margin-top:32px;height:220px}.offer-options{margin-top:32px}.offer-map-scene{margin-top:30px}.offer-map-scene .moscow-scheme>svg{max-height:300px!important}.hero-layout{gap:26px}.flower-field .flower{width:min(240px,29dvh);height:min(240px,29dvh)}.hero-ending{gap:22px}.hero .lead{font-size:15px}.btn{font-size:16px}}
@media(max-width:520px){.section>.wrap{width:calc(100% - 40px)}.hero h1{font-size:38px}.hero-ending .btn{font-size:14px;min-height:52px;padding:10px 18px}.hero .lead{font-size:14px}.terminal{gap:12px}.offer-options{gap:22px}.option-row>img{width:24px;height:24px}.option-choices button{font-size:16px}.narrative-display h2{font-size:38px}.signature img{width:22px;height:22px}}
@media(max-height:620px) and (min-width:801px){.hero-layout{gap:16px}.hero h1{font-size:32px}.flower-field .flower{width:155px;height:155px}.hero .lead{font-size:13px}.hero-ending{gap:14px}.hero-ending .btn{font-size:14px;min-height:44px;padding:8px 20px}.horizontal-mode .section{padding-top:32px;padding-bottom:32px}.horizontal-mode .section .narrative-grid{min-height:calc(100dvh - var(--header-height) - 64px)}.offer-options{gap:12px;margin-top:30px}}
