@font-face { font-family: "Fraunces"; src: url("../fonts/fraunces.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "Work Sans"; src: url("../fonts/worksans.woff2") format("woff2"); font-display: swap; }
:root { --event-ink:#12293d; --event-coral:#df5b3b; --event-cream:#fbf7ef; --event-line:#d9d4ca; --event-green:#28734f; --event-yellow:#9d6412; --event-red:#a63b32; }
* { box-sizing: border-box; }
.event-page { margin:0; background:var(--event-cream); color:var(--event-ink); font-family:"Work Sans",sans-serif; }
.event-page::before { content:none!important; display:none!important; }
.event-topbar { max-width:1120px; margin:auto; padding:18px 20px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.event-topbar img { display:block; width:150px; height:auto; }
.event-topbar span { font-size:.82rem; font-weight:650; color:#52606c; }
.event-shell { width:min(1120px, calc(100% - 28px)); margin:auto; }
.event-hero { position:relative; min-height:380px; border-radius:28px; overflow:hidden; background:var(--event-ink); color:white; display:grid; align-items:end; box-shadow:0 22px 60px rgba(18,41,61,.18); }
.event-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(10,25,39,.96) 0%,rgba(10,25,39,.78) 48%,rgba(10,25,39,.16) 100%); }
.event-hero > div { position:relative; z-index:2; padding:40px 32px; max-width:670px; }
.event-hero img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.event-hero h1 { margin:4px 0 14px; font:600 clamp(2.25rem,7vw,4.7rem)/.98 "Fraunces",serif; letter-spacing:-.035em; }
.event-hero p { max-width:600px; font-size:clamp(1rem,2vw,1.14rem); line-height:1.6; }
.eyebrow { margin:0; font-size:.73rem!important; font-weight:700; letter-spacing:.19em; text-transform:uppercase; color:#f7b99e; }
.config-card,.results { max-width:980px; margin:28px auto 70px; background:#fff; border:1px solid var(--event-line); border-radius:24px; padding:clamp(20px,4vw,42px); box-shadow:0 14px 40px rgba(18,41,61,.08); }
.results { max-width:1120px; }
.progress-copy { display:flex; justify-content:space-between; gap:16px; font-size:.82rem; font-weight:700; }
.progress-copy span:last-child { color:#63717c; }
.progress { height:6px; margin:10px 0 34px; overflow:hidden; border-radius:20px; background:#ece8df; }
.progress span { display:block; width:20%; height:100%; background:var(--event-coral); transition:width .25s ease; }
.event-step { display:none; margin:0; padding:0; border:0; }
.event-step.is-active { display:block; animation:step-in .22s ease; }
@keyframes step-in { from{opacity:0;transform:translateY(5px)} to{opacity:1;transform:none} }
.event-step legend { padding:0; font:600 clamp(1.75rem,5vw,2.7rem)/1.08 "Fraunces",serif; }
.step-help { margin:10px 0 26px; color:#5f6b74; line-height:1.55; }
.field-grid { display:grid; gap:16px; }
.field-grid label { display:grid; gap:8px; font-size:.88rem; font-weight:650; }
input,select { width:100%; min-height:52px; padding:12px 14px; border:1.5px solid #c9c5bc; border-radius:13px; background:#fff; color:var(--event-ink); font:inherit; }
input:focus,select:focus { outline:3px solid rgba(223,91,59,.18); border-color:var(--event-coral); }
.choice-grid { display:grid; gap:12px; }
.choice-card { position:relative; display:grid; grid-template-columns:92px 1fr; align-items:center; min-height:92px; overflow:hidden; border:1.5px solid var(--event-line); border-radius:16px; background:#fff; cursor:pointer; transition:border-color .15s,transform .15s,box-shadow .15s; }
.choice-card:hover { transform:translateY(-1px); border-color:#9da7ae; box-shadow:0 8px 20px rgba(18,41,61,.07); }
.choice-card:has(input:checked) { border-color:var(--event-coral); box-shadow:0 0 0 3px rgba(223,91,59,.13); }
.choice-card img { width:92px; height:100%; min-height:92px; object-fit:cover; }
.choice-card input { position:absolute; opacity:0; pointer-events:none; }
.choice-card span { display:grid; gap:4px; padding:15px; }
.choice-card strong { font-size:.96rem; }
.choice-card small { color:#67737c; line-height:1.35; }
.choice-card--plain { grid-template-columns:1fr; }
.choice-card--plain span { padding:17px 18px; }
.check-line { display:flex; align-items:flex-start; gap:10px; margin-top:20px; color:#475762; font-size:.9rem; line-height:1.45; }
.check-line input { flex:none; width:20px; min-height:20px; margin-top:1px; accent-color:var(--event-coral); }
.step-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:30px; }
.next-button,.submit-button,.back-button { min-height:50px; border:0; border-radius:13px; padding:0 24px; font:650 1rem "Work Sans",sans-serif; cursor:pointer; }
.next-button,.submit-button { background:var(--event-coral); color:#fff; }
.back-button { background:#eef0f1; color:var(--event-ink); }
button[disabled] { opacity:.6; cursor:wait; }
.form-alert { margin-top:18px; padding:13px 15px; border-radius:12px; background:#fff0ed; color:#862f25; line-height:1.45; }
.results-head { margin-bottom:24px; }
.results h2 { margin:6px 0 8px; font:600 clamp(2rem,5vw,3.25rem)/1 "Fraunces",serif; }
.results-head > p:last-child { color:#5f6b74; }
.option-grid { display:grid; gap:16px; }
.option-card { position:relative; display:flex; flex-direction:column; min-width:0; gap:14px; border:1.5px solid var(--event-line); border-radius:18px; padding:22px; background:#fff; }
.option-card > * { min-width:0; max-width:100%; }
.option-card.is-featured { border-color:#b8925a; }
.option-card.is-selected { border-color:var(--event-coral); box-shadow:0 0 0 3px rgba(223,91,59,.12); }
.option-top { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; }
.option-tier { font-size:.72rem; font-weight:750; letter-spacing:.16em; text-transform:uppercase; color:#b8925a; }
.option-card h3 { margin:0; font:600 1.35rem/1.15 "Fraunces",serif; overflow-wrap:anywhere; }
.option-card p { margin:0; line-height:1.5; color:#596872; }
.option-summary { font-weight:600; color:var(--event-ink)!important; }
.option-card ul { margin:0; padding-left:18px; color:#364954; font-size:.9rem; line-height:1.5; }
.option-items { list-style:none; padding:0!important; display:grid; gap:9px; }
.option-items li { display:grid; gap:2px; }
.option-items span, .option-drinks span { font-size:.82rem; color:#67737c; line-height:1.4; }
.option-drinks { display:grid; gap:3px; padding:12px 14px; border-radius:12px; background:#f5f2eb; font-size:.9rem; }
.option-duration { font-size:.85rem; }
.option-price { display:grid; gap:2px; margin-top:auto; border-top:1px solid #e5e1da; padding-top:14px; }
.option-price strong { font:600 clamp(1.6rem,2.4vw,2rem)/1 "Fraunces",serif; overflow-wrap:anywhere; }
.option-price small { color:#66747d; }
.option-price span { margin-top:4px; font-weight:650; color:var(--event-ink); }
.option-savings { margin-top:6px; font-style:normal; font-size:.82rem; font-weight:700; color:var(--event-green); }
.option-savings s { margin-left:4px; font-weight:400; color:#8a949b; }
.option-card summary { overflow-wrap:anywhere; font-size:.9rem; cursor:pointer; }
.option-card details ul { margin:6px 0 10px; }
.risk-chip { padding:5px 9px; border-radius:999px; font-size:.68rem; font-weight:750; text-transform:uppercase; }
.risk-chip--verde { color:var(--event-green); background:#e7f3ec; }
.risk-chip--amarelo { color:var(--event-yellow); background:#fff3d9; }
.risk-chip--vermelho { color:var(--event-red); background:#fce6e3; }
.select-option { width:100%; min-height:46px; border:1.5px solid var(--event-ink); border-radius:12px; background:var(--event-ink); color:#fff; font:650 .95rem "Work Sans",sans-serif; cursor:pointer; white-space:normal; }
.service-note { font-size:.82rem!important; color:var(--event-green)!important; font-weight:700; }
.contact-card,.success-card { margin-top:28px; padding:24px; border-radius:18px; background:#f5f2eb; }
.contact-card h3,.success-card h3 { margin:0 0 6px; font:600 1.55rem/1.15 "Fraunces",serif; }
.contact-card > p { margin:0 0 20px; color:#5c6972; }
.success-wa { display:inline-flex; margin-top:12px; border-radius:12px; padding:13px 17px; background:#1d9b55; color:#fff; font-weight:700; text-decoration:none; }
.submit-button { width:100%; margin-top:22px; }
.honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.event-footer { display:flex; justify-content:center; gap:24px; padding:28px 20px 48px; font-size:.82rem; color:#66747d; }
.event-footer p { margin:0; }
.event-footer a { color:inherit; }
.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; }
@media (min-width:700px) {
  .event-hero > div { padding:56px; }
  .field-grid--2 { grid-template-columns:1fr 1fr; }
  .field-grid--3 { grid-template-columns:1.2fr 1fr 1fr; }
  .choice-grid { grid-template-columns:1fr 1fr; }
  .option-grid { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; }
}
@media (max-width:520px) {
  .event-topbar span { display:none; }
  .event-hero { min-height:460px; }
  .event-hero::after { background:linear-gradient(0deg,rgba(10,25,39,.96) 0%,rgba(10,25,39,.68) 62%,rgba(10,25,39,.1) 100%); }
  .event-hero > div { padding:28px 22px; }
  .choice-card { grid-template-columns:76px 1fr; }
  .choice-card img { width:76px; }
  .choice-card--plain { grid-template-columns:1fr; }
  .step-actions > button { flex:1; padding-inline:12px; }
  .event-footer { flex-direction:column; align-items:center; gap:8px; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
