:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;color:#1e2824;background:#f8f7f2;font-synthesis:none;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
body{margin:0;min-height:100svh;display:grid;grid-template-rows:auto 1fr auto;background:radial-gradient(circle at 83% 5%,#eeeee6 0,transparent 36%),#f8f7f2}
a{color:inherit;text-decoration:none}
header,footer{width:100%;max-width:1320px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px}
header{padding:26px 48px}
.brand{font-size:28px;font-weight:650;letter-spacing:-1.5px;line-height:1}
.brand span{margin-left:5px;font-size:13px;font-weight:500;letter-spacing:1.2px;color:#56675f}
main{width:min(100%,1320px);margin:auto;padding:4px 48px 10px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(370px,440px);align-items:center;gap:clamp(50px,7vw,116px)}
.still-life{width:100%;height:min(72svh,720px);min-height:410px;margin:0;overflow:hidden;border-radius:7px;background:#e9e4d7;box-shadow:0 24px 55px #443e3014}
.still-life img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 59%}
.invitation{width:100%}
h1{margin:0;font-size:clamp(44px,4.4vw,61px);font-weight:590;letter-spacing:-3px;line-height:1.07}
h1 span{color:#677a6a}
.intro{max-width:380px;margin:19px 0 32px;color:#4b5952;font-size:16px;line-height:1.55}
form>label{display:block;margin:0 0 7px;font-size:13px;font-weight:650;letter-spacing:.1px}
form>input{display:block;width:100%;height:52px;margin:0 0 18px;padding:12px 15px;border:1px solid #c7cec7;border-radius:9px;background:#fff;color:#1e2824;font:inherit;font-size:16px;box-shadow:0 1px 2px #1e282408}
form>input::placeholder{color:#69766e}
#invite-code{text-transform:uppercase;letter-spacing:.5px}
#invite-code::placeholder{text-transform:none;letter-spacing:0}
.privacy-note{margin:14px 0 0;color:#526058;font-size:12px;line-height:1.5}
.privacy-note a,footer a{color:#315643;text-decoration:underline;text-underline-offset:3px}
.area-link{margin:20px 0 0;color:#526058;font-size:13px;line-height:1.5}.area-link a{display:block;color:#315643;text-decoration:underline;text-underline-offset:3px;font-weight:600}
.message{margin:0 0 12px;color:#a12626;font-size:14px;line-height:1.45}
.message:empty{display:none}
button{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:52px;padding:13px 18px;border:0;border-radius:9px;background:#203b2c;color:#fff;font:inherit;font-size:15px;font-weight:650;letter-spacing:.1px;cursor:pointer;box-shadow:0 8px 22px #203b2c23}
button span{font-size:22px;font-weight:400;line-height:1}
button:hover{background:#315543}
button:disabled{opacity:.65;cursor:wait}
a:focus-visible,input:focus-visible,button:focus-visible{outline:3px solid #397252;outline-offset:3px}
footer{padding:18px 48px 22px;color:#58665d;font-size:12px;line-height:1.4}
@media(max-width:820px){main{display:grid;grid-template-columns:1fr;place-items:center;max-width:488px;padding:12px 24px 22px}.still-life{display:none}.invitation{max-width:440px}header{padding:22px 24px}footer{padding:14px 24px 20px}h1{font-size:43px;letter-spacing:-2.4px}.intro{margin:15px 0 27px}}
@media(max-width:820px) and (min-height:760px){main{gap:12px;align-content:center}.still-life{display:block;width:100%;height:118px;min-height:0;box-shadow:0 12px 28px #443e3010}.still-life img{object-position:center 72%}}
@media(max-width:380px){header{padding:18px 20px}main{padding:8px 20px 16px}footer{padding:12px 20px 16px}.intro{margin:12px 0 20px}}
@media(max-height:680px){main{padding-top:10px;padding-bottom:12px}.intro{margin:10px 0 18px}form>input{height:46px;margin-bottom:12px}footer{padding-top:10px;padding-bottom:12px}}
