*{box-sizing:border-box}
:root{
  --burgundy:#650019;
  --burgundy-dark:#4d0014;
  --gold:#c89a3d;
  --cream:#faf8f4;
  --text:#171717;
  --muted:#777;
}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--text);font-family:"DM Sans",Arial,sans-serif}
img{display:block;max-width:100%}
.hero{width:100%;overflow:hidden;background:#eee}
.hero-image{width:100%;height:auto}
.application-section{padding:42px 38px 34px;background:#faf9f6}
.application-shell{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:330px minmax(0,1fr);gap:48px;align-items:stretch}
.campaign-card{background:#fff;border:1px solid #e6e2dc;border-radius:12px;padding:34px 34px 30px;box-shadow:0 5px 18px rgba(0,0,0,.08);display:flex;flex-direction:column;min-height:560px}
.campaign-card h2{margin:0;text-align:center;font:600 20px/1.25 "Playfair Display",Georgia,serif;color:var(--burgundy)}
.gold-rule,.heading-rule{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--gold)}
.gold-rule:before,.gold-rule:after,.heading-rule:before,.heading-rule:after{content:"";height:1px;background:var(--gold);flex:1}
.gold-rule{margin:18px 48px 30px}
.campaign-card p{font-size:15px;line-height:1.75;margin:0 0 28px}
.ice-cream-mark{font-size:82px;text-align:center;line-height:1;margin:auto 0 22px;filter:saturate(.65)}
.campaign-card blockquote{margin:0;text-align:center;color:var(--burgundy);font:italic 600 22px/1.45 "Playfair Display",Georgia,serif}
.form-panel{padding:0 4px}
.form-panel h1{margin:0;text-align:center;color:var(--burgundy);font:600 clamp(29px,3vw,43px)/1.15 "Playfair Display",Georgia,serif}
.heading-rule{margin:14px 0 22px}
.intro{text-align:center;color:#777;font-size:16px;margin:0 0 30px}
label{display:block;min-width:0}
label>span{display:block;font-size:15px;font-weight:500;margin:0 0 7px}
label b{color:#c00020}
.field-grid{display:grid;gap:22px 26px;margin-bottom:22px}
.field-grid.two{grid-template-columns:1fr 1fr}
.field-grid.three{grid-template-columns:1fr 1fr 1fr}
input,select{width:100%;height:49px;border:1px solid #d3d3d3;border-radius:6px;background:#fff;padding:0 14px;font:400 15px "DM Sans",Arial,sans-serif;color:#222;outline:none;transition:border-color .2s,box-shadow .2s}
input:focus,select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(200,154,61,.14)}
select{cursor:pointer}
.form-panel>form>label{margin-bottom:22px}
button{width:100%;height:48px;border:0;border-radius:5px;background:var(--burgundy);color:#fff;font:700 15px "DM Sans",Arial,sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:14px;transition:transform .15s,opacity .15s,background .15s}
button:hover{background:var(--burgundy-dark)}
button:active{transform:translateY(1px)}
button:disabled{opacity:.65;cursor:not-allowed}
.button-icon{font-size:21px;line-height:1}
.secure-note{text-align:center;color:#777;font-size:13px;margin:14px 0 0}
.form-message{min-height:24px;text-align:center;margin-top:12px;font-size:14px}
.form-message.success{color:#176b35}
.form-message.error{color:#9b1028}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.footer{width:100%;background:#fff;overflow:hidden}
.footer-image{width:100%;height:auto}
@media(max-width:900px){
  .application-section{padding:30px 18px}
  .application-shell{grid-template-columns:1fr;gap:28px}
  .campaign-card{min-height:auto}
}
@media(max-width:650px){
  .field-grid.two,.field-grid.three{grid-template-columns:1fr;gap:17px;margin-bottom:17px}
  .form-panel>form>label{margin-bottom:17px}
  .campaign-card{padding:28px 23px}
  .form-panel h1{font-size:29px}
  .intro{font-size:14px}
  .application-section{padding:24px 12px}
}
