:root{--gold:#b98527;--gold-dark:#805313;--ink:#382715;--cream:#fffaf0;--line:#e6cf9e;--muted:#766957}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top,#fffdf7 0%,#f8edcf 70%,#f1dfb2 100%);color:var(--ink);font-family:"Libre Baskerville",Georgia,serif;line-height:1.65}
.page-shell{width:min(920px,100%);margin:0 auto;padding:26px 22px 40px}.ornament{text-align:center;color:var(--gold);letter-spacing:2px;font-size:15px}.top-ornament{margin:0 0 20px}
.hero{text-align:center;padding:10px 0 24px}.eyebrow{font:600 11px/1.5 Arial,sans-serif;letter-spacing:3px;color:var(--gold-dark);margin:0 0 12px}.hero h1{font-family:"Cinzel",Georgia,serif;text-transform:uppercase;font-weight:700;line-height:1.08;margin:0;color:#6d4711;font-size:clamp(27px,5.2vw,48px)}.hero h1 span{font-size:1.65em;color:#a77319;text-shadow:0 1px #fff,0 2px #e4c77e}.rule{width:150px;height:1px;background:var(--gold);margin:22px auto;position:relative}.rule:after{content:"✦";position:absolute;left:calc(50% - 8px);top:-14px;background:#fffaf0;padding:0 7px;color:var(--gold)}
.priest-name{font-size:clamp(17px,3vw,24px);font-weight:bold;margin:0 auto 12px;color:#4d3215}.intro{max-width:680px;margin:0 auto;color:#514331;font-size:14px}
.event-card,.form-card{background:rgba(255,253,247,.92);border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 32px rgba(105,73,22,.08)}.event-card{padding:10px 24px;margin:0 auto 24px;max-width:760px}.event-row{display:flex;gap:18px;align-items:center;padding:17px 0}.event-row+.event-row{border-top:1px solid #efe2c5}.event-icon{width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--gold-dark);font-size:24px;flex-shrink:0}.event-row strong{font:700 16px "Cinzel",Georgia,serif;color:#895b15}.event-row p{margin:3px 0;font-size:13px}
.form-card{max-width:760px;margin:auto;padding:clamp(20px,4vw,38px)}.section-heading{text-align:center;margin-bottom:25px}.section-heading h2{font:700 38px "Cinzel",Georgia,serif;color:#9a6819;margin:0}.section-heading>p:last-child{font-size:13px;color:var(--muted);max-width:520px;margin:8px auto 0}
form label{display:block;font-size:13px;font-weight:bold;margin:0 0 17px;color:#4d3b24}label>span:not(.consent span){color:#9b5f05}label small{font-weight:normal;color:#84745e;font-size:11px}
input:not([type=checkbox]),select,textarea{display:block;width:100%;margin-top:7px;border:1px solid #dcc79c;border-radius:9px;background:#fffefa;padding:12px 13px;font:14px Arial,sans-serif;color:#342819;outline:none}input:focus,select:focus,textarea:focus{border-color:#b98527;box-shadow:0 0 0 3px #b9852720}textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.consent{display:flex;gap:10px;align-items:flex-start;font-weight:normal!important;font-size:11px!important;color:#65563f!important}.consent input{margin-top:4px;accent-color:#9a6819;flex-shrink:0}
button{border:0;border-radius:10px;background:linear-gradient(135deg,#c79a43,#88570e);color:white;font:700 14px Arial,sans-serif;padding:15px 20px;width:100%;cursor:pointer;box-shadow:0 6px 15px #93661f2b}button:hover{filter:brightness(1.04)}button:disabled{opacity:.6;cursor:wait}.privacy-note{text-align:center;color:#857761;font:11px/1.5 Arial,sans-serif;margin:13px auto 0}.form-message{display:none;margin-top:16px;padding:14px;border-radius:9px;font-size:13px}.form-message.success{display:block;background:#edf7ed;color:#235b2b;border:1px solid #b8d9b9}.form-message.error{display:block;background:#fff0ed;color:#8b281a;border:1px solid #efc0b7}
footer{text-align:center;padding:26px 0 0;color:#7a5a27}footer p{font-style:italic;margin:0;font-size:14px}footer small{font-size:12px}footer .ornament{margin-top:18px}
@media(max-width:600px){.page-shell{padding:18px 13px 30px}.form-grid{grid-template-columns:1fr;gap:0}.event-card{padding:7px 15px}.event-row{gap:12px}.event-icon{width:40px;height:40px;font-size:20px}.event-row p{font-size:12px}.hero{padding-top:4px}.intro{font-size:12px}.top-ornament{font-size:12px}.form-card{padding:22px 17px}}

.attendee-name-inputs{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;padding:14px;border:1px solid #ead7ad;border-radius:10px;background:#fff9e9}.attendee-name-label{font:700 12px Arial,sans-serif!important;margin-bottom:12px!important}.attendee-name-label input{font-weight:normal}.field-help{font:11px/1.5 Arial,sans-serif;color:#766957;margin:8px 0 0}.attendee-names-field{margin-bottom:18px}@media(max-width:600px){.attendee-name-inputs{grid-template-columns:1fr}}

/* Clear, editable attendee-name fields */
.attendee-heading{font-size:13px;font-weight:bold;color:#4d3b24;margin-bottom:10px}.attendee-heading>span{color:#9b5f05}.attendee-heading small{display:block;font-size:11px;font-weight:normal;color:#84745e;margin-top:3px}.attendee-name-inputs{align-items:start}.attendee-name-item{min-width:0;margin-bottom:12px}.attendee-name-label{display:block;font:700 12px Arial,sans-serif!important;margin:0 0 5px!important;color:#4d3b24}.attendee-name-item input{position:relative;z-index:1;pointer-events:auto;background:#fff!important;cursor:text}


/* Fr. Pau anniversary portrait */
.priest-portrait{width:min(360px,82%);margin:18px auto 20px;padding:8px;background:linear-gradient(145deg,#f6e4b0,#b98527,#fff4d2,#9a6819);border-radius:190px 190px 18px 18px;box-shadow:0 12px 28px rgba(105,73,22,.16)}
.priest-portrait img{display:block;width:100%;height:auto;max-height:470px;object-fit:contain;object-position:center top;border-radius:182px 182px 12px 12px;background:#fffdf8}
.priest-portrait figcaption{font:italic 10px/1.5 Arial,sans-serif;text-align:center;color:#76521c;padding:7px 5px 2px}
@media(max-width:600px){.priest-portrait{width:min(300px,88%);margin:15px auto 18px}.priest-portrait img{max-height:390px}}
