@font-face{font-family:Sora;src:url('assets/sora.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url('assets/inter.ttf') format('truetype');font-weight:400;font-display:swap}
:root{color-scheme:light;--paper:#f5f4ef;--ink:#171717;--muted:#65665f;--accent:#94816f}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;min-height:100svh;display:flex;flex-direction:column;position:relative;isolation:isolate}
.landscape{position:absolute;inset:0;overflow:hidden;z-index:-1;pointer-events:none;opacity:.5;mask-image:linear-gradient(90deg,transparent 35%,#000)}
.landscape svg{width:100%;height:100%;position:absolute;inset:0}
.contours{stroke:#c7c4b9;stroke-width:.8;animation:terrain 2.8s ease-out both}
.header{display:flex;align-items:center;justify-content:space-between;padding:46px 6.5vw 0;gap:32px}
.logo{width:184px;height:88px;object-fit:contain;object-position:left center}
.discipline{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
main{flex:1;display:flex;align-items:center;padding:70px 8vw 80px}
.intro{max-width:990px;animation-delay:.24s}
.eyebrow{margin:0 0 30px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:12px;line-height:1.6}
.status-dot{width:5px;height:5px;flex:none;background:var(--accent);border-radius:50%}
h1{font-family:Sora,Arial,sans-serif;font-weight:400;font-size:clamp(42px,5.9vw,86px);letter-spacing:-.055em;line-height:1.14;margin:0 0 39px}
.word{position:relative;white-space:nowrap}
.word svg{position:absolute;bottom:-11px;left:0;width:100%;height:13px;overflow:visible}
.word path{stroke:var(--accent);stroke-width:1.2;fill:none;stroke-dasharray:320;stroke-dashoffset:0;animation:draw 1.8s .7s ease-out both}
.description{max-width:575px;font-size:clamp(16px,1.32vw,19px);line-height:1.85;color:var(--muted);margin:0}
.invitation{margin:30px 0 0;font-size:14px;letter-spacing:.015em;color:var(--ink)}
.contacts{display:flex;flex-wrap:wrap;gap:16px 36px;margin-top:30px;font-style:normal}
.contacts a{display:flex;flex-direction:column;justify-content:center;gap:6px;min-height:48px;max-width:100%;color:var(--ink);font-size:14px;line-height:1.6;text-decoration:none;overflow-wrap:anywhere}
.contact-label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.contacts a:hover span:last-child{text-decoration:underline;text-underline-offset:4px}
.contacts a:focus-visible{outline:2px solid var(--ink);outline-offset:6px;border-radius:2px}
.footer{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:0 6.5vw 35px;animation-delay:.55s}
.signature{font-size:13px;line-height:2.1;margin:0}
.echo-word{position:relative;padding:3px 5px;border:1px solid #9e9e96;margin:0 2px;white-space:nowrap}
.echo-word img{position:absolute;right:-4px;top:-15px;width:15px;height:12px;object-fit:contain}
.location{font-size:11px;letter-spacing:.055em;color:var(--muted)}
.reveal{animation:appear 1.3s ease-out both}.intro.reveal{animation-delay:.24s}.footer.reveal{animation-delay:.55s}
@keyframes appear{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@keyframes terrain{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}
@keyframes draw{from{stroke-dashoffset:320}to{stroke-dashoffset:0}}
@media(min-width:1600px){.header,.footer{padding-left:calc((100vw - 1392px)/2);padding-right:calc((100vw - 1392px)/2)}main{padding-left:calc((100vw - 1344px)/2)}}
@media(max-width:650px){.header{padding:26px 26px 0;align-items:flex-start}.logo{width:143px;height:71px}.discipline{max-width:95px;font-size:9px;line-height:1.7;letter-spacing:.1em;padding-top:17px;text-align:right}main{padding:74px 28px 78px;align-items:center}.eyebrow{font-size:10px;letter-spacing:.08em;margin-bottom:27px}h1{font-size:clamp(38px,8.6vw,56px);margin-bottom:34px;line-height:1.2;letter-spacing:-.055em}.description{font-size:16px;line-height:1.8}.desktop-break{display:none}.footer{padding:0 28px 28px;flex-direction:column;align-items:flex-start;gap:19px}.signature{font-size:11px}.location{font-size:10px}.landscape{opacity:.27;mask-image:linear-gradient(90deg,transparent,#000);left:0}.invitation{font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

