.form-page{background:#fff}.form-main{position:relative;width:min(100% - 40px,920px);margin:60px auto 90px}.form-main:before{content:"";position:absolute;inset:50px -80px 0;background:url('assets/rainbow-background.png') center/100% 100% no-repeat;opacity:.25;z-index:-1}.back-link{display:inline-block;font-size:.9rem;text-underline-offset:4px;margin-bottom:32px}.form-heading{margin-bottom:35px}.form-heading h1{display:inline-block;margin:0 0 14px;font-size:clamp(2.2rem,5vw,3.25rem);font-weight:900;background:linear-gradient(#ff9400,#ff0000);background-clip:text;-webkit-background-clip:text;color:transparent}.form-heading h1:after{content:"";display:block;height:3px;margin-top:10px;background:linear-gradient(90deg,#ffcf6a,#ffa296,#fbcddd)}.form-heading p{font-weight:800;font-size:1.15rem;margin:0}.form-surface{background:#ffffffef;border:1px solid #f4dce4;border-radius:24px;padding:38px 40px;box-shadow:0 8px 30px #ddc6ca24}.form-surface h2{font-size:1.4rem;margin:0 0 12px}.form-intro{font-size:.95rem;margin:0 0 16px}.availability{font-size:.9rem;line-height:1.6;background:#fff5df;padding:12px 16px;border-left:3px solid #ff9a38;margin:0 0 26px}.field-row{display:grid;grid-template-columns:235px minmax(0,1fr);align-items:center;gap:20px;padding:22px 0;border-bottom:1px solid #f0e7eb}.field-row label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:1rem;font-weight:800;line-height:1.5}.required{flex:none;display:inline-block;color:#c43a17;background:#fff0e8;font-size:.8rem;border-radius:5px;padding:3px 7px}.field-row input,.field-row textarea{font:inherit;width:100%;padding:13px 14px;border:1px solid #cdbfc4;border-radius:9px;background:#fff;line-height:1.5;min-width:0}.field-row input:focus,.field-row textarea:focus{outline:3px solid #ffa77755;border-color:#ed7740}.field-row textarea{resize:vertical;min-height:170px}.message-row{align-items:start}.message-row label{padding-top:12px}.form-privacy{margin:28px 0}.form-privacy h3{font-size:1rem;margin:0 0 10px;text-decoration:underline;text-underline-offset:5px}.form-privacy p{font-size:.9rem;line-height:1.8;margin:0;color:#444}.form-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:26px}.form-button,.edit-button{font:inherit;font-weight:800;border-radius:8px;padding:14px 24px;cursor:pointer}.form-button{color:#fff;border:1px solid #db740f;background:linear-gradient(#ffbb4c,#ff841c 60%,#f64d15);box-shadow:0 2px 4px #ed732944}.form-button:hover{filter:brightness(1.05)}.form-button:focus-visible,.edit-button:focus-visible{outline:3px solid #ff8844;outline-offset:3px}.form-button:disabled{background:#eee;color:#777;border-color:#ccc;box-shadow:none;cursor:default}.edit-button{background:#fff;color:#333;border:1px solid #b6a4aa}.confirmation{display:grid;grid-template-columns:210px minmax(0,1fr);margin:26px 0 32px;line-height:1.7}.confirmation dt,.confirmation dd{padding:15px 0;border-bottom:1px solid #eee4e8}.confirmation dd{white-space:pre-wrap;overflow-wrap:anywhere}.form-page [hidden]{display:none!important}
@media(max-width:700px){.form-main{margin-top:35px;width:min(100% - 32px,540px)}.form-main:before{inset:20px 0 0}.form-surface{padding:25px 20px;border-radius:18px}.form-heading{margin-bottom:25px}.field-row{grid-template-columns:1fr;gap:10px;padding:19px 0}.field-row label{justify-content:flex-start}.field-row label br{display:none}.message-row label{padding-top:0}.form-actions{gap:12px}.form-button,.edit-button{width:100%;text-align:center}.confirmation{grid-template-columns:1fr}.confirmation dt{border-bottom:0;padding-bottom:2px}.confirmation dd{padding-top:2px}.form-heading p{font-size:1rem}}

.send-help,.send-fallback{font-size:.9rem;line-height:1.7;text-align:center;margin:18px 0 0}.send-fallback{color:#555}.send-fallback a{overflow-wrap:anywhere}#send-status:not(:empty){background:#fff5df;padding:14px;line-height:1.7;margin-top:20px}

/* Keep the decorative background inside the viewport at every tablet width. */
.form-main:before{inset:50px 0 0}
.form-surface{overflow-wrap:anywhere}
@media(max-width:850px){.field-row{grid-template-columns:1fr;gap:10px}.field-row label{justify-content:flex-start}.message-row label{padding-top:0}}
@media(max-width:700px){.form-main:before{inset:20px 0 0}}
