*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top right,#6330b8,transparent 60%),#140d3d;color:#fff9ed;font:17px/1.6 Arial,sans-serif}header,main,footer{max-width:1180px;margin:auto;padding:28px}header{display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid #aa7ae6}header>a{font-weight:900;letter-spacing:.08em}small{display:block;font-size:11px;color:#ffd875}nav,.links{display:flex;gap:20px;flex-wrap:wrap}a{color:#ffdc82}h1{font-size:clamp(34px,6vw,64px);line-height:1.05;margin:24px 0}h2{font-size:26px;line-height:1.2}p{max-width:850px}.panel{padding:clamp(22px,4vw,42px);background:linear-gradient(120deg,#281458,#3a1f80);border:1px solid #dcbd75;border-radius:24px;margin:24px 0;overflow-wrap:anywhere}.kicker{color:#ffdf8b;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:bold}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.cards .panel{margin:0}form.panel{max-width:850px}label{display:block;font-weight:bold;margin:18px 0}input,textarea,select{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #d1b5ff;border-radius:8px;background:#fffdf6;color:#201539;font:inherit}textarea{min-height:130px}button,.button{display:inline-block;border:0;border-radius:30px;padding:13px 22px;background:#ffdc82;color:#241443;font:700 16px/1.4 Arial,sans-serif;text-decoration:none;cursor:pointer}.check{font-size:14px}.check input{display:inline;width:auto;margin-right:8px}.notice{background:#204d68;border:1px solid #7cd4de;padding:16px;border-radius:12px}.photos{display:flex;gap:16px;flex-wrap:wrap}.photos img{width:220px;height:180px;object-fit:cover;border-radius:12px;max-width:100%}.filter{display:flex;gap:20px;align-items:end;margin-bottom:30px}.filter label{flex:1;margin:0}.map{padding:24px;border:1px solid #9d7cc1;border-radius:18px;margin:30px 0;background:linear-gradient(135deg,#18344e,#252951)}footer{font-size:13px;border-top:1px solid #aa7ae6;margin-top:70px}input:focus,textarea:focus,select:focus,button:focus,a:focus{outline:3px solid #6de8ff;outline-offset:4px}@media(max-width:700px){header{display:block}nav{margin-top:20px}main,header,footer{padding:20px}.cards{grid-template-columns:1fr}.filter{display:block}.filter button{margin-top:14px}.photos img{width:100%;height:auto}}