/* Progressive motion: photographs arrive first; their frames keep the page steady. */
:root{--muted:#626c70;--coral-hover:#ad432c}
.button-coral{background:#c34e34}
.hero-line{display:block;overflow:hidden;padding-bottom:.09em;margin-bottom:-.09em}
.hero-line>span,.hero-line>em{display:block;animation:headline-arrive 1.15s var(--ease) both}
.hero-line:nth-child(2)>*{animation-delay:.14s}.hero-line:nth-child(3)>*{animation-delay:.28s}
.hero-photo{transform:translateY(var(--photo-shift,0));transition:transform .3s linear;animation:arch-open 1.4s var(--ease) both}
.hero-photo>img{animation:photo-journey 16s ease-in-out infinite alternate}
.hero-stamp>svg:first-child{animation-duration:26s}.hero-stamp>.icon{animation:float-plane 4s ease-in-out infinite}
.experience-note{animation:note-float 5.5s ease-in-out infinite}.note-star{animation:stamp-spin 22s linear infinite}
.status-dot{animation:dot-pulse 3s ease-in-out infinite}
.journey-ticker{overflow:hidden;border-bottom:1px solid var(--line);background:#f2eee5;padding:19px 0}
.ticker-track{display:flex;width:max-content;animation:ticker-travel 36s linear infinite}
.ticker-track>span{white-space:nowrap;display:flex;align-items:center;gap:36px;padding-right:36px;font-family:var(--serif);font-size:30px;letter-spacing:-.5px}
.ticker-track i{color:var(--coral);font-style:normal;font-size:24px}.journey-ticker:hover .ticker-track{animation-play-state:paused}
.js-ready [data-reveal]{opacity:0;transform:translateY(50px) scale(.985);transition:opacity .9s var(--ease),transform 1.1s var(--ease);transition-delay:var(--reveal-delay,0ms)}
.js-ready [data-reveal].revealed{opacity:1;transform:none}
.about-visual[data-reveal]{transform:translateX(-35px) rotate(-2deg)}
.lazy-image{transition:opacity 1s ease,clip-path 1.15s var(--ease),transform 1.5s var(--ease)!important}
.js-ready .lazy-image:not(.is-loaded){opacity:0;clip-path:inset(0 0 100% 0);transform:scale(1.08)}
.lazy-image.is-loaded{opacity:1;clip-path:inset(0)}
.media-loading{background-image:linear-gradient(100deg,#e6e4da 25%,#f4f1e8 45%,#e6e4da 65%);background-size:220% 100%;animation:media-shimmer 1.8s ease infinite}
.about-photo .is-loaded{animation:portrait-breathe 14s ease-in-out infinite alternate}
.journey-card:focus-visible>img,.journey-card:hover>img{transform:scale(1.09) rotate(.7deg)}
.journey-card:focus-visible .journey-detail{max-height:100px;opacity:1;padding-top:8px}
.journal-photo:hover img{transform:scale(1.055)}
.journey-card .journey-link .icon{transition:transform .4s var(--ease)}.journey-card:hover .journey-link .icon{transform:translate(4px,-4px)}
.button{position:relative;overflow:hidden}.button::after{content:'';position:absolute;inset:0;transform:translateX(-130%) skewX(-20deg);background:linear-gradient(90deg,transparent,#ffffff28,transparent);transition:transform .65s;pointer-events:none}.button:hover::after{transform:translateX(130%) skewX(-20deg)}
.text-link .icon{transition:transform .35s var(--ease)}.text-link:hover .icon{transform:translate(4px,-4px)}
.whatsapp-launch::before{content:'';position:absolute;inset:-6px;border:1px solid #25705255;border-radius:50%;animation:whatsapp-ring 3.5s ease-out infinite;pointer-events:none}
.motion-toggle{border:0;background:none;font-size:inherit;color:inherit;padding:0;text-decoration:underline;text-underline-offset:3px}.motion-toggle:disabled{cursor:default;opacity:1}
.footer-bottom>div{flex-wrap:wrap}
/* Contact: a living colour field, with the form on a calm, readable surface. */
.page-contact main{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(125deg,#f8f1e6,#e1ebe7,#f8e5dc,#e7e7f2);background-size:300% 300%;animation:contact-gradient 18s ease infinite}
.contact-ambience{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}
.contact-orb{position:absolute;width:540px;height:540px;border-radius:50%;filter:blur(45px);opacity:.45;animation:orb-drift 17s ease-in-out infinite alternate}
.contact-orb.one{background:#e6a88c;top:10%;left:-220px}.contact-orb.two{background:#a8c9bc;top:25%;right:-210px;animation-delay:-8s}.contact-orb.three{background:#d8d0ea;width:420px;height:420px;left:30%;bottom:-190px;animation-delay:-4s}
.page-contact .page-intro{padding-bottom:52px}.page-contact .contact-layout{gap:70px}
.page-contact .contact-details{padding:25px 10px 25px 0}
.page-contact .form-card{position:relative;background:#fffdf8eb;border:1px solid #ffffffc7;box-shadow:0 28px 75px #34444213,0 1px 0 #fff inset;border-radius:20px;backdrop-filter:blur(18px)}
.page-contact .form-card::before{content:'';position:absolute;top:-2px;left:8%;right:8%;height:3px;border-radius:10px;background:linear-gradient(90deg,transparent,#d18b69,#7fae9f,#aa9cce,transparent);background-size:200% 100%;animation:contact-gradient 6s ease infinite}
.contact-method{border-bottom-color:#9aa69f50;transition:transform .3s,color .3s}.contact-method:hover{transform:translateX(7px)}
.page-contact .contact-method>span{background:#ffffff9c;border:1px solid #ffffffb0;transition:background .35s,transform .35s}.page-contact .contact-method:hover>span{background:#fff;transform:rotate(-8deg)}
.contact-location{margin-top:30px;display:flex;gap:14px;align-items:center;font-size:10px;letter-spacing:1.6px}.contact-location .icon{color:var(--coral);width:32px;height:32px;animation:float-plane 5s ease-in-out infinite}
.language-switch{display:flex;align-items:center;border:1px solid #cbd1c9;border-radius:30px;padding:3px;gap:2px;font-size:10px;white-space:nowrap}.language-switch a{padding:5px 8px;border-radius:20px}.language-switch a[aria-current]{background:var(--ink);color:white}
html[lang=ru] .hero h1{font-size:clamp(48px,5.5vw,79px);white-space:normal}
html[lang=ru] .hero-copy>p{max-width:440px}html[lang=ru] .desktop-nav{gap:19px}html[lang=ru] .desktop-nav a{font-size:11px}
html[lang=ru] .pricing-card h3{min-height:60px}html[lang=ru] .hero-kicker{letter-spacing:1px}
@keyframes headline-arrive{from{transform:translateY(115%) rotate(2deg);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes arch-open{from{clip-path:inset(9% 4% 12% 4% round 180px 180px 10px 10px);opacity:.2}to{clip-path:inset(0 round 180px 180px 10px 10px);opacity:1}}
@keyframes photo-journey{from{transform:scale(1.02) translateY(-5px)}to{transform:scale(1.13) translateY(7px)}}
@keyframes portrait-breathe{from{transform:scale(1)}to{transform:scale(1.06)}}
@keyframes note-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-12px) rotate(1deg)}}
@keyframes dot-pulse{50%{box-shadow:0 0 0 7px #d85a3b06}}
@keyframes ticker-travel{to{transform:translateX(-50%)}}
@keyframes media-shimmer{to{background-position:-220% 0}}
@keyframes whatsapp-ring{0%{transform:scale(.85);opacity:0}20%{opacity:.8}90%,100%{transform:scale(1.35);opacity:0}}
@keyframes contact-gradient{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes orb-drift{from{transform:translate(-35px,-35px) scale(.9)}to{transform:translate(60px,65px) scale(1.14)}}
@media(max-width:1150px){.nav-wrap{gap:16px}.desktop-nav{gap:16px}.nav-actions>.button{padding-inline:12px}.language-switch a{padding-inline:7px}.page-contact .contact-layout{gap:40px}}
@media(max-width:760px){.nav-actions>.button{display:none}.language-switch{font-size:10px;margin-right:6px}.language-switch a{padding:5px 7px}.ticker-track>span{font-size:24px;gap:24px;padding-right:24px}.journey-ticker{padding-block:14px}.js-ready [data-reveal]{transform:translateY(32px);transition-delay:0ms}.js-ready [data-reveal].revealed{transform:none}.page-contact .contact-layout{gap:25px}.page-contact .contact-details{padding:0}.page-contact .form-card{padding:27px 22px}.page-contact .page-intro{padding-bottom:32px}.contact-orb{width:360px;height:360px}.contact-location{margin-bottom:12px}html[lang=ru] .hero h1{font-size:clamp(48px,10vw,76px)}html[lang=ru] .hero-actions{gap:15px}html[lang=ru] .hero-actions .button{font-size:10px}html[lang=ru] .hero-meet{font-size:9px}html[lang=ru] .pricing-card h3{min-height:0}.footer-bottom>div{row-gap:10px}}
.motion-paused *,.motion-paused *::before,.motion-paused *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.motion-paused .hero-line>*,.motion-paused [data-reveal]{opacity:1!important;transform:none!important;clip-path:none!important}
.motion-paused .hero-photo{transform:none;clip-path:none;opacity:1}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-line>*,.hero-photo{animation:none!important;opacity:1;transform:none;clip-path:none}.js-ready [data-reveal]{opacity:1;transform:none}.lazy-image{transition:none!important}.lazy-image.is-loaded{clip-path:none;transform:none}*,*::before,*::after{animation:none!important;transition:none!important}}

.about-page .about-photo img{animation:portrait-breathe 14s ease-in-out infinite alternate}.article-cover{animation:fade-up 1.2s var(--ease)}
@media(max-width:760px){html[lang=ru] .hero h1{font-size:clamp(38px,12vw,76px)}html[lang=ru] h2,html[lang=ru] h3{hyphens:auto;overflow-wrap:anywhere}}
@media(max-width:550px){html[lang=ru] .journey-grid{grid-template-columns:1fr}html[lang=ru] .journey-card{height:335px}html[lang=ru] .journey-content h3{font-size:32px}html[lang=ru] .journey-tag{min-height:0}}
