/* TT2020 by Fredrick R. Brennan; SIL OFL 1.1, bundled in assets/fonts/. */
@font-face{font-family:'TT2020';src:url('/assets/fonts/TT2020StyleB-Russian.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}

/* Liquid Glass: tinted transparency, optical edges, and pointer-following light.
   Artwork stays crisp; glass is reserved for controls and layered surfaces. */
:root{--glass-fill:rgba(25,29,30,.76);--glass-edge:rgba(255,255,255,.22);--glass-shadow:0 12px 32px #0004,inset 0 1px 0 #ffffff38,inset 0 -1px 0 #ffffff08}
html[lang="ru"]{--display:'TT2020','Courier New',monospace}
.glass{position:relative;isolation:isolate;background:linear-gradient(135deg,#ffffff12,transparent 48%,#00ffcc06),var(--glass-fill);border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(22px) saturate(165%);backdrop-filter:blur(22px) saturate(165%)}
.glass:before{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(ellipse at var(--glass-x,25%) var(--glass-y,0%),#ffffff1c,transparent 62%);pointer-events:none;z-index:-1}
.glass:after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;background:linear-gradient(120deg,#ffffff0d,transparent 26% 74%,#c77dff0a);border-top:1px solid #ffffff28;mask-image:linear-gradient(90deg,transparent,#000 25% 75%,transparent)}
.site-header{position:sticky;top:0;background:#0a0a0a78;-webkit-backdrop-filter:blur(24px) saturate(140%);backdrop-filter:blur(24px) saturate(140%);border-bottom-color:#ffffff12;gap:24px}
.desktop-nav{height:auto;gap:25px;padding:13px 25px;border-radius:99px;flex-shrink:0}
.desktop-nav a:after{bottom:-8px}
.header-tools{display:flex;align-items:center;gap:23px}
.language-switch{display:grid;grid-template-columns:repeat(3,1fr);align-items:center;gap:0;padding:4px;border-radius:99px;flex-shrink:0;--switch-inset:4px}
.language-indicator{position:absolute;left:var(--switch-inset);top:var(--switch-inset);bottom:var(--switch-inset);width:calc((100% - 2 * var(--switch-inset))/3);border-radius:99px;background:linear-gradient(135deg,#ffffff24,#00ffcc15);box-shadow:inset 0 1px 0 #ffffff50,0 3px 10px #0004;transform:translateX(calc(var(--locale-index,0) * 100%));transition:transform .5s cubic-bezier(.22,1,.36,1);pointer-events:none}
.language-switch button{position:relative;z-index:1;border:0;background:transparent;color:#bcbcbc;padding:7px 9px;border-radius:99px;font-size:10px;line-height:1.2;min-height:30px;transition:background .25s,color .25s,box-shadow .25s}
.language-switch button:hover{color:white;background:#ffffff0c}
.language-switch button[aria-pressed="true"]{color:var(--cyan)}
.language-switch button:focus-visible{outline-offset:2px}
.button{border-radius:99px;padding:13px 24px;background-color:rgba(34,39,40,.5);overflow:hidden}
.button.primary{background:linear-gradient(140deg,#ffffffed,#defff4cf);border-color:#ffffffa0;box-shadow:0 10px 30px #00ffcc0d,inset 0 1px 1px white,inset 0 -2px 5px #4e9b7e24;color:#101715}
.button.primary:hover{background:linear-gradient(140deg,#eafff9,#79ffdfdc);box-shadow:0 8px 35px #00ffcc1e,inset 0 1px 1px white}
.button:not(.primary):hover{background-color:#26322dc4;border-color:#00ffcc70}
.mobile-nav{position:fixed;top:86px;left:var(--gutter);right:var(--gutter);border-radius:22px;padding:16px 25px;background-color:#121716e8}
.mobile-nav a{font-size:21px;border-bottom:1px solid #ffffff10}
.mobile-nav a:last-child{border-bottom:0}
.credential-card{border-radius:20px;background-color:#141b1bc2}
.credential-card:hover{box-shadow:0 15px 45px #0004,inset 0 1px 0 #ffffff48,0 0 25px #00ffcc08}
.contact-form,.form-success{border-radius:25px;background:radial-gradient(ellipse at 100% 0%,#00ffcc09,transparent 60%),linear-gradient(135deg,#ffffff12,transparent),#13191bce}
.form-success{border-color:#00ffcc45}
.field input,.field textarea,.field select{border-radius:12px;background-color:#0003;border-color:#ffffff1c;box-shadow:inset 0 1px 6px #0003}
.filter{border-radius:99px;background-color:#171d1ec9;box-shadow:inset 0 1px 0 #ffffff24,0 4px 12px #0003}
.filter[aria-pressed="true"]{background:linear-gradient(135deg,#ffffffeb,#ddfff2dc);color:#0a0a0a;border-color:#ffffff80}
.social-list{display:grid;grid-template-columns:1fr;gap:12px;margin-top:32px;width:100%}
.social-link{display:flex;align-items:center;justify-content:flex-start;min-height:72px;padding:20px 24px;border-radius:18px;background-color:#151c1bd1;font-size:19px;line-height:1.3;letter-spacing:-.02em}
.social-link:hover{background-color:#1c2927;border-color:#00ffcc70;box-shadow:0 12px 28px #0004,inset 0 1px 0 #ffffff48}
.project-modal{border-radius:28px;background-color:#141a1af0;box-shadow:0 30px 120px #0009,inset 0 1px 0 #ffffff50}
.modal-art{border-radius:27px 27px 0 0}
.modal-close{background:linear-gradient(135deg,#ffffff2a,#151a1aba);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:inset 0 1px 1px #ffffff50}
.modal-language{position:absolute;top:17px;right:68px;z-index:10;background-color:#171d1de8}
.toast{border-radius:99px;background:linear-gradient(135deg,#ffffff14,#00ffcc08),#111d1de8;box-shadow:inset 0 1px 0 #ffffff30,0 15px 50px #0005}
.home-cta{border-radius:28px;background:radial-gradient(ellipse at 75% 50%,#00ffcc06,transparent 55%),#101312}
.contact-layout,.credential-grid{position:relative}
.contact-layout:before{content:'';position:absolute;right:-3%;top:14%;width:250px;height:250px;background:radial-gradient(circle,#00ffcc0c,transparent 70%);pointer-events:none;z-index:-1}
html[lang="ru"] .hero-title{font-family:'Special Elite',Georgia,serif}
html[lang="ru"] .page-heading h1{font-size:clamp(42px,6vw,85px);letter-spacing:-.045em;max-width:85%;line-height:1.15}
html[lang="ru"] .hero-subtitle{font-size:12px}
html[lang="ru"] .section-heading h2{font-size:clamp(29px,3.5vw,43px)}
html[lang="ru"] .home-cta h2{font-size:clamp(28px,3.5vw,42px)}
.form-bottom .button{white-space:nowrap}
@media(max-width:1280px){.header-tools .availability{display:none}.desktop-nav{gap:22px;padding:12px 22px}.site-header{gap:18px}}
@media(max-width:760px){.site-header{gap:12px}.brand{margin-right:auto;flex-shrink:0}.header-tools{gap:0}.language-switch{padding:3px;gap:1px}.language-switch button{min-height:34px;padding:8px 9px}.menu-toggle{flex-shrink:0;margin-right:-10px}.hero-actions{flex-wrap:wrap;justify-content:center;max-width:340px}.hero-actions .button{padding:12px 18px;gap:14px}.hero-foot{gap:15px}.hero-coordinate{max-width:135px}.section-heading{gap:15px}.section-heading .text-link{max-width:100px;white-space:normal;flex-shrink:0}.credential-card{border-radius:18px}.contact-form,.form-success{border-radius:20px}.form-bottom{flex-direction:column;align-items:start}.form-bottom p{max-width:none}.page-heading .heading-star{font-size:65px;top:8px}.modal-text{padding:26px}.modal-text h2{font-size:31px;overflow-wrap:anywhere}.contact-layout:before{right:0;width:200px}.site-footer>span{margin-left:0}.site-footer .footer-signature{margin-right:auto}html[lang="ru"] .page-heading h1{font-size:clamp(36px,9vw,62px);max-width:95%}html[lang="ru"] .section-heading h2{font-size:29px}html[lang="ru"] .hero-subtitle{font-size:11px}.hero-topline>span:first-child{max-width:100%}.intro-section h2{font-size:26px}}
@media(max-width:390px){.brand,.brand-image{width:126px}.brand-image img{left:-34px}.site-header{gap:8px}.language-switch button{padding:8px 7px}.hero-title{font-size:56px}.hero-actions{gap:9px}.hero-foot{font-size:8px}.hero-foot .hero-coordinate{max-width:135px}.section-heading{align-items:start;flex-direction:column}.section-heading .text-link{max-width:none;white-space:nowrap}}
@supports not (backdrop-filter:blur(1px)){.glass{background-color:#1b2424}.site-header{background:#0a0a0af5}.project-modal{background-color:#141a1a}.button.primary{background:#e2fff5}}
@media(prefers-reduced-transparency:reduce){.glass{background-color:#1b2424;-webkit-backdrop-filter:none;backdrop-filter:none}.site-header{background:#0a0a0a}.button.primary{background:#e2fff5}}

/* Keep navigation readable during the capsule's width animation. */
.desktop-nav a{white-space:nowrap;flex-shrink:0}
.desktop-nav{overflow:hidden}
.site-footer .footer-signature{margin-right:auto}
@media(max-width:760px){.language-switch{gap:0;--switch-inset:3px}}
@media(prefers-reduced-motion:reduce){.language-indicator{transition:none}}
@media(max-width:760px){.social-list{margin-top:28px;gap:10px}.social-link{min-height:66px;padding:18px 22px;font-size:18px}}

/* Focus reads as light moving through glass, rather than a second frame. */
.field input,.field textarea,.field select{transition:background-color .25s,border-color .25s,box-shadow .3s}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:#ffffff45;background-color:#153c3038;box-shadow:inset 0 1px 0 #ffffff1c,inset 0 -2px 0 #7ceacc85,0 8px 28px #00ffcc08}
.field label{transition:color .25s,text-shadow .25s}
.field label:after{content:'';display:inline-block;width:9px;height:9px;margin-left:9px;background:#b9f8e6;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);opacity:0;transform:scale(.5) rotate(-35deg);transition:opacity .25s,transform .35s}
.field:focus-within label{color:#dcfff4;text-shadow:0 0 18px #00ffcc30}
.field:focus-within label:after{opacity:1;transform:scale(1) rotate(0)}
button:focus-visible,a:focus-visible{outline:1px solid #ffffff80;outline-offset:3px}
.glass:focus-visible,.language-switch button:focus-visible,.email-copy:focus-visible,.text-link:focus-visible,.back-top:focus-visible,.menu-toggle:focus-visible{outline:none;box-shadow:inset 0 -2px 0 #b9f8e6a6,0 8px 24px #00ffcc12}
.social-link:focus-visible{background-color:#1b2b26;border-color:#ffffff50;box-shadow:inset 0 1px 0 #ffffff30,inset 0 -2px 0 #b9f8e6a6,0 12px 30px #00ffcc0a}
.button.primary:focus-visible{box-shadow:inset 0 -3px 0 #24483cb3,0 10px 30px #00ffcc18}
.desktop-nav a:focus-visible{outline:none;color:#dcfff4;text-shadow:0 0 16px #00ffcc66;box-shadow:inset 0 -1px 0 #b9f8e6a6}
@media(prefers-reduced-motion:reduce){.field input,.field textarea,.field select,.field label,.field label:after{transition:none}}
@media(forced-colors:active){*:focus-visible{outline:2px solid Highlight!important;outline-offset:3px}}

/* The subject picker shares the form's glass, without the operating-system popup. */
.subject-picker{position:relative;min-width:0}
.field .native-subject{position:absolute;width:1px;height:1px;opacity:0;clip-path:inset(50%);padding:0;border:0;pointer-events:none}
.subject-trigger{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:46px;padding:13px 14px;border:1px solid #ffffff1c;border-radius:12px;background:#0003;color:#a8b8b1;text-align:left;font-size:11px;line-height:1.6;box-shadow:inset 0 1px 6px #0003;transition:background .25s,border-color .25s,box-shadow .25s}
.subject-trigger.has-value{color:white}
.subject-chevron{flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;opacity:.7;transition:transform .3s}
.subject-picker.is-open .subject-chevron{transform:rotate(180deg)}
.subject-picker .subject-trigger:focus-visible,.subject-picker.is-open .subject-trigger{outline:none;border-color:#ffffff45;background:#153c3038;box-shadow:inset 0 1px 0 #ffffff1c,inset 0 -2px 0 #7ceacc85,0 8px 28px #00ffcc08}
.subject-trigger[aria-invalid="true"]{border-color:#ce91bb99}
.subject-options{position:absolute;top:calc(100% + 9px);left:0;right:0;z-index:15;margin:0;padding:7px;list-style:none;border-radius:17px;background:linear-gradient(135deg,#253732f7,#14211ff7);border-color:#ffffff30;box-shadow:0 18px 45px #0008,inset 0 1px 0 #ffffff40;overflow:auto;overscroll-behavior:contain;animation:subject-reveal .22s cubic-bezier(.22,1,.36,1);transform-origin:top;scrollbar-width:thin;scrollbar-color:#ffffff40 transparent}
.subject-picker.opens-up .subject-options{top:auto;bottom:calc(100% + 9px);transform-origin:bottom}
.subject-option{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:47px;padding:12px 14px;border-radius:10px;font-size:12px;color:#c9d4d0;cursor:pointer;transition:background .18s,color .18s,box-shadow .18s}
.subject-option.is-highlighted{background:linear-gradient(110deg,#ffffff14,#00ffcc0a);color:white;box-shadow:inset 0 1px 0 #ffffff16}
.subject-option[aria-selected="true"]{color:#c1ffeb}
.subject-check{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;opacity:0;flex-shrink:0}
.subject-option[aria-selected="true"] .subject-check{opacity:1}
.subject-value{min-width:0;overflow-wrap:anywhere}
.field .subject-error{font-size:11px;color:#e5b8d2;margin:9px 0 0}
@keyframes subject-reveal{from{opacity:0;transform:translateY(3px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){.subject-options{animation:none}.subject-chevron,.subject-trigger,.subject-option{transition:none}}
@media(forced-colors:active){.subject-option.is-highlighted{outline:1px solid Highlight}.subject-option[aria-selected="true"]{color:Highlight}.subject-trigger[aria-invalid="true"]{border-color:Mark}}
.site-footer .footer-brand{margin-right:auto;flex-shrink:0}
