@font-face { font-family: 'Cormorant'; src: url('/static/fonts/cormorant-medium.ttf') format('truetype'); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: 'Cormorant'; src: url('/static/fonts/cormorant-italic.ttf') format('truetype'); font-weight: 400; font-style: italic; font-display: swap; }
:root{--green:#071334;--cream:#f8f7f7;--gold:#f0b9cc;--ink:#17213a;--muted:#687080;--line:#dedfe5}
*{box-sizing:border-box}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6}
a{color:inherit}
.masthead{height:100px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.brand{text-decoration:none;font-family:Georgia,serif;font-size:23px;letter-spacing:2px;line-height:1.1}
.brand span{display:block;font:10px Arial;letter-spacing:8px;text-align:center;margin-top:7px}
.edition,.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px}
.layout{display:grid;grid-template-columns:44% 56%;max-width:1600px;margin:auto}
.intro{background:var(--green);color:var(--cream);padding:75px 11%;position:relative}
.intro .eyebrow{color:var(--gold)}
h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.12;letter-spacing:-1px}
h1{font-size:clamp(36px,3.7vw,58px);margin:28px 0}
h1 em{color:var(--gold);font-weight:400}
.intro>p{color:#d3ded6;font-size:15px;max-width:420px}
.event{display:flex;gap:20px;align-items:center;border-top:1px solid #517066;border-bottom:1px solid #517066;padding:22px 0;margin:40px 0}
.event-day{font:64px Georgia;color:var(--gold)}
.event strong{display:block;font-size:12px;letter-spacing:2px}
.event div span{display:block;font-size:12px;margin-top:5px}
.invitation{margin:35px 0}
.invitation p{font-size:14px;color:#d3ded6}
.invitation strong{color:#fff}
.small{font-size:12px!important}
.intro-bottom{margin-top:70px;font-size:10px;letter-spacing:2px;color:#adc1b5}
.form-panel{padding:65px 12%;background:#ffffff}
.green{color:#640e2e}
h2{font-size:38px;margin:16px 0}
.muted{color:var(--muted);font-size:14px}
fieldset{border:0;padding:0;margin:36px 0}
legend{font-size:17px;font-weight:700;width:100%;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:6px}
legend span{font-size:11px;letter-spacing:1px;color:#8c6173;margin-right:12px}
label{display:block;font-size:13px;font-weight:600;margin:20px 0 7px}
input,textarea,select{font:14px Arial;color:var(--ink);background:#fff;width:100%;border:1px solid #d0d2dc;border-radius:5px;padding:14px;line-height:1.45;transition:border-color .15s}
input+input{margin-top:10px}
textarea{resize:vertical}
input:focus,textarea:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid #a56980;outline-offset:3px}
input::placeholder,textarea::placeholder{color:#7b8090}
small{font-size:11px;color:var(--muted)}
.money{display:flex;align-items:center;border:1px solid #d0d2dc;border-radius:5px;background:white}
.money>span{padding-left:14px;color:#74788b;font-size:13px}
.money input{border:0;background:none}
.question{font-size:14px}
.choices label{display:flex;gap:12px;align-items:center;border:1px solid var(--line);padding:13px;margin:10px 0;border-radius:5px;font-weight:400}
.choices input,.consent input{width:17px;height:17px;flex-shrink:0;accent-color:var(--green)}
.privacy{background:#f5eff2;padding:20px;border-radius:6px;font-size:12px;line-height:1.7}
.privacy p{margin:7px 0;color:#6e6471}
.consent{display:flex;gap:10px;font-size:12px;font-weight:400;align-items:flex-start;margin-bottom:0}
.primary{background:var(--green);color:white;border:0;border-radius:5px;font:600 14px Arial;padding:19px 22px;display:flex;align-items:center;justify-content:space-between;width:100%;cursor:pointer;margin-top:24px;text-decoration:none;gap:20px}
.primary:hover{background:#263454}
.primary:disabled{opacity:.6;cursor:wait}
.primary span{font-size:22px;line-height:16px}
.under-button{text-align:center;font-size:11px;color:var(--muted)}
footer{padding:30px 6%;display:flex;gap:20px;justify-content:space-between;border-top:1px solid var(--line);font-size:10px;color:#737583}
footer span:first-child{letter-spacing:2px}
.trap{position:absolute;left:-9999px}
.error{color:#a13b2d;background:#fff0ec;border-radius:4px;padding:12px;font-size:14px}
[hidden]{display:none!important}
.success-symbol{display:block;font-size:40px;color:#640e2e;margin:20px 0}
#success{min-height:500px}
#success p{font-size:14px}
.login{max-width:490px;padding:60px 25px;margin:30px auto 80px}
.login h1{font-size:43px}
.back{display:block;font-size:12px;margin-top:24px}
.logout,.secondary{border:1px solid #babccb;background:transparent;border-radius:4px;padding:10px 18px;font-size:13px;color:var(--green);cursor:pointer}
.dashboard{max-width:1280px;margin:auto;padding:55px 35px 80px}
.dash-top{display:flex;justify-content:space-between;gap:25px;align-items:center}
.dashboard h1{font-size:43px;margin:15px 0 30px}
.export{width:auto;margin:0;white-space:nowrap}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:25px 0}
.stats>div{background:#ffffff;border:1px solid var(--line);padding:23px;border-radius:6px}
.stats span{display:block;color:var(--muted);font-size:12px}
.stats strong{font:38px Georgia}
.filters{display:flex;gap:16px;align-items:flex-end}
.filters>div:first-child{flex:1}
.filters>div:nth-child(2){width:250px}
.filters button{height:50px}
.response{background:#ffffff;border:1px solid var(--line);border-radius:6px;margin:12px 0}
.response summary{padding:20px;cursor:pointer;display:flex;justify-content:space-between;gap:15px;align-items:center}
.response summary strong{font-size:16px}
.response summary small{display:block}
.badge{font-size:11px;padding:5px 10px;border-radius:20px;background:#ececf5;white-space:nowrap}
.badge.no{background:#f8eaf0}
.answers{padding:0 22px 20px;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.answer dt{font-size:11px;color:var(--muted);margin-bottom:5px}
.answer dd{font-size:14px;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.answer.wide{grid-column:1/-1}
.empty{padding:45px;text-align:center;background:#ffffff;border:1px dashed #c4c4d2;border-radius:5px;color:var(--muted)}
@media(min-width:1000px){.intro{align-self:start;position:sticky;top:0;min-height:calc(100vh - 100px)}
}
@media(max-width:850px){.masthead{height:80px;padding:0 6%}
.brand{font-size:19px}
.edition{font-size:8px;letter-spacing:1px}
.layout{display:block}
.intro{padding:42px 7%}
.intro h1{font-size:44px}
.intro>p{max-width:600px}
.event{margin:25px 0;padding:15px 0}
.invitation{margin:20px 0}
.intro-bottom{display:none}
.form-panel{padding:40px 7%}
.form-panel h2{font-size:34px}
.dashboard{padding:35px 20px}
.dash-top{display:block}
.export{display:inline-flex}
.filters{flex-wrap:wrap}
.filters>div:first-child{flex-basis:100%}
.filters>div:nth-child(2){flex:1}
.stats{gap:8px}
.stats>div{padding:13px}
.stats span{font-size:10px}
.dashboard h1{font-size:36px}
.response summary{align-items:flex-start;flex-direction:column}
.answers{grid-template-columns:1fr}
.answer.wide{grid-column:auto}
footer{flex-direction:column;gap:6px}
.login{margin-top:0}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}
}


/* Priscila Nunes moodboard: navy, silver, deep burgundy and candy pink. */
:root { --navy: #071334; --burgundy: #47051c; --candy: #f0b9cc; --silver: #c9cbd7; }
.masthead { height: 88px; background: #fff; }
.brand { font-family: 'Cormorant', Georgia, serif; font-weight: 500; font-size: 27px; letter-spacing: 1.5px; }
.brand span { font-size: 9px; letter-spacing: 7px; }
.edition { color: #6f6675; }
h1, h2 { font-family: 'Cormorant', Georgia, serif; font-weight: 500; }
.layout { grid-template-columns: 47% 53%; }
.intro { padding: 46px clamp(30px, 4.6vw, 74px) 34px; background: var(--navy); color: #fff; min-height: calc(100vh - 88px); border-top: 1px solid #8e96aa; }
.intro-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.intro .eyebrow { font-size: 10px; letter-spacing: 2px; color: #e5cbd8; }
.intro-index { color: #b2b8cb; font-size: 9px; letter-spacing: 1.5px; }
.intro h1 { font-size: clamp(46px, 4.4vw, 66px); line-height: 1.02; letter-spacing: -1.5px; margin: 32px 0 22px; }
.intro h1 em { color: var(--candy); font-weight: 400; }
.intro .intro-description { font-size: 15px; line-height: 1.8; color: #c6ccdb; max-width: 430px; margin-bottom: 28px; }
.intro-description strong { font-weight: 500; color: #fff; }
.invitation { padding: 25px 27px; margin: 0; border: 1px solid #b8a9b44a; border-left: 2px solid var(--candy); background: #ffffff06; }
.invitation .eyebrow { font-size: 9px; letter-spacing: 1.7px; }
.invitation h2 { color: #fff; font-size: clamp(29px, 2.6vw, 38px); line-height: 1.05; margin: 14px 0; letter-spacing: -.5px; }
.invitation h2 em { font-weight: 400; color: var(--candy); }
.invitation p { margin: 0; font-size: 13px; line-height: 1.75; color: #c6ccdb; }
.invitation strong { font-weight: 600; color: #fff; white-space: nowrap; }
.event { gap: 20px; margin: 25px 0 0; padding: 17px 0; border-top: 0; border-bottom: 1px solid #b7bfd22e; }
.event-day { font-family: 'Cormorant', Georgia, serif; font-weight: 500; font-size: 64px; line-height: 1; color: #d9dce7; padding-right: 22px; border-right: 1px solid #b7bfd244; }
.event strong { font-size: 11px; letter-spacing: 2px; color: #fff; }
.event div span { font-size: 13px; color: #d1d5e2; margin-top: 6px; }
.event div .event-timezone { display: inline; font-size: 11px; color: #b1b8cc; }
.invitation-next { display: flex; align-items: flex-start; gap: 14px; margin-top: 24px; }
.next-mark { color: var(--candy); font-size: 24px; line-height: 1.2; }
.invitation-next p { font-size: 13px; color: #fff; margin: 0; line-height: 1.8; }
.invitation-next p span { color: #c0c7d9; font-size: 12px; }
.intro .selection-note { font-size: 11px; color: #acb5cd; margin: 14px 0 0 33px; }
.intro-cta { display: none; }
.form-panel { padding: 52px clamp(28px, 5vw, 80px); }
.form-panel h2 { font-size: clamp(34px, 3.3vw, 48px); line-height: 1.05; margin: 18px 0; }
.form-panel .eyebrow { font-size: 10px; letter-spacing: 1.8px; }
.form-panel .muted { font-size: 14px; line-height: 1.8; }
.form-required { display: block; font-size: 11px; margin-top: 10px; }
#form-title { scroll-margin-top: 28px; }
legend { color: var(--navy); font-size: 16px; }
legend span { color: #8a415e; }
.primary { background: var(--burgundy); }
.primary:hover { background: #651533; }
.choices input, .consent input { accent-color: var(--burgundy); }
.choices label:has(input:checked) { border-color: #986079; background: #faf4f7; }
.privacy { border: 1px solid #eadfe5; }
input, textarea, select, .money { border-radius: 3px; }
.primary { border-radius: 3px; }
footer { background: #fff; }
@media (min-width: 851px) { .intro { align-self: start; position: sticky; top: min(0px, calc(100vh - 880px)); } }
@media (max-width: 1100px) and (min-width: 851px) {
  .intro { padding-left: 30px; padding-right: 30px; }
  .intro h1 { font-size: 48px; }
  .invitation { padding: 22px; }
  .event div .event-timezone { display: block; }
  .intro-index { display: none; }
}
@media (max-width: 850px) {
  .masthead { height: 82px; }
  .brand { font-size: 24px; }
  .edition { font-size: 8px; max-width: 130px; text-align: right; line-height: 1.6; }
  .layout { display: block; }
  .intro { padding: 38px 7% 30px; min-height: 0; }
  .intro h1 { font-size: clamp(44px, 7.5vw, 62px); margin: 26px 0 22px; }
  .intro .intro-description { max-width: 530px; font-size: 14px; margin-bottom: 25px; }
  .invitation { padding: 23px; }
  .invitation h2 { font-size: clamp(30px, 5.7vw, 38px); }
  .event { margin: 17px 0 0; }
  .event-day { font-size: 60px; }
  .intro-cta { display: flex; justify-content: space-between; align-items: center; margin-top: 24px; background: #f1c4d4; color: var(--navy); padding: 15px 18px; font-size: 13px; font-weight: 600; text-decoration: none; border-radius: 3px; }
  .intro-cta span { font-size: 20px; }
  .intro .selection-note { font-size: 10px; margin: 12px 0 0; text-align: center; }
  .invitation-next { display: none; }
  .form-panel { padding: 40px 7%; }
  .form-panel h2 { font-size: 39px; }
}
@media (max-width: 380px) {
  .intro-index { display: none; }
  .event div .event-timezone { display: block; }
  .intro h1 { font-size: 42px; }
  .invitation { padding: 20px; }
}

/* 21st.dev-inspired tactile fields and asynchronous action feedback. */
:root { --ease-out: cubic-bezier(.2,.7,.2,1); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
html { scroll-behavior: smooth; }
.form-progress { padding:22px 0 8px; border-top:1px solid var(--line); margin-top:27px; }
.progress-caption { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:13px; font-size:11px; color:var(--muted); }
.progress-caption > span:first-child { font-size:9px; letter-spacing:1.6px; font-weight:700; color:var(--burgundy); }
#completion { appearance:none; width:100%; display:block; height:4px; border:0; border-radius:10px; overflow:hidden; background:#f1e9ee; accent-color:var(--burgundy); }
#completion::-webkit-progress-bar { background:#f1e9ee; border-radius:10px; }
#completion::-webkit-progress-value { background:var(--burgundy); border-radius:10px; transition:width .4s var(--ease-out); }
#completion::-moz-progress-bar { background:var(--burgundy); border-radius:10px; }
.form-steps { display:flex; justify-content:space-between; gap:8px; margin-top:18px; }
.form-steps a { display:flex; align-items:center; gap:7px; font-size:11px; color:#737386; text-decoration:none; border-radius:3px; padding:4px 0; transition:color .2s; }
.step-dot { width:23px; height:23px; border:1px solid #d5ced7; border-radius:50%; display:grid; place-items:center; flex-shrink:0; font-size:10px; transition:background .25s, color .25s, border-color .25s, box-shadow .25s; }
.form-steps [aria-current=step] { color:var(--burgundy); }
.form-steps [aria-current=step] .step-dot { border-color:#a86f86; box-shadow:0 0 0 3px #f6edf2; }
.form-steps .is-complete .step-dot { background:var(--burgundy); border-color:var(--burgundy); color:#fff; }
#application fieldset { scroll-margin-top:28px; }
#application legend { transition:color .2s; }
#application fieldset:focus-within legend { color:var(--burgundy); }
input, textarea, select, .money { transition:border-color .18s, background-color .18s, box-shadow .25s, transform .25s var(--ease-out); }
input:not([type=checkbox]):not([type=radio]):focus, textarea:focus, select:focus, .money:focus-within { border-color:#9a637b; box-shadow:0 0 0 3px #f4e9ef,0 5px 15px -10px #47051c45; transform:translateY(-1px); }
.money input:focus { box-shadow:none!important; transform:none!important; outline:none; }
.money:focus-within { outline:2px solid #a56980; outline-offset:3px; }
input::placeholder, textarea::placeholder { transition:color .2s; }
input:focus::placeholder, textarea:focus::placeholder { color:#a5a4b0; }
.choices label { position:relative; transition:background .2s, border-color .2s, box-shadow .2s; }
.choices label:has(input:checked) { box-shadow:inset 3px 0 0 var(--burgundy); }
.choices label:focus-within { outline:2px solid #a56980; outline-offset:3px; }
.choices input, .consent input { transition:transform .18s var(--ease-out); }
.choices input:checked, .consent input:checked { transform:scale(1.08); }
.primary, .intro-cta, .secondary, .logout { transition:background .2s, box-shadow .25s, transform .2s var(--ease-out); touch-action:manipulation; }
.primary:not(:disabled):active, .intro-cta:active, .secondary:active, .logout:active { transform:translateY(1px); box-shadow:none; }
.primary .button-label { font:600 14px Arial; line-height:20px; }
.submit-button { min-height:60px; }
.submit-button .button-icon { display:grid; place-items:center; width:22px; height:22px; flex-shrink:0; transition:transform .25s var(--ease-out); }
.submit-button[data-state=pending] { opacity:.85; }
.submit-button[data-state=pending] .button-icon { width:18px; height:18px; border:2px solid #ffffff55; border-top-color:#fff; border-radius:50%; animation:button-spin .85s linear infinite; }
.submit-button[data-state=error] { background:#651533; }
.invitation { transition:background .35s,border-color .35s,box-shadow .35s; }
.success-symbol { width:70px; height:70px; display:grid; place-items:center; color:var(--burgundy); margin:15px 0 30px; }
.success-symbol svg { width:64px; height:64px; }
.success-symbol circle { stroke:#e5d5df; stroke-width:1.5; }
.success-symbol path { stroke:currentColor; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:45; stroke-dashoffset:0; }
#success:not([hidden]) { animation:soft-enter .45s var(--ease-out) both; }
#success:not([hidden]) .success-symbol path { animation:check-draw .5s .1s var(--ease-out) both; }
.enter-view { animation:soft-enter .55s var(--ease-out) both; }
@keyframes soft-enter { from { opacity:0; transform:translateY(9px); } to { opacity:1; transform:translateY(0); } }
@keyframes button-spin { to { transform:rotate(360deg); } }
@keyframes check-draw { from { stroke-dashoffset:45; } to { stroke-dashoffset:0; } }
@media (hover:hover) and (pointer:fine) {
  .primary:not(:disabled):hover, .intro-cta:hover { transform:translateY(-2px); box-shadow:0 8px 20px -12px #47051c85; }
  .primary:not(:disabled):hover .button-icon { transform:translate(2px,-2px); }
  .invitation:hover { background:#ffffff0a; border-color:#c8a0b373; border-left-color:var(--candy); box-shadow:0 12px 35px -26px #efbbce55; }
  .form-steps a:hover { color:var(--burgundy); }
  .choices label:hover { border-color:#b393a3; }
}
@media (max-width:380px) {
  .progress-caption { gap:6px; font-size:10px; }
  .progress-caption > span:first-child { font-size:8px; letter-spacing:1px; }
  .form-steps a { font-size:10px; gap:5px; }
  .step-dot { width:20px; height:20px; }
}
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
  .enter-view, .primary, .intro-cta, input, textarea, select, .money { transform:none!important; }
}

/* Expanded 21st adaptations: SpotlightCard, masked title, card radios, Stepper. */
.title-line { display:block; overflow:hidden; padding:.08em .03em .13em; margin:-.08em -.03em -.13em; }
.title-line > span, .title-line > em { display:block; }
.intro h1.enter-view { animation:none; }
.intro h1.enter-view .title-line > * { animation:title-unmask .8s cubic-bezier(.19,1,.22,1) both; }
.intro h1.enter-view .title-line:nth-child(2) > * { animation-delay:.09s; }
.intro h1.enter-view .title-line:nth-child(3) > * { animation-delay:.18s; }
@keyframes title-unmask { from { transform:translateY(105%); } to { transform:translateY(0); } }
.spotlight-card { position:relative; isolation:isolate; overflow:hidden; border:1px solid #b7a7be60; border-radius:14px; padding:24px 28px 28px; background:linear-gradient(125deg,#32162e,#111d3d 80%); box-shadow:0 12px 40px -24px #0008,inset 0 1px 0 #ffffff12; }
.spotlight-card::before { content:""; position:absolute; inset:0; background:radial-gradient(300px circle at var(--spot-x,50%) var(--spot-y,50%),#efbdcf30,transparent 80%); opacity:0; transition:opacity .4s; pointer-events:none; z-index:-1; }
.spotlight-card.spotlight-active::before { opacity:1; }
.invitation-top { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.invitation-top .eyebrow { max-width:235px; line-height:1.8; }
.invitation-seal { width:38px; height:48px; border:1px solid #d2c5d588; border-radius:22px; display:grid; place-items:center; font:500 20px 'Cormorant',Georgia,serif; color:#e4dae5; flex-shrink:0; }
.spotlight-card h2 { margin:17px 0; }
.event { border:1px solid #c1c6dc29; border-radius:12px; padding:18px 22px; background:linear-gradient(120deg,#ffffff09,#ffffff02); margin-top:20px; }
.event-day { font-size:58px; padding-right:20px; }
.form-panel { background:#fcfbfc; }
.form-progress { border:1px solid #e6e0e7; padding:19px 20px 16px; border-radius:12px; background:white; box-shadow:0 3px 15px -10px #23103222; }
.form-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:16px; }
.form-steps a { padding:10px 8px; border:1px solid transparent; border-radius:8px; transition:background .25s,border-color .25s,color .25s; align-items:flex-start; gap:8px; }
.form-steps a[aria-current=step] { background:#f7eff3; border-color:#ebd8e1; }
.step-dot { width:25px; height:25px; background:white; font-size:11px; }
.step-copy { display:flex; flex-direction:column; gap:3px; min-width:0; }
.step-copy strong { font-size:11px; font-weight:600; line-height:1.5; color:#343149; }
.step-summary { color:#797282; font-size:9px; white-space:nowrap; }
#application .question-card { padding:24px 25px 28px; border:1px solid #e7e2e8; border-radius:12px; margin:28px 0; background:white; box-shadow:0 5px 22px -18px #2c173039; min-width:0; transition:border-color .25s,box-shadow .25s; }
#application .question-card:focus-within { border-color:#c8acbb; box-shadow:0 7px 24px -16px #47051c38; }
#application .question-card legend { width:auto; border:0; padding:0 9px; margin:0 0 0 -9px; font-size:15px; background:#fff; border-radius:4px; }
#application .question-card > label:first-of-type { margin-top:0; }
#application .question-card .question { margin-top:0; }
#application .question-card:focus-visible { outline:2px solid #a56980; outline-offset:3px; }
.attendance-cards { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:20px; }
.choices .attendance-card { margin:0; padding:20px 16px; align-items:flex-start; border-radius:10px; background:#fff; box-shadow:0 2px 6px #27132505; min-width:0; cursor:pointer; }
.attendance-card input { position:absolute; top:19px; right:15px; margin:0; }
.choice-content { display:flex; flex-direction:column; gap:12px; width:100%; }
.choice-symbol { display:grid; place-items:center; width:34px; height:34px; border:1px solid #e8dde4; border-radius:9px; color:#856173; font-size:18px; background:#faf6f8; }
.choice-content strong { font-size:13px; font-weight:600; line-height:1.5; padding-right:4px; }
.choice-description { font-size:11px; color:#756d7a; line-height:1.7; }
.choices .attendance-card:has(input:checked) { background:#fcf4f8; border-color:#99607a; box-shadow:inset 0 0 0 1px #99607a,0 5px 14px -11px #47051c55; }
.attendance-card:has(input:checked) .choice-symbol { color:#fff; border-color:var(--burgundy); background:var(--burgundy); }
.privacy { border-radius:10px; }
.submit-button { border-radius:8px; background:linear-gradient(115deg,#62102e,#39091f); box-shadow:inset 0 1px 0 #ffffff20; }
@media (hover:hover) and (pointer:fine) {
  .spotlight-card:hover { background:linear-gradient(125deg,#32162e,#111d3d 80%); border-color:#c8a0b3a0; }
  .form-steps a:hover { background:#faf5f8; }
}
@media (max-width:1200px) and (min-width:851px) {
  .form-progress { padding:18px 12px 14px; }
  .form-steps a { flex-direction:column; padding:8px; }
  #application .question-card { padding:22px 18px; }
  .attendance-cards { grid-template-columns:1fr; }
  .choice-content { gap:9px; }
}
@media (max-width:600px) {
  .spotlight-card { padding:22px; }
  .event { padding:17px 20px; }
  .event div .event-timezone { display:block; }
  .form-progress { padding:17px 13px 13px; }
  .form-steps { gap:6px; }
  .form-steps a { flex-direction:column; gap:7px; padding:9px 7px; }
  .step-copy strong { font-size:11px; }
  .step-summary { font-size:9px; }
  #application .question-card { padding:20px 17px 24px; margin:26px 0; }
  #application .question-card legend { font-size:14px; }
  .attendance-cards { grid-template-columns:1fr; gap:12px; }
  .choices .attendance-card { padding:17px 16px; }
  .choice-symbol { width:29px; height:29px; }
  .choice-content { gap:9px; }
  .progress-caption { flex-wrap:wrap; gap:7px; }
}
@media (prefers-reduced-motion:reduce) {
  .title-line > *, .intro h1.enter-view .title-line > * { animation:none!important; transform:none!important; }
  .spotlight-card::before { display:none; }
}
/* The full radio card carries the keyboard focus ring. */
.attendance-card input:focus { outline:none; }
#investment_count + textarea { margin-top:10px; }
