:root{--paper:#f4f1e9;--paper-2:#e9e5da;--ink:#151713;--muted:#686a62;--blue:#1f5cff;--green:#25a76b;--line:rgba(21,23,19,.18);--container:min(1240px,calc(100% - 48px))}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Manrope",sans-serif}.grain{position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.skip-link{position:fixed;top:-60px;left:20px;z-index:50;background:var(--ink);color:#fff;padding:12px}.skip-link:focus{top:20px}a{color:inherit;text-decoration:none}.site-header{width:var(--container);height:86px;margin:auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:10px;font-size:1.15rem;font-weight:800;letter-spacing:-.04em}.brand img{width:23px;height:32px;object-fit:contain}.site-header nav{display:flex;gap:28px;font-size:.76rem;font-weight:600}.site-header nav a:hover{color:var(--blue)}.login{justify-self:end;font-size:.75rem;font-weight:700}.login span{color:var(--blue);margin-left:8px}main{width:var(--container);margin:auto}.masthead{min-height:420px;display:grid;grid-template-columns:1.2fr .8fr;align-content:center;column-gap:10%}.eyebrow,.section-label,.panel-top,.panel-bottom,.form-wrap>header>p{font:500 .61rem "DM Mono",monospace;letter-spacing:.08em;color:var(--blue)}.eyebrow{grid-column:1/-1;margin:0 0 28px}h1,h2{font-family:"Newsreader",serif;font-weight:600;letter-spacing:-.055em;margin:0}h1{font-size:clamp(4.8rem,8vw,8.4rem);line-height:.8}h1 em,h2 em{color:var(--blue);font-weight:500}.intro{align-self:end;color:var(--muted);font-size:.94rem;line-height:1.75;max-width:460px;margin:0 0 5px}.contact-grid{display:grid;grid-template-columns:.84fr 1.16fr;gap:22px;align-items:start;padding-bottom:120px}.contact-details,.message-panel{border:1px solid var(--ink);background:#fbfaf6}.contact-details{min-height:720px;padding:0 38px 34px;display:flex;flex-direction:column}.status{height:49px;margin:0 -38px;padding:0 22px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;font:500 .54rem "DM Mono",monospace}.status i,.panel-top i{width:6px;height:6px;border-radius:50%;background:var(--green)}.status b{font-weight:500;color:var(--muted)}.community{padding:42px 0 38px;border-bottom:1px solid var(--line)}.section-label{margin:0 0 22px}.community h2{font-size:3.1rem;line-height:.94}.community>p:not(.section-label){color:var(--muted);font-size:.78rem;line-height:1.7;margin:20px 0 26px}.telegram-button{height:60px;background:var(--blue);color:#fff;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:0 18px;font-size:.75rem;transition:transform .2s,box-shadow .2s}.telegram-button:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(31,92,255,.2)}.telegram-icon{width:28px;height:28px;border-radius:50%;background:#fff;color:var(--blue);display:grid;place-items:center;font-size:.7rem}.telegram-button i{font-style:normal}.direct{padding-top:35px}.direct>a{display:grid;grid-template-columns:80px 1fr auto;gap:12px;padding:18px 0;border-bottom:1px solid var(--line);align-items:center}.direct>a span{font-size:.68rem;color:var(--muted)}.direct>a strong{font-size:.74rem;text-align:right}.direct>a i{font-style:normal;color:var(--blue)}.notice{font-size:.58rem;line-height:1.6;color:var(--muted);margin:auto 0 0;padding-top:35px}.message-panel{box-shadow:16px 16px 0 var(--paper-2)}.panel-top,.panel-bottom{height:49px;display:flex;justify-content:space-between;align-items:center;padding:0 22px;border-bottom:1px solid var(--line);color:var(--ink)}.panel-top span:last-child{display:flex;align-items:center;gap:8px;color:var(--green)}.form-wrap{padding:38px 42px 40px}.form-wrap>header{margin-bottom:30px}.form-wrap>header>p{margin:0 0 12px}.form-wrap h2{font-size:2.9rem}.form-wrap>header>span{display:block;font-size:.61rem;color:var(--muted);margin-top:10px}form{display:grid;gap:17px}.field label{font-size:.66rem;font-weight:700}.label-row{display:flex;justify-content:space-between}.label-row span{font:400 .53rem "DM Mono",monospace;color:var(--muted)}input,textarea{width:100%;border:1px solid var(--line);border-radius:0;background:#fff;color:var(--ink);font:500 .8rem "Manrope",sans-serif;outline:0;margin-top:8px;padding:0 15px;transition:border .2s,box-shadow .2s}input{height:54px}textarea{min-height:145px;padding-top:15px;resize:vertical;line-height:1.6}input:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(31,92,255,.12)}input.invalid,textarea.invalid{border-color:#b7332c}.field small{display:block;min-height:10px;color:#a72b25;font-size:.56rem;margin-top:4px}.submit-button{height:58px;border:1px solid var(--blue);background:var(--blue);color:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 20px;font-weight:800;cursor:pointer;transition:transform .2s,box-shadow .2s}.submit-button:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(31,92,255,.2)}.form-note{text-align:center;color:var(--muted);font-size:.54rem;line-height:1.5;margin:0}.panel-bottom{border:0;border-top:1px solid var(--line);color:var(--muted);font-size:.52rem}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #f3a51b;outline-offset:3px}footer{background:var(--ink);color:#fff;padding:60px max(24px,calc((100% - 1240px)/2));display:grid;grid-template-columns:1fr auto 1fr;align-items:end}footer>div p{color:rgba(255,255,255,.5);font-size:.65rem;margin:16px 0 0}footer nav{display:flex;gap:24px;font-size:.65rem;color:rgba(255,255,255,.65)}footer>span{justify-self:end;font:400 .53rem "DM Mono",monospace;color:rgba(255,255,255,.42)}
@media(max-width:900px){:root{--container:calc(100% - 34px)}.site-header{grid-template-columns:1fr auto}.site-header nav{display:none}.masthead{grid-template-columns:1fr;min-height:440px}.intro{margin-top:35px;align-self:auto}.contact-grid{grid-template-columns:1fr}.contact-details{min-height:0}.notice{margin-top:45px}.message-panel{box-shadow:9px 9px 0 var(--paper-2)}footer{grid-template-columns:1fr 1fr;gap:40px}footer nav{justify-self:end}footer>span{justify-self:start}}
@media(max-width:560px){h1{font-size:4.3rem}.masthead{min-height:390px}.contact-grid{padding-bottom:80px}.contact-details{padding-inline:22px}.status{margin-inline:-22px}.status b{display:none}.community h2{font-size:2.65rem}.direct>a{grid-template-columns:65px 1fr auto}.direct>a strong{font-size:.65rem}.form-wrap{padding:32px 22px}.form-wrap h2{font-size:2.5rem}.panel-top,.panel-bottom{padding-inline:15px}.panel-bottom span:last-child{display:none}footer{grid-template-columns:1fr;padding-block:50px}footer nav{justify-self:start;flex-wrap:wrap}footer>span{justify-self:start}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Server-side alerts — the mockup only styled per-field errors from its own
   client-side check, so a validation failure or a success flash from the
   controller had nowhere to render. */
.form-alert{margin:0 0 20px;padding:13px 15px;border:1px solid #c8402f;background:#fdf0ee;color:#a5301f;font-size:.82rem;line-height:1.5;font-weight:600}
.form-alert-ok{border-color:#1f9d62;background:#edf8f2;color:#14724a}
