@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',Arial,sans-serif;color:#172033;background:#07112d;font-synthesis:none}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-width:320px}
.page{min-height:100vh;position:relative;isolation:isolate;padding:26px 24px 26px;background:#07112d url('background.svg') center center/cover fixed no-repeat;overflow:hidden}
.page:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(2,8,28,.20),rgba(4,10,31,.05) 30%,rgba(5,8,24,.3))}
.hero{text-align:center;color:white;max-width:1050px;margin:0 auto 58px}
.brand{font-size:clamp(33px,4vw,51px);font-weight:800;letter-spacing:-.07em;color:#f2efe7;text-decoration:none;line-height:1}
.brand span{color:#ffbd38}
h1{font-size:clamp(46px,6.5vw,90px);letter-spacing:-.055em;line-height:1.02;margin:72px auto 26px;font-weight:800;text-wrap:balance}
.hero p{font-size:clamp(17px,1.7vw,21px);line-height:1.5;margin:0;color:#f5f7ff}
.card{max-width:1120px;margin:0 auto;background:#fff;border-radius:32px;padding:53px clamp(28px,6vw,88px) 50px;box-shadow:0 25px 80px rgba(0,6,22,.28),0 0 0 2px rgba(255,255,255,.2)}
.form-column{max-width:690px}
h2{font-size:31px;line-height:1.2;letter-spacing:-.04em;margin:0 0 5px}
.intro{margin:0 0 35px;color:#687383;font-size:16px}
.field{margin:0 0 26px}
label{display:block;font-size:17px;font-weight:700;margin-bottom:10px}
label span:not(.optional){color:#e05462}
.optional{font-size:14px;font-weight:400;color:#87909c}
input,select,textarea{width:100%;border:1px solid #cfd5de;border-radius:8px;background:#fff;color:#26344a;padding:14px 16px;min-height:54px;font:inherit;font-size:17px;outline:none;transition:border-color .2s,box-shadow .2s}
input:hover,select:hover,textarea:hover{border-color:#aebbc9}
input:focus,select:focus,textarea:focus{border-color:#1670b2;box-shadow:0 0 0 4px rgba(22,112,178,.13)}
select{appearance:none;padding-right:45px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10'%3E%3Cpath fill='%236d7b8e' d='M1 1l7 7 7-7' stroke='%236d7b8e' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 18px center;background-repeat:no-repeat;cursor:pointer}
select:invalid{color:#7c8797}
textarea{display:block;min-height:130px;resize:vertical}
.hint{color:#748091;font-size:14px;margin:8px 0 0}
.money-input{position:relative}
.money-input>span{position:absolute;left:17px;top:50%;transform:translateY(-50%);color:#526376;font-size:18px}
.money-input input{padding-left:36px}
.trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.status{padding:14px 17px;border-radius:8px;line-height:1.5;margin:0 0 20px}
.status.success{color:#14502f;background:#e7f6eb}
.status.error{color:#882b31;background:#fff0f0}
button{appearance:none;border:0;border-radius:8px;background:#086da7;color:#fff;font:inherit;font-size:17px;font-weight:700;padding:15px 23px;min-height:55px;cursor:pointer;transition:background .2s,transform .2s}
button:hover{background:#07598a;transform:translateY(-1px)}
button:focus-visible{outline:3px solid #ffbd38;outline-offset:3px}
button:disabled{cursor:wait;opacity:.7;transform:none}
button span{margin-left:12px}
.privacy-note{color:#8290a0;font-size:13px;margin:17px 0 0}
footer{color:rgba(255,255,255,.75);text-align:center;font-size:13px;padding-top:24px}
@media(max-width:650px){.page{padding:20px 15px;background-attachment:scroll}.hero{margin-bottom:33px}h1{margin:60px auto 20px;font-size:clamp(41px,10vw,60px)}.hero p{font-size:16px}.card{border-radius:22px;padding:34px 22px 38px}h2{font-size:27px}.intro{margin-bottom:27px}.field{margin-bottom:22px}label{font-size:16px}input,select,textarea{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
