*{box-sizing:border-box}body{margin:0;background:#f1f5fa;color:#19334e;font:16px/1.55 system-ui,sans-serif}header{background:#06234f;color:white;padding:18px max(20px,calc((100vw - 900px)/2));display:flex;align-items:center;gap:20px}header a{font-size:26px;font-weight:800;color:white;text-decoration:none}main{max-width:940px;margin:28px auto;padding:0 20px}section{background:white;border:1px solid #d8e3ef;border-radius:14px;padding:24px;margin-bottom:20px}.intro{background:#eaf2fa}h1{font-size:28px;line-height:1.25;margin-top:8px;overflow-wrap:anywhere}h2{font-size:21px;margin-top:0}p{overflow-wrap:anywhere}.safe{white-space:pre-wrap}label{display:block;font-weight:600;margin:14px 0 6px}input,select,textarea{font:inherit;width:100%;border:1px solid #b6c9dc;border-radius:7px;padding:11px;background:white;color:inherit}button,.button{display:inline-block;font:inherit;font-weight:600;background:#124f88;border:1px solid #124f88;border-radius:8px;color:white;padding:11px 17px;cursor:pointer;text-decoration:none;margin-top:16px}button:disabled{opacity:.6;cursor:wait}.secondary{background:white;color:#124f88;margin-left:8px}.error{color:#a72121}.success{background:#e7f5ec;border-color:#7dbb92}.small{font-size:14px}.schedule-item{border-top:1px solid #d8e3ef;padding:14px 0}.schedule-item p{margin:5px 0}.trap{position:absolute;left:-10000px}input[type=checkbox]{width:auto}.consent{font-weight:400}form[hidden],[hidden]{display:none!important}@media(max-width:600px){section{padding:18px}h1{font-size:24px}main{padding:0 12px}.secondary{margin-left:0}}
.registration-event-title{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:18px;margin:0 0 18px;min-width:0}.registration-event-name{flex:1;min-width:0}.registration-event-title h1{min-width:0;margin:8px 0 0}.registration-event-logo{display:block;width:90px;height:90px;object-fit:contain;flex-shrink:0;padding:6px;background:#fff;color-scheme:only light;border:1px solid #d8e3ef;border-radius:10px}@media(max-width:600px){.registration-event-title{gap:12px}.registration-event-logo{width:64px;height:64px}}

.intro:has(>.registration-event-logo){display:grid;grid-template-columns:90px minmax(0,1fr);column-gap:18px}.intro>.registration-event-logo{grid-column:1;grid-row:1 / span 2;align-self:center}.intro:has(>.registration-event-logo)>span,.intro:has(>.registration-event-logo)>h1{grid-column:2}.intro:has(>.registration-event-logo)>p{grid-column:1 / -1}@media(max-width:600px){.intro:has(>.registration-event-logo){grid-template-columns:64px minmax(0,1fr);column-gap:12px}}

.registration-event-brand{display:flex;flex-direction:column;align-items:center;gap:8px;flex-shrink:0}.registration-event-brand+.registration-event-name h1{margin-top:0}
.registration-event-title:has(.registration-event-brand){display:grid;grid-template-columns:90px minmax(0,1fr);column-gap:18px;row-gap:8px;align-items:center}.registration-event-brand{display:contents}.registration-event-brand>span{grid-column:1;grid-row:1;text-align:left}.registration-event-brand>.registration-event-logo{grid-column:1;grid-row:2;align-self:center}.registration-event-brand+.registration-event-name{grid-column:2;grid-row:2;align-self:center}@media(max-width:600px){.registration-event-title:has(.registration-event-brand){grid-template-columns:64px minmax(0,1fr);column-gap:12px;row-gap:6px}}

.registration-event-meta{display:flex;align-items:center;gap:10px}.registration-meta-icon{width:20px;height:20px;flex:0 0 20px;color:#24769a}.registration-event-meta span{min-width:0;overflow-wrap:anywhere}
.intro{position:relative;isolation:isolate;overflow:hidden}.intro::before,.intro::after{content:"";position:absolute;inset:0;pointer-events:none}.intro::before{z-index:-2;background:url('assets/teacher-math-hero-light.png') center / cover no-repeat;filter:grayscale(1) sepia(.65) hue-rotate(165deg) saturate(1.5);opacity:.9}.intro::after{z-index:-1;background:linear-gradient(90deg,rgba(234,242,250,.98) 0%,rgba(234,242,250,.88) 44%,rgba(234,242,250,.32) 100%)}@media(max-width:600px){.intro::before{background-position:70% center}.intro::after{background:linear-gradient(100deg,rgba(234,242,250,.97),rgba(234,242,250,.68))}}

.registration-question-pair{border:1px solid #d8e3ef;border-radius:8px;padding:8px 14px 14px;margin:16px 0}.registration-question-pair legend{font-weight:600;padding:0 5px}textarea{min-height:84px;resize:vertical}

.registration-custom-question{margin:22px 0;min-width:0}.registration-custom-question fieldset{min-width:0}fieldset.registration-custom-question{border:1px solid #c6d9e8;border-radius:8px;padding:14px}.registration-custom-question legend{font-weight:600;padding:0 6px;overflow-wrap:anywhere}.registration-term{max-height:none;overflow-wrap:anywhere}.registration-custom-question .consent{align-items:flex-start}.registration-custom-question input[type=radio],.registration-custom-question input[type=checkbox]{width:auto;flex-shrink:0;margin-top:3px}

.registration-phone{min-width:0;padding:0;border:0;margin:22px 0}.registration-phone legend{font-weight:600;margin-bottom:8px}.registration-phone-row{display:grid;grid-template-columns:minmax(105px,0.9fr) minmax(0,1.4fr);gap:10px}.registration-phone-row>div{min-width:0}.registration-phone-row label{margin:0 0 5px;font-size:12px;color:#526576}.registration-phone-row input,.registration-phone-row select{width:100%;min-width:0;margin:0}

.registration-cpf-error{margin:6px 0 14px;font-size:13px}.registration-cpf-error[hidden]{display:none}#q-cpf_cnpj[aria-invalid="true"]{border-color:#ad3030;box-shadow:0 0 0 1px #ad3030}

.registration-document{border:0;padding:0;margin:22px 0;min-width:0}.registration-document-heading{display:flex;align-items:center;justify-content:flex-start;gap:12px;margin-bottom:12px}.registration-document-heading>strong{min-width:0;font-weight:600}.registration-document-heading .consent{margin:0;flex:0 0 auto;font-size:13px;white-space:nowrap}.registration-document-heading .consent input{flex-shrink:0}.registration-document [hidden]{display:none!important}

#extension-register>button{display:block;margin:16px auto 0;max-width:100%}

.public-summary{text-align:justify}.public-people{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:10px}.public-person{border:1px solid #d8e3ef;border-radius:10px;padding:12px;background:#f8fbfe}.public-person p{margin:4px 0 0;color:#526576;font-size:14px}.schedule-item .registration-meta-icon{vertical-align:middle;width:16px;height:16px}.public-register-link{margin-top:8px}

.public-calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0}.public-calendar-nav{display:flex;gap:8px;flex-wrap:wrap}.public-calendar-nav button{font-size:13px;margin:0;padding:8px 10px;background:white;color:#124f88}.public-calendar-scroll{max-height:700px;overflow-y:auto;overflow-x:hidden;border:1px solid #c6d4dd;border-radius:10px;background:white}.public-calendar-grid{display:grid;align-items:start;width:100%;min-width:0}.public-calendar-corner,.public-calendar-heading{position:sticky;top:0;z-index:3;height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#edf3f7;border-right:1px solid #c6d4dd;border-bottom:1px solid #c6d4dd;font-size:12px;min-width:0}.public-calendar-corner{left:0;z-index:5}.public-calendar-heading span{text-transform:capitalize;color:#526576}.public-calendar-hours{position:sticky;left:0;z-index:2;background:white;border-right:1px solid #c6d4dd}.public-calendar-hours>span{position:absolute;left:0;width:100%;text-align:center;font-size:11px;font-variant-numeric:tabular-nums;color:#526576;transform:translateY(-50%);background:white}.public-calendar-hours>span:first-child{transform:none}.public-calendar-hours>span:last-child{transform:translateY(-100%)}.public-calendar-column{position:relative;border-right:1px solid #d9e6e9;background:repeating-linear-gradient(to bottom,transparent 0,transparent 47px,#eef3f7 47px,#eef3f7 48px,transparent 48px,transparent 95px,#d4e0e9 95px,#d4e0e9 96px)}.public-calendar-event{position:absolute;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;gap:3px;margin:0;padding:5px 7px;border:1px solid #79a9cc;border-left:4px solid #24769a;border-radius:6px;background:#e3f0fa;color:#06234f;text-align:left;font-size:11px;line-height:1.3;overflow-wrap:anywhere}.public-calendar-event:hover,.public-calendar-event:focus-visible{background:#cee5f7;z-index:1}.public-calendar-event span:first-child{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap;font-size:10px}.public-calendar-event strong{font-size:12px}.public-calendar-details{margin-top:14px;padding:16px;border:1px solid #c6d4dd;border-radius:10px;background:#f5f9fd}.public-calendar-details h3{margin:0}.public-calendar-details p{margin:7px 0}.public-calendar-details button{font-size:13px;margin-top:6px}.public-calendar-monthly{margin-top:18px}.public-calendar-monthly h3{font-size:16px}

/* Public schedule: a clear blue calendar that remains readable on narrow screens. */
.public-schedule-section{border-top:4px solid #2e77ab}
.public-schedule-section h2{margin-bottom:3px;color:#12345b}
.public-calendar-caption{margin:0 0 17px;color:#61758b;font-size:14px}
.public-calendar-toolbar{gap:12px;margin:0 0 14px}
.public-calendar-range{display:flex;align-items:center;gap:10px;color:#17476f}
.public-calendar-range .registration-meta-icon{width:19px;height:19px;color:#347eae}
.public-calendar-range div{display:flex;flex-direction:column;align-items:flex-start;gap:4px;line-height:1.3}.public-calendar-range strong{white-space:nowrap}
.public-calendar-range span{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#637c92;font-weight:700}
.public-calendar-range strong{font-size:14px;font-variant-numeric:tabular-nums}
.public-calendar-nav button{border-color:#c9dcec;background:#f7fbff;color:#18527e;border-radius:8px}
.public-calendar-nav button:hover:not(:disabled){background:#e8f3fb;border-color:#7eafd0}
.public-calendar-scroll{border-color:#cadbe9;border-radius:12px;box-shadow:0 4px 16px rgba(21,65,101,.06)}
.public-calendar-corner,.public-calendar-heading{height:66px;background:#eaf3fb;border-color:#d0e1ee}
.public-calendar-corner{color:#4f6f89;font-weight:700}
.public-calendar-heading span{font-size:11px;color:#587c98;font-weight:700}
.public-calendar-heading strong{font-size:12px;color:#193e62;font-variant-numeric:tabular-nums}
.public-calendar-hours{background:#f9fbfe;border-color:#dce8f0}
.public-calendar-hours>span{background:#f9fbfe;color:#5d748a;font-weight:600}
.public-calendar-column{border-color:#e0ebf3;background:repeating-linear-gradient(to bottom,#fff 0,#fff 47px,#edf3f8 47px,#edf3f8 48px,#fff 48px,#fff 95px,#dae7f0 95px,#dae7f0 96px)}
.public-calendar-event{padding:6px 7px;border-radius:8px;box-shadow:0 2px 5px rgba(29,78,113,.10);gap:3px;transition:background-color .15s,box-shadow .15s}
.public-calendar-event:hover,.public-calendar-event:focus-visible{box-shadow:0 4px 10px rgba(29,78,113,.20);outline:2px solid #438ab9;outline-offset:-2px}
.public-calendar-event span:first-child{display:inline-block;font-size:10px;line-height:1.2;padding:1px 4px;border-radius:4px;background:rgba(255,255,255,.72)}
.public-calendar-event strong{line-height:1.25}
.public-calendar-theme-0{background:#e7f2fb;border-color:#93bddd;border-left-color:#2777a9;color:#173f61}
.public-calendar-theme-1{background:#e4f4f2;border-color:#94cbc6;border-left-color:#24857d;color:#164d49}
.public-calendar-theme-2{background:#edf0fc;border-color:#aebbe0;border-left-color:#637cb7;color:#2b416e}
.public-calendar-theme-3{background:#e8f4f8;border-color:#9bc9d6;border-left-color:#337f9c;color:#174a60}
.public-calendar-details{border-color:#c9ddec;background:#f5faff;box-shadow:0 3px 12px rgba(21,65,101,.06)}
.public-calendar-details h3{color:#17466c}
@media(max-width:600px){.public-schedule-section{padding:16px}.public-calendar-caption{font-size:13px}.public-calendar-nav button{font-size:12px}.public-calendar-heading strong{font-size:11px}}

.public-schedule-heading{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:10px;row-gap:2px;margin-bottom:17px}.public-schedule-heading h2,.public-schedule-heading .public-calendar-caption{margin:0}.public-schedule-heading>span{color:#6e8ba2;font-weight:700}

.public-team-list{grid-template-columns:minmax(0,1fr)}

/* Faixa azul nos cartões brancos da página pública. */
#registration-root > section:not(.intro){border-top:4px solid #2e77ab}

.public-speakers-section h2{text-align:left}.public-speakers-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.public-speaker-card{width:160px;max-width:100%;padding:14px 10px;background:#fff;border:1px solid #d8e3ef;border-radius:12px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.public-speaker-card>strong{overflow-wrap:anywhere;font-size:14px;line-height:1.35}.public-speaker-avatar{width:80px;height:80px;position:relative;flex:none;border-radius:50%;overflow:hidden;background:#e5eff9;color:#124f88;display:grid;place-items:center;font-size:30px;font-weight:700}.public-speaker-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#e5eff9}

.public-event-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px}.public-event-header-copy{min-width:0}.public-event-header>.public-register-link{margin:0;align-self:center;justify-self:end;white-space:nowrap}@media(max-width:600px){.public-event-header{gap:12px}.public-event-header>.public-register-link{padding:10px;font-size:13px}}

/* A escala vertical acompanha a altura necessária para ler cada atividade. */
.public-calendar-event>*{flex-shrink:0}
.public-calendar-column{background:repeating-linear-gradient(to bottom,#fff 0,#fff calc(var(--calendar-hour-height,96px)/2 - 1px),#edf3f8 calc(var(--calendar-hour-height,96px)/2 - 1px),#edf3f8 calc(var(--calendar-hour-height,96px)/2),#fff calc(var(--calendar-hour-height,96px)/2),#fff calc(var(--calendar-hour-height,96px) - 1px),#dae7f0 calc(var(--calendar-hour-height,96px) - 1px),#dae7f0 var(--calendar-hour-height,96px))}

.public-calendar-scroll{max-height:none;overflow:clip;box-shadow:none;isolation:isolate}.public-calendar-corner,.public-calendar-heading{height:52px}.public-calendar-event{padding:4px 5px;gap:2px;font-size:10px;line-height:1.2}.public-calendar-event strong{font-size:11px;line-height:1.2}.public-calendar-event span:first-child{padding:0 2px;font-size:9px}

.public-activity-back{display:flex;justify-content:center}.public-activity-back .button{margin-left:0}

.participant-qr{max-width:320px;margin:20px auto;background:#fff;padding:12px;border-radius:12px}.participant-qr svg{display:block;width:100%;height:auto}

#registration-root > #registration-panel.success{border-top-color:#338451}
#registration-panel.success #open-participant-area{display:block;width:fit-content;max-width:100%;margin:20px auto 0;text-align:center}

.registration-choice{text-align:center}.registration-choice-actions{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}.registration-choice-actions .button,.registration-choice-actions button{margin:0}.registration-choice-actions{margin-top:22px}

.public-speaker-card{color:#19334e;font:inherit;margin:0;cursor:pointer;transition:border-color .15s,box-shadow .15s}.public-speaker-card:hover{border-color:#247c9a;box-shadow:0 3px 12px #06234f10}.public-speaker-card:focus-visible{outline:3px solid #247c9a;outline-offset:3px}.public-speaker-dialog{padding:0;border:1px solid #d8e3ef;border-radius:14px;width:min(600px,calc(100vw - 28px));max-height:85dvh;color:#19334e;background:#fff;font:inherit;overflow:auto}.public-speaker-dialog::backdrop{background:#06234f80}.public-speaker-detail{padding:28px;position:relative}.public-speaker-close{position:absolute;right:12px;top:8px;margin:0;padding:2px 9px;color:#19334e;border:0;background:transparent;font-size:26px;line-height:1.3}.public-speaker-detail-heading{display:flex;gap:18px;align-items:center;padding-right:20px;margin-bottom:24px}.public-speaker-detail-heading h2{margin:0 0 6px;font-size:21px}.public-speaker-detail-heading p{margin:0;color:#637a8a;font-size:14px}.public-speaker-detail h3{font-size:16px;margin:22px 0 8px}.public-speaker-detail ul{padding-left:20px}.public-speaker-detail a{color:#124f88;overflow-wrap:anywhere}.public-speaker-detail .safe{line-height:1.6;text-align:justify;text-justify:inter-word}@media(max-width:480px){.public-speaker-detail{padding:24px 18px}.public-speaker-detail-heading{align-items:flex-start;gap:12px}.public-speaker-detail-heading .public-speaker-avatar{width:64px;height:64px}.public-speaker-detail-heading h2{font-size:18px}}

.public-speaker-sites{display:flex;flex-direction:column;gap:4px;margin-top:8px;font-size:14px}.public-speaker-detail-heading>div{min-width:0}

.public-speaker-sites a{text-decoration:none}

.public-speaker-info-icon{width:16px;height:16px;flex:none;margin-top:3px;color:#247c9a}.public-speaker-detail-heading .public-speaker-meta,.public-speaker-sites>span{display:flex;align-items:flex-start;gap:7px}.public-speaker-sites a{min-width:0}

.public-team-section .public-team-list{display:flex;flex-direction:column;gap:0;background:rgba(234,242,250,.45);border:1px solid #dce7f1;border-radius:10px;padding:4px 16px 12px}.public-team-section .public-person{border:0;border-bottom:1px solid #d1e1ef;border-radius:0;padding:12px 0;background:transparent;line-height:1.6;overflow-wrap:anywhere}.public-team-section .public-person:last-child{border-bottom:0;padding-bottom:0}

.public-custom-card-content{overflow-wrap:anywhere;line-height:1.7}.public-custom-card-content img{max-width:100%;height:auto}.public-custom-card-content table{border-collapse:collapse;max-width:100%;table-layout:fixed;width:100%}.public-custom-card-content th,.public-custom-card-content td{border:1px solid #d8e3ef;padding:8px;overflow-wrap:anywhere}.public-custom-card-content pre{white-space:pre-wrap;overflow-wrap:anywhere}.public-custom-card-content p:first-child{margin-top:0}

.public-custom-html-frame{display:block;width:100%;min-height:100px;border:0;background:transparent}

.invitation-event-heading h1,.invitation-event-heading h2{margin:0}.invitation-event-heading .registration-event-name{overflow-wrap:anywhere}

/* Center the response controls on both invitation confirmation pages. */
#ceremony-response #confirm-ceremony{display:block;margin:24px auto 0;max-width:100%}
#invitation-root .actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;margin-top:24px}
#invitation-root .actions button{margin:0;max-width:100%}

.invitation-event-subtitle{font-weight:400}

/* Event subtitle appears on its own line in both confirmation pages. */
.invitation-event-subtitle{display:block}
.ceremony-representative-choice{display:flex;align-items:center;gap:8px;margin:18px 0;font-weight:400;cursor:pointer}
.ceremony-representative-choice input{margin:0;flex-shrink:0}
.ceremony-representative-fields{min-width:0;border:1px solid #c6d9e8;border-radius:10px;padding:12px 18px 18px;margin:16px 0;background:#f5f9fd}
.ceremony-representative-fields legend{font-weight:600;padding:0 6px}
.ceremony-representative-fields label:first-of-type{margin-top:0}
.ceremony-representative-summary p{margin:8px 0}

/* Invitation cards: a quiet blue header and clearly separated response details. */
.invitation-page{background:#edf3f8;color:#203b52}


.invitation-page main{max-width:828px;margin:44px auto;padding:0 24px}
.invitation-page .invitation-card{background:#fff;border:1px solid #cbdce8;border-radius:22px;padding:32px;overflow:hidden;box-shadow:0 12px 36px rgba(18,57,91,.07)}
.invitation-page .invitation-event-heading{margin:-32px -32px 28px;padding:28px 32px;background:#e7f0f8;border-bottom:1px solid #ccdeeb;gap:20px}
.invitation-page .invitation-event-heading h1,.invitation-page .invitation-event-heading h2{font-size:23px;line-height:1.35;color:#123c60;letter-spacing:-.025em}
.invitation-page .invitation-event-subtitle{margin-top:7px;font-size:16px;line-height:1.5;color:#4d687f;font-weight:400;letter-spacing:normal}
.invitation-page .registration-event-logo{width:80px;height:80px;padding:5px;border:1px solid #d2e0eb;border-radius:15px;background:#fff}
.invitation-data-label{display:block;font-size:12px;font-weight:500;letter-spacing:.02em;color:#657d91;margin-bottom:5px}
.invitation-recipient{margin:0 0 18px;line-height:1.5}
.invitation-recipient>strong{font-size:18px;font-weight:600;color:#213e56}
.invitation-intro{margin:0 0 22px;line-height:1.7;color:#486176}
.invitation-instruction{font-size:14px;color:#617b90;margin:24px 0 0;text-align:center}
.invitation-page .ceremony-representative-choice{padding:16px 18px;margin:0 0 18px;border:1px solid #d5e2ed;border-radius:13px;background:#f7fafd;gap:12px;transition:border-color .15s,background-color .15s}
.invitation-page .ceremony-representative-choice:has(input:checked){border-color:#6c9fc6;background:#eaf3fb}
.invitation-page .ceremony-representative-choice input{width:18px;height:18px;accent-color:#185f94}
.invitation-page .ceremony-representative-fields{background:#f7fafd;border-color:#cbdde9;border-radius:13px;padding:14px 18px 20px;margin:8px 0 24px}
.invitation-page .ceremony-representative-fields legend{font-size:14px;color:#375c78}
.invitation-page .ceremony-representative-fields label{font-size:13px;font-weight:500;color:#47657c;margin-top:16px}
.invitation-page .ceremony-representative-fields input{border-color:#bed1df;border-radius:9px;padding:12px;color:#203b52}
.invitation-page input:focus-visible{outline:3px solid #c5e2f6;outline-offset:1px;border-color:#5d99c4}
.invitation-page button{border-radius:10px;padding:13px 24px;font-size:15px;background:#165f94;border-color:#165f94;box-shadow:0 3px 8px rgba(18,74,116,.12);transition:background-color .15s,box-shadow .15s}
.invitation-page button:hover:not(:disabled){background:#104e7d;box-shadow:0 4px 12px rgba(18,74,116,.2)}
.invitation-page button:focus-visible{outline:3px solid #91c6e9;outline-offset:3px}
.invitation-page button.secondary{background:#fff;color:#587184;border-color:#bdcedb;box-shadow:none}
.invitation-page button.secondary:hover:not(:disabled){background:#f1f6fa;color:#274c68;box-shadow:none}
.invitation-page .error:empty{display:none}
.invitation-result{display:flex;align-items:center;gap:16px;padding:20px;border:1px solid #c8e3d6;border-radius:15px;background:#eff8f3;margin:0 0 24px}
.invitation-result-icon{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:50%;color:#267858;background:#dcefe5}
.invitation-result-icon svg{width:25px;height:25px}
.invitation-result>div{min-width:0}
.invitation-result h2,.invitation-result h3{margin:0;font-size:19px;line-height:1.4;font-weight:600;color:#205d46;overflow-wrap:anywhere}
.invitation-result p{margin:6px 0 0;font-size:14px;color:#527364;line-height:1.6}
.invitation-result.is-declined{background:#f5f7f9;border-color:#d8e0e7}
.invitation-result.is-declined .invitation-result-icon{background:#e6edf3;color:#667f94}
.invitation-result.is-declined h2{color:#38576f}.invitation-result.is-declined p{color:#637b8e}
.invitation-page .ceremony-representative-summary{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:20px 22px;border:1px solid #d6e3ed;border-radius:13px;background:#f7fafd;margin-bottom:24px}
.invitation-page .ceremony-representative-summary p{margin:0;min-width:0;font-size:15px;overflow-wrap:anywhere}
.invitation-page .ceremony-representative-summary strong{font-weight:600}
.invitation-footer{border-top:1px solid #e1eaf1;padding-top:20px;margin:24px 0 0;color:#6a8194;font-size:13px;line-height:1.6;text-align:center}
@media(max-width:600px){
 .invitation-page main{margin:24px auto;padding:0 14px}
 .invitation-page .invitation-card{padding:22px;border-radius:18px}
 .invitation-page .invitation-event-heading{margin:-22px -22px 24px;padding:24px 22px;gap:13px}
 .invitation-page .registration-event-logo{width:62px;height:62px;border-radius:12px}
 .invitation-page .invitation-event-heading h1,.invitation-page .invitation-event-heading h2{font-size:20px}
 .invitation-page .invitation-event-subtitle{font-size:14px;line-height:1.5;margin-top:6px}
 .invitation-recipient>strong{font-size:17px}.invitation-intro{font-size:15px}
 .invitation-page .ceremony-representative-choice{padding:14px;font-size:14px}
 .invitation-result{align-items:flex-start;gap:12px;padding:17px}.invitation-result-icon{width:36px;height:36px;flex-basis:36px}.invitation-result-icon svg{width:22px;height:22px}
 .invitation-result h2,.invitation-result h3{font-size:17px}
 .invitation-page .ceremony-representative-summary{grid-template-columns:1fr;gap:16px;padding:18px}
}

.public-event-header .public-event-subtitle{display:block;margin-top:6px;font-size:.72em;font-weight:400}

#participant-login>button{display:block;margin:16px auto 0}

.public-contact-card{display:flex;align-items:center;gap:20px;background:#edf5fc;border:1px solid #cddfed}.public-contact-icon{display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;border-radius:16px;background:#dcecf9;color:#1c6593}.public-contact-copy{flex:1;min-width:0}.public-contact-copy h2{margin:0 0 8px}.public-contact-copy p{margin:0;color:#506d83;line-height:1.6}.public-contact-copy .public-contact-email{margin-top:8px;font-weight:600;color:#214d70;overflow-wrap:anywhere}.public-contact-button{flex-shrink:0;white-space:nowrap}@media(max-width:650px){.public-contact-card{flex-wrap:wrap;gap:14px}.public-contact-copy{flex-basis:calc(100% - 68px)}.public-contact-button{width:100%;box-sizing:border-box;text-align:center}}
