@font-face { font-family: 'EventSans'; src: url('assets/fonts/urbanist-latin-variable.woff2') format('woff2'); font-style: normal; font-weight: 100 900; font-display: swap; }
@font-face { font-family: 'EventSans'; src: url('assets/fonts/urbanist-latin-variable-italic.woff2') format('woff2'); font-style: italic; font-weight: 100 900; font-display: swap; }
@font-face { font-family: 'EventSerif'; src: url('assets/fonts/source-serif-4-latin-variable.woff2') format('woff2'); font-style: normal; font-weight: 200 900; font-display: swap; }
@font-face { font-family: 'EventSerif'; src: url('assets/fonts/source-serif-4-latin-variable-italic.woff2') format('woff2'); font-style: italic; font-weight: 200 900; font-display: swap; }
@font-face { font-family: 'EventSlab'; src: url('assets/fonts/bitter-latin-variable.woff2') format('woff2'); font-style: normal; font-weight: 100 900; font-display: swap; }
@font-face { font-family: 'EventSlab'; src: url('assets/fonts/bitter-latin-variable-italic.woff2') format('woff2'); font-style: italic; font-weight: 100 900; font-display: swap; }
@font-face { font-family: 'EventHand'; src: url('assets/fonts/playpen-sans-latin-variable.woff2') format('woff2'); font-style: normal; font-weight: 100 800; font-display: swap; }
@font-face { font-family:'Material Symbols Outlined'; src:url('assets/fonts/material-symbols-outlined-300-filled.woff2') format('woff2'); font-style:normal; font-weight:300; font-display:block; }
@font-face { font-family:'Material Symbols Rounded'; src:url('assets/fonts/material-symbols-rounded-300-filled.woff2') format('woff2'); font-style:normal; font-weight:300; font-display:block; }
@font-face { font-family:'Material Symbols Sharp'; src:url('assets/fonts/material-symbols-sharp-300-filled.woff2') format('woff2'); font-style:normal; font-weight:300; font-display:block; }

:root {
  --blue: #2498ed;
  --blue-bright: #42b5ff;
  --ink: #07101d;
  --midnight: #071628;
  --paper: #eeeae2;
  --white: #f8f9fb;
  --muted: rgba(248, 249, 251, .68);
  --line: rgba(248, 249, 251, .24);
  --header-h: 82px;
  --header-background: #061422;
  --header-shadow: 0 0 0 rgba(2,9,18,0);
  --header-ink: #fff;
  --header-logo-filter: none;
  --ease: cubic-bezier(.22, 1, .36, 1);
  --story-page-height: 100svh;
  --story-page-height-30: 30svh;
  --story-page-height-24: 24svh;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { height: 100%; overflow: hidden; background: var(--ink); }
body { width: 100%; height: 100%; margin: 0; overflow: hidden; background: var(--ink); color: var(--white); font-family: 'EventSans', sans-serif; }
body.is-locked { overflow: hidden; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
.skip-link { position: fixed; left: 12px; top: 12px; z-index: 999; padding: 12px 16px; background: #fff; color: #111; transform: translateY(-140%); transition: transform .2s; }
.skip-link:focus { transform: translateY(0); }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
html.is-new-site-boot { background: #000; }
html.is-new-site-boot body::before { content: ''; position: fixed; inset: 0; z-index: 259; background: #000; pointer-events: none; }
html.is-saved-site-boot { background:#061422; }
html.is-saved-site-boot body::before { content:''; position:fixed; inset:0; z-index:319; background:#061422; pointer-events:none; }
html.is-saved-site-boot #story { display:none; }

.site-header { position: fixed; inset: 0 0 auto 0; height: var(--header-h); z-index: 60; isolation: isolate; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 34px; border: 0; background: transparent; color: var(--header-ink); box-shadow: var(--header-shadow); transition: color .25s,box-shadow .25s; }
.site-header::before { content: ''; position: absolute; inset: 0; z-index: -1; background: var(--header-background); pointer-events: none; transition: background .25s; }
.site-header.is-solid { background: transparent; }
.pages-header-control { min-width: 0; justify-self: start; display: flex; align-items: center; gap: 13px; }
.pages-header-heading { min-width: 0; display: grid; gap: 5px; }
.menu-button { justify-self: start; min-width: 92px; height: 46px; padding: 0 17px 0 14px; border: 0; border-radius: 999px; background: var(--blue); color: white; display: inline-flex; align-items: center; justify-content: center; gap: 8px; cursor: pointer; box-shadow: 0 9px 24px rgba(36,152,237,.24); transition: background .18s, box-shadow .18s; }
.menu-button:hover { background: var(--blue-bright); box-shadow: 0 8px 20px rgba(36,152,237,.28); }
.menu-button:focus-visible { background: var(--blue-bright); outline: 2px solid rgba(115,204,255,.42); outline-offset: 2px; }
.menu-button.is-open { position: relative; width: 120px; min-width: 120px; padding: 0 16px 0 46px; justify-content: flex-start; background: var(--blue); border: 1px solid var(--blue); box-shadow: 0 9px 24px rgba(36,152,237,.24); }
.menu-button .panel-pin-icon { display: none; }
.menu-button.is-open .pages-menu-icon { display: none; }
.menu-button.is-open strong { display: block; white-space: nowrap; }
.menu-button.is-open::before, .menu-button.is-open::after { content: ''; position: absolute; top: 50%; left: 19px; width: 17px; height: 2px; margin-top: -1px; border-radius: 2px; background: #fff; }
.menu-button.is-open::before { transform: rotate(45deg); }
.menu-button.is-open::after { transform: rotate(-45deg); }
.menu-button.is-open:hover { background: var(--blue-bright); border-color: var(--blue-bright); }
.menu-button svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.panel-pin-icon { transform: rotate(-32deg) translate(-1px,1px) scale(.94); transform-origin: 50% 55%; transition: transform .42s var(--ease); }
[aria-pressed="true"] > .panel-pin-icon { transform: rotate(0) translateY(-1px) scale(1.05); }
.menu-button strong { font: 800 10px/1 Arial,sans-serif; letter-spacing: .03em; }
.brand { display: flex; align-items: center; gap: 12px; padding: 7px 9px; border: 0; border-radius: 8px; background: transparent; color: var(--header-ink); text-decoration: none; cursor: pointer; transition: background .18s,box-shadow .18s; }
.brand:hover { background: color-mix(in srgb,var(--header-ink) 8%,transparent); }
.brand:focus-visible { outline: 2px solid var(--blue-bright); outline-offset: 3px; }
.brand-settings-trigger,
.brand-settings-trigger > * {
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}
.brand-settings-trigger { touch-action: manipulation; }
.brand-settings-trigger > * { pointer-events: none; }
.brand-settings-trigger img { -webkit-user-drag: none; }
.brand img { width: 178px; height: auto; max-height: 38px; display: block; object-fit: contain; }
.brand img.is-custom { width: auto; max-width: 220px; max-height: 38px; object-fit: contain; }
.brand img:not(.is-custom), .announcement-editor-identity img:not(.is-custom) { filter: var(--header-logo-filter); }
.brand span { font-size: 9px; letter-spacing: .26em; border-left: 1px solid color-mix(in srgb,var(--header-ink) 35%,transparent); padding-left: 12px; }
.header-actions { justify-self: end; display: flex; align-items: center; gap: 10px; }
.header-edit-identity { display: none; min-width: 126px; justify-items: end; gap: 4px; color: white; line-height: 1; }
.header-edit-identity span { color: var(--blue-bright); font-size: 8px; font-weight: 800; letter-spacing: .18em; }
.header-edit-identity strong { font-size: 13px; font-weight: 700; letter-spacing: -.01em; }
body.is-organizer-open .header-edit-identity { display: grid; }
.text-button, .rsvp-button { border: 0; cursor: pointer; }
.text-button { width: 82px; height: 46px; padding: 0; overflow: hidden; border-radius: 999px; background: var(--blue); color: white; display: grid; place-items: center; font-weight: 700; letter-spacing: .06em; transition: width .35s var(--ease), transform .25s var(--ease), background .25s, font-size .25s, letter-spacing .25s; }
.text-button[aria-expanded="true"] { width: 46px; font-size: 27px; font-weight: 300; line-height: 1; letter-spacing: 0; }
#arrangeButton[aria-expanded="true"] { position: relative; font-size: 0; }
#arrangeButton[aria-expanded="true"]::before,
#arrangeButton[aria-expanded="true"]::after { content: ''; position: absolute; left: 50%; top: 50%; width: 18px; height: 2px; margin: -1px 0 0 -9px; border-radius: 2px; background: currentColor; }
#arrangeButton[aria-expanded="true"]::before { transform: rotate(45deg); }
#arrangeButton[aria-expanded="true"]::after { transform: rotate(-45deg); }
.text-button:hover { transform: translateY(-2px); background: var(--blue-bright); }
.rsvp-button { border-radius: 999px; padding: 12px 22px; background: var(--blue); color: white; font-weight: 700; transition: transform .25s var(--ease), background .25s; }
.rsvp-button:hover { transform: translateY(-2px); background: var(--blue-bright); }
.dashboard-header-button { width: 46px; height: 46px; flex: 0 0 46px; border: 1px solid color-mix(in srgb,var(--header-ink) 22%,transparent); border-radius: 50%; display: grid; place-items: center; color: var(--header-ink); background: color-mix(in srgb,var(--header-ink) 8%,transparent); box-shadow: none; text-decoration: none; transition: transform .25s var(--ease), background .25s, border-color .25s; }
.dashboard-header-button[hidden] { display: none; }
.dashboard-header-button svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.dashboard-header-button:hover,.dashboard-header-button:focus-visible { transform: translateY(-2px); background: rgba(255,255,255,.16); border-color: rgba(255,255,255,.38); outline: 2px solid rgba(115,204,255,.26); outline-offset: 2px; }
body.is-organizer-open .site-header [data-dashboard-return] { display: none !important; }

.brand-settings-shell { position: fixed; inset: 0; z-index: 260; }
.brand-settings-backdrop { position: absolute; inset: var(--header-h) 0 0; width: 100%; padding: 0; border: 0; background: rgba(2,9,18,.36); backdrop-filter: blur(3px); cursor: default; }
body.has-open-visual-editor .brand-settings-backdrop { top: 78px; }
.brand-settings-popover { position: absolute; top: calc(var(--header-h) + 10px); left: 50%; width: min(500px,calc(100vw - 28px)); max-height: calc(100svh - var(--header-h) - 24px); padding: 20px; overflow-y: auto; overscroll-behavior: contain; border: 1px solid rgba(7,22,40,.12); border-radius: 16px; background: #f4f7f9; color: var(--ink); box-shadow: 0 28px 90px rgba(2,9,18,.42); transform: translateX(-50%); }
.brand-settings-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 16px; }
.brand-settings-heading > div { display: grid; gap: 5px; }
.brand-settings-heading span, .brand-nav-color-control > header span { color: var(--blue); font: 800 8px/1 Arial,sans-serif; letter-spacing: .18em; }
.brand-settings-heading h2 { margin: 0; font: 800 24px/1 'EventSans',sans-serif; letter-spacing: -.035em; }
.brand-settings-heading > button { width: 36px; height: 36px; padding: 0; border: 1px solid rgba(7,22,40,.13); border-radius: 50%; background: #fff; color: var(--ink); font: 300 24px/1 Arial,sans-serif; cursor: pointer; }
.brand-settings-popover .brand-control-preview { margin: 0; background: var(--header-background); transition: background .25s; }
.brand-settings-popover .brand-control-status { margin: 9px 0 0; }
.brand-settings-popover .brand-control-library-button { width: 100%; margin: 12px 0 0; }
.brand-settings-popover .brand-control-library { margin: 10px 0 0; }
.brand-settings-popover .brand-control-actions { margin-top: 10px; }
.brand-nav-color-control { margin-top: 18px; padding-top: 17px; border-top: 1px solid rgba(7,22,40,.12); }
.brand-nav-color-control > header { display: grid; gap: 5px; }
.brand-nav-color-control > header strong { font-size: 15px; }
.brand-nav-color-control > p { margin: 7px 0 13px; color: rgba(7,16,29,.58); font: 12px/1.4 Georgia,serif; }
.brand-nav-color-control .color-explorer { margin-bottom: 4px; }
.brand-nav-effects-control { display: grid; grid-template-columns: minmax(0,1fr); gap: 8px; margin-top: 16px; padding-top: 15px; border-top: 1px solid rgba(7,22,40,.1); }
.brand-nav-effects-control label { display: flex; align-items: center; justify-content: space-between; gap: 16px; color: #233447; font: 800 9px/1.2 Arial,sans-serif; letter-spacing: .03em; }
.brand-nav-effects-control label:not(:first-child) { margin-top: 5px; }
.brand-nav-effects-control output { min-width: 42px; color: var(--blue); font-variant-numeric: tabular-nums; text-align: right; }
.brand-nav-effects-control input[type="range"] { width: 100%; height: 18px; margin: 0; accent-color: var(--blue); cursor: pointer; }

.story-shell { position: relative; width: 100%; margin-left: 0; margin-right: 0; height: var(--story-page-height); overflow-x: hidden; overflow-y: auto; overscroll-behavior-y: none; scroll-behavior: auto; scroll-snap-type: y mandatory; scrollbar-width: none; touch-action: pan-y; transition: width .48s var(--ease), margin-left .48s var(--ease), margin-right .48s var(--ease); }
.story-shell::-webkit-scrollbar { width: 0; height: 0; }
.story-shell.is-transitioning { scroll-snap-type: none; }
body.is-locked .story-shell { overflow: hidden; }
@media (min-width: 901px) {
  body.has-open-organizer .story-shell { width: calc(100% - 360px); margin-left: 360px; }
}
.chapter { position: relative; width: 100%; height: var(--story-page-height); min-height: var(--story-page-height); max-height: var(--story-page-height); overflow: hidden; isolation: isolate; scroll-snap-align: start; scroll-snap-stop: always; }
.chapter::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: url('assets/dither-noise.svg') repeat; background-size: 96px 96px; opacity: .045; mix-blend-mode: soft-light; }
.chapter-media, .soft-media { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; object-fit: cover; transform: scale(1.055); transition: transform 1.4s var(--ease); }
.chapter.is-active .chapter-media { transform: scale(1); }
.chapter-inner { width: min(100%, 1600px); height: var(--story-page-height); min-height: 0; margin: 0 auto; padding: calc(var(--header-h) + 54px) clamp(28px, 6vw, 112px) 72px; position: relative; z-index: 2; }
.eyebrow { margin: 0 0 22px; text-transform: uppercase; letter-spacing: .2em; font-size: 10px; font-weight: 700; display: flex; gap: 14px; align-items: center; }
.eyebrow > span:not([data-cover-kicker]):not([data-edit]) { width: 38px; height: 1px; flex: 0 0 38px; background: currentColor; opacity: .7; }
.eyebrow.dark { color: rgba(7,16,29,.7); }
.eyebrow.centered { justify-content: center; }
h1, h2 { font-weight: 400; letter-spacing: -.055em; line-height: .84; margin: 0; }
h1 { font-size: clamp(72px, 11vw, 178px); text-transform: uppercase; }
h2 { font-size: clamp(70px, 10vw, 160px); }
h1 em, h2 em { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; text-transform: none; letter-spacing: -.075em; }
.reveal { opacity: 0; transform: translateY(30px); transition: opacity .85s var(--ease), transform .85s var(--ease); }
.reveal-delay { transition-delay: .14s; }
.chapter.is-active .reveal { opacity: 1; transform: none; }

.chapter-cover { background: var(--cover-color, var(--midnight)); }
.chapter-cover .chapter-media { object-position: center; }
.cover-wash { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(2,9,18,.82) 0%, rgba(2,9,18,.36) 45%, rgba(2,9,18,.08) 75%), linear-gradient(0deg, rgba(2,9,18,.7), transparent 46%); transition: background .35s ease; }
.chapter-cover { transition: color .35s ease; }
.chapter-cover.has-dark-cover-text { color: var(--ink); }
.chapter-cover.has-dark-cover-text .cover-wash { background: linear-gradient(90deg, rgba(255,255,255,.5) 0%, rgba(255,255,255,.18) 48%, rgba(255,255,255,.06) 78%), linear-gradient(0deg, rgba(255,255,255,.42), transparent 48%); }
.cover-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, 380px); align-items: end; gap: 50px; }
.cover-copy { align-self: center; margin-top: 5vh; }
.cover-copy h1 em { color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.92); }
.cover-meta { margin-top: 34px; display: flex; flex-wrap: wrap; gap: 12px 26px; text-transform: uppercase; font-size: 10px; letter-spacing: .12em; }
.cover-meta span { display: flex; align-items: center; gap: 22px; }
.cover-meta span:not(:last-child)::after { content: ''; width: 3px; height: 3px; border-radius: 50%; background: var(--blue-bright); }
.cover-note { align-self: end; padding: 30px 0 12px 34px; border-left: 1px solid var(--line); }
.cover-note > p { max-width: 310px; margin: 0 0 28px; font-family: Georgia, serif; font-size: 22px; line-height: 1.45; }
.circle-link { width: 112px; height: 112px; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; background: rgba(255,255,255,.06); backdrop-filter: blur(12px); display: grid; place-items: center; cursor: pointer; position: relative; transition: background .3s, transform .3s var(--ease); }
.circle-link:hover { background: var(--blue); transform: rotate(-8deg); border-color: var(--blue); }
.circle-link span { font-size: 12px; font-weight: 700; }
.circle-link svg { width: 23px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.scroll-cue { position: absolute; left: 34px; bottom: 28px; z-index: 5; border: 0; background: none; display: flex; gap: 12px; align-items: center; cursor: pointer; text-transform: uppercase; font-size: 9px; letter-spacing: .18em; }
.scroll-cue svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; animation: nudge 1.8s ease-in-out infinite; }
@keyframes nudge { 0%,100% { transform: translateY(-2px); } 50% { transform: translateY(5px); } }

.chapter-schedule { background: radial-gradient(circle at 78% 25%, #143763 0, #081a31 33%, #050f1f 75%); }
.schedule-layout { display: grid; grid-template-columns: .8fr 1.15fr; align-items: center; gap: 9vw; }
.schedule-heading h2 em { color: var(--blue-bright); }
.section-copy { margin: 34px 0 0; max-width: 390px; color: var(--muted); line-height: 1.65; font-family: Georgia, serif; font-size: 19px; }
.timeline { max-height: min(64vh, 650px); margin: 0; padding: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; list-style: none; border-top: 1px solid var(--line); touch-action: pan-y; }
.timeline-item { min-height: 108px; display: grid; grid-template-columns: 74px 1fr auto; gap: 24px; align-items: center; border-bottom: 1px solid var(--line); position: relative; cursor: pointer; transition: padding .35s var(--ease), background .3s; outline: none; }
.timeline-item::before { content: ''; position: absolute; left: -20px; top: 50%; width: 6px; height: 6px; border-radius: 50%; background: var(--blue-bright); transform: translateY(-50%) scale(0); transition: transform .3s; }
.timeline-item:hover, .timeline-item:focus, .timeline-item.is-current { padding-left: 18px; background: linear-gradient(90deg, rgba(36,152,237,.18), transparent); }
.timeline-item:hover::before, .timeline-item:focus::before, .timeline-item.is-current::before { transform: translateY(-50%) scale(1); }
.timeline-item:last-child { border-bottom: 0; }
.timeline-item time { font-family: Georgia, serif; font-size: 25px; }
.timeline-item div { display: grid; gap: 8px; }
.timeline-item strong { font-size: 17px; }
.timeline-item div span { color: var(--muted); font-size: 13px; }
.timeline-status { font-size: 9px; letter-spacing: .14em; text-transform: uppercase; color: var(--blue-bright); }
.chapter-index { position: absolute; right: -20px; bottom: -75px; margin: 0; z-index: 0; font-size: clamp(220px, 28vw, 430px); font-weight: 700; line-height: 1; color: rgba(255,255,255,.025); letter-spacing: -.1em; }
.ambient-orb { position: absolute; border-radius: 50%; filter: blur(10px); opacity: .2; background: var(--blue); animation: drift 12s ease-in-out infinite alternate; }
.orb-one { width: 280px; height: 280px; right: 12%; top: 6%; }
.orb-two { width: 160px; height: 160px; left: 30%; bottom: 4%; animation-delay: -5s; }
@keyframes drift { to { transform: translate3d(40px, 30px, 0) scale(1.18); opacity: .32; } }

.chapter-table { background: var(--paper); color: var(--ink); }
.table-figure { position: absolute; inset: 0 auto 0 0; width: 55%; margin: 0; overflow: hidden; }
.table-figure img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.045); transition: transform 1.4s var(--ease); }
.chapter-table.is-active .table-figure img { transform: scale(1); }
.table-layout { display: grid; grid-template-columns: 55% 45%; padding-right: clamp(28px, 6vw, 112px); }
.table-copy { grid-column: 2; align-self: center; padding-left: clamp(34px, 6vw, 100px); }
.table-copy h2 { font-size: clamp(70px, 8.2vw, 136px); }
.table-copy h2 em { color: var(--blue); }
.table-copy > p { font-family: Georgia, serif; font-size: 20px; line-height: 1.55; max-width: 480px; }
.event-facts { margin: 34px 0; border-top: 1px solid rgba(7,16,29,.18); }
.event-facts div { display: grid; grid-template-columns: 92px 1fr; gap: 20px; padding: 15px 0; border-bottom: 1px solid rgba(7,16,29,.18); }
.event-facts dt { text-transform: uppercase; font-size: 9px; font-weight: 700; letter-spacing: .14em; color: rgba(7,16,29,.5); }
.event-facts dd { margin: 0; font-size: 13px; }
.underlined-button { color: var(--ink); border: 0; border-bottom: 1px solid var(--ink); background: none; padding: 8px 0; cursor: pointer; font-weight: 700; }
.underlined-button span { margin-left: 20px; color: var(--blue); }
.vertical-caption { position: absolute; right: 18px; bottom: 28px; margin: 0; writing-mode: vertical-rl; font-size: 8px; letter-spacing: .18em; color: rgba(7,16,29,.45); }

.chapter-live { background: #050a11; }
.live-wash { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(3,7,13,.72), transparent 58%), linear-gradient(0deg, rgba(3,7,13,.78), transparent 55%); }
.live-layout { display: grid; grid-template-columns: 1fr 1fr; align-items: end; }
.live-copy h2 { font-size: clamp(90px, 14vw, 220px); }
.live-copy h2 em { color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.9); }
.artist-note { justify-self: end; width: min(100%, 470px); display: grid; grid-template-columns: 70px 1fr; gap: 24px; align-items: start; padding-top: 22px; border-top: 1px solid var(--line); }
.artist-number { font-family: Georgia, serif; font-size: 34px; color: var(--blue-bright); }
.artist-note strong { font-size: 17px; }
.artist-note p { color: var(--muted); font-family: Georgia, serif; line-height: 1.5; }
.sound-toggle { position: absolute; right: 34px; top: 50%; z-index: 3; display: flex; align-items: end; height: 32px; gap: 3px; }
.sound-toggle > span { width: 2px; height: 12px; background: white; animation: audio 1s ease-in-out infinite alternate; }
.sound-toggle > span:nth-child(2) { animation-delay: -.4s; }
.sound-toggle > span:nth-child(3) { animation-delay: -.7s; }
.sound-toggle > span:nth-child(4) { animation-delay: -.2s; }
.sound-toggle small { margin-left: 8px; font-size: 8px; letter-spacing: .16em; }
@keyframes audio { to { height: 28px; } }

.chapter-rsvp { background: var(--midnight); text-align: center; }
.soft-media { opacity: .55; }
.rsvp-wash { position: absolute; inset: 0; z-index: -2; background: radial-gradient(circle at center, rgba(20,84,145,.35), rgba(3,10,19,.92) 72%); }
.finale-layout { display: flex; flex-direction: column; align-items: center; justify-content: center; }
.finale-layout h2 em { color: var(--blue-bright); }
.finale-date { margin: 34px 0; font-size: 10px; letter-spacing: .25em; text-transform: uppercase; }
.finale-button { min-width: 220px; height: 64px; padding: 0 25px; border: 1px solid rgba(255,255,255,.6); border-radius: 999px; background: rgba(255,255,255,.08); backdrop-filter: blur(12px); display: flex; align-items: center; justify-content: space-between; cursor: pointer; transition: background .3s, transform .3s var(--ease); }
.finale-button:hover { background: var(--blue); border-color: var(--blue); transform: scale(1.03); }
.finale-button svg { width: 22px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.demo-note { position: absolute; bottom: 26px; margin: 0; font-size: 9px; letter-spacing: .1em; color: rgba(255,255,255,.5); }
.story-progress { display: none !important; }
.progress-line { width: 1px; height: 100%; background: rgba(255,255,255,.25); overflow: hidden; }
.progress-line span { display: block; width: 100%; height: 0; background: var(--blue-bright); transition: height .6s var(--ease); }
.story-progress ol { list-style: none; margin: 0; padding: 0; height: 100%; display: flex; flex-direction: column; justify-content: space-between; }
.story-progress a { color: white; text-decoration: none; font-size: 8px; letter-spacing: .15em; opacity: .45; transition: opacity .25s, color .25s; }
.story-progress a.is-active { opacity: 1; color: var(--blue-bright); }
.chapter-controls { position: fixed; z-index: 45; right: 34px; bottom: 28px; display: flex; align-items: center; gap: 13px; transition: right .55s var(--ease); }
.chapter-controls button { width: 40px; height: 40px; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; background: rgba(5,15,29,.3); backdrop-filter: blur(8px); display: grid; place-items: center; cursor: pointer; transition: background .25s; }
.chapter-controls button:hover { background: var(--blue); }
.chapter-controls svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.chapter-controls span { font-size: 9px; letter-spacing: .14em; min-width: 48px; text-align: center; }

.menu-overlay { position: fixed; inset: 0; z-index: 50; visibility: hidden; pointer-events: none; }
.menu-overlay.is-open { visibility: visible; pointer-events: auto; }
.menu-backdrop { position: absolute; inset: 0; background: rgba(3,11,23,.72); backdrop-filter: blur(24px); opacity: 0; transition: opacity .45s; }
.menu-overlay.is-open .menu-backdrop { opacity: 1; }
.menu-content { position: relative; width: min(100%, 1320px); height: 100%; margin: auto; padding: calc(var(--header-h) + 58px) clamp(28px, 9vw, 140px) 44px; display: flex; flex-direction: column; transform: translateY(28px); opacity: 0; transition: .5s var(--ease); }
.menu-overlay.is-open .menu-content { transform: none; opacity: 1; }
.menu-kicker { margin: 0 0 28px; color: var(--blue-bright); text-transform: uppercase; letter-spacing: .2em; font-size: 10px; }
.menu-content ol { list-style: none; margin: 0; padding: 0; counter-reset: menu; }
.menu-content li { counter-increment: menu; border-top: 1px solid var(--line); }
.menu-content li:last-child { border-bottom: 1px solid var(--line); }
.menu-content a { display: flex; align-items: baseline; gap: 22px; padding: 12px 0; color: white; text-decoration: none; font-family: Georgia, serif; font-size: clamp(34px, 5.2vw, 74px); transition: color .2s, padding .3s var(--ease); }
.menu-content a::before { content: '0' counter(menu); font: 9px Arial, sans-serif; letter-spacing: .16em; color: var(--blue-bright); }
.menu-content a:hover { color: var(--blue-bright); padding-left: 18px; }
.menu-footer { margin-top: auto; display: flex; justify-content: space-between; gap: 20px; color: var(--muted); font-size: 11px; }
.menu-footer a { color: white; font: inherit; padding: 0; border: 0; }
.menu-footer a::before { display: none; }

.organizer-panel { position: fixed; z-index: 90; top: var(--header-h); right: auto; left: 0; bottom: 0; width: min(360px, 100%); height: auto; padding: 0 0 30px; background: #f2f5f8; color: var(--ink); box-shadow: 20px 0 52px rgba(0,0,0,.22); -webkit-backdrop-filter: none; backdrop-filter: none; contain: layout paint style; will-change: transform; transform: translate3d(-110%,0,0); transition: transform .42s cubic-bezier(.22,.8,.24,1), top .42s cubic-bezier(.22,.8,.24,1), padding .42s cubic-bezier(.22,.8,.24,1), background-color .32s ease, box-shadow .42s cubic-bezier(.22,.8,.24,1); overflow-y: auto; overscroll-behavior-y: contain; -webkit-overflow-scrolling: touch; touch-action: pan-y; scrollbar-gutter: stable; }
.organizer-panel.is-open { transform: translate3d(0,0,0); }
.rail-pin-button { width: 30px; height: 30px; padding: 0; border: 0; border-radius: 4px; display: grid; place-items: center; background: transparent; color: #718293; cursor: pointer; box-shadow: none; transition: transform .18s var(--ease), color .18s ease; }
.rail-pin-button svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.rail-pin-button .panel-pin-icon path:first-child { fill: transparent; transition: fill .18s ease; }
.rail-pin-button:hover { color: #65bdf5; }
.rail-pin-button:focus-visible { color: #65bdf5; outline: 2px solid rgba(36,152,237,.24); outline-offset: 2px; }
.rail-pin-button[aria-pressed="true"] { color: var(--blue); background: transparent; box-shadow: none; }
.rail-pin-button[aria-pressed="true"] .panel-pin-icon path:first-child { fill: currentColor; }
.organizer-rail-pin { position: static; z-index: 8; width: 38px; height: 38px; margin: 0; flex: 0 0 38px; }
.editor-pages-rail-actions { display:flex; align-items:center; gap:10px; }
.organizer-dashboard-link { min-height:38px; padding:0 12px; border:1px solid rgba(7,22,40,.14); border-radius:999px; display:flex; align-items:center; gap:7px; background:#fff; color:#405267; font:800 9px/1 Arial,sans-serif; text-decoration:none; }
.organizer-dashboard-link[hidden] { display:none; }
.organizer-dashboard-link svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.8; }
.organizer-dashboard-link:hover,.organizer-dashboard-link:focus-visible { border-color:rgba(36,152,237,.58); background:#eaf6ff; color:#087dce; outline:2px solid rgba(36,152,237,.2); outline-offset:2px; }
.preview-as-user-button { position: relative; width: 100%; min-height: 50px; margin-top: 24px; padding: 0 18px; border: 1px solid rgba(7,22,40,.12); border-radius: 999px; display: flex; align-items: center; justify-content: space-between; gap: 16px; background: var(--blue); color: #fff; box-shadow: 0 14px 32px rgba(7,22,40,.18); font: 800 11px/1 Arial,sans-serif; letter-spacing: .035em; cursor: pointer; transition: transform .25s var(--ease), background .2s, box-shadow .25s var(--ease); }
.preview-as-user-button svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.preview-as-user-button:hover, .preview-as-user-button:focus-visible { background: #0874c4; box-shadow: 0 18px 38px rgba(7,22,40,.24); transform: translateY(-2px); outline: 2px solid rgba(36,152,237,.3); outline-offset: 2px; }
.preview-as-user-button:disabled { cursor: progress; opacity: .72; transform: none; }
.organizer-main { padding-top: 0; }
.editor-pages-rail-header { position: sticky; z-index: 5; top: 0; min-height: 76px; margin: 0; padding: 18px 18px 14px 24px; border-bottom: 1px solid rgba(7,22,40,.1); display: flex; align-items: center; justify-content: space-between; gap: 18px; background: #f2f5f8; -webkit-backdrop-filter: none; backdrop-filter: none; }

body.has-open-visual-editor .organizer-panel { z-index: 110; top: 78px; right: auto; left: 0; width: min(360px, 100%); padding: 0 0 28px; background: rgba(244,247,249,.97); box-shadow: 24px 0 70px rgba(2,9,18,.3); transform: translateX(-110%); }
body.has-open-visual-editor .organizer-panel.is-open { transform: none; }
body.is-editor-pages-open .organizer-panel.is-open { z-index: 150; }
.editor-pages-rail-header span { color: #7a8998; font: 800 8px/1 Arial,sans-serif; letter-spacing: .15em; text-transform: uppercase; }
.editor-pages-rail-header strong { overflow: hidden; color: #102033; font: 700 17px/1.15 Arial,sans-serif; text-overflow: ellipsis; white-space: nowrap; }
body.has-open-visual-editor .organizer-main > .brand-control { margin-top: 0; }
body.has-open-visual-editor .organizer-footnote { display: none; }
.organizer-header { display: flex; justify-content: space-between; align-items: start; padding-bottom: 22px; border-bottom: 1px solid rgba(7,16,29,.14); }
.organizer-header span { font-size: 8px; letter-spacing: .18em; color: var(--blue); font-weight: 700; }
.organizer-header h2 { margin-top: 7px; font: 34px/1 Georgia, serif; letter-spacing: -.03em; }
.organizer-header button, .sheet-close { width: 40px; height: 40px; border: 1px solid rgba(7,16,29,.18); border-radius: 50%; background: transparent; color: var(--ink); font-size: 22px; cursor: pointer; }
.organizer-copy { font-family: Georgia, serif; line-height: 1.55; color: rgba(7,16,29,.68); }
.publish-state { margin: 24px 0; padding: 15px 0; display: grid; grid-template-columns: 10px 1fr auto; gap: 10px; align-items: center; border-top: 1px solid rgba(7,16,29,.1); border-bottom: 1px solid rgba(7,16,29,.1); }
.publish-state > span { width: 8px; height: 8px; background: #41a86a; border-radius: 50%; box-shadow: 0 0 0 4px rgba(65,168,106,.13); }
.publish-state strong { font-size: 12px; }
.publish-state small { color: rgba(7,16,29,.45); }
.brand-control { margin: 0 0 24px; padding: 15px; border: 1px solid rgba(7,16,29,.08); background: rgba(7,16,29,.045); }
.brand-control-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.brand-control-heading > div { display: grid; gap: 3px; }
.brand-control-heading span { color: rgba(7,16,29,.52); font-size: 8px; font-weight: 700; letter-spacing: .18em; }
.brand-control-heading strong { font-size: 13px; }
.brand-control-heading small { color: rgba(7,16,29,.43); font-size: 9px; }
.brand-control-preview { min-height: 58px; display: flex; align-items: center; justify-content: center; gap: 10px; padding: 12px 16px; background: #071628; overflow: hidden; }
.brand-control-preview img { display: block; width: 142px; height: auto; max-height: 32px; object-fit: contain; }
.brand-control-preview img.is-custom { width: auto; max-width: 210px; }
.brand-control-preview span { padding-left: 10px; border-left: 1px solid rgba(255,255,255,.35); color: white; font-size: 8px; letter-spacing: .24em; }
.brand-control-actions { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); gap: 8px; margin-top: 10px; }
.brand-control-actions label, .brand-control-actions button { min-height: 50px; display: grid; place-items: center; padding: 10px 12px; border: 1px solid rgba(7,16,29,.14); background: #fff; color: var(--ink); font: 800 10px/1 Arial, sans-serif; cursor: pointer; }
.brand-control-actions label { border-color: var(--blue); background: var(--blue); color: white; }
.brand-control-actions label:hover { background: #0874c4; border-color: #0874c4; }
.brand-control-actions input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.brand-control-actions button:disabled { opacity: .35; cursor: default; }
.brand-control-status { margin: 9px 0 0; color: rgba(7,16,29,.52); font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.brand-control-library-button { width: calc(100% - 24px); min-height: 44px; margin: 10px 12px 0; padding: 7px 11px; border: 1px solid rgba(7,22,40,.14); display: grid; grid-template-columns: 28px minmax(0,1fr) auto; align-items: center; gap: 9px; background: #fff; color: #24364a; text-align: left; cursor: pointer; transition: background .2s ease, border-color .2s ease, transform .2s ease; }
.brand-control-library-button:hover { background: #eef7fd; border-color: rgba(36,152,237,.58); }
.brand-control-library-button:active { transform: translateY(1px); }
.brand-control-library-button .brand-control-library-icon { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: #eaf6ff; color: #168bdc; }
.brand-control-library-button svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.brand-control-library-button strong { min-width: 0; font: 800 10px/1.1 Arial,sans-serif; letter-spacing: .01em; }
.brand-control-library-button small { color: #758291; font: 700 8px/1 Arial,sans-serif; }
.brand-control-library-disclosure { display: flex; align-items: center; gap: 7px; }
.brand-control-library-disclosure svg { width: 14px; height: 14px; transition: transform .2s ease; }
.brand-control-library-button[aria-expanded="true"] .brand-control-library-disclosure svg { transform: rotate(180deg); }
.brand-control-library { margin: 10px 12px 0; padding: 10px; border: 1px solid rgba(7,22,40,.13); background: #f4f7f9; }
.brand-control-library[hidden] { display: none; }
.brand-control-library > header { min-height: 30px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.brand-control-library > header > div { min-width: 0; display: grid; gap: 2px; }
.brand-control-library > header strong { color: #122337; font: 800 10px/1 Arial,sans-serif; }
.brand-control-library > header small { color: #73808d; font: 600 8px/1 Arial,sans-serif; }
.brand-control-library > header > button { width: 28px; height: 28px; padding: 0; border: 1px solid rgba(7,22,40,.13); border-radius: 50%; background: #fff; color: #27384a; font-size: 17px; cursor: pointer; }
.brand-control-library-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin: 9px 0; }
.brand-control-library-tabs button { min-height: 34px; padding: 7px; border: 1px solid rgba(7,22,40,.13); background: #fff; color: #4a5a69; font: 800 9px/1 Arial,sans-serif; cursor: pointer; }
.brand-control-library-tabs button[aria-selected="true"] { border-color: var(--blue); background: #eaf6ff; color: #087dce; box-shadow: inset 0 0 0 1px var(--blue); }
.brand-control-library-grid { max-height: 248px; min-height: 82px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-content: start; gap: 7px; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.brand-control-library-item { position: relative; min-width: 0; padding: 0 0 7px; border: 1px solid rgba(7,22,40,.12); background: #fff; color: #1a2b3c; cursor: pointer; text-align: left; overflow: hidden; }
.brand-control-library-item > span { aspect-ratio: 1.35; display: grid; place-items: center; padding: 5px; background-color: #e8edf1; background-image: linear-gradient(45deg,rgba(255,255,255,.7) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.7) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.7) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.7) 75%); background-size: 10px 10px; background-position: 0 0,0 5px,5px -5px,-5px 0; }
.brand-control-library-item img { width: 100%; height: 100%; display: block; object-fit: contain; }
.brand-control-library-item small { display: block; padding: 6px 6px 0; overflow: hidden; color: #405162; font: 700 8px/1.15 Arial,sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.brand-control-library-item i { position: absolute; top: 4px; right: 4px; width: 18px; height: 18px; border-radius: 50%; display: none; place-items: center; background: var(--blue); color: #fff; font: normal 800 9px/1 Arial,sans-serif; box-shadow: 0 2px 8px rgba(0,0,0,.2); }
.brand-control-library-item:hover { border-color: rgba(20,151,237,.65); }
.brand-control-library-item[aria-pressed="true"] { border-color: var(--blue); box-shadow: inset 0 0 0 1px var(--blue); }
.brand-control-library-item[aria-pressed="true"] i { display: grid; }
.brand-control-library-loading, .brand-control-library-empty { grid-column: 1 / -1; min-height: 82px; margin: 0; padding: 12px; display: flex; align-items: center; justify-content: center; gap: 8px; color: #6c7985; font: 600 9px/1.4 Arial,sans-serif; text-align: center; }
.brand-control-library-loading span { width: 15px; height: 15px; border: 2px solid rgba(20,151,237,.18); border-top-color: var(--blue); border-radius: 50%; animation: brand-library-spin .72s linear infinite; }
.brand-control-library-empty.is-error { color: #a44139; }
@keyframes brand-library-spin { to { transform: rotate(360deg); } }
.module-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; border-top: 1px solid rgba(7,22,40,.1); }
.module-item { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 14px 16px 14px 18px; background: white; border: 0; border-bottom: 1px solid rgba(7,22,40,.1); cursor: grab; touch-action: none; -webkit-user-select:none; user-select:none; transition: background .2s, box-shadow .2s, color .2s; }
.module-item:focus-visible { position: relative; z-index: 2; outline: 3px solid rgba(36,152,237,.52); outline-offset: -3px; }
.module-item:hover { transform: none; background: #f7fafc; box-shadow: inset 4px 0 0 rgba(36,152,237,.5); }
.module-item.is-current { background: #dff5e8; border-color: #9bd8b5; color: #0b462a; box-shadow: inset 7px 0 0 #24945b; }
.module-item.is-current .module-page-number { color: #167546; }
.module-item.is-current .module-name small { color: #347354; }
.module-preview { min-width: 0; display: grid; grid-template-columns: 24px minmax(0,1fr); align-items: center; gap: 12px; padding: 0; color: inherit; text-align: left; pointer-events: none; }
.module-handle { color: rgba(7,16,29,.32); letter-spacing: -2px; }
.module-page-number { color: var(--blue); font-size: 9px; font-weight: 800; letter-spacing: .08em; font-variant-numeric: tabular-nums; }
.module-name { display: grid; gap: 3px; }
.module-name strong { font-size: 13px; }
.module-name small { color: rgba(7,16,29,.48); }
.module-actions { position: relative; display: flex; gap: 6px; }
.module-actions > button { width: 38px; height: 38px; display: grid; place-items: center; padding: 0; border: 1px solid rgba(7,22,40,.1); border-radius: 3px; background: #e5eef5; color: #081d32; cursor: pointer; box-shadow: 0 1px 0 rgba(255,255,255,.8) inset; transition: background .2s, color .2s, border-color .2s, transform .2s; }
.module-actions > button svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 2.65; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
.module-actions > button:hover:not(:disabled), .module-actions > button:focus-visible { background: var(--ink); border-color: var(--ink); color: white; transform: translateY(-1px); }
.module-actions .module-settings { background: var(--blue); border-color: var(--blue); color: white; }
.module-actions .module-settings:hover, .module-actions .module-settings:focus-visible { background: #0874c4; border-color: #0874c4; }
.module-actions > button:disabled { background: #f4f6f8; border-color: rgba(7,22,40,.05); color: rgba(7,22,40,.22); box-shadow: none; cursor: default; }
.is-reordering-pages { cursor: grabbing; user-select: none; }
.is-reordering-pages .module-item { cursor: grabbing; }
.module-drop-placeholder { position: relative; min-height: 58px; border: 1px dashed rgba(36,152,237,.58); border-radius: 4px; background: rgba(36,152,237,.075); box-shadow: inset 3px 0 0 rgba(36,152,237,.66); overflow: hidden; }
.module-drop-placeholder::after { content: ''; position: absolute; inset: 7px; border-radius: 2px; background: linear-gradient(90deg, rgba(36,152,237,.08), rgba(36,152,237,.02)); animation: module-drop-breathe 1.1s ease-in-out infinite alternate; }
.module-item.is-dragging { position: fixed; z-index: 180; margin: 0; border-color: rgba(36,152,237,.78); background: #f7fbfe; color: var(--ink); box-shadow: 0 24px 52px rgba(7,22,40,.28), 0 8px 18px rgba(7,22,40,.16), inset 3px 0 0 var(--blue); opacity: 1; pointer-events: none; transform: translate3d(0,var(--drag-y,0),0); scale: 1.035; rotate: -.25deg; transition: scale .2s cubic-bezier(.2,.84,.24,1.12), rotate .2s ease, box-shadow .2s ease, border-color .2s ease; will-change: transform, scale; }
.module-item.is-dragging.is-dropping { scale: 1; rotate: 0deg; box-shadow: 0 8px 20px rgba(7,22,40,.12), inset 3px 0 0 var(--blue); transition: transform .24s cubic-bezier(.2,.84,.24,1), scale .24s ease, rotate .24s ease, box-shadow .24s ease; }
@keyframes module-drop-breathe { from { opacity: .48; transform: scaleX(.985); } to { opacity: 1; transform: scaleX(1); } }
@media (prefers-reduced-motion: reduce) {
  .module-drop-placeholder::after { animation: none; }
  .module-item.is-dragging, .module-item.is-dragging.is-dropping { transition-duration: .01ms; }
}

/* Gallery Style 2: Material carousel, compact shared-photo collection, and immersive viewer. */
.gallery-style-control {
  padding: 10px 11px;
  border: 1px solid #cfe1ee;
  border-radius: 12px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  background: #f7fbfe;
}
.gallery-style-control > span {
  color: #506173;
  font: 800 9px/1.2 Arial, sans-serif;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.gallery-style-control select {
  width: 100%;
  min-width: 0;
  min-height: 34px;
  padding: 0 31px 0 10px;
  border: 1px solid #b9cfdf;
  border-radius: 9px;
  background: #fff;
  color: #071628;
  font: 700 11px/1 Arial, sans-serif;
}

.gallery-layout:has(> .gallery-grid[data-gallery-style="material"]),
.center-sized-region:has(> .gallery-grid[data-gallery-style="material"]),
.center-companion-region:has(> .gallery-grid[data-gallery-style="material"]) {
  position: relative;
}
.gallery-grid[data-gallery-style="material"],
.center-layout-columns > .gallery-layout .gallery-grid[data-gallery-style="material"],
.center-layout-rows > .gallery-layout .gallery-grid[data-gallery-style="material"] {
  --material-gallery-ease: cubic-bezier(.2, 0, 0, 1);
  position: relative;
  width: 100%;
  height: clamp(360px, 62vh, 690px);
  min-height: 340px;
  padding: 0;
  display: block;
  overflow: hidden;
  border-radius: 0;
  background: transparent;
  scroll-snap-type: none;
  touch-action: pan-y;
  user-select: none;
  cursor: grab;
}
.center-layout-columns .gallery-grid[data-gallery-style="material"],
.center-layout-rows .gallery-grid[data-gallery-style="material"],
.center-companion-region .gallery-grid[data-gallery-style="material"] {
  height: clamp(340px, 52vh, 570px);
  min-height: 320px;
}
.official-editor-preview .gallery-grid[data-gallery-style="material"] {
  height: min(34vh, 330px);
  min-height: 190px;
}
.gallery-grid[data-gallery-style="material"].is-material-dragging { cursor: grabbing; }
.gallery-grid[data-gallery-style="material"] > :is(img, video, iframe, a),
.center-layout-columns > .gallery-layout .gallery-grid[data-gallery-style="material"] > :is(img, video, iframe, a) {
  --material-x: 0px;
  --material-width: 320px;
  --material-opacity: 0;
  --material-radius: 42px;
  --material-media-x: 0px;
  position: absolute;
  inset: 5px auto 5px 0;
  grid-row: auto;
  width: var(--material-width);
  height: auto;
  min-width: 42px;
  min-height: 0;
  max-width: none;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: var(--material-radius);
  background: #13202c;
  box-shadow: 0 17px 44px rgba(8,23,37,.14);
  opacity: var(--material-opacity);
  outline: 0;
  object-fit: cover;
  object-position: calc(50% + var(--material-media-x)) center;
  transform: translate3d(var(--material-x), 0, 0);
  transform-origin: center;
  transition: width .64s var(--material-gallery-ease), border-radius .64s var(--material-gallery-ease), opacity .28s ease, transform .64s var(--material-gallery-ease), object-position .7s var(--material-gallery-ease), box-shadow .28s ease;
  will-change: width, transform;
}
.gallery-grid[data-gallery-style="material"] > a > :is(iframe, video, img) {
  width: 100%;
  height: 100%;
  border: 0;
  object-fit: cover;
  pointer-events: none;
}
.gallery-grid[data-gallery-style="material"].is-material-dragging > :is(img, video, iframe, a) { transition: none; }
.gallery-grid[data-gallery-style="material"] > :is(img, video, iframe, a):hover { box-shadow: 0 23px 54px rgba(8,23,37,.21); }
.gallery-grid[data-gallery-style="material"] > :is(img, video, iframe, a):focus-visible {
  outline: 3px solid #ffad2f;
  outline-offset: -5px;
  box-shadow: 0 23px 54px rgba(8,23,37,.22);
}
.gallery-grid[data-gallery-style="material"] > img { cursor: zoom-in; }

.material-gallery-controls {
  position: relative;
  z-index: 6;
  pointer-events: none;
  width: 100%;
  min-height: 58px;
  padding: 11px clamp(12px, 3vw, 42px) 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  color: currentColor;
}
.center-layout-columns .material-gallery-controls,
.center-layout-rows .material-gallery-controls,
.center-companion-region .material-gallery-controls { padding-right: 0; padding-left: 0; }
.material-gallery-controls > p {
  margin: 0;
  opacity: .72;
  color: currentColor;
  font: 750 10px/1.2 Arial, sans-serif;
  letter-spacing: .055em;
}
.material-gallery-actions { display: flex; align-items: center; justify-content: flex-end; gap: 7px; pointer-events: auto; }
.material-gallery-arrow,
.material-gallery-view-all,
.material-gallery-icon,
.material-gallery-viewer-arrow {
  border: 1px solid color-mix(in srgb, currentColor 24%, transparent);
  background: color-mix(in srgb, transparent 92%, currentColor);
  color: inherit;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease, opacity .2s ease;
}
.material-gallery-arrow {
  width: 44px;
  height: 44px;
  padding: 0;
  border-radius: 50%;
  display: grid;
  place-items: center;
}
.material-gallery-arrow svg,
.material-gallery-icon svg,
.material-gallery-viewer-arrow svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.material-gallery-view-all {
  min-height: 42px;
  padding: 0 14px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  font: 800 10px/1 Arial, sans-serif;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.material-gallery-grid-icon { width: 13px; height: 13px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 2px; }
.material-gallery-grid-icon i { border: 1px solid currentColor; border-radius: 1px; }
.material-gallery-arrow:hover,
.material-gallery-arrow:focus-visible,
.material-gallery-view-all:hover,
.material-gallery-view-all:focus-visible {
  border-color: currentColor;
  background: currentColor;
  color: var(--material-gallery-surface, #fff);
  outline: 0;
  transform: translateY(-2px);
}

body.material-gallery-layer-open { overflow: hidden; }
.material-gallery-all {
  --material-gallery-surface: #f5f2ec;
  --material-gallery-ink: #071628;
  position: fixed;
  z-index: 2147482000;
  inset: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: var(--material-gallery-surface);
  color: var(--material-gallery-ink);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .48s var(--material-gallery-ease, cubic-bezier(.2,0,0,1)), visibility 0s linear .48s;
}
.material-gallery-all[hidden] { display: none; }
.material-gallery-all.is-material-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition-delay: 0s;
}
.material-gallery-all-background,
.material-gallery-all-wash { position: fixed; z-index: -2; inset: 0; pointer-events: none; }
.material-gallery-all-background { background: var(--material-gallery-surface); background-position: center; background-size: cover; }
.material-gallery-all-background > :is(img, video) { width: 100%; height: 100%; display: block; object-fit: cover; }
.material-gallery-all-wash { z-index: -1; }
.material-gallery-all-header {
  position: sticky;
  z-index: 3;
  top: 0;
  min-height: 72px;
  padding: 12px clamp(16px, 3vw, 48px);
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  background: color-mix(in srgb, var(--material-gallery-surface) 86%, transparent);
  backdrop-filter: blur(18px);
  opacity: 0;
  transform: translate3d(0, -18px, 0);
  transition: opacity .18s ease, transform .42s cubic-bezier(.2,0,0,1);
}
.material-gallery-all.is-material-open .material-gallery-all-header { opacity: 1; transform: none; transition-delay: .14s, .08s; }
.material-gallery-all-header p {
  margin: 0;
  font: 800 11px/1 Arial, sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.material-gallery-icon {
  width: 44px;
  height: 44px;
  padding: 0;
  border-radius: 50%;
  display: grid;
  place-items: center;
}
.material-gallery-all-close { justify-self: end; }
.material-gallery-all-close:hover,
.material-gallery-all-close:focus-visible { border-color: currentColor; background: currentColor; color: var(--material-gallery-surface); outline: 0; }
.material-gallery-all-grid {
  position: relative;
  z-index: 1;
  width: min(calc(100% - 32px), 1120px);
  margin: 0 auto;
  padding: 16px 0 72px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-auto-rows: clamp(118px, 12vw, 158px);
  gap: 8px;
}
.material-gallery-all:not(.is-material-settled) .material-gallery-all-grid { pointer-events: none; }
.material-gallery-all-photo {
  position: relative;
  min-width: 0;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 20px;
  background: #13202c;
  cursor: zoom-in;
  opacity: 0;
}
.material-gallery-all.is-material-settled .material-gallery-all-photo { opacity: 1; }
.material-gallery-all-photo img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .45s cubic-bezier(.2,0,0,1); }
.material-gallery-all-photo:hover img,
.material-gallery-all-photo:focus-visible img { transform: scale(1.045); }
.material-gallery-all-photo:focus-visible { outline: 3px solid #ffad2f; outline-offset: 2px; }

.material-gallery-shared-layer { position: fixed; z-index: 2147482500; inset: 0; overflow: hidden; pointer-events: none; }
body.material-gallery-shared-active .gallery-grid[data-gallery-style="material"] > img,
body.material-gallery-shared-active .material-gallery-all-photo { visibility: hidden; }
.material-gallery-shared-photo {
  position: fixed;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: #13202c;
  box-shadow: 0 14px 38px rgba(8,23,37,.14);
  will-change: left, top, width, height, border-radius, opacity;
}
.material-gallery-shared-photo img {
  position: absolute;
  max-width: none;
  display: block;
  object-fit: cover;
  pointer-events: none;
  will-change: left, top, width, height;
}

.material-gallery-viewer {
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: #000;
  color: #fff;
}
.material-gallery-viewer::backdrop { background: #000; }
.material-gallery-viewer[open] { z-index: 2147483000; display: block; }
.material-gallery-viewer-track {
  width: max-content;
  height: 100svh;
  display: flex;
  touch-action: none;
  user-select: none;
  cursor: grab;
  will-change: transform, opacity;
}
.material-gallery-viewer-track.is-material-dragging { cursor: grabbing; }
.material-gallery-viewer-track.is-material-settling { transition: transform .42s cubic-bezier(.2,0,0,1), opacity .28s ease; }
.material-gallery-viewer-slide { position: relative; width: 100vw; height: 100svh; flex: 0 0 100vw; overflow: hidden; display: grid; place-items: center; background: #000; }
.material-gallery-viewer-slide img { width: 100vw; height: 100svh; max-width: none; display: block; object-fit: contain; pointer-events: none; transform-origin: center; will-change: transform; }
.material-gallery-viewer-tools { position: fixed; z-index: 4; top: max(14px, env(safe-area-inset-top)); right: max(14px, env(safe-area-inset-right)); display: flex; gap: 7px; }
.material-gallery-viewer-icon,
.material-gallery-viewer-arrow { border-color: rgba(255,255,255,.3); background: rgba(0,0,0,.34); color: #fff; backdrop-filter: blur(12px); }
.material-gallery-viewer-icon:hover,
.material-gallery-viewer-icon:focus-visible,
.material-gallery-viewer-arrow:hover,
.material-gallery-viewer-arrow:focus-visible { border-color: #fff; background: #fff; color: #000; outline: 0; }
.material-gallery-viewer-icon:disabled { opacity: .25; cursor: default; }
.material-gallery-viewer-arrow { position: fixed; z-index: 4; top: 50%; width: 54px; height: 54px; padding: 0; border-radius: 50%; display: grid; place-items: center; transform: translateY(-50%); }
.material-gallery-viewer-previous { left: max(18px, env(safe-area-inset-left)); }
.material-gallery-viewer-next { right: max(18px, env(safe-area-inset-right)); }
.material-gallery-viewer.is-material-zoomed .material-gallery-viewer-arrow { opacity: .18; pointer-events: none; }

@media (max-width: 980px) {
  .material-gallery-all-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: clamp(112px, 16vw, 150px); }
}
@media (max-width: 720px) {
  .gallery-grid[data-gallery-style="material"],
  .center-layout-columns .gallery-grid[data-gallery-style="material"],
  .center-layout-rows .gallery-grid[data-gallery-style="material"],
  .center-companion-region .gallery-grid[data-gallery-style="material"] { height: clamp(360px, 59svh, 560px); min-height: 350px; }
  .material-gallery-controls { min-height: 54px; padding-top: 9px; }
  .material-gallery-controls > p,
  .material-gallery-arrow { display: none; }
  .material-gallery-actions { grid-column: 2; }
  .material-gallery-all-header { min-height: 64px; }
  .material-gallery-all-grid { width: calc(100% - 20px); grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: clamp(112px, 35vw, 148px); gap: 6px; padding-top: 8px; }
  .material-gallery-all-photo { border-radius: 16px; }
  .material-gallery-viewer-arrow { display: none; }
  .material-gallery-viewer-tools { top: max(10px, env(safe-area-inset-top)); right: max(10px, env(safe-area-inset-right)); }
  .material-gallery-viewer-icon { width: 42px; height: 42px; }
}
@media (prefers-reduced-motion: reduce) {
  .gallery-grid[data-gallery-style="material"] > :is(img, video, iframe, a),
  .material-gallery-all,
  .material-gallery-all-header,
  .material-gallery-all-photo img,
  .material-gallery-viewer-track { transition-duration: .01ms !important; }
}
.add-page-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-bottom: 1px solid rgba(7,22,40,.14); }
.add-page-action { min-width: 0; min-height: 76px; padding: 12px 10px; border: 0; color: #fff; cursor: pointer; text-align: left; display: grid; grid-template-columns: 34px minmax(0,1fr); align-items: center; gap: 9px; transition: background .18s, box-shadow .18s; }
.add-page-action + .add-page-action { border-left: 1px solid rgba(255,255,255,.3); }
.add-blank-page { background: #168fe3; }
.add-blank-page:hover { background: #0874c4; box-shadow: inset 5px 0 0 #70c8ff; }
.add-template-page { background: #c95708; }
.add-template-page:hover, .add-template-page[aria-expanded="true"] { background: #a94405; box-shadow: inset -5px 0 0 #ffb55f; }
.add-page-action:focus-visible { position: relative; z-index: 2; outline: 3px solid #fff; outline-offset: -5px; }
.add-page-action-icon { width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.44); border-radius: 7px; background: rgba(255,255,255,.13); display: grid; place-items: center; }
.add-page-action-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.add-page-action-copy { min-width: 0; display: grid; gap: 4px; }
.add-page-action strong { font-size: 12px; line-height: 1.1; }
.add-page-action small { color: rgba(255,255,255,.76); font-size: 9px; line-height: 1.2; }
.module-picker { max-height: none; margin-top: 0; border-top: 1px solid rgba(7,22,40,.12); background: #fff; color: #172536; box-shadow: inset 0 1px 0 rgba(255,255,255,.9); overflow: visible; }
.module-picker-heading { min-height: 58px; padding: 13px 14px 10px; display: flex; align-items: end; justify-content: space-between; gap: 16px; }
.module-picker-heading > div { display: grid; gap: 4px; }
.module-picker-heading span { color: #168fe3; font-size: 8px; font-weight: 800; letter-spacing: .17em; }
.module-picker-heading strong { font-size: 15px; }
.module-picker-heading > small { max-width: 145px; color: #718194; font-size: 9px; line-height: 1.35; text-align: right; }
.module-picker-search { height: 42px; margin: 0 10px 10px; padding: 0 11px; border: 1px solid rgba(7,22,40,.15); background: #f5f8fb; display: grid; grid-template-columns: 18px minmax(0,1fr) auto; align-items: center; gap: 8px; }
.module-picker-search:focus-within { border-color: #168fe3; background: #fff; box-shadow: 0 0 0 2px rgba(36,152,237,.14); }
.module-picker-search svg { width: 16px; fill: none; stroke: #718194; stroke-width: 1.7; }
.module-picker-search input { width: 100%; padding: 0; border: 0; outline: 0; background: transparent; color: #172536; font: 12px/1 Arial, sans-serif; }
.module-picker-search input::placeholder { color: #8a96a4; }
.module-picker-search input::-webkit-search-cancel-button { opacity: .5; }
.module-picker-search kbd { padding: 3px 6px; border: 1px solid rgba(7,22,40,.14); color: #7c8997; background: #fff; font: 9px/1 Arial, sans-serif; }
.module-picker-category { border-top: 1px solid rgba(7,22,40,.1); }
.module-picker-category > summary { min-height: 58px; padding: 11px 13px; display: grid; grid-template-columns: minmax(0,1fr) auto 12px; align-items: center; gap: 10px; cursor: pointer; list-style: none; transition: background .18s; }
.module-picker-category > summary::-webkit-details-marker { display: none; }
.module-picker-category > summary:hover, .module-picker-category > summary:focus-visible { background: #eef8ff; outline: none; }
.module-picker-category > summary > span:first-child { display: grid; gap: 3px; }
.module-picker-category > summary strong { font-size: 12px; }
.module-picker-category > summary small { color: #718194; font-size: 9px; font-weight: 400; }
.module-picker-category-count { min-width: 24px; padding: 4px 6px; background: #eef2f6; color: #647386; font: 700 9px/1 Arial, sans-serif; text-align: center; }
.module-picker-chevron { width: 7px; height: 7px; border-right: 1px solid #718194; border-bottom: 1px solid #718194; transform: rotate(45deg) translate(-2px, 2px); transition: transform .2s var(--ease); }
.module-picker-category[open] .module-picker-chevron { transform: rotate(225deg) translate(-1px, -1px); }
.module-picker-options { border-top: 1px solid rgba(7,22,40,.08); background: #fbfcfd; }
.module-picker-option { width: 100%; min-height: 70px; padding: 11px 12px; border: 0; border-bottom: 1px solid rgba(7,22,40,.08); background: transparent; color: #172536; display: grid; grid-template-columns: 28px minmax(0,1fr) auto; align-items: start; gap: 8px; text-align: left; cursor: pointer; transition: background .18s; }
.module-picker-option:hover:not(:disabled), .module-picker-option:focus-visible:not(:disabled) { background: #eaf6fe; outline: none; }
.module-picker-number { padding-top: 2px; color: #8491a0; font: 800 8px/1 Arial, sans-serif; letter-spacing: .08em; }
.module-picker-option-copy { min-width: 0; display: grid; gap: 4px; }
.module-picker-option-copy strong { font-size: 12px; }
.module-picker-option-copy small { color: #718194; font: 9px/1.35 Arial, sans-serif; }
.module-picker-option-copy em { width: max-content; max-width: 100%; margin-top: 2px; color: #0874c4; font: 700 8px/1.2 Arial, sans-serif; font-style: normal; letter-spacing: .04em; text-transform: uppercase; }
.module-picker-status { margin-top: 1px; padding: 4px 6px; border: 1px solid rgba(7,22,40,.14); color: #718194; background: #fff; font: 800 7px/1 Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.module-picker-option.is-built .module-picker-status { border-color: rgba(36,152,237,.52); background: #eaf6fe; color: #0874c4; }
.module-picker-option.is-locked { opacity: .45; cursor: not-allowed; }
.module-picker-empty { margin: 0; padding: 24px 14px; border-top: 1px solid rgba(7,22,40,.1); color: #718194; font: 11px/1.45 Arial, sans-serif; text-align: center; }
.module-picker-dependencies { padding: 13px 14px 15px; border-top: 1px solid rgba(7,22,40,.1); display: grid; gap: 4px; background: #f8fafc; }
.module-picker-dependencies strong { color: #168fe3; font-size: 8px; letter-spacing: .14em; text-transform: uppercase; }
.module-picker-dependencies span { color: #718194; font: 9px/1.45 Arial, sans-serif; }
.organizer-footnote { margin-top: 20px; font-size: 10px; line-height: 1.5; color: rgba(7,16,29,.45); }

.module-editor { padding-top: 22px; animation: editor-in .35s var(--ease) both; }
@keyframes editor-in { from { opacity: 0; transform: translateX(14px); } }
.editor-back { padding: 6px 0; border: 0; background: transparent; color: rgba(7,16,29,.58); display: flex; gap: 9px; align-items: center; cursor: pointer; font-size: 11px; }
.editor-back:hover { color: var(--blue); }
.editor-heading { margin-top: 32px; padding-bottom: 20px; border-bottom: 1px solid rgba(7,16,29,.12); }
.editor-heading > span { color: var(--blue); font-size: 8px; font-weight: 700; letter-spacing: .18em; }
.editor-heading h3 { margin: 7px 0 0; font: 36px/1 Georgia, serif; letter-spacing: -.035em; }
.editor-copy { margin: 18px 0 26px; color: rgba(7,16,29,.58); font: 15px/1.5 Georgia, serif; }
#moduleEditorForm { display: grid; gap: 20px; }
.editor-field { display: grid; gap: 8px; }
.editor-field > span { color: rgba(7,16,29,.55); font-size: 9px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.editor-field input, .editor-field textarea { width: 100%; padding: 12px 0; border: 0; border-bottom: 1px solid rgba(7,16,29,.22); border-radius: 0; background: transparent; color: var(--ink); outline: none; font: 19px/1.35 Georgia, serif; resize: vertical; }
.editor-field textarea { min-height: 88px; }
.editor-field input:focus, .editor-field textarea:focus { border-color: var(--blue); }
.editor-done { width: 100%; margin-top: 28px; padding: 16px 18px; border: 0; background: var(--blue); color: white; display: flex; justify-content: space-between; font-weight: 700; cursor: pointer; transition: background .2s, transform .2s; }
.editor-done:hover { background: #0874c4; transform: translateY(-1px); }

.announcement-editor-page { position: fixed; inset: 0; z-index: 120; overflow: hidden; background: var(--blue); color: white; visibility: hidden; pointer-events: none; transition: visibility 0s linear .42s; contain: layout paint style; }
.announcement-editor-page.is-open { visibility: visible; pointer-events: auto; transition-delay: 0s; }
.announcement-editor-bar { position: absolute; z-index: 10; inset: 0 0 auto; height: 78px; isolation: isolate; padding: 0 26px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; border-bottom: 1px solid color-mix(in srgb,var(--header-ink) 18%,transparent); background: transparent; color: var(--header-ink); box-shadow: var(--header-shadow); }
.announcement-editor-bar::before { content: ''; position: absolute; inset: 0; z-index: -1; background: var(--header-background); pointer-events: none; transition: background .25s; }
.announcement-editor-nav { min-width: 0; justify-self: start; display: flex; align-items: center; gap: 13px; }
.announcement-editor-dashboard { color: var(--header-ink); }
.announcement-editor-back, .announcement-editor-save { border: 0; color: white; cursor: pointer; font-size: 11px; font-weight: 700; transition: background .2s, color .2s, transform .2s; }
.announcement-editor-back { justify-self: start; min-width: 88px; min-height: 42px; padding: 0 15px; border-radius: 999px; background: var(--blue); display: flex; justify-content: center; gap: 8px; align-items: center; box-shadow: 0 9px 24px rgba(36,152,237,.24); }
.announcement-editor-back:hover, .announcement-editor-back:focus-visible { color: white; background: var(--blue-bright); transform: translateY(-2px); outline: 2px solid rgba(115,204,255,.24); outline-offset: 2px; }
.editor-pages-button svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.editor-pages-button .panel-pin-icon { display: none; }
.editor-pages-button.is-pages-open { position: relative; min-width: 46px; width: 46px; height: 46px; padding: 0; border: 1px solid var(--blue); background: var(--blue); box-shadow: 0 9px 24px rgba(36,152,237,.24); }
.editor-pages-button.is-pages-open .pages-menu-icon,
.editor-pages-button.is-pages-open strong { display: none; }
.editor-pages-button.is-pages-open::before, .editor-pages-button.is-pages-open::after { content: ''; position: absolute; width: 17px; height: 2px; border-radius: 2px; background: #fff; }
.editor-pages-button.is-pages-open::before { transform: rotate(45deg); }
.editor-pages-button.is-pages-open::after { transform: rotate(-45deg); }
.editor-pages-button.is-pages-open:hover, .editor-pages-button.is-pages-open:focus-visible { background: var(--blue-bright); border-color: var(--blue-bright); }
.announcement-editor-identity { display: flex; align-items: center; gap: 14px; padding: 7px 9px; border: 0; border-radius: 8px; background: transparent; color: var(--header-ink); cursor: pointer; }
.announcement-editor-identity:hover { background: color-mix(in srgb,var(--header-ink) 8%,transparent); }
.announcement-editor-identity:focus-visible { outline: 2px solid var(--blue-bright); outline-offset: 3px; }
.announcement-editor-identity img { width: 154px; max-height: 38px; display: block; object-fit: contain; }
.announcement-editor-identity img.is-custom { width: auto; max-width: 220px; }
.announcement-editor-identity span { padding-left: 14px; border-left: 1px solid rgba(255,255,255,.35); font-size: 8px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.announcement-editor-save { justify-self: end; min-width: 154px; padding: 13px 16px; border-radius: 999px; background: white; color: #0874c4; display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.announcement-editor-save:hover { background: var(--ink); color: white; transform: translateY(-1px); }
.panel-pin-button { justify-self: end; width: 30px; height: 30px; padding: 0; border: 0; border-radius: 4px; display: grid; place-items: center; background: transparent; color: #718293; cursor: pointer; box-shadow: none; transition: transform .18s var(--ease), color .18s ease; }
.panel-pin-button svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.panel-pin-button .panel-pin-icon path:first-child { fill: transparent; transition: fill .18s ease; }
.panel-pin-button:hover { color: #65bdf5; }
.panel-pin-button:focus-visible { color: #65bdf5; outline: 2px solid rgba(36,152,237,.24); outline-offset: 2px; }
.panel-pin-button[aria-pressed="true"] { color: var(--blue); background: transparent; box-shadow: none; animation: none; }
.panel-pin-button[aria-pressed="true"] .panel-pin-icon path:first-child { fill: currentColor; }
.editor-pin-button { position: fixed; z-index: 9; top: 92px; right: 352px; }
.panel-close-button { justify-self: end; width: 46px; height: 46px; padding: 0; border: 1px solid var(--blue); border-radius: 50%; position: relative; display: grid; place-items: center; background: var(--blue); color: #fff; cursor: pointer; box-shadow: 0 9px 24px rgba(36,152,237,.24); transition: transform .22s var(--ease), background .2s, border-color .2s, box-shadow .25s; }
.panel-close-button span::before, .panel-close-button span::after { content: ''; position: absolute; left: 50%; top: 50%; width: 17px; height: 2px; margin: -1px 0 0 -8.5px; border-radius: 2px; background: currentColor; }
.panel-close-button span::before { transform: rotate(45deg); }
.panel-close-button span::after { transform: rotate(-45deg); }
.panel-close-button:hover, .panel-close-button:focus-visible { transform: translateY(-2px); background: var(--blue-bright); border-color: var(--blue-bright); outline: 2px solid rgba(115,204,255,.28); outline-offset: 2px; }
@keyframes panel-pin-set { 0% { transform: scale(.86) rotate(-6deg); } 58% { transform: scale(1.08) rotate(2deg); } 100% { transform: scale(1) rotate(0); } }
.announcement-editor-canvas { position: relative; min-height: 100svh; display: grid; place-items: center; padding: 120px max(400px, clamp(24px, 7vw, 110px)) 92px clamp(24px, 7vw, 110px); text-align: center; isolation: isolate; }
@media (min-width: 901px) {
  body.is-editor-pages-open .announcement-editor-canvas { padding-left: max(360px, clamp(24px, 7vw, 110px)); }
}
.announcement-editor-canvas::before, .announcement-editor-canvas::after { content: ''; position: absolute; z-index: -1; border-radius: 50%; filter: blur(2px); border: 1px solid rgba(255,255,255,.12); }
.announcement-editor-canvas::before { width: min(76vw, 900px); aspect-ratio: 1; left: -28vw; top: 18%; }
.announcement-editor-canvas::after { width: min(58vw, 680px); aspect-ratio: 1; right: -20vw; bottom: -42%; }
.announcement-editor-content { width: min(100%, 1160px); }
.announcement-editor-kicker { margin: 0 0 28px; display: flex; justify-content: center; align-items: center; gap: 16px; font-size: 10px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.announcement-editor-kicker > span:not(.guest-editable) { width: 38px; height: 1px; background: currentColor; opacity: .7; }
.announcement-editor-content h2 { margin: 0; font-size: clamp(76px, 11.7vw, 186px); }
.announcement-editor-body { max-width: 680px; margin: 32px auto 0; font: 21px/1.5 Georgia, serif; }
.guest-editable { position: relative; display: inline-block; min-width: .55em; border-radius: 4px; outline: 1px dashed transparent; outline-offset: 9px; cursor: text; transition: outline-color .2s, background .2s, box-shadow .2s; }
.guest-editable:hover { outline-color: rgba(255,255,255,.55); }
.guest-editable:focus { outline: 1px solid rgba(255,255,255,.95); background: rgba(5,34,64,.12); box-shadow: 0 0 0 8px rgba(255,255,255,.06); }
.guest-editable:empty::before { content: 'Type here'; color: rgba(255,255,255,.45); }
.announcement-editor-hint, .announcement-editor-demo { position: absolute; bottom: 26px; margin: 0; font-size: 9px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.announcement-editor-hint { left: 30px; display: flex; gap: 9px; align-items: center; }
.announcement-editor-hint span { font-size: 15px; }
.announcement-editor-demo { right: 30px; opacity: .56; }

.modal-shell { position: fixed; inset: 0; z-index: 100; visibility: hidden; pointer-events: none; }
.modal-shell.is-open { visibility: visible; pointer-events: auto; }
.modal-backdrop { position: absolute; inset: 0; width: 100%; border: 0; background: rgba(1,7,14,.72); opacity: 0; backdrop-filter: blur(13px); transition: opacity .4s; }
.modal-shell.is-open .modal-backdrop { opacity: 1; }
.rsvp-sheet { position: absolute; right: 0; top: 0; height: 100%; width: min(560px, 100%); padding: clamp(36px, 6vw, 80px); background: var(--paper); color: var(--ink); transform: translateX(105%); transition: transform .55s var(--ease); overflow-y: auto; }
.modal-shell.is-open .rsvp-sheet { transform: none; }
.sheet-close { position: absolute; top: 24px; right: 24px; }
.rsvp-sheet h2 { margin: 0; font: clamp(48px, 6vw, 78px)/.9 Georgia, serif; letter-spacing: -.05em; }
.sheet-intro { max-width: 430px; font-family: Georgia, serif; color: rgba(7,16,29,.62); line-height: 1.5; }
.rsvp-sheet form { margin-top: 38px; }
.rsvp-sheet form > label { display: grid; gap: 9px; font-size: 10px; text-transform: uppercase; letter-spacing: .12em; font-weight: 700; }
.rsvp-sheet input[type="text"] { width: 100%; padding: 15px 0; border: 0; border-bottom: 1px solid rgba(7,16,29,.3); background: transparent; color: var(--ink); outline: none; font: 20px Georgia, serif; }
.rsvp-sheet input[type="text"]:focus { border-color: var(--blue); }
.rsvp-sheet fieldset { margin: 28px 0; padding: 0; border: 0; display: grid; gap: 10px; }
.rsvp-sheet legend { margin-bottom: 12px; text-transform: uppercase; font-size: 10px; letter-spacing: .12em; font-weight: 700; }
.choice { position: relative; }
.choice input { position: absolute; opacity: 0; }
.choice span { display: block; padding: 15px; border: 1px solid rgba(7,16,29,.18); cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.choice input:checked + span { background: var(--ink); border-color: var(--ink); color: white; }
.submit-rsvp { width: 100%; padding: 17px 20px; border: 0; background: var(--blue); color: white; display: flex; justify-content: space-between; font-weight: 700; cursor: pointer; }
.success-state { display: none; padding-top: 45px; }
.success-state.is-visible { display: block; }
.success-state > span { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--blue); color: white; font-size: 25px; }
.success-state h3 { font: 36px/1.05 Georgia, serif; margin-bottom: 12px; }
.success-state p { color: rgba(7,16,29,.6); }
.toast { position: fixed; z-index: 110; left: 50%; bottom: 25px; transform: translate(-50%, 25px); display: flex; align-items: center; gap: 16px; background: #fff; color: var(--ink); padding: 12px 14px 12px 18px; box-shadow: 0 10px 45px rgba(0,0,0,.24); font-size: 12px; opacity: 0; visibility: hidden; transition: .3s var(--ease); }
.toast.is-visible { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.toast-action { min-width: 62px; border: 0; border-radius: 999px; background: var(--blue); color: #fff; padding: 8px 14px; font: 700 11px/1 var(--sans); letter-spacing: .04em; cursor: pointer; }
.toast-action:hover, .toast-action:focus-visible { background: #087bcf; outline: 2px solid rgba(36,152,237,.28); outline-offset: 2px; }
.account-media-upload-progress { position:fixed; z-index:109; right:18px; bottom:18px; width:min(360px,calc(100vw - 36px)); padding:14px 15px 13px; border:1px solid rgba(7,22,38,.14); border-radius:13px; background:rgba(255,255,255,.97); color:#07101d; box-shadow:0 14px 42px rgba(0,0,0,.22); backdrop-filter:blur(12px); }
.account-media-upload-progress[hidden] { display:none; }
.account-media-upload-progress > div { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.account-media-upload-progress strong { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font:800 11px/1.25 var(--sans); }
.account-media-upload-progress span { flex:0 0 auto; color:var(--blue); font:800 10px/1 var(--sans); }
.account-media-upload-progress progress { display:block; width:100%; height:5px; margin:10px 0 8px; border:0; border-radius:99px; overflow:hidden; background:#dce6ee; accent-color:var(--blue); }
.account-media-upload-progress progress::-webkit-progress-bar { background:#dce6ee; border-radius:99px; }
.account-media-upload-progress progress::-webkit-progress-value { background:var(--blue); border-radius:99px; transition:width .18s linear; }
.account-media-upload-progress progress::-moz-progress-bar { background:var(--blue); border-radius:99px; }
.account-media-upload-progress small { display:block; color:rgba(7,16,29,.58); font:10px/1.35 var(--sans); }
.account-media-upload-progress[data-state="paused"] { border-color:rgba(191,126,33,.38); }
.account-media-upload-progress[data-state="paused"] span { color:#a76416; }
.account-media-upload-progress[data-state="processing"] span,
.account-media-upload-progress[data-state="processing-delayed"] span { color:#1978b7; }
.account-media-upload-progress[data-state="processing-failed"] { border-color:rgba(191,126,33,.38); }
.account-media-upload-progress[data-state="processing-failed"] span { color:#a76416; }
.account-media-upload-progress[data-state="complete"] span { color:#23865d; }
.account-media-library-item .account-media-processing-state { position:absolute; left:5px; right:5px; bottom:21px; z-index:2; padding:3px 4px; border-radius:4px; background:rgba(7,22,40,.78); color:#fff; font:800 7px/1 var(--sans); letter-spacing:.04em; text-align:center; }
.account-media-library-item .account-media-processing-state.is-failed { background:rgba(140,84,23,.88); }
@media (max-width: 680px) {
  .account-media-upload-progress { right:12px; bottom:12px; width:calc(100vw - 24px); }
}

.announcement { background: var(--announcement-color, var(--blue)); color: white; }
.announcement .chapter-inner { display: grid; place-items: center; text-align: center; }
.announcement h2 { max-width: 1120px; font-size: clamp(72px, 10.5vw, 168px); }
.announcement-kicker { width: fit-content; min-width: 180px; margin: 0 auto 28px; padding: 8px 0; display: flex; align-items: center; justify-content: center; gap: 14px; font-size: 10px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.announcement-kicker::before, .announcement-kicker::after { content: ''; width: 38px; height: 1px; flex: 0 0 38px; background: currentColor; opacity: .7; }
.announcement-kicker.is-empty { display: none; }
.announcement p[data-edit="body"] { max-width: 680px; margin: 30px auto 0; font-family: Georgia, serif; font-size: 20px; line-height: 1.5; }
.announcement .eyebrow.is-empty { display: none; }
.announcement-background { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; object-fit: cover; }
.announcement-wash { position: absolute; inset: 0; z-index: -2; background: linear-gradient(0deg, rgba(2,9,18,.54), rgba(2,9,18,.18)), radial-gradient(circle at center, transparent 0, rgba(2,9,18,.18) 72%); opacity: 0; transition: opacity .3s; }
.announcement.has-image .announcement-wash { opacity: 1; }
.added-center-layout { display: grid; place-items: center; text-align: center; }
.added-center-layout > div { width: min(100%, 1050px); }
.chapter-added-photo { background: #060b12; }
.added-photo-wash { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(3,8,15,.78), rgba(3,8,15,.12) 70%), linear-gradient(0deg, rgba(3,8,15,.6), transparent 60%); }
.added-photo-layout { display: flex; align-items: end; }
.added-photo-layout > div { max-width: 820px; }
.added-photo-layout h2 { font-size: clamp(76px, 11vw, 170px); }
.added-photo-layout h2 em { color: var(--blue-bright); }
.added-photo-layout p[data-edit="body"] { max-width: 470px; color: rgba(255,255,255,.74); font: 20px/1.5 Georgia, serif; }
.chapter-added-note { background: radial-gradient(circle at 50% 40%, #153d6a 0, #07182c 42%, #040c17 100%); }
.chapter-added-note h2 em { color: var(--blue-bright); }
.chapter-added-note p[data-edit="body"] { max-width: 560px; margin: 28px auto 0; color: rgba(255,255,255,.72); font: 20px/1.5 Georgia, serif; }
.note-orbit { position: absolute; left: 50%; top: 50%; width: min(70vw, 760px); aspect-ratio: 1; border: 1px solid rgba(66,181,255,.18); border-radius: 50%; transform: translate(-50%,-50%); box-shadow: 0 0 100px rgba(36,152,237,.09) inset; }

.module-item.is-official .module-name small { color: #0874c4; }
.module-name-anchor { position: absolute; top: 0; left: 0; width: 1px; height: 1px; pointer-events: none; }

.announcement-editor-page { background: var(--announcement-editor-color, var(--blue)); }
.announcement-editor-background, .announcement-editor-wash { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; }
.announcement-editor-background { object-fit: cover; filter: saturate(.86); }
.announcement-editor-wash { z-index: -2; background: linear-gradient(0deg, rgba(2,9,18,.58), rgba(2,9,18,.18)), radial-gradient(circle at center, transparent 0, rgba(2,9,18,.22) 78%); opacity: 0; }
.announcement-editor-page.has-image .announcement-editor-wash { opacity: 1; }
.announcement-editor-content h2 { max-width: 1160px; margin: 0 auto; font-size: clamp(76px, 10.8vw, 172px); line-height: .86; }
.announcement-design-dock { position: absolute; z-index: 6; left: 50%; bottom: 18px; transform: translateX(-50%); min-height: 58px; padding: 8px 10px 8px 16px; border: 1px solid rgba(255,255,255,.42); border-radius: 999px; background: rgba(248,249,251,.94); color: var(--ink); box-shadow: 0 18px 50px rgba(2,9,18,.2); backdrop-filter: blur(20px); display: flex; align-items: center; gap: 12px; }
.announcement-design-dock > p { margin: 0; color: rgba(7,16,29,.52); font-size: 8px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.announcement-color-options, .announcement-image-options { display: flex; align-items: center; gap: 6px; }
.announcement-image-options { padding-left: 10px; border-left: 1px solid rgba(7,16,29,.13); }
.color-swatch { width: 27px; height: 27px; padding: 0; border: 2px solid white; border-radius: 50%; box-shadow: 0 0 0 1px rgba(7,16,29,.15); cursor: pointer; }
.color-explorer { position: relative; margin: 3px 0 14px; }
.color-picker-compact { display: grid; grid-template-columns: minmax(0,1fr) 42px; gap: 7px; }
.color-picker-current, .color-picker-eyedropper { min-height: 42px; border: 1px solid rgba(7,22,40,.15); border-radius: 9px; background: #fff; color: #102033; cursor: pointer; transition: border-color .16s ease,box-shadow .16s ease,transform .16s ease; }
.color-picker-current:hover, .color-picker-eyedropper:hover { border-color: rgba(36,152,237,.68); box-shadow: 0 5px 15px rgba(7,22,40,.08); transform: translateY(-1px); }
.color-picker-current:focus-visible, .color-picker-eyedropper:focus-visible, .color-picker-dialog button:focus-visible, .color-picker-dialog input:focus-visible, .color-picker-saturation:focus-visible { outline: 2px solid #2498ed; outline-offset: 2px; }
.color-picker-current { min-width: 0; padding: 5px 11px 5px 6px; display: flex; align-items: center; gap: 10px; text-align: left; }
.color-picker-current-swatch { width: 30px; height: 30px; flex: 0 0 30px; border: 3px solid #fff; border-radius: 7px; background: var(--picker-color); box-shadow: 0 0 0 1px rgba(7,22,40,.18),0 3px 8px rgba(7,22,40,.11); }
.color-picker-current strong { overflow: hidden; color: #526174; font: 800 10px/1 Arial,sans-serif; letter-spacing: .06em; text-overflow: ellipsis; }
.color-picker-eyedropper { padding: 0; display: grid; place-items: center; }
.color-picker-eyedropper svg { width: 20px; height: 20px; fill: none; stroke: #087dce; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.color-picker-overlay[hidden] { display: none; }
.color-picker-overlay { position: fixed; z-index: 120; inset: 0; display: grid; place-items: center; padding: 18px; isolation: isolate; animation: color-picker-overlay-in .18s ease-out both; }
.color-picker-backdrop { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: rgba(8,18,32,.55); -webkit-backdrop-filter: blur(8px) saturate(.78); backdrop-filter: blur(8px) saturate(.78); cursor: default; }
.color-picker-dialog { width: min(326px,calc(100% - 8px)); max-height: calc(100% - 20px); padding: 14px; overflow: auto; border: 1px solid rgba(255,255,255,.86); border-radius: 20px; background: rgba(255,255,255,.97); color: #102033; box-shadow: 0 24px 64px rgba(2,9,18,.42),0 0 0 5px rgba(255,255,255,.16); animation: color-picker-dialog-in .24s cubic-bezier(.2,.82,.24,1.08) both; }
.color-picker-dialog > header { min-height: 42px; margin-bottom: 12px; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.color-picker-dialog > header > div { display: grid; gap: 4px; }
.color-picker-dialog > header span { color: #087dce; font: 800 8px/1 Arial,sans-serif; letter-spacing: .16em; }
.color-picker-dialog > header strong { font: 800 16px/1.1 'EventSans',Arial,sans-serif; }
.color-picker-dialog > header button { width: 34px; height: 34px; padding: 0; border: 1px solid rgba(7,22,40,.14); border-radius: 50%; background: #f3f6f8; color: #526174; font: 300 22px/1 Arial,sans-serif; cursor: pointer; }
.color-picker-saturation { position: relative; width: 100%; aspect-ratio: 1.22; overflow: hidden; border: 5px solid #fff; border-radius: 12px; background-color: hsl(var(--picker-hue) 100% 50%); background-image: linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,rgba(255,255,255,0)); box-shadow: 0 0 0 1px rgba(7,22,40,.2),inset 0 0 22px rgba(0,0,0,.08); cursor: crosshair; touch-action: none; }
.color-picker-saturation [data-color-picker-saturation-handle] { position: absolute; left: var(--picker-saturation); top: var(--picker-value); width: 18px; height: 18px; border: 3px solid #fff; border-radius: 50%; box-shadow: 0 0 0 1px rgba(7,22,40,.58),0 2px 8px rgba(2,9,18,.35); transform: translate(-50%,-50%); pointer-events: none; }
.color-picker-hue-label { margin: 13px 0 0; display: grid; gap: 6px; }
.color-picker-hue-label > span, .color-picker-value-row label > span { color: #708091; font: 800 8px/1 Arial,sans-serif; letter-spacing: .13em; }
.color-picker-hue-label input { width: 100%; height: 16px; margin: 0; appearance: none; border: 3px solid #fff; border-radius: 999px; background: linear-gradient(90deg,#f00,#ff0,#0f0,#0ff,#00f,#f0f,#f00); box-shadow: 0 0 0 1px rgba(7,22,40,.16); cursor: pointer; }
.color-picker-hue-label input::-webkit-slider-thumb { width: 18px; height: 18px; appearance: none; border: 3px solid #fff; border-radius: 50%; background: hsl(var(--picker-hue) 100% 50%); box-shadow: 0 0 0 1px rgba(7,22,40,.48),0 2px 6px rgba(2,9,18,.25); }
.color-picker-hue-label input::-moz-range-thumb { width: 13px; height: 13px; border: 3px solid #fff; border-radius: 50%; background: hsl(var(--picker-hue) 100% 50%); box-shadow: 0 0 0 1px rgba(7,22,40,.48),0 2px 6px rgba(2,9,18,.25); }
.color-picker-value-row { margin-top: 13px; display: grid; grid-template-columns: 46px minmax(0,1fr); align-items: end; gap: 10px; }
.color-picker-preview { width: 46px; height: 46px; border: 4px solid #fff; border-radius: 10px; background: var(--picker-color); box-shadow: 0 0 0 1px rgba(7,22,40,.18),0 4px 12px rgba(7,22,40,.11); }
.color-picker-value-row label { min-width: 0; display: grid; gap: 5px; }
.color-picker-hex-shell { min-height: 46px; padding: 0 11px; border: 1px solid rgba(7,22,40,.16); border-radius: 10px; background: #fff; display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 7px; }
.color-picker-hex-shell b { color: #8794a1; font: 400 22px/1 Arial,sans-serif; }
.color-picker-hex-shell input { width: 100%; min-width: 0; padding: 0; border: 0; outline: 0; background: transparent; color: #102033; font: 800 20px/1 'EventSans',Arial,sans-serif; letter-spacing: .035em; text-transform: uppercase; }
.color-picker-preview-note { margin: 10px 2px 0; color: #68798a; font: 11px/1.35 Georgia,serif; text-align: center; }
.color-picker-apply { width: 100%; min-height: 42px; margin-top: 10px; padding: 0 16px; border: 0; border-radius: 10px; background: #1599e5; color: #fff; cursor: pointer; font: 800 10px/1 Arial,sans-serif; letter-spacing: .08em; text-transform: uppercase; box-shadow: 0 8px 18px rgba(21,153,229,.24); }
@keyframes color-picker-overlay-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes color-picker-dialog-in { from { opacity: 0; transform: translateY(6px) scale(.97); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion:reduce) { .color-picker-overlay,.color-picker-dialog { animation: none; } }
.swatch-blue { background: #2498ed; }
.swatch-midnight { background: #071628; }
.swatch-coral { background: #c94f3d; }
.swatch-olive { background: #59684b; }
.swatch-hot-pink { background: #e8328a; }
.swatch-yellow { background: #f2cc34; }
.swatch-violet { background: #7455c7; }
.swatch-teal { background: #087f82; }
.announcement-image-options > button { width: 38px; height: 31px; padding: 0; border: 1px solid rgba(7,16,29,.15); background: white; cursor: pointer; overflow: hidden; }
.announcement-image-options > button img { width: 100%; height: 100%; object-fit: cover; }
.visual-upload-button { min-height: 31px; padding: 0 12px; border-radius: 999px; background: var(--ink); color: white; display: grid; place-items: center; cursor: pointer; font-size: 9px; font-weight: 700; }
.visual-upload-button input, .tools-upload input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.announcement-editor-hint { bottom: 30px; }

.cover-official-layout { display: grid; place-items: center; text-align: center; }
.cover-official-content { width: min(100%, 1180px); display: grid; justify-items: center; }
.cover-official-content h1 { max-width: 1120px; font-size: clamp(70px, 10vw, 158px); line-height: .87; }
.chapter-cover[data-cover-title-size="small"] .cover-official-content h1 { font-size: clamp(54px, 7.8vw, 124px); }
.chapter-cover[data-cover-title-size="large"] .cover-official-content h1 { font-size: clamp(82px, 12vw, 184px); }
.cover-official-content .eyebrow { margin-bottom: 30px; }
.cover-official-date { margin: 30px 0 0; font-size: 10px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.cover-custom-logo { width: min(260px, 42vw); max-height: 110px; margin-bottom: 30px; object-fit: contain; }
.chapter-cover[data-cover-font="sans"] .cover-official-content h1 { font-family: 'EventSans', sans-serif; }
.chapter-cover[data-cover-font="serif"] .cover-official-content h1 { font-family: 'EventSerif', serif; text-transform: none; letter-spacing: -.065em; }
.chapter-cover[data-cover-font="slab"] .cover-official-content h1 { font-family: 'EventSlab', serif; text-transform: none; letter-spacing: -.045em; }
.chapter-cover[data-cover-font="hand"] .cover-official-content h1 { font-family: 'EventHand', sans-serif; text-transform: none; letter-spacing: -.055em; }
.cover-widget, .cover-editor-widget { position: absolute; z-index: 4; display: grid; gap: 5px; padding: 14px 16px; color: white; text-align: left; min-width: 150px; }
.cover-widget span, .cover-editor-widget span { font-size: 8px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; opacity: .65; }
.cover-widget strong, .cover-editor-widget strong { font: 18px/1.1 Georgia, serif; }
.cover-widget[data-cover-position="top-left"], .cover-editor-widget[data-cover-position="top-left"] { top: 104px; left: 34px; }
.cover-widget[data-cover-position="top-right"] { top: 104px; right: 34px; text-align: right; }
.cover-widget[data-cover-position="bottom-left"], .cover-editor-widget[data-cover-position="bottom-left"] { left: 34px; bottom: 26px; }
.cover-widget[data-cover-position="bottom-right"] { right: 34px; bottom: 26px; text-align: right; }
.cover-editor-widget { transition: none; }
.cover-editor-widget[data-cover-position="top-right"] { top: 104px; right: 34px; text-align: right; }
.cover-editor-widget[data-cover-position="bottom-right"] { right: 34px; bottom: 26px; text-align: right; }
.cover-editor-widget[data-cover-position$="right"] { right: 380px; }

.cover-editor-page, .gallery-editor-page { background: #06111f; }
.cover-editor-canvas, .gallery-editor-canvas { position: relative; min-height: 100svh; padding: 110px 380px 60px 42px; display: grid; place-items: center; overflow: hidden; isolation: isolate; }
@media (min-width: 901px) {
  body.is-editor-pages-open .cover-editor-canvas,
  body.is-editor-pages-open .gallery-editor-canvas { padding-left: 380px; }
}
.cover-editor-background, .gallery-editor-background { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; object-fit: cover; }
.cover-editor-wash, .gallery-editor-wash { position: absolute; inset: 0; z-index: -2; background: linear-gradient(0deg, rgba(2,9,18,.68), rgba(2,9,18,.2)), radial-gradient(circle at center, transparent 0, rgba(2,9,18,.3) 78%); }
.cover-editor-canvas { background: var(--cover-color, var(--midnight)); transition: color .35s ease, background .35s ease; }
.cover-editor-canvas .cover-editor-wash { transition: background .35s ease; }
.cover-editor-canvas.has-dark-cover-text { color: var(--ink); }
.cover-editor-canvas.has-dark-cover-text .cover-editor-wash { background: linear-gradient(0deg, rgba(255,255,255,.42), rgba(255,255,255,.1)), radial-gradient(circle at center, transparent 0, rgba(255,255,255,.24) 78%); }
.chapter-cover.has-dark-cover-text .cover-widget, .cover-editor-canvas.has-dark-cover-text .cover-editor-widget { color: var(--ink); text-shadow: 0 1px 16px rgba(255,255,255,.46); }
.cover-editor-canvas.has-dark-cover-text .guest-editable:hover { outline-color: rgba(7,16,29,.52); }
.cover-editor-canvas.has-dark-cover-text .guest-editable:focus { outline-color: rgba(7,16,29,.9); background: rgba(255,255,255,.2); box-shadow: 0 0 0 8px rgba(7,16,29,.05); }
.cover-editor-canvas.has-dark-cover-text .guest-editable:empty::before { color: rgba(7,16,29,.45); }
.cover-editor-preview { width: min(100%, 980px); display: grid; justify-items: center; text-align: center; }
.cover-editor-preview h1 { max-width: 960px; font-size: clamp(68px, 8.6vw, 138px); line-height: .88; }
.cover-editor-preview[data-cover-title-size="small"] h1 { font-size: clamp(52px, 6.8vw, 108px); }
.cover-editor-preview[data-cover-title-size="large"] h1 { font-size: clamp(78px, 10.2vw, 164px); }
.cover-editor-preview > p:last-child { margin: 28px 0 0; font-size: 10px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.cover-editor-kicker { margin: 0 0 26px; display: flex; align-items: center; justify-content: center; gap: 14px; font-size: 9px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.cover-editor-kicker > span:not(.guest-editable) { width: 38px; height: 1px; flex: 0 0 38px; background: currentColor; opacity: .7; }
.cover-editor-kicker.is-empty > span:not(.guest-editable) { display: none; }
.cover-editor-kicker.is-empty .guest-editable::before { content: 'Type here'; color: rgba(255,255,255,.46); white-space: nowrap; }
.cover-editor-canvas.has-dark-cover-text .cover-editor-kicker.is-empty .guest-editable::before { color: rgba(7,16,29,.45); }
.chapter-cover .eyebrow.is-empty { display: none; }
.cover-editor-logo { width: min(240px, 38vw); max-height: 100px; margin-bottom: 28px; object-fit: contain; }
.cover-editor-preview[data-cover-font="sans"] h1 { font-family: 'EventSans', sans-serif; }
.cover-editor-preview[data-cover-font="serif"] h1 { font-family: 'EventSerif', serif; text-transform: none; letter-spacing: -.065em; }
.cover-editor-preview[data-cover-font="slab"] h1 { font-family: 'EventSlab', serif; text-transform: none; letter-spacing: -.045em; }
.cover-editor-preview[data-cover-font="hand"] h1 { font-family: 'EventHand', sans-serif; text-transform: none; letter-spacing: -.055em; }

.visual-editor-tools { position: absolute; z-index: 7; top: 78px; right: 0; bottom: 0; width: 400px; padding: 56px 0 0; background: rgba(244,246,249,.96); color: var(--ink); box-shadow: -18px 18px 60px rgba(2,9,18,.28); backdrop-filter: blur(24px); overflow-y: auto; scrollbar-gutter: stable; opacity: 0; transform: translate3d(104%,0,0); transition: transform .42s cubic-bezier(.22,.8,.24,1), opacity .24s ease; will-change: transform; }
.announcement-editor-page.is-open .visual-editor-tools { opacity: 1; transform: translate3d(0,0,0); }
.editor-scroll-reserve { width: 100%; min-height: 0; pointer-events: none; }
.visual-editor-tools section + section { margin-top: 25px; padding-top: 22px; border-top: 1px solid rgba(7,16,29,.12); }
.tools-label { margin: 0 0 12px; font-size: 9px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.tools-heading-row { min-height: 38px; margin: -5px 0 9px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.tools-heading-row .tools-label { margin: 0; }
.editor-undo-button { min-width: 82px; min-height: 36px; padding: 0 9px; border: 1px solid rgba(7,22,40,.16); border-radius: 18px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; background: #fff; color: #087dce; box-shadow: 0 4px 14px rgba(7,22,40,.08); cursor: pointer; }
.editor-undo-button > span { font: 700 19px/1 Arial,sans-serif; transform: translateY(-1px); }
.editor-undo-button strong { font: 800 9px/1 Arial,sans-serif; letter-spacing: .04em; text-transform: uppercase; }
.editor-undo-button small { min-width: 17px; height: 17px; padding: 0 4px; border-radius: 9px; display: grid; place-items: center; background: #e4f3fd; color: #0874c4; font: 800 8px/1 Arial,sans-serif; }
.editor-undo-button:hover:not(:disabled), .editor-undo-button:focus-visible:not(:disabled) { border-color: #168fe3; background: #edf7fe; outline: 2px solid rgba(36,152,237,.16); outline-offset: 2px; }
.editor-undo-button:disabled { color: #8d99a6; background: #eef1f4; box-shadow: none; cursor: default; opacity: .72; }
.editor-undo-button:disabled small { background: #dfe4e9; color: #8d99a6; }
@keyframes editor-undo-flash { 0%, 100% { box-shadow: 0 0 0 0 rgba(20,151,237,0); } 12%, 72% { box-shadow: 0 0 0 5px #fff, 0 0 0 10px rgba(20,151,237,.82), 0 0 42px 18px rgba(20,151,237,.3); } }
.is-undo-flashing { position: relative; z-index: 12; animation: editor-undo-flash 1s ease both !important; }
.chapter.is-undo-flashing { z-index: 8; }
@media (prefers-reduced-motion: reduce) { .is-undo-flashing { animation-timing-function: step-end !important; } }
.cover-detail-control { display: grid; grid-template-columns: 1fr 116px; gap: 10px; align-items: center; }
.cover-detail-control + .cover-detail-control { margin-top: 9px; }
.cover-detail-control select { width: 100%; height: 34px; border: 1px solid rgba(7,16,29,.16); border-radius: 7px; background: white; color: var(--ink); padding: 0 8px; font-size: 10px; }
.cover-detail-control select:disabled { opacity: .42; }
.tools-help { margin: -3px 0 14px; color: rgba(7,16,29,.57); font: 13px/1.45 Georgia, serif; }
.module-title-control { display: grid; gap: 6px; color: rgba(7,16,29,.58); font-size: 8px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.module-title-control input { width: 100%; min-width: 0; padding: 10px; border: 1px solid rgba(7,16,29,.16); border-radius: 0; background: white; color: var(--ink); font: 700 13px/1.2 Arial, sans-serif; letter-spacing: 0; text-transform: none; }
.module-title-control input:focus { border-color: var(--blue); outline: 2px solid rgba(36,152,237,.12); outline-offset: 0; }
.module-link-hint { margin: 9px 0 0; color: rgba(7,16,29,.55); font-size: 10px; line-height: 1.4; }
.module-link-hint code { color: #0874c4; font: 700 10px/1.4 Arial, sans-serif; }
.tool-thumbnails { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.tool-thumbnails button { height: 58px; padding: 0; border: 2px solid transparent; background: #dbe3ea; overflow: hidden; cursor: pointer; }
.tool-thumbnails button:hover, .tool-thumbnails button:focus-visible { border-color: var(--blue); }
.tool-thumbnails img { width: 100%; height: 100%; object-fit: cover; }
.tools-upload { margin-top: 8px; min-height: 38px; padding: 0 13px; border: 1px dashed rgba(7,16,29,.28); display: flex; align-items: center; justify-content: center; cursor: pointer; font-size: 10px; font-weight: 700; }
.tools-upload:hover { border-color: var(--blue); color: #0874c4; }
.font-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; }
.font-options button { min-height: 42px; border: 1px solid rgba(7,16,29,.13); background: white; color: var(--ink); cursor: pointer; font-size: 10px; }
.font-options button.is-selected { border-color: var(--blue); background: rgba(36,152,237,.1); color: #0874c4; font-weight: 700; }
.font-family-options { grid-template-columns: repeat(4,minmax(0,1fr)); }
.font-family-options button { min-width: 0; min-height: 62px; padding: 7px 3px 6px; display: grid; place-items: center; align-content: center; gap: 5px; }
.font-family-options button b { font-size: 20px; line-height: 1; font-weight: 500; }
.font-family-options button span { font-size: 8px; line-height: 1; }
.font-family-options [data-cover-font="sans"] b { font-family: 'EventSans', sans-serif; }
.font-family-options [data-cover-font="serif"] b { font-family: 'EventSerif', serif; }
.font-family-options [data-cover-font="slab"] b { font-family: 'EventSlab', serif; }
.font-family-options [data-cover-font="hand"] b { font-family: 'EventHand', sans-serif; }
.cover-size-label { margin-top: 14px; }
.cover-palette-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; }
.cover-palette-options button { min-height: 38px; border: 1px solid rgba(7,16,29,.13); background: white; color: var(--ink); cursor: pointer; font-size: 10px; }
.cover-palette-options button.is-selected { border-color: var(--blue); background: rgba(36,152,237,.1); color: #0874c4; font-weight: 700; }
.cover-palette-status { margin: 9px 0 0; color: rgba(7,16,29,.55); font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.logo-tools { display: grid; grid-template-columns: 1fr auto; gap: 7px; }
.logo-tools .tools-upload { margin: 0; }
.logo-tools button { border: 0; background: #e8edf1; color: var(--ink); cursor: pointer; font-size: 10px; }
.cover-toggle-list { display: grid; gap: 7px; }
.cover-toggle-list label { position: relative; }
.cover-toggle-list input { position: absolute; opacity: 0; }
.cover-toggle-list span { padding: 12px 12px 12px 40px; border: 1px solid rgba(7,16,29,.12); display: block; cursor: pointer; font-size: 11px; }
.cover-toggle-list span::before { content: ''; position: absolute; left: 13px; top: 50%; width: 14px; height: 14px; border: 1px solid rgba(7,16,29,.28); transform: translateY(-50%); }
.cover-toggle-list input:checked + span { border-color: var(--blue); background: rgba(36,152,237,.08); }
.cover-toggle-list input:checked + span::before { border-color: var(--blue); background: var(--blue); box-shadow: inset 0 0 0 3px white; }

.corner-placement-list { display: grid; gap: 9px; }
.corner-tools-zip { margin: 0 0 13px; padding: 0 0 13px; border-bottom: 1px solid rgba(7,16,29,.1); }
.corner-placement-row { min-height: 74px; padding: 11px 12px 11px 15px; border: 1px solid rgba(7,16,29,.12); border-radius: 9px; background: rgba(255,255,255,.78); display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 14px; box-shadow: 0 5px 16px rgba(7,16,29,.025); }
.corner-placement-row > strong { color: var(--ink); font: 500 13px/1.25 Arial, sans-serif; }
.corner-placement-grid { width: 62px; height: 62px; display: grid; grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(2, 1fr); }
.corner-placement-cell { position: relative; min-width: 0; min-height: 0; margin: 0 -1px -1px 0; padding: 0; border: 1px solid rgba(7,16,29,.18); border-radius: 0; background: rgba(255,255,255,.48); cursor: pointer; transition: z-index 0s, border-color .16s ease, background-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.corner-placement-cell:nth-child(1) { border-radius: 7px 0 0; }
.corner-placement-cell:nth-child(2) { border-radius: 0 7px 0 0; }
.corner-placement-cell:nth-child(3) { border-radius: 0 0 0 7px; }
.corner-placement-cell:nth-child(4) { border-radius: 0 0 7px; }
.corner-placement-cell:not(:disabled):hover { z-index: 2; border-color: rgba(36,152,237,.62); background: rgba(36,152,237,.08); transform: scale(1.025); }
.corner-placement-cell:focus-visible { z-index: 3; outline: 2px solid var(--blue); outline-offset: 2px; }
.corner-placement-cell.is-selected { z-index: 2; border-color: #168de2; background: rgba(36,152,237,.17); box-shadow: inset 0 0 0 1px #168de2, 0 3px 10px rgba(36,152,237,.16); }
.corner-placement-cell.is-selected::after { content: ''; position: absolute; top: 5px; right: 5px; width: 4px; height: 4px; border-radius: 50%; background: #168de2; }
.corner-placement-cell.is-occupied { background: repeating-linear-gradient(135deg, rgba(7,16,29,.02) 0 4px, rgba(7,16,29,.055) 4px 6px); cursor: not-allowed; opacity: .54; }
.corner-placement-row + .cover-extra-inputs { margin-top: -3px; padding: 0 3px; }
.cover-extra-inputs + .corner-placement-row { margin-top: 2px; }

.paragraph-module { background: var(--paragraph-color, #f1eadf); color: white; isolation: isolate; transition: background-color .25s ease, color .25s ease; }
.paragraph-blur-background { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .25s ease; }
.paragraph-background-wash { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(3,11,20,.38), rgba(3,11,20,.58)); opacity: 0; pointer-events: none; transition: opacity .25s ease; }
.paragraph-module.has-blurred-background .paragraph-blur-background, .paragraph-module.has-blurred-background .paragraph-background-wash { opacity: 1; }
.paragraph-module.has-blurred-background { background: #06111f; color: white; }
.paragraph-module.has-blurred-background .paragraph-kicker { color: var(--blue-bright); }
.paragraph-layout { width: 100%; max-width: 1280px; margin: 0 auto; display: grid; place-items: center; gap: clamp(34px, 5vw, 78px); }
.paragraph-module.has-image .paragraph-layout { grid-template-columns: minmax(260px, .82fr) minmax(0, 1.18fr); }
.paragraph-media { width: 100%; height: min(68vh, 690px); margin: 0; overflow: hidden; }
.paragraph-media img { width: 100%; height: 100%; object-fit: cover; }
.paragraph-copy { width: 100%; max-width: 850px; }
.paragraph-module.has-image .paragraph-copy { max-width: 720px; }
.paragraph-kicker { margin: 0 0 24px; color: var(--blue-bright); font-size: 9px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.paragraph-copy h2 { max-width: 850px; font-size: clamp(58px, 6.2vw, 104px); line-height: .9; }
.paragraph-body { max-width: 720px; margin-top: 34px; display: grid; gap: 20px; }
.paragraph-body p { margin: 0; color: currentColor; font: 20px/1.55 Georgia, 'Times New Roman', serif; opacity: .78; white-space: pre-wrap; }
.paragraph-module.has-light-background { color: var(--ink); }
.paragraph-module.has-light-background .paragraph-kicker { color: #0874c4; }
.paragraph-module.has-light-background .universal-overlay { color: var(--ink); text-shadow: none; }
.paragraph-module.has-light-background .universal-overlay-button { border-color: rgba(7,16,29,.55); background: rgba(255,255,255,.28); color: var(--ink); }

.photo-module { background: #06111f; color: white; isolation: isolate; }
.photo-module-image { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; object-fit: cover; }
.photo-module-wash { position: absolute; inset: 0; z-index: -2; background: linear-gradient(180deg, rgba(2,8,15,.3), rgba(2,8,15,.08) 45%, rgba(2,8,15,.34)); pointer-events: none; }
.photo-caption { position: absolute; z-index: 3; width: min(330px, calc(100% - 64px)); color: white; text-align: left; text-shadow: 0 2px 20px rgba(0,0,0,.7); }
.photo-caption.reveal { transform: none; }
.photo-caption[data-photo-caption-position="top-left"] { top: 102px; left: 32px; }
.photo-caption[data-photo-caption-position="top-right"] { top: 102px; right: 32px; }
.photo-caption[data-photo-caption-position="bottom-left"] { bottom: 26px; left: 32px; }
.photo-caption[data-photo-caption-position="bottom-right"] { right: 32px; bottom: 26px; }
.photo-caption-kicker { margin: 0 0 12px; font-size: 8px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.photo-caption h2 { margin: 0 0 15px; font: 700 clamp(24px, 2.4vw, 38px)/.98 Arial, sans-serif; letter-spacing: -.035em; text-transform: none; }
.photo-caption > p:last-child { margin: 0; font: 13px/1.38 Arial, sans-serif; }
.photo-module [data-edit="headline"], .photo-module [data-edit="body"],
.gallery-module [data-edit="headline"], .gallery-module [data-edit="body"],
.video-module [data-edit="headline"], .video-module [data-edit="body"],
.video-gallery-module [data-edit="headline"], .video-gallery-module [data-edit="body"],
.countdown-module [data-edit="headline"], .countdown-module [data-edit="body"],
.people-module [data-edit="headline"], .people-module [data-edit="body"] { white-space: pre-wrap; }
.photo-caption-position-control { display: grid; gap: 7px; color: rgba(7,16,29,.58); font-size: 8px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.photo-caption-position-control select { width: 100%; padding: 10px; border: 1px solid rgba(7,16,29,.16); border-radius: 0; background: white; color: var(--ink); font-size: 11px; }

.gallery-module { background: #06111f; color: white; }
.gallery-blur-background { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; object-fit: cover; opacity: 1; }
/* Gallery is content-only now, so its former hero-text wash has no purpose.
   Removing the layer entirely also keeps Safari's backdrop-filter veil directly
   above video backgrounds instead of competing at the same negative z-index. */
.gallery-wash { display: none !important; background: none !important; opacity: 0 !important; pointer-events: none; }
.gallery-layout, .gallery-editor-layout { display: grid; grid-template-columns: minmax(250px, .55fr) minmax(0, 1.45fr); align-items: center; gap: clamp(32px, 5vw, 82px); }
.gallery-copy > p:first-child, .gallery-editor-copy > p:first-child { margin: 0 0 20px; color: var(--blue-bright); font-size: 9px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.gallery-copy h2, .gallery-editor-copy h2 { font-size: clamp(58px, 6vw, 102px); }
.gallery-copy > p:last-child, .gallery-editor-copy > p:last-child { max-width: 450px; margin-top: 28px; color: rgba(255,255,255,.72); font: 18px/1.55 Georgia, serif; }
.gallery-grid, .gallery-editor-grid { height: min(68vh, 690px); display: grid; grid-template-columns: 1.5fr repeat(2, 1fr); grid-template-rows: repeat(2, minmax(0, 1fr)); grid-auto-rows: minmax(0, 1fr); gap: 9px; overflow: hidden; }
.gallery-grid:has(img:nth-child(6)), .gallery-editor-grid:has(img:nth-child(6)) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.gallery-grid:has(img:nth-child(6)) img:first-child, .gallery-editor-grid:has(img:nth-child(6)) img:first-child { grid-row: auto; }
.gallery-grid.is-overflowing { grid-auto-flow: column; grid-auto-columns: minmax(42%, 1fr); grid-template-columns: none; grid-template-rows: repeat(2, minmax(0, 1fr)); overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; touch-action: pan-x; }
.gallery-grid.is-overflowing img { scroll-snap-align: start; }
.gallery-grid img, .gallery-editor-grid img { width: 100%; height: 100%; object-fit: cover; min-width: 0; min-height: 0; }
.gallery-grid img { cursor: zoom-in; }
.gallery-grid img:focus-visible { outline: 3px solid white; outline-offset: -5px; }
.gallery-grid img:first-child, .gallery-editor-grid img:first-child { grid-row: span 2; }

.gallery-editor-canvas { display: block; padding-top: 112px; }
.gallery-editor-background { inset: 0; width: 100%; height: 100%; opacity: 1; }
.gallery-editor-wash { display: none !important; background: none !important; opacity: 0 !important; }
.gallery-editor-layout { min-height: calc(100svh - 172px); }
.gallery-editor-copy h2 { display: block; }
.center-gallery-tools { display: grid; gap: 12px; }
.gallery-asset-list { display: grid; gap: 7px; }
.gallery-asset { min-height: 48px; display: grid; grid-template-columns: 58px minmax(0,1fr) auto; align-items: center; gap: 10px; border-bottom: 1px solid rgba(7,16,29,.11); padding-bottom: 7px; }
.gallery-asset img { width: 58px; height: 44px; object-fit: cover; }
.gallery-asset span { font-size: 10px; font-weight: 700; }
.gallery-asset-actions { display: flex; gap: 4px; }
.gallery-asset button { width: 30px; height: 30px; padding: 0; border: 0; background: #e8edf1; color: var(--ink); cursor: pointer; font: 700 17px/1 Arial,sans-serif; }
.gallery-asset button:last-child { color: #a13d37; }
.gallery-asset button:disabled { opacity: .35; cursor: default; }
.gallery-image-fit-control { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.gallery-image-fit-control > span { color: #5f6d7c; font: 800 8px/1 Arial,sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.gallery-image-fit-control > div { padding: 3px; border-radius: 999px; background: #e5ebf0; display: grid; grid-template-columns: 1fr 1fr; gap: 2px; }
.gallery-image-fit-control button { min-width: 58px; min-height: 30px; padding: 0 11px; border: 0; border-radius: 999px; background: transparent; color: #536273; cursor: pointer; font: 800 9px/1 Arial,sans-serif; }
.gallery-image-fit-control button[aria-pressed="true"] { background: #fff; color: #087dce; box-shadow: 0 2px 8px rgba(7,22,40,.12); }
.gallery-image-fit-control button:focus-visible { outline: 2px solid rgba(21,151,237,.42); outline-offset: 2px; }
.gallery-asset-strip { display: grid; grid-template-columns: 30px minmax(0,1fr) 30px; align-items: stretch; gap: 6px; }
.center-gallery-tools .gallery-asset-list { min-width: 0; padding: 2px 0 7px; display: flex; gap: 6px; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; scroll-behavior: smooth; scroll-snap-type: x proximity; scrollbar-width: thin; scrollbar-color: rgba(54,78,101,.45) transparent; touch-action: pan-x; }
.center-gallery-tools .gallery-asset-list::-webkit-scrollbar { height: 5px; }
.center-gallery-tools .gallery-asset-list::-webkit-scrollbar-track { background: transparent; }
.center-gallery-tools .gallery-asset-list::-webkit-scrollbar-thumb { border-radius: 999px; background: rgba(54,78,101,.45); }
.center-gallery-tools .gallery-asset-list.is-gallery-strip-dragging { scroll-behavior: auto; scroll-snap-type: none; }
.gallery-strip-arrow { width: 30px; min-height: 72px; padding: 0; border: 1px solid rgba(7,22,40,.13); border-radius: 9px; background: rgba(255,255,255,.9); color: #087dce; cursor: pointer; font: 400 25px/1 Arial,sans-serif; transition: opacity .16s ease, border-color .16s ease, background .16s ease; }
.gallery-strip-arrow:hover, .gallery-strip-arrow:focus-visible { border-color: rgba(21,151,237,.52); outline: none; background: #eef8ff; }
.gallery-strip-arrow:disabled { opacity: .25; cursor: default; background: rgba(232,237,241,.65); color: #718092; }
.center-gallery-tools .gallery-asset { position: relative; flex: 0 0 calc((100% - 24px) / 5); min-width: 0; min-height: 72px; padding: 4px; border: 1px solid rgba(7,16,29,.11); border-radius: 8px; display: grid; grid-template-columns: 1fr; grid-template-rows: 46px auto; align-items: stretch; gap: 4px; background: rgba(255,255,255,.78); scroll-snap-align: start; }
.center-gallery-tools .gallery-asset img, .center-gallery-tools .gallery-asset video { width: 100%; height: 46px; border-radius: 5px; display: block; object-fit: contain; background: linear-gradient(45deg,#0b1827 25%,#13263a 25%,#13263a 50%,#0b1827 50%,#0b1827 75%,#13263a 75%); background-size: 10px 10px; }
.center-gallery-tools .gallery-video-poster, .center-gallery-tools .gallery-link-badge { width: 100%; height: 46px; border-radius: 5px; display: grid; place-items: center; background: #06111e; color: #fff; font-size: 13px; }
.center-gallery-tools .gallery-link-badge { padding: 3px; font-size: 6px; line-height: 1.1; }
.center-gallery-tools .gallery-asset span { min-width: 0; display: flex; align-items: baseline; justify-content: center; gap: 3px; overflow: hidden; white-space: nowrap; }
.center-gallery-tools .gallery-asset span b { color: #35475b; font: 800 8px/1 Arial,sans-serif; }
.center-gallery-tools .gallery-asset span small { max-width: 34px; overflow: hidden; color: #798697; font: 700 6px/1 Arial,sans-serif; text-overflow: ellipsis; }
.gallery-asset-mixed { cursor: grab; touch-action: none; transition: border-color .16s ease, background .16s ease, box-shadow .16s ease; }
.gallery-asset-mixed:hover { border-color: rgba(36,152,237,.38); background: #fff; }
.gallery-asset-mixed:focus-visible { border-color: #1597ed; outline: 2px solid rgba(21,151,237,.2); outline-offset: 1px; }
.gallery-asset-mixed:active, .is-reordering-gallery-items .gallery-asset-mixed { cursor: grabbing; }
.center-gallery-tools .gallery-asset button { position: absolute; top: 1px; right: 1px; width: 18px; height: 18px; border: 1px solid rgba(159,57,49,.22); border-radius: 50%; background: rgba(255,255,255,.94); color: #a13d37; font-size: 12px; line-height: 1; }
.center-gallery-tools .gallery-asset button:hover, .center-gallery-tools .gallery-asset button:focus-visible { border-color: rgba(159,57,49,.48); outline: none; background: #fff7f5; }
.gallery-selected-count { margin: 1px 0 -2px; }
.gallery-item-drop-placeholder { flex: 0 0 auto; min-width: 42px; min-height: 72px; border: 1px dashed rgba(36,152,237,.58); border-radius: 8px; background: rgba(36,152,237,.075); box-shadow: inset 0 3px 0 rgba(36,152,237,.66); }
body > .gallery-asset.is-gallery-item-dragging { position: fixed; z-index: 320; margin: 0; border-color: rgba(36,152,237,.8); background: #f8fbfe; box-shadow: 0 24px 50px rgba(7,22,40,.26),0 8px 18px rgba(7,22,40,.15),inset 0 3px 0 #1597ed; overflow: hidden; pointer-events: none; transform: translate3d(var(--gallery-item-drag-x,0),var(--gallery-item-drag-y,0),0); scale: 1.055; rotate: -.5deg; transition: scale .2s cubic-bezier(.2,.84,.24,1.12),rotate .2s ease,box-shadow .2s ease; will-change: transform,scale; }
body > .gallery-asset.is-gallery-item-dragging { padding: 4px; display: grid; grid-template-columns: 1fr; grid-template-rows: 46px auto; gap: 4px; }
body > .gallery-asset.is-gallery-item-dragging img,
body > .gallery-asset.is-gallery-item-dragging video { width: 100%; height: 46px; border-radius: 5px; display: block; object-fit: contain; background: #06111e; }
body > .gallery-asset.is-gallery-item-dragging > span { display: flex; align-items: baseline; justify-content: center; gap: 3px; overflow: hidden; white-space: nowrap; }
body > .gallery-asset.is-gallery-item-dragging > span b { font: 800 8px/1 Arial,sans-serif; }
body > .gallery-asset.is-gallery-item-dragging > span small { max-width: 34px; overflow: hidden; font: 700 6px/1 Arial,sans-serif; text-overflow: ellipsis; }
body > .gallery-asset.is-gallery-item-dragging > button { position: absolute; top: 1px; right: 1px; width: 18px; height: 18px; border-radius: 50%; font-size: 12px; }
body > .gallery-asset.is-gallery-item-dragging.is-gallery-item-dropping { scale: 1; rotate: 0deg; box-shadow: 0 8px 20px rgba(7,22,40,.12),inset 3px 0 0 #1597ed; transition: transform .24s cubic-bezier(.2,.84,.24,1),scale .24s ease,rotate .24s ease,box-shadow .24s ease; }
.is-reordering-gallery-items { cursor: grabbing; user-select: none; }
.tools-upload.prominent { border-style: solid; border-color: var(--blue); background: var(--blue); color: white; }

/* Countdown is an official full-screen module, not a boxed dashboard widget. */
.countdown-module { --countdown-color: #071628; background: var(--countdown-color); color: white; }
.countdown-background { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; object-fit: cover; }
.countdown-background[hidden] { display: none; }
.countdown-wash { position: absolute; inset: 0; z-index: -2; background: linear-gradient(180deg, rgba(2,8,15,.48), rgba(2,8,15,.18) 42%, rgba(2,8,15,.6)); }
.countdown-module:not(.has-image) .countdown-wash { background: radial-gradient(circle at 72% 22%, rgba(66,181,255,.18), transparent 42%), linear-gradient(180deg, transparent, rgba(1,7,14,.2)); }
.countdown-module.has-light-background { color: var(--ink); }
.countdown-module.has-light-background .universal-overlay { color: var(--ink); text-shadow: none; }
.countdown-module.has-light-background .universal-overlay-button { border-color: rgba(7,16,29,.55); background: rgba(255,255,255,.28); color: var(--ink); }
.countdown-module.has-light-background .countdown-wash { background: radial-gradient(circle at 72% 22%, rgba(255,255,255,.42), transparent 44%), linear-gradient(180deg, rgba(255,255,255,.12), rgba(7,16,29,.06)); }
.countdown-layout { display: grid; grid-template-rows: auto auto; align-content: center; gap: clamp(46px, 8vh, 92px); text-align: center; }
.countdown-copy { width: min(880px, calc(100% - 40px)); margin: 0 auto; }
.countdown-copy .eyebrow { justify-content: center; margin-bottom: 24px; }
.countdown-copy h2 { font-size: clamp(58px, 8vw, 128px); line-height: .88; text-wrap: balance; }
.countdown-copy > p:last-child { max-width: 650px; margin: 28px auto 0; color: currentColor; opacity: .72; font: 18px/1.5 Georgia, serif; white-space: pre-wrap; }
.countdown-clock { width: min(1040px, calc(100% - 52px)); margin: 0 auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: end; }
.countdown-unit { position: relative; min-width: 0; padding: 0 clamp(12px, 3vw, 44px); display: grid; justify-items: center; gap: 17px; text-align: center; }
.countdown-unit[hidden] { display: none !important; }
.countdown-unit strong { font: 300 clamp(92px, 11vw, 180px)/.72 Arial, sans-serif; letter-spacing: -.075em; font-variant-numeric: tabular-nums; }
.countdown-unit span { font-size: 10px; font-weight: 800; letter-spacing: .28em; text-transform: uppercase; }
.countdown-clock[data-countdown-style="classic"] .countdown-unit:not([hidden]):not([data-countdown-last-visible="true"])::after { content: ''; position: absolute; top: 7%; right: 0; width: 1px; height: 78%; background: currentColor; animation: countdown-separator-pulse 1s ease-in-out infinite; }
.countdown-clock[data-countdown-style="orbit"] { width: min(900px, calc(100% - 52px)); grid-template-columns:repeat(3,minmax(0,250px)); justify-content:center; align-items: center; gap: clamp(14px, 2.5vw, 34px); }
.countdown-clock[data-countdown-style="orbit"] .countdown-unit { width: 100%; max-width: 250px; aspect-ratio: 1; justify-self: center; place-content: center; justify-items: center; gap: 12px; padding: 16px; border: 1px solid currentColor; border-radius: 50%; background: rgba(7,16,29,.14); -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); text-align: center; }
.countdown-clock[data-countdown-style="orbit"] .countdown-unit:not([hidden]):not([data-countdown-last-visible="true"])::after { content: ':'; position: absolute; top: 50%; right: calc(clamp(14px, 2.5vw, 34px) * -.5); transform: translate(50%,-50%); font: 300 clamp(42px,5vw,76px)/1 Arial,sans-serif; animation: countdown-separator-pulse 1s ease-in-out infinite; }
.countdown-clock[data-countdown-style="orbit"] .countdown-unit strong { font-size: clamp(62px, 8vw, 126px); line-height: .82; }
.countdown-clock[data-countdown-style="editorial"] { width: min(960px, calc(100% - 52px)); align-items: center; gap: clamp(18px, 3vw, 52px); }
.countdown-clock[data-countdown-style="editorial"] .countdown-unit { padding: 0; gap: 10px; justify-items: center; text-align: center; }
.countdown-clock[data-countdown-style="editorial"] .countdown-unit:not([hidden]):not([data-countdown-last-visible="true"])::after { content: ':'; position: absolute; right: clamp(-36px, -2.4vw, -15px); top: 50%; transform: translateY(-62%); font: 200 clamp(74px, 9vw, 146px)/1 Arial,sans-serif; animation: countdown-separator-pulse 1s ease-in-out infinite; }
.countdown-clock[data-countdown-style="editorial"] .countdown-unit strong { font-size: clamp(82px, 10vw, 160px); line-height: .82; }
.countdown-clock[data-countdown-style="editorial"] .countdown-unit span { letter-spacing: .18em; }
@keyframes countdown-separator-pulse { 0%,100% { opacity: .22; } 50% { opacity: .82; } }
.countdown-live-dot { display: none !important; }
.countdown-clock.is-countdown-complete .countdown-unit::after { animation: none !important; opacity: .28; }
@media (prefers-reduced-motion: reduce) { .countdown-unit::after { animation: none !important; opacity: .55; } }
.countdown-target-tool { display: grid; gap: 14px; }
.countdown-target-tool > .tools-label { margin-bottom: -2px; }
.countdown-target-fields { display: grid; gap: 14px; }
.countdown-m3-picker { --countdown-picker-accent: #2498ed; --countdown-picker-ink: #071628; --countdown-picker-surface: #f4f7fa; border: 1px solid rgba(7,22,40,.12); border-radius: 20px; overflow: hidden; color: var(--countdown-picker-ink); background: var(--countdown-picker-surface); box-shadow: 0 9px 24px rgba(7,22,40,.07); }
.countdown-m3-time-label { color: #63baf4; font: 800 8px/1 Arial,sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.countdown-calendar-month { min-height: 54px; padding: 10px 13px 7px 17px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.countdown-calendar-month > strong { font: 750 12px/1.2 'EventSans',Arial,sans-serif; }
.countdown-calendar-month > span { display: flex; gap: 4px; }
.countdown-calendar-month button { width: 34px; height: 34px; padding: 0; border: 0; border-radius: 50%; display: grid; place-items: center; color: #536273; background: transparent; cursor: pointer; font: 400 24px/1 Arial,sans-serif; transition: color .16s ease, background .16s ease, transform .16s ease; }
.countdown-calendar-month button:hover, .countdown-calendar-month button:focus-visible { outline: none; color: #087dce; background: rgba(36,152,237,.1); transform: translateY(-1px); }
.countdown-calendar-weekdays, .countdown-calendar-days { padding-inline: 12px; display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); justify-items: center; }
.countdown-calendar-weekdays { padding-top: 3px; color: #6f7d8d; font: 800 8px/1 Arial,sans-serif; }
.countdown-calendar-weekdays span { width: 36px; min-width: 0; text-align: center; }
.countdown-calendar-days { min-height: 224px; padding-top: 7px; padding-bottom: 14px; align-content: start; row-gap: 2px; }
.countdown-calendar-days button, .countdown-calendar-blank { width: 36px; height: 36px; }
.countdown-calendar-days button { padding: 0; border: 1px solid transparent; border-radius: 50%; display: grid; place-items: center; color: #26364a; background: transparent; cursor: pointer; font: 650 11px/1 Arial,sans-serif; transition: color .16s ease, background .16s ease, border-color .16s ease, transform .16s ease; }
.countdown-calendar-days button:hover, .countdown-calendar-days button:focus-visible { outline: none; border-color: rgba(36,152,237,.38); color: #087dce; background: rgba(36,152,237,.09); transform: scale(1.05); }
.countdown-calendar-days button.is-today { border-color: #2498ed; color: #087dce; }
.countdown-calendar-days button[aria-pressed="true"] { border-color: #2498ed; color: #fff; background: #2498ed; box-shadow: 0 4px 12px rgba(36,152,237,.28); }
.countdown-m3-time-picker { padding: 17px; }
.countdown-m3-time-label { display: block; margin-bottom: 11px; color: #66768b; }
.countdown-time-readout { display: grid; grid-template-columns: minmax(0,1fr) 9px minmax(0,1fr) 54px; align-items: center; gap: 7px; }
.countdown-time-readout > button { min-width: 0; min-height: 62px; padding: 6px; border: 1px solid transparent; border-radius: 12px; color: #1d2c3e; background: #e8edf2; cursor: pointer; font: 500 35px/1 'EventSans',Arial,sans-serif; letter-spacing: -.045em; transition: color .16s ease, background .16s ease, border-color .16s ease, transform .16s ease; }
.countdown-time-readout > button:hover, .countdown-time-readout > button:focus-visible { outline: none; border-color: rgba(36,152,237,.35); transform: translateY(-1px); }
.countdown-time-readout > button[aria-pressed="true"] { color: #056ead; background: #d9effd; border-color: rgba(36,152,237,.36); }
.countdown-time-readout > i { color: #516072; font: 700 24px/1 Arial,sans-serif; font-style: normal; text-align: center; }
.countdown-period-options { height: 62px; border: 1px solid rgba(7,22,40,.2); border-radius: 11px; overflow: hidden; display: grid; grid-template-rows: 1fr 1fr; background: #fff; }
.countdown-period-options button { min-height: 0; padding: 0; border: 0; color: #536273; background: transparent; cursor: pointer; font: 800 9px/1 Arial,sans-serif; }
.countdown-period-options button + button { border-top: 1px solid rgba(7,22,40,.15); }
.countdown-period-options button[aria-pressed="true"] { color: #fff; background: #071628; }
.countdown-period-options button:focus-visible { position: relative; outline: 2px solid #2498ed; outline-offset: -3px; }
.countdown-time-dial { position: relative; width: min(248px,100%); aspect-ratio: 1; margin: 17px auto 2px; border-radius: 50%; background: #e5ebf1; cursor: crosshair; touch-action: none; user-select: none; box-shadow: inset 0 0 0 1px rgba(7,22,40,.035); }
.countdown-time-dial:focus-visible { outline: 3px solid rgba(36,152,237,.28); outline-offset: 4px; }
.countdown-time-dial-hand { position: absolute; z-index: 1; left: 50%; bottom: 50%; width: 2px; height: calc(50% - 30px); background: #2498ed; transform: translateX(-50%) rotate(var(--dial-angle)); transform-origin: 50% 100%; transition: transform .18s cubic-bezier(.2,.84,.24,1); }
.countdown-time-dial-hand::before { content: ''; position: absolute; left: 50%; top: -18px; width: 38px; height: 38px; border-radius: 50%; background: #2498ed; transform: translateX(-50%); box-shadow: 0 5px 14px rgba(36,152,237,.25); }
.countdown-time-dial-center { position: absolute; z-index: 3; left: 50%; top: 50%; width: 7px; height: 7px; border-radius: 50%; background: #2498ed; transform: translate(-50%,-50%); }
.countdown-time-dial-values { position: absolute; z-index: 2; inset: 0; pointer-events: none; }
.countdown-time-dial-values span { position: absolute; left: 50%; top: 50%; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; color: #27374a; font: 650 12px/1 Arial,sans-serif; transform: translate(-50%,-50%) rotate(calc(var(--dial-index) * 30deg)) translateY(-99px) rotate(calc(var(--dial-index) * -30deg)); }
.countdown-time-dial-values span.is-selected { color: #fff; }
.countdown-target-tool .countdown-appearance-tools { padding-top: 2px; }
@media (max-width: 430px) {
  .countdown-m3-time-picker { padding: 14px; }
  .countdown-time-readout { grid-template-columns: minmax(0,1fr) 7px minmax(0,1fr) 50px; gap: 5px; }
  .countdown-time-readout > button { min-height: 56px; font-size: 31px; }
  .countdown-period-options { height: 56px; }
  .countdown-time-dial { width: min(230px,100%); }
  .countdown-time-dial-values span { transform: translate(-50%,-50%) rotate(calc(var(--dial-index) * 30deg)) translateY(-90px) rotate(calc(var(--dial-index) * -30deg)); }
}
.countdown-blur-control { margin-top: 10px; display: flex; align-items: center; gap: 9px; color: rgba(7,16,29,.66); font-size: 10px; font-weight: 700; }
.countdown-blur-control input { accent-color: var(--blue); }
.countdown-blur-control:has(input:disabled) { opacity: .42; }
.countdown-appearance-tools { display: grid; gap: 10px; }
.countdown-style-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.countdown-style-options button { min-width: 0; min-height: 76px; padding: 10px 6px 8px; border: 1px solid rgba(7,16,29,.14); background: #fff; color: #536273; display: grid; place-items: center; align-content: center; gap: 8px; cursor: pointer; font: 800 8px/1 Arial,sans-serif; }
.countdown-style-options button[aria-pressed="true"] { border-color: var(--blue); background: #eef8ff; color: #0874c4; box-shadow: inset 0 0 0 1px var(--blue); }
.countdown-style-options i { width: 46px; height: 23px; display: flex; align-items: center; justify-content: center; gap: 4px; font-style: normal; }
.countdown-style-options i b { display: block; width: 11px; height: 16px; border: 1px solid currentColor; }
.countdown-style-options .countdown-style-classic b { border-width: 0 0 0 1px; }
.countdown-style-options .countdown-style-classic b:first-child { border-left: 0; }
.countdown-style-options .countdown-style-orbit b { width: 13px; height: 13px; border-radius: 50%; }
.countdown-style-options .countdown-style-editorial { gap: 6px; }
.countdown-style-options .countdown-style-editorial b { width: 9px; height: 18px; border: 0; border-bottom: 2px solid currentColor; }
.countdown-spin-control { min-height: 42px; padding: 10px 12px; border: 1px solid rgba(7,16,29,.13); background: rgba(255,255,255,.74); display: flex; align-items: center; gap: 9px; color: rgba(7,16,29,.7); font: 700 10px/1.3 Arial,sans-serif; }
.countdown-spin-control input { accent-color: var(--blue); }
.blur-strength-control { margin-top: 10px; padding: 11px 12px 10px; border: 1px solid rgba(7,16,29,.13); background: rgba(255,255,255,.72); display: grid; gap: 8px; transition: opacity .18s, border-color .18s; }
.blur-strength-control > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: rgba(7,16,29,.65); font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.blur-strength-control output { color: #0874c4; font-size: 10px; letter-spacing: .02em; }
.blur-strength-control input[type="range"] { width: 100%; margin: 0; accent-color: var(--blue); cursor: pointer; }
.blur-strength-labels { display: grid; grid-template-columns: repeat(4, 1fr); color: rgba(7,16,29,.43); font-size: 7px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.blur-strength-labels span:nth-child(2), .blur-strength-labels span:nth-child(3) { text-align: center; }
.blur-strength-labels span:last-child { text-align: right; }
.blur-strength-labels small { display: block; margin-top: 2px; font-size: 6px; font-weight: 700; letter-spacing: .02em; }
.blur-strength-control.is-disabled { opacity: .4; }
.blur-strength-control.is-disabled input { cursor: not-allowed; }
.exposure-control { padding: 11px 12px 10px; border: 1px solid rgba(7,16,29,.13); background: rgba(255,255,255,.72); display: grid; gap: 8px; }
.exposure-control > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: rgba(7,16,29,.65); font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.exposure-control output { color: #0874c4; font-size: 10px; letter-spacing: .02em; }
.exposure-control input[type="range"] { width: 100%; margin: 0; accent-color: var(--blue); cursor: pointer; }
.exposure-labels { display: flex; justify-content: space-between; color: rgba(7,16,29,.43); font-size: 7px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }

/* People keeps the catalog's strong left-side introduction and turns the right side into a real roster. */
.people-module { --people-color: #071628; background: var(--people-color); color: white; isolation: isolate; }
.people-background { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; object-fit: cover; }
.people-background[hidden] { display: none; }
.people-wash { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(2,8,15,.86) 0%, rgba(2,8,15,.68) 42%, rgba(2,8,15,.46) 100%), linear-gradient(0deg, rgba(2,8,15,.55), transparent 62%); }
.people-module:not(.has-image) .people-wash { background: radial-gradient(circle at 74% 22%, rgba(66,181,255,.18), transparent 40%), linear-gradient(135deg, transparent, rgba(1,7,14,.26)); }
.people-module.has-light-background { color: var(--ink); }
.people-module.has-light-background .people-wash { background: radial-gradient(circle at 74% 22%, rgba(255,255,255,.45), transparent 42%), linear-gradient(135deg, rgba(255,255,255,.1), rgba(7,16,29,.05)); }
.people-module.has-light-background .universal-overlay { color: var(--ink); text-shadow: none; }
.people-module.has-light-background .universal-overlay-button { border-color: rgba(7,16,29,.55); background: rgba(255,255,255,.28); color: var(--ink); }
.people-layout { display: grid; grid-template-columns: minmax(270px,.74fr) minmax(360px,1.26fr); align-items: center; gap: clamp(50px,8vw,132px); padding-left: clamp(38px,7vw,112px); padding-right: clamp(38px,7vw,112px); }
.people-copy { max-width: 650px; }
.people-copy .eyebrow { margin-bottom: 23px; }
.people-copy h2 { margin: 0; font: 400 clamp(64px,7.4vw,120px)/.86 Arial,sans-serif; letter-spacing: -.072em; text-wrap: balance; }
.people-copy > p:last-child { max-width: 520px; margin: 28px 0 0; color: currentColor; opacity: .74; font: 17px/1.5 Georgia,serif; white-space: pre-wrap; }
.people-list { max-height: min(66vh,670px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; touch-action: pan-y; border-top: 1px solid color-mix(in srgb,currentColor 24%,transparent); }
.people-card { min-height: 102px; padding: 17px 2px; border-bottom: 1px solid color-mix(in srgb,currentColor 24%,transparent); display: grid; grid-template-columns: minmax(0,1fr); align-items: center; gap: 18px; }
.people-card.has-photo { grid-template-columns: 68px minmax(0,1fr); }
.people-card img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 1px color-mix(in srgb,currentColor 42%,transparent); }
.people-card h3 { margin: 0; font: 700 clamp(18px,1.7vw,26px)/1.05 Arial,sans-serif; letter-spacing: -.025em; }
.people-card p { margin: 7px 0 0; color: currentColor; opacity: .66; font: 13px/1.4 Arial,sans-serif; white-space: pre-wrap; }
.people-list-empty { margin: 0; padding: 24px 2px; border-bottom: 1px solid color-mix(in srgb,currentColor 24%,transparent); color: currentColor; opacity: .62; font: 14px/1.45 Georgia,serif; }
.people-editor-list { display: grid; gap: 9px; }
.people-editor-card { border: 1px solid rgba(7,16,29,.14); background: rgba(255,255,255,.72); }
.people-editor-card header { min-height: 34px; padding: 7px 9px; border-bottom: 1px solid rgba(7,16,29,.1); display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.people-editor-card header span { color: rgba(7,16,29,.55); font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.people-editor-card header button { padding: 5px 7px; border: 0; background: transparent; color: #a63f36; font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.people-editor-card-body { padding: 9px; display: grid; grid-template-columns: 76px minmax(0,1fr); gap: 10px; }
.person-photo-control { min-width: 0; display: grid; align-content: start; justify-items: center; gap: 6px; }
.person-photo-target { width: 58px; height: 58px; padding: 0; border: 1px dashed rgba(7,16,29,.24); border-radius: 50%; background: #e8edf1; color: #0874c4; display: grid; place-items: center; cursor: pointer; overflow: hidden; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.person-photo-target:hover, .person-photo-target:focus-visible { border-color: #0874c4; background: #dcecf7; transform: scale(1.035); outline: none; }
.person-photo-target > span, .person-photo-target > img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.person-photo-target > span { display: grid; place-items: center; font: 300 22px/1 Arial,sans-serif; }
.person-photo-control.has-photo .person-photo-target { border-style: solid; }
.person-photo-action, .person-photo-control > button { width: 100%; padding: 5px 3px; border: 0; background: #e8edf1; color: var(--ink); text-align: center; font-size: 7px; font-weight: 800; line-height: 1.2; letter-spacing: .04em; text-transform: uppercase; cursor: pointer; }
.person-photo-control > button { background: transparent; color: #a63f36; }
.person-photo-control input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.person-copy-controls { min-width: 0; display: grid; gap: 7px; }
.person-copy-controls label { min-width: 0; display: grid; gap: 4px; color: rgba(7,16,29,.55); font-size: 7px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.person-copy-controls input, .person-copy-controls textarea { width: 100%; min-width: 0; padding: 7px; border: 1px solid rgba(7,16,29,.14); border-radius: 0; background: white; color: var(--ink); font: 10px/1.3 Arial,sans-serif; resize: vertical; }
.person-copy-controls input:focus, .person-copy-controls textarea:focus { outline: none; border-color: var(--blue); box-shadow: 0 0 0 2px rgba(36,152,237,.12); }
.people-editor-empty { margin: 0; padding: 15px; border: 1px dashed rgba(7,16,29,.2); color: rgba(7,16,29,.58); font: 12px/1.45 Georgia,serif; }
.people-add-button { width: 100%; min-height: 42px; margin-top: 10px; border: 1px solid var(--blue); border-radius: 0; background: var(--blue); color: white; font-size: 9px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; cursor: pointer; }
.people-add-button span { margin-right: 5px; font-size: 15px; font-weight: 300; vertical-align: -1px; }

/* Accessibility pairs editable story copy with a quiet, icon-led checklist. */
.accessibility-module { --accessibility-color: #071628; background: var(--accessibility-color); color: white; isolation: isolate; }
.accessibility-background { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; object-fit: cover; }
.accessibility-background[hidden] { display: none; }
.accessibility-wash { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(2,8,15,.9) 0%, rgba(2,8,15,.7) 45%, rgba(2,8,15,.5) 100%), linear-gradient(0deg, rgba(2,8,15,.5), transparent 62%); }
.accessibility-module:not(.has-image) .accessibility-wash { background: radial-gradient(circle at 76% 18%, rgba(66,181,255,.18), transparent 40%), linear-gradient(135deg, transparent, rgba(1,7,14,.26)); }
.accessibility-module.has-light-background { color: var(--ink); }
.accessibility-module.has-light-background .accessibility-wash { background: radial-gradient(circle at 76% 18%, rgba(255,255,255,.48), transparent 42%), linear-gradient(135deg, rgba(255,255,255,.1), rgba(7,16,29,.05)); }
.accessibility-module.has-light-background .universal-overlay { color: var(--ink); text-shadow: none; }
.accessibility-module.has-light-background .universal-overlay-button { border-color: rgba(7,16,29,.55); background: rgba(255,255,255,.28); color: var(--ink); }
.accessibility-layout { display: grid; grid-template-columns: minmax(440px,1fr) minmax(360px,1fr); align-items: center; gap: clamp(42px,5vw,78px); padding-left: clamp(38px,5vw,80px); padding-right: clamp(38px,5vw,80px); }
.accessibility-copy { max-width: 680px; }
.accessibility-copy .eyebrow { margin-bottom: 23px; }
.accessibility-copy h2 { margin: 0; font: 400 clamp(66px,6.4vw,104px)/.88 Arial,sans-serif; letter-spacing: -.075em; text-wrap: balance; overflow-wrap: normal; word-break: normal; }
.accessibility-copy > p:last-child { max-width: 530px; margin: 28px 0 0; color: currentColor; opacity: .76; font: 17px/1.5 Georgia,serif; white-space: pre-wrap; }
.accessibility-list { max-height: min(62vh,620px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; touch-action: pan-y; border-top: 1px solid color-mix(in srgb,currentColor 28%,transparent); }
.accessibility-feature { min-height: 118px; padding: 18px 2px; border-bottom: 1px solid color-mix(in srgb,currentColor 28%,transparent); display: grid; grid-template-columns: 72px minmax(0,1fr); align-items: center; gap: 22px; }
.accessibility-feature-icon { width: 60px; height: 60px; border: 1px solid color-mix(in srgb,currentColor 55%,transparent); border-radius: 50%; display: grid; place-items: center; }
.accessibility-feature-icon svg, .accessibility-editor-icon svg { width: 31px; height: 31px; fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.accessibility-feature strong { font: 700 clamp(19px,1.8vw,28px)/1.14 Arial,sans-serif; letter-spacing: -.028em; }
.accessibility-list-empty { margin: 0; padding: 28px 2px; border-bottom: 1px solid color-mix(in srgb,currentColor 28%,transparent); color: currentColor; opacity: .66; font: 15px/1.45 Georgia,serif; }
.accessibility-editor-list { display: grid; gap: 9px; }
.accessibility-editor-item { padding: 10px; border: 1px solid rgba(7,16,29,.14); background: rgba(255,255,255,.72); display: grid; gap: 8px; }
.accessibility-editor-item > label { min-width: 0; display: grid; grid-template-columns: 16px 30px minmax(0,1fr); align-items: center; gap: 8px; cursor: pointer; }
.accessibility-editor-item > label > input { accent-color: var(--blue); }
.accessibility-editor-icon { width: 28px; height: 28px; color: #0874c4; display: grid; place-items: center; }
.accessibility-editor-icon svg { width: 23px; height: 23px; }
.accessibility-editor-item strong { font: 800 9px/1.2 Arial,sans-serif; letter-spacing: .035em; }
.accessibility-editor-item > input { width: 100%; min-width: 0; padding: 8px; border: 1px solid rgba(7,16,29,.14); border-radius: 0; background: white; color: var(--ink); font: 10px/1.3 Arial,sans-serif; }
.accessibility-editor-item > input:focus { outline: none; border-color: var(--blue); box-shadow: 0 0 0 2px rgba(36,152,237,.12); }

.gallery-lightbox { position: fixed; inset: 0; z-index: 240; display: grid; place-items: center; padding: clamp(24px, 5vw, 72px); }
.gallery-lightbox[hidden] { display: none; }
.gallery-lightbox-backdrop { position: absolute; inset: 0; border: 0; background: rgba(1,6,12,.91); backdrop-filter: blur(18px); cursor: zoom-out; }
.gallery-lightbox figure { position: relative; z-index: 1; max-width: min(1200px, 92vw); max-height: 88vh; margin: 0; display: grid; justify-items: center; }
.gallery-lightbox img { display: block; max-width: 100%; max-height: 82vh; object-fit: contain; box-shadow: 0 30px 100px rgba(0,0,0,.58); }
.gallery-lightbox-close { position: absolute; z-index: 2; top: max(18px, env(safe-area-inset-top)); right: 18px; width: 46px; height: 46px; padding: 0 0 3px; border: 0; border-radius: 50%; background: var(--blue); color: white; display: grid; place-items: center; cursor: pointer; font-size: 28px; line-height: 1; }
.gallery-lightbox-nav { position: absolute; z-index: 2; top: 50%; width: 56px; height: 76px; padding: 0; border: 0; border-radius: 0; background: transparent; color: #fff; transform: translateY(-50%); mix-blend-mode: difference; box-shadow: none; cursor: pointer; opacity: .82; transition: opacity .18s ease, transform .18s ease; }
.gallery-lightbox-nav > span { position: absolute; top: 50%; left: 50%; width: 11px; height: 11px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform-origin: center; }
.gallery-lightbox-previous > span { transform: translate(-50%,-50%) rotate(-135deg); }
.gallery-lightbox-next > span { transform: translate(-50%,-50%) rotate(45deg); }
.gallery-lightbox-nav:hover, .gallery-lightbox-nav:focus-visible { outline: none; opacity: 1; transform: translateY(-50%); }
.gallery-lightbox-nav:hover > span { width: 13px; height: 13px; }
.gallery-lightbox-nav:focus-visible::after { content: ''; position: absolute; left: 50%; bottom: 10px; width: 18px; height: 2px; background: currentColor; transform: translateX(-50%); }
.gallery-lightbox-nav[hidden] { display: none; }
.gallery-lightbox-previous { left: max(18px,env(safe-area-inset-left)); }
.gallery-lightbox-next { right: max(18px,env(safe-area-inset-right)); }

@media (max-width: 900px) {
  body.has-open-visual-editor .brand-settings-backdrop { top: 68px; }
  :root { --header-h: 68px; }
  html, body { overscroll-behavior-y: none; }
  .story-shell > .chapter { height: var(--story-page-height); min-height: var(--story-page-height); max-height: var(--story-page-height); scroll-snap-stop: always; }
  .story-shell > .chapter .reveal { opacity: 1; transform: none; transition: none; }
  .site-header { padding: 0 16px; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); gap: 12px; }
  .brand { justify-self: center; }
  .brand img { width: 142px; max-height: 30px; }
  .brand img.is-custom { width: auto; max-width: 150px; max-height: 30px; }
  .brand span, .concept-label { display: none; }
  .demo-note { bottom: 62px; }
  .text-button { font-size: 11px; }
  .rsvp-button { padding: 10px 15px; font-size: 12px; }
  .story-progress { display: none; }
  .chapter-controls { right: 16px; bottom: 17px; }
  .story-shell > .chapter > .chapter-inner { height: 100%; min-height: 0; padding: calc(var(--header-h) + 42px) 22px 78px; }
  .cover-layout, .schedule-layout, .live-layout { grid-template-columns: 1fr; }
  .cover-layout { align-items: end; }
  .cover-copy { align-self: end; margin: 0; }
  .cover-note { padding: 16px 0 0; border-left: 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: center; }
  .cover-note > p { font-size: 16px; margin: 0; }
  .circle-link { width: 78px; height: 78px; }
  .cover-meta { margin-top: 22px; gap: 8px 12px; }
  .cover-meta span { gap: 12px; }
  .scroll-cue { left: 22px; bottom: 24px; }
  .schedule-layout { align-content: center; gap: 36px; }
  .section-copy { font-size: 16px; margin-top: 20px; }
  .timeline { max-height: min(52vh, 440px); }
  .timeline-item { min-height: 82px; grid-template-columns: 55px 1fr; gap: 12px; }
  .timeline-status { display: none; }
  .timeline-item time { font-size: 19px; }
  .timeline-item strong { font-size: 14px; }
  .table-figure { top: -1px; width: 100%; height: calc(48% + 1px); }
  .table-figure img { display: block; }
  .table-figure::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, var(--paper), transparent 55%); }
  .story-shell > .chapter > .table-layout { grid-template-columns: 1fr; padding: calc(var(--header-h) + var(--story-page-height-30)) 22px 24px; }
  .table-copy { grid-column: 1; padding: 0; align-self: end; }
  .table-copy h2 { font-size: clamp(62px, 19vw, 92px); }
  .table-copy > p { font-size: 15px; }
  .event-facts { margin: 18px 0; }
  .event-facts div { padding: 10px 0; }
  .vertical-caption { display: none; }
  .live-layout { align-content: end; gap: 30px; }
  .live-copy h2 { font-size: clamp(86px, 28vw, 135px); }
  .artist-note { justify-self: start; }
  .sound-toggle { right: 18px; top: 100px; }
  .menu-content { padding: calc(var(--header-h) + 45px) 24px 32px; }
  .menu-content a { font-size: clamp(31px, 10vw, 48px); }
  .menu-footer { display: grid; }
  .chapter-cover .chapter-media { object-position: 66% center; }
  .announcement-editor-bar { height: 68px; padding: 0 16px; }
  .announcement-editor-identity span { display: none; }
  .announcement-editor-canvas { padding: 102px 22px 84px; }
  .announcement-editor-canvas { padding-right: 22px; }
  .announcement-editor-content h2 { font-size: clamp(72px, 19vw, 118px); }
  .announcement-design-dock { width: calc(100% - 24px); min-height: 102px; bottom: 12px; padding: 10px 12px; border-radius: 18px; flex-wrap: wrap; justify-content: center; gap: 8px 11px; }
  .announcement-design-dock > p { width: 100%; text-align: center; }
  .announcement-editor-canvas { padding-bottom: 150px; }
  .announcement-editor-hint { bottom: 126px; }
  .announcement-editor-demo { display: none; }
  .cover-official-content h1 { font-size: clamp(64px, 17vw, 108px); }
  .cover-official-content .eyebrow { margin-bottom: 22px; }
  .cover-widget, .cover-editor-widget { min-width: 125px; padding: 10px 12px; }
  .cover-widget strong, .cover-editor-widget strong { font-size: 14px; }
  .cover-widget[data-cover-position="top-left"] { top: 76px; left: 16px; }
  .cover-widget[data-cover-position="top-right"] { top: 76px; right: 16px; }
  .cover-editor-widget[data-cover-position="top-left"] { top: 86px; left: 16px; }
  .cover-editor-widget[data-cover-position="top-right"] { top: 86px; right: 16px; }
  .cover-widget[data-cover-position="bottom-left"] { left: 16px; bottom: 16px; }
  .cover-widget[data-cover-position="bottom-right"] { right: 16px; bottom: 16px; }
  .cover-editor-widget[data-cover-position="bottom-left"] { left: 16px; bottom: 16px; }
  .cover-editor-widget[data-cover-position="bottom-right"] { right: 16px; bottom: 16px; }
  .cover-editor-widget[data-cover-position$="right"] { right: 16px; }
  .cover-editor-widget[data-cover-position^="bottom"] { bottom: 262px; }
  .cover-editor-canvas, .gallery-editor-canvas { min-height: 100svh; padding: 82px 18px 262px; }
  .cover-editor-preview h1 { font-size: clamp(62px, 17vw, 104px); }
  .cover-editor-logo { max-height: 72px; margin-bottom: 18px; }
  .visual-editor-tools { top: auto; left: 0; right: 0; bottom: 0; width: 100%; height: 244px; padding: 56px 18px 17px; box-shadow: 0 -18px 50px rgba(2,9,18,.22); transform: translate3d(0,104%,0); }
  .editor-pin-button { top: auto; right: auto; left: 18px; bottom: 200px; }
  .visual-editor-tools section + section { margin-top: 17px; padding-top: 15px; }
  .gallery-layout, .gallery-editor-layout { grid-template-columns: 1fr; gap: 24px; }
  .gallery-layout { align-content: center; }
  .gallery-copy h2, .gallery-editor-copy h2 { font-size: clamp(52px, 14vw, 78px); }
  .gallery-copy > p:last-child, .gallery-editor-copy > p:last-child { margin-top: 18px; font-size: 15px; }
  .gallery-grid, .gallery-editor-grid { height: 47vh; min-height: 320px; }
  .gallery-editor-canvas { padding-top: 84px; }
  .gallery-editor-layout { min-height: calc(100svh - 346px); align-content: center; }
  .gallery-editor-grid { height: 32vh; min-height: 210px; }
  .countdown-layout { gap: clamp(34px, 6vh, 58px); padding-left: 14px; padding-right: 14px; }
  .countdown-copy { width: min(100%, 660px); }
  .countdown-copy h2 { font-size: clamp(48px, 13vw, 76px); }
  .countdown-copy > p:last-child { margin-top: 18px; font-size: 14px; line-height: 1.4; }
  .countdown-clock { width: calc(100% - 14px); }
  .countdown-unit { padding: 0 7px; gap: 12px; }
  .countdown-unit strong { font-size: clamp(52px, 17vw, 88px); }
  .countdown-unit span { font-size: 8px; letter-spacing: .2em; }
  .gallery-lightbox-nav { width: 44px; height: 64px; }
  .gallery-lightbox-nav > span { width: 9px; height: 9px; }
  .gallery-lightbox-previous { left: max(8px,env(safe-area-inset-left)); }
  .gallery-lightbox-next { right: max(8px,env(safe-area-inset-right)); }
}

@media (max-width: 680px) {
  body.is-organizer-open .site-header { grid-template-columns: minmax(0,1fr); }
  body.is-organizer-open .site-header > .brand,
  body.is-organizer-open .site-header > .header-actions { display: none; }
  body.is-organizer-open .pages-header-control { width: 100%; }
  body.is-organizer-open .pages-header-heading strong { white-space: normal; }
}

@media (max-width: 560px) {
  .site-header { padding-inline: 10px; gap: 6px; }
  .pages-header-control { gap: 8px; }
  .menu-button { min-width: 78px; height: 42px; padding-inline: 11px; gap: 6px; }
  .menu-button svg { width: 14px; height: 14px; }
  .brand img { width: 94px; max-height: 27px; }
  .brand img.is-custom { max-width: 94px; max-height: 27px; }
  .header-actions { gap: 6px; }
  .text-button { width: 60px; height: 42px; font-size: 11px; }
  .dashboard-header-button { width: 40px; height: 40px; flex-basis: 40px; }
  .dashboard-header-button svg { width: 15px; height: 15px; }
  .brand-settings-popover { top: var(--header-h); left: 0; width: 100%; max-height: calc(100svh - var(--header-h)); padding: 17px 16px 24px; border: 0; border-radius: 0; transform: none; }
  .brand-settings-heading h2 { font-size: 21px; }
  .brand-settings-popover .brand-control-library-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .brand-control-actions { grid-template-columns: 1fr; }
  .announcement-editor-identity { padding: 5px; }
  .announcement-editor-identity img { width: 94px; max-height: 27px; }
  .announcement-editor-identity img.is-custom { max-width: 94px; }
  .announcement-editor-nav { gap: 7px; }
  .announcement-editor-back { width: 40px; min-width: 40px; padding: 0; font-size: 0; }
  .announcement-editor-back span { font-size: 15px; }
}

@media (max-width: 360px) {
  .menu-button { width: 40px; min-width: 40px; padding: 0; }
  .menu-button strong { display: none; }
}

@media (max-width: 900px) and (max-height: 720px) {
  .table-figure { height: calc(43% + 1px); }
  .story-shell > .chapter > .table-layout { padding: calc(var(--header-h) + var(--story-page-height-24)) 22px 18px; }
  .table-copy h2 { font-size: clamp(54px, 17vw, 72px); }
  .table-copy > p { margin: 10px 0; font-size: 14px; line-height: 1.42; }
  .event-facts { margin: 10px 0; }
  .event-facts div { padding: 7px 0; }
  .underlined-button { padding: 5px 0; }
  .countdown-layout { gap: 20px; }
  .countdown-copy .eyebrow { margin-bottom: 10px; }
  .countdown-copy h2 { font-size: clamp(36px, 11vh, 58px); }
  .countdown-copy > p:last-child { margin-top: 10px; font-size: 12px; }
  .countdown-unit { gap: 7px; }
  .countdown-unit strong { font-size: clamp(40px, 14vh, 62px); }
}

.visual-corner-drawer { position: absolute; z-index: 9; top: 94px; right: 18px; width: 320px; color: var(--ink); }
.gallery-editor-page .visual-corner-drawer { right: 365px; }
.visual-corner-drawer > summary { min-height: 42px; padding: 0 15px; border-radius: 999px; background: rgba(244,246,249,.96); box-shadow: 0 10px 30px rgba(2,9,18,.2); display: flex; align-items: center; justify-content: space-between; font-size: 10px; font-weight: 700; cursor: pointer; list-style: none; backdrop-filter: blur(18px); }
.visual-corner-drawer > summary::-webkit-details-marker { display: none; }
.visual-corner-drawer > summary span { font-size: 17px; font-weight: 400; }
.visual-corner-drawer[open] > summary { border-radius: 18px 18px 0 0; }
.visual-corner-drawer[open] > summary span { transform: rotate(45deg); }
.visual-corner-fields { max-height: calc(100svh - 160px); padding: 15px; border-radius: 0 0 18px 18px; background: rgba(244,246,249,.98); box-shadow: 0 22px 50px rgba(2,9,18,.28); display: grid; gap: 10px; overflow-y: auto; backdrop-filter: blur(18px); }
.visual-corner-fields > label:not(.overlay-toggle):not(.overlay-corner-field) { display: grid; gap: 5px; color: rgba(7,16,29,.55); font-size: 8px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.visual-corner-fields > label input { width: 100%; padding: 8px; border: 1px solid rgba(7,16,29,.16); border-radius: 0; background: white; color: var(--ink); font-size: 10px; }

@media (max-width: 900px) {
  .visual-corner-drawer, .gallery-editor-page .visual-corner-drawer { top: 76px; right: 12px; width: min(320px,calc(100% - 24px)); }
  .visual-corner-fields { max-height: calc(100svh - 132px); }
}

@media (max-width: 520px) {
  h1 { font-size: clamp(44px, 14vw, 72px); overflow-wrap: anywhere; }
  h2 { font-size: clamp(64px, 19vw, 90px); }
  .cover-note { display: none; }
  .cover-meta span { width: max-content; }
  .menu-button { width: 38px; height: 38px; }
  .rsvp-button { padding: 9px 12px; }
  .timeline-item div span { font-size: 11px; }
  .artist-note { grid-template-columns: 52px 1fr; }
  .finale-button { min-width: 200px; }
  .announcement-editor-bar { grid-template-columns: 1fr auto 1fr; gap: 8px; }
  .announcement-editor-identity img { width: 94px; }
  .announcement-editor-back { font-size: 0; gap: 5px; }
  .announcement-editor-back span { font-size: 15px; }
  .announcement-editor-save { min-width: 76px; padding: 11px 13px; font-size: 0; }
  .announcement-editor-save::before { content: 'Save'; font-size: 10px; }
  .announcement-editor-save span { font-size: 13px; }
  .announcement-editor-kicker { margin-bottom: 22px; gap: 10px; font-size: 8px; }
  .announcement-editor-kicker > span:not(.guest-editable) { width: 22px; }
  .announcement-editor-content h2 { font-size: clamp(64px, 19vw, 92px); }
  .announcement-editor-body { font-size: 17px; }
  .announcement-editor-hint { left: 18px; bottom: 126px; }
  .announcement-editor-demo { display: none; }
  .announcement-image-options { padding-left: 7px; }
  .visual-upload-button { padding: 0 9px; }
  .cover-official-date { font-size: 8px; }
  .cover-widget span, .cover-editor-widget span { font-size: 7px; }
  .cover-widget strong, .cover-editor-widget strong { font-size: 12px; }
  .cover-editor-kicker { margin-bottom: 16px; }
  .gallery-grid, .gallery-editor-grid { grid-template-columns: 1.35fr 1fr; }
  .gallery-grid img:first-child, .gallery-editor-grid img:first-child { grid-row: span 2; }
  .gallery-grid:has(img:nth-child(4)), .gallery-editor-grid:has(img:nth-child(4)) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gallery-grid:has(img:nth-child(4)) img:first-child, .gallery-editor-grid:has(img:nth-child(4)) img:first-child { grid-row: auto; }
  .gallery-grid:has(img:nth-child(5)), .gallery-editor-grid:has(img:nth-child(5)) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .gallery-grid:has(img:nth-child(7)), .gallery-editor-grid:has(img:nth-child(7)) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 360px) {
  .announcement-editor-bar { padding-inline: 10px; gap: 5px; }
  .announcement-editor-identity img,
  .announcement-editor-identity img.is-custom { width: 82px; max-width: 82px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}

/* Freemium account preview: quiet in the editor, explicit only at save time. */
.plan-meter { margin: 14px 0 16px; padding: 13px 14px 14px; border-left: 3px solid var(--blue); background: white; box-shadow: 0 8px 24px rgba(7,16,29,.06); }
.plan-meter-heading { display: flex; justify-content: space-between; align-items: end; gap: 16px; }
.plan-meter-heading > div { display: grid; gap: 3px; }
.plan-meter-heading span { color: var(--blue); font-size: 8px; font-weight: 700; letter-spacing: .16em; }
.plan-meter-heading strong { font-size: 15px; }
.plan-meter-heading small { color: rgba(7,16,29,.5); font-size: 10px; }
.plan-meter-track { height: 3px; margin-top: 11px; background: #e7ebef; overflow: hidden; }
.plan-meter-track span { display: block; width: 0; height: 100%; background: var(--blue); transition: width .35s var(--ease), background .2s; }
.plan-meter p { margin: 10px 0 12px; color: rgba(7,16,29,.62); font-size: 10px; line-height: 1.45; }
.plan-meter button { width: 100%; padding: 11px 12px; border: 0; border-radius: 18px; background: var(--blue); color: white; display: flex; justify-content: space-between; align-items: center; font-size: 10px; font-weight: 700; cursor: pointer; }
.plan-meter button:hover, .plan-meter button:focus-visible { background: #0874c4; outline: 2px solid rgba(36,152,237,.28); outline-offset: 2px; }
.plan-meter.is-over-limit { border-left-color: #ba493c; }
.plan-meter.is-over-limit .plan-meter-heading span, .plan-meter.is-over-limit .plan-meter-heading small { color: #a43e34; }
.plan-meter.is-over-limit .plan-meter-track span { background: #ba493c; }
.plan-meter.is-pro .plan-meter-heading span { color: var(--blue); }

.plan-modal { z-index: 150; }
.plan-sheet { position: absolute; top: 50%; left: 50%; width: min(650px, calc(100% - 32px)); max-height: calc(100svh - 32px); padding: clamp(28px, 5vw, 54px); background: var(--paper); color: var(--ink); box-shadow: 0 32px 110px rgba(0,0,0,.32); opacity: 0; overflow-y: auto; transform: translate(-50%, calc(-50% + 18px)); transition: opacity .3s, transform .4s var(--ease); }
.modal-shell.is-open .plan-sheet { opacity: 1; transform: translate(-50%, -50%); }
.plan-sheet .sheet-close { border-color: var(--blue); background: var(--blue); color: white; box-shadow: 0 8px 22px rgba(36,152,237,.24); }
.plan-sheet .sheet-close:hover, .plan-sheet .sheet-close:focus-visible { background: #0874c4; border-color: #0874c4; outline: 2px solid rgba(36,152,237,.25); outline-offset: 2px; }
.plan-kicker { margin: 0 52px 13px 0; color: var(--blue); font-size: 9px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.plan-sheet h2 { max-width: 520px; margin: 0; font: 700 clamp(34px, 5vw, 54px)/.96 Arial, sans-serif; letter-spacing: -.045em; }
#planModalCopy { max-width: 545px; margin: 17px 0 24px; color: rgba(7,16,29,.65); font: 15px/1.55 Georgia, serif; }
.plan-comparison { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.plan-choice { min-height: 142px; padding: 16px; border: 1px solid rgba(7,16,29,.15); background: white; }
.plan-choice.is-active { border-color: var(--blue); box-shadow: inset 0 0 0 1px var(--blue); }
.plan-choice > div { display: flex; justify-content: space-between; gap: 12px; }
.plan-choice span { color: var(--blue); font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.plan-choice small { color: rgba(7,16,29,.46); font-size: 8px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.plan-choice strong { display: block; margin-top: 18px; font-size: 20px; }
.plan-choice p { margin: 7px 0 0; color: rgba(7,16,29,.56); font-size: 10px; line-height: 1.45; }
.plan-choice > button { width: 100%; min-height: 42px; margin-top: 18px; padding: 0 14px; border: 1px solid rgba(7,22,40,.18); border-radius: 999px; background: #f4f7fa; color: #071628; font: 800 10px/1 Arial,sans-serif; cursor: pointer; }
.plan-choice.is-active > button { border-color: var(--blue); background: var(--blue); color: white; }
.plan-choice > button:hover, .plan-choice > button:focus-visible { border-color: var(--blue); outline: 3px solid rgba(36,152,237,.16); outline-offset: 2px; }
.plan-modal-actions { margin-top: 10px; display: grid; gap: 7px; }
.plan-modal-actions button { width: 100%; padding: 13px 15px; border: 1px solid rgba(7,16,29,.16); border-radius: 20px; background: transparent; color: var(--ink); text-align: left; font-size: 11px; font-weight: 700; cursor: pointer; }
.plan-modal-actions button:hover, .plan-modal-actions button:focus-visible { border-color: var(--blue); outline: 2px solid rgba(36,152,237,.22); outline-offset: 1px; }
.plan-modal-actions .plan-action-primary { border-color: var(--blue); background: var(--blue); color: white; }
.plan-modal-actions .plan-action-primary:hover, .plan-modal-actions .plan-action-primary:focus-visible { background: #0874c4; }
.plan-future-note { margin: 14px 0 0; color: rgba(7,16,29,.42); font-size: 9px; line-height: 1.45; }

.material-icon-modal { z-index:180; }
.material-icon-modal.is-dynamic-text-mode { z-index:1040; }
.material-icon-modal.is-dynamic-text-mode .material-icon-upload,
.material-icon-modal.is-dynamic-text-mode .material-icon-families { display:none; }
.material-icon-sheet { position:absolute; top:50%; left:50%; width:min(900px,calc(100% - 32px)); height:min(800px,calc(100svh - 32px)); padding:24px; display:grid; grid-template-rows:auto auto auto auto minmax(0,1fr) auto; gap:12px; background:#f5f8fa; color:#071628; box-shadow:0 34px 120px rgba(0,0,0,.36); opacity:0; transform:translate(-50%,calc(-50% + 18px)); transition:opacity .28s,transform .4s var(--ease); }
.material-icon-modal.is-open .material-icon-sheet { opacity:1; transform:translate(-50%,-50%); }
.material-icon-header { padding-right:54px; display:flex; align-items:flex-start; justify-content:space-between; }
.material-icon-header p { margin:0 0 7px; color:#168fe3; font:800 9px/1 Arial,sans-serif; letter-spacing:.16em; }
.material-icon-header h2 { margin:0; font:750 clamp(30px,4vw,44px)/.98 'EventSans',Arial,sans-serif; letter-spacing:-.045em; }
.material-icon-sheet .sheet-close { top:20px; right:20px; border-color:#168fe3; background:#168fe3; color:#fff; }
.material-icon-upload { width:50%; min-width:240px; min-height:54px; padding:9px 14px; border:1px solid #168fe3; display:grid; grid-template-columns:34px minmax(0,1fr); align-items:center; gap:11px; justify-self:start; background:#168fe3; color:#fff; cursor:pointer; box-shadow:0 9px 24px rgba(22,143,227,.22); transition:border-color .18s,background .18s,box-shadow .18s,transform .18s; }
.material-icon-upload:hover,.material-icon-upload:focus-within { border-color:#0874c4; background:#0874c4; box-shadow:0 12px 30px rgba(8,116,196,.3); transform:translateY(-1px); }
.material-icon-upload > span { width:30px; height:30px; border-radius:50%; display:grid; place-items:center; background:rgba(255,255,255,.17); color:#fff; font:700 17px/1 Arial,sans-serif; }
.material-icon-upload > div { min-width:0; display:grid; gap:3px; }
.material-icon-upload strong { font:750 12px/1.1 'EventSans',Arial,sans-serif; }
.material-icon-upload small { color:rgba(255,255,255,.76); font:600 9px/1.25 'EventSans',Arial,sans-serif; }
.material-icon-upload input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.material-icon-search { min-height:52px; padding:0 16px; border:1px solid rgba(7,22,40,.18); display:flex; align-items:center; gap:11px; background:#fff; box-shadow:0 8px 24px rgba(7,22,40,.05); }
.material-icon-search:focus-within { border-color:#168fe3; box-shadow:0 0 0 3px rgba(22,143,227,.13); }
.material-icon-search svg { width:20px; fill:none; stroke:#607084; stroke-width:1.8; }
.material-icon-search input { width:100%; min-width:0; border:0; outline:0; background:transparent; color:#071628; font:500 16px/1.2 'EventSans',Arial,sans-serif; }
.material-icon-search input::placeholder { color:#8a96a4; }
.material-icon-controls { display:grid; gap:9px; }
.material-icon-families,.material-icon-categories { display:flex; gap:6px; overflow-x:auto; scrollbar-width:none; }
.material-icon-families::-webkit-scrollbar,.material-icon-categories::-webkit-scrollbar { display:none; }
.material-icon-families button,.material-icon-categories button { min-height:32px; padding:0 12px; border:1px solid rgba(7,22,40,.14); border-radius:999px; flex:0 0 auto; background:#fff; color:#516176; font:750 9px/1 Arial,sans-serif; cursor:pointer; }
.material-icon-families button[aria-pressed="true"],.material-icon-categories button[aria-pressed="true"] { border-color:#168fe3; background:#168fe3; color:#fff; }
.material-icon-families button:hover,.material-icon-families button:focus-visible,.material-icon-categories button:hover,.material-icon-categories button:focus-visible { border-color:#168fe3; outline:2px solid rgba(22,143,227,.13); outline-offset:1px; }
.material-icon-results { min-height:0; padding:2px; display:grid; grid-template-columns:repeat(auto-fill,minmax(96px,1fr)); grid-auto-rows:94px; gap:7px; align-content:start; overflow-y:auto; overscroll-behavior:contain; }
.material-icon-results > button { min-width:0; padding:9px 6px; border:1px solid rgba(7,22,40,.11); display:grid; place-items:center; align-content:center; gap:9px; background:#fff; color:#243449; cursor:pointer; transition:border-color .16s,box-shadow .16s,transform .16s,color .16s; }
.material-icon-results > button:hover,.material-icon-results > button:focus-visible { z-index:1; border-color:#168fe3; color:#087dce; box-shadow:0 8px 22px rgba(22,143,227,.13); transform:translateY(-1px); outline:none; }
.material-icon-results .material-icon-result-glyph { font-size:32px; }
.material-icon-results small { width:100%; overflow:hidden; color:inherit; font:700 8px/1.2 Arial,sans-serif; text-align:center; text-overflow:ellipsis; white-space:nowrap; }
.material-icon-footer { padding-top:11px; border-top:1px solid rgba(7,22,40,.1); display:flex; align-items:center; justify-content:space-between; gap:16px; }
.material-icon-footer p,.material-icon-footer small { margin:0; color:#67768a; font:700 9px/1.3 Arial,sans-serif; }
.material-icon-footer small { text-align:right; }
.material-icon-loading,.material-icon-empty { grid-column:1/-1; min-height:190px; display:grid; place-items:center; place-content:center; gap:12px; color:#718094; text-align:center; }
.material-icon-loading i { width:34px; height:34px; border:2px solid rgba(22,143,227,.18); border-top-color:#168fe3; border-radius:50%; animation:material-icon-spin .75s linear infinite; }
.material-icon-loading span,.material-icon-empty span { font:500 12px/1.4 'EventSans',Arial,sans-serif; }
.material-icon-empty strong { color:#243449; font:750 18px/1.1 'EventSans',Arial,sans-serif; }
@keyframes material-icon-spin { to { transform:rotate(1turn); } }

@media (max-width:700px) {
  .material-icon-sheet { top:auto; bottom:0; left:0; width:100%; height:min(88svh,780px); padding:20px 14px max(14px,env(safe-area-inset-bottom)); transform:translateY(105%); }
  .material-icon-modal.is-open .material-icon-sheet { transform:none; }
  .material-icon-header { padding-right:48px; }
  .material-icon-upload { width:100%; min-width:0; }
  .material-icon-results { grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:84px; gap:5px; }
  .material-icon-results .material-icon-result-glyph { font-size:29px; }
  .material-icon-footer small { display:none; }
}

.module-actions .module-more svg circle { fill: currentColor; stroke: none; }
.module-action-menu { position: absolute; top: calc(100% + 7px); right: 0; z-index: 14; width: 154px; display: grid; gap: 2px; padding: 6px; border: 1px solid rgba(7,22,40,.13); border-radius: 7px; background: #fff; box-shadow: 0 16px 34px rgba(7,22,40,.2); touch-action: auto; }
.module-action-menu[hidden] { display: none; }
.module-action-menu::before { content: ''; position: absolute; top: -5px; right: 16px; width: 9px; height: 9px; border-top: 1px solid rgba(7,22,40,.13); border-left: 1px solid rgba(7,22,40,.13); background: #fff; transform: rotate(45deg); }
.module-action-menu button { position: relative; z-index: 1; width: 100%; min-height: 36px; padding: 9px 10px; border: 0; border-radius: 4px; background: transparent; color: var(--ink); font: 800 11px/1.1 var(--sans); text-align: left; cursor: pointer; }
.module-action-menu button:hover, .module-action-menu button:focus-visible { background: #edf5fb; outline: none; }
.module-action-menu .module-action-delete { color: #9a3d34; }
.module-action-menu .module-action-delete:hover, .module-action-menu .module-action-delete:focus-visible { background: #f7e9e7; color: #873229; }
.module-item.is-actions-open { position: relative; z-index: 12; background: #f7fbfe; box-shadow: inset 4px 0 0 rgba(36,152,237,.7); }
.module-item.is-renaming { border-color: rgba(36,152,237,.55); background: #f7fbfe; box-shadow: 0 14px 30px rgba(7,22,40,.12), inset 3px 0 0 var(--blue); cursor: default; }
.module-rename-popover { grid-column: 1 / -1; display: grid; gap: 10px; margin-top: 3px; padding: 14px; border: 1px solid rgba(7,22,40,.1); border-radius: 8px; background: #fff; box-shadow: 0 12px 28px rgba(7,22,40,.11); touch-action: auto; -webkit-user-select: text; user-select: text; }
.module-rename-popover[hidden] { display: none; }
.module-rename-field { display: grid; gap: 7px; }
.module-rename-field > span { color: #526579; font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.module-rename-field input { width: 100%; min-width: 0; height: 42px; padding: 0 12px; border: 1px solid rgba(7,22,40,.16); border-radius: 4px; background: #fff; color: var(--ink); font: 700 14px/1 var(--sans); outline: none; }
.module-rename-field input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(36,152,237,.14); }
.module-rename-field input[aria-invalid="true"] { border-color: #b54237; box-shadow: 0 0 0 3px rgba(181,66,55,.12); }
.module-rename-error { margin: -2px 0 0; color: #9a3d34; font-size: 11px; font-weight: 700; }
.module-rename-actions { display: grid; grid-template-columns: 1fr 1.2fr; gap: 8px; }
.module-rename-actions button { min-height: 38px; padding: 8px 12px; border: 1px solid rgba(7,22,40,.14); border-radius: 999px; background: #fff; color: var(--ink); font: 800 11px/1 var(--sans); cursor: pointer; }
.module-rename-actions button[type="submit"] { border-color: var(--blue); background: var(--blue); color: #fff; }
.module-rename-actions button:hover, .module-rename-actions button:focus-visible { border-color: var(--ink); outline: none; }
.module-rename-actions button[type="submit"]:hover, .module-rename-actions button[type="submit"]:focus-visible { border-color: #0874c4; background: #0874c4; }

.delete-modal { z-index: 155; }
.delete-sheet { position: absolute; top: 50%; left: 50%; width: min(500px, calc(100% - 32px)); padding: clamp(28px, 5vw, 48px); background: var(--paper); color: var(--ink); box-shadow: 0 32px 110px rgba(0,0,0,.32); opacity: 0; transform: translate(-50%, calc(-50% + 18px)); transition: opacity .3s, transform .4s var(--ease); }
.modal-shell.is-open .delete-sheet { opacity: 1; transform: translate(-50%, -50%); }
.delete-kicker { margin: 0 0 12px; color: #a84035; font-size: 9px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.delete-sheet h2 { max-width: 390px; margin: 0; font: 700 clamp(34px, 4.4vw, 48px)/.98 Arial, sans-serif; letter-spacing: -.04em; }
#deleteModuleCopy,#rsvpDataCopy { margin: 16px 0 25px; color: rgba(7,16,29,.64); font: 15px/1.55 Georgia, serif; }
.delete-modal-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.delete-modal-actions button { min-height: 44px; padding: 12px 15px; border: 1px solid rgba(7,16,29,.16); border-radius: 22px; background: transparent; color: var(--ink); font-size: 11px; font-weight: 700; cursor: pointer; }
.delete-modal-actions button:hover, .delete-modal-actions button:focus-visible { border-color: var(--ink); outline: 2px solid rgba(7,16,29,.14); outline-offset: 2px; }
.delete-modal-actions .delete-confirm { border-color: #a84035; background: #a84035; color: white; }
.delete-modal-actions .delete-confirm:hover, .delete-modal-actions .delete-confirm:focus-visible { border-color: #873229; background: #873229; }
.rsvp-data-note { margin:-12px 0 24px; color:rgba(7,16,29,.55); font:13px/1.45 Arial,sans-serif; }
.rsvp-data-actions { grid-template-columns:repeat(3,minmax(0,1fr)); }
.rsvp-data-actions #keepRsvpData { border-color:#168fe3; background:#168fe3; color:#fff; }
.rsvp-data-actions #keepRsvpData:hover,.rsvp-data-actions #keepRsvpData:focus-visible { border-color:#0874bc; background:#0874bc; }

@media (max-width: 560px) {
  .plan-sheet { width: calc(100% - 20px); max-height: calc(100svh - 20px); padding: 26px 18px 22px; }
  .plan-sheet .sheet-close { top: 14px; right: 14px; width: 36px; height: 36px; }
  .plan-sheet h2 { padding-right: 26px; font-size: 36px; }
  #planModalCopy { margin: 14px 0 18px; font-size: 13px; }
  .plan-comparison { grid-template-columns: 1fr; }
  .plan-choice { min-height: 0; padding: 13px; }
  .plan-choice strong { margin-top: 10px; font-size: 17px; }
  .delete-sheet { width: calc(100% - 20px); padding: 28px 20px 22px; }
  .delete-sheet h2 { font-size: 36px; }
  .rsvp-data-actions { grid-template-columns:1fr; }
}

/* Compact beta editor and official video modules */
.organizer-panel { width: min(360px, 100%); padding: 0 0 28px; background: #f2f5f8; }
.organizer-header { padding-bottom: 18px; }
.organizer-header span { font-size: 9px; }
.organizer-header h2 { margin-top: 6px; font: 700 29px/1.02 Arial, sans-serif; letter-spacing: -.03em; }
.organizer-header button { width: 48px; height: 48px; font-size: 24px; }
.organizer-copy { margin: 0 2px 18px; color: rgba(7,16,29,.7); font: 14px/1.45 Arial, sans-serif; }
.plan-meter { margin: 18px 0 20px; padding: 16px 16px 17px; border: 1px solid rgba(7,22,40,.08); border-left: 3px solid var(--blue); box-shadow: 0 7px 20px rgba(7,22,40,.075); }
.plan-meter-heading span { font-size: 9px; }
.plan-meter-heading strong { font-size: 18px; }
.plan-meter-heading small { font-size: 11px; }
.plan-meter-track { height: 4px; margin-top: 12px; }
.plan-meter p { margin: 11px 0 14px; font-size: 11px; }
.plan-meter button { min-height: 42px; padding: 12px 15px; border-radius: 22px; font-size: 11px; }
.publish-state { margin: 16px 0; padding: 11px 0; }
.brand-control { margin-bottom: 18px; padding: 0; border-color: rgba(7,22,40,.08); background: #fff; box-shadow: 0 6px 18px rgba(7,22,40,.065); }
.brand-control-heading { min-height: 66px; margin: 0; padding: 14px 16px; align-items: center; cursor: pointer; list-style: none; }
.brand-control-heading::-webkit-details-marker { display: none; }
.brand-control-heading span { font-size: 9px; }
.brand-control-heading strong { font-size: 15px; }
.brand-control-heading small { font-size: 10px; }
.brand-control-heading small { display: flex; align-items: center; gap: 9px; }
.brand-control-heading small span { color: var(--ink); font-size: 17px; letter-spacing: 0; transition: transform .2s; }
.brand-control[open] .brand-control-heading small span { transform: rotate(45deg); }
.brand-control-preview, .brand-control-actions, .brand-control-status { margin-left: 12px; margin-right: 12px; }
.brand-control-preview { margin-top: 0; }
.brand-control-status { margin-bottom: 12px; }
.module-list { gap: 0; }
.module-item { min-height: 70px; gap: 10px; padding: 10px 12px 10px 18px; box-shadow: none; transition: background .2s, box-shadow .2s, color .2s; }
.module-item:hover:not(.is-current) { transform: none; box-shadow: inset 4px 0 0 rgba(36,152,237,.5); }
.module-preview { grid-template-columns: 22px minmax(0,1fr); gap: 10px; }
.module-page-number { font-size: 10px; }
.module-name { gap: 4px; }
.module-name strong { font-size: 14px; }
.module-name small { font-size: 10px; }
.module-actions { gap: 6px; }
.module-actions > button { width: 42px; height: 42px; border-radius: 2px; background: #e8edf2; box-shadow: none; transition: background .15s, color .15s; }
.module-actions > button svg { width: 19px; height: 19px; stroke-width: 2.25; }
.module-actions > button:hover:not(:disabled), .module-actions > button:focus-visible { transform: none; }
.add-page-action { min-height: 82px; padding: 13px 11px; grid-template-columns: 36px minmax(0,1fr); gap: 10px; }
.add-page-action-icon { width: 36px; height: 36px; }
.add-page-action strong { font-size: 13px; }
.add-page-action small { font-size: 10px; }
.organizer-footnote { margin: 22px 18px 0; font-size: 11px; line-height: 1.45; }
.module-picker button { padding: 10px 8px; }
.module-editor { padding-top: 16px; }
.editor-heading { margin-top: 22px; padding-bottom: 14px; }
.editor-heading h3 { font: 700 25px/1.1 Arial, sans-serif; }
.editor-copy { margin: 14px 0 19px; font: 13px/1.45 Arial, sans-serif; }
#moduleEditorForm { gap: 14px; }
.editor-field { gap: 5px; }
.editor-field input, .editor-field textarea { padding: 9px 0; font: 15px/1.4 Arial, sans-serif; }
.editor-field textarea { min-height: 70px; }
.editor-done { margin-top: 20px; padding: 13px 15px; }
.editor-media-field input { padding: 10px; border: 1px solid rgba(7,16,29,.15); background: white; font-size: 11px; }

.video-module { background: #03080e; isolation: isolate; }
.video-module-media { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; object-fit: cover; }
.video-module-wash { position: absolute; inset: 0; z-index: -2; background: linear-gradient(0deg, rgba(2,8,15,.62), rgba(2,8,15,.12) 54%, rgba(2,8,15,.32)); pointer-events: none; }
.video-module-copy { display: grid; place-content: center; justify-items: center; text-align: center; }
.video-module-copy h2 { max-width: 1100px; font-size: clamp(68px, 10vw, 156px); line-height: .86; }
.video-module-copy > p:last-child { max-width: 590px; margin-top: 24px; color: rgba(255,255,255,.76); font: 18px/1.5 Georgia, serif; }
.video-module .eyebrow.is-empty, .video-gallery-module .eyebrow.is-empty, .countdown-module .eyebrow.is-empty, .people-module .eyebrow.is-empty { display: none; }
.video-gallery-module { background: #07111d; isolation: isolate; }
.video-gallery-backdrop { position: absolute; inset: 0; z-index: -3; overflow: hidden; }
.video-gallery-backdrop video { width: 100%; height: 100%; object-fit: cover; filter: blur(34px) brightness(.32) saturate(.8); transform: scale(1.12); }
.video-gallery-layout { display: grid; grid-template-columns: minmax(240px,.72fr) minmax(0,1.4fr); gap: clamp(30px,5vw,84px); align-items: center; }
.video-gallery-copy h2 { font-size: clamp(54px,6.5vw,106px); line-height: .9; }
.video-gallery-copy > p:last-child { max-width: 480px; margin-top: 22px; color: rgba(255,255,255,.7); font: 17px/1.5 Georgia, serif; }
.video-gallery-grid { height: min(70vh,720px); display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.video-gallery-grid video { width: 100%; height: 100%; min-height: 0; object-fit: cover; background: #02070c; }
.video-gallery-grid video:nth-child(1):nth-last-child(3) { grid-row: span 2; }
.video-gallery-grid video:only-child { grid-column: 1 / -1; grid-row: 1 / -1; }
.universal-overlay { position: absolute; z-index: 8; min-width: 130px; display: grid; gap: 4px; padding: 10px 12px; color: white; text-shadow: 0 1px 18px rgba(0,0,0,.6); }
.universal-overlay span { font-size: 8px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; opacity: .68; }
.universal-overlay strong { font: 16px/1.15 Georgia, serif; }
.universal-overlay[data-overlay-position="top-left"] { top: 104px; left: 34px; }
.universal-overlay[data-overlay-position="top-right"] { top: 104px; right: 34px; text-align: right; }
.universal-overlay[data-overlay-position="bottom-left"] { bottom: 26px; left: 26px; }
.universal-overlay[data-overlay-position="bottom-right"] { right: 26px; bottom: 26px; text-align: right; }
.universal-overlay-button { min-width: 0; padding: 11px 15px; border: 1px solid rgba(255,255,255,.65); background: rgba(4,12,22,.32); color: white; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; backdrop-filter: blur(12px); }
.universal-overlay-video-audio { min-width: 0; width: 238px; padding: 8px 10px; border-radius: 24px; background: rgba(7,16,29,.18); color: white; grid-template-columns: minmax(0,1fr) 74px; align-items: center; gap: 8px; text-align: left !important; text-shadow: none; -webkit-backdrop-filter: blur(18px) saturate(1.2); backdrop-filter: blur(18px) saturate(1.2); box-shadow: 0 10px 30px rgba(0,0,0,.2); }
.universal-overlay-video-audio button { min-width: 0; padding: 0; border: 0; background: transparent; color: inherit; display: flex; align-items: center; gap: 7px; cursor: pointer; text-align: left; }
.universal-overlay-video-audio button > span { width: 28px; height: 28px; flex: 0 0 28px; border-radius: 50%; background: rgba(255,255,255,.94); color: #071628; display: grid; place-items: center; font-size: 12px; letter-spacing: 0; opacity: 1; text-transform: none; }
.universal-overlay-video-audio button strong { overflow: hidden; font: 800 8px/1.15 Arial,sans-serif; letter-spacing: .06em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.universal-overlay-video-audio label { min-width: 0; display: flex; align-items: center; }
.universal-overlay-video-audio input[type="range"] { width: 100%; margin: 0; accent-color: #5bddff; }
.universal-overlay-audio { min-width: 0; width: auto; padding: 0; display: block; overflow: visible; color: #fff; text-align: left !important; text-shadow: none; }
.audio-corner-shell { width: 42px; height: 42px; display: grid; place-items: center; background: transparent; }
.audio-play-toggle { position: relative; width: 42px; height: 42px; padding: 0; border: 0; border-radius: 0; display: grid; place-items: center; background: transparent; color: inherit; box-shadow: none; cursor: pointer; transition: transform .2s ease, opacity .2s ease; }
.audio-play-toggle:hover:not(:disabled) { transform: scale(1.08); opacity: .84; }
.audio-play-toggle:focus-visible:not(:disabled) { outline: 1px solid currentColor; outline-offset: 2px; }
.audio-play-toggle:disabled { opacity: .42; cursor: default; }
.audio-play-toggle svg { position: absolute; width: 21px; height: 21px; fill: currentColor; stroke: currentColor; stroke-width: 1; transition: opacity .16s ease, transform .2s ease; }
.audio-play-icon { transform: translateX(1px) scale(1); }
.universal-overlay-audio .audio-playing-bars { width: 22px; height: 20px; display: flex; align-items: center; justify-content: center; gap: 2px; visibility: hidden; opacity: 0; transform: scale(.72); transition: opacity .16s ease, transform .2s ease, visibility 0s linear .2s; }
.audio-playing-bars i { width: 2px; height: 6px; border-radius: 999px; background: currentColor; transform-origin: center; animation: audio-corner-bars .72s ease-in-out infinite alternate; animation-play-state: paused; }
.audio-playing-bars i:nth-child(2) { height: 12px; animation-delay: -.38s; }
.audio-playing-bars i:nth-child(3) { height: 19px; animation-delay: -.16s; }
.audio-playing-bars i:nth-child(4) { height: 10px; animation-delay: -.5s; }
.audio-playing-bars i:nth-child(5) { height: 15px; animation-delay: -.27s; }
.audio-corner-shell audio { display: none; }
.universal-overlay-audio.is-playing .audio-play-icon { opacity: 0; transform: translateX(2px) scale(.7); }
.universal-overlay-audio.is-playing .audio-playing-bars { visibility: visible; opacity: 1; transform: scale(1); transition-delay: 0s; }
.universal-overlay-audio.is-playing .audio-playing-bars i { animation-play-state: running; }
@keyframes audio-corner-bars { from { transform: scaleY(.38); } to { transform: scaleY(1); } }
.audio-tool-editor .tools-upload { margin-bottom: 8px; }
.audio-source-mode-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin: 0 0 10px; }
.audio-source-mode-switch button { min-height: 58px; padding: 8px 6px; border: 1px solid rgba(7,22,40,.15); display: grid; place-items: center; gap: 4px; background: #fff; color: #415061; font: 800 9px/1.1 Arial,sans-serif; cursor: pointer; }
.audio-source-mode-switch button[aria-pressed="true"] { border-color: #1497ed; background: #eaf6ff; color: #087dce; box-shadow: inset 0 0 0 1px #1497ed; }
.audio-source-mode-switch svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.audio-source-panel[hidden] { display: none; }
.stock-audio-picker { margin: 0 0 14px; padding: 11px; border: 1px solid rgba(7,22,40,.13); background: #f7f9fb; }
.stock-audio-picker label { display: grid; gap: 6px; }
.stock-audio-picker label > span { color: #087dce; font: 800 8px/1.2 Arial,sans-serif; letter-spacing: .11em; text-transform: uppercase; }
.stock-audio-picker select { width: 100%; min-height: 38px; padding: 0 30px 0 9px; border: 1px solid rgba(7,22,40,.16); background: #fff; color: #102033; font: 700 10px/1.2 Arial,sans-serif; }
.stock-audio-picker small { display: block; margin-top: 6px; color: #667585; font: 500 9px/1.4 Arial,sans-serif; }
.audio-tool-remove { width: 100%; min-height: 34px; margin: 0 0 12px; border: 1px solid rgba(166,63,54,.24); background: #fff; color: #9b3e37; font: 700 9px/1 Arial,sans-serif; cursor: pointer; }
.audio-tool-selects { margin-top: 12px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.audio-tool-selects label, .audio-tool-volume-editor > span { color: #4d5b6a; font: 800 8px/1.3 Arial,sans-serif; letter-spacing: .09em; text-transform: uppercase; }
.audio-tool-selects select { width: 100%; height: 36px; margin-top: 6px; padding: 0 8px; border: 1px solid rgba(7,22,40,.16); background: #fff; color: #102033; font: 600 10px/1 Arial,sans-serif; }
.audio-tool-volume-editor { margin-top: 15px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 6px 10px; }
.audio-tool-volume-editor output { color: #087dce; font: 800 9px/1 Arial,sans-serif; }
.audio-tool-volume-editor input { grid-column: 1 / -1; width: 100%; accent-color: #1497ed; }
.audio-tool-checks { margin-top: 13px; display: grid; gap: 7px; }
.audio-tool-checks label { min-height: 38px; padding: 9px 10px; border: 1px solid rgba(7,22,40,.12); display: flex; align-items: center; gap: 9px; background: #fff; color: #172536; font: 600 10px/1.35 Arial,sans-serif; }
.audio-tool-checks input { width: 16px; height: 16px; accent-color: #1497ed; }
.audio-tool-note { margin: 12px 0 0; color: #667585; font: italic 11px/1.45 Georgia,serif; }
.audio-tool-quota { margin-top: 15px; padding-top: 14px; border-top: 1px solid rgba(7,22,40,.1); }
.cover-editor-canvas > .universal-overlay-audio { transition: none; }
.cover-editor-canvas > .universal-overlay-audio[data-overlay-position$="right"] { right: 26px; }
.cover-editor-canvas > .universal-overlay-audio[data-overlay-position$="right"] { right: 380px; }
.cover-editor-canvas > .universal-overlay-audio[data-overlay-position$="left"] { left: 26px; }
.cover-editor-canvas > .universal-overlay-audio[data-overlay-position^="top"] { top: 104px; }
.cover-editor-canvas > .universal-overlay-audio[data-overlay-position^="bottom"] { bottom: 26px; }
.photo-module:has(> .universal-overlay[data-overlay-position="top-left"]) .photo-caption[data-photo-caption-position="top-left"] { top: 176px; }
.photo-module:has(> .universal-overlay[data-overlay-position="top-right"]) .photo-caption[data-photo-caption-position="top-right"] { top: 176px; }
.photo-module:has(> .universal-overlay[data-overlay-position="bottom-left"]) .photo-caption[data-photo-caption-position="bottom-left"] { bottom: 112px; }
.photo-module:has(> .universal-overlay[data-overlay-position="bottom-right"]) .photo-caption[data-photo-caption-position="bottom-right"] { bottom: 112px; }
.overlay-editor-tools { margin-top: 4px; padding: 0; border-top: 1px solid rgba(7,16,29,.14); border-bottom: 1px solid rgba(7,16,29,.14); }
.overlay-editor-tools > summary { display: flex; justify-content: space-between; padding: 13px 0; color: var(--ink); font-size: 11px; font-weight: 700; cursor: pointer; list-style: none; }
.overlay-editor-tools > summary::-webkit-details-marker { display: none; }
.overlay-editor-tools > summary span { font-size: 16px; font-weight: 400; }
.overlay-editor-tools[open] > summary span { transform: rotate(45deg); }
.overlay-editor-grid { display: grid; gap: 12px; padding: 2px 0 15px; }
.overlay-toggle { display: flex; align-items: center; gap: 9px; font-size: 12px; }
.overlay-corner-field { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 10px; color: rgba(7,16,29,.56); font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.overlay-corner-field select { padding: 7px 8px; border: 1px solid rgba(7,16,29,.16); background: white; color: var(--ink); font-size: 11px; }

@media (max-width: 760px) {
  .video-module-copy h2 { font-size: clamp(58px,17vw,102px); }
  .video-module-copy > p:last-child { padding: 0 20px; font-size: 15px; }
  .video-gallery-layout { grid-template-columns: 1fr; align-content: center; gap: 24px; padding-top: 92px; padding-bottom: 88px; }
  .video-gallery-copy h2 { font-size: clamp(48px,14vw,76px); }
  .video-gallery-copy > p:last-child { font-size: 14px; }
  .video-gallery-grid { height: 44vh; min-height: 300px; }
  .universal-overlay { min-width: 110px; padding: 8px; }
  .universal-overlay[data-overlay-position="top-left"] { top: 76px; left: 16px; }
  .universal-overlay[data-overlay-position="top-right"] { top: 76px; right: 16px; }
  .universal-overlay[data-overlay-position="bottom-left"] { bottom: 16px; left: 12px; }
  .universal-overlay[data-overlay-position="bottom-right"] { right: 12px; bottom: 16px; }
  .universal-overlay-audio { min-width: 0; padding: 0; }
  .universal-overlay-video-audio { width: min(220px,calc(100vw - 24px)); }
  .universal-overlay-audio.is-playing .audio-corner-shell { width: 42px; }
  .audio-corner-transport, .audio-wave-seek { width: 86px; }
  .audio-corner-title { display: none; }
  .audio-volume-control { width: 44px; flex-basis: 44px; }
  .audio-volume-control svg { width: 14px; height: 14px; flex-basis: 14px; }
  .audio-volume-control input { width: 26px; }
  .cover-editor-canvas > .universal-overlay-audio[data-overlay-position$="right"] { right: 12px; }
  .cover-editor-page.is-open .cover-editor-canvas > .universal-overlay-audio[data-overlay-position$="right"] { right: 12px; }
  .cover-editor-canvas > .universal-overlay-audio[data-overlay-position$="left"] { left: 12px; }
  .chapter:has(> .universal-overlay-audio.is-playing[data-overlay-position^="bottom"]) > .universal-overlay:not(.universal-overlay-audio)[data-overlay-position^="bottom"] { bottom: 86px; }
  .chapter:has(> .universal-overlay-audio.is-playing[data-overlay-position^="top"]) > .universal-overlay:not(.universal-overlay-audio)[data-overlay-position^="top"] { top: 148px; }
  .photo-module:has(> .universal-overlay-audio.is-playing[data-overlay-position^="bottom"]) .photo-caption[data-photo-caption-position^="bottom"] { bottom: 184px; }
  .photo-module:has(> .universal-overlay-audio.is-playing[data-overlay-position^="top"]) .photo-caption[data-photo-caption-position^="top"] { top: 220px; }
}

/* QR corner tool and physical-page export studio. */
.universal-overlay-qr { min-width: 0; width: 112px; padding: 7px; border: 1px solid rgba(255,255,255,.76); border-radius: 13px; gap: 5px; background: rgba(255,255,255,.96); color: var(--ink); text-align: left !important; text-decoration: none; text-shadow: none; box-shadow: 0 14px 38px rgba(1,7,14,.28), inset 0 1px 0 white; backdrop-filter: blur(16px); transition: transform .2s ease, box-shadow .2s ease; }
.universal-overlay-qr:hover, .universal-overlay-qr:focus-visible { transform: translateY(-2px); outline: 2px solid white; outline-offset: 3px; box-shadow: 0 18px 46px rgba(1,7,14,.36), 0 0 0 2px var(--blue); }
.qr-code-svg { display: block; width: 100%; aspect-ratio: 1; overflow: visible; }
.qr-code-svg .qr-code-paper, .qr-code-svg .qr-logo-quiet { fill: #fff; }
.qr-code-svg > rect:not(.qr-code-paper):not(.qr-logo-quiet), .qr-code-svg > circle { fill: #061628; }
.qr-code-svg image { clip-path: inset(0 round 1.4px); }
.qr-visible-link { display: block; max-width: 100%; padding: 0 3px 2px; overflow: hidden; color: #203246; font: 700 7px/1.25 Arial,sans-serif !important; letter-spacing: .025em !important; opacity: .72 !important; text-overflow: ellipsis; text-transform: none !important; white-space: nowrap; }
.qr-code-empty { position: relative; width: 98px; aspect-ratio: 1; border: 1px dashed rgba(7,22,40,.35); display: grid; place-items: center; background: repeating-linear-gradient(45deg,#fff 0 8px,#eef3f7 8px 9px); }
.qr-code-empty i { position: absolute; width: 18px; height: 18px; border: 4px solid #071628; }
.qr-code-empty i:nth-child(1) { top: 10px; left: 10px; }
.qr-code-empty i:nth-child(2) { top: 10px; right: 10px; }
.qr-code-empty i:nth-child(3) { bottom: 10px; left: 10px; }
.qr-code-empty i:nth-child(4) { right: 19px; bottom: 19px; width: 8px; height: 8px; border-width: 3px; }
.qr-code-empty b { color: #0874c4; font: 800 10px/1 Arial,sans-serif; letter-spacing: .16em; }
.qr-tool-editor .structured-field { margin-bottom: 12px; }
.qr-tool-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; align-items: end; }
.qr-tool-row > label { display: grid; gap: 6px; color: #4d5b6a; font: 800 8px/1.3 Arial,sans-serif; letter-spacing: .09em; text-transform: uppercase; }
.qr-tool-row select { width: 100%; height: 38px; padding: 0 8px; border: 1px solid rgba(7,22,40,.16); background: #fff; color: #102033; font: 600 10px/1 Arial,sans-serif; }
.qr-tool-row .qr-show-link { min-height: 38px; padding: 8px 9px; border: 1px solid rgba(7,22,40,.12); grid-template-columns: auto 1fr; align-items: center; gap: 7px; background: #fff; color: #172536; font-size: 9px; letter-spacing: 0; text-transform: none; }
.qr-show-link input { width: 15px; height: 15px; margin: 0; accent-color: var(--blue); }
.qr-tool-remove { width: 100%; min-height: 34px; margin: 0 0 9px; border: 1px solid rgba(166,63,54,.24); background: #fff; color: #9b3e37; font: 700 9px/1 Arial,sans-serif; cursor: pointer; }
.qr-tool-status { margin: 10px 0 0; padding-left: 14px; position: relative; color: #9a5634; font: 700 9px/1.4 Arial,sans-serif; }
.qr-tool-status::before { content: ''; position: absolute; left: 0; top: 4px; width: 7px; height: 7px; border-radius: 50%; background: #d18b46; }
.qr-tool-status.is-ready { color: #27704c; }
.qr-tool-status.is-ready::before { background: #35a36c; box-shadow: 0 0 0 3px rgba(53,163,108,.13); }
.qr-tool-note { margin: 9px 0 0; color: #667585; font: italic 11px/1.45 Georgia,serif; }
.cover-editor-canvas > .universal-overlay-qr { transition: none; }
.cover-editor-canvas > .universal-overlay-qr[data-overlay-position$="right"] { right: 26px; }
.cover-editor-canvas > .universal-overlay-qr[data-overlay-position$="right"] { right: 380px; }
.cover-editor-canvas > .universal-overlay-qr[data-overlay-position$="left"] { left: 26px; }
.cover-editor-canvas > .universal-overlay-qr[data-overlay-position^="top"] { top: 104px; }
.cover-editor-canvas > .universal-overlay-qr[data-overlay-position^="bottom"] { bottom: 26px; }

.editor-print-dock { display: none; padding: 0; cursor: pointer; }
.editor-dynamic-text-dock { display:none; padding:0; cursor:pointer; font:800 12px/1 'EventSans',Arial,sans-serif; letter-spacing:-.06em; }
.has-open-edit-panel .header-actions > .editor-print-dock,
.has-open-visual-editor .header-actions > .editor-print-dock,
.has-open-edit-panel .header-actions > .editor-dynamic-text-dock,
.has-open-visual-editor .header-actions > .editor-dynamic-text-dock { display: grid; }
.is-print-studio-open .editor-print-dock { opacity: 0; pointer-events: none; }
.editor-print-dock svg { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; }

.dynamic-text-reference-modal { z-index:1000; }
.dynamic-text-reference-sheet { position:absolute; top:50%; left:50%; width:min(920px,calc(100% - 32px)); height:min(820px,calc(100svh - 32px)); padding:24px; display:grid; grid-template-rows:auto auto auto minmax(0,1fr) auto; gap:12px; overflow:hidden; background:#f5f8fa; color:#071628; box-shadow:0 34px 120px rgba(0,0,0,.38); opacity:0; transform:translate(-50%,calc(-50% + 18px)); transition:opacity .24s ease,transform .38s var(--ease); }
.dynamic-text-reference-modal.is-open .dynamic-text-reference-sheet { opacity:1; transform:translate(-50%,-50%); }
.dynamic-text-reference-header { position:relative; padding-right:56px; display:flex; align-items:flex-start; justify-content:space-between; }
.dynamic-text-reference-header p { margin:0 0 7px; color:#168fe3; font:800 9px/1 Arial,sans-serif; letter-spacing:.16em; }
.dynamic-text-reference-header h2 { margin:0; font:750 clamp(30px,4vw,44px)/.98 'EventSans',Arial,sans-serif; letter-spacing:-.045em; }
.dynamic-text-reference-header small { max-width:650px; margin-top:9px; display:block; color:#67768a; font:500 12px/1.45 'EventSans',Arial,sans-serif; }
.dynamic-text-reference-sheet .sheet-close { top:0; right:0; border-color:#168fe3; background:#168fe3; color:#fff; }
.dynamic-text-target-status { min-height:42px; padding:9px 12px; border-left:3px solid #168fe3; display:grid; align-content:center; background:#e8f4fc; color:#30445b; font:650 11px/1.35 'EventSans',Arial,sans-serif; }
.dynamic-text-target-status.is-ready { border-left-color:#18825f; background:#e5f5ee; color:#145e47; }
.dynamic-text-reference-search { min-height:48px; padding:0 14px; border:1px solid rgba(7,22,40,.16); display:flex; align-items:center; gap:10px; background:#fff; }
.dynamic-text-reference-search:focus-within { border-color:#168fe3; box-shadow:0 0 0 3px rgba(22,143,227,.13); }
.dynamic-text-reference-search svg { width:19px; flex:0 0 19px; fill:none; stroke:#607084; stroke-width:1.8; }
.dynamic-text-reference-search input { width:100%; min-width:0; border:0; outline:0; background:transparent; color:#071628; font:500 15px/1.2 'EventSans',Arial,sans-serif; }
.dynamic-text-reference-groups { min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; scrollbar-width:thin; scrollbar-color:rgba(22,143,227,.58) #edf2f6; background:#f5f8fa; }
.dynamic-text-reference-groups::-webkit-scrollbar { width:9px; }
.dynamic-text-reference-groups::-webkit-scrollbar-track { background:#edf2f6; }
.dynamic-text-reference-groups::-webkit-scrollbar-thumb { border:2px solid #edf2f6; border-radius:999px; background:rgba(22,143,227,.58); }
.dynamic-text-reference-group + .dynamic-text-reference-group { border-top:10px solid #f5f8fa; }
.dynamic-text-reference-group { background:#fff; }
.dynamic-text-reference-group > summary { min-height:48px; padding:0 14px; display:flex; align-items:center; gap:10px; color:#607084; cursor:pointer; list-style:none; user-select:none; }
.dynamic-text-reference-group > summary::-webkit-details-marker { display:none; }
.dynamic-text-reference-group > summary:focus-visible { outline:3px solid rgba(22,143,227,.2); outline-offset:-3px; }
.dynamic-text-reference-group > summary strong { color:#4f6075; font:800 9px/1 Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.dynamic-text-reference-group > summary small { margin-left:auto; color:#8a96a5; font:700 9px/1 'EventSans',Arial,sans-serif; }
.dynamic-text-group-chevron { width:8px; height:8px; margin:-4px 3px 0 4px; border-right:2px solid #607084; border-bottom:2px solid #607084; transform:rotate(45deg); transition:transform .18s ease,margin .18s ease; }
.dynamic-text-reference-group[open] > summary .dynamic-text-group-chevron { margin:4px 3px 0 4px; transform:rotate(225deg); }
.dynamic-text-reference-group-body { border-top:1px solid rgba(7,22,40,.1); }
.dynamic-text-icons-toolbar { min-height:48px; padding:8px 14px; display:flex; align-items:center; justify-content:space-between; gap:12px; background:#f8fbfd; }
.dynamic-text-icons-toolbar > span { color:#69788b; font:600 10px/1.35 'EventSans',Arial,sans-serif; }
.dynamic-text-browse-icons { min-height:30px; padding:0 11px; border:1px solid #168fe3; border-radius:15px; flex:0 0 auto; background:#168fe3; color:#fff; cursor:pointer; font:750 9px/1 Arial,sans-serif; }
.dynamic-text-command-section > p { min-height:30px; margin:0; padding:0 14px; display:flex; align-items:center; background:#eef3f7; color:#69788b; font:800 8px/1 Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.dynamic-text-icon-search-state { min-height:52px; padding:12px 14px; display:grid; place-content:center; color:#68778a; font:650 10px/1.35 'EventSans',Arial,sans-serif; text-align:center; }
.dynamic-text-icon-search-state.is-error { color:#a53c3c; }
.dynamic-text-reference-row { min-height:68px; padding:10px 14px; border-bottom:1px solid rgba(7,22,40,.08); display:grid; grid-template-columns:minmax(170px,1fr) minmax(190px,.9fr) auto; align-items:center; gap:14px; }
.dynamic-text-reference-row:last-child { border-bottom:0; }
.dynamic-text-command-copy { min-width:0; display:grid; gap:4px; }
.dynamic-text-command-copy.has-icon { grid-template-columns:36px minmax(0,1fr); align-items:center; column-gap:10px; }
.dynamic-text-command-copy > span { min-width:0; display:grid; gap:4px; }
.dynamic-text-command-copy strong { color:#17283c; font:750 12px/1.2 'EventSans',Arial,sans-serif; }
.dynamic-text-command-copy small { color:#768497; font:500 10px/1.3 'EventSans',Arial,sans-serif; }
.dynamic-text-icon-preview { width:36px; height:36px; border-radius:10px; display:grid; place-items:center; background:#e8f4fc; color:#147fc5; font-size:22px; font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24; }
.dynamic-text-reference-row code { min-width:0; padding:8px 10px; overflow:hidden; background:#eef3f7; color:#24516e; font:700 10px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace; text-overflow:ellipsis; white-space:nowrap; }
.dynamic-text-command-actions { display:flex; align-items:center; gap:6px; }
.dynamic-text-command-actions button { min-height:34px; padding:0 12px; border:1px solid rgba(7,22,40,.16); background:#fff; color:#203349; cursor:pointer; font:750 9px/1 'EventSans',Arial,sans-serif; }
.dynamic-text-command-actions button[data-dynamic-text-insert] { border-color:#168fe3; background:#168fe3; color:#fff; }
.dynamic-text-command-actions button:disabled { border-color:rgba(7,22,40,.09); background:#f0f3f5; color:#a1aab3; cursor:not-allowed; }
.dynamic-text-command-actions button:not(:disabled):hover,.dynamic-text-command-actions button:not(:disabled):focus-visible,.dynamic-text-browse-icons:hover,.dynamic-text-browse-icons:focus-visible { outline:2px solid rgba(22,143,227,.2); outline-offset:2px; }
.dynamic-text-reference-empty { min-height:180px; padding:30px; display:grid; place-content:center; gap:7px; color:#718094; text-align:center; }
.dynamic-text-reference-empty strong { color:#243449; font:750 18px/1.1 'EventSans',Arial,sans-serif; }
.dynamic-text-reference-empty span { font:500 12px/1.4 'EventSans',Arial,sans-serif; }
.dynamic-text-reference-footer { min-height:34px; padding-top:10px; border-top:1px solid rgba(7,22,40,.1); display:flex; align-items:center; justify-content:space-between; gap:16px; }
.dynamic-text-reference-footer p,.dynamic-text-reference-footer small { margin:0; color:#67768a; font:700 9px/1.35 Arial,sans-serif; }
.dynamic-text-reference-footer small { text-align:right; }

@media (max-width:700px) {
  .dynamic-text-reference-sheet { top:auto; bottom:0; left:0; width:100%; height:min(91svh,820px); padding:20px 12px max(12px,env(safe-area-inset-bottom)); transform:translateY(105%); }
  .dynamic-text-reference-modal.is-open .dynamic-text-reference-sheet { transform:none; }
  .dynamic-text-reference-header { padding-right:48px; }
  .dynamic-text-reference-header small { font-size:11px; }
  .dynamic-text-reference-group > summary { min-height:46px; padding:0 12px; }
  .dynamic-text-icons-toolbar { padding-inline:12px; }
  .dynamic-text-reference-row { grid-template-columns:minmax(0,1fr) auto; gap:8px 10px; }
  .dynamic-text-reference-row code { grid-column:1/-1; grid-row:2; }
  .dynamic-text-command-actions { grid-column:2; grid-row:1; }
  .dynamic-text-command-actions button { min-width:58px; padding:0 9px; }
  .dynamic-text-icon-preview { width:32px; height:32px; border-radius:9px; font-size:20px; }
  .dynamic-text-command-copy.has-icon { grid-template-columns:32px minmax(0,1fr); gap:8px; }
  .dynamic-text-reference-footer small { display:none; }
}

.print-export-modal { position: fixed; z-index: 1000; inset: 0; visibility: hidden; opacity: 0; background: #07101b; isolation: isolate; transition: opacity .22s ease, visibility .22s; }
.print-export-modal[hidden] { display: none; }
.print-export-modal.is-open { visibility: visible; opacity: 1; }
.print-export-backdrop { position: absolute; inset: 0; width: 100%; border: 0; background: rgba(1,7,14,.78); backdrop-filter: blur(16px); }
.print-export-studio { position: absolute; z-index: 1; inset: 24px; max-width: 1380px; margin: auto; border: 1px solid rgba(255,255,255,.16); display: grid; grid-template-rows: auto minmax(0,1fr) auto; background: #eef1f4; color: var(--ink); box-shadow: 0 36px 100px rgba(0,0,0,.48); transform: translateY(16px) scale(.985); transition: transform .3s var(--ease); overflow: hidden; }
.print-export-modal.is-open .print-export-studio { transform: none; }
.print-export-studio > header { min-height: 78px; padding: 15px 22px 14px 25px; display: flex; align-items: center; justify-content: space-between; gap: 20px; background: #071628; color: white; }
.print-export-studio > header p { margin: 0 0 5px; color: #73ccff; font: 800 8px/1 Arial,sans-serif; letter-spacing: .2em; }
.print-export-studio > header h2 { margin: 0; font: 30px/.95 Georgia,serif; letter-spacing: -.035em; }
.print-export-studio > header button { width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; background: transparent; color: white; cursor: pointer; font-size: 25px; }
.print-export-workspace { min-height: 0; display: grid; grid-template-columns: 280px minmax(0,1fr); }
.print-export-controls { min-height: 0; padding: 23px; border-right: 1px solid rgba(7,22,40,.12); display: grid; align-content: start; gap: 19px; background: #f8f9fa; overflow-y: auto; }
.print-export-controls > label:not(.print-export-switch), .print-export-qr-control { display: grid; gap: 7px; }
.print-export-controls > label > span, .print-export-qr-control > span, .print-export-size > span { color: #536273; font: 800 8px/1 Arial,sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.print-export-controls select { width: 100%; height: 43px; padding: 0 10px; border: 1px solid rgba(7,22,40,.16); border-radius: 0; background: white; color: var(--ink); font: 700 11px/1 Arial,sans-serif; }
.print-export-switch { min-height: 64px; padding: 12px; border: 1px solid rgba(7,22,40,.11); display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: start; background: white; }
.print-export-switch input { width: 17px; height: 17px; margin: 1px 0 0; accent-color: var(--blue); }
.print-export-switch span { display: grid; gap: 4px; }
.print-export-switch strong { font: 700 10px/1.2 Arial,sans-serif; }
.print-export-switch small, .print-export-video-control small, .print-export-qr-control small, .print-export-size small { color: #687687; font: 11px/1.4 Georgia,serif; }
.print-export-video-control { position: relative; min-width: 0; padding: 13px 12px 12px; border: 1px solid rgba(7,22,40,.12); display: grid; gap: 10px; background: linear-gradient(145deg,#eef8ff 0%,#fff 62%); box-shadow: inset 3px 0 0 #168fe3; overflow: hidden; }
.print-export-video-control[hidden] { display: none; }
.print-export-video-heading { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.print-export-video-heading strong { color: #172536; font: 800 9px/1.2 Arial,sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.print-export-video-heading output { flex: none; color: #0874c4; font: 800 9px/1 Arial,sans-serif; font-variant-numeric: tabular-nums; }
.print-export-video-transport { min-width: 0; display: grid; grid-template-columns: 34px minmax(0,1fr); align-items: center; gap: 10px; }
.print-export-video-transport button { position: relative; width: 34px; height: 34px; border: 0; border-radius: 50%; display: grid; place-items: center; background: #168fe3; color: #fff; box-shadow: 0 5px 14px rgba(22,143,227,.26); cursor: pointer; }
.print-export-video-transport button:hover, .print-export-video-transport button:focus-visible { background: #0874c4; outline: 2px solid rgba(22,143,227,.26); outline-offset: 2px; }
.print-export-video-transport button span { width: 0; height: 0; margin-left: 2px; border-top: 5px solid transparent; border-bottom: 5px solid transparent; border-left: 8px solid currentColor; }
.print-export-video-control.is-playing .print-export-video-transport button span { width: 9px; height: 11px; margin: 0; border: 0; border-left: 3px solid currentColor; border-right: 3px solid currentColor; }
.print-export-video-transport input { width: 100%; min-width: 0; margin: 0; accent-color: #168fe3; cursor: pointer; }
.print-export-video-source { position: absolute; left: -2px; bottom: -2px; width: 1px; height: 1px; opacity: .001; pointer-events: none; }
.print-export-qr-control[hidden] { display: none; }
.print-export-qr-control > span { display: flex; align-items: center; justify-content: space-between; }
.print-export-qr-control output { color: #0874c4; font: 800 9px/1 Arial,sans-serif; letter-spacing: 0; }
.print-export-qr-control input { width: 100%; accent-color: var(--blue); }
.print-export-size { padding-top: 16px; border-top: 1px solid rgba(7,22,40,.1); display: grid; gap: 6px; }
.print-export-size strong { font: 700 11px/1.35 Arial,sans-serif; }
.print-export-preview { min-width: 0; min-height: 0; padding: 28px; display: grid; place-items: center; background: #d9dee3; overflow: auto; }
.print-export-sheet { --print-qr-scale: 1; position: relative; width: min(100%, 900px); max-height: 100%; background: white; box-shadow: 0 18px 58px rgba(7,22,40,.28); overflow: hidden; isolation: isolate; }
.print-export-sheet[data-orientation="portrait"] { width: min(72%, 620px); }
.print-export-sheet .print-source-page { position: relative !important; inset: auto !important; width: 100% !important; height: 100% !important; min-height: 0 !important; max-height: none !important; padding-right: clamp(22px,5vw,76px) !important; overflow: hidden !important; transform: none !important; opacity: 1 !important; }
.print-export-sheet .print-source-page > .chapter-inner, .print-export-sheet .print-source-page .chapter-inner { width: 100%; height: 100%; min-height: 0 !important; }
.print-export-sheet .cover-editor-canvas.print-source-page, .print-export-sheet .gallery-editor-canvas.print-source-page, .print-export-sheet .announcement-editor-canvas.print-source-page { padding: clamp(22px,5vw,76px) !important; }
.print-export-sheet .cover-editor-preview { max-width: 82%; }
.print-export-sheet .cover-editor-widget[data-cover-position$="right"] { right: 3.5% !important; }
.print-export-sheet .cover-editor-widget[data-cover-position$="left"] { left: 3.5% !important; }
.print-export-sheet .cover-editor-widget[data-cover-position^="top"] { top: 7% !important; }
.print-export-sheet .cover-editor-widget[data-cover-position^="bottom"] { bottom: 4% !important; }
.print-export-sheet .announcement-editor-hint, .print-export-sheet .announcement-editor-demo, .print-export-sheet .audio-particle-field, .print-export-sheet .universal-overlay-audio, .print-export-sheet .universal-overlay-video-audio, .print-export-sheet video[controls] { display: none !important; }
.print-export-sheet .print-export-video-frame { position: absolute; max-width: none; max-height: none; pointer-events: none; }
.print-export-sheet .universal-overlay-qr { width: clamp(94px,14%,150px); max-width: 46%; transform: scale(var(--print-qr-fitted-scale,var(--print-qr-scale))); box-shadow: 0 8px 24px rgba(1,7,14,.18); }
.print-export-sheet .universal-overlay-qr:hover { transform: scale(var(--print-qr-fitted-scale,var(--print-qr-scale))); }
.print-export-sheet .universal-overlay-qr[data-overlay-position="top-left"] { transform-origin: top left; }
.print-export-sheet .universal-overlay-qr[data-overlay-position="top-right"] { transform-origin: top right; }
.print-export-sheet .universal-overlay-qr[data-overlay-position="bottom-left"] { transform-origin: bottom left; }
.print-export-sheet .universal-overlay-qr[data-overlay-position="bottom-right"] { transform-origin: bottom right; }
.print-export-sheet .universal-overlay-qr[data-overlay-position^="top"] { top: 4% !important; }
.print-export-sheet .universal-overlay-qr[data-overlay-position^="bottom"] { bottom: 4% !important; }
.print-export-sheet .universal-overlay-qr[data-overlay-position$="left"] { left: 3.5% !important; }
.print-export-sheet .universal-overlay-qr[data-overlay-position$="right"] { right: 3.5% !important; }
.print-export-sheet:not(.is-paper-white) .print-source-page.print-source-light-ink { color: #fff !important; }
.print-export-sheet:not(.is-paper-white) .print-source-page.print-source-dark-ink { color: var(--ink) !important; }
.print-export-sheet.is-paper-white .print-source-page { background: #fff !important; color: var(--ink) !important; }
.print-export-sheet.is-paper-white .print-source-page *, .print-export-sheet.is-paper-white .print-source-page [data-edit] { color: var(--ink) !important; text-shadow: none !important; }
.print-export-sheet.is-paper-white :is(.announcement-background,.announcement-editor-background,.cover-official-background,.cover-editor-background,.paragraph-blur-background,.countdown-background,.people-background,.accessibility-background,.gallery-module-background,.gallery-editor-background,.video-module-media,.video-gallery-backdrop,.photo-module-image) { display: none !important; }
.print-export-sheet.is-paper-white :is(.announcement-wash,.announcement-editor-wash,.cover-official-wash,.cover-editor-wash,.photo-module-wash,.video-module-wash,.countdown-wash,.people-wash,.accessibility-wash,.gallery-module-wash,.gallery-editor-wash) { display: none !important; }
.print-export-sheet.is-paper-white .universal-overlay-button, .print-export-sheet.is-paper-white .cover-editor-button { border-color: rgba(7,22,40,.55) !important; background: #fff !important; color: var(--ink) !important; }
.print-export-studio > footer { min-height: 72px; padding: 13px 20px 13px 25px; border-top: 1px solid rgba(7,22,40,.12); display: flex; align-items: center; justify-content: space-between; gap: 18px; background: #fff; }
.print-export-studio > footer p { margin: 0; color: #647282; font: 11px/1.35 Georgia,serif; }
.print-export-studio > footer div { display: flex; gap: 8px; }
.print-export-studio > footer button { min-height: 42px; padding: 0 18px; border: 1px solid rgba(7,22,40,.17); background: #fff; color: var(--ink); cursor: pointer; font: 800 9px/1 Arial,sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.print-export-studio > footer button:disabled { opacity: .5; cursor: wait; }
.print-export-studio > footer .print-export-primary { min-width: 156px; border-color: var(--blue); background: var(--blue); color: white; }
.print-export-primary span { padding-left: 18px; font-size: 16px; }

@media (max-width: 900px) {
  .cover-editor-canvas > .universal-overlay-qr[data-overlay-position$="right"] { right: 12px; }
  .cover-editor-page.is-open .cover-editor-canvas > .universal-overlay-qr[data-overlay-position$="right"] { right: 12px; }
  .cover-editor-canvas > .universal-overlay-qr[data-overlay-position$="left"] { left: 12px; }
  .cover-editor-canvas > .universal-overlay[data-overlay-position^="bottom"] { bottom: 262px; }
  .print-export-studio { inset: 10px; }
  .print-export-workspace { grid-template-columns: 230px minmax(0,1fr); }
  .print-export-preview { padding: 16px; }
}

@media (max-width: 680px) {
  .universal-overlay-qr { width: 88px; padding: 5px; border-radius: 10px; }
  .qr-visible-link { font-size: 6px !important; }
  .print-export-studio { inset: 0; }
  .print-export-studio > header { min-height: 66px; padding: 11px 14px; }
  .print-export-studio > header h2 { font-size: 23px; }
  .print-export-workspace { grid-template-columns: 1fr; grid-template-rows: auto minmax(240px,1fr); overflow-y: auto; }
  .print-export-controls { padding: 14px; border-right: 0; border-bottom: 1px solid rgba(7,22,40,.12); grid-template-columns: 1fr 1fr; gap: 12px; overflow: visible; }
  .print-export-switch, .print-export-video-control, .print-export-qr-control, .print-export-size { grid-column: 1 / -1; }
  .print-export-preview { min-height: 300px; }
  .print-export-sheet[data-orientation="portrait"] { width: min(76%, 420px); }
  .print-export-studio > footer { min-height: 64px; padding: 10px 12px; }
  .print-export-studio > footer p { display: none; }
  .print-export-studio > footer div { width: 100%; }
  .print-export-studio > footer button { flex: 1; padding: 0 10px; }
}

/* Clear the module corners for optional information. */
.scroll-cue { left: 50%; bottom: 25px; transform: translateX(-50%); }
.zip-control { display: grid; gap: 7px; margin-top: 13px; }
.zip-control > label { color: rgba(7,16,29,.56); font-size: 8px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.zip-control > div { display: grid; grid-template-columns: 1fr auto; }
.zip-control input { position: static; width: 100%; min-width: 0; padding: 9px 10px; border: 1px solid rgba(7,16,29,.18); border-radius: 0; background: white; color: var(--ink); font-size: 12px; opacity: 1; }
.zip-control button { padding: 0 12px; border: 0; border-radius: 0; background: var(--blue); color: white; font-size: 9px; font-weight: 700; text-transform: uppercase; cursor: pointer; }
.zip-control button:disabled { opacity: .55; cursor: wait; }
.zip-control small { min-height: 13px; color: rgba(7,16,29,.52); font-size: 9px; }
.overlay-zip-status { color: rgba(7,16,29,.52); font-size: 9px; line-height: 1.35; }
@media (max-width: 760px) {
  .scroll-cue { left: 50%; bottom: 18px; width: 112px; flex-direction: column; gap: 4px; align-items: center; transform: translateX(-50%); white-space: nowrap; }
  .scroll-cue svg { width: 18px; height: 18px; }
  .cover-widget[data-cover-position="bottom-left"], .cover-widget[data-cover-position="bottom-right"] { min-width: 0; max-width: 108px; }
  .cover-widget[data-cover-position="bottom-left"] strong, .cover-widget[data-cover-position="bottom-right"] strong { overflow-wrap: anywhere; }
}
@media (max-height: 500px) and (min-width: 761px) {
  .cover-official-layout { min-height: 100svh; padding: 82px 22px 54px; }
  .cover-official-content h1 { font-size: clamp(64px, 11vw, 94px); }
  .cover-official-content .eyebrow { margin-bottom: 12px; }
  .cover-official-date { margin-top: 12px; }
  .scroll-cue { bottom: 13px; }
}

/* Unified corner tools and official editor actions. */
.organizer-header button { display: grid; place-items: center; padding: 0; border-color: var(--blue); background: var(--blue); color: white; font: 300 22px/1 Arial, sans-serif; box-shadow: 0 8px 22px rgba(36,152,237,.24); }
.organizer-header button:hover, .organizer-header button:focus-visible { background: #0874c4; border-color: #0874c4; }
.announcement-editor-save { background: var(--blue); color: white; box-shadow: 0 10px 26px rgba(36,152,237,.25); }
.announcement-editor-save:hover, .announcement-editor-save:focus-visible { background: #0874c4; color: white; }
.cover-widget-button, .cover-editor-button { min-width: 0; padding: 11px 15px; border: 1px solid rgba(255,255,255,.7); background: rgba(4,12,22,.34); color: white; font: 700 10px/1 Arial,sans-serif; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; backdrop-filter: blur(12px); }
.chapter-cover.has-dark-cover-text .cover-widget-button, .cover-editor-canvas.has-dark-cover-text .cover-editor-button { border-color: rgba(7,16,29,.62); background: rgba(255,255,255,.34); color: var(--ink); }
.cover-widget-button[hidden], .cover-editor-button[hidden] { display: none; }
.cover-extra-inputs { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin: 3px 0 10px; }
.cover-extra-inputs label { display: grid; gap: 5px; color: rgba(7,16,29,.55); font-size: 8px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.cover-extra-inputs input { position: static; width: 100%; min-width: 0; padding: 8px; border: 1px solid rgba(7,16,29,.16); border-radius: 0; background: white; color: var(--ink); font-size: 10px; opacity: 1; }
.gallery-editor-canvas { padding: 112px clamp(24px,7vw,110px) 60px; }
.gallery-editor-layout { width: 100%; min-height: calc(100svh - 172px); }
.story-progress { opacity: 0; pointer-events: none; transform: translate(-8px,-50%); transition: opacity .45s ease, transform .45s var(--ease); }
.story-progress.is-visible { opacity: 1; transform: translate(0,-50%); }

@media (max-width: 900px) {
  .gallery-editor-canvas { padding: 84px 18px 18px; }
  .gallery-editor-canvas { padding-bottom: 262px; }
  .cover-extra-inputs { grid-template-columns: 1fr; }
}

/* One Cover-style visual editing framework for every official module. */
.official-editor-page { overflow: clip; background: #06111f; }
.official-editor-canvas { position: absolute; inset: 0; overflow: clip; background: #06111f; }
@media (min-width: 901px) {
  body.is-editor-pages-open .official-editor-canvas { left: 360px; }
}
.official-editor-preview { width: 100%; min-height: 100svh; scroll-snap-align: none; }
.official-editor-preview .reveal { opacity: 1; transform: none; }
.official-editor-preview [contenteditable="true"] { position: relative; min-width: .55em; border-radius: 3px; outline: 1px dashed transparent; outline-offset: 8px; cursor: text; transition: outline-color .18s, background .18s, box-shadow .18s; }
.official-editor-preview [contenteditable="true"]:hover { outline-color: rgba(255,255,255,.58); }
.official-editor-preview [contenteditable="true"]:focus { outline: 1px solid white; background: rgba(4,18,32,.18); box-shadow: 0 0 0 7px rgba(255,255,255,.07); }
.official-editor-preview [contenteditable="true"]:empty::before { content: 'Type here'; color: rgba(255,255,255,.42); }
.official-editor-preview [data-edit="kicker"] { white-space: nowrap; }
.official-editor-tools { top: 78px; }
.official-editor-tools .tools-help.compact { margin-bottom: 12px; font-size: 12px; }
.rail-color-options { margin-bottom: 12px; }
.official-background-thumbnails { margin-top: 4px; }
.background-mode-switch { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 6px; margin: 11px 0 10px; }
.background-mode-switch button { min-width: 0; min-height: 58px; padding: 8px 4px 7px; border: 1px solid rgba(7,22,40,.14); border-radius: 8px; background: #fff; color: #526174; display: grid; place-items: center; align-content: center; gap: 5px; cursor: pointer; font: 800 8px/1 Arial,sans-serif; transition: color .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease; }
.background-mode-switch button:hover { transform: translateY(-1px); border-color: rgba(36,152,237,.46); color: #087dce; }
.background-mode-switch button[aria-pressed="true"] { border-color: var(--blue); background: #eaf6fe; color: #087dce; box-shadow: 0 0 0 2px rgba(36,152,237,.1); }
.background-mode-switch svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.background-picker-panel { padding: 11px; border: 1px solid rgba(7,22,40,.11); border-radius: 9px; background: rgba(255,255,255,.56); }
.background-panel-title { margin: 0 0 9px; color: #536273; font: 800 8px/1 Arial,sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.background-upload-drop { position: relative; min-height: 126px; padding: 16px; border: 1px dashed rgba(7,22,40,.28); border-radius: 8px; background: #fff; color: #526174; display: grid; place-items: center; align-content: center; gap: 6px; text-align: center; cursor: pointer; transition: border-color .16s ease, color .16s ease, background .16s ease; }
.background-upload-drop:hover, .background-upload-drop:focus-within, .background-upload-drop.is-drag-over { border-color: var(--blue); background: #eaf6fe; color: #087dce; box-shadow: inset 0 0 0 2px rgba(36,152,237,.12); }
.background-upload-drop.is-drag-over { transform: translateY(-1px); }
.background-upload-drop.is-uploading { border-color: var(--blue); background: #eaf6fe; color: #087dce; cursor: progress; }
.background-upload-drop.is-uploading svg { animation: background-upload-pulse .8s ease-in-out infinite alternate; }
@keyframes background-upload-pulse { to { transform: translateY(-2px); opacity: .48; } }
.tools-upload[aria-busy="true"] { cursor: progress; opacity: .68; }
.background-upload-drop input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.background-upload-drop svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.background-upload-drop strong { font: 800 11px/1.2 Arial,sans-serif; }
.background-upload-drop small { color: #7a8794; font: 9px/1.3 Arial,sans-serif; }
.media-upload-drop { width: 100%; box-sizing: border-box; }
.media-upload-drop + .account-media-library,
.media-upload-drop + .account-media-library-trigger { margin-top: 10px; }
.background-adjustments { margin-top: 10px; display: grid; gap: 8px; }
.background-adjustments .blur-strength-control { margin-top: 0; }
.stock-picker-loading { min-height: 90px; color: #6d7b8c; display: grid; place-items: center; align-content: center; gap: 8px; font: 10px/1.3 Arial,sans-serif; }
.stock-picker-loading span { width: 18px; height: 18px; border: 2px solid rgba(36,152,237,.18); border-top-color: var(--blue); border-radius: 50%; animation: stock-picker-spin .8s linear infinite; }
@keyframes stock-picker-spin { to { transform: rotate(360deg); } }
.stock-picker-filters { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-bottom: 10px; }
.stock-picker-filters.is-video { grid-template-columns: 1fr; }
.stock-picker-filters label { min-width: 0; display: grid; gap: 5px; color: #5f6d7c; font: 800 7px/1.2 Arial,sans-serif; letter-spacing: .09em; text-transform: uppercase; }
.stock-picker-filters select { width: 100%; min-width: 0; height: 38px; padding: 0 26px 0 9px; border: 1px solid rgba(7,22,40,.16); border-radius: 5px; background: #fff; color: #102033; font: 700 9px/1.2 Arial,sans-serif; }
.stock-picker-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
.stock-picker-card { min-width: 0; padding: 0; border: 2px solid transparent; border-radius: 7px; background: #fff; color: #33465b; overflow: hidden; cursor: pointer; text-align: left; box-shadow: 0 1px 0 rgba(7,22,40,.08); transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease; }
.stock-picker-card:hover { transform: translateY(-2px); box-shadow: 0 7px 16px rgba(7,22,40,.13); }
.stock-picker-card[aria-pressed="true"] { border-color: var(--blue); box-shadow: 0 0 0 2px rgba(36,152,237,.15); }
.stock-picker-card img, .stock-video-poster { width: 100%; aspect-ratio: 1.25; display: block; object-fit: cover; background: #dbe3ea; }
.stock-picker-card > span:last-child { min-height: 28px; padding: 5px 6px; display: -webkit-box; overflow: hidden; font: 700 7px/1.25 Arial,sans-serif; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.stock-video-poster { display: grid; place-items: center; }
.stock-video-poster svg { width: 26px; height: 26px; fill: none; stroke: #087dce; stroke-width: 1.5; }
.stock-picker-empty { grid-column: 1/-1; min-height: 110px; margin: 0; padding: 15px; border: 1px dashed rgba(7,22,40,.16); border-radius: 7px; color: #6b7989; display: grid; place-items: center; align-content: center; gap: 7px; text-align: center; font: 10px/1.4 Georgia,serif; }
.stock-picker-empty svg { width: 26px; height: 26px; fill: none; stroke: #1597ed; stroke-width: 1.5; }
.stock-picker-empty strong { color: #24374b; font: 800 10px/1.2 Arial,sans-serif; }
.stock-picker-empty p { margin: 0; }
.stock-picker-pager { margin-top: 9px; display: flex; align-items: center; justify-content: center; gap: 12px; color: #687789; font: 800 8px/1 Arial,sans-serif; }
.stock-picker-pager button { width: 32px; height: 28px; border: 1px solid rgba(7,22,40,.14); border-radius: 5px; background: #fff; color: #087dce; cursor: pointer; }
.stock-picker-pager button:disabled { color: #a9b1ba; cursor: default; }
.cover-background-thumbnails { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 4px; }
.cover-color-options [data-cover-color].is-selected, .cover-background-thumbnails [data-cover-image].is-selected { outline: 2px solid var(--blue); outline-offset: 2px; }
.paragraph-image-options { grid-template-columns: repeat(3, 1fr); }
.official-background-thumbnails button:last-child { display: grid; place-items: center; color: var(--ink); font-size: 9px; font-weight: 700; text-transform: uppercase; }
.paragraph-blur-choice { width: 100%; min-height: 54px; padding: 10px 12px; border: 1px solid rgba(7,16,29,.14); background: white; color: var(--ink); display: grid; gap: 3px; text-align: left; cursor: pointer; }
.paragraph-blur-choice span { font-size: 10px; font-weight: 700; }
.paragraph-blur-choice small { color: rgba(7,16,29,.55); font: 11px/1.35 Georgia, serif; }
.paragraph-blur-choice.is-selected { border-color: var(--blue); background: rgba(36,152,237,.09); color: #0874c4; }
.paragraph-blur-choice:disabled { opacity: .42; cursor: not-allowed; }
.official-corner-list { gap: 8px; }
.video-slot-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.video-slot { position: relative; min-width: 0; }
.video-slot label { min-width: 0; display: grid; gap: 5px; cursor: pointer; }
.video-slot-frame { aspect-ratio: 16 / 10; border: 1px solid rgba(7,16,29,.14); background: #dbe3ea; display: grid; place-items: center; overflow: hidden; transition: border-color .18s, box-shadow .18s; }
.video-slot label:hover .video-slot-frame, .video-slot label:focus-within .video-slot-frame { border-color: var(--blue); box-shadow: 0 0 0 2px rgba(36,152,237,.12); }
.video-slot video { width: 100%; height: 100%; object-fit: cover; background: #07111d; }
.video-slot-empty { color: #0874c4; font: 300 25px/1 Arial, sans-serif; }
.video-slot-label { overflow: hidden; color: rgba(7,16,29,.58); font-size: 8px; font-weight: 700; letter-spacing: .04em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.video-slot input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.video-slot > button { position: absolute; top: 4px; right: 4px; width: 23px; height: 23px; padding: 0; border: 0; border-radius: 50%; background: rgba(3,10,19,.78); color: white; cursor: pointer; font-size: 15px; line-height: 1; backdrop-filter: blur(8px); }
.video-slot > button:hover, .video-slot > button:focus-visible { background: #ba493c; outline: 2px solid white; }
.video-slot-status { margin: 11px 0 0; color: rgba(7,16,29,.55); font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.official-editor-preview .universal-overlay[data-overlay-position="top-right"], .official-editor-preview .universal-overlay[data-overlay-position="bottom-right"] { right: 34px; }

@media (min-width: 901px) {
  .official-editor-preview { width: var(--official-source-width, 100vw); min-height: var(--official-source-height, 100svh); transform: scale(1); transform-origin: top left; transition: transform .42s cubic-bezier(.22,.8,.24,1); will-change: transform; }
  .official-editor-page.is-open .official-editor-preview { transform: scale(var(--official-preview-scale, 1)); }
  .official-editor-preview .chapter-inner { min-height: var(--official-source-height, 100svh); }
  .official-editor-preview .universal-overlay[data-overlay-position="top-left"] { top: var(--official-corner-top, 104px); left: var(--official-corner-side, 34px); }
  .official-editor-preview .universal-overlay[data-overlay-position="top-right"] { top: var(--official-corner-top, 104px); right: var(--official-corner-side, 34px); }
  .official-editor-preview .universal-overlay[data-overlay-position="bottom-left"] { bottom: var(--official-corner-bottom, 84px); left: var(--official-corner-side, 26px); }
  .official-editor-preview .universal-overlay[data-overlay-position="bottom-right"] { right: var(--official-corner-side, 26px); bottom: var(--official-corner-bottom, 84px); }
  .official-editor-preview .photo-caption[data-photo-caption-position="top-left"], .official-editor-preview .photo-caption[data-photo-caption-position="top-right"] { top: var(--official-photo-caption-top, 136px); }
}

.announcement.has-light-background { color: var(--ink); }
.announcement.has-light-background .universal-overlay { color: var(--ink); text-shadow: none; }
.announcement.has-light-background .universal-overlay-button { border-color: rgba(7,16,29,.55); background: rgba(255,255,255,.24); color: var(--ink); }
.official-editor-preview.announcement.has-light-background [contenteditable="true"]:hover { outline-color: rgba(7,16,29,.48); }
.official-editor-preview.announcement.has-light-background [contenteditable="true"]:focus { outline-color: var(--ink); background: rgba(255,255,255,.2); box-shadow: 0 0 0 7px rgba(7,16,29,.06); }
.official-editor-preview .announcement-kicker.is-empty { display: flex; }
.official-editor-preview .announcement-kicker.is-empty::before { content: 'Type here'; width: auto; height: auto; flex: 0 1 auto; background: none; opacity: .42; }
.official-editor-preview .announcement-kicker.is-empty::after { display: none; }
.official-editor-preview.video-module .eyebrow.is-empty, .official-editor-preview.video-gallery-module .eyebrow.is-empty, .official-editor-preview.countdown-module .eyebrow.is-empty, .official-editor-preview.people-module .eyebrow.is-empty { display: flex; }
.official-editor-preview .eyebrow.is-empty > span:not([data-edit]) { display: none; }
.official-editor-preview .eyebrow.is-empty [data-edit="kicker"]::before { content: 'Type here'; color: rgba(255,255,255,.42); white-space: nowrap; }
.official-editor-preview.paragraph-module.has-light-background [contenteditable="true"]:hover { outline-color: rgba(7,16,29,.48); }
.official-editor-preview.paragraph-module.has-light-background [contenteditable="true"]:focus { outline-color: var(--ink); background: rgba(255,255,255,.28); box-shadow: 0 0 0 7px rgba(7,16,29,.06); }
.official-editor-preview.paragraph-module.has-light-background [contenteditable="true"]:empty::before { color: rgba(7,16,29,.35); }
.official-editor-preview.countdown-module.has-light-background [contenteditable="true"]:hover { outline-color: rgba(7,16,29,.48); }
.official-editor-preview.countdown-module.has-light-background [contenteditable="true"]:focus { outline-color: var(--ink); background: rgba(255,255,255,.28); box-shadow: 0 0 0 7px rgba(7,16,29,.06); }
.official-editor-preview.countdown-module.has-light-background [contenteditable="true"]:empty::before { color: rgba(7,16,29,.35); }
.official-editor-preview.people-module.has-light-background [contenteditable="true"]:hover { outline-color: rgba(7,16,29,.48); }
.official-editor-preview.people-module.has-light-background [contenteditable="true"]:focus { outline-color: var(--ink); background: rgba(255,255,255,.28); box-shadow: 0 0 0 7px rgba(7,16,29,.06); }
.official-editor-preview.people-module.has-light-background [contenteditable="true"]:empty::before { color: rgba(7,16,29,.35); }
.official-editor-preview.accessibility-module.has-light-background [contenteditable="true"]:hover { outline-color: rgba(7,16,29,.48); }
.official-editor-preview.accessibility-module.has-light-background [contenteditable="true"]:focus { outline-color: var(--ink); background: rgba(255,255,255,.28); box-shadow: 0 0 0 7px rgba(7,16,29,.06); }
.official-editor-preview.accessibility-module.has-light-background [contenteditable="true"]:empty::before { color: rgba(7,16,29,.35); }

@media (max-width: 900px) {
  body.has-open-visual-editor .organizer-panel { top: 68px; width: 100%; }
  .official-editor-tools { top: auto; }
  .official-editor-canvas { inset: 68px 0 244px; }
  .official-editor-preview { height: calc(100svh - 312px); min-height: calc(100svh - 312px); max-height: calc(100svh - 312px); }
  .official-editor-preview .chapter-inner { height: 100%; min-height: 0; }
  .official-editor-preview.gallery-module .gallery-grid, .official-editor-preview.video-gallery-module .video-gallery-grid { height: min(34vh, 330px); min-height: 190px; }
  .paragraph-module.has-image .paragraph-layout { grid-template-columns: 1fr; align-content: center; gap: 22px; }
  .paragraph-media { height: min(31vh, 300px); }
  .paragraph-copy h2 { font-size: clamp(46px, 13vw, 72px); }
  .paragraph-body { margin-top: 21px; gap: 12px; }
  .paragraph-body p { font-size: 15px; line-height: 1.42; }
  .official-editor-preview .paragraph-layout { padding: 24px 20px; }
  .official-editor-preview .paragraph-media { height: min(14vh, 108px); }
  .official-editor-preview .paragraph-copy h2 { font-size: clamp(38px, 11vw, 58px); }
  .official-editor-preview .paragraph-body { margin-top: 15px; gap: 9px; }
  .official-editor-preview .paragraph-body p { font-size: 13px; line-height: 1.35; }
  .people-layout { grid-template-columns: 1fr; align-content: center; gap: 22px; padding: 86px 22px 26px; }
  .people-copy .eyebrow { margin-bottom: 13px; }
  .people-copy h2 { font-size: clamp(42px,12vw,66px); line-height: .9; }
  .people-copy > p:last-child { max-width: 540px; margin-top: 16px; font-size: 13px; line-height: 1.42; }
  .people-list { max-height: min(42vh,360px); }
  .people-card { min-height: 70px; padding: 11px 0; gap: 13px; }
  .people-card.has-photo { grid-template-columns: 50px minmax(0,1fr); }
  .people-card img { width: 46px; height: 46px; }
  .people-card h3 { font-size: 16px; }
  .people-card p { margin-top: 5px; font-size: 11px; }
  .official-editor-preview .people-layout { padding: 20px 18px; gap: 13px; }
  .official-editor-preview .people-copy .eyebrow { margin-bottom: 8px; }
  .official-editor-preview .people-copy h2 { font-size: clamp(34px,10vw,48px); }
  .official-editor-preview .people-copy > p:last-child { margin-top: 10px; font-size: 11px; line-height: 1.3; }
  .official-editor-preview .people-list { max-height: min(24vh,175px); }
  .official-editor-preview .people-card { min-height: 50px; padding: 7px 0; }
  .official-editor-preview .people-card.has-photo { grid-template-columns: 40px minmax(0,1fr); }
  .official-editor-preview .people-card img { width: 36px; height: 36px; }
  .official-editor-preview .people-card h3 { font-size: 13px; }
  .official-editor-preview .people-card p { margin-top: 3px; font-size: 9px; }
  .accessibility-layout { grid-template-columns: 1fr; align-content: center; gap: 22px; padding: 86px 22px 26px; }
  .accessibility-copy .eyebrow { margin-bottom: 13px; }
  .accessibility-copy h2 { font-size: clamp(42px,12vw,66px); line-height: .9; }
  .accessibility-copy > p:last-child { max-width: 540px; margin-top: 16px; font-size: 13px; line-height: 1.42; }
  .accessibility-list { max-height: min(39vh,330px); }
  .accessibility-feature { min-height: 68px; padding: 9px 0; grid-template-columns: 48px minmax(0,1fr); gap: 13px; }
  .accessibility-feature-icon { width: 42px; height: 42px; }
  .accessibility-feature-icon svg { width: 23px; height: 23px; }
  .accessibility-feature strong { font-size: 16px; }
  .official-editor-preview .accessibility-layout { padding: 20px 18px; gap: 13px; }
  .official-editor-preview .accessibility-copy .eyebrow { margin-bottom: 8px; }
  .official-editor-preview .accessibility-copy h2 { font-size: clamp(34px,10vw,48px); }
  .official-editor-preview .accessibility-copy > p:last-child { margin-top: 10px; font-size: 11px; line-height: 1.3; }
  .official-editor-preview .accessibility-list { max-height: min(22vh,160px); }
  .official-editor-preview .accessibility-feature { min-height: 45px; padding: 5px 0; grid-template-columns: 35px minmax(0,1fr); gap: 9px; }
  .official-editor-preview .accessibility-feature-icon { width: 31px; height: 31px; }
  .official-editor-preview .accessibility-feature-icon svg { width: 18px; height: 18px; }
  .official-editor-preview .accessibility-feature strong { font-size: 12px; }
  .photo-caption { width: min(300px, calc(100% - 32px)); }
  .photo-caption[data-photo-caption-position="top-left"] { top: 84px; left: 16px; }
  .photo-caption[data-photo-caption-position="top-right"] { top: 84px; right: 16px; }
  .photo-caption[data-photo-caption-position="bottom-left"] { bottom: 16px; left: 16px; }
  .photo-caption[data-photo-caption-position="bottom-right"] { right: 16px; bottom: 16px; }
  .photo-caption h2 { font-size: clamp(24px, 8vw, 34px); }
  .photo-caption > p:last-child { font-size: 12px; }
  .official-editor-preview .photo-caption[data-photo-caption-position="top-left"] { top: 18px; left: 16px; }
  .official-editor-preview .photo-caption[data-photo-caption-position="top-right"] { top: 18px; right: 16px; }
  .official-editor-preview .photo-caption[data-photo-caption-position="bottom-left"] { bottom: 18px; left: 16px; }
  .official-editor-preview .photo-caption[data-photo-caption-position="bottom-right"] { right: 16px; bottom: 18px; }
  .official-editor-preview .universal-overlay[data-overlay-position="top-left"], .official-editor-preview .universal-overlay[data-overlay-position="top-right"] { top: 12px; }
  .official-editor-preview .universal-overlay[data-overlay-position="bottom-left"], .official-editor-preview .universal-overlay[data-overlay-position="bottom-right"] { bottom: 12px; }
}

@media (max-width: 520px) {
  .announcement h2 { font-size: clamp(46px, 13vw, 68px); }
  .paragraph-layout { align-content: center; padding-left: 22px; padding-right: 22px; }
  .paragraph-media { height: 26vh; min-height: 170px; }
  .official-editor-preview .paragraph-media { height: min(14vh, 108px); min-height: 0; }
}

@media (max-width: 900px) and (max-height: 500px) {
  .official-editor-canvas { inset: 68px 0 0; right: min(42vw, 340px); bottom: 0; }
  .official-editor-preview { height: calc(100svh - 68px); min-height: calc(100svh - 68px); max-height: calc(100svh - 68px); }
  .official-editor-tools { top: 68px; right: 0; bottom: 0; left: auto; width: min(42vw, 340px); height: auto; padding: 56px 16px 14px; box-shadow: -18px 0 50px rgba(2,9,18,.22); }
  .people-layout { grid-template-columns: minmax(0,.78fr) minmax(300px,1.22fr); align-content: center; align-items: center; gap: 24px; padding: 74px 22px 16px; }
  .people-copy h2 { font-size: clamp(34px,5.2vw,48px); }
  .people-copy > p:last-child { margin-top: 10px; font-size: 11px; line-height: 1.32; }
  .people-list { max-height: 62vh; }
  .people-card { min-height: 50px; padding: 7px 0; }
  .people-card.has-photo { grid-template-columns: 40px minmax(0,1fr); }
  .people-card img { width: 36px; height: 36px; }
  .people-card h3 { font-size: 13px; }
  .people-card p { margin-top: 3px; font-size: 9px; }
  .accessibility-layout { grid-template-columns: minmax(0,.8fr) minmax(300px,1.2fr); align-content: center; align-items: center; gap: 24px; padding: 74px 22px 16px; }
  .accessibility-copy h2 { font-size: clamp(34px,5.2vw,48px); }
  .accessibility-copy > p:last-child { margin-top: 10px; font-size: 11px; line-height: 1.32; }
  .accessibility-list { max-height: 62vh; }
  .accessibility-feature { min-height: 50px; padding: 6px 0; grid-template-columns: 38px minmax(0,1fr); gap: 10px; }
  .accessibility-feature-icon { width: 34px; height: 34px; }
  .accessibility-feature-icon svg { width: 19px; height: 19px; }
  .accessibility-feature strong { font-size: 13px; }
}

/* Food Menu: horizontally paged guest experience and nested menu editor. */
.structured-content.structured-content-menu { width:100%; max-height:none; overflow:visible; border:0; background:transparent; box-shadow:none; -webkit-backdrop-filter:none; backdrop-filter:none; }
.food-menu-carousel { position:relative; width:100%; min-height:min(68vh,680px); color:#fff; isolation:isolate; }
.food-menu-viewport { width:100%; min-height:inherit; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none; overscroll-behavior-x:contain; touch-action:pan-y; cursor:grab; }
.food-menu-viewport::-webkit-scrollbar { display:none; }
.food-menu-viewport.is-dragging { cursor:grabbing; scroll-snap-type:none; scroll-behavior:auto; user-select:none; }
.food-menu-track { min-height:inherit; display:flex; align-items:stretch; }
.food-menu-page { --food-menu-page-ink:#fff; --food-menu-page-muted:rgba(255,255,255,.68); --food-menu-page-line:rgba(255,255,255,.18); position:relative; isolation:isolate; flex:0 0 100%; min-width:0; min-height:inherit; padding:clamp(30px,4vw,54px) clamp(34px,5vw,72px) 62px; scroll-snap-align:start; scroll-snap-stop:always; overflow:hidden; color:var(--food-menu-page-ink); display:grid; grid-template-rows:auto minmax(0,1fr); gap:24px; background:var(--food-menu-page-color,#071628); }
.food-menu-page.is-light-menu-page { --food-menu-page-ink:#071628; --food-menu-page-muted:rgba(7,22,40,.64); --food-menu-page-line:rgba(7,22,40,.16); }
.food-menu-page-background { position:absolute; inset:0; z-index:-2; overflow:hidden; background-color:var(--food-menu-page-color,#071628); }
.food-menu-page-background > img,.food-menu-page-background > video { position:absolute; max-width:none; display:block; object-fit:cover; object-position:center; filter:blur(var(--food-menu-page-blur,0)) contrast(var(--food-menu-page-contrast,1)); }
.food-menu-page-background::after { content:""; position:absolute; inset:0; z-index:1; background:transparent; }
.food-menu-page.has-menu-background-media .food-menu-page-background::after { background:linear-gradient(90deg,rgba(7,22,40,.72),rgba(7,22,40,.36)); }
.food-menu-page.has-menu-background-media.is-light-menu-page .food-menu-page-background::after { background:linear-gradient(90deg,rgba(255,255,255,.78),rgba(255,255,255,.46)); }
.food-menu-page > header { position:relative; z-index:1; max-width:760px; display:grid; gap:8px; }
.food-menu-page > header > span { color:var(--center-highlight-color,#58b9f7); font:800 9px/1 Arial,sans-serif; letter-spacing:.18em; }
.food-menu-page > header h3 { margin:0; color:inherit; font:500 clamp(32px,4.3vw,68px)/.92 'EventSans',Arial,sans-serif; letter-spacing:-.055em; }
.food-menu-page > header p { max-width:600px; margin:3px 0 0; color:var(--food-menu-page-muted); font:14px/1.45 Georgia,serif; }
.food-menu-page > ol { position:relative; z-index:1; min-height:0; margin:0; padding:0; list-style:none; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:none; }
.food-menu-page > ol::-webkit-scrollbar { display:none; }
.food-menu-page > ol > li { min-height:98px; padding:15px 0; border-top:1px solid var(--food-menu-page-line); display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:18px; }
.food-menu-page > ol > li.has-food-photo { grid-template-columns:72px minmax(0,1fr) auto; }
.food-menu-page figure { width:72px; height:72px; margin:0; overflow:hidden; border-radius:50%; }
.food-menu-page figure img { width:100%; height:100%; display:block; object-fit:cover; }
.food-menu-item-copy { min-width:0; display:grid; grid-template-columns:auto 1fr; align-items:baseline; gap:5px 14px; }
.food-menu-item-copy > span { color:var(--center-highlight-color,#58b9f7); font:800 8px/1.15 Arial,sans-serif; letter-spacing:.13em; text-transform:uppercase; }
.food-menu-item-copy > strong { color:inherit; font:650 clamp(17px,1.55vw,23px)/1.1 'EventSans',Arial,sans-serif; }
.food-menu-item-copy > p { grid-column:1/-1; margin:1px 0 0; color:var(--food-menu-page-muted); font:13px/1.4 Georgia,serif; }
.food-menu-item-copy > small { grid-column:1/-1; color:var(--food-menu-page-muted); font:800 7px/1.2 Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.food-menu-page > ol > li > b { align-self:start; padding-top:5px; color:inherit; font:700 13px/1 Arial,sans-serif; }
.food-menu-layout-columns > ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-content:start; gap:0 30px; }
.food-menu-layout-columns > ol > li { min-height:116px; }
.food-menu-layout-rows > ol { display:grid; grid-template-rows:repeat(2,minmax(0,1fr)); grid-auto-flow:column; grid-auto-columns:minmax(260px,1fr); gap:0 28px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x proximity; }
.food-menu-layout-rows > ol > li { min-height:0; scroll-snap-align:start; }
.food-menu-style-cards .food-menu-page > ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-content:start; gap:14px; }
.food-menu-style-cards .food-menu-page > ol > li { min-height:220px; padding:0 0 18px; border:1px solid var(--food-menu-page-line); display:flex; flex-direction:column; align-items:stretch; background:color-mix(in srgb,var(--food-menu-page-color) 74%,transparent); }
.food-menu-style-cards .food-menu-page figure { width:100%; height:118px; border-radius:0; }
.food-menu-style-cards .food-menu-item-copy { padding:15px 16px 0; display:grid; grid-template-columns:1fr; gap:6px; }
.food-menu-style-cards .food-menu-item-copy > * { grid-column:1; }
.food-menu-style-cards .food-menu-page > ol > li > b { padding:9px 16px 0; }
.food-menu-style-minimal .food-menu-page { gap:16px; }
.food-menu-style-minimal .food-menu-page figure,.food-menu-style-minimal .food-menu-item-copy > span { display:none; }
.food-menu-style-minimal .food-menu-page > ol > li.has-food-photo { grid-template-columns:minmax(0,1fr) auto; }
.food-menu-style-minimal .food-menu-item-copy { grid-template-columns:1fr; gap:5px; }
.food-menu-style-minimal .food-menu-item-copy > * { grid-column:1; }
.food-menu-arrow { position:absolute; z-index:4; top:50%; width:42px; height:58px; border:1px solid rgba(255,255,255,.28); border-radius:999px; padding:0; color:#fff; background:rgba(3,15,28,.56); display:grid; place-items:center; cursor:pointer; transform:translateY(-50%); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); transition:opacity .2s,transform .2s,background .2s; }
.food-menu-arrow span { font:300 22px/1 Arial,sans-serif; }
.food-menu-arrow:hover,.food-menu-arrow:focus-visible { outline:2px solid color-mix(in srgb,var(--center-highlight-color,#58b9f7) 55%,transparent); outline-offset:2px; background:color-mix(in srgb,var(--center-highlight-color,#58b9f7) 72%,rgba(7,22,40,.82)); transform:translateY(-50%) scale(1.05); }
.food-menu-arrow:disabled { opacity:0; pointer-events:none; }
.food-menu-arrow-previous { left:10px; }
.food-menu-arrow-next { right:10px; }
.food-menu-carousel > footer { position:absolute; z-index:3; left:50%; bottom:20px; min-width:112px; transform:translateX(-50%); display:flex; align-items:center; justify-content:center; gap:12px; color:#fff; }
.food-menu-page-dots { display:flex; gap:6px; }
.food-menu-page-dots button { width:7px; height:7px; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,.34); cursor:pointer; transition:width .25s,background .25s,border-radius .25s; }
.food-menu-page-dots button[aria-pressed="true"] { width:22px; border-radius:999px; background:var(--center-highlight-color,#58b9f7); }
.food-menu-carousel > footer > span { font:800 8px/1 Arial,sans-serif; letter-spacing:.12em; }

.food-menu-editor { display:grid; gap:14px; }
.food-menu-style-control { display:grid; gap:9px; }
.food-menu-style-control > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.food-menu-style-control button { min-height:62px; padding:8px 5px; border:1px solid rgba(7,22,40,.13); border-radius:8px; color:#526174; background:#fff; display:grid; place-items:center; gap:5px; cursor:pointer; font:700 9px/1 Arial,sans-serif; }
.food-menu-style-control button span { color:#0b86d7; font:600 17px/1 Georgia,serif; }
.food-menu-style-control button[aria-pressed="true"] { border-color:#168fe3; color:#087dce; background:#eef8ff; box-shadow:0 0 0 1px rgba(22,143,227,.1); }
.food-menu-page-editor-list,.food-menu-item-editor-list { display:grid; gap:10px; }
.food-menu-page-editor,.food-menu-item-editor { border:1px solid rgba(7,22,40,.13); border-radius:10px; overflow:hidden; background:rgba(255,255,255,.72); box-shadow:0 7px 20px rgba(7,22,40,.04); }
.food-menu-page-editor > summary,.food-menu-item-editor > summary { min-height:64px; padding:10px 11px; list-style:none; display:grid; grid-template-columns:24px minmax(0,1fr) 34px; align-items:center; gap:9px; cursor:grab; user-select:none; }
.food-menu-page-editor > summary::-webkit-details-marker,.food-menu-item-editor > summary::-webkit-details-marker { display:none; }
.food-menu-page-editor > summary > span,.food-menu-item-editor > summary > span { min-width:0; display:grid; gap:3px; }
.food-menu-page-editor > summary small { color:#168fe3; font:800 7px/1 Arial,sans-serif; letter-spacing:.13em; }
.food-menu-page-editor > summary strong,.food-menu-item-editor > summary strong { min-width:0; overflow:hidden; color:#172536; font:750 12px/1.1 Arial,sans-serif; text-overflow:ellipsis; white-space:nowrap; }
.food-menu-page-editor > summary em,.food-menu-item-editor > summary small { color:#738092; font:normal 9px/1.15 Arial,sans-serif; }
.food-menu-page-editor > summary button,.food-menu-item-editor > summary button { width:32px; height:32px; border:1px solid rgba(166,62,47,.2); border-radius:50%; color:#a63e2f; background:#fff8f6; cursor:pointer; }
.food-menu-page-editor > summary button:disabled,.food-menu-item-editor > summary button:disabled { opacity:.28; cursor:default; }
.food-menu-drag-dots { width:16px; height:22px; background:radial-gradient(circle,#718093 1.5px,transparent 1.8px) 0 0/7px 7px; opacity:.82; }
.food-menu-page-editor-body { padding:13px; border-top:1px solid rgba(7,22,40,.1); display:grid; gap:13px; background:rgba(247,249,251,.82); }
.food-menu-item-editor-body { padding:12px; border-top:1px solid rgba(7,22,40,.1); background:#fff; }
.food-menu-layout-control,.food-menu-background-editor { padding:11px; border:1px solid rgba(7,22,40,.1); border-radius:8px; display:grid; gap:9px; background:#fff; }
.food-menu-layout-control > span,.food-menu-background-editor > span { color:#526174; font:800 8px/1 Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.food-menu-background-mode-switch { margin:0; }
.food-menu-color-picker { padding:0; border:0; background:transparent; }
.food-menu-color-picker .color-explorer-help { margin-top:0; }
.food-menu-background-adjustments { margin-top:0; }
.food-menu-text-tone { padding-top:2px; display:grid; gap:7px; }
.food-menu-text-tone > span { color:#536174; font:800 8px/1 Arial,sans-serif; letter-spacing:.09em; text-transform:uppercase; }
.food-menu-text-tone > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.food-menu-text-tone button { min-height:34px; padding:6px; border:1px solid rgba(7,22,40,.14); border-radius:6px; background:#fff; color:#526174; font:750 8px/1 Arial,sans-serif; cursor:pointer; }
.food-menu-text-tone button[aria-pressed="true"] { border-color:var(--blue); background:#eaf6fe; color:#087dce; box-shadow:0 0 0 2px rgba(36,152,237,.08); }
.food-menu-contrast-labels { display:grid; grid-template-columns:repeat(3,1fr); color:rgba(7,16,29,.43); font:700 7px/1 Arial,sans-serif; letter-spacing:.04em; text-transform:uppercase; }
.food-menu-contrast-labels span:nth-child(2) { text-align:center; }
.food-menu-contrast-labels span:last-child { text-align:right; }
.food-menu-background-editor .background-media-status { margin:0; }
.food-menu-layout-control > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.food-menu-layout-control button { min-height:42px; padding:5px; border:1px solid rgba(7,22,40,.13); border-radius:6px; color:#526174; background:#f7f9fb; font:700 8px/1.15 Arial,sans-serif; cursor:pointer; }
.food-menu-layout-control button[aria-pressed="true"] { border-color:#168fe3; color:#087dce; background:#eef8ff; }
.food-menu-page-colors { display:grid; grid-template-columns:repeat(6,1fr); gap:7px; }
.food-menu-page-colors button { aspect-ratio:1; border:2px solid #fff; border-radius:50%; padding:0; background:var(--menu-page-swatch); box-shadow:0 0 0 1px rgba(7,22,40,.15); cursor:pointer; }
.food-menu-page-colors button[aria-pressed="true"] { outline:2px solid #168fe3; outline-offset:2px; }
.food-menu-background-upload,.food-menu-photo-upload { position:relative; min-height:58px; border:1px dashed rgba(7,22,40,.22); border-radius:7px; padding:8px 12px; display:flex; align-items:center; gap:10px; color:#526174; background:#f7f9fb; cursor:pointer; }
.food-menu-background-upload input,.food-menu-photo-upload input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.food-menu-background-upload img,.food-menu-photo-upload img { width:52px; height:42px; display:block; object-fit:cover; border-radius:5px; }
.food-menu-background-upload > span,.food-menu-photo-upload > span { width:42px; height:42px; border-radius:5px; display:grid; place-items:center; color:#168fe3; background:#e7f5ff; font:300 22px/1 Arial,sans-serif; }
.food-menu-background-upload strong,.food-menu-photo-upload strong { font:750 10px/1.2 Arial,sans-serif; }
.food-menu-remove-background,.food-menu-remove-photo { min-height:36px; border:1px solid rgba(166,62,47,.24); border-radius:6px; color:#a63e2f; background:#fff8f6; font:700 9px/1 Arial,sans-serif; cursor:pointer; }
.food-menu-item-editor-body > .food-menu-photo-upload + .structured-field,
.food-menu-item-editor-body > .food-menu-remove-photo + .structured-field { margin-top:14px; }
.food-menu-add-page,.food-menu-add-item { border-radius:9px; }
.food-menu-editor-help { margin:0; color:#728091; font:italic 10px/1.4 Georgia,serif; text-align:center; }
.food-menu-editor-drop-placeholder { border:1px dashed rgba(22,143,227,.58); border-radius:10px; background:rgba(22,143,227,.08); transition:height .2s; }
.is-food-menu-editor-dragging { position:fixed; z-index:140; margin:0; pointer-events:none; transform:translateY(var(--food-menu-drag-y,0)) scale(1.018); box-shadow:0 24px 54px rgba(7,22,40,.23); cursor:grabbing; }
.is-food-menu-editor-dropping { transition:transform .22s cubic-bezier(.2,.84,.24,1),box-shadow .22s; }
body.is-reordering-food-menu { cursor:grabbing; user-select:none; }

@media (max-width:900px) {
  .food-menu-page { padding:28px 30px 58px; }
  .food-menu-style-cards .food-menu-page > ol { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .food-menu-layout-columns > ol { gap:0 18px; }
}

@media (max-width:560px) {
  .structured-content.structured-content-menu { width:100%; max-height:none; }
  .food-menu-carousel { min-height:62vh; }
  .food-menu-page { padding:52px 22px 54px; gap:16px; }
  .food-menu-page > header h3 { font-size:36px; }
  .food-menu-page > ol > li,.food-menu-page > ol > li.has-food-photo { min-height:90px; grid-template-columns:56px minmax(0,1fr) auto; gap:11px; }
  .food-menu-page > ol > li:not(.has-food-photo) { grid-template-columns:minmax(0,1fr) auto; }
  .food-menu-page figure { width:56px; height:56px; }
  .food-menu-layout-columns > ol,.food-menu-style-cards .food-menu-page > ol { grid-template-columns:1fr; }
  .food-menu-layout-rows > ol { grid-auto-columns:minmax(220px,82vw); }
  .food-menu-style-cards .food-menu-page > ol > li { min-height:190px; }
  .food-menu-arrow { width:36px; height:48px; }
  .food-menu-arrow-previous { left:5px; }
  .food-menu-arrow-next { right:5px; }
}

@media (prefers-reduced-motion:reduce) {
  .food-menu-viewport { scroll-behavior:auto; }
  .food-menu-page-dots button,.food-menu-arrow,.is-food-menu-editor-dropping { transition-duration:.01ms; }
}

/* Unified center-content composer */
.center-composition-control { margin: 0 0 18px; padding: 0 0 18px; border-bottom: 1px solid rgba(7,22,40,.1); display: grid; gap: 12px; }
.center-composition-heading { min-height: 24px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.center-composition-label { color: #536273; font: 800 9px/1 Arial,sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.center-composition-layout { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.center-composition-layout button { min-width: 0; min-height: 72px; padding: 10px 6px; border: 1px solid rgba(7,22,40,.14); border-radius: 8px; background: #fff; color: #536273; display: grid; place-items: center; align-content: center; gap: 7px; cursor: pointer; transition: border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease; }
.center-composition-layout button:hover,.center-composition-layout button:focus-visible { border-color: rgba(21,151,237,.65); color: #0874c4; outline: 0; transform: translateY(-1px); }
.center-composition-layout button[aria-pressed="true"] { border-color: #1597ed; background: #e8f5fd; color: #0874c4; box-shadow: inset 0 0 0 1px #1597ed,0 5px 14px rgba(21,151,237,.1); }
.center-composition-layout button strong { font: 800 11px/1.1 'EventSans',Arial,sans-serif; }
.center-composition-layout i { width: 24px; height: 17px; border: 1.7px solid currentColor; display: block; position: relative; }
.center-composition-layout .layout-two::after { content: ''; position: absolute; top: 0; bottom: 0; left: 50%; border-left: 1.5px solid currentColor; }
.center-composition-layout .layout-rows::after { content: ''; position: absolute; left: 0; right: 0; top: 50%; border-top: 1.5px solid currentColor; }
.center-composition-swap { min-height: 30px; padding: 3px 1px 3px 8px; border: 0; background: transparent; color: #087dce; display: flex; align-items: center; justify-content: center; gap: 7px; font: 850 9px/1 Arial,sans-serif; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; transition: color .16s ease,transform .16s ease; }
.center-composition-swap span { font: 700 21px/1 Arial,sans-serif; letter-spacing: 0; }
.center-composition-swap:hover,.center-composition-swap:focus-visible { color: #005f9f; outline: 0; transform: translateY(-1px); }
.center-content-cards { min-width: 0; display: grid; gap: 8px; }
.center-content-cards.is-double { grid-template-columns: repeat(2,minmax(0,1fr)); }
.center-content-card { position: relative; min-width: 0; min-height: 78px; border: 1px solid rgba(7,22,40,.14); border-radius: 8px; background: #fff; transition: border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease; }
.center-content-card:hover { border-color: rgba(124,92,221,.48); transform: translateY(-1px); }
.center-content-card:has(.center-content-type-menu[open]) { z-index: 40; transform: none; }
.center-content-card.is-active { border-color: #7c5cdd; background: #f6f2ff; box-shadow: inset 5px 0 0 #7251dc,0 6px 16px rgba(94,64,188,.12); }
.center-content-card.is-empty { border-style: dashed; background: #fafbfd; }
.center-content-card-main { width: 100%; min-height: 76px; padding: 15px 43px 14px 17px; border: 0; border-radius: inherit; display: grid; align-content: center; color: #102033; background: transparent; text-align: left; cursor: pointer; }
.center-content-card-main:focus-visible { outline: 2px solid #1597ed; outline-offset: 2px; }
.center-content-card-main strong { min-width: 0; overflow: hidden; font: 800 19px/1.05 'EventSans',Arial,sans-serif; letter-spacing: -.025em; text-overflow: ellipsis; white-space: nowrap; }
.center-content-card.is-active .center-content-card-main strong { color: #5f43bd; }
.center-content-type-menu { position: absolute; z-index: 6; top: 50%; right: 9px; transform: translateY(-50%); }
.center-content-type-menu[open] { z-index: 30; }
.center-content-type-menu > summary { width: 32px; height: 38px; border-radius: 7px; display: grid; place-items: center; color: #657489; cursor: pointer; list-style: none; transition: color .16s ease,background .16s ease; }
.center-content-type-menu > summary::-webkit-details-marker { display: none; }
.center-content-type-menu > summary:hover,.center-content-type-menu > summary:focus-visible,.center-content-type-menu[open] > summary { color: #087dce; background: #e8f5fd; outline: 0; }
.center-content-type-menu > summary i,.center-content-type-menu > summary i::before,.center-content-type-menu > summary i::after { width: 4px; height: 4px; border-radius: 50%; display: block; background: currentColor; }
.center-content-type-menu > summary i { position: relative; }
.center-content-type-menu > summary i::before,.center-content-type-menu > summary i::after { content: ''; position: absolute; left: 0; }
.center-content-type-menu > summary i::before { top: -7px; }
.center-content-type-menu > summary i::after { top: 7px; }
.center-content-type-popover { position: absolute; z-index: 20; right: 0; bottom: calc(100% + 12px); width: min(228px,calc(100vw - 32px)); max-height: min(286px,calc(100svh - var(--header-h) - 40px)); padding: 6px; border: 1px solid rgba(7,22,40,.13); border-radius: 9px; display: grid; gap: 2px; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scrollbar-color: rgba(83,98,115,.58) transparent; scrollbar-gutter: stable; scrollbar-width: thin; background: #fff; box-shadow: 0 18px 44px rgba(7,22,40,.22); }
.center-content-type-menu[data-menu-placement="below"] .center-content-type-popover { top: calc(100% + 12px); bottom: auto; }
.center-content-cards.is-double .center-content-card:first-child .center-content-type-popover { right: auto; left: 0; }
.center-content-type-popover::-webkit-scrollbar { width: 9px; }
.center-content-type-popover::-webkit-scrollbar-track { background: transparent; }
.center-content-type-popover::-webkit-scrollbar-thumb { border: 2px solid #fff; border-radius: 999px; background: rgba(83,98,115,.58); }
.center-content-type-popover button { width: 100%; min-height: 34px; padding: 7px 9px; border: 0; border-radius: 6px; display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #34465b; background: transparent; text-align: left; font: 750 10px/1.2 var(--font-sans); cursor: pointer; }
.center-content-type-popover button:hover,.center-content-type-popover button:focus-visible { color: #0874c4; background: #edf8fe; outline: 0; }
.center-content-type-popover button[aria-checked="true"] { color: #5f43bd; background: #f3efff; }
.center-content-type-popover button i { color: #7251dc; font: 800 12px/1 Arial,sans-serif; }
.structured-layout.is-content-only, .gallery-layout.is-content-only, .countdown-layout.is-content-only { width: min(1380px,100%); grid-template-columns: minmax(0,1fr); place-items: center; }
.center-layout-single > .structured-layout.is-content-only .structured-content:not(.structured-content-poll) {
  width: min(100%,var(--center-content-width-limit,1050px));
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.gallery-layout.is-content-only .gallery-grid { width: min(100%,1180px); }
.countdown-layout.is-content-only { display: grid; }
.center-companion-region { position: absolute; z-index: 4; min-width: 0; min-height: 0; padding: calc(var(--header-h) + 34px) clamp(12px,calc(4vw + var(--center-content-inline-padding-shift,0vw)),96px) clamp(22px,calc(42px + var(--center-content-block-padding-shift,0vh)),84px); display: grid; place-items: center; overflow: hidden; color: inherit; }
.center-layout-single > .chapter-inner { padding-right: clamp(12px,calc(6vw + var(--center-content-inline-padding-shift,0vw)),160px) !important; padding-bottom: clamp(28px,calc(72px + var(--center-content-block-padding-shift,0vh)),120px) !important; padding-left: clamp(12px,calc(6vw + var(--center-content-inline-padding-shift,0vw)),160px) !important; }
.center-layout-single > .center-text-layout { padding-right: clamp(12px,calc(10vw + var(--center-content-inline-padding-shift,0vw)),200px) !important; padding-bottom: clamp(28px,calc(10vh + var(--center-content-block-padding-shift,0vh)),140px) !important; padding-left: clamp(12px,calc(10vw + var(--center-content-inline-padding-shift,0vw)),200px) !important; }
.center-layout-columns > .chapter-inner { width: 50% !important; margin: 0 !important; padding-right: clamp(10px,calc(4vw + var(--center-content-inline-padding-shift,0vw)),96px) !important; padding-bottom: clamp(22px,calc(42px + var(--center-content-block-padding-shift,0vh)),84px) !important; padding-left: clamp(10px,calc(4vw + var(--center-content-inline-padding-shift,0vw)),96px) !important; }
.center-layout-columns > .center-companion-region { inset: 0 0 0 50%; }
.center-layout-columns.center-actual-secondary > .chapter-inner { margin-left: 50% !important; }
.center-layout-columns.center-actual-secondary > .center-companion-region { inset: 0 50% 0 0; }
.center-layout-rows > .chapter-inner { width: 100% !important; height: 50% !important; min-height: 50% !important; margin: 0 !important; padding-top: calc(var(--header-h) + 18px) !important; padding-bottom: clamp(8px,calc(16px + var(--center-content-block-padding-shift,0vh)),48px) !important; overflow: hidden; }
.center-layout-rows > .center-companion-region { inset: 50% 0 0; padding-top: 18px; }
.center-layout-rows > .center-text-layout,
.center-layout-rows > .center-companion-region {
  padding-right: clamp(10px,calc(4vw + var(--center-content-inline-padding-shift,0vw)),96px) !important;
  padding-left: clamp(10px,calc(4vw + var(--center-content-inline-padding-shift,0vw)),96px) !important;
}
.center-layout-rows.center-actual-secondary > .chapter-inner { position: absolute; top: 50%; left: 0; right: 0; padding-top: 18px !important; }
.center-layout-rows.center-actual-secondary > .center-companion-region { inset: 0 0 50%; padding-top: calc(var(--header-h) + 18px); }
.center-primary-none > .chapter-inner { opacity: 0; pointer-events: none; }
.center-companion-region[data-center-region-type="none"] { display: none; }
.standalone-text-content { width: 100%; max-width: 620px; display: grid; align-content: center; gap: clamp(12px,2vh,24px); }
.center-layout-columns > .center-text-layout,
.center-layout-columns > .center-companion-region { padding-top: calc(var(--header-h) + 34px) !important; padding-right: clamp(10px,calc(4vw + var(--center-content-inline-padding-shift,0vw)),96px) !important; padding-bottom: clamp(22px,calc(42px + var(--center-content-block-padding-shift,0vh)),84px) !important; padding-left: clamp(10px,calc(4vw + var(--center-content-inline-padding-shift,0vw)),96px) !important; }
.center-layout-columns .center-text-column,
.center-layout-columns .standalone-text-content,
.center-layout-rows .center-text-column,
.center-layout-rows .standalone-text-content { width: 100%; max-width: none; display: grid; align-content: center; gap: clamp(12px,2vh,24px); }
.center-layout-columns .structured-content,
.center-layout-rows .structured-content { max-height: 100%; overflow: hidden; border: 0; background: transparent; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
.center-layout-columns [data-module-scroll],
.center-layout-rows [data-module-scroll] { scrollbar-width: none; -ms-overflow-style: none; }
.center-layout-columns [data-module-scroll]::-webkit-scrollbar,
.center-layout-rows [data-module-scroll]::-webkit-scrollbar { width: 0; height: 0; display: none; }
.center-region-gallery { width: 100%; height: min(62vh,620px); overflow-x: auto !important; overflow-y: hidden !important; grid-auto-flow: column; grid-auto-columns: minmax(180px,42%); grid-template-columns: none !important; grid-template-rows: repeat(2,minmax(0,1fr)); overscroll-behavior: contain; touch-action: pan-x; scroll-snap-type: x mandatory; }
.center-region-gallery > * { scroll-snap-align: start; }
.center-region-countdown { width: min(100%,720px); }
.center-layout-columns .center-region-countdown[data-countdown-style="classic"] .countdown-unit {
  /* The full-page clock uses viewport-sized gutters. In a half-width region
     those gutters make the numerals overflow their grid tracks and visually
     pull each divider toward the preceding value. Keep every value inside its
     own column so the divider remains centered between adjacent units. */
  grid-template-columns: minmax(0,1fr);
  padding-inline: clamp(6px,1vw,16px);
}
.center-layout-columns .center-region-countdown[data-countdown-style="classic"] .countdown-unit strong {
  font-size: clamp(68px,7.5vw,116px);
  letter-spacing: -.06em;
}
.universal-list { width: min(100%,760px); max-height: min(66vh,660px); margin: 0 auto; padding: 0; list-style: none; overflow-y: auto; overscroll-behavior: contain; touch-action: pan-y; }
.universal-list li { min-height: 92px; padding: 18px 4px; border-bottom: 1px solid rgba(255,255,255,.18); display: grid; grid-template-columns: 80px minmax(0,1fr); gap: 20px; align-items: start; }
.universal-list li > div { min-width: 0; }
.universal-list li.has-icon { min-height: 104px; grid-template-columns: 72px minmax(0,1fr); align-items: center; }
.has-light-background .universal-list li { border-color: rgba(7,22,40,.16); }
.universal-list li > span { color:var(--center-highlight-color,#58b9f7); font: 750 13px/1.25 'EventSans',Arial,sans-serif; letter-spacing: .035em; }
.universal-list li.has-no-label:not(.has-icon) { grid-template-columns:minmax(0,1fr); }
.universal-list-icon-wrap { width: 100%; max-width: 72px; min-width: 0; display: grid; justify-items: center; gap: 7px; }
.universal-list-icon { width: 48px; height: 48px; box-sizing: border-box; border: 0; border-radius: 10px; display: block; object-fit: cover; box-shadow: 0 7px 18px rgba(0,0,0,.16); }
.material-symbol { font-weight:normal; font-style:normal; line-height:1; letter-spacing:normal; text-transform:none; white-space:nowrap; word-wrap:normal; direction:ltr; font-feature-settings:'liga'; -webkit-font-feature-settings:'liga'; -webkit-font-smoothing:antialiased; font-variation-settings:'FILL' 1,'wght' 300,'GRAD' 0,'opsz' 24; }
.material-symbols-outlined { font-family:'Material Symbols Outlined'; }
.material-symbols-rounded { font-family:'Material Symbols Rounded'; }
.material-symbols-sharp { font-family:'Material Symbols Sharp'; }
[data-eventsimpler-dynamic-token] { font:inherit !important; color:inherit !important; letter-spacing:inherit !important; text-transform:inherit !important; opacity:inherit !important; text-shadow:inherit !important; }
.eventsimpler-dynamic-icon { display:inline-block; color:inherit !important; font-family:'Material Symbols Rounded' !important; font-size:1em !important; font-weight:300 !important; font-style:normal !important; line-height:inherit !important; letter-spacing:normal !important; text-transform:none !important; opacity:inherit !important; vertical-align:-.1em; }
.universal-list-icon.material-symbol { width:44px; height:44px; border-radius:0; display:grid; place-items:center; overflow:hidden; background:transparent; color:var(--list-icon-color,var(--center-highlight-color,#58b9f7)); font-size:36px; object-fit:initial; box-shadow:none; }
.has-light-background .universal-list-symbol { background:transparent; }
.universal-list-icon-wrap small { max-width: 72px; overflow: hidden; color: inherit; font: 750 11px/1.2 'EventSans',Arial,sans-serif; letter-spacing:.025em; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.universal-list strong { font: 600 21px/1.15 'EventSans',sans-serif; }
.universal-list-link-title { width: fit-content; display: inline-flex; align-items: baseline; gap: 8px; color: inherit; text-decoration: none; }
.universal-list-link-title > span { color:var(--center-highlight-color,#58b9f7); font: 700 16px/1 'EventSans',Arial,sans-serif; transition: transform .22s ease; }
.universal-list-link-title:hover strong,
.universal-list-link-title:focus-visible strong { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.universal-list-link-title:hover > span,
.universal-list-link-title:focus-visible > span { transform: translate(2px,-2px); }
.universal-list-link-title:focus-visible { outline:2px solid var(--center-highlight-color,#58b9f7); outline-offset: 5px; border-radius: 2px; }
.universal-list-link { max-width:100%; margin-top:10px; display:inline-flex; align-items:baseline; gap:7px; color:var(--center-highlight-color,#58b9f7); font:750 12px/1.25 'EventSans',Arial,sans-serif; text-decoration:none; }
.universal-list-link > span { min-width:0; overflow-wrap:anywhere; }
.universal-list-link > i { flex:0 0 auto; font:700 13px/1 'EventSans',Arial,sans-serif; transition:transform .22s ease; }
.universal-list-link:hover > span,.universal-list-link:focus-visible > span { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
.universal-list-link:hover > i,.universal-list-link:focus-visible > i { transform:translate(2px,-2px); }
.universal-list-link:focus-visible { outline:2px solid var(--center-highlight-color,#58b9f7); outline-offset:5px; border-radius:2px; }
.universal-list p { margin: 7px 0 0; white-space: pre-wrap; font: 14px/1.45 'EventSerif',serif; opacity: .7; }
.universal-list [data-list-inline-field]:empty { display: none; }
.official-editor-preview .universal-list [data-list-inline-field][contenteditable="true"]:empty { min-height: 1em; display: block; opacity: .62; }
.official-editor-preview .universal-list [data-list-inline-field][contenteditable="true"]:empty::before { content: attr(data-list-inline-placeholder); color: currentColor; font-style: italic; opacity: .72; }
.official-editor-preview .universal-list li.has-no-label:not(.has-icon) { grid-template-columns: minmax(92px,.34fr) minmax(0,1fr); }
.universal-list [data-list-text-font="sans"] { font-family: 'EventSans',sans-serif !important; }
.universal-list [data-list-text-font="serif"] { font-family: 'EventSerif',serif !important; }
.universal-list [data-list-text-font="slab"] { font-family: 'EventSlab',serif !important; }
.universal-list [data-list-text-font="hand"] { font-family: 'EventHand',sans-serif !important; }
.universal-list [data-list-text-weight="thin"] { font-weight: 250 !important; }
.universal-list [data-list-text-weight="normal"] { font-weight: 500 !important; }
.universal-list [data-list-text-weight="black"] { font-weight: 900 !important; }
.universal-list [data-list-text-style="italic"] { font-style: italic !important; }
.universal-list [data-list-text-style="uppercase"] { text-transform: uppercase !important; }
.universal-list [data-list-text-align="left"] { text-align: left; }
.universal-list [data-list-text-align="center"] { text-align: center; }
.universal-list [data-list-text-align="right"] { text-align: right; }
.universal-list [data-list-text-color="manual"] { color: var(--list-text-manual-color) !important; }
.universal-list [data-list-text-opacity="100"] { opacity: 1; }
.universal-list [data-list-text-opacity="70"] { opacity: .7; }
.universal-list [data-list-text-opacity="35"] { opacity: .35; }
.universal-list [data-list-inline-field="label"][data-list-text-size="small"] { font-size: 10px; }
.universal-list [data-list-inline-field="label"][data-list-text-size="medium"] { font-size: 13px; }
.universal-list [data-list-inline-field="label"][data-list-text-size="large"] { font-size: 16px; }
.universal-list [data-list-inline-field="title"][data-list-text-size="small"] { font-size: 17px; }
.universal-list [data-list-inline-field="title"][data-list-text-size="medium"] { font-size: 21px; }
.universal-list [data-list-inline-field="title"][data-list-text-size="large"] { font-size: 27px; }
.universal-list [data-list-inline-field="detail"][data-list-text-size="small"] { font-size: 12px; }
.universal-list [data-list-inline-field="detail"][data-list-text-size="medium"] { font-size: 14px; }
.universal-list [data-list-inline-field="detail"][data-list-text-size="large"] { font-size: 18px; }
.official-editor-preview .universal-list [data-list-inline-field][contenteditable="true"] { cursor:text; touch-action:auto; -webkit-user-select:text; user-select:text; -webkit-touch-callout:default; border-radius:3px; outline:1px solid transparent; outline-offset:4px; transition:outline-color .18s,background .18s; }
.official-editor-preview .universal-list [data-list-inline-field][contenteditable="true"]:hover { outline-color:color-mix(in srgb,var(--center-highlight-color,#58b9f7) 48%,transparent); background:color-mix(in srgb,var(--center-highlight-color,#58b9f7) 7%,transparent); }
.official-editor-preview .universal-list [data-list-inline-field][contenteditable="true"]:focus { outline:2px solid var(--center-highlight-color,#58b9f7); background:color-mix(in srgb,var(--center-highlight-color,#58b9f7) 10%,transparent); }
.official-editor-page [data-contact-inline-intro][contenteditable="true"] { cursor:text; white-space:pre-wrap; border-radius:4px; outline:1px solid transparent; outline-offset:7px; transition:outline-color .18s,background .18s; }
.official-editor-page [data-contact-inline-intro][contenteditable="true"]:hover { outline-color:color-mix(in srgb,var(--center-highlight-color,#58b9f7) 48%,transparent); background:color-mix(in srgb,var(--center-highlight-color,#58b9f7) 7%,transparent); }
.official-editor-page [data-contact-inline-intro][contenteditable="true"]:focus { outline:2px solid var(--center-highlight-color,#58b9f7); background:color-mix(in srgb,var(--center-highlight-color,#58b9f7) 10%,transparent); }
.official-editor-page .event-calendar [data-calendar-item-index] { cursor:pointer; transition:background .2s ease,box-shadow .2s ease; }
.official-editor-page .event-calendar [data-calendar-item-index]:hover { background:color-mix(in srgb,var(--center-highlight-color,#58b9f7) 7%,transparent); box-shadow:inset 3px 0 0 color-mix(in srgb,var(--center-highlight-color,#58b9f7) 58%,transparent); }
.official-editor-page .event-calendar [data-calendar-inline-field][contenteditable="true"] { cursor:text; border-radius:3px; outline:1px solid transparent; outline-offset:4px; transition:outline-color .18s,background .18s; }
.official-editor-page .event-calendar [data-calendar-inline-field][contenteditable="true"]:hover { outline-color:color-mix(in srgb,var(--center-highlight-color,#58b9f7) 48%,transparent); background:color-mix(in srgb,var(--center-highlight-color,#58b9f7) 7%,transparent); }
.official-editor-page .event-calendar [data-calendar-inline-field][contenteditable="true"]:focus { outline:2px solid var(--center-highlight-color,#58b9f7); background:color-mix(in srgb,var(--center-highlight-color,#58b9f7) 10%,transparent); }
.official-editor-page .calendar-inline-date:hover,.official-editor-page .calendar-inline-date:focus-visible,.official-editor-page .calendar-inline-time:hover,.official-editor-page .calendar-inline-time:focus-visible { outline:2px solid var(--center-highlight-color,#58b9f7); outline-offset:3px; background:color-mix(in srgb,var(--center-highlight-color,#58b9f7) 10%,transparent); }

.event-calendar { width:100%; min-height:min(620px,67vh); color:inherit; }
.event-calendar > header { padding:25px 28px; border-bottom:1px solid var(--structured-line,rgba(255,255,255,.18)); display:flex; align-items:center; gap:9px; }
.event-calendar > header span { color:var(--center-highlight-color,#58b9f7); font:800 10px/1 Arial,sans-serif; letter-spacing:.15em; text-transform:uppercase; }
.event-calendar > header strong { font:500 35px/1 'EventSans',Arial,sans-serif; letter-spacing:-.05em; }
.event-calendar > header small { color:var(--structured-muted,rgba(255,255,255,.68)); font:800 8px/1 Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.calendar-download-button { min-height:34px; margin-left:auto; padding:0 12px; border:1px solid var(--structured-line,rgba(255,255,255,.2)); border-radius:999px; display:flex; align-items:center; gap:7px; color:inherit; background:transparent; cursor:pointer; transition:border-color .18s,background .18s,transform .18s; }
.calendar-download-button svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.event-calendar > header .calendar-download-button span { color:inherit; font:800 8px/1 Arial,sans-serif; letter-spacing:.1em; }
.calendar-download-button:hover,.calendar-download-button:focus-visible { border-color:var(--center-highlight-color,#58b9f7); background:color-mix(in srgb,var(--center-highlight-color,#58b9f7) 11%,transparent); transform:translateY(-1px); outline:none; }
.upcoming-calendar ol { max-height:min(500px,55vh); margin:0; padding:0; list-style:none; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:none; -ms-overflow-style:none; touch-action:pan-y; }
.upcoming-calendar ol::-webkit-scrollbar,.calendar-selection [data-calendar-event-panels]::-webkit-scrollbar { width:0; height:0; display:none; }
.upcoming-calendar li { min-height:128px; padding:21px 26px; border-bottom:1px solid var(--structured-line,rgba(255,255,255,.18)); display:grid; grid-template-columns:68px minmax(0,1fr); gap:22px; }
.upcoming-calendar li:last-child { border-bottom:0; }
.calendar-inline-date { width:100%; min-height:78px; padding:0; border:1px solid var(--structured-line,rgba(255,255,255,.18)); display:grid; place-items:center; align-content:center; gap:3px; color:inherit; background:transparent; text-align:center; cursor:default; }
.calendar-inline-date b,.calendar-inline-date small { color:var(--center-highlight-color,#58b9f7); font:800 8px/1 Arial,sans-serif; letter-spacing:.1em; }
.calendar-inline-date strong { font:500 28px/.9 'EventSans',Arial,sans-serif; }
.calendar-inline-time { margin:0; padding:0; border:0; color:var(--center-highlight-color,#58b9f7); background:transparent; font:800 9px/1.3 Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; cursor:default; }
.official-editor-page .calendar-inline-date,.official-editor-page .calendar-inline-time { cursor:pointer; }
.upcoming-calendar h3 { margin:9px 0 5px; font:600 21px/1.1 'EventSans',Arial,sans-serif; }
.upcoming-calendar p,.upcoming-calendar li > div > small { margin:0; color:var(--structured-muted,rgba(255,255,255,.68)); font:12px/1.4 'EventSerif',Georgia,serif; }
.upcoming-calendar li > div > small { display:block; margin-top:5px; white-space:pre-wrap; }
.calendar-empty { display:grid!important; place-items:center; color:var(--structured-muted,rgba(255,255,255,.68)); text-align:center; }
.calendar-weekdays,.calendar-grid { margin:0 26px; display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.calendar-weekdays { padding:19px 0 8px; }
.calendar-weekdays span { color:var(--structured-muted,rgba(255,255,255,.68)); font:800 8px/1 Arial,sans-serif; letter-spacing:.08em; text-align:center; text-transform:uppercase; }
.calendar-grid { border-top:1px solid var(--structured-line,rgba(255,255,255,.18)); border-left:1px solid var(--structured-line,rgba(255,255,255,.18)); }
.calendar-grid button,.calendar-day-empty { position:relative; min-height:52px; border:0; border-right:1px solid var(--structured-line,rgba(255,255,255,.18)); border-bottom:1px solid var(--structured-line,rgba(255,255,255,.18)); display:grid; place-items:center; color:inherit; background:transparent; font:650 12px/1 Arial,sans-serif; }
.calendar-grid button { isolation:isolate; cursor:pointer; transition:color .18s; }
.calendar-grid button::before { content:""; position:absolute; z-index:0; inset:4px; border:1px solid transparent; border-radius:8px; pointer-events:none; transition:border-color .18s,background .18s,box-shadow .18s; }
.calendar-grid button > span { position:relative; z-index:1; transition:transform .18s; }
.calendar-grid button.has-events > span { transform:translateY(-9px); }
.calendar-grid button.has-events::before { border-color:color-mix(in srgb,var(--center-highlight-color,#58b9f7) 72%,transparent); background:color-mix(in srgb,var(--center-highlight-color,#58b9f7) 16%,transparent); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--center-highlight-color,#58b9f7) 8%,transparent),0 0 12px color-mix(in srgb,var(--center-highlight-color,#58b9f7) 12%,transparent); }
.calendar-event-count { position:absolute; z-index:1; left:50%; bottom:8px; min-height:16px; padding:0 7px; border-radius:999px; display:flex; align-items:center; justify-content:center; gap:5px; color:#fff; background:color-mix(in srgb,var(--center-highlight-color,#58b9f7) 62%,rgba(7,22,40,.78)); font:800 7px/1 Arial,sans-serif; letter-spacing:.08em; white-space:nowrap; transform:translateX(-50%); }
.calendar-event-count i { width:4px; height:4px; border-radius:50%; display:block; background:var(--center-highlight-color,#58b9f7); box-shadow:0 0 6px color-mix(in srgb,var(--center-highlight-color,#58b9f7) 70%,transparent); }
.calendar-grid button:hover,.calendar-grid button:focus-visible { outline:none; }
.calendar-grid button:hover::before,.calendar-grid button:focus-visible::before { border-color:var(--center-highlight-color,#58b9f7); background:color-mix(in srgb,var(--center-highlight-color,#58b9f7) 20%,transparent); box-shadow:0 0 0 1px color-mix(in srgb,var(--center-highlight-color,#58b9f7) 26%,transparent),0 0 16px color-mix(in srgb,var(--center-highlight-color,#58b9f7) 20%,transparent); }
.calendar-grid button.is-selected { color:#fff; background:transparent; }
.calendar-grid button.is-selected::before { border:2px solid color-mix(in srgb,var(--center-highlight-color,#58b9f7) 32%,#fff); background:color-mix(in srgb,var(--center-highlight-color,#58b9f7) 42%,transparent); box-shadow:0 0 0 1px color-mix(in srgb,var(--center-highlight-color,#58b9f7) 72%,transparent),0 0 18px color-mix(in srgb,var(--center-highlight-color,#58b9f7) 50%,transparent),inset 0 0 22px color-mix(in srgb,var(--center-highlight-color,#58b9f7) 12%,transparent); }
.calendar-grid button.is-selected .calendar-event-count { color:#fff; background:color-mix(in srgb,var(--center-highlight-color,#58b9f7) 78%,rgba(7,22,40,.86)); }
.calendar-selection { margin:20px 26px 26px; border:1px solid var(--structured-line,rgba(255,255,255,.18)); }
.calendar-selection > header { padding:13px 16px; border-bottom:1px solid var(--structured-line,rgba(255,255,255,.18)); display:grid; gap:5px; }
.calendar-selection > header span { color:var(--center-highlight-color,#58b9f7); font:800 8px/1 Arial,sans-serif; letter-spacing:.12em; }
.calendar-selection > header strong { font:600 15px/1.2 'EventSans',Arial,sans-serif; }
.calendar-selection [data-calendar-event-panels] { max-height:min(270px,32vh); overflow-y:auto; overscroll-behavior:contain; scrollbar-width:none; -ms-overflow-style:none; touch-action:pan-y; }
.calendar-selection article { padding:13px 16px; border-bottom:1px solid var(--structured-line,rgba(255,255,255,.18)); display:grid; grid-template-columns:72px minmax(0,1fr); gap:13px; }
.calendar-selection article:last-child { border-bottom:0; }
.calendar-selection article[hidden],.calendar-no-events[hidden] { display:none; }
.calendar-selection .calendar-inline-time { align-self:start; text-align:left; }
.calendar-selection h3 { margin:0 0 4px; font:600 16px/1.15 'EventSans',Arial,sans-serif; }
.calendar-selection p,.calendar-selection small { margin:0; color:var(--structured-muted,rgba(255,255,255,.68)); font:11px/1.4 'EventSerif',Georgia,serif; }
.calendar-selection small { white-space:pre-wrap; }
.calendar-no-events { margin:0; padding:20px 16px; color:var(--structured-muted,rgba(255,255,255,.68)); font:13px/1.4 'EventSerif',Georgia,serif; }

.team-chat-panel { width:100%; min-height:min(620px,67vh); display:grid; grid-template-rows:auto minmax(150px,1fr) auto auto; color:inherit; }
.team-chat-panel > header { min-height:92px; padding:18px 22px; border-bottom:1px solid var(--structured-line,rgba(255,255,255,.18)); display:grid; grid-template-columns:46px minmax(0,1fr) auto; align-items:center; gap:13px; }
.team-chat-icon { width:44px; height:44px; border-radius:14px; display:grid; place-items:center; color:#06111f; background:var(--center-highlight-color,#58b9f7); font:700 21px/1 'EventSans',Arial,sans-serif; }
.team-chat-panel > header > div { min-width:0; display:grid; gap:5px; }
.team-chat-panel > header strong { font:650 20px/1.1 'EventSans',Arial,sans-serif; }
.team-chat-panel > header small { overflow:hidden; color:var(--structured-muted,rgba(255,255,255,.68)); font:12px/1.35 'EventSerif',Georgia,serif; text-overflow:ellipsis; white-space:nowrap; }
.team-chat-panel > header i { width:8px; height:8px; border-radius:50%; background:#52d08c; box-shadow:0 0 0 5px rgba(82,208,140,.12); }
.team-chat-scroll-region { position:relative; min-height:0; max-height:min(430px,48vh); overflow:hidden; }
.team-chat-panel ol { width:100%; height:100%; max-height:none; margin:0; padding:16px 22px 16px 20px; list-style:none; display:grid; align-content:start; gap:15px; overflow:auto; overscroll-behavior:contain; scrollbar-width:none; -ms-overflow-style:none; }
.team-chat-panel ol::-webkit-scrollbar { width:0; height:0; display:none; }
.team-chat-scroll-indicator { position:absolute; z-index:2; top:15px; right:6px; bottom:15px; width:2px; overflow:hidden; border-radius:999px; opacity:0; pointer-events:none; transition:opacity 160ms ease; }
.team-chat-scroll-indicator > span { position:absolute; top:0; left:0; width:2px; min-height:26px; border-radius:999px; background:var(--center-highlight-color,#58b9f7); box-shadow:0 0 8px color-mix(in srgb,var(--center-highlight-color,#58b9f7) 28%,transparent); transform:translate3d(0,0,0); will-change:height,transform; }
.team-chat-scroll-region.has-scroll-overflow .team-chat-scroll-indicator { opacity:.28; }
.team-chat-scroll-region.has-scroll-overflow:hover .team-chat-scroll-indicator,
.team-chat-scroll-region.has-scroll-overflow.is-scrolling .team-chat-scroll-indicator { opacity:.78; }
.team-chat-panel li { display:grid; grid-template-columns:36px minmax(0,1fr); align-items:start; gap:11px; }
.team-chat-panel li > span { width:36px; height:36px; border:1px solid var(--structured-line,rgba(255,255,255,.18)); border-radius:50%; display:grid; place-items:center; color:var(--center-highlight-color,#58b9f7); font:800 11px/1 Arial,sans-serif; }
.team-chat-panel li > div { min-width:0; padding:11px 13px; border-radius:0 15px 15px 15px; background:color-mix(in srgb,var(--center-highlight-color,#58b9f7) 11%,transparent); }
.team-chat-panel li header { display:flex; align-items:baseline; gap:7px; }
.team-chat-panel li header strong { font:700 12px/1.2 'EventSans',Arial,sans-serif; }
.team-chat-panel li header em { color:var(--center-highlight-color,#58b9f7); font:800 7px/1 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.team-chat-panel li header time { margin-left:auto; color:var(--structured-muted,rgba(255,255,255,.68)); font:8px/1 Arial,sans-serif; }
.team-chat-panel li p { margin:6px 0 0; white-space:pre-wrap; color:var(--structured-muted,rgba(255,255,255,.78)); font:13px/1.45 'EventSerif',Georgia,serif; }
.team-chat-panel li.team-chat-empty { min-height:130px; padding:28px; display:grid; place-items:center; color:var(--structured-muted,rgba(255,255,255,.62)); font:13px/1.45 'EventSerif',Georgia,serif; text-align:center; }
.team-chat-panel form { padding:14px 18px; border-top:1px solid var(--structured-line,rgba(255,255,255,.18)); display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px; }
.team-chat-panel form[hidden] { display:none; }
.team-chat-panel form label { min-width:0; }
.team-chat-panel form input { width:100%; min-height:44px; border:1px solid var(--structured-line,rgba(255,255,255,.18)); border-radius:999px; padding:0 16px; color:inherit; background:rgba(255,255,255,.08); outline:none; font:13px/1 'EventSans',Arial,sans-serif; }
.team-chat-panel form input::placeholder { color:var(--structured-muted,rgba(255,255,255,.55)); }
.team-chat-panel form input:focus { border-color:var(--center-highlight-color,#58b9f7); box-shadow:0 0 0 3px color-mix(in srgb,var(--center-highlight-color,#58b9f7) 13%,transparent); }
.team-chat-panel form button { min-width:88px; border:0; border-radius:999px; padding:0 16px; display:flex; align-items:center; justify-content:space-between; gap:12px; color:#06111f; background:#fff; font:800 9px/1 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.team-chat-panel form button:disabled { opacity:.55; cursor:wait; }
.team-chat-panel [data-team-chat-status] { min-height:12px; grid-column:1/-1; padding:0 5px; color:var(--structured-muted,rgba(255,255,255,.68)); font:700 9px/1.3 'EventSans',Arial,sans-serif; }
.team-chat-signin { min-height:74px; padding:14px 18px; border-top:1px solid var(--structured-line,rgba(255,255,255,.18)); display:flex; align-items:center; justify-content:space-between; gap:18px; }
.team-chat-signin > span { min-width:0; display:grid; gap:5px; }
.team-chat-signin strong { font:700 13px/1.2 'EventSans',Arial,sans-serif; }
.team-chat-signin small { color:var(--structured-muted,rgba(255,255,255,.68)); font:11px/1.35 'EventSerif',Georgia,serif; }
.team-chat-signin a { min-height:40px; padding:0 18px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; color:#06111f; background:#fff; font:800 9px/1 Arial,sans-serif; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.team-chat-demo-note,.team-chat-panel > footer { padding:0 18px 14px; color:var(--structured-muted,rgba(255,255,255,.55)); font:800 7px/1.3 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.team-chat-panel > footer { padding-top:14px; border-top:1px solid var(--structured-line,rgba(255,255,255,.18)); }
.center-logo-content { --graphic-scale: 100%; position: relative; width: 100%; min-width: 0; min-height: 0; display: grid; place-items: center; overflow: hidden; }
.center-logo-content img { position: absolute; left: 50%; top: 50%; display: block; width: var(--graphic-scale); height: var(--graphic-scale); max-width: 100%; max-height: 100%; object-fit: contain; transform: translate(-50%,-50%); }
.center-layout-columns .structured-content-logo,
.center-layout-rows .structured-content-logo,
.center-layout-columns .center-logo-content,
.center-layout-rows .center-logo-content { width: 100%; height: 100%; min-width: 0; min-height: 0; }
.center-logo-placeholder { min-width: 260px; min-height: 180px; padding: 24px; border: 1px dashed currentColor; display: grid; place-items: center; align-content: center; gap: 10px; color: inherit; background: transparent; opacity: .5; cursor: pointer; }
.center-logo-placeholder:hover, .center-logo-placeholder:focus-visible { opacity: .8; outline: 2px solid #58b9f7; outline-offset: 5px; }
.center-logo-placeholder span { font: 800 10px/1 Arial,sans-serif; letter-spacing: .18em; }
.center-logo-placeholder strong { font: 20px/1.2 'EventSans',sans-serif; }
.center-logo-tools .background-upload-drop { margin-bottom: 20px; }
.center-logo-tools .account-media-library-grid-only { margin-top: 12px; }
.center-logo-tools .graphic-scale-control + .account-media-library-trigger { margin-top: 20px; }
.graphic-scale-control .exposure-labels span:last-child { text-align: right; }
.gallery-media-upload { margin: 0; }

@media (max-width: 700px) {
  .center-composition-layout { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .center-composition-layout button { min-height: 64px; }
  .center-content-card-main { padding-left: 14px; }
  .center-content-card-main strong { font-size: 17px; }
  .center-content-type-popover { width: min(220px,calc(100vw - 28px)); }
  .center-layout-columns > .chapter-inner { width: 50% !important; padding-left: 12px !important; padding-right: 12px !important; }
  .center-companion-region { padding-left: 12px; padding-right: 12px; }
  .center-layout-columns .center-region-countdown[data-countdown-style="classic"] .countdown-unit { padding-inline: 2px; }
  .center-layout-columns .center-region-countdown[data-countdown-style="classic"] .countdown-unit strong { font-size: clamp(26px,7.4vw,54px); letter-spacing: -.05em; }
  .center-layout-columns .center-region-countdown[data-countdown-style="classic"] .countdown-unit span { font-size: clamp(5px,1.4vw,8px); letter-spacing: .08em; }
  .universal-list li { grid-template-columns: 42px minmax(0,1fr); gap: 9px; }
  .universal-list li.has-icon { grid-template-columns: 52px minmax(0,1fr); gap: 12px; }
  .universal-list li.has-no-label:not(.has-icon) { grid-template-columns:minmax(0,1fr); }
  .universal-list-icon-wrap { max-width: 52px; }
  .universal-list-icon { width: 42px; height: 42px; }
  .universal-list-icon.material-symbol { width: 40px; height: 40px; font-size: 32px; }
  .universal-list-icon-wrap small { max-width: 52px; }
  .event-calendar,.team-chat-panel { min-height:0; max-height:62vh; }
  .event-calendar > header { padding:16px 17px; }
  .upcoming-calendar li { min-height:104px; padding:14px 15px; grid-template-columns:54px minmax(0,1fr); gap:13px; }
  .calendar-inline-date { min-height:68px; }
  .calendar-weekdays,.calendar-grid { margin-left:12px; margin-right:12px; }
  .calendar-grid button,.calendar-day-empty { min-height:40px; }
  .calendar-selection { margin:14px 12px 16px; }
  .team-chat-panel > header { min-height:76px; padding:13px 14px; grid-template-columns:38px minmax(0,1fr) auto; }
  .team-chat-icon { width:36px; height:36px; border-radius:11px; }
  .team-chat-panel ol { padding:12px 17px 12px 13px; }
  .team-chat-scroll-indicator { top:12px; right:5px; bottom:12px; }
  .team-chat-panel form { padding:11px 12px; grid-template-columns:minmax(0,1fr) auto; }
  .team-chat-panel form button { min-width:70px; padding:0 12px; }
  .team-chat-signin { padding:12px; }
}

/* Live-page Edit rail -----------------------------------------------------
   Edit is a sibling of Pages. It never owns, clones, scales, or replaces the
   story; opening it changes only this rail transform and the story-shell width. */
.edit-panel {
  position: fixed;
  z-index: 95;
  top: var(--header-h);
  right: 0;
  bottom: 0;
  width: min(400px, 100%);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #f2f5f8;
  color: var(--ink);
  box-shadow: -20px 0 52px rgba(0,0,0,.22);
  contain: layout paint style;
  transform: translate3d(110%,0,0);
  transition: transform .42s cubic-bezier(.22,.8,.24,1);
  will-change: transform;
  visibility: visible;
  pointer-events: none;
}
.edit-panel.is-open { transform: translate3d(0,0,0); pointer-events: auto; }
.edit-panel-header {
  min-height: 76px;
  padding: 18px 18px 14px 24px;
  border-bottom: 1px solid rgba(7,22,40,.1);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  background: #f2f5f8;
}
.edit-panel-heading { min-width: 0; display: grid; gap: 5px; }
.edit-panel-heading span { color: #7a8998; font: 800 8px/1 Arial,sans-serif; letter-spacing: .15em; text-transform: uppercase; }
.edit-panel-heading strong { overflow: hidden; color: #102033; font: 700 17px/1.15 Arial,sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.edit-panel-actions { display: flex; align-items: center; gap: 8px; }
.edit-panel .editor-pin-button { position: static; width: 38px; height: 38px; }
.edit-panel-body { flex: 1 1 auto; min-height: 0; overflow: hidden; }
.edit-panel .visual-editor-tools,
.edit-panel .module-editor {
  position: static;
  width: 100%;
  height: 100%;
  max-height: none;
  padding: 0 0 56px;
  overflow-x: hidden;
  overflow-y: auto;
  opacity: 1;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  transform: none;
  transition: none;
  scrollbar-gutter: stable;
}
.edit-panel .module-editor { display: block; }
.edit-panel .module-editor[hidden],
.edit-panel .official-editor-tools[hidden] { display: none; }
.edit-panel .module-editor .editor-back,
.edit-panel .module-editor .editor-done { display: none; }
.edit-panel .module-editor .editor-heading { margin-top: 0; }

@media (min-width: 901px) {
  body.has-open-edit-panel .story-shell { width: calc(100% - 400px); margin-right: 400px; }
  body.has-open-organizer.has-open-edit-panel .story-shell { width: calc(100% - 760px); margin-left: 360px; margin-right: 400px; }
}

/* Editing affordances belong to the live chapter without changing its size. */
.story-shell .official-editor-preview {
  width: 100%;
  height: var(--story-page-height);
  min-height: var(--story-page-height);
  max-height: var(--story-page-height);
  transform: none;
  transition: none;
  will-change: auto;
  scroll-snap-align: start;
}
.story-shell .official-editor-preview .chapter-inner { height: var(--story-page-height); min-height: 0; }
/* The live-page editor keeps the authored canvas at full height. The older
   scaled-preview editor reserved 84px below bottom corner tools; retaining
   that inset here made them jump upward as soon as Edit opened. */
.story-shell .official-editor-preview .universal-overlay[data-overlay-position="bottom-left"],
.story-shell .official-editor-preview .universal-overlay[data-overlay-position="bottom-right"] { bottom: 26px; }

@media (max-width: 900px) {
  .edit-panel { top: 68px; width: 100%; }
  .edit-panel-header { min-height: 66px; padding: 13px 16px 11px 20px; }
  .edit-panel-body { background: #f2f5f8; }
  .edit-panel .visual-editor-tools,
  .edit-panel .module-editor { padding: 0 0 48px; }
  .story-shell .official-editor-preview .universal-overlay[data-overlay-position="bottom-left"],
  .story-shell .official-editor-preview .universal-overlay[data-overlay-position="bottom-right"] { bottom: 16px; }
}

/* Same-origin single-editor safeguard. This layer is intentionally stronger
   than every builder sheet and has no dismiss target: the user must either
   take ownership safely or return to My Sites. */
.edit-ownership-dialog {
  position: fixed;
  inset: 0;
  z-index: 50000;
  display: grid;
  place-items: center;
  padding: clamp(18px, 5vw, 52px);
  background: rgba(3, 13, 24, .82);
  backdrop-filter: blur(10px);
}
.edit-ownership-dialog[hidden] { display: none; }
.edit-ownership-sheet {
  width: min(100%, 610px);
  padding: clamp(30px, 5vw, 54px);
  border: 1px solid rgba(7, 22, 40, .14);
  border-radius: 18px;
  color: #071628;
  background: #f7f4ee;
  box-shadow: 0 32px 90px rgba(0, 0, 0, .34);
}
.edit-ownership-kicker {
  margin: 0 0 12px;
  color: #168edb;
  font: 850 11px/1 Arial, sans-serif;
  letter-spacing: .17em;
}
.edit-ownership-sheet h2 {
  margin: 0;
  max-width: 520px;
  font: 850 clamp(32px, 5vw, 54px)/.98 Arial, sans-serif;
  letter-spacing: -.045em;
}
.edit-ownership-sheet > p:not(.edit-ownership-kicker) {
  margin: 20px 0 0;
  color: #4d5c6d;
  font: 500 17px/1.55 Georgia, serif;
}
.edit-ownership-sheet .edit-ownership-status {
  min-height: 1.5em;
  margin-top: 12px;
  color: #687789;
  font: 650 13px/1.45 Arial, sans-serif;
}
.edit-ownership-actions {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  gap: 10px;
  margin-top: 28px;
}
.edit-ownership-actions button {
  min-height: 56px;
  padding: 12px 18px;
  border: 1px solid #cbd3dc;
  border-radius: 9px;
  color: #071628;
  background: #fff;
  font: 800 14px/1 Arial, sans-serif;
  cursor: pointer;
}
.edit-ownership-actions button:focus-visible { outline: 3px solid rgba(36, 152, 237, .42); outline-offset: 3px; }
.edit-ownership-actions .edit-ownership-takeover { border-color: #2498ed; color: #fff; background: #168edb; }
.edit-ownership-actions .edit-ownership-takeover:hover { background: #087dce; }
.edit-ownership-actions button:disabled { cursor: wait; opacity: .68; }
body.is-editing-ownership-blocked { overflow: hidden; }

@media (max-width: 560px) {
  .edit-ownership-sheet { padding: 28px 24px; border-radius: 14px; }
  .edit-ownership-actions { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .team-chat-panel form { grid-template-columns:1fr auto; }
  .team-chat-signin { align-items:stretch; flex-direction:column; }
  .team-chat-signin a { width:100%; }
}

/* Structured event templates: itinerary, venue, contact, menu, guidance, RSVP, partners, and audio */
.structured-module { --structured-ink: #fff; --structured-muted: rgba(255,255,255,.68); --structured-line: rgba(255,255,255,.2); --structured-panel: rgba(2,13,24,.28); position: relative; overflow: hidden; color: var(--structured-ink); background: var(--structured-color, #071628); isolation: isolate; }
.structured-module.has-light-background { --structured-ink: #071628; --structured-muted: rgba(7,22,40,.64); --structured-line: rgba(7,22,40,.17); --structured-panel: rgba(255,255,255,.38); }
.structured-atmosphere { display: none; }
.structured-layout { width: min(1440px,100%); margin: 0 auto; padding: clamp(112px,13vh,160px) clamp(34px,7vw,108px) clamp(58px,8vh,94px); display: grid; grid-template-columns: minmax(280px,.78fr) minmax(440px,1.22fr); align-items: center; gap: clamp(48px,7vw,116px); }
.structured-copy { align-self: center; max-width: 650px; }
.structured-copy > p:first-child { margin: 0 0 24px; color:var(--center-highlight-color,#58b9f7); font: 800 10px/1 Arial,sans-serif; letter-spacing: .18em; text-transform: uppercase; }
.structured-copy h2 { margin: 0; font: 400 clamp(58px,7vw,116px)/.87 Arial,sans-serif; letter-spacing: -.07em; text-wrap: balance; }
.structured-copy > p:last-child { max-width: 520px; margin: 26px 0 0; color: var(--structured-muted); font: 17px/1.55 Georgia,serif; }
.structured-content { min-width: 0; max-height: min(72vh,760px); overflow: auto; border: 1px solid var(--structured-line); background: var(--structured-panel); box-shadow: 0 28px 90px rgba(0,0,0,.18); backdrop-filter: blur(18px); scrollbar-width: thin; }
.structured-content a { color: inherit; }
.structured-content-calendar { max-height: none; overflow: visible; border: 0; background: transparent; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
.structured-content-calendar .event-calendar { max-height: none; overflow: visible; }

.structured-schedule { margin: 0; padding: 0; list-style: none; counter-reset: itinerary; }
.structured-schedule li { min-height: 112px; padding: 23px 25px; border-bottom: 1px solid var(--structured-line); display: grid; grid-template-columns: 92px minmax(0,1fr) 34px; align-items: start; gap: 18px; }
.structured-schedule li:last-child { border-bottom: 0; }
.structured-schedule time, .structured-schedule b { font: 800 10px/1.2 Arial,sans-serif; letter-spacing: .12em; }
.structured-schedule span { display: grid; gap: 7px; }
.structured-schedule strong { font: 600 20px/1.15 Arial,sans-serif; }
.structured-schedule em, .structured-schedule small { color: var(--structured-muted); font: normal 12px/1.35 Arial,sans-serif; }
.structured-schedule b { color:var(--center-highlight-color,#58b9f7); text-align: right; }

.venue-panel { min-height: 550px; display: grid; grid-template-columns: 1.08fr .92fr; }
.venue-map { position:relative; min-height:310px; grid-row:span 2; overflow:hidden; background:var(--location-map-surface,#dff1fd); isolation:isolate; }
.venue-map-canvas { position:absolute; inset:-2%; width:104%; height:104%; z-index:0; background:var(--location-map-surface,#eef2f4); filter:grayscale(1) saturate(.12) contrast(.82) brightness(1.16); opacity:.9; transform:scale(1.02); transform-origin:center; transition:filter .28s ease,opacity .28s ease; }
.venue-map-style-soft .venue-map-canvas { filter:grayscale(.08) sepia(.1) saturate(.72) contrast(.94) brightness(1.06); opacity:.96; }
.venue-map-style-contrast .venue-map-canvas { filter:grayscale(.06) saturate(1.22) contrast(1.34) brightness(.84); opacity:1; }
.venue-map-canvas .leaflet-control-attribution { margin:0; padding:2px 5px; border-radius:7px 0 0 0; background:rgba(255,255,255,.72); color:#4b5d6f; font:9px/1.25 Arial,sans-serif; }
.venue-map-canvas .leaflet-control-attribution a { color:#0a5f9d; }
.venue-map-canvas .leaflet-tile-pane { opacity:.9; }
.venue-map-loading { position:absolute; z-index:1; left:50%; top:50%; width:28px; height:28px; margin:-14px 0 0 -14px; border:2px solid color-mix(in srgb,var(--location-map-primary) 24%,transparent); border-top-color:var(--location-map-primary); border-radius:50%; animation:venue-map-spin .8s linear infinite; transition:opacity .2s ease; }
.venue-map.is-ready .venue-map-loading,.venue-map.is-error .venue-map-loading { opacity:0; }
.venue-map.is-error::before { content:"Map unavailable"; position:absolute; z-index:4; left:50%; top:50%; transform:translate(-50%,-50%); color:var(--location-map-road,#071628); font:700 12px/1.2 var(--sans); letter-spacing:.08em; text-transform:uppercase; }
.venue-map-tint { position:absolute; inset:0; z-index:1; pointer-events:none; background:radial-gradient(circle at 52% 46%,color-mix(in srgb,var(--location-map-primary) 15%,transparent) 0 5%,transparent 24%); opacity:.62; }
.venue-map::after { content:""; position:absolute; inset:0; z-index:2; pointer-events:none; border:1px solid color-mix(in srgb,var(--location-map-primary) 34%,rgba(7,22,40,.18)); box-shadow:inset 0 0 0 1px rgba(255,255,255,.14); }
.venue-map-marker { position:absolute; z-index:3; width:30px; height:30px; left:52%; top:46%; border:2px solid rgba(255,255,255,.9); border-radius:50% 50% 50% 0; transform:rotate(-45deg); transform-origin:center; background:var(--location-map-primary,#168fe3); box-shadow:0 10px 30px rgba(0,0,0,.28); animation:venue-marker-breathe 2.8s ease-in-out infinite; will-change:transform,opacity,box-shadow; }
.venue-map-marker i { position:absolute; width:8px; height:8px; left:9px; top:9px; border-radius:50%; background:#fff; }
@keyframes venue-marker-breathe {
  0%,100% { opacity:.42; transform:rotate(-45deg) scale(.88); box-shadow:0 6px 18px color-mix(in srgb,var(--center-highlight-color,#58b9f7) 16%,transparent); }
  50% { opacity:1; transform:rotate(-45deg) scale(1.06); box-shadow:0 8px 32px color-mix(in srgb,var(--center-highlight-color,#58b9f7) 50%,transparent); }
}
@keyframes venue-map-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .venue-map-marker,.venue-map-loading { animation:none; } }
.venue-primary { padding:34px; border-bottom:1px solid var(--structured-line); display:grid; align-content:center; gap:13px; }
.venue-primary small,.contact-module-grid aside small { color:var(--center-highlight-color,#58b9f7); font:800 9px/1 Arial,sans-serif; letter-spacing:.16em; }
.venue-primary h3,.contact-module-grid aside h3 { margin:0; font:500 32px/1 Arial,sans-serif; letter-spacing:-.045em; }
.venue-primary a { color:var(--structured-muted); font:12px/1.5 Arial,sans-serif; }
.venue-panel dl,.dress-code-panel dl { margin:0; padding:26px 34px; display:grid; gap:18px; }
.venue-panel dl div,.dress-code-panel dl div { display:grid; grid-template-columns:72px 1fr; gap:15px; }
.venue-panel dt,.dress-code-panel dt { color:var(--center-highlight-color,#58b9f7); font:800 9px/1.3 Arial,sans-serif; text-transform:uppercase; letter-spacing:.12em; }
.venue-panel dd,.dress-code-panel dd { margin:0; color:var(--structured-muted); font:13px/1.45 Georgia,serif; }
.venue-panel dl div { grid-template-columns:1fr; gap:6px; }
.venue-panel dt { font-size:13px; line-height:1.15; letter-spacing:.14em; }
.venue-panel dl .venue-detail-row.has-icon { grid-template-columns:46px minmax(0,1fr); grid-template-rows:auto 1fr; column-gap:14px; align-items:start; }
.venue-detail-row.has-icon dt,.venue-detail-row.has-icon dd { grid-column:2; }
.venue-detail-icon { width:44px; height:44px; grid-column:1; grid-row:1 / 3; border:1px solid var(--structured-line); border-radius:50%; display:grid; place-items:center; overflow:hidden; color:var(--structured-ink); background:rgba(255,255,255,.07); }
.venue-detail-icon img { width:100%; height:100%; display:block; object-fit:cover; }
.venue-detail-icon .venue-detail-symbol { font-size:24px; }
.venue-panel [data-location-inline-field] { border-radius:3px; outline:0 solid transparent; transition:outline-color .16s ease,background .16s ease; }
.venue-panel [data-location-inline-field]:hover { background:color-mix(in srgb,var(--location-map-primary) 13%,transparent); outline:4px solid color-mix(in srgb,var(--location-map-primary) 13%,transparent); }
.venue-panel [data-location-inline-field]:focus { background:color-mix(in srgb,var(--location-map-primary) 17%,transparent); outline:4px solid color-mix(in srgb,var(--location-map-primary) 17%,transparent); }

.contact-module-grid { width:min(720px,calc(100% - 48px)); min-height:560px; margin:0 auto; padding:clamp(30px,5vw,58px); display:grid; align-content:center; gap:24px; }
.contact-module-heading { display:grid; justify-items:start; gap:12px; }
.contact-module-heading small { color:var(--center-highlight-color,#58b9f7); font:800 10px/1 Arial,sans-serif; letter-spacing:.18em; }
.contact-module-heading h3 { max-width:620px; margin:0; color:var(--structured-ink); font:500 clamp(30px,4vw,54px)/1 Arial,sans-serif; letter-spacing:-.05em; text-wrap:balance; }
.contact-module-intro { display:flex; align-items:center; gap:clamp(15px,2.2vw,24px); }
.contact-module-icon { width:68px; height:68px; flex:0 0 68px; border:1px solid var(--structured-line); border-radius:50%; display:block; object-fit:cover; background:rgba(255,255,255,.07); }
.contact-module-symbol { display:grid; place-items:center; color:var(--structured-ink); font-size:36px; }
.contact-public-recipient { color:var(--structured-muted); font:13px/1.4 Arial,sans-serif; }
.contact-module-grid aside { padding:36px; border-right:1px solid var(--structured-line); display:flex; flex-direction:column; align-items:flex-start; }
.contact-module-grid aside a { margin:6px 0; color:inherit; font:13px/1.35 Arial,sans-serif; }
.contact-module-grid aside p { margin:auto 0 0; color:var(--structured-muted); font:13px/1.5 Georgia,serif; }
.contact-module-grid form { padding:0; display:grid; gap:15px; }
.structured-rsvp { padding:32px; display:grid; gap:13px; }
.contact-module-grid form > p { margin:0 0 4px; color:var(--structured-muted); font:14px/1.4 Georgia,serif; }
.contact-module-grid label,.structured-rsvp > label { display:grid; gap:6px; color:var(--structured-muted); font:800 8px/1 Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.contact-module-grid input,.contact-module-grid textarea,.structured-rsvp input,.structured-rsvp select { width:100%; border:0; border-bottom:1px solid var(--structured-line); border-radius:0; padding:9px 0; color:var(--structured-ink); background:transparent; font:14px/1.35 Arial,sans-serif; outline:none; }
.contact-module-grid textarea { min-height:70px; resize:vertical; }
.contact-module-grid input:focus,.contact-module-grid textarea:focus,.structured-rsvp input:focus,.structured-rsvp select:focus { border-color:var(--center-highlight-color,#58b9f7); }
.contact-module-grid button,.structured-rsvp button { min-height:43px; border:0; margin-top:4px; padding:0 16px; display:flex; justify-content:space-between; align-items:center; color:#06111f; background:#fff; font:800 9px/1 Arial,sans-serif; letter-spacing:.11em; text-transform:uppercase; }
.contact-module-grid button:disabled { opacity:.4; cursor:not-allowed; }
.contact-module-grid output { min-height:18px; color:var(--structured-muted); font:11px/1.4 Arial,sans-serif; }
.contact-module-grid output:empty { display:none; }
.structured-rsvp output { min-height:30px; color:var(--structured-muted); font:11px/1.4 Arial,sans-serif; }

.contact-routing-editor { margin:0 0 17px; display:grid; gap:11px; }
.contact-live-notice { padding:14px; border:2px solid #168fe3; border-radius:10px; display:grid; grid-template-columns:30px minmax(0,1fr); gap:11px; background:#eaf7ff; color:#15304a; box-shadow:0 8px 22px rgba(22,143,227,.12); }
.contact-live-notice > span { width:30px; height:30px; border-radius:50%; display:grid; place-items:center; background:#168fe3; color:#fff; font:800 15px/1 Arial,sans-serif; }
.contact-live-notice strong { display:block; color:#071628; font:800 13px/1.2 Arial,sans-serif; }
.contact-live-notice p { margin:5px 0 0; color:#40566c; font:11px/1.45 Georgia,serif; }
.contact-delivery-options { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.contact-delivery-option { position:relative; min-height:68px; padding:11px; border:1px solid rgba(7,22,40,.14); border-radius:8px; display:grid; grid-template-columns:18px minmax(0,1fr); align-items:start; gap:8px; background:#fff; color:#33475c; cursor:pointer; }
.contact-delivery-option:has(input:checked) { border-color:#168fe3; background:#eef8ff; box-shadow:inset 0 0 0 1px rgba(22,143,227,.2); }
.contact-delivery-option input { width:16px; height:16px; margin:1px 0 0; accent-color:#168fe3; }
.contact-delivery-option span { display:grid; gap:4px; }
.contact-delivery-option strong { color:#102033; font:800 10px/1.2 Arial,sans-serif; }
.contact-delivery-option small { color:#6b7b8d; font:9px/1.35 Arial,sans-serif; }
.contact-email-routing { padding:11px; border:1px solid rgba(22,143,227,.2); border-radius:8px; background:#f6fbff; }
.contact-email-routing[hidden] { display:none; }
.contact-email-allowance-note { margin:0 0 11px; padding:9px 10px; border-left:3px solid #e89b24; display:grid; gap:3px; background:#fff8e8; color:#765216; font:10px/1.4 Arial,sans-serif; }
.contact-email-allowance-note strong { font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
.contact-email-routing .structured-field:last-of-type { margin-bottom:7px; }
.contact-email-confirm { align-items:flex-start; margin:8px 0 2px; }

@media (max-width:520px) {
  .contact-delivery-options { grid-template-columns:1fr; }
}

.menu-course-list { margin:0; padding:0; list-style:none; }
.menu-course-list li { min-height:116px; padding:23px 27px; border-bottom:1px solid var(--structured-line); display:grid; grid-template-columns:76px minmax(0,1fr) auto; gap:22px; }
.menu-course-list li:last-child { border-bottom:0; }
.menu-course-list > li > span,.menu-course-list b { color:var(--center-highlight-color,#58b9f7); font:800 9px/1.2 Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.menu-course-list strong { font:600 20px/1.15 Arial,sans-serif; }
.menu-course-list p { margin:7px 0; color:var(--structured-muted); font:14px/1.4 Georgia,serif; }
.menu-course-list small { color:var(--structured-muted); font:800 8px/1 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }

.dress-code-panel { min-height:500px; padding:40px; }
.dress-swatch-row { display:grid; grid-template-columns:repeat(4,1fr); height:72px; margin-bottom:42px; }
.dress-swatch-row i:nth-child(1) { background:#071628; }
.dress-swatch-row i:nth-child(2) { background:#25496a; }
.dress-swatch-row i:nth-child(3) { background:#b19a7c; }
.dress-swatch-row i:nth-child(4) { background:#d9c9b7; }
.dress-code-panel h3 { max-width:520px; margin:0; font:500 clamp(34px,4vw,62px)/.95 Arial,sans-serif; letter-spacing:-.055em; }
.dress-code-panel > p { margin:18px 0 36px; color:var(--structured-muted); font:15px/1.45 Georgia,serif; }
.dress-code-panel dl { padding:0; border-top:1px solid var(--structured-line); border-bottom:1px solid var(--structured-line); }
.dress-code-panel > a { display:inline-block; margin-top:26px; font:800 9px/1 Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; }

.bring-module { width:min(920px,100%); margin:auto; color:var(--structured-ink); font-family:Arial,sans-serif; }
.bring-list { margin:0; padding:0; list-style:none; border-top:1px solid var(--structured-line); }
.bring-list li { min-height:118px; padding:22px 0; border-bottom:1px solid var(--structured-line); display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:32px; transition:opacity .24s ease; }
.bring-item-copy { min-width:0; display:grid; gap:10px; }
.bring-item-copy.has-icon { grid-template-columns:58px minmax(0,1fr); align-items:start; gap:18px; }
.bring-item-details { min-width:0; display:grid; gap:10px; }
.bring-item-details > strong { font:600 clamp(18px,2vw,25px)/1.1 Arial,sans-serif; overflow-wrap:anywhere; }
.bring-item-icon { width:58px; height:58px; border:1px solid var(--structured-line); border-radius:50%; display:grid; place-items:center; overflow:hidden; color:var(--center-highlight-color,#58b9f7); background:color-mix(in srgb,var(--structured-ink) 7%,transparent); }
.bring-item-icon img { width:100%; height:100%; display:block; object-fit:cover; }
.bring-item-icon .bring-item-symbol { font-size:30px; }
.bring-claim-progress { display:grid; grid-template-columns:minmax(120px,1fr) auto; align-items:center; gap:8px 14px; max-width:560px; }
.bring-claim-progress > i { grid-column:1/-1; height:3px; overflow:hidden; background:color-mix(in srgb,currentColor 18%,transparent); }
.bring-claim-progress > i > b { display:block; width:var(--bring-progress,0%); height:100%; background:currentColor; transition:width .32s cubic-bezier(.2,.7,.2,1); }
.bring-claim-progress > span,.bring-claim-progress > small { font:700 10px/1.2 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.bring-claim-progress > small { color:var(--structured-muted); text-align:right; }
.bring-claimants { margin:0; color:var(--structured-muted); font:12px/1.45 Arial,sans-serif; }
.bring-claim-form { display:flex; align-items:end; gap:8px; }
.bring-claim-form label { display:grid; gap:5px; }
.bring-claim-form label span { font:800 8px/1 Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.bring-claim-form input { width:74px; min-height:42px; border:1px solid var(--structured-line); border-radius:0; padding:0 12px; color:inherit; background:transparent; font:700 14px/1 Arial,sans-serif; }
.bring-claim-form button,.bring-add-item-form button { min-width:110px; min-height:42px; border:1px solid currentColor; padding:0 16px; color:var(--structured-color,#071628); background:var(--structured-ink,#fff); font:800 9px/1 Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; }
.bring-list li.is-fully-claimed { opacity:.72; }
.bring-list li.is-fully-claimed .bring-claim-progress > span { color:#41b989; }
.bring-add-item-form { margin-top:24px; padding:22px; border:1px solid var(--structured-line); display:grid; grid-template-columns:minmax(180px,1fr) minmax(140px,1fr) 96px auto; align-items:end; gap:12px; }
.bring-add-item-form header { display:grid; gap:5px; }
.bring-add-item-form header small,.bring-add-item-form label span { font:800 8px/1 Arial,sans-serif; letter-spacing:.11em; text-transform:uppercase; }
.bring-add-item-form header strong { font:600 16px/1.2 Arial,sans-serif; }
.bring-add-item-form label { display:grid; gap:6px; }
.bring-add-item-form input { min-width:0; min-height:42px; border:1px solid var(--structured-line); border-radius:0; padding:0 12px; color:inherit; background:transparent; font:600 13px/1 Arial,sans-serif; }
.bring-add-item-form label:nth-of-type(2) input { width:100%; }
.bring-status { display:block; min-height:18px; margin-top:12px; color:var(--structured-muted); font:11px/1.4 Arial,sans-serif; }
.bring-status:empty { display:none; }
.bring-auth-dialog { width:min(460px,calc(100vw - 32px)); border:0; padding:0; color:#071628; background:transparent; }
.bring-auth-dialog::backdrop { background:rgba(2,10,20,.7); backdrop-filter:blur(8px); }
.bring-auth-card { position:relative; margin:0; padding:34px; border-radius:22px; background:#f5f2ec; box-shadow:0 24px 80px rgba(0,0,0,.32); display:grid; gap:18px; }
.bring-auth-card > button:first-child { position:absolute; top:14px; right:14px; width:38px; height:38px; border:0; border-radius:50%; color:#fff; background:#2196e6; font-size:22px; cursor:pointer; }
.bring-auth-card small { color:#168bd7; font:800 10px/1 Arial,sans-serif; letter-spacing:.14em; }
.bring-auth-card h2 { margin:0; font:700 30px/1 Arial,sans-serif; }
.bring-auth-card p { margin:0; color:#5b6470; font:16px/1.45 Georgia,serif; }
.bring-auth-card label { display:grid; gap:7px; color:#4d5866; font:800 9px/1 Arial,sans-serif; letter-spacing:.09em; text-transform:uppercase; }
.bring-auth-card input { min-height:48px; border:1px solid #cdd4dc; padding:0 14px; color:#071628; background:#fff; font:600 15px/1 Arial,sans-serif; }
.bring-auth-card .bring-auth-submit { min-height:48px; border:0; border-radius:999px; color:#fff; background:#2196e6; font:800 11px/1 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.bring-auth-forgot { width:max-content; color:#087bcb; font:700 12px/1.4 Arial,sans-serif; text-underline-offset:4px; }
.bring-auth-card output { min-height:17px; color:#b23b31; font:12px/1.4 Arial,sans-serif; }

.structured-rsvp { min-height:560px; align-content:center; padding:38px; }
.rsvp-choice-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:8px; }
.rsvp-choice-row label { position:relative; }
.rsvp-choice-row input { position:absolute; opacity:0; }
.rsvp-choice-row span { min-height:56px; border:1px solid var(--structured-line); display:grid; place-items:center; color:var(--structured-muted); font:800 9px/1 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.rsvp-choice-row input:checked + span { color:#06111f; background:#fff; }

.structured-module-rsvp { text-align:center; }
.rsvp-page-wash { position:absolute; inset:0; z-index:-2; background:radial-gradient(circle at 50% 46%,rgba(9,41,73,.22),rgba(2,9,18,.9) 76%),linear-gradient(0deg,rgba(2,9,18,.58),rgba(2,9,18,.12)); pointer-events:none; }
.rsvp-structured-layout { width:min(1100px,100%); margin:0 auto; padding:clamp(108px,12vh,150px) clamp(28px,7vw,92px) clamp(48px,7vh,76px); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:clamp(28px,4vh,42px); }
.rsvp-invitation-copy { max-width:900px; text-align:center; }
.rsvp-invitation-copy > p:first-child { margin:0 0 25px; color:inherit; display:flex; align-items:center; justify-content:center; gap:18px; font:800 10px/1 Arial,sans-serif; letter-spacing:.22em; text-transform:uppercase; }
.rsvp-invitation-copy > p:first-child::before,.rsvp-invitation-copy > p:first-child::after { content:""; width:44px; height:1px; background:currentColor; opacity:.62; }
.rsvp-invitation-copy h2 { margin:0; color:inherit; font:400 clamp(64px,8vw,128px)/.84 Arial,sans-serif; letter-spacing:-.075em; text-transform:uppercase; text-wrap:balance; }
.rsvp-invitation-copy .rsvp-event-date { max-width:none; margin:28px 0 0; color:inherit; font:800 10px/1.25 Arial,sans-serif; letter-spacing:.22em; text-transform:uppercase; }
.rsvp-response-shell { width:min(720px,100%); max-height:none; border:0; background:transparent; box-shadow:none; backdrop-filter:none; overflow:visible; }
.rsvp-response-shell .structured-rsvp { min-height:0; padding:0; gap:16px; }
.rsvp-copy-layers { width:100%; margin:0 0 8px; display:grid; justify-items:center; gap:10px; text-align:center; }
.rsvp-copy-layers .rsvp-copy-layer { width:100%; max-width:100%; margin:0; }
.rsvp-copy-layers .rsvp-copy-layer[data-center-layer-type="title"] { font-size:clamp(42px,5vw,76px); line-height:.92; letter-spacing:-.055em; text-wrap:balance; }
.rsvp-copy-layers .rsvp-copy-layer[data-center-layer-type="subtitle"] { font-size:clamp(12px,1.2vw,18px); }
.rsvp-copy-layers .rsvp-copy-layer[data-center-layer-type="paragraph"] { font-size:clamp(15px,1.35vw,20px); line-height:1.45; }
.rsvp-choice-row { width:min(540px,100%); grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0 auto; }
.rsvp-choice-row button { min-height:64px; margin:0; border:1px solid rgba(255,255,255,.58); border-radius:999px; justify-content:center; color:#fff; background:rgba(4,18,32,.2); box-shadow:inset 0 1px 0 rgba(255,255,255,.09); backdrop-filter:blur(16px); transition:transform .25s var(--ease),background .25s,border-color .25s; }
.rsvp-choice-row button:hover,.rsvp-choice-row button:focus-visible { border-color:var(--center-highlight-color,#58b9f7); outline:none; background:color-mix(in srgb,var(--center-highlight-color,#58b9f7) 24%,transparent); transform:translateY(-2px); }
.rsvp-choice-row button[aria-pressed="true"] { border-color:var(--center-highlight-color,#58b9f7); color:#06111f; background:#fff; }
.rsvp-details-panel { margin:16px auto 0; padding:24px; border:1px solid rgba(255,255,255,.2); border-radius:18px; display:grid; grid-template-columns:1fr 1fr; gap:15px 20px; text-align:left; background:rgba(3,15,28,.64); box-shadow:0 28px 80px rgba(0,0,0,.25); backdrop-filter:blur(24px); animation:rsvp-details-in .42s var(--ease) both; }
.rsvp-details-panel[hidden],.rsvp-success[hidden] { display:none; }
.rsvp-details-panel legend { grid-column:1/-1; width:100%; margin:0 0 4px; color:#fff; font:700 22px/1.1 Arial,sans-serif; letter-spacing:-.03em; }
.rsvp-details-panel label { display:grid; gap:7px; color:rgba(255,255,255,.66); font:800 8px/1 Arial,sans-serif; letter-spacing:.11em; text-transform:uppercase; }
.rsvp-details-panel label[hidden] { display:none; }
.rsvp-details-panel input,.rsvp-details-panel select { width:100%; min-height:42px; border:0; border-bottom:1px solid rgba(255,255,255,.28); border-radius:0; padding:8px 0; color:#fff; background:transparent; font:14px/1.3 Arial,sans-serif; outline:none; }
.rsvp-details-panel select option { color:#071628; background:#fff; }
.rsvp-details-panel input:focus,.rsvp-details-panel select:focus { border-color:var(--center-highlight-color,#58b9f7); }
.rsvp-detail-actions { grid-column:1/-1; margin-top:5px; display:grid; grid-template-columns:auto 1fr; gap:10px; }
.rsvp-detail-actions button { min-height:46px; margin:0; border:1px solid rgba(255,255,255,.25); color:#fff; background:transparent; }
.rsvp-detail-actions button[type="submit"] { border-color:#fff; color:#06111f; background:#fff; }
.rsvp-success { margin:16px auto 0; padding:25px; border:1px solid rgba(255,255,255,.2); border-radius:18px; display:grid; justify-items:center; gap:8px; color:#fff; background:rgba(3,15,28,.68); backdrop-filter:blur(24px); animation:rsvp-details-in .42s var(--ease) both; }
.rsvp-success > span { width:38px; height:38px; border-radius:50%; display:grid; place-items:center; color:#06111f; background:#fff; font-weight:800; }
.rsvp-success strong { font:700 22px/1.1 Arial,sans-serif; }
.rsvp-success p { margin:0; color:rgba(255,255,255,.72); font:14px/1.45 Georgia,serif; }
.rsvp-success button { min-height:38px; margin:5px 0 0; border:1px solid rgba(255,255,255,.28); color:#fff; background:transparent; }
.structured-rsvp output { min-height:16px; margin:0 0 -2px; color:rgba(255,255,255,.68); text-align:center; }
.structured-rsvp[data-rsvp-step="details"] { gap:0; }
.structured-rsvp[data-rsvp-step="details"] .rsvp-copy-layers,
.structured-rsvp[data-rsvp-step="details"] .rsvp-event-snapshot,
.structured-rsvp[data-rsvp-step="details"] .rsvp-capacity-note,
.structured-rsvp[data-rsvp-step="details"] > output,
.structured-rsvp[data-rsvp-step="details"] .rsvp-choice-row { display:none; }
.structured-rsvp[data-rsvp-step="details"] .rsvp-details-panel { margin-top:0; }
.structured-rsvp[data-rsvp-step="details"] .rsvp-details-panel legend { white-space:nowrap; font-size:clamp(17px,5.4vw,22px); }
.structured-rsvp[data-rsvp-step="success"] .rsvp-choice-row { display:none; }
.rsvp-private-routing-note { margin:-4px 0 0; color:#087dce; font:800 8px/1.4 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.structured-subsection { margin-top:14px; padding-top:14px; border-top:1px solid rgba(7,22,40,.1); display:grid; gap:10px; }
.rsvp-event-snapshot { margin:0 auto; color:rgba(255,255,255,.78); font:14px/1.45 Georgia,serif; text-align:center; }
.rsvp-capacity-note { margin:-5px auto 2px; color:rgba(255,255,255,.58); font:800 8px/1.3 Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.rsvp-owner-warning,.rsvp-closed-state { width:min(620px,calc(100% - 36px)); margin:auto; padding:30px; border:1px solid rgba(255,255,255,.24); border-radius:22px; color:#fff; background:rgba(3,15,28,.72); box-shadow:0 28px 80px rgba(0,0,0,.24); backdrop-filter:blur(24px); }
.rsvp-owner-warning { display:grid; grid-template-columns:42px minmax(0,1fr); gap:17px; align-items:start; text-align:left; }
.rsvp-owner-warning > span { width:42px; height:42px; border-radius:50%; display:grid; place-items:center; color:#071628; background:#ffd672; font:900 18px/1 Arial,sans-serif; }
.rsvp-owner-warning strong,.rsvp-closed-state h3 { display:block; margin:0; font:700 24px/1.05 Arial,sans-serif; letter-spacing:-.03em; }
.rsvp-owner-warning p,.rsvp-closed-state p { margin:8px 0 0; color:rgba(255,255,255,.72); font:14px/1.5 Georgia,serif; }
.rsvp-closed-state { display:grid; justify-items:center; gap:8px; text-align:center; }
.rsvp-closed-state > span { color:var(--center-highlight-color,#58b9f7); font:800 9px/1 Arial,sans-serif; letter-spacing:.16em; }
.rsvp-editor-warning { margin:0 0 14px; padding:12px 13px; border-left:3px solid #d89915; display:grid; gap:4px; background:#fff8e5; color:#523e15; }
.rsvp-editor-warning strong { font:800 10px/1 Arial,sans-serif; letter-spacing:.06em; text-transform:uppercase; }
.rsvp-editor-warning span { font:11px/1.4 Georgia,serif; }
.rsvp-accepting-toggle { margin:2px 0 14px; padding:12px; border:1px solid rgba(8,116,196,.2); background:#eff8ff; }
.rsvp-question-list { display:grid; gap:9px; }
.rsvp-question-editor { padding:11px; border:1px solid rgba(7,22,40,.12); background:#fff; }
.rsvp-question-editor > header { margin-bottom:8px; display:flex; align-items:center; justify-content:space-between; }
.rsvp-question-editor > header strong { color:#14273b; font:800 9px/1 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.rsvp-question-editor > header button { width:25px; height:25px; border:0; border-radius:50%; color:#8a3540; background:#fff0f2; cursor:pointer; }
.rsvp-question-options { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px; align-items:end; }
.rsvp-question-options > label:first-child { display:grid; gap:5px; color:#657488; font:800 8px/1 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.rsvp-question-options select { min-height:35px; border:1px solid rgba(7,22,40,.14); padding:0 8px; color:#172536; background:#fff; }
@keyframes rsvp-details-in { from { opacity:0; transform:translateY(12px) scale(.985); } to { opacity:1; transform:none; } }

.guest-list-panel { min-height:560px; display:grid; grid-template-rows:auto 1fr auto; }
.guest-list-panel header { min-height:138px; padding:27px 30px; border-bottom:1px solid var(--structured-line); display:grid; grid-template-columns:1fr auto; align-items:end; gap:3px 20px; }
.guest-list-panel header span { align-self:start; color:var(--center-highlight-color,#58b9f7); font:800 9px/1 Arial,sans-serif; letter-spacing:.16em; }
.guest-list-panel header strong { grid-row:1/3; grid-column:2; font:400 74px/.8 Arial,sans-serif; letter-spacing:-.08em; }
.guest-list-panel header small { color:var(--structured-muted); font:11px/1 Arial,sans-serif; text-transform:uppercase; letter-spacing:.1em; }
.guest-list-panel ul { margin:0; padding:0; list-style:none; align-content:start; }
.guest-list-panel li { min-height:76px; padding:14px 26px; border-bottom:1px solid var(--structured-line); display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:14px; }
.guest-list-panel li > span { width:36px; height:36px; border:1px solid var(--structured-line); border-radius:50%; display:grid; place-items:center; color:var(--center-highlight-color,#58b9f7); font:800 11px/1 Arial,sans-serif; }
.guest-list-panel li strong { font:600 16px/1.2 Arial,sans-serif; }
.guest-list-panel li small { color:var(--structured-muted); font:800 8px/1 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.guest-list-empty { margin:auto; padding:40px; color:var(--structured-muted); text-align:center; font:17px/1.5 Georgia,serif; }
.guest-list-panel footer { padding:17px 24px; color:var(--structured-muted); font:800 8px/1.35 Arial,sans-serif; letter-spacing:.09em; text-align:center; text-transform:uppercase; }

@media (max-width:900px) {
  .rsvp-structured-layout { padding:86px 18px 30px; gap:22px; }
  .rsvp-invitation-copy h2 { font-size:clamp(50px,13vw,78px); }
  .rsvp-invitation-copy > p:first-child { margin-bottom:16px; font-size:8px; }
  .rsvp-invitation-copy .rsvp-event-date { margin-top:18px; font-size:8px; }
  .rsvp-choice-row button { min-height:52px; padding:0 12px; font-size:8px; }
  .rsvp-details-panel { max-height:42vh; padding:18px; grid-template-columns:1fr; overflow:auto; }
  .rsvp-details-panel legend,.rsvp-detail-actions { grid-column:1; }
  .guest-list-panel { min-height:0; }
}

@media (max-width:520px) {
  .rsvp-choice-row { grid-template-columns:1fr; }
  .rsvp-details-panel { max-height:38vh; }
  .structured-rsvp[data-rsvp-step="details"] .rsvp-details-panel { max-height:58vh; }
  .rsvp-detail-actions { grid-template-columns:1fr; }
}

@media (min-width:901px) and (max-height:800px) {
  .rsvp-structured-layout { padding:calc(var(--header-h) + 18px) 28px 24px; justify-content:flex-start; gap:18px; }
  .rsvp-invitation-copy > p:first-child { margin-bottom:14px; }
  .rsvp-invitation-copy h2 { font-size:clamp(58px,7vw,92px); }
  .rsvp-invitation-copy .rsvp-event-date { margin-top:17px; }
  .rsvp-details-panel { max-height:310px; overflow:auto; }
}

.sponsor-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.sponsor-grid article { min-height:300px; padding:30px; border-right:1px solid var(--structured-line); border-bottom:1px solid var(--structured-line); display:flex; flex-direction:column; align-items:flex-start; }
.sponsor-grid article:nth-child(even) { border-right:0; }
.sponsor-grid article > span,.sponsor-grid article > img { width:64px; height:64px; margin-bottom:38px; border:1px solid var(--structured-line); object-fit:contain; display:grid; place-items:center; font:600 20px/1 Arial,sans-serif; }
.sponsor-grid small { color:var(--center-highlight-color,#58b9f7); font:800 8px/1 Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.sponsor-grid h3 { margin:10px 0 8px; font:600 22px/1.1 Arial,sans-serif; }
.sponsor-grid p { margin:0 0 12px; color:var(--structured-muted); font:13px/1.4 Georgia,serif; }
.sponsor-grid em,.sponsor-grid b { margin:4px 0; color:var(--structured-muted); font:normal 11px/1.3 Arial,sans-serif; }
.sponsor-grid a { margin-top:auto; padding-top:18px; font:800 8px/1 Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; }

.music-player-panel { min-height:560px; display:grid; grid-template-columns:1fr 1fr; }
.music-player-panel figure { min-height:0; margin:0; background:#02070c; }
.music-player-panel figure img { width:100%; height:100%; min-height:560px; object-fit:cover; }
.music-player-panel > div { padding:40px; display:flex; flex-direction:column; justify-content:center; }
.music-player-panel small { color:var(--center-highlight-color,#58b9f7); font:800 9px/1 Arial,sans-serif; letter-spacing:.16em; }
.music-player-panel h3 { margin:20px 0 8px; font:500 38px/1 Arial,sans-serif; letter-spacing:-.05em; }
.music-player-panel p { margin:0 0 32px; color:var(--structured-muted); font:13px/1.3 Arial,sans-serif; }
.music-player-panel audio { width:100%; margin:0 0 28px; accent-color:var(--center-highlight-color,#58b9f7); }
.music-player-panel button[disabled] { min-height:48px; margin-bottom:28px; border:1px solid var(--structured-line); color:var(--structured-muted); background:transparent; }
.music-player-panel em { color:var(--structured-muted); font:italic 14px/1.5 Georgia,serif; }

.linked-video-frame,.linked-video-card { width:100%; aspect-ratio:16/9; border:0; background:#02070c; }
.linked-video-card { padding:28px; display:flex; flex-direction:column; justify-content:flex-end; color:#fff; text-decoration:none; }
.linked-video-card span { color:var(--center-highlight-color,#58b9f7); font:800 9px/1 Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.linked-video-card strong { margin:10px 0 22px; font:500 26px/1 Arial,sans-serif; }
.linked-video-card em { font:800 8px/1 Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.video-gallery-grid .linked-video-frame,.video-gallery-grid .linked-video-card { height:100%; min-height:0; object-fit:cover; }

.structured-field { display:grid; gap:7px; margin:0 0 13px; }
.structured-field > span { color:#526174; font:800 9px/1 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.structured-field input,.structured-field textarea,.structured-field select,.linked-video-entry input { width:100%; border:1px solid rgba(7,22,40,.16); border-radius:0; padding:11px 12px; color:#101f31; background:#fff; font:12px/1.35 Arial,sans-serif; }
.structured-field input:focus,.structured-field textarea:focus,.structured-field select:focus,.linked-video-entry input:focus { border-color:#168fe3; outline:2px solid rgba(22,143,227,.14); outline-offset:0; }
.structured-field input.is-example-value { color:#8794a4; }
.structured-field textarea { min-height:72px; resize:vertical; }
.structured-check { margin:11px 0; display:flex; align-items:center; gap:9px; color:#45566a; font:12px/1.35 Arial,sans-serif; }
.structured-check input { accent-color:#168fe3; }
.structured-editor-list { display:grid; gap:10px; }
.structured-editor-item { padding:12px; border:1px solid rgba(7,22,40,.13); background:rgba(255,255,255,.55); }
.structured-editor-item.is-direct-edit-target { border-color:#168fe3; box-shadow:0 0 0 2px rgba(22,143,227,.12),0 10px 24px rgba(7,22,40,.08); }
.structured-field.is-direct-field-target,.structured-date-picker.is-direct-field-target { border-radius:4px; background:#eef8ff; box-shadow:0 0 0 3px rgba(22,143,227,.13); }
.structured-calendar-editor { display:grid; gap:16px; }
.calendar-settings-absorbed { display:none!important; }
.calendar-settings-absorbed + .calendar-editor-tool { margin-top:0!important; padding-top:0!important; border-top:0!important; }
.calendar-event-add { margin:0; }
.calendar-view-control { display:grid; gap:9px; }
.calendar-view-control .tools-label { margin:0; }
.calendar-view-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.calendar-view-options button { min-width:0; min-height:76px; padding:11px 8px 10px; border:1px solid rgba(7,22,40,.14); border-radius:10px; display:grid; place-items:center; align-content:center; gap:8px; color:#526174; background:#fff; cursor:pointer; font:800 9px/1 Arial,sans-serif; transition:border-color .18s,background .18s,color .18s,box-shadow .18s,transform .18s; }
.calendar-view-options button svg { width:29px; height:29px; fill:none; stroke:currentColor; stroke-width:1.55; stroke-linecap:round; stroke-linejoin:round; }
.calendar-view-options button:hover,.calendar-view-options button:focus-visible { border-color:rgba(36,152,237,.62); color:#087dce; outline:none; transform:translateY(-1px); }
.calendar-view-options button[aria-pressed="true"] { border-color:#168fe3; color:#087dce; background:#eaf5fd; box-shadow:inset 0 0 0 1px #168fe3,0 5px 15px rgba(36,152,237,.12); }
.calendar-download-toggle { margin:0!important; }
.calendar-event-editor-list { gap:8px; }
.calendar-event-editor-list.has-overflow { max-height:clamp(270px,42vh,440px); padding-right:5px; grid-auto-rows:max-content; align-content:start; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; scrollbar-width:thin; scrollbar-color:rgba(22,143,227,.45) transparent; }
.calendar-event-editor-list.has-overflow::-webkit-scrollbar { width:5px; }
.calendar-event-editor-list.has-overflow::-webkit-scrollbar-thumb { border-radius:999px; background:rgba(22,143,227,.42); }
.structured-editor-item.calendar-event-editor-item { padding:0; overflow:hidden; background:rgba(255,255,255,.68); transition:border-color .2s,box-shadow .2s,background .2s; }
.calendar-event-editor-item[open] { border-color:#168fe3; background:#fff; box-shadow:0 10px 25px rgba(7,22,40,.08); }
.calendar-event-editor-item > summary { min-height:66px; padding:10px 10px 10px 12px; display:grid; grid-template-columns:28px minmax(0,1fr) auto; align-items:center; gap:9px; cursor:pointer; list-style:none; }
.calendar-event-editor-item > summary::-webkit-details-marker { display:none; }
.calendar-event-sequence { color:#168fe3; font:800 9px/1 Arial,sans-serif; letter-spacing:.1em; }
.calendar-event-summary-copy { min-width:0; display:grid; gap:4px; }
.calendar-event-summary-copy strong { overflow:hidden; color:#152437; font:750 12px/1.2 Arial,sans-serif; text-overflow:ellipsis; white-space:nowrap; }
.calendar-event-summary-copy small { overflow:hidden; color:#718094; font:10px/1.2 Arial,sans-serif; text-overflow:ellipsis; white-space:nowrap; }
.calendar-event-summary-actions { display:flex; align-items:center; gap:6px; }
.calendar-event-summary-actions i { width:24px; height:24px; border:1px solid rgba(7,22,40,.12); border-radius:50%; display:grid; place-items:center; color:#168fe3; background:#fff; font-style:normal; }
.calendar-event-summary-actions i::before { content:'+'; font:500 17px/1 Arial,sans-serif; transform:translateY(-1px); }
.calendar-event-editor-item[open] .calendar-event-summary-actions i::before { content:'−'; transform:none; }
.calendar-event-summary-actions button { width:30px; height:30px; border:1px solid rgba(166,62,47,.18); border-radius:50%; display:grid; place-items:center; color:#a63e2f; background:#fff8f6; font:500 16px/1 Arial,sans-serif; cursor:pointer; }
.calendar-event-summary-actions button:hover,.calendar-event-summary-actions button:focus-visible { border-color:#a63e2f; outline:none; }
.calendar-event-summary-actions button:disabled { opacity:.28; cursor:default; }
.calendar-event-editor-body { padding:15px 13px; border-top:1px solid rgba(7,22,40,.1); }
.calendar-event-copy-fields { margin:0 0 15px; padding:0 0 2px; border-bottom:1px solid rgba(7,22,40,.08); }
.calendar-event-copy-fields .structured-field:last-child { margin-bottom:12px; }
.calendar-event-editor-body .countdown-m3-picker + .countdown-m3-picker { margin-top:14px; }
.calendar-event-date-picker.is-direct-field-target,.calendar-event-time-picker.is-direct-field-target { box-shadow:0 0 0 3px rgba(22,143,227,.14),0 12px 28px rgba(7,22,40,.1); }
.structured-editor-item header { margin-bottom:11px; display:flex; align-items:center; justify-content:space-between; }
.structured-editor-item header strong { color:#087dce; font:800 9px/1 Arial,sans-serif; letter-spacing:.12em; }
.structured-editor-item header span { display:flex; gap:4px; }
.structured-editor-item header button,.linked-video-list button { width:28px; height:28px; border:1px solid rgba(7,22,40,.13); color:#172536; background:#f4f7f9; }
.structured-editor-item header button:hover,.structured-editor-item header button:focus-visible,.linked-video-list button:hover,.linked-video-list button:focus-visible { border-color:#168fe3; color:#087dce; outline:none; }
.structured-editor-item header button:disabled { opacity:.25; }
.structured-list-icon-editor { margin:0 0 13px; display:grid; gap:10px; }
.structured-list-icon-actions { display:flex; align-items:center; gap:7px; }
.structured-list-icon-launch { min-width:0; min-height:66px; padding:6px 13px 6px 6px; border:1px solid rgba(7,22,40,.11); flex:1; display:flex; align-items:center; gap:12px; background:rgba(255,255,255,.7); color:#334459; cursor:pointer; transition:border-color .2s,transform .2s,box-shadow .2s; }
.structured-list-icon-launch:hover,.structured-list-icon-launch:focus-visible { border-color:#168fe3; color:#087dce; transform:translateY(-1px); box-shadow:0 7px 18px rgba(22,143,227,.13); outline:none; }
.structured-list-icon-launch strong { font:800 9px/1 Arial,sans-serif; letter-spacing:.09em; text-transform:uppercase; }
.structured-list-icon-preview { position:relative; width:54px; height:54px; flex:0 0 54px; border:1px dashed rgba(7,22,40,.24); border-radius:10px; display:grid; place-items:center; overflow:hidden; color:var(--list-icon-color,#607084); background:#f4f7f9; }
.structured-list-icon-preview img { width:100%; height:100%; display:block; object-fit:cover; }
.structured-list-icon-preview i { font:300 24px/1 Arial,sans-serif; }
.structured-list-icon-preview .structured-list-symbol { font-size:27px; }
.structured-list-icon-color { padding-top:10px; border-top:1px solid rgba(7,22,40,.09); display:grid; gap:7px; }
.structured-list-icon-color > .tools-label { margin:0; }
.structured-list-icon-color .color-explorer { margin:0; }
.structured-list-icon-remove { min-height:34px; padding:0 10px; border:1px solid rgba(166,62,47,.2); border-radius:999px; background:#fff8f6; color:#a63e2f; font:750 8px/1 Arial,sans-serif; cursor:pointer; }
.structured-list-icon-remove:hover,.structured-list-icon-remove:focus-visible { border-color:#a63e2f; outline:none; }
.location-editor-tool { padding-top:0 !important; border-top:0 !important; display:grid; gap:14px; }
.location-detail-add { margin-bottom:0; }
.location-detail-add button:disabled { opacity:.48; cursor:default; transform:none; }
.location-map-design { padding-top:13px; border-top:1px solid rgba(7,22,40,.09); display:grid; gap:9px; }
.location-map-design .tools-label { margin:0; }
.location-map-style-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.location-map-style-options > button { min-width:0; min-height:76px; padding:7px; border:1px solid rgba(7,22,40,.13); border-radius:7px; display:grid; gap:7px; color:#425268; background:#fff; cursor:pointer; transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease; }
.location-map-style-options > button:hover,.location-map-style-options > button:focus-visible { border-color:#168fe3; color:#087dce; outline:0; transform:translateY(-1px); }
.location-map-style-options > button[aria-pressed="true"] { border-color:#168fe3; color:#087dce; background:#eaf6fe; box-shadow:inset 0 0 0 1px rgba(22,143,227,.18); }
.location-map-style-options strong { overflow:hidden; font:750 8px/1 Arial,sans-serif; text-overflow:ellipsis; white-space:nowrap; }
.location-map-style-preview { position:relative; height:39px; border-radius:4px; overflow:hidden; background:#e7edf1; }
.location-map-style-preview::before,.location-map-style-preview::after,.location-map-style-preview i,.location-map-style-preview b,.location-map-style-preview em { content:""; position:absolute; height:2px; border-radius:4px; background:#8695a3; transform-origin:left center; }
.location-map-style-preview::before { width:72%; left:-5%; top:9px; transform:rotate(18deg); }
.location-map-style-preview::after { width:84%; left:22%; top:28px; transform:rotate(-14deg); }
.location-map-style-preview i { width:54%; left:18%; top:21px; transform:rotate(8deg); }
.location-map-style-preview b { width:7px; height:7px; left:58%; top:13px; border-radius:50%; background:#168fe3; }
.location-map-style-preview em { width:2px; height:12px; left:61%; top:16px; background:#168fe3; transform:rotate(18deg); }
.location-map-style-minimal { filter:grayscale(.7); opacity:.78; }
.location-map-style-soft { background:#e3eff1; }
.location-map-style-soft::before,.location-map-style-soft::after,.location-map-style-soft i { background:#8aa5a4; }
.location-map-style-contrast { background:#dce2e8; }
.location-map-style-contrast::before,.location-map-style-contrast::after,.location-map-style-contrast i { height:3px; background:#4c5d6f; }
.location-map-theme-options { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; }
.location-map-theme-options button { position:relative; aspect-ratio:1; min-width:0; border:2px solid #fff; border-radius:50%; background:var(--location-theme-swatch); box-shadow:0 0 0 1px rgba(7,22,40,.16); cursor:pointer; transition:transform .18s ease,box-shadow .18s ease; }
.location-map-theme-options button:hover,.location-map-theme-options button:focus-visible { outline:0; transform:scale(1.08); box-shadow:0 0 0 2px rgba(22,143,227,.42); }
.location-map-theme-options button[aria-pressed="true"] { box-shadow:0 0 0 3px #168fe3,0 5px 12px rgba(7,22,40,.18); }
.location-detail-editor-list { display:grid; gap:7px; }
.location-detail-editor-item.is-direct-edit-target { border-color:#168fe3; box-shadow:0 0 0 2px rgba(22,143,227,.12),0 10px 24px rgba(7,22,40,.08); }
.location-detail-inline-note { color:#687786; font:10px/1.4 Georgia,serif; }
.location-details-empty { margin:0; padding:14px; border:1px dashed rgba(7,22,40,.16); border-radius:8px; color:#687786; font:10px/1.45 Georgia,serif; }
.structured-location-icon-editor { margin:-2px 0 13px; }
.structured-location-icon-editor .structured-list-icon-launch { min-height:52px; padding:5px 11px 5px 5px; }
.structured-location-icon-editor .structured-list-icon-preview { width:40px; height:40px; flex-basis:40px; }
.structured-location-icon-editor .structured-list-icon-preview .structured-list-symbol { font-size:23px; }
.media-quota > div { display:flex; justify-content:space-between; gap:14px; color:#172536; font:11px/1.2 Arial,sans-serif; }
.media-quota > div span { color:#708094; }
.media-quota-track { height:5px; margin:10px 0; display:block; overflow:hidden; background:rgba(7,22,40,.1); }
.media-quota-track i { height:100%; display:block; background:#168fe3; min-width:2px; }
.media-quota p { margin:0; color:#6b798b; font:10px/1.45 Arial,sans-serif; }
.linked-video-entry { display:grid; grid-template-columns:1fr auto; gap:7px; }
.gallery-linked-video-entry { margin:0; }
.linked-video-entry button { border:0; padding:0 13px; color:#fff; background:#168fe3; font:800 8px/1 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.linked-video-list { margin:10px 0 0; padding:0; list-style:none; display:grid; gap:5px; }
.linked-video-list li { padding:8px; border:1px solid rgba(7,22,40,.12); background:rgba(255,255,255,.52); display:flex; align-items:center; justify-content:space-between; gap:8px; }
.linked-video-list li span { min-width:0; display:grid; gap:3px; }
.linked-video-list strong { color:#172536; font:800 8px/1 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.linked-video-list small { overflow:hidden; color:#718093; font:9px/1.2 Arial,sans-serif; text-overflow:ellipsis; white-space:nowrap; }

@media (max-width: 900px) {
  .structured-layout { padding:82px 20px 22px; grid-template-columns:1fr; align-content:center; gap:22px; }
  .structured-copy > p:first-child { margin-bottom:11px; font-size:8px; }
  .structured-copy h2 { font-size:clamp(40px,11vw,64px); }
  .structured-copy > p:last-child { margin-top:13px; font-size:12px; line-height:1.4; }
  .structured-content { width:100%; max-height:48vh; }
  .structured-schedule li { min-height:78px; padding:14px; grid-template-columns:67px minmax(0,1fr) 24px; gap:10px; }
  .structured-schedule strong { font-size:15px; }
  .venue-panel,.contact-module-grid,.music-player-panel { min-height:0; }
  .venue-primary,.contact-module-grid aside,.structured-rsvp,.dress-code-panel,.music-player-panel > div { padding:22px; }
  .venue-map { min-height:230px; }
  .contact-module-grid { width:min(680px,calc(100% - 40px)); padding:28px; grid-template-columns:1fr; }
  .contact-module-grid aside h3 { font-size:23px; }
  .menu-course-list li { min-height:82px; padding:15px; grid-template-columns:57px minmax(0,1fr) auto; gap:12px; }
  .menu-course-list strong { font-size:16px; }
  .dress-code-panel h3 { font-size:34px; }
  .bring-list li { min-height:92px; padding:16px 0; gap:18px; }
  .bring-item-copy.has-icon { grid-template-columns:50px minmax(0,1fr); gap:14px; }
  .bring-item-icon { width:50px; height:50px; }
  .bring-item-icon .bring-item-symbol { font-size:26px; }
  .bring-add-item-form { grid-template-columns:1fr 88px auto; }
  .bring-add-item-form header { grid-column:1/-1; }
  .sponsor-grid article { min-height:220px; padding:20px; }
  .sponsor-grid article > span,.sponsor-grid article > img { width:48px;height:48px;margin-bottom:22px; }
  .music-player-panel figure img { min-height:380px; }
}

@media (max-width: 560px) {
  .structured-content { max-height:54vh; }
  .venue-panel,.contact-module-grid,.music-player-panel { grid-template-columns:1fr; }
  .contact-module-grid { width:calc(100% - 24px); padding:20px 16px; gap:18px; }
  .contact-module-heading h3 { font-size:clamp(27px,9vw,40px); }
  .contact-module-icon { width:54px; height:54px; flex-basis:54px; }
  .contact-module-symbol { font-size:30px; }
  .venue-map { grid-row:auto; min-height:210px; }
  .contact-module-grid aside { min-height:210px; border-right:0; border-bottom:1px solid var(--structured-line); }
  .contact-module-grid aside p { margin-top:24px; }
  .menu-course-list li { grid-template-columns:1fr auto; }
  .menu-course-list > li > span { grid-column:1 / -1; }
  .rsvp-choice-row { grid-template-columns:1fr; }
  .bring-list li { grid-template-columns:1fr; }
  .bring-claim-form { justify-content:start; }
  .bring-add-item-form { padding:16px; grid-template-columns:1fr 82px; }
  .bring-add-item-form button { grid-column:1/-1; }
  .sponsor-grid { grid-template-columns:1fr; }
  .sponsor-grid article { border-right:0; }
  .music-player-panel figure img { min-height:260px; max-height:260px; }
}

@media (max-width: 900px) and (max-height: 500px) {
  .structured-layout { padding:72px 18px 14px; grid-template-columns:minmax(250px,.75fr) minmax(390px,1.25fr); gap:22px; }
  .structured-copy h2 { font-size:clamp(31px,5vw,45px); }
  .structured-copy > p:last-child { margin-top:9px; font-size:10px; }
  .structured-content { max-height:calc(100svh - 96px); }
}

/* Template / Tool architecture */
.visual-editor-tools > section[data-template-tool] { position: relative; transition: opacity .18s ease, transform .22s cubic-bezier(.2,.75,.2,1); }
.template-tool-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: -2px 0 15px; padding-bottom: 9px; border-bottom: 1px solid rgba(7,22,40,.1); color: #718091; font: 700 8px/1.2 Arial,sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.template-tool-actions > strong { color: #118ee4; font-size: 7px; letter-spacing: .13em; }
.template-tool-action-buttons { display: flex; gap: 5px; }
.template-tool-action-buttons button { width: 27px; height: 27px; display: grid; place-items: center; border: 1px solid rgba(7,22,40,.12); border-radius: 2px; background: #f4f7f9; color: #172536; font: 500 13px/1 Arial,sans-serif; cursor: pointer; }
.template-tool-action-buttons button:hover, .template-tool-action-buttons button:focus-visible { border-color: #168fe3; background: #eaf5fd; color: #087dcf; outline: none; }
.template-tool-summary { min-height: 116px; }
.template-tool-canvas-note { display: block; padding: 13px; border: 1px dashed rgba(7,22,40,.2); background: rgba(245,248,250,.76); color: #536173; font: 600 11px/1.45 Arial,sans-serif; }
.template-tool-manager { border-top: 3px solid #1497ed !important; background: #f8fafc !important; }
.template-tool-manager-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }
.template-tool-manager-heading > span { flex: 0 0 auto; padding: 6px 8px; border-radius: 999px; background: #e5f3fd; color: #087dce; font: 700 8px/1 Arial,sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.template-tool-add-list { display: grid; gap: 7px; max-height: 260px; margin: 16px 0; overflow: hidden; transition: max-height .28s cubic-bezier(.2,.75,.2,1), opacity .2s ease, margin .2s ease; }
.template-tool-add-list[data-collapsed="true"] { max-height: 0; margin: 0; opacity: 0; pointer-events: none; }
.template-tool-add-list button { display: grid; grid-template-columns: 26px minmax(0,1fr) auto; align-items: center; gap: 9px; width: 100%; min-height: 48px; padding: 8px 10px; border: 1px solid rgba(7,22,40,.12); background: #fff; color: #122235; text-align: left; cursor: pointer; }
.template-tool-add-list button > span { color: #1497ed; font-size: 20px; font-weight: 300; }
.template-tool-add-list button strong { font: 700 11px/1.2 Arial,sans-serif; }
.template-tool-add-list button small { color: #7a8794; font: 700 7px/1 Arial,sans-serif; letter-spacing: .11em; text-transform: uppercase; }
.template-tool-manager-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 15px; }
.template-tool-manager-actions button { min-height: 43px; padding: 9px; border: 1px solid #168fe3; border-radius: 22px; background: #1597ed; color: #fff; font: 700 9px/1.2 Arial,sans-serif; letter-spacing: .04em; cursor: pointer; }
.template-tool-manager-actions button + button { border-color: rgba(7,22,40,.18); background: #fff; color: #162536; }
.template-tool-manager-actions button:disabled { border-color: rgba(7,22,40,.08); background: #e8edf1; color: #9aa4af; cursor: default; }
.template-tool-manager-note { margin: 13px 0 0; color: #83909d; font: 500 9px/1.5 Arial,sans-serif; }
.custom-template-category .module-picker-number { color: #1597ed; }
.color-swatch.swatch-paper { background:#f1eadf; }
.color-swatch.swatch-white { background:#fff; }

/* Position-first editor architecture */
.editor-position-group { position: relative; margin: 0; border: 0; border-bottom: 1px solid rgba(7,22,40,.14); border-radius: 0; background: #fff; overflow: clip; transition: none; }
.editor-position-group:has(.center-content-type-menu[open]) { z-index: 8; overflow: visible; }
.editor-position-group::before { content: ''; position: absolute; z-index: 2; top: 0; bottom: 0; left: 0; width: 6px; background: currentColor; opacity: 0; transform: none; transition: opacity .16s ease; pointer-events: none; }
.editor-position-group > summary { min-height: 82px; padding: 16px 18px 16px 20px; display: flex; align-items: center; justify-content: space-between; gap: 16px; cursor: pointer; list-style: none; transition: filter .16s ease; }
.editor-position-group > summary::-webkit-details-marker { display: none; }
.editor-position-group > summary:hover { filter: saturate(1.08) brightness(.98); }
.editor-position-group > summary:focus-visible { outline: 3px solid rgba(36,152,237,.55); outline-offset: -3px; }
.editor-position-heading { min-width: 0; display: flex; align-items: center; gap: 14px; }
.editor-position-copy { min-width: 0; display: block; }
.editor-position-icon { flex: 0 0 42px; width: 42px; height: 42px; border-radius: 10px; display: grid; place-items: center; background: rgba(255,255,255,.72); color: currentColor; font: 800 16px/1 Arial,sans-serif; box-shadow: inset 0 0 0 1px rgba(7,22,40,.07); }
.editor-position-icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.editor-position-corners .editor-position-icon svg { fill: currentColor; stroke: none; }
.visual-editor-tools .editor-position-group > summary strong { color: currentColor; font: 850 13px/1 Arial,sans-serif; letter-spacing: .105em; text-transform: uppercase; }
.editor-position-group > summary i { position: relative; flex: 0 0 32px; width: 32px; height: 32px; border: 0; border-radius: 0; display: block; background: transparent; color: currentColor; font: normal 0/1 Arial,sans-serif; }
.editor-position-group > summary i::before { content: '+'; position: absolute; inset: 0; display: grid; place-items: center; font: 400 27px/1 Arial,sans-serif; transform: translateY(-1px); }
.editor-position-background { color: #08689f; }
.editor-position-background > summary { background: #e4f3fd; }
.editor-position-center { color: #5148a9; }
.editor-position-center > summary { background: #eeefff; }
.editor-position-corners { color: #176c4d; }
.editor-position-corners > summary { background: #e7f6ee; }
.editor-position-group[open] { border-color: rgba(7,22,40,.14); box-shadow: none; }
.editor-position-group[open]::before { opacity: 1; }
.visual-editor-tools .editor-position-group[open] > summary strong { color: #fff; }
.editor-position-background[open] > summary { background: #168fe3; color: #fff; }
.editor-position-center[open] > summary { background: #625ac2; color: #fff; }
.editor-position-corners[open] > summary { background: #23845f; color: #fff; }
.editor-position-group[open] > summary i::before { content: '\2212'; transform: translateY(-2px); }
.editor-position-group[open] .editor-position-icon { background: rgba(255,255,255,.18); color: #fff; box-shadow: inset 0 0 0 1px rgba(255,255,255,.22); }
.editor-position-body { padding: 20px 18px; background: #fff; color: #071628; }
.editor-position-body > section { position: relative; margin: 0; padding: 0; border: 0; }
.editor-position-body > section + section { margin-top: 20px; padding-top: 18px; border-top: 1px solid rgba(7,22,40,.11); }
.center-content-type-control { margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px solid rgba(7,22,40,.1); }
.center-content-type-control label { display: grid; gap: 7px; color: #536273; font: 800 10px/1 Arial,sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.center-content-type-control select { width: 100%; min-height: 44px; padding: 0 38px 0 12px; border: 1px solid rgba(7,22,40,.16); background: #fff; color: #102033; cursor: pointer; font: 700 12px/1.2 Arial,sans-serif; letter-spacing: 0; text-transform: none; }
.center-content-type-control select:focus { outline: none; border-color: #1597ed; box-shadow: 0 0 0 3px rgba(36,152,237,.16); }
.editor-footer-actions { margin: 0 0 4px; padding: 18px 0 0; border-top: 0; display: grid; gap: 10px; }
.editor-footer-actions > * { border-radius: 0 !important; }
.editor-footer-actions button { border-radius: 0; }
.page-template-library,
.editor-footer-actions .editor-print-dock,
.responses-inbox { width: 100%; max-width: none; margin-left: 0; margin-right: 0; border-right: 0; border-left: 0; border-radius: 0; }
.editor-footer-actions button { display: block; width: min(76%, 250px); min-height: 41px; margin: 0 auto; border: 1px solid rgba(7,22,40,.16); border-radius: 21px; background: #fff; color: #172536; font: 800 9px/1 Arial,sans-serif; letter-spacing: .05em; cursor: pointer; }
.page-template-library { width:min(88%,286px); margin:0 auto; border:1px solid rgba(7,22,40,.14); border-radius:22px; overflow:hidden; background:#fff; }
.page-template-library > summary { min-height:49px; padding:7px 13px 7px 8px; display:grid; grid-template-columns:34px minmax(0,1fr) 20px; align-items:center; gap:9px; list-style:none; cursor:pointer; }
.page-template-library > summary::-webkit-details-marker { display:none; }
.page-template-library > summary .page-template-library-copy { display:grid; gap:2px; }
.page-template-library > summary .page-template-library-icon { width:34px; height:34px; border-radius:50%; display:grid; place-items:center; color:#fff; background:#2196e6; box-shadow:0 6px 15px rgba(33,150,230,.22); }
.page-template-library > summary .page-template-library-icon svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.page-template-library > summary strong { color:#11243a; font:800 10px/1.1 Arial,sans-serif; letter-spacing:.03em; }
.page-template-library > summary small { color:#718194; font:9px/1.2 Georgia,serif; }
.page-template-library > summary i { color:#168fe3; font:normal 18px/1 Arial,sans-serif; text-align:center; transition:transform .2s ease; }
.page-template-library[open] > summary i { transform:rotate(45deg); }
.page-template-library-body { padding:13px; border-top:1px solid rgba(7,22,40,.1); display:grid; gap:15px; background:#f8fafc; }
.page-template-library-body section { display:grid; gap:7px; }
.page-template-library-body h3 { margin:0; color:#6c7b8d; font:800 8px/1 Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.page-template-name-list { display:grid; gap:5px; }
.editor-footer-actions .page-template-name-list > button { width:100%; min-height:36px; margin:0; padding:0 11px; border:1px solid rgba(7,22,40,.1); border-radius:8px; display:grid; align-content:center; gap:2px; text-align:left; }
.editor-footer-actions .page-template-name-list > button strong { font:800 10px/1.1 var(--font-sans); }
.editor-footer-actions .page-template-name-list > button small { color:#718194; font:9px/1.15 Georgia,serif; }
.editor-footer-actions .page-template-name-list > button:hover { border-color:#168fe3; color:#0874c4; background:#edf8ff; }
.page-template-empty { margin:2px 0; color:#8491a0; font:10px/1.35 Georgia,serif; }
.page-template-library-note { margin:0; color:#718194; font:10px/1.4 Georgia,serif; }

.admin-template-bar { position:fixed; inset:0 0 auto 0; z-index:420; min-height:68px; padding:9px 14px; border-bottom:1px solid rgba(255,255,255,.14); display:grid; grid-template-columns:auto minmax(180px,1fr) minmax(180px,1.3fr) auto auto auto; align-items:center; gap:10px; color:#f5f8fb; background:#06121f; box-shadow:0 14px 38px rgba(0,0,0,.25); font-family:Urbanist,Arial,sans-serif; }
.admin-template-back { height:42px; padding:0 12px; border:1px solid rgba(255,255,255,.14); display:flex; align-items:center; gap:8px; color:#9fd8ff; text-decoration:none; font-size:11px; font-weight:760; }
.admin-template-back:hover,.admin-template-back:focus-visible { border-color:#2498ed; color:#fff; outline:none; }
.admin-template-bar label { min-width:0; display:grid; gap:4px; }
.admin-template-bar label > span { color:#7890a7; font-size:7px; font-weight:850; letter-spacing:.14em; }
.admin-template-bar input { width:100%; height:34px; padding:0 9px; border:1px solid rgba(255,255,255,.12); border-radius:0; color:#fff; background:#0a2035; font:650 11px/1 Urbanist,Arial,sans-serif; }
.admin-template-bar input:focus { border-color:#2498ed; outline:none; }
.admin-template-state { min-width:140px; display:grid; gap:4px; }
.admin-template-state strong { color:#dce7ef; font-size:10px; white-space:nowrap; }
.admin-template-state strong[data-tone="pending"] { color:#f4c477; }
.admin-template-state strong[data-tone="published"],.admin-template-state strong[data-tone="saved"] { color:#75ddb0; }
.admin-template-state strong[data-tone="error"] { color:#ff9a8d; }
.admin-template-state small { color:#71869b; font-size:8px; }
.admin-template-bar button { height:40px; padding:0 13px; border:1px solid rgba(255,255,255,.16); color:#d9e4ed; background:transparent; font:800 9px/1 Urbanist,Arial,sans-serif; letter-spacing:.04em; cursor:pointer; white-space:nowrap; }
.admin-template-bar button:hover,.admin-template-bar button:focus-visible { border-color:#fff; color:#fff; outline:none; }
.admin-template-bar .admin-template-publish { border-color:#2498ed; display:flex; align-items:center; gap:18px; color:#06121f; background:#2498ed; }
.admin-template-bar .admin-template-publish:hover,.admin-template-bar .admin-template-publish:focus-visible { border-color:#fff; color:#06121f; background:#fff; }
.admin-template-bar button:disabled { opacity:.5; cursor:wait; }
.is-admin-template-builder .site-header { top:68px; }
.is-admin-template-builder #story { padding-top:68px; }
.is-admin-template-builder .dashboard-return-bar { bottom:82px; }
.is-admin-template-builder[data-admin-template-kind="page"] #addModule { display:none!important; }
.is-admin-template-builder[data-admin-template-kind="page"] [data-add-module],.is-admin-template-builder[data-admin-template-kind="page"] .organizer-add-module { display:none!important; }
@media (max-width:900px) { .admin-template-bar { grid-template-columns:auto minmax(120px,1fr) auto auto; } .admin-template-description,.admin-template-state small { display:none; } .admin-template-state { min-width:100px; } .admin-template-back span,.admin-template-bar button > span { display:none; } }
@media (max-width:620px) { .admin-template-bar { min-height:60px; padding:7px; grid-template-columns:34px minmax(0,1fr) auto; } .admin-template-back { width:34px; height:38px; padding:0; justify-content:center; } .admin-template-state,.admin-template-bar [data-admin-template-save] { display:none; } .admin-template-bar .admin-template-publish { height:38px; padding:0 9px; } .is-admin-template-builder .site-header { top:60px; } .is-admin-template-builder #story { padding-top:60px; } .is-admin-template-builder .dashboard-return-bar { bottom:72px; } }
.visual-editor-tools > .module-identity-tools { margin-bottom: 13px; padding-bottom: 16px; border-bottom: 1px solid rgba(7,22,40,.12); }
.corner-tool-card { border: 1px solid rgba(7,22,40,.12); border-radius: 10px; background: #fff; overflow: clip; }
.generated-corner-appearance { padding-top: 11px; border-top: 1px solid rgba(7,22,40,.09); display: grid; gap: 8px; }
.corner-field-appearance { min-width: 0; margin: 0; padding: 9px; border: 1px solid rgba(7,22,40,.1); border-radius: 8px; background: #f8fbfd; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8px; }
.corner-field-appearance legend { padding: 0 5px; color: #536273; font: 800 8px/1 Arial,sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.corner-field-appearance > label, .corner-tool-color-field { min-width: 0; display: grid; gap: 5px; color: #657382; font: 800 7px/1.15 Arial,sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.corner-field-appearance select { width: 100%; height: 36px; padding: 0 8px; border: 1px solid rgba(7,22,40,.14); border-radius: 6px; background: #fff; color: #102033; font: 650 10px/1 Arial,sans-serif; }
.corner-tool-color-field .color-explorer { margin: 0; text-transform: none; }
.corner-tool-color-field .color-picker-compact { grid-template-columns: minmax(0,1fr) 36px; gap: 5px; }
.corner-tool-color-field .color-picker-current, .corner-tool-color-field .color-picker-eyedropper { min-height: 36px; border-radius: 6px; }
.corner-tool-color-field .color-picker-current { padding: 4px 7px 4px 4px; gap: 7px; }
.corner-tool-color-field .color-picker-current-swatch { width: 26px; height: 26px; flex-basis: 26px; border-radius: 4px; }
.corner-tool-color-field .color-picker-eyedropper svg { width: 18px; height: 18px; }
.audio-tool-color-field { padding-top: 10px; border-top: 1px solid rgba(7,22,40,.09); }
.corner-tool-card > summary { min-height: 66px; padding: 7px 10px 7px 13px; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 12px; cursor: pointer; list-style: none; }
.corner-tool-card > summary::-webkit-details-marker { display: none; }
.corner-tool-summary-main { min-width: 0; display: grid; grid-template-columns: 34px minmax(0,1fr); align-items: center; gap: 10px; }
.corner-tool-copy { min-width: 0; display: grid; gap: 3px; }
.corner-tool-icon { width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; background: #eef5fa; color: #587089; transition: color .16s ease, background .16s ease, transform .16s ease; }
.corner-tool-icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.corner-tool-card:hover > summary .corner-tool-icon { color: #087dce; background: #e6f4fd; transform: translateY(-1px); }
.corner-tool-card[open] > summary .corner-tool-icon { color: #fff; background: #168fe3; }
.corner-tool-card > summary strong { font: 700 12px/1.2 Arial,sans-serif; }
.corner-tool-card > summary small { color: #7a8794; font: 9px/1.2 Arial,sans-serif; }
.corner-tool-copy > small { display:flex; align-items:center; gap:6px; }
.corner-tool-state { padding:3px 6px; border-radius:999px; font:800 7px/1 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.corner-tool-state.is-active { background:#ddf6e8; color:#26744b; }
.corner-tool-state.is-inactive { background:#edf0f3; color:#697887; }
.corner-tool-card.is-active { border-color:rgba(40,151,94,.3); box-shadow:inset 3px 0 0 #36a56b; }
.corner-tool-card.is-inactive > summary { background:#f8fafb; }
.corner-tool-card > summary .corner-placement-grid { width: 52px; height: 52px; }
.visual-editor-tools:has(.corner-tool-card [data-color-picker-open]) .corner-placement-grid { visibility: hidden; }
.corner-tool-card[open] > summary { border-bottom: 1px solid rgba(7,22,40,.1); background: #fff; }
.corner-tool-card-body { padding: 10px; display: grid; gap: 12px; }
.corner-tool-activation-note { margin:0; padding:9px 10px; border-radius:7px; display:grid; grid-template-columns:22px minmax(0,1fr); gap:3px 8px; color:#556578; font:10px/1.35 Arial,sans-serif; }
.corner-tool-activation-note > span { grid-row:1 / span 2; width:22px; height:22px; border-radius:50%; display:grid; place-items:center; font:800 10px/1 Arial,sans-serif; }
.corner-tool-activation-note strong { color:#1c3045; font:800 10px/1.3 Arial,sans-serif; }
.corner-tool-activation-note.is-active { background:#edf9f2; }
.corner-tool-activation-note.is-active > span { background:#36a56b; color:#fff; }
.corner-tool-activation-note.is-inactive { border:1px solid rgba(232,155,36,.28); background:#fff8e8; color:#755a2a; }
.corner-tool-activation-note.is-inactive > span { background:#e89b24; color:#fff; }
.corner-tool-settings[aria-disabled="true"] { position:relative; opacity:.38; filter:grayscale(.28); user-select:none; }
.corner-tool-card-body .corner-placement-row { min-height: 70px; padding: 9px 10px; border-radius: 7px; box-shadow: none; }
.corner-card-help { margin: 0; color: #687786; font: 10px/1.45 Georgia,serif; }
.clock-time-mode { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.clock-time-mode .structured-check { min-height: 42px; margin: 0; padding: 8px 9px; border: 1px solid rgba(7,22,40,.13); border-radius: 7px; background: #fff; font-size: 10px; }
.clock-time-mode .structured-check:has(input:checked) { border-color: var(--blue); background: #edf8ff; color: #087dce; box-shadow: inset 0 0 0 1px rgba(36,152,237,.22); }
.link-destination-block { display: grid; gap: 5px; }
.link-destination-block .corner-card-help { margin: 0 2px; }
.clock-place-settings { display: grid; gap: 8px; margin: 0; }
.clock-place-settings > label { display: grid; gap: 6px; color: rgba(7,16,29,.58); font: 800 8px/1 Arial,sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.clock-place-search-row { display: grid; grid-template-columns: minmax(0,1fr) auto; }
.clock-place-search-row input { width: 100%; min-width: 0; height: 40px; padding: 0 10px; border: 1px solid rgba(7,22,40,.16); border-radius: 7px 0 0 7px; background: #fff; color: #102033; font: 600 11px/1 Arial,sans-serif; }
.clock-place-search-row input:focus { position: relative; z-index: 1; border-color: var(--blue); outline: 2px solid rgba(36,152,237,.18); outline-offset: 0; }
.clock-place-search-row button { min-width: 58px; border: 0; border-radius: 0 7px 7px 0; background: var(--blue); color: #fff; font: 800 9px/1 Arial,sans-serif; cursor: pointer; }
.clock-place-search-row button:disabled { opacity: .58; cursor: wait; }
.clock-place-settings > small { min-height: 13px; color: #687786; font: 9px/1.4 Georgia,serif; }
.clock-place-results { display: grid; gap: 5px; max-height: 190px; overflow: auto; scrollbar-gutter: stable; }
.clock-place-results[hidden] { display: none; }
.clock-place-results button { display: grid; grid-template-columns: minmax(0,1fr); gap: 2px; width: 100%; padding: 9px 10px; border: 1px solid rgba(7,22,40,.12); border-radius: 7px; background: #fff; color: #102033; text-align: left; cursor: pointer; transition: border-color .16s ease, background .16s ease, transform .16s ease; }
.clock-place-results button:hover, .clock-place-results button:focus-visible { border-color: var(--blue); background: #eff8ff; outline: 0; transform: translateY(-1px); }
.clock-place-results strong { overflow: hidden; font: 700 10px/1.25 Arial,sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.clock-place-results small { overflow: hidden; color: #687786; font: 8px/1.25 Arial,sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.corner-format-controls { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 5px; }
.corner-format-controls > span { color: #718091; font: 700 8px/1 Arial,sans-serif; letter-spacing: .09em; text-transform: uppercase; }
.corner-format-controls button, .link-mode-switch button { min-height: 32px; padding: 0 10px; border: 1px solid rgba(7,22,40,.13); background: #fff; color: #172536; font: 700 9px/1 Arial,sans-serif; cursor: pointer; }
.corner-format-controls button[aria-pressed="true"], .link-mode-switch button[aria-pressed="true"] { border-color: #168fe3; background: #e6f4fd; color: #087dce; }
.link-mode-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }
.corner-tool-card [data-link-mode-settings="qr"] > .tools-label { margin-top: 3px; }
.corner-tool-card .audio-tool-selects { grid-template-columns: 1fr; }
.corner-tool-card .audio-tool-checks { grid-template-columns: 1fr; }
.note-layer-editor { display: grid; gap: 10px; }
.note-layer-list { display: grid; gap: 7px; }
.note-layer-card { border: 1px solid rgba(7,22,40,.12); border-radius: 8px; background: #fff; overflow: clip; }
.note-layer-card > summary { min-height: 46px; padding: 8px 9px 8px 11px; display: flex; align-items: center; justify-content: space-between; gap: 8px; cursor: pointer; list-style: none; }
.note-layer-card > summary::-webkit-details-marker { display: none; }
.note-layer-card > summary > span { min-width: 0; display: grid; gap: 3px; }
.note-layer-card > summary strong { color: #102033; font: 700 10px/1.2 Arial,sans-serif; }
.note-layer-card > summary small { overflow: hidden; color: #788594; font: 9px/1.2 Arial,sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.note-layer-card > summary button { flex: 0 0 28px; width: 28px; height: 28px; padding: 0; border: 1px solid rgba(159,57,49,.18); border-radius: 50%; background: #fff; color: #9c423a; cursor: pointer; font-size: 0; }
.note-layer-card > summary button::before { content: '\00d7'; font-size: 16px; line-height: 1; }
.note-layer-card[open] > summary { border-bottom: 1px solid rgba(7,22,40,.09); background: rgba(234,245,253,.4); }
.note-layer-card-body { padding: 10px; display: grid; gap: 10px; }
.note-layer-card-body textarea { min-height: 72px; resize: vertical; }
.list-editor-tool { padding-top: 0 !important; border-top: 0 !important; }
.bring-editor-tool { padding-top: 0 !important; border-top: 0 !important; }
.bring-list-settings { padding-bottom: 10px !important; }
.bring-setting-toggle-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.bring-setting-toggle { min-width: 0; min-height: 56px; padding: 7px 9px; border: 1px solid rgba(7,22,40,.13); border-radius: 9px; background: rgba(255,255,255,.74); color: #536273; display: grid; grid-template-columns: 34px minmax(0,1fr); align-items: center; gap: 8px; text-align: left; cursor: pointer; transition: border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease; }
.bring-setting-toggle:hover,.bring-setting-toggle:focus-visible { outline: none; border-color: rgba(21,151,237,.58); transform: translateY(-1px); }
.bring-setting-toggle[aria-pressed="true"] { border-color: #168fe3; background: #eaf6fe; color: #087dce; box-shadow: inset 0 0 0 1px rgba(22,143,227,.16),0 5px 14px rgba(21,151,237,.1); }
.bring-setting-toggle-icon { position: relative; width: 34px; height: 34px; border-radius: 8px; background: #eef2f5; display: grid; place-items: center; transition: background .18s ease,color .18s ease; }
.bring-setting-toggle[aria-pressed="true"] .bring-setting-toggle-icon { background: #168fe3; color: #fff; }
.bring-setting-toggle[aria-pressed="true"] .bring-setting-toggle-icon::after { content: '\2713'; position: absolute; right: -3px; bottom: -3px; width: 15px; height: 15px; border: 2px solid #eaf6fe; border-radius: 50%; background: #087dce; color: #fff; display: grid; place-items: center; font: 800 8px/1 Arial,sans-serif; }
.bring-setting-toggle svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.bring-setting-toggle > span:last-child { min-width: 0; display: grid; gap: 3px; }
.bring-setting-toggle strong { color: inherit; font: 700 9px/1.2 Arial,sans-serif; }
.bring-setting-toggle small { color: #7d8996; font: 9px/1 Arial,sans-serif; }
.bring-setting-toggle[aria-pressed="true"] small { color: #087dce; }
.structured-bring-editor { display: grid; gap: 10px; }
.bring-editor-list { gap: 7px; }
.bring-editor-item[open] { border-color: #168fe3; box-shadow: 0 9px 22px rgba(7,22,40,.075); }
.bring-editor-item-body { gap: 9px; }
.bring-editor-item-body .structured-field { margin: 0; }
.bring-item-icon-editor { margin: 2px 0 0 !important; padding-top: 9px; border-top: 1px solid rgba(7,22,40,.09); }
.structured-list-editor { display: grid; gap: 10px; }
.list-editor-list { gap: 7px; }
.list-editor-item > summary { display: grid; grid-template-columns: minmax(0,1fr) 28px; justify-content: stretch; cursor: grab; touch-action: none; }
.list-editor-item > summary > span { grid-column: 1; width: 100%; }
.list-editor-item > summary > button { grid-column: 2; justify-self: end; margin-left: auto; }
.list-editor-item > summary:active, .is-reordering-list-items .list-editor-item > summary { cursor: grabbing; }
.list-editor-item > summary button:disabled { opacity: .25; cursor: default; }
.list-editor-item.is-direct-edit-target { border-color: #168fe3; box-shadow: 0 0 0 2px rgba(22,143,227,.12),0 10px 24px rgba(7,22,40,.08); }
.list-editor-item-body { padding: 10px; }
.list-editor-item-body .structured-list-icon-editor { margin: 0; }
.list-editor-item-body .structured-field { margin: 0; }
.list-item-add { order: -1; }
.list-typography-editor { padding-top: 10px; border-top: 1px solid rgba(7,22,40,.09); display: grid; gap: 9px; }
.list-typography-buttons { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 5px; }
.list-typography-buttons button { min-height: 34px; padding: 6px 5px; border: 1px solid rgba(36,152,237,.32); border-radius: 17px; background: #fff; color: #087dce; cursor: pointer; font: 700 8px/1.15 Arial,sans-serif; transition: border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease; }
.list-typography-buttons button:hover,.list-typography-buttons button:focus-visible { outline: none; border-color: #1597ed; background: #eef8ff; transform: translateY(-1px); }
.list-typography-buttons button[aria-expanded="true"] { border-color: #1597ed; background: #168fe3; color: #fff; box-shadow: 0 5px 14px rgba(21,151,237,.16); }
.list-text-format-panel { padding: 10px; border: 1px solid rgba(7,22,40,.1); border-radius: 8px; background: rgba(255,255,255,.64); display: grid; gap: 10px; }
.list-item-drop-placeholder { min-height: 46px; border: 1px dashed rgba(36,152,237,.58); border-radius: 8px; background: rgba(36,152,237,.075); box-shadow: inset 3px 0 0 rgba(36,152,237,.66); }
body > .list-editor-item.is-list-item-dragging { position: fixed; z-index: 320; margin: 0; border-color: rgba(36,152,237,.8); background: #f8fbfe; box-shadow: 0 24px 50px rgba(7,22,40,.26),0 8px 18px rgba(7,22,40,.15),inset 3px 0 0 #1597ed; overflow: hidden; pointer-events: none; transform: translate3d(0,var(--list-item-drag-y,0),0); scale: 1.035; rotate: -.25deg; transition: scale .2s cubic-bezier(.2,.84,.24,1.12),rotate .2s ease,box-shadow .2s ease; will-change: transform,scale; }
body > .list-editor-item.is-list-item-dragging.is-list-item-dropping { scale: 1; rotate: 0deg; box-shadow: 0 8px 20px rgba(7,22,40,.12),inset 3px 0 0 #1597ed; transition: transform .24s cubic-bezier(.2,.84,.24,1),scale .24s ease,rotate .24s ease,box-shadow .24s ease; }
.is-reordering-list-items { cursor: grabbing; user-select: none; }
.center-layer-card > summary { display: grid; grid-template-columns: 14px minmax(0,1fr) 28px; justify-content: stretch; cursor: grab; touch-action: none; }
.center-layer-card > summary > .center-layer-disclosure { grid-column: 1; width: 8px; min-width: 8px; height: 8px; display: block; justify-self: start; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; color: #168fe3; transform: translateY(-2px) rotate(45deg); transition: transform .16s ease; pointer-events: none; }
.center-layer-card[open] > summary > .center-layer-disclosure { transform: translateY(2px) rotate(225deg); }
.center-layer-card > summary > .center-layer-summary-copy { grid-column: 2; width: 100%; }
.center-layer-card > summary > [data-remove-center-layer] { grid-column: 3; justify-self: end; margin-left: auto; }
.center-layer-type-select { position: relative; width: max-content; max-width: 100%; display: inline-grid; align-items: center; }
.center-layer-type-select::after { content: none; }
.center-layer-type-select select { width: auto; max-width: 100%; height: 22px; margin: -3px 0 -1px -4px; padding: 0 4px; border: 0; border-radius: 4px; appearance: none; color: #102033; background: transparent; cursor: pointer; font: 700 10px/1.2 Arial,sans-serif; }
.center-layer-type-select select:hover { color: #087dce; background: rgba(36,152,237,.08); }
.center-layer-type-select select:focus-visible { outline: 2px solid rgba(36,152,237,.32); outline-offset: 1px; color: #087dce; background: #fff; }
.center-layer-card > summary:active, .is-reordering-center-layers .center-layer-card > summary { cursor: grabbing; }
.corner-note-editor-card > summary { cursor: grab; touch-action: none; }
.corner-note-editor-card > summary:active, .is-reordering-corner-note-layers .corner-note-editor-card > summary { cursor: grabbing; }
.center-layer-drop-placeholder { min-height: 46px; border: 1px dashed rgba(36,152,237,.58); border-radius: 8px; background: rgba(36,152,237,.075); box-shadow: inset 3px 0 0 rgba(36,152,237,.66); }
.corner-note-layer-drop-placeholder { min-height: 46px; border: 1px dashed rgba(36,152,237,.58); border-radius: 8px; background: rgba(36,152,237,.075); box-shadow: inset 3px 0 0 rgba(36,152,237,.66); }
body > .center-layer-card.is-center-layer-dragging { position: fixed; z-index: 320; margin: 0; border-color: rgba(36,152,237,.8); background: #f8fbfe; box-shadow: 0 24px 50px rgba(7,22,40,.26), 0 8px 18px rgba(7,22,40,.15), inset 3px 0 0 #1597ed; overflow: hidden; pointer-events: none; transform: translate3d(0,var(--center-drag-y,0),0); scale: 1.035; rotate: -.25deg; transition: scale .2s cubic-bezier(.2,.84,.24,1.12), rotate .2s ease, box-shadow .2s ease; will-change: transform,scale; }
body > .center-layer-card.is-center-layer-dragging.is-center-layer-dropping { scale: 1; rotate: 0deg; box-shadow: 0 8px 20px rgba(7,22,40,.12), inset 3px 0 0 #1597ed; transition: transform .24s cubic-bezier(.2,.84,.24,1), scale .24s ease, rotate .24s ease, box-shadow .24s ease; }
.is-reordering-center-layers { cursor: grabbing; user-select: none; }
body > .corner-note-editor-card.is-corner-note-layer-dragging { position: fixed; z-index: 320; margin: 0; border-color: rgba(36,152,237,.8); background: #f8fbfe; box-shadow: 0 24px 50px rgba(7,22,40,.26), 0 8px 18px rgba(7,22,40,.15), inset 3px 0 0 #1597ed; overflow: hidden; pointer-events: none; transform: translate3d(0,var(--corner-note-drag-y,0),0); scale: 1.035; rotate: -.25deg; transition: scale .2s cubic-bezier(.2,.84,.24,1.12), rotate .2s ease, box-shadow .2s ease; will-change: transform,scale; }
body > .corner-note-editor-card.is-corner-note-layer-dragging.is-corner-note-layer-dropping { scale: 1; rotate: 0deg; box-shadow: 0 8px 20px rgba(7,22,40,.12), inset 3px 0 0 #1597ed; transition: transform .24s cubic-bezier(.2,.84,.24,1), scale .24s ease, rotate .24s ease, box-shadow .24s ease; }
.is-reordering-corner-note-layers { cursor: grabbing; user-select: none; }
.note-layer-format-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.note-layer-format-grid.is-single { grid-template-columns: 1fr; }
.note-layer-format-grid label { display: grid; gap: 5px; color: #5f6d7c; font: 800 7px/1.2 Arial,sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.note-layer-format-grid select { width: 100%; height: 34px; padding: 0 7px; border: 1px solid rgba(7,22,40,.14); background: #fff; color: #102033; font: 600 9px/1 Arial,sans-serif; }
.note-layer-size-note, .note-layer-count { margin: 0; color: #758292; font: italic 9px/1.35 Georgia,serif; }
.corner-dynamic-text { min-width: 0; margin: 2px 0 0; padding: 11px; border: 1px solid rgba(36,152,237,.22); border-radius: 8px; display: grid; gap: 9px; background: rgba(234,245,253,.48); }
.corner-dynamic-text legend { padding: 0 5px; color: #087dce; font: 800 8px/1 Arial,sans-serif; letter-spacing: .11em; text-transform: uppercase; }
.corner-dynamic-text > p { margin: -2px 0 1px; color: #657486; font: 9px/1.35 Arial,sans-serif; }
.corner-dynamic-text > label { min-width: 0; display: grid; gap: 5px; color: #536273; font: 800 7px/1.2 Arial,sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.corner-dynamic-text select { min-width: 0; width: 100%; height: 34px; padding: 0 27px 0 8px; border: 1px solid rgba(7,22,40,.14); border-radius: 6px; background-color: #fff; color: #102033; font: 600 9px/1 Arial,sans-serif; text-transform: none; }
.corner-dynamic-text-action { min-width: 0; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 8px; }
.corner-dynamic-text-action small { min-width: 0; color: #687789; font: italic 9px/1.3 Georgia,serif; overflow-wrap: anywhere; }
.corner-dynamic-text-action button { min-height: 32px; padding: 0 12px; border: 1px solid #1597ed; border-radius: 17px; background: #1597ed; color: #fff; cursor: pointer; font: 800 8px/1 Arial,sans-serif; white-space: nowrap; }
.corner-dynamic-text-action button:hover { border-color: #087dce; background: #087dce; }
.corner-dynamic-text-action button:focus-visible, .corner-dynamic-text select:focus-visible { outline: 2px solid rgba(21,151,237,.38); outline-offset: 2px; }
.note-layer-add { padding-top: 10px; border-top: 1px solid rgba(7,22,40,.09); display: grid; gap: 7px; }
.note-layer-add > span { color: #536273; font: 800 8px/1 Arial,sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.note-layer-add > div { display: grid; grid-template-columns: repeat(3,1fr); gap: 5px; }
.note-layer-add button { min-height: 34px; padding: 6px 4px; border: 1px solid rgba(36,152,237,.32); border-radius: 17px; background: #fff; color: #087dce; cursor: pointer; font: 700 8px/1 Arial,sans-serif; }
.note-layer-add button:disabled { border-color: rgba(7,22,40,.1); color: #9ba5af; cursor: default; }
@media (max-width: 430px) {
  .corner-dynamic-text-action { grid-template-columns: 1fr; }
  .corner-dynamic-text-action button { width: 100%; }
}
.universal-overlay-note[data-note-align="center"], .cover-editor-details[data-note-align="center"], .chapter-cover .cover-widget[data-cover-widget="details"][data-note-align="center"] { text-align: center; }
.universal-overlay-note[data-note-style="accent"], .cover-editor-details[data-note-style="accent"], .chapter-cover .cover-widget[data-cover-widget="details"][data-note-style="accent"] { padding: 13px 15px; border: 1px solid currentColor; border-radius: 9px; background: color-mix(in srgb, currentColor 10%, transparent); backdrop-filter: blur(8px); }
.universal-overlay-note [contenteditable="true"], .cover-editor-details [contenteditable="true"] { cursor: text; outline: none; }
.universal-overlay-note [contenteditable="true"]:focus, .cover-editor-details [contenteditable="true"]:focus { background: rgba(36,152,237,.15); box-shadow: 0 0 0 4px rgba(36,152,237,.14); }
.universal-overlay-note, .cover-editor-details, .chapter-cover .cover-widget[data-cover-widget="details"] { max-width: min(300px,calc(100vw - 52px)); gap: 4px; }
.corner-note-layer { display: block; margin: 0; color: var(--corner-field-color,inherit) !important; text-shadow: none; letter-spacing: normal; opacity: 1; text-transform: none; white-space: pre-wrap; }
.corner-note-layer[data-note-type="subtitle"] { font-size: 8px !important; line-height: 1.25 !important; letter-spacing: .14em !important; text-transform: uppercase !important; }
.corner-note-layer[data-note-type="title"] { font-size: 18px !important; line-height: 1.12 !important; letter-spacing: -.015em !important; }
.corner-note-layer[data-note-type="paragraph"] { font-size: 12px !important; line-height: 1.4 !important; }
.corner-note-layer[data-note-type="subtitle"][data-note-size="small"] { font-size: 7px !important; }
.corner-note-layer[data-note-type="subtitle"][data-note-size="large"] { font-size: 10px !important; }
.corner-note-layer[data-note-type="title"][data-note-size="small"] { font-size: 14px !important; }
.corner-note-layer[data-note-type="title"][data-note-size="large"] { font-size: 24px !important; }
.corner-note-layer[data-note-type="paragraph"][data-note-size="small"] { font-size: 10px !important; }
.corner-note-layer[data-note-type="paragraph"][data-note-size="large"] { font-size: 15px !important; }
.corner-note-layer[data-note-font="sans"] { font-family: 'EventSans',sans-serif !important; }
.corner-note-layer[data-note-font="serif"] { font-family: 'EventSerif',serif !important; }
.corner-note-layer[data-note-font="slab"] { font-family: 'EventSlab',serif !important; }
.corner-note-layer[data-note-font="hand"] { font-family: 'EventHand',sans-serif !important; }
.corner-note-layer[data-note-weight="thin"] { font-weight: 250 !important; }
.corner-note-layer[data-note-weight="normal"] { font-weight: 500 !important; }
.corner-note-layer[data-note-weight="black"] { font-weight: 900 !important; }
.corner-note-layer[data-note-font="hand"][data-note-weight="black"] { font-weight: 800 !important; }
.corner-note-layer[data-note-text-style="italic"] { font-style: italic !important; }
.corner-note-layer[data-note-text-style="uppercase"] { text-transform: uppercase !important; }
.corner-note-layer[data-note-align="left"] { text-align: left; }
.corner-note-layer[data-note-align="center"] { text-align: center; }
.corner-note-layer[data-note-align="right"] { text-align: right; }
.corner-note-layer[data-note-opacity="100"] { opacity: 1; }
.corner-note-layer[data-note-opacity="70"] { opacity: .7; }
.corner-note-layer[data-note-opacity="35"] { opacity: .35; }

/* Corner tools own their appearance. Legacy page-level values remain a
   read-only fallback for older published markup that has no field metadata. */
[data-corner-field] { color: var(--corner-field-color,#fff) !important; text-shadow: var(--corner-field-shadow,0 1px 18px rgba(0,0,0,.6)); }
[data-corner-field-font="sans"] { font-family: 'EventSans',sans-serif !important; }
[data-corner-field-font="serif"] { font-family: 'EventSerif',serif !important; }
[data-corner-field-font="slab"] { font-family: 'EventSlab',serif !important; }
[data-corner-field-font="hand"] { font-family: 'EventHand',sans-serif !important; }
/* Generated clock and weather locations share one optical type scale. Their
   fonts have different cap heights, so nominally equal pixels do not look
   equal. These values align all four choices to the larger Hand-font label. */
:is([data-corner-field="clock-location"],[data-corner-field="weather-location"])[data-corner-field-font="sans"] { font-size: 9.5px; }
:is([data-corner-field="clock-location"],[data-corner-field="weather-location"])[data-corner-field-font="serif"] { font-size: 9px; }
:is([data-corner-field="clock-location"],[data-corner-field="weather-location"])[data-corner-field-font="slab"] { font-size: 11px; }
:is([data-corner-field="clock-location"],[data-corner-field="weather-location"])[data-corner-field-font="hand"] { font-size: 8px; }
[data-corner-button] { border-color: color-mix(in srgb,var(--corner-button-color,#fff) 82%,transparent) !important; background: color-mix(in srgb,var(--corner-button-color,#fff) 86%,transparent) !important; color: var(--corner-button-ink,#07101d) !important; text-shadow: none !important; }
.universal-overlay-audio[data-audio-color] { --audio-accent: var(--audio-control-color,#fff); --audio-accent-2: var(--audio-control-color,#fff); color: var(--audio-control-color,#fff) !important; filter: drop-shadow(var(--audio-control-shadow,0 1px 18px rgba(0,0,0,.6))); }
.universal-overlay-audio[data-audio-color] .audio-play-toggle, .universal-overlay-audio[data-audio-color].is-playing .audio-play-toggle { background: transparent; color: var(--audio-control-color,#fff); }
.universal-overlay-audio[data-audio-color] .audio-corner-title { color: color-mix(in srgb,var(--audio-control-color,#fff) 72%,transparent); }
.universal-overlay-audio[data-audio-color] .audio-wave-base { stroke: color-mix(in srgb,var(--audio-control-color,#fff) 22%,transparent); }
.universal-overlay-audio[data-audio-color] .audio-volume-control svg { stroke: color-mix(in srgb,var(--audio-control-color,#fff) 72%,transparent); }
.universal-overlay-audio[data-audio-color] .audio-wave-seek::after { border-color: color-mix(in srgb,var(--audio-control-color,#fff) 82%,transparent); }
[data-corner-tone="white"] { --corner-tool-ink: #fff; --corner-tool-shadow: 0 1px 18px rgba(0,0,0,.6); }
[data-corner-tone="black"] { --corner-tool-ink: #07101d; --corner-tool-shadow: 0 1px 18px rgba(255,255,255,.72); }
[data-corner-tone] { --corner-tool-ink: var(--corner-tool-color,#fff); }
[data-corner-tone] .cover-widget:not([data-corner-button]), .cover-editor-canvas[data-corner-tone] .cover-editor-widget:not([data-corner-button]) { color: var(--corner-tool-ink); text-shadow: var(--corner-tool-shadow); }
[data-corner-tone] .universal-overlay:not(.universal-overlay-qr):not([data-corner-button]):not([data-audio-color]) { color: var(--corner-tool-ink); text-shadow: var(--corner-tool-shadow); }
[data-corner-tone] .cover-widget-button:not([data-corner-button]), .cover-editor-canvas[data-corner-tone] .cover-editor-button:not([data-corner-button]), [data-corner-tone] .universal-overlay-button:not([data-corner-button]) { color: var(--corner-tool-ink) !important; border-color: color-mix(in srgb,var(--corner-tool-ink) 68%,transparent); }
[data-corner-tone] .universal-overlay-audio:not([data-audio-color]) { --audio-accent: var(--corner-tool-ink); --audio-accent-2: var(--corner-tool-ink); color: var(--corner-tool-ink); }

.direct-edit-note { margin: 0; padding: 8px 9px; border: 1px dashed rgba(7,22,40,.14); background: #f8fafc; color: #667587; font: italic 9px/1.35 Georgia,serif; }
.layer-font-control { display: grid; gap: 5px; }
.layer-font-control > span { color: #5f6d7c; font: 800 7px/1.2 'EventSans',sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.layer-font-options { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 5px; }
.layer-font-options button { min-width: 0; min-height: 58px; padding: 6px 2px 5px; border: 1px solid rgba(7,22,40,.14); border-radius: 4px; background: #fff; color: #314155; display: grid; place-items: center; align-content: center; gap: 5px; cursor: pointer; }
.layer-font-options button:hover, .layer-font-options button:focus-visible { border-color: rgba(21,151,237,.62); outline: none; }
.layer-font-options button[aria-pressed="true"] { border-color: #1597ed; background: #eaf5fd; color: #087dce; box-shadow: inset 0 -2px 0 rgba(21,151,237,.25); }
.layer-font-options b { font-size: 20px; line-height: 1; font-weight: 500; }
.layer-font-options span { overflow: hidden; max-width: 100%; font: 700 7px/1 'EventSans',sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.layer-font-options [data-font-choice="sans"] b { font-family: 'EventSans',sans-serif; }
.layer-font-options [data-font-choice="serif"] b { font-family: 'EventSerif',serif; }
.layer-font-options [data-font-choice="slab"] b { font-family: 'EventSlab',serif; }
.layer-font-options [data-font-choice="hand"] b { font-family: 'EventHand',sans-serif; }
.layer-color-control { display: grid; gap: 7px; }
.layer-color-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.layer-color-heading > span { color: #5f6d7c; font: 800 7px/1.2 'EventSans',sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.layer-color-picker-shell { transition: opacity .16s ease, filter .16s ease; }
.layer-color-picker-shell .color-explorer { margin: 0; }
.layer-color-options { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 4px; transition: opacity .16s ease, filter .16s ease; }
.layer-color-options button { min-width: 0; height: 38px; padding: 0; border: 1px solid rgba(7,22,40,.14); border-radius: 5px; background: #fff; display: grid; place-items: center; cursor: pointer; transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease; }
.layer-color-options button:hover, .layer-color-options button:focus-visible { outline: none; border-color: rgba(21,151,237,.68); transform: translateY(-1px); }
.layer-color-options button[aria-pressed="true"] { border-color: #1597ed; background: #eaf5fd; box-shadow: inset 0 0 0 1px #1597ed; }
.layer-color-options[aria-disabled="true"] { opacity: .32; filter: grayscale(1); }
.layer-color-options button:disabled { cursor: not-allowed; transform: none; }
.layer-color-swatch { width: 18px; height: 18px; border: 1px solid rgba(7,22,40,.28); border-radius: 50%; box-shadow: 0 1px 3px rgba(7,22,40,.12); }
.layer-color-options [data-layer-color-choice="white"] .layer-color-swatch { background: #fff; }
.layer-color-options [data-layer-color-choice="black"] .layer-color-swatch { background: #07101d; }
.layer-color-options [data-layer-color-choice="red"] .layer-color-swatch { background: #ef3d3d; }
.layer-color-options [data-layer-color-choice="gold"] .layer-color-swatch { background: #f2c94c; }
.layer-color-options [data-layer-color-choice="green"] .layer-color-swatch { background: #2fc779; }
.layer-color-options [data-layer-color-choice="blue"] .layer-color-swatch { background: #2498ed; }
.layer-color-options [data-layer-color-choice="magenta"] .layer-color-swatch { background: #d92fc7; }
.layer-icon-controls { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.layer-icon-controls > div { min-width: 0; display: grid; gap: 5px; }
.layer-icon-controls > div > span { color: #5f6d7c; font: 800 7px/1.2 Arial,sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.layer-icon-controls > div > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
.layer-icon-controls > .layer-opacity-control { grid-column: 1 / -1; }
.layer-icon-controls button { min-width: 0; height: 34px; padding: 0; border: 1px solid rgba(7,22,40,.14); border-right-width: 0; background: #fff; color: #314155; cursor: pointer; }
.layer-icon-controls button:first-child { border-radius: 4px 0 0 4px; }
.layer-icon-controls button:last-child { border-right-width: 1px; border-radius: 0 4px 4px 0; }
.layer-icon-controls button[aria-pressed="true"] { position: relative; z-index: 1; border-color: #1597ed; border-right-width: 1px; background: #eaf5fd; color: #087dce; }
.layer-icon-controls button[aria-pressed="true"] + button { border-left-width: 0; }
.layer-icon-controls b { font: 600 12px/1 Arial,sans-serif; }
.layer-icon-controls .weight-thin { font-weight: 250; }
.layer-icon-controls .weight-normal { font-weight: 500; }
.layer-icon-controls .weight-black { font-weight: 900; }
.layer-icon-controls .size-small { font-size: 9px; }
.layer-icon-controls .size-medium { font-size: 12px; }
.layer-icon-controls .size-large { font-size: 15px; }
.layer-icon-controls .style-italic { font-style: italic; }
.layer-icon-controls .style-uppercase { font-size: 10px; letter-spacing: .04em; }
.layer-icon-controls .opacity-100,
.layer-icon-controls .opacity-70,
.layer-icon-controls .opacity-35 { font-size: 9px; }
.layer-icon-controls .opacity-70 { opacity: .7; }
.layer-icon-controls .opacity-35 { opacity: .35; }
.layer-icon-controls svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }
.layer-color-control { margin-top: 1px; }

.compact-text-format { min-width: 0; display: grid; gap: 0; }
.compact-text-format-tabs { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(var(--text-format-tab-count),minmax(0,1fr)); gap: 2px; padding: 0 1px 9px; }
.compact-text-format-tabs > button { min-width: 0; min-height: 58px; padding: 7px 1px 6px; border: 0; border-radius: 7px; background: transparent; color: #586879; display: grid; place-items: center; align-content: center; gap: 5px; cursor: pointer; transition: color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease; }
.compact-text-format-tabs > button:hover { background: rgba(234,245,253,.62); color: #087dce; }
.compact-text-format-tabs > button:focus-visible { outline: 2px solid rgba(21,151,237,.66); outline-offset: 1px; }
.compact-text-format-tabs > button[aria-selected="true"] { background: #f3f9fd; color: #0b91e5; box-shadow: 0 5px 14px rgba(7,22,40,.08),inset 0 -2px 0 rgba(21,151,237,.2); transform: translateY(-1px); }
.compact-text-format-tabs > button > span:last-child { overflow: hidden; max-width: 100%; font: 700 7.5px/1 'EventSans',sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.compact-text-format-icon { display: block; width: 22px; height: 22px; font: 500 21px/1 Arial,sans-serif; }
.compact-text-format-tabs svg.compact-text-format-icon { fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; }
.compact-text-format-tabs svg.compact-text-more-icon { fill: currentColor; stroke: none; }
.compact-text-format-font-icon { color: #1597ed; font-weight: 500; }
.compact-text-format-size-icon { font-weight: 700; }
.compact-text-format-weight-icon { font-weight: 900; }
.compact-text-format-style-icon { font-family: Georgia,serif; font-style: italic; }
.compact-text-color-dot { width: 21px; height: 21px; border: 2px solid #fff; border-radius: 50%; background: var(--text-format-current-color); box-shadow: 0 0 0 1px rgba(7,22,40,.2),0 2px 5px rgba(7,22,40,.12); }
.compact-text-color-dot.is-auto { background: linear-gradient(135deg,#fff 0 46%,#9ba7b4 47% 53%,#07101d 54% 100%); }
.compact-text-format-panels { position: relative; min-width: 0; border: 1px solid rgba(7,22,40,.12); border-radius: 8px; background: rgba(255,255,255,.78); box-shadow: inset 0 1px 0 rgba(255,255,255,.9); }
.compact-text-format-panels::before { content: ''; position: absolute; z-index: 0; top: -6px; left: calc(var(--text-format-pointer-left) - 6px); width: 11px; height: 11px; border: 1px solid rgba(7,22,40,.12); border-right: 0; border-bottom: 0; background: #fff; transform: rotate(45deg); transition: left .18s cubic-bezier(.2,.84,.24,1); }
.compact-text-format-panel { position: relative; z-index: 1; min-width: 0; min-height: 82px; padding: 13px; }
.compact-text-format-panel[hidden] { display: none; }
.compact-text-format-panel .layer-font-control { gap: 0; }
.compact-text-format-panel .layer-font-control > span { display: none; }
.compact-text-choice-group { display: grid; gap: 7px; }
.compact-text-choice-group > span { color: #5f6d7c; font: 800 7px/1.2 'EventSans',sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.compact-text-choice-group > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; }
.compact-text-choice-group button { min-width: 0; height: 48px; padding: 0; border: 1px solid rgba(7,22,40,.14); border-radius: 6px; background: #fff; color: #314155; display: grid; place-items: center; cursor: pointer; transition: border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease; }
.compact-text-choice-group button:hover,.compact-text-choice-group button:focus-visible { outline: none; border-color: rgba(21,151,237,.68); color: #087dce; transform: translateY(-1px); }
.compact-text-choice-group button[aria-pressed="true"] { border-color: #1597ed; background: #eaf5fd; color: #087dce; box-shadow: inset 0 0 0 1px rgba(21,151,237,.3),0 4px 10px rgba(21,151,237,.1); }
.compact-text-choice-group b { font: 600 15px/1 'EventSans',sans-serif; }
.compact-text-choice-group .weight-thin { font-weight: 250; }
.compact-text-choice-group .weight-normal { font-weight: 500; }
.compact-text-choice-group .weight-black { font-weight: 900; }
.compact-text-choice-group .size-small { font-size: 11px; }
.compact-text-choice-group .size-medium { font-size: 15px; }
.compact-text-choice-group .size-large { font-size: 20px; }
.compact-text-choice-group .style-italic { font-style: italic; }
.compact-text-choice-group .style-uppercase { font-size: 12px; letter-spacing: .04em; }
.compact-text-choice-group .opacity-100,
.compact-text-choice-group .opacity-70,
.compact-text-choice-group .opacity-35 { font-size: 10px; }
.compact-text-choice-group .opacity-70 { opacity: .7; }
.compact-text-choice-group .opacity-35 { opacity: .35; }
.compact-text-choice-group svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }

@media (max-width: 380px) {
  .compact-text-format-tabs { gap: 0; }
  .compact-text-format-tabs > button { min-height: 54px; }
  .compact-text-format-tabs > button > span:last-child { font-size: 7px; }
  .compact-text-format-icon { font-size: 19px; }
  .compact-text-color-dot { width: 19px; height: 19px; }
  .compact-text-format-panel { padding: 11px; }
}

.center-text-layout { position: relative; z-index: 1; width: 100%; min-height: 100svh; padding: clamp(92px,12vh,140px) clamp(42px,10vw,160px) clamp(70px,10vh,110px); display: grid; align-items: center; gap: clamp(30px,6vw,90px); }
.center-text-layout.is-columns { grid-template-columns: repeat(2,minmax(0,1fr)); }
.center-text-column { min-width: 0; display: grid; align-content: center; gap: clamp(12px,2vh,24px); }
.center-text-layer { max-width: 16em; margin: 0; color: inherit; white-space: pre-wrap; }
.center-text-layer[data-center-layer-type="title"] { font-size: clamp(48px,7.2vw,118px); line-height: .92; letter-spacing: -.055em; text-wrap: balance; }
.center-text-layer[data-center-layer-type="subtitle"], .center-text-layer[data-center-layer-type="event-details"] { font-size: clamp(12px,1.25vw,19px); line-height: 1.25; letter-spacing: .15em; text-transform: uppercase; }
.center-text-layer[data-center-layer-type="paragraph"] { max-width: 42em; font-size: clamp(16px,1.5vw,24px); line-height: 1.5; }
.center-text-layer[data-center-layer-type="date"], .center-text-layer[data-center-layer-type="time"] { font-size: clamp(23px,3vw,46px); line-height: 1.1; letter-spacing: -.025em; }
.center-text-layout.is-columns .center-text-layer[data-center-layer-type="title"],
.center-layout-columns .center-text-layer[data-center-layer-type="title"] { font-size: clamp(40px,5vw,82px); }
.center-text-layer[data-center-layer-font="sans"] { font-family: 'EventSans',sans-serif; }
.center-text-layer[data-center-layer-font="serif"] { font-family: 'EventSerif',serif; }
.center-text-layer[data-center-layer-font="slab"] { font-family: 'EventSlab',serif; }
.center-text-layer[data-center-layer-font="hand"] { font-family: 'EventHand',sans-serif; }
.center-text-layer[data-center-layer-weight="thin"] { font-weight: 250; }
.center-text-layer[data-center-layer-weight="normal"] { font-weight: 500; }
.center-text-layer[data-center-layer-weight="black"] { font-weight: 900; }
.center-text-layer[data-center-layer-font="hand"][data-center-layer-weight="black"] { font-weight: 800; }
.center-text-layer[data-center-layer-style="italic"] { font-style: italic; }
.center-text-layer[data-center-layer-style="uppercase"] { text-transform: uppercase; }
.center-text-layer[data-center-layer-align="left"] { margin-right: auto; text-align: left; }
.center-text-layer[data-center-layer-align="center"] { margin-right: auto; margin-left: auto; text-align: center; }
.center-text-layer[data-center-layer-align="right"] { margin-left: auto; text-align: right; }
.center-text-layer[data-center-layer-opacity="100"] { opacity: 1; }
.center-text-layer[data-center-layer-opacity="70"] { opacity: .7; }
.center-text-layer[data-center-layer-opacity="35"] { opacity: .35; }
.center-text-layer[data-center-layer-color="auto"] { color: var(--center-text-auto-color, inherit); }
.center-text-layer[data-center-layer-color="manual"] { color: var(--center-text-manual-color, inherit); }
.center-text-layer[data-center-layer-color="white"] { color: #fff; }
.center-text-layer[data-center-layer-color="black"] { color: #07101d; }
.center-text-layer[data-center-layer-color="red"] { color: #ef3d3d; }
.center-text-layer[data-center-layer-color="gold"] { color: #f2c94c; }
.center-text-layer[data-center-layer-color="green"] { color: #2fc779; }
.center-text-layer[data-center-layer-color="blue"] { color: #2498ed; }
.center-text-layer[data-center-layer-color="magenta"] { color: #d92fc7; }
.text-module { color: var(--ink); background: #f1eadf; }
.text-module:not(.has-light-background), .text-module.has-video-background { color: #fff; }
.center-text-wash { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,rgba(4,13,23,.45),rgba(4,13,23,.1)); pointer-events: none; }
.text-module.has-light-background .center-text-wash { background: linear-gradient(90deg,rgba(255,255,255,.08),transparent); }
.text-module.is-cover-inspired { background-color: #071628; background-image: url('assets/hero-rooftop.webp'); background-size: cover; background-position: center; }
.text-module.is-cover-inspired .center-text-wash { background: linear-gradient(180deg,rgba(1,9,19,.3),rgba(1,9,19,.18) 38%,rgba(1,9,19,.58)); }
.text-module.is-cover-inspired :is(.center-text-column,.standalone-text-content) { justify-items: center; text-align: center; }
.text-module.is-cover-inspired .center-text-layer:is([data-center-layer-type="subtitle"],[data-center-layer-type="event-details"]) { max-width: 70em; }
.text-module .center-text-layer[data-center-layer-type="subtitle"]::before,
.text-module .center-text-layer[data-center-layer-type="subtitle"]::after { content: none; }
.page-background-image, .page-background-video-frame, .page-background-video, .page-background-video-underlay, .gallery-video-background { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; object-fit: cover; -webkit-backface-visibility: hidden; backface-visibility: hidden; transform-origin: center; }
.page-background-video-frame { pointer-events: none; }
.page-background-image[hidden], .page-background-video[hidden], .gallery-video-background[hidden] { display: none; }
.page-background-video-underlay { pointer-events: none; transform: translate3d(0,0,0); -webkit-transform: translate3d(0,0,0); }
.page-background-exposure { position: absolute; inset: 0; z-index: -2; pointer-events: none; transform: translateZ(0); will-change: opacity; }
.page-background-tint { position: absolute; inset: 0; z-index: -2; background: var(--background-treatment, #071628); mix-blend-mode: color; opacity: .72; pointer-events: none; transition: background-color .28s ease, opacity .28s ease; }
.page-background-tint[hidden] { display: none; }
.page-background-loading { position: absolute; z-index: 8; left: 50%; bottom: clamp(22px,4vh,48px); min-height: 36px; padding: 8px 13px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; display: inline-flex; align-items: center; gap: 9px; color: #fff; background: rgba(3,12,22,.76); box-shadow: 0 10px 30px rgba(0,0,0,.24); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); transform: translateX(-50%); pointer-events: none; }
.page-background-loading span { width: 12px; height: 12px; border: 2px solid rgba(255,255,255,.35); border-top-color: #fff; border-radius: 50%; animation: page-background-loading-spin .75s linear infinite; }
.page-background-loading strong { font: 700 11px/1 var(--font-sans); letter-spacing: .01em; white-space: nowrap; }
.page-background-loading.is-error { border-color: rgba(255,170,150,.36); background: rgba(87,20,18,.84); }
.page-background-loading.is-error span { border: 0; animation: none; }
.page-background-loading.is-error span::before { content: '!'; font: 900 13px/1 var(--font-sans); }
@keyframes page-background-loading-spin { to { transform: rotate(360deg); } }

.center-text-editor { display: grid; gap: 10px; }
.center-layer-columns { display: grid; gap: 10px; }

.official-editor-preview [data-center-region-slot] { cursor: pointer; }
.official-editor-preview [data-center-region-slot][data-center-region-type="text"] { cursor: text; }
.center-layer-column-editor { padding: 0; border: 0; border-radius: 0; background: transparent; display: grid; gap: 10px; }
.center-layer-column-editor h4 { margin: 0; color: #536273; font: 800 8px/1 Arial,sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.center-layer-add { padding: 0; border: 0; display: grid; }
.center-layer-add button { width: 100%; min-height: 42px; padding: 8px 11px; border: 1px solid rgba(36,152,237,.38); border-radius: 8px; background: #fff; color: #087dce; display: flex; align-items: center; justify-content: flex-start; gap: 8px; cursor: pointer; font: 700 11px/1.15 Arial,sans-serif; transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease; }
.center-layer-add button:hover, .center-layer-add button:focus-visible { outline: none; border-color: #1597ed; background: #eef8ff; box-shadow: 0 5px 14px rgba(21,151,237,.12); transform: translateY(-1px); }
.center-layer-add button > span { font: 400 21px/.75 Arial,sans-serif; transform: translateY(-1px); }
.center-layer-add button > strong { font: inherit; }
.center-layer-add button > small { margin-left: auto; color: #687789; font: italic 10px/1.2 Georgia,serif; }
.center-layer-add button:disabled { border-color: rgba(7,22,40,.1); color: #9ba5af; cursor: default; }
.center-layer-add button:disabled:hover { background: #fff; box-shadow: none; transform: none; }

.official-editor-preview.is-switching-center-slot .center-text-layer,
.official-editor-preview.is-switching-center-slot .center-text-column,
.official-editor-preview.is-switching-center-slot .standalone-text-content { animation: none !important; transition: none !important; }
.material-layer-picker { position: relative; display: grid; gap: 5px; }
.material-layer-picker > span { color: #5f6d7c; font: 800 7px/1.2 Arial,sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.material-layer-picker button { width: 100%; min-height: 40px; padding: 9px 10px; border: 1px solid rgba(7,22,40,.16); background: #fff; color: #102033; display: flex; align-items: center; justify-content: space-between; gap: 10px; cursor: pointer; font: 700 10px/1.2 Arial,sans-serif; text-align: left; transition: border-color .16s ease, background .16s ease, box-shadow .16s ease; }
.material-layer-picker button:focus, .material-layer-picker button:focus-visible, .material-layer-picker button.is-picker-open { outline: none; border-color: #1597ed; background: #eef8ff; box-shadow: 0 0 0 3px rgba(36,152,237,.18); }
.material-layer-picker svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.material-layer-picker input { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: 40px; opacity: 0; pointer-events: none; }
.center-event-details-fields { display: grid; gap: 10px; }
.center-event-location-field { display: grid; gap: 5px; color: #5f6d7c; font: 800 7px/1.2 Arial,sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.center-event-location-field input { width: 100%; min-height: 40px; padding: 9px 10px; border: 1px solid rgba(7,22,40,.16); background: #fff; color: #102033; font: 700 10px/1.2 Arial,sans-serif; letter-spacing: 0; text-transform: none; transition: border-color .16s ease, background .16s ease, box-shadow .16s ease; }
.center-event-location-field input:focus { outline: none; border-color: #1597ed; background: #eef8ff; box-shadow: 0 0 0 3px rgba(36,152,237,.18); }
.background-media-status { margin: 8px 0 0; color: #728091; font: italic 9px/1.3 Georgia,serif; }

.gallery-grid > video, .gallery-grid > iframe, .gallery-grid > a { width: 100%; height: 100%; min-width: 0; min-height: 0; object-fit: cover; background: #02070c; }
.gallery-grid > iframe, .gallery-grid > a { border: 0; }
.gallery-grid > :first-child { grid-row: span 2; }
.gallery-grid[data-gallery-image-fit="fit"] > img,
.gallery-grid[data-gallery-image-fit="fit"] > video { object-fit: contain; background: #02070c; }
.gallery-asset-mixed video { object-fit: contain; background: #06111e; }
.gallery-link-badge { width: 50px; height: 42px; padding: 4px; background: #0a1a2c; color: #fff; display: grid; place-items: center; font: 700 7px/1.1 Arial,sans-serif; text-align: center; }

@media (max-width: 900px) {
  .center-text-layout { min-height: 100%; padding: 28px 20px; align-content: center; }
  .center-text-layout.is-columns { grid-template-columns: 1fr 1fr; gap: 18px; }
  .center-text-layer[data-center-layer-type="title"] { font-size: clamp(34px,10vw,58px); }
  .center-text-layout.is-columns .center-text-layer[data-center-layer-type="title"] { font-size: clamp(28px,7vw,44px); }
  .center-text-layer[data-center-layer-type="paragraph"] { font-size: 13px; line-height: 1.4; }
}

@media (max-width: 420px) {
  .layer-color-options { grid-template-columns: repeat(4,minmax(0,1fr)); }
}

/* Demo publishing: the plan lives after the page stack and changes character at page four. */
.organizer-main > .plan-meter { margin: 28px 0 4px; padding: 18px; border: 1px solid rgba(181,126,40,.25); border-left: 4px solid #d39a3c; border-radius: 5px; background: #fffaf0; box-shadow: 0 12px 34px rgba(72,49,16,.09); transition: color .4s var(--ease), background .4s var(--ease), border-color .4s var(--ease), box-shadow .4s var(--ease); }
.organizer-main > .plan-meter .plan-meter-heading span { color: #aa711b; }
.organizer-main > .plan-meter .plan-meter-heading strong { font-size: 22px; }
.organizer-main > .plan-meter .plan-meter-track { background: rgba(130,83,13,.13); }
.organizer-main > .plan-meter .plan-meter-track span { background: #d39a3c; }
.organizer-main > .plan-meter > p { min-height: 33px; margin: 13px 0 16px; font-size: 12px; }
.organizer-main > .plan-meter > #createAccountButton { min-height: 48px; padding: 0 18px; border-radius: 999px; font-size: 12px; }
.organizer-main > .plan-meter > #createAccountButton:disabled { cursor: progress; opacity: .7; }
.organizer-main > .plan-meter > #createAccountButton[hidden],
.organizer-main > .plan-meter > .plan-account-row[hidden] { display: none !important; }
.plan-account-row { margin-top: 13px; padding-top: 12px; border-top: 1px solid rgba(7,22,40,.1); display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.plan-account-row > span { min-width: 0; color: rgba(7,22,40,.53); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }
.plan-account-row > button { width: auto; min-height: 0; padding: 4px 0; border: 0; border-radius: 0; background: transparent; color: #9b6412; flex: 0 0 auto; font-size: 10px; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.plan-account-row > button:hover, .plan-account-row > button:focus-visible { background: transparent; color: #71470a; outline: none; }
.organizer-main > .plan-meter.is-pro { border-color: rgba(90,187,255,.35); border-left-color: #45b5ff; background: #0a2643; color: white; box-shadow: 0 18px 42px rgba(2,19,36,.26); }
.organizer-main > .plan-meter.is-pro .plan-meter-heading span { color: #62c2ff; }
.organizer-main > .plan-meter.is-pro .plan-meter-heading small, .organizer-main > .plan-meter.is-pro > p { color: rgba(255,255,255,.68); }
.organizer-main > .plan-meter.is-pro .plan-meter-track { background: rgba(255,255,255,.13); }
.organizer-main > .plan-meter.is-pro .plan-meter-track span { background: #45b5ff; }
.organizer-main > .plan-meter.is-pro > #createAccountButton { background: white; color: #071a2e; }
.organizer-main > .plan-meter.is-pro > #createAccountButton:hover, .organizer-main > .plan-meter.is-pro > #createAccountButton:focus-visible { background: #daf1ff; }
.organizer-main > .plan-meter.is-pro .plan-account-row { border-color: rgba(255,255,255,.14); }
.organizer-main > .plan-meter.is-pro .plan-account-row > span { color: rgba(255,255,255,.56); }
.organizer-main > .plan-meter.is-pro .plan-account-row > button { color: #6cc5ff; }
.plan-comparison.is-signin-state, .plan-comparison.is-publish-state { display: block; }
.demo-signin-form { padding: 20px; border: 1px solid rgba(7,22,40,.12); background: white; display: grid; gap: 12px; }
.demo-signin-form label { display: grid; gap: 8px; }
.demo-signin-form label span, .published-link-field > span { color: rgba(7,22,40,.55); font-size: 9px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.demo-signin-form input, .published-link-field input { width: 100%; min-height: 50px; padding: 0 14px; border: 1px solid rgba(7,22,40,.18); background: #f7f9fb; color: var(--ink); outline: none; font-size: 15px; }
.demo-signin-form input:focus, .published-link-field input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(36,152,237,.13); }
.demo-signin-form button { min-height: 48px; padding: 0 16px; border: 0; border-radius: 999px; background: var(--blue); color: white; display: flex; justify-content: space-between; align-items: center; font-size: 12px; font-weight: 800; cursor: pointer; }
.demo-signin-form .demo-forgot-password { min-height:auto; width:max-content; padding:2px 0; border-radius:0; background:transparent; color:#087bcb; text-decoration:underline; text-underline-offset:4px; }
.demo-signin-form small { color: rgba(7,22,40,.52); font-size: 11px; }
.demo-signin-form output { min-height: 18px; color: #ae382f; font-size: 12px; }
.demo-auth-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-bottom: 8px; }
.demo-auth-tabs button { min-height: 44px; border: 1px solid rgba(7,22,40,.14); background: white; color: var(--ink); font-weight: 800; cursor: pointer; }
.demo-auth-tabs button[aria-selected="true"] { border-color: var(--blue); background: rgba(36,152,237,.1); color: #087bcb; }
.demo-account-summary { padding: 22px; border: 1px solid rgba(7,22,40,.12); background: white; display: grid; gap: 10px; }
.demo-account-summary strong { font-size: 20px; }
.demo-account-summary span { color: rgba(7,22,40,.62); }
.demo-account-summary button { min-height: 46px; border: 1px solid rgba(7,22,40,.14); border-radius: 999px; background: white; color: var(--ink); font-weight: 800; cursor: pointer; }
.demo-account-summary button:first-of-type { border-color: var(--blue); background: var(--blue); color: white; }
.publish-building { min-height: 156px; padding: 28px; border: 1px solid rgba(36,152,237,.2); background: #f8fbfe; display: grid; place-content: center; justify-items: center; gap: 8px; text-align: center; }
.publish-building i { width: 54px; height: 54px; margin-bottom: 9px; border: 2px solid rgba(36,152,237,.18); border-top-color: var(--blue); border-radius: 50%; animation: publish-spin .85s linear infinite; }
@keyframes publish-spin { to { transform: rotate(360deg); } }
.publish-building strong { font-size: 17px; }
.publish-building span { color: rgba(7,22,40,.5); font-size: 11px; }
.published-link-field { padding: 18px; border: 1px solid rgba(36,152,237,.22); background: #f8fbfe; display: grid; gap: 9px; }
.published-link-field input { color: #076eb5; font-weight: 750; }
.publish-error-mark { width: 76px; height: 76px; margin: 8px auto; border-radius: 50%; background: #a84035; color: white; display: grid; place-items: center; font-size: 42px; font-weight: 300; }

@media (max-width: 560px) {
  .organizer-main > .plan-meter { margin-top: 22px; padding: 16px; }
  .organizer-main > .plan-meter .plan-meter-heading strong { font-size: 20px; }
  .plan-account-row > span { max-width: 210px; }
}

@media (prefers-reduced-motion: reduce) {
  .publish-building i { animation-duration: .01ms; }
}

@media (max-width: 560px) {
  .center-text-layout.is-columns { gap: 13px; }
  .center-text-layer:is([data-center-layer-type="subtitle"],[data-center-layer-type="event-details"]) { font-size: 9px; }
  .center-text-layer[data-center-layer-type="date"], .center-text-layer[data-center-layer-type="time"] { font-size: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  body > .list-editor-item.is-list-item-dragging,
  body > .list-editor-item.is-list-item-dragging.is-list-item-dropping,
  body > .gallery-asset.is-gallery-item-dragging,
  body > .gallery-asset.is-gallery-item-dragging.is-gallery-item-dropping,
  body > .center-layer-card.is-center-layer-dragging,
  body > .center-layer-card.is-center-layer-dragging.is-center-layer-dropping,
  body > .corner-note-editor-card.is-corner-note-layer-dragging,
  body > .corner-note-editor-card.is-corner-note-layer-dragging.is-corner-note-layer-dropping { transition-duration: .01ms; }
}

.center-text-layer[data-center-layer-type="title"][data-center-layer-size="small"] { font-size: clamp(36px,5.5vw,88px); }
.center-text-layer[data-center-layer-type="title"][data-center-layer-size="large"] { font-size: clamp(58px,8.8vw,142px); }
.center-text-layout.is-columns .center-text-layer[data-center-layer-type="title"][data-center-layer-size="small"] { font-size: clamp(30px,4vw,66px); }
.center-text-layout.is-columns .center-text-layer[data-center-layer-type="title"][data-center-layer-size="large"] { font-size: clamp(48px,6.2vw,102px); }
.center-text-layer:is([data-center-layer-type="subtitle"],[data-center-layer-type="event-details"])[data-center-layer-size="small"] { font-size: clamp(9px,.95vw,14px); }
.center-text-layer:is([data-center-layer-type="subtitle"],[data-center-layer-type="event-details"])[data-center-layer-size="large"] { font-size: clamp(15px,1.65vw,25px); }
.center-text-layer[data-center-layer-type="paragraph"][data-center-layer-size="small"] { font-size: clamp(13px,1.15vw,18px); }
.center-text-layer[data-center-layer-type="paragraph"][data-center-layer-size="large"] { font-size: clamp(19px,1.9vw,30px); }
.center-text-layer:is([data-center-layer-type="date"],[data-center-layer-type="time"])[data-center-layer-size="small"] { font-size: clamp(18px,2.2vw,34px); }
.center-text-layer:is([data-center-layer-type="date"],[data-center-layer-type="time"])[data-center-layer-size="large"] { font-size: clamp(30px,3.8vw,58px); }

[contenteditable="true"][role="textbox"], [data-edit], [data-center-text-layer], .corner-note-layer { white-space: pre-wrap !important; }

@media (max-width: 560px) {
  .organizer-panel { width: 100%; }
  .template-tool-manager-actions { grid-template-columns: 1fr; }
}

/* Expandable 25-module library and editable prototype modules */
.catalog-module { --catalog-background: #f1eadf; --catalog-ink: #071628; --catalog-surface: rgba(255,255,255,.62); --catalog-line: rgba(7,22,40,.16); --catalog-accent: #168fde; position: relative; background: var(--catalog-background); color: var(--catalog-ink); isolation: isolate; overflow: hidden; }
.catalog-module-participation { --catalog-background: #0874c4; --catalog-ink: #fff; --catalog-surface: rgba(3,31,56,.23); --catalog-line: rgba(255,255,255,.2); --catalog-accent: #d8f0ff; }
.catalog-module-specialized { --catalog-background: #071628; --catalog-ink: #fff; --catalog-surface: rgba(255,255,255,.07); --catalog-line: rgba(255,255,255,.16); --catalog-accent: #58b9f7; }
.catalog-module-atmosphere { position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
.catalog-module-atmosphere span { position: absolute; width: min(48vw, 680px); aspect-ratio: 1; border-radius: 50%; background: var(--catalog-accent); filter: blur(2px); opacity: .1; }
.catalog-module-atmosphere span:first-child { top: -32%; right: -12%; }
.catalog-module-atmosphere span:last-child { bottom: -46%; left: -14%; opacity: .06; }
.catalog-module-layout { width: min(1280px, 100%); margin: 0 auto; padding: clamp(110px, 12vh, 150px) clamp(34px, 7vw, 108px) clamp(54px, 8vh, 90px); display: grid; grid-template-columns: minmax(0,.9fr) minmax(360px,1.1fr); align-items: center; gap: clamp(54px, 8vw, 130px); }
.catalog-module-copy { max-width: 650px; }
.catalog-module-kicker { margin: 0 0 24px; color: var(--catalog-accent); font: 800 10px/1 Arial, sans-serif; letter-spacing: .18em; text-transform: uppercase; }
.catalog-module-copy h2 { margin: 0; font: 400 clamp(62px, 7.6vw, 122px)/.86 Arial, sans-serif; letter-spacing: -.075em; text-wrap: balance; }
.catalog-module-copy > p:last-child { max-width: 540px; margin: 28px 0 0; color: color-mix(in srgb, var(--catalog-ink) 68%, transparent); font: 17px/1.52 Georgia, serif; }
.catalog-module-preview { min-width: 0; border: 1px solid var(--catalog-line); background: var(--catalog-surface); box-shadow: 0 28px 80px color-mix(in srgb, var(--catalog-ink) 10%, transparent); backdrop-filter: blur(16px); }
.catalog-module-preview header { min-height: 72px; padding: 17px 20px; border-bottom: 1px solid var(--catalog-line); display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.catalog-module-preview header span { color: var(--catalog-accent); font: 800 8px/1 Arial, sans-serif; letter-spacing: .16em; }
.catalog-module-preview header strong { max-width: 70%; font: 17px/1.1 Arial, sans-serif; text-align: right; }
.catalog-module-preview ol { margin: 0; padding: 0; list-style: none; }
.catalog-module-preview ol[data-module-scroll] { max-height: min(48vh, 520px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; touch-action: pan-y; }
.catalog-module-preview li { min-height: 70px; padding: 15px 20px; border-bottom: 1px solid var(--catalog-line); display: grid; grid-template-columns: 34px minmax(0,1fr); align-items: center; gap: 14px; }
.catalog-module-preview li span { color: color-mix(in srgb, var(--catalog-ink) 42%, transparent); font: 800 8px/1 Arial, sans-serif; letter-spacing: .08em; }
.catalog-module-preview li strong { font: 15px/1.3 Arial, sans-serif; }
.catalog-module-preview footer { min-height: 64px; padding: 14px 20px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.catalog-module-preview footer span { color: color-mix(in srgb, var(--catalog-ink) 54%, transparent); font: 10px/1.25 Georgia, serif; }
.catalog-module-preview footer strong { color: var(--catalog-accent); font: 800 8px/1 Arial, sans-serif; letter-spacing: .12em; text-align: right; }
.catalog-module[data-catalog-module="countdown"] .catalog-module-preview ol { display: grid; grid-template-columns: repeat(3,1fr); }
.catalog-module[data-catalog-module="countdown"] .catalog-module-preview li { min-height: 150px; padding: 22px 12px; border-right: 1px solid var(--catalog-line); grid-template-columns: 1fr; justify-items: center; text-align: center; }
.catalog-module[data-catalog-module="countdown"] .catalog-module-preview li:last-child { border-right: 0; }
.catalog-module[data-catalog-module="countdown"] .catalog-module-preview li span { display: none; }
.catalog-module[data-catalog-module="countdown"] .catalog-module-preview li strong { font-size: clamp(16px, 2vw, 25px); }

@media (max-width: 900px) {
  .organizer-panel { padding-bottom: max(22px, env(safe-area-inset-bottom)); }
  .module-picker { max-height: none; overflow: visible; }
  .module-picker-heading { min-height: 54px; }
  .module-picker-option { min-height: 66px; }
  .catalog-module-layout { padding: 96px 22px 24px; grid-template-columns: 1fr; align-content: center; gap: 24px; }
  .catalog-module-copy { max-width: 560px; }
  .catalog-module-kicker { margin-bottom: 13px; font-size: 8px; }
  .catalog-module-copy h2 { font-size: clamp(42px, 12vw, 66px); line-height: .9; letter-spacing: -.065em; }
  .catalog-module-copy > p:last-child { max-width: 520px; margin-top: 16px; font-size: 13px; line-height: 1.42; }
  .catalog-module-preview { width: 100%; max-width: 600px; }
  .catalog-module-preview header { min-height: 48px; padding: 10px 13px; }
  .catalog-module-preview header strong { font-size: 13px; }
  .catalog-module-preview li { min-height: 48px; padding: 9px 13px; grid-template-columns: 24px minmax(0,1fr); gap: 9px; }
  .catalog-module-preview li strong { font-size: 12px; }
  .catalog-module-preview footer { min-height: 44px; padding: 9px 13px; }
  .catalog-module-preview footer span { font-size: 9px; }
  .catalog-module-preview footer strong { font-size: 7px; }
  .catalog-module[data-catalog-module="countdown"] .catalog-module-preview li { min-height: 86px; padding: 14px 5px; }
}

@media (max-width: 420px) {
  .module-picker-heading > small { display: none; }
  .module-picker-option { grid-template-columns: 22px minmax(0,1fr) auto; gap: 7px; }
  .module-picker-option-copy small { font-size: 8px; }
  .catalog-module-layout { padding-top: 86px; gap: 19px; }
  .catalog-module-copy h2 { font-size: clamp(38px, 11vw, 54px); }
  .catalog-module-copy > p:last-child { font-size: 12px; }
}

@media (max-width: 900px) and (max-height: 500px) {
  .catalog-module-layout { padding: 76px 18px 14px; grid-template-columns: minmax(0,.82fr) minmax(330px,1.18fr); align-content: center; align-items: center; gap: 22px; }
  .catalog-module-kicker { margin-bottom: 8px; font-size: 7px; }
  .catalog-module-copy h2 { font-size: clamp(31px, 5vw, 43px); line-height: .9; }
  .catalog-module-copy > p:last-child { margin-top: 10px; font-size: 11px; line-height: 1.32; }
  .catalog-module-preview header { min-height: 34px; padding: 7px 10px; }
  .catalog-module-preview header strong { font-size: 11px; }
  .catalog-module-preview li { min-height: 35px; padding: 6px 10px; grid-template-columns: 18px minmax(0,1fr); gap: 7px; }
  .catalog-module-preview li strong { font-size: 10px; }
  .catalog-module-preview footer { min-height: 32px; padding: 6px 10px; }
  .catalog-module[data-catalog-module="countdown"] .catalog-module-preview li { min-height: 82px; }
}

.site-starter-modal { position:fixed; inset:0; z-index:260; padding:clamp(18px,4vw,56px); display:grid; place-items:center; overflow:auto; background:#000; backdrop-filter:none; opacity:0; transition:opacity .24s ease; }
.site-starter-modal[hidden] { display:none; }
.site-starter-modal.is-open { opacity:1; }
.site-starter-sheet { width:min(900px,100%); max-height:min(820px,calc(100svh - 36px)); padding:clamp(26px,4vw,46px); overflow:auto; color:#14263a; background:#f7f4ee; box-shadow:0 34px 100px rgba(0,0,0,.38); transform:translateY(14px) scale(.985); transition:transform .34s var(--ease); }
.site-starter-modal.is-open .site-starter-sheet { transform:none; }
.site-starter-sheet > header { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; }
.site-starter-sheet > header p,.site-starter-panel > header p { margin:0 0 9px; color:#168fe3; font:800 9px/1 Arial,sans-serif; letter-spacing:.15em; }
.site-starter-sheet > header h2 { max-width:640px; margin:0; font:600 clamp(38px,5.5vw,66px)/.92 Georgia,serif; letter-spacing:-.055em; }
.site-starter-close { flex:0 0 auto; width:42px; height:42px; border:1px solid rgba(7,22,40,.16); border-radius:50%; display:grid; place-items:center; color:#14263a; background:transparent; font:300 27px/1 Arial,sans-serif; cursor:pointer; transition:border-color .18s ease,color .18s ease,background .18s ease,transform .18s ease; }
.site-starter-close:hover,.site-starter-close:focus-visible { border-color:#168fe3; outline:none; color:#0874c4; background:#fff; transform:rotate(4deg); }
.site-starter-intro { max-width:560px; margin:15px 0 28px; color:#637287; font:500 14px/1.55 Arial,sans-serif; }
.site-starter-name { max-width:560px; margin:0 0 28px; display:grid; gap:8px; }
.site-starter-name > span { color:#168fe3; font:800 9px/1 Arial,sans-serif; letter-spacing:.15em; }
.site-starter-name input { width:100%; min-height:52px; padding:12px 14px; border:1px solid rgba(7,22,40,.18); border-radius:3px; color:#14263a; background:#fff; font:700 16px/1.2 Arial,sans-serif; }
.site-starter-name input:focus { border-color:#168fe3; outline:3px solid rgba(22,143,227,.14); outline-offset:1px; }
.site-starter-name small { color:#637287; font:500 11px/1.4 Arial,sans-serif; }
.site-starter-groups { display:grid; gap:26px; }
.site-starter-modes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.site-starter-mode { min-height:150px; padding:20px; border:1px solid rgba(7,22,40,.14); display:flex; align-items:flex-start; flex-direction:column; gap:8px; color:#14263a; background:rgba(255,255,255,.28); text-align:left; cursor:pointer; transition:border-color .18s ease,color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease; }
.site-starter-mode:hover,.site-starter-mode:focus-visible,.site-starter-mode.is-selected { border-color:#168fe3; outline:none; color:#0874c4; background:#fff; box-shadow:0 12px 28px rgba(11,49,82,.09); transform:translateY(-2px); }
.site-starter-mode-icon { width:48px; height:48px; margin-bottom:7px; border-radius:50%; display:grid; place-items:center; color:#168fe3; background:#e8f4fd; }
.site-starter-mode-icon svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.site-starter-mode strong { font:800 13px/1 Arial,sans-serif; letter-spacing:.02em; }
.site-starter-mode small { color:#778496; font:500 11px/1.4 Arial,sans-serif; }
.site-starter-library { min-height:258px; padding-top:22px; border-top:1px solid rgba(7,22,40,.14); }
.site-starter-library-placeholder { min-height:230px; display:grid; place-content:center; justify-items:center; color:#8491a0; text-align:center; }
.site-starter-library-placeholder > span { width:36px; height:36px; margin-bottom:12px; border:1px solid rgba(7,22,40,.13); border-radius:50%; display:grid; place-items:center; color:#168fe3; font:700 16px/1 Arial,sans-serif; }
.site-starter-library-placeholder strong { color:#536176; font:800 11px/1 Arial,sans-serif; letter-spacing:.04em; text-transform:uppercase; }
.site-starter-library-placeholder p { margin:8px 0 0; font:500 12px/1.45 Arial,sans-serif; }
.site-starter-panel > header { margin-bottom:15px; display:flex; align-items:flex-end; justify-content:space-between; gap:18px; }
.site-starter-panel > header h3 { margin:0; font:600 28px/1 Georgia,serif; letter-spacing:-.035em; }
.site-starter-panel > header > span { color:#8491a0; font:700 9px/1.2 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.site-starter-template-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.site-template-choice { min-height:86px; padding:15px; border:1px solid rgba(7,22,40,.14); display:grid; grid-template-columns:46px minmax(0,1fr) auto; align-items:center; gap:13px; color:#14263a; background:rgba(255,255,255,.34); text-align:left; cursor:pointer; transition:border-color .18s ease,color .18s ease,background .18s ease,transform .18s ease; }
.site-template-choice:hover,.site-template-choice:focus-visible { border-color:#168fe3; outline:none; color:#0874c4; background:#fff; transform:translateY(-2px); }
.site-template-choice-icon { width:46px; height:46px; border-radius:9px; display:grid; place-items:center; color:#168fe3; background:#e8f4fd; font:600 20px/1 Georgia,serif; }
.site-template-choice > span:nth-child(2) { min-width:0; display:grid; gap:6px; }
.site-template-choice strong { font:800 12px/1 Arial,sans-serif; }
.site-template-choice small { overflow:hidden; color:#778496; font:500 10px/1.35 Arial,sans-serif; text-overflow:ellipsis; white-space:nowrap; }
.site-template-choice b { color:#168fe3; font:500 17px/1 Arial,sans-serif; }
.site-starter-groups button:disabled { opacity:.55; cursor:progress; }
.site-starter-empty { min-height:150px; grid-column:1/-1; border:1px dashed rgba(7,22,40,.16); display:grid; place-content:center; justify-items:center; color:#8491a0; text-align:center; }
.site-starter-empty strong { color:#536176; font:800 11px/1 Arial,sans-serif; letter-spacing:.04em; text-transform:uppercase; }
.site-starter-empty span { margin-top:8px; font:500 12px/1.45 Arial,sans-serif; }
.saved-site-loading { position:fixed; inset:0; z-index:320; display:grid; place-content:center; justify-items:center; color:#fff; background:#061422; text-align:center; }
.saved-site-loading > span { width:48px; height:48px; margin-bottom:20px; border:2px solid rgba(255,255,255,.18); border-top-color:#2aa7f4; border-radius:50%; animation:saved-site-spin .9s linear infinite; }
.saved-site-loading strong { font:700 13px/1 Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.saved-site-loading small { margin-top:9px; color:#8fa7b9; font:500 12px/1.4 Arial,sans-serif; }
.dashboard-return-loading[hidden] { display:none !important; }
.dashboard-return-loading { z-index:1000; background:rgba(4,15,27,.98); backdrop-filter:blur(18px); }
.dashboard-return-loading strong { font-size:15px; letter-spacing:.12em; }
.dashboard-return-loading small { max-width:280px; }
.published-thumbnail-stage { position:fixed; top:0; left:-100000px; z-index:-1000; overflow:hidden; pointer-events:none; contain:layout paint style; }
.published-thumbnail-stage > .chapter { margin:0; opacity:1 !important; visibility:visible !important; transform:none !important; }
.published-thumbnail-stage .reveal { opacity:1 !important; visibility:visible !important; transform:none !important; transition:none !important; }
@keyframes saved-site-spin { to { transform:rotate(1turn); } }

@media (max-width: 700px) {
  .site-starter-modal { padding:0; place-items:stretch; }
  .site-starter-sheet { min-height:100svh; max-height:none; padding:70px 20px 30px; }
  .site-starter-sheet > header h2 { font-size:clamp(40px,12vw,58px); }
  .site-starter-intro { margin-bottom:18px; }
  .site-starter-name { margin-bottom:22px; }
  .site-starter-name input { min-height:48px; }
  .site-starter-modes { gap:7px; }
  .site-starter-mode { min-height:118px; padding:13px 10px; }
  .site-starter-mode-icon { width:42px; height:42px; }
  .site-starter-mode small { display:none; }
  .site-starter-library { min-height:240px; }
  .site-starter-template-grid { grid-template-columns:1fr; }
  .site-starter-panel > header { align-items:flex-start; flex-direction:column; gap:8px; }
}

@media (max-width: 900px) and (max-height: 500px) {
  .site-starter-modal { padding:68px 10px 8px; place-items:stretch center; }
  .site-starter-sheet { width:min(960px,100%); min-height:0; max-height:calc(100svh - 76px); padding:10px 16px 12px; }
  .site-starter-sheet > header { align-items:center; }
  .site-starter-sheet > header h2 { font-size:34px; line-height:.92; }
  .site-starter-close { width:34px; height:34px; font-size:22px; }
  .site-starter-intro { max-width:none; margin:3px 0 7px; font-size:11px; line-height:1.35; }
  .site-starter-name { max-width:none; margin:0 0 8px; grid-template-columns:90px minmax(0,1fr); align-items:center; gap:5px 10px; }
  .site-starter-name input { min-height:38px; padding:7px 10px; grid-row:1 / span 2; grid-column:2; }
  .site-starter-name small { grid-column:1; font-size:9px; }
  .site-starter-groups { grid-template-columns:240px minmax(0,1fr); align-items:start; gap:10px; }
  .site-starter-modes { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
  .site-starter-mode { min-height:96px; padding:9px; }
  .site-starter-mode-icon { width:34px; height:34px; margin-bottom:2px; }
  .site-starter-mode-icon svg { width:18px; height:18px; }
  .site-starter-mode small { font-size:9px; }
  .site-starter-library { min-height:108px; padding:0 0 0 10px; border-top:0; border-left:1px solid rgba(255,255,255,.18); }
  .site-starter-panel > header { margin-bottom:7px; }
  .site-starter-panel > header h3 { font-size:21px; }
  .site-starter-empty { min-height:76px; padding:8px; }
  .site-starter-empty span { margin-top:5px; font-size:10px; }
}

@media (prefers-reduced-motion: reduce) {
  .site-starter-modal,.site-starter-sheet,.site-starter-groups button,.page-template-library > summary i { transition:none; }
  .saved-site-loading > span { animation:none; border-top-color:rgba(255,255,255,.18); background:#168fe3; }
}

/* In a split Center Content layout, the page background belongs exclusively to
   the Background tool. Template-owned full-page washes must not appear and
   disappear as a different side becomes the editable primary region. */
.center-layout-columns > .center-text-wash,
.center-layout-columns > .countdown-wash,
.center-layout-columns > .rsvp-page-wash,
.center-layout-rows > .center-text-wash,
.center-layout-rows > .countdown-wash,
.center-layout-rows > .rsvp-page-wash {
  display: none !important;
  background: none !important;
  opacity: 0 !important;
  pointer-events: none;
}
.center-layout-columns > .gallery-layout .gallery-grid {
  width: 100%;
  height: min(62vh,620px);
  overflow-x: auto !important;
  overflow-y: hidden !important;
  grid-auto-flow: column;
  grid-auto-columns: minmax(180px,42%);
  grid-template-columns: none !important;
  grid-template-rows: repeat(2,minmax(0,1fr));
  overscroll-behavior: contain;
  touch-action: pan-x;
  scroll-snap-type: x mandatory;
}
.center-layout-columns > .gallery-layout .gallery-grid > * { scroll-snap-align: start; }

/* A split Gallery uses equal tiles; the legacy full-page gallery hero must not
   stretch the first image down both rows. One item becomes a full companion
   image, two items divide the region evenly, and larger sets keep scrolling. */
.center-region-gallery > :first-child,
.center-layout-columns > .gallery-layout .gallery-grid > :first-child {
  grid-row: auto !important;
}
.center-region-gallery:has(> :only-child) {
  grid-auto-flow: row;
  grid-auto-columns: auto;
  grid-template-columns: minmax(0,1fr) !important;
  grid-template-rows: minmax(0,1fr);
  overflow: hidden !important;
}
.center-region-gallery:has(> :only-child) > :only-child {
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  object-fit: cover;
}
.center-region-gallery:has(> :nth-child(2):last-child) {
  grid-auto-flow: column;
  grid-auto-columns: minmax(0,1fr);
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  grid-template-rows: minmax(0,1fr);
  overflow: hidden !important;
}

.background-video-muted-notice {
  display: grid;
  grid-template-columns: 24px minmax(0,1fr);
  align-items: start;
  gap: 10px;
  margin-top: 12px;
  padding: 12px;
  border: 1px solid rgba(34,154,233,.24);
  border-radius: 10px;
  background: rgba(34,154,233,.055);
}
.background-video-muted-notice > span {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #229ae9;
  color: #fff;
  font: 800 12px/1 Arial,sans-serif;
}
.background-video-muted-notice strong,
.background-video-muted-notice small { display: block; }
.background-video-muted-notice strong {
  color: #101c2b;
  font: 800 10px/1.2 Arial,sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.background-video-muted-notice small {
  margin-top: 4px;
  color: #68788b;
  font: 12px/1.4 'EventSerif',Georgia,serif;
}

/* Poll center content */
.structured-content-poll { width:min(760px,100%); max-height:min(72vh,760px); overflow-x:hidden; overflow-y:auto; overscroll-behavior-x:contain; overscroll-behavior-y:auto; border:0; background:transparent; box-shadow:none; -webkit-backdrop-filter:none; backdrop-filter:none; scrollbar-width:none; }
.structured-content-poll::-webkit-scrollbar { width:0; height:0; display:none; }
.poll-module { --poll-accent:var(--center-highlight-color,#2ba3ee); width:100%; color:var(--structured-ink,#fff); }
.poll-module > header { margin:0 0:clamp(24px,4vw,42px); }
.poll-module > header small { color:var(--poll-accent); font:800 9px/1 Arial,sans-serif; letter-spacing:.18em; text-transform:uppercase; }
.poll-module > header h3 { margin:10px 0 0; font:600 clamp(31px,5vw,64px)/.95 'EventSans',Arial,sans-serif; letter-spacing:-.045em; }
.official-editor-preview .poll-module [data-poll-inline-field][contenteditable="true"] { cursor:text; border-radius:3px; transition:background .16s ease,box-shadow .16s ease; }
.official-editor-preview .poll-module [data-poll-inline-field][contenteditable="true"]:hover { background:color-mix(in srgb,var(--poll-accent) 13%,transparent); box-shadow:0 0 0 4px color-mix(in srgb,var(--poll-accent) 13%,transparent); }
.official-editor-preview .poll-module [data-poll-inline-field][contenteditable="true"]:focus { background:color-mix(in srgb,var(--poll-accent) 16%,transparent); box-shadow:0 0 0 4px color-mix(in srgb,var(--poll-accent) 18%,transparent); outline:1px dashed color-mix(in srgb,var(--poll-accent) 72%,white); }
.official-editor-preview .poll-module [data-poll-inline-empty="true"]:empty::before { content:'Click to add an introduction'; opacity:.56; font-style:italic; }
.poll-module > header p { max-width:620px; margin:16px 0 0; color:var(--structured-muted,rgba(255,255,255,.7)); font:16px/1.55 'EventSerif',Georgia,serif; white-space:pre-wrap; }
.poll-preview-badge { display:inline-flex; margin-top:16px; padding:7px 10px; border:1px solid var(--structured-line,rgba(255,255,255,.18)); border-radius:999px; color:var(--structured-muted,rgba(255,255,255,.65)); font:800 7px/1 Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.poll-question { min-width:0; margin:0; padding:25px 0; border:0; border-top:1px solid var(--structured-line,rgba(255,255,255,.2)); }
.poll-question legend { width:100%; margin:0 0 18px; padding:0; display:grid; grid-template-columns:34px minmax(0,1fr) auto; align-items:start; gap:7px 13px; }
.poll-question legend > span { color:var(--poll-accent); font:800 9px/1.3 Arial,sans-serif; letter-spacing:.08em; }
.poll-question legend strong { font:650 clamp(18px,2.2vw,27px)/1.18 'EventSans',Arial,sans-serif; letter-spacing:-.02em; }
.poll-question legend i { padding-top:3px; color:var(--structured-muted,rgba(255,255,255,.64)); font:800 7px/1 Arial,sans-serif; font-style:normal; letter-spacing:.1em; text-transform:uppercase; }
.poll-question legend small { grid-column:2/-1; color:var(--structured-muted,rgba(255,255,255,.64)); font:12px/1.4 'EventSerif',Georgia,serif; }
.poll-options { display:grid; gap:8px; }
.poll-option { position:relative; min-height:52px; padding:13px 14px; display:grid; grid-template-columns:24px minmax(0,1fr) auto; align-items:center; gap:12px; cursor:pointer; isolation:isolate; }
.poll-option input { position:absolute; inline-size:1px; block-size:1px; opacity:0; }
.poll-option-control { width:19px; height:19px; border:1px solid currentColor; border-radius:50%; display:grid; place-items:center; opacity:.68; }
.poll-option input[type="checkbox"] + .poll-option-control { border-radius:4px; }
.poll-option-control::after { content:""; width:9px; height:9px; border-radius:inherit; background:var(--poll-accent); opacity:0; transform:scale(.4); transition:opacity .16s ease,transform .2s ease; }
.poll-option input:checked + .poll-option-control::after { opacity:1; transform:none; }
.poll-option input:focus-visible + .poll-option-control { outline:3px solid color-mix(in srgb,var(--poll-accent) 35%,transparent); outline-offset:3px; }
.poll-option strong { font:650 14px/1.25 'EventSans',Arial,sans-serif; }
.poll-result-value { position:relative; z-index:1; font:800 10px/1 Arial,sans-serif; }
.poll-result-bar { position:absolute; inset:0 auto 0 0; z-index:-1; width:var(--poll-result); background:color-mix(in srgb,var(--poll-accent) 19%,transparent); transform-origin:left; animation:poll-result-in .55s cubic-bezier(.2,.8,.2,1) both; }
.poll-design-editorial .poll-option { border-bottom:1px solid var(--structured-line,rgba(255,255,255,.18)); }
.poll-design-cards .poll-options { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.poll-design-cards .poll-option { min-height:74px; border:1px solid var(--structured-line,rgba(255,255,255,.2)); border-radius:14px; background:color-mix(in srgb,var(--structured-panel,rgba(7,22,40,.3)) 74%,transparent); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); }
.poll-design-bars .poll-option { min-height:44px; border:1px solid var(--structured-line,rgba(255,255,255,.18)); overflow:hidden; }
.poll-module > footer { padding-top:20px; display:grid; gap:13px; }
.poll-module > footer button { width:min(320px,100%); min-height:52px; border:0; border-radius:999px; padding:0 22px; display:flex; align-items:center; justify-content:space-between; color:#fff; background:var(--poll-accent); font:800 10px/1 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.poll-module > footer output { color:var(--structured-muted,rgba(255,255,255,.68)); font:12px/1.45 'EventSerif',Georgia,serif; }
.poll-closed-state { padding:32px 0; border-block:1px solid var(--structured-line,rgba(255,255,255,.2)); display:grid; gap:8px; }
.poll-closed-state span { color:var(--poll-accent); font:800 8px/1 Arial,sans-serif; letter-spacing:.16em; }
.poll-closed-state strong { font:650 clamp(25px,4vw,42px)/1 'EventSans',Arial,sans-serif; }
.poll-closed-state p { margin:0; color:var(--structured-muted,rgba(255,255,255,.68)); font:14px/1.5 'EventSerif',Georgia,serif; }
.poll-results { margin-top:28px; border-top:1px solid var(--structured-line,rgba(255,255,255,.2)); padding-top:24px; display:grid; gap:22px; }
.poll-results[hidden] { display:none; }
.poll-results > header { display:grid; gap:6px; }
.poll-results > header small { color:var(--poll-accent); font:800 8px/1 Arial,sans-serif; letter-spacing:.16em; }
.poll-results > header strong { font:650 24px/1 'EventSans',Arial,sans-serif; }
.poll-results section { display:grid; gap:11px; }
.poll-results h4 { margin:0; font:650 16px/1.25 'EventSans',Arial,sans-serif; }
.poll-results ol { margin:0; padding:0; display:grid; gap:6px; list-style:none; }
.poll-results li { position:relative; min-height:42px; padding:0 12px; border:1px solid var(--structured-line,rgba(255,255,255,.18)); display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px; overflow:hidden; isolation:isolate; }
.poll-results li strong,.poll-results li span { position:relative; z-index:1; font:650 12px/1.2 'EventSans',Arial,sans-serif; }
.poll-results li span { font-size:10px; }
.poll-results li i { position:absolute; inset:0 auto 0 0; z-index:0; width:var(--poll-result); background:color-mix(in srgb,var(--poll-accent) 20%,transparent); animation:poll-result-in .55s cubic-bezier(.2,.8,.2,1) both; }
.poll-results section > small { color:var(--structured-muted,rgba(255,255,255,.66)); font:11px/1.3 'EventSerif',Georgia,serif; }
.poll-verification-dialog { width:min(520px,calc(100% - 30px)); border:0; padding:0; color:#14263a; background:#f7f4ee; box-shadow:0 36px 110px rgba(0,0,0,.45); }
.poll-verification-dialog::backdrop { background:rgba(3,12,22,.72); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); }
.poll-verification-card { position:relative; padding:clamp(28px,6vw,54px); display:grid; gap:17px; }
.poll-verification-card > small { color:#168fe3; font:800 9px/1 Arial,sans-serif; letter-spacing:.16em; }
.poll-verification-card h2 { margin:0; font:650 clamp(36px,7vw,62px)/.92 'EventSans',Arial,sans-serif; letter-spacing:-.05em; }
.poll-verification-card p { margin:0; color:#607086; font:16px/1.5 'EventSerif',Georgia,serif; }
.poll-verification-card label { display:grid; gap:8px; color:#526176; font:800 8px/1 Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.poll-verification-card input { min-height:54px; border:1px solid #cdd6df; padding:0 15px; color:#14263a; background:#fff; font:16px/1 'EventSans',Arial,sans-serif; }
.poll-verification-send { min-height:54px; border:0; border-radius:999px; padding:0 21px; display:flex; align-items:center; justify-content:space-between; color:#fff; background:#199deb; font:800 10px/1 Arial,sans-serif; letter-spacing:.07em; text-transform:uppercase; }
.poll-verification-close { position:absolute; top:16px; right:16px; width:42px; height:42px; border:0; border-radius:50%; color:#fff; background:#199deb; font-size:22px; }
.poll-verification-card output { min-height:18px; color:#627287; font:12px/1.4 'EventSerif',Georgia,serif; }

.poll-editor { display:grid; gap:18px; }
.poll-design-picker > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.poll-design-picker button { min-height:58px; border:1px solid #cfd8e1; border-radius:8px; display:grid; place-items:center; gap:5px; color:#53657a; background:#fff; font:800 9px/1 Arial,sans-serif; cursor:pointer; }
.poll-design-picker button[aria-pressed="true"] { border-color:#1599eb; color:#0874c4; background:#eaf6fe; box-shadow:inset 0 0 0 1px #1599eb; }
.poll-design-picker button > span { width:34px; height:13px; border-block:2px solid currentColor; opacity:.7; }
.poll-settings-grid,.poll-question-settings { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.poll-settings-grid label,.poll-question-settings label { display:grid; gap:7px; color:#53657a; font:800 8px/1 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.poll-settings-grid select,.poll-question-settings select,.poll-question-settings input { min-width:0; min-height:43px; border:1px solid #cfd8e1; padding:0 10px; color:#132238; background:#fff; font:650 11px/1 'EventSans',Arial,sans-serif; }
.poll-access-note { margin:-8px 0 0; color:#718096; font:italic 11px/1.45 'EventSerif',Georgia,serif; }
.poll-structure-lock { padding:13px; border-left:3px solid #d28a2b; display:grid; gap:4px; color:#604719; background:#fff7e8; }
.poll-structure-lock strong { font:800 9px/1 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.poll-structure-lock span { font:12px/1.4 'EventSerif',Georgia,serif; }
.poll-question-editor-list { display:grid; gap:10px; }
.poll-question-editor { border:1px solid #d6dee6; border-radius:12px; background:#fff; transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease; }
.poll-question-editor[open] { border-color:#8cccf5; box-shadow:0 14px 32px rgba(18,51,79,.12); }
.poll-question-editor > summary { min-height:66px; padding:0 12px; display:grid; grid-template-columns:20px minmax(0,1fr) 38px; align-items:center; gap:9px; cursor:grab; list-style:none; user-select:none; }
.poll-question-editor > summary::-webkit-details-marker { display:none; }
.poll-question-editor > summary > span:nth-child(2) { min-width:0; display:grid; gap:5px; }
.poll-question-editor > summary strong { color:#14263a; font:750 12px/1 'EventSans',Arial,sans-serif; }
.poll-question-editor > summary small { overflow:hidden; color:#738196; font:11px/1.2 'EventSerif',Georgia,serif; text-overflow:ellipsis; white-space:nowrap; }
.poll-question-editor > summary button,.poll-choice-editor > button { width:34px; height:34px; border:1px solid #f0c9c5; border-radius:50%; display:grid; place-items:center; color:#aa493c; background:#fffafa; font-size:17px; cursor:pointer; }
.poll-question-editor-body { padding:15px; border-top:1px solid #e2e7ec; display:grid; gap:14px; }
.poll-drag-grip { color:#8192a4; font:18px/1 Arial,sans-serif; cursor:grab; }
.poll-choice-editor-list { display:grid; gap:7px; }
.poll-choice-editor { min-height:48px; border:1px solid #dce3e9; border-radius:8px; padding:6px 7px 6px 11px; display:grid; grid-template-columns:20px minmax(0,1fr) 34px; align-items:center; gap:7px; background:#fbfcfd; transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.poll-choice-editor input { width:100%; min-height:34px; border:0; padding:0 7px; color:#14263a; background:transparent; font:650 12px/1 'EventSans',Arial,sans-serif; outline:none; }
.poll-add-choice { min-height:43px; border:1px dashed #9ecff0; border-radius:8px; color:#0874c4; background:#f6fbff; font:800 9px/1 Arial,sans-serif; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; }
.poll-choice-count,.poll-question-count { color:#7d8a9a; font:italic 11px/1.3 'EventSerif',Georgia,serif; text-align:center; }
.poll-question-editor.is-dragging,.poll-choice-editor.is-dragging { opacity:.7; transform:translateY(-4px) scale(1.01); box-shadow:0 18px 35px rgba(10,34,55,.2); }
.poll-question-editor.is-drop-target,.poll-choice-editor.is-drop-target { border-color:#1599eb; transform:translateY(4px); }
.poll-question-editor .is-direct-edit-target,.poll-choice-editor.is-direct-edit-target { box-shadow:0 0 0 3px rgba(21,153,235,.2); }
.responses-inbox { width:calc(100% - 24px); margin:0 auto 10px; border:1px solid #cdd9e3; border-radius:18px; overflow:hidden; color:#14263a; background:#f8fbfd; }
.responses-inbox > summary { min-height:66px; padding:0 15px; display:flex; align-items:center; justify-content:space-between; gap:10px; cursor:pointer; list-style:none; }
.responses-inbox > summary::-webkit-details-marker { display:none; }
.responses-inbox > summary > span { display:flex; align-items:center; gap:11px; }
.responses-inbox > summary b { width:34px; height:34px; border-radius:10px; display:grid; place-items:center; color:#0874c4; background:#e6f4fd; font:800 17px/1 Arial,sans-serif; }
.responses-inbox > summary span span { display:grid; gap:5px; }
.responses-inbox > summary strong { font:800 11px/1 'EventSans',Arial,sans-serif; }
.responses-inbox > summary small { color:#758497; font:10px/1 'EventSerif',Georgia,serif; }
.responses-inbox > summary i { width:28px; height:28px; border:1px solid #d4dee7; border-radius:50%; display:grid; place-items:center; color:#168fe3; background:#fff; font:normal 18px/1 Arial,sans-serif; }
.responses-inbox[open] > summary i { transform:rotate(45deg); }
.responses-inbox-body { padding:12px; border-top:1px solid #d9e2e9; display:grid; gap:11px; background:#fff; }
.responses-inbox-body > div { display:grid; gap:7px; }
.responses-inbox-body article { min-height:58px; border:1px solid #dce4eb; border-radius:10px; padding:9px 10px; display:grid; gap:10px; }
.responses-inbox-body article > header { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:5px 9px; }
.responses-inbox-body article > header > span { display:grid; gap:3px; }
.responses-inbox-body article small { color:#168fe3; font:800 7px/1 Arial,sans-serif; letter-spacing:.11em; text-transform:uppercase; }
.responses-inbox-body article strong { overflow:hidden; font:750 10px/1.2 'EventSans',Arial,sans-serif; text-overflow:ellipsis; white-space:nowrap; }
.responses-inbox-body article > header > b { font:750 20px/1 'EventSans',Arial,sans-serif; }
.responses-inbox-body article > header > em { grid-column:1/3; color:#7b899a; font:italic 9px/1.2 'EventSerif',Georgia,serif; }
.responses-inbox-body article > header > button { grid-column:3; grid-row:1/3; min-width:42px; height:34px; border:1px solid #bcd8ea; border-radius:999px; color:#0874c4; background:#f2f9fe; font:800 8px/1 Arial,sans-serif; }
.responses-inbox-body p,.responses-inbox-body output { margin:0; color:#758497; font:11px/1.45 'EventSerif',Georgia,serif; }
.response-poll-details { display:grid; gap:12px; padding-top:10px; border-top:1px solid #e2e9ef; }
.response-poll-actions { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.response-poll-actions > span { min-width:0; display:grid; gap:3px; }
.response-poll-actions > span > b { font:800 10px/1 'EventSans',Arial,sans-serif; text-transform:uppercase; letter-spacing:.08em; }
.response-poll-actions > span > small { color:#7b899a; font:9px/1.3 'EventSerif',Georgia,serif; letter-spacing:0; text-transform:none; }
.response-poll-actions > button { min-height:32px; padding:0 12px; border:1px solid #bcd8ea; border-radius:999px; color:#0874c4; background:#f2f9fe; font:800 8px/1 Arial,sans-serif; text-transform:uppercase; cursor:pointer; }
.response-poll-summary { display:grid; gap:8px; }
.response-poll-summary h4,.response-named-ballots h4 { margin:0; font:800 10px/1.3 'EventSans',Arial,sans-serif; }
.response-poll-summary > div { display:grid; gap:7px; }
.response-poll-choice { display:grid; gap:4px; }
.response-poll-choice > span { display:flex; justify-content:space-between; gap:10px; }
.response-poll-choice > span b { font:700 9px/1.2 'EventSans',Arial,sans-serif; }
.response-poll-choice > span em { color:#718095; font:italic 8px/1.2 'EventSerif',Georgia,serif; }
.response-poll-choice > i { height:4px; overflow:hidden; border-radius:999px; background:#e7edf2; }
.response-poll-choice > i > b { width:var(--response-percent); height:100%; display:block; border-radius:inherit; background:#1599eb; }
.response-poll-summary > small { color:#718095; font:italic 8px/1.35 'EventSerif',Georgia,serif; letter-spacing:0; text-transform:none; }
.response-named-ballots { display:grid; gap:7px; }
.response-named-ballots ul { max-height:170px; margin:0; padding:0; display:grid; overflow:auto; list-style:none; }
.response-named-ballots li { padding:7px 0; border-top:1px solid #e6ebf0; display:flex; align-items:center; justify-content:space-between; gap:8px; }
.response-named-ballots li span { min-width:0; display:grid; gap:2px; }
.response-named-ballots li b { font-size:9px; }
.response-named-ballots li small { overflow:hidden; color:#718095; font:8px/1.2 'EventSerif',Georgia,serif; letter-spacing:0; text-overflow:ellipsis; text-transform:none; }
.response-named-ballots time { color:#718095; font:8px/1.2 'EventSerif',Georgia,serif; white-space:nowrap; }
.response-anonymous-note,.response-rsvp-summary { padding:9px; border-radius:7px; color:#718095; background:#f2f6f9; font:italic 9px/1.4 'EventSerif',Georgia,serif; }
@keyframes poll-result-in { from { transform:scaleX(0); } to { transform:scaleX(1); } }

@media (max-width:700px) {
  .structured-content-poll { max-height:calc(100svh - 300px); margin-block:64px; }
  .official-editor-page .structured-content-poll { max-height:max(180px,calc(100svh - 500px)); }
  .poll-design-cards .poll-options,.poll-settings-grid,.poll-question-settings { grid-template-columns:1fr; }
  .poll-module > header h3 { font-size:clamp(29px,10vw,48px); }
  .poll-question { padding:19px 0; }
  .poll-question legend { grid-template-columns:28px minmax(0,1fr); }
  .poll-question legend i { grid-column:2; justify-self:start; }
}
@media (prefers-reduced-motion:reduce) {
  .poll-result-bar,.poll-question-editor,.poll-choice-editor { animation:none; transition:none; }
}
/* Frameless new-site chooser — the editor remains visible through a dimmed blur. */
html.is-new-site-boot { background: var(--ink); }
html.is-new-site-boot body::before {
  background: rgba(1, 10, 20, .28);
  -webkit-backdrop-filter: blur(24px) brightness(.5) saturate(.78);
  backdrop-filter: blur(24px) brightness(.5) saturate(.78);
}
.site-starter-modal {
  background: rgba(1, 10, 20, .18);
  -webkit-backdrop-filter: blur(24px) brightness(.5) saturate(.78);
  backdrop-filter: blur(24px) brightness(.5) saturate(.78);
}
html.is-new-site-boot .site-starter-modal {
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.site-starter-sheet {
  color: #f6f9fc;
  background: transparent;
  box-shadow: none;
  scrollbar-color: rgba(255, 255, 255, .34) transparent;
}
.site-starter-sheet > header h2,
.site-starter-panel > header h3 { color: #f6f9fc; text-shadow: 0 3px 24px rgba(0, 0, 0, .28); }
.site-starter-sheet > header p,
.site-starter-panel > header p,
.site-starter-name > span { color: #5ab8fb; }
.site-starter-intro,
.site-starter-name small,
.site-starter-mode small,
.site-template-choice small,
.site-starter-library-placeholder,
.site-starter-panel > header > span,
.site-starter-empty { color: rgba(222, 235, 245, .68); }
.site-starter-close {
  color: #eef8fe;
  background: rgba(4, 20, 35, .2);
  border-color: rgba(255, 255, 255, .26);
}
.site-starter-close:hover,
.site-starter-close:focus-visible {
  color: #fff;
  background: rgba(38, 151, 232, .2);
  border-color: #5ab8fb;
}
.site-starter-name input {
  color: #f8fbfe;
  background: rgba(4, 20, 35, .42);
  border-color: rgba(255, 255, 255, .26);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
}
.site-starter-name input::placeholder { color: rgba(226, 238, 247, .54); }
.site-starter-name input:focus { border-color: #5ab8fb; outline-color: rgba(63, 169, 240, .2); }
.site-starter-mode,
.site-template-choice {
  color: #f3f8fc;
  background: rgba(5, 22, 38, .2);
  border-color: rgba(255, 255, 255, .18);
}
.site-starter-mode:hover,
.site-starter-mode:focus-visible,
.site-starter-mode.is-selected,
.site-template-choice:hover,
.site-template-choice:focus-visible {
  color: #fff;
  background: rgba(10, 41, 66, .46);
  border-color: #5ab8fb;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .16);
}
.site-starter-mode-icon,
.site-template-choice-icon {
  color: #67c3ff;
  background: rgba(38, 151, 232, .15);
}
.site-starter-library { border-top-color: rgba(255, 255, 255, .18); }
.site-starter-library-placeholder > span { color: #5ab8fb; border-color: rgba(255, 255, 255, .22); }
.site-starter-library-placeholder strong,
.site-starter-empty strong { color: rgba(238, 247, 252, .82); }
.site-starter-empty { border-color: rgba(255, 255, 255, .2); }
@media (max-width: 700px) {
  .site-starter-sheet { min-height: 100svh; background: transparent; }
}

/* At full desktop height, the starting-point choices already fit. Trim only the
   spare bottom padding so the sheet does not create a misleading scrollbar. */
@media (min-width: 701px) and (min-height: 880px) {
  .site-starter-sheet { padding-bottom: 14px; }
}
@media (max-width: 900px) and (max-height: 500px) {
  html.is-new-site-boot .site-starter-modal {
    background:rgba(1,10,20,.58);
    -webkit-backdrop-filter:blur(16px) brightness(.62);
    backdrop-filter:blur(16px) brightness(.62);
  }
  .site-starter-sheet { background:rgba(2,14,27,.9); }
}

/* Account-owned media stays visually separate from the curated stock library. */
.account-media-library {
  margin-top: 18px;
  border: 1px solid rgba(7, 22, 40, .1);
  border-radius: 12px;
  background: rgba(255, 255, 255, .58);
  overflow: hidden;
}
.account-media-library > summary {
  min-height: 54px;
  padding: 11px 13px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: #26384d;
  background: rgba(255,255,255,.72);
  cursor: pointer;
  list-style: none;
}
.account-media-library > summary::-webkit-details-marker { display: none; }
.account-media-library > summary:hover,
.account-media-library > summary:focus-visible { color: #087dce; background: #f4faff; outline: none; }
.account-media-library > summary > span:first-child { min-width: 0; display: grid; gap: 3px; }
.account-media-library > summary strong { font: 800 11px/1.1 var(--font-sans); letter-spacing: .08em; text-transform: uppercase; }
.account-media-library > summary small {
  color: #718097;
  font: 700 9px/1.2 var(--font-sans);
}
.account-media-library-summary-meta { flex: 0 0 auto; display: flex; align-items: center; gap: 8px; }
.account-media-library-summary-meta i { width: 8px; height: 8px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .18s ease; }
.account-media-library[open] > summary { border-bottom: 1px solid rgba(7,22,40,.09); }
.account-media-library[open] .account-media-library-summary-meta i { transform: rotate(225deg) translate(-1px,-1px); }
.account-media-library-body { padding: 12px; }
.account-media-library-body > .tools-help { margin: 0 0 10px; color: #66768b; line-height: 1.45; }
.account-media-library-grid-only { border: 0; border-radius: 0; background: transparent; overflow: visible; }
.account-media-library-grid-only .account-media-library-body { padding: 0; }
.account-media-library-grid-heading { margin: 0 0 9px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.account-media-library-grid-heading strong { color: #102033; font: 800 10px/1 var(--font-sans); letter-spacing: .09em; text-transform: uppercase; }
.account-media-library-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}
.account-media-library-item {
  position: relative;
  min-width: 0;
  padding: 0;
  overflow: hidden;
  color: #071628;
  background: #fff;
  border: 1px solid rgba(7, 22, 40, .14);
  border-radius: 8px;
  text-align: left;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.account-media-library-item:hover,
.account-media-library-item:focus-visible {
  transform: translateY(-2px);
  border-color: #2498ed;
  box-shadow: 0 8px 20px rgba(7, 22, 40, .12);
  outline: none;
}
.account-media-library-item[aria-pressed="true"] {
  border-color: #2498ed;
  box-shadow: 0 0 0 2px rgba(36, 152, 237, .18);
}
.account-media-library-item img,
.account-media-library-item video,
.account-media-video-placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: #071628;
}
.account-media-library-item > span:last-child {
  min-height: 31px;
  padding: 7px 6px 6px;
  display: -webkit-box;
  overflow: hidden;
  color: #536273;
  background: #f7f9fb;
  font: 700 9px/1.2 var(--font-sans);
  letter-spacing: .01em;
  overflow-wrap: anywhere;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.account-media-video-mark {
  position: absolute;
  top: 8px;
  right: 8px;
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  color: #fff;
  background: rgba(7, 22, 40, .72);
  border-radius: 50%;
  font-size: 9px;
}
.account-media-library-empty,
.account-media-library-loading {
  grid-column: 1 / -1;
  margin: 0;
  padding: 14px 12px;
  color: #718097;
  background: rgba(255, 255, 255, .7);
  border: 1px solid rgba(7, 22, 40, .1);
  border-radius: 8px;
  font: 600 12px/1.45 var(--font-sans);
  text-align: center;
}
.account-media-library-empty strong,
.account-media-library-empty span { display: block; }
.account-media-library-empty strong { margin-bottom: 3px; color: #26384d; font-size: 12px; }
.account-media-library-empty span { color: #718097; font-weight: 500; }
.account-media-library-empty.is-unavailable { border-color: rgba(177, 116, 22, .2); background: rgba(255, 248, 234, .72); }
.account-media-library-pager { margin-top: 10px; display: flex; align-items: center; justify-content: center; gap: 10px; }
.account-media-library-pager[hidden] { display: none; }
.account-media-library-pager button { width: 30px; height: 30px; padding: 0; border: 1px solid rgba(7,22,40,.12); border-radius: 8px; color: #26384d; background: #fff; cursor: pointer; }
.account-media-library-pager button:disabled { opacity: .36; cursor: default; }
.account-media-library-pager span { color: #718097; font: 700 10px/1 var(--font-sans); }
.account-media-library-loading span {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 7px;
  background: #2498ed;
  border-radius: 50%;
  animation: account-media-pulse 1s ease-in-out infinite alternate;
}
@keyframes account-media-pulse { to { opacity: .28; transform: scale(.72); } }

.account-media-library-trigger { width: 100%; min-height: 58px; padding: 10px 11px; border: 1px solid rgba(36,152,237,.42); border-radius: 8px; display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 10px; color: #16304a; background: #f7fbfe; text-align: left; cursor: pointer; transition: border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease; }
.account-media-library-trigger:hover,.account-media-library-trigger:focus-visible { border-color: #2498ed; background: #eef8fe; box-shadow: 0 8px 22px rgba(36,152,237,.12); outline: none; transform: translateY(-1px); }
.account-media-library-trigger-icon { width: 34px; height: 34px; border-radius: 8px; display: grid; place-items: center; color: #087dce; background: #e2f3fd; }
.account-media-library-trigger-icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.account-media-library-trigger > span:nth-child(2) { min-width: 0; display: grid; gap: 3px; }
.account-media-library-trigger strong { color: #102033; font: 800 9px/1.15 Arial,sans-serif; letter-spacing: .09em; text-transform: uppercase; }
.account-media-library-trigger small { overflow: hidden; color: #708097; font: 600 8px/1.25 Arial,sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.account-media-library-trigger-action { display: flex; align-items: center; color: #087dce; font: 800 9px/1 Arial,sans-serif; letter-spacing: .06em; text-transform: uppercase; }

.account-media-library-modal { z-index: 181; }
.account-media-library-sheet { position: absolute; top: 50%; left: 50%; width: min(940px,calc(100% - 32px)); height: min(760px,calc(100svh - 32px)); padding: 24px; display: grid; grid-template-rows: auto minmax(0,1fr) auto; gap: 16px; overflow: hidden; color: #071628; background: #f5f8fa; box-shadow: 0 34px 120px rgba(0,0,0,.36); opacity: 0; transform: translate(-50%,calc(-50% + 18px)); transition: opacity .28s ease,transform .4s var(--ease); }
.account-media-library-modal.is-open .account-media-library-sheet { opacity: 1; transform: translate(-50%,-50%); }
.account-media-library-modal-header { min-width: 0; padding-right: 54px; display: flex; align-items: flex-start; justify-content: space-between; }
.account-media-library-modal-header p { margin: 0 0 7px; color: #168fe3; font: 800 9px/1 Arial,sans-serif; letter-spacing: .16em; }
.account-media-library-modal-header h2 { margin: 0; font: 750 clamp(30px,4vw,44px)/.98 'EventSans',Arial,sans-serif; letter-spacing: -.045em; }
.account-media-library-modal-header small { display: block; margin-top: 8px; color: #65758a; font: 600 11px/1.35 var(--font-sans); }
.account-media-library-sheet .sheet-close { top: 20px; right: 20px; border-color: #168fe3; background: #168fe3; color: #fff; }
.account-media-library-sheet .sheet-close:hover,.account-media-library-sheet .sheet-close:focus-visible { border-color: #0874c4; background: #0874c4; outline: 2px solid rgba(36,152,237,.25); outline-offset: 2px; }
.account-media-library-modal-content { min-width: 0; min-height: 0; overflow: hidden; }
.account-media-library-modal-host,.account-media-library-modal-host .account-media-library-body { width: 100%; height: 100%; min-height: 0; }
.account-media-library-modal-host .account-media-library-body { display: grid; grid-template-rows: auto minmax(0,1fr) 34px; gap: 10px; overflow: hidden; }
.account-media-library-toolbar { min-width: 0; display: flex; align-items: center; gap: 10px; }
.account-media-library-search { min-width: 0; flex: 1 1 360px; min-height: 42px; padding: 0 13px; border: 1px solid rgba(7,22,40,.14); border-radius: 9px; display: flex; align-items: center; gap: 9px; color: #718097; background: #fff; }
.account-media-library-search:focus-within { border-color: #168fe3; box-shadow: 0 0 0 3px rgba(22,143,227,.12); }
.account-media-library-search > span { flex: 0 0 auto; color: #168fe3; font: 700 18px/1 Arial,sans-serif; transform: rotate(-20deg); }
.account-media-library-search input { width: 100%; min-width: 0; height: 40px; padding: 0; border: 0; outline: 0; color: #102033; background: transparent; font: 650 12px/1 var(--font-sans); }
.account-media-library-search input::placeholder { color: #8793a2; opacity: 1; }
.account-media-library-filters { flex: 0 0 auto; padding: 3px; display: flex; align-items: center; gap: 3px; border: 1px solid rgba(7,22,40,.1); border-radius: 9px; background: rgba(255,255,255,.7); }
.account-media-library-filters button { min-height: 34px; padding: 0 12px; border: 0; border-radius: 6px; color: #65758a; background: transparent; font: 800 9px/1 Arial,sans-serif; letter-spacing: .05em; text-transform: uppercase; cursor: pointer; }
.account-media-library-filters button:hover,.account-media-library-filters button:focus-visible { color: #0874c4; outline: 2px solid rgba(36,152,237,.22); outline-offset: -2px; }
.account-media-library-filters button[aria-pressed="true"] { color: #fff; background: #168fe3; }
.account-media-library-modal-host .account-media-library-grid { min-height: 0; padding: 2px; grid-template-columns: repeat(auto-fill,minmax(132px,1fr)); gap: 9px; align-content: start; overflow-y: auto; overscroll-behavior: contain; }
.account-media-library-modal-host .account-media-library-item > span:last-child { min-height: 36px; padding: 8px; font-size: 10px; }
.account-media-library-modal-host .account-media-library-empty,.account-media-library-modal-host .account-media-library-loading { min-height: 260px; display: grid; place-items: center; place-content: center; gap: 8px; }
.account-media-library-modal-footer { min-width: 0; padding-top: 12px; border-top: 1px solid rgba(7,22,40,.1); display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.account-media-library-modal-footer p,.account-media-library-modal-footer small { margin: 0; color: #67768a; font: 700 9px/1.3 Arial,sans-serif; }
.account-media-library-modal-footer small { text-align: right; }
.account-media-library-modal-host .account-media-library-pager { min-height: 34px; margin: 0; padding: 2px 0; align-self: end; overflow: visible; }

@media (max-width: 700px) {
  .account-media-library-sheet { top: auto; bottom: 0; left: 0; width: 100%; height: min(88svh,780px); padding: 20px 14px max(14px,env(safe-area-inset-bottom)); gap: 13px; transform: translateY(105%); }
  .account-media-library-modal.is-open .account-media-library-sheet { transform: none; }
  .account-media-library-modal-header { padding-right: 48px; }
  .account-media-library-modal-host .account-media-library-body { grid-template-rows: auto minmax(0,1fr) 34px; gap: 8px; }
  .account-media-library-toolbar { align-items: stretch; flex-direction: column; gap: 7px; }
  .account-media-library-search { flex-basis: auto; width: 100%; min-height: 40px; }
  .account-media-library-filters { width: 100%; }
  .account-media-library-filters button { flex: 1 1 0; }
  .account-media-library-modal-host .account-media-library-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; }
  .account-media-library-modal-host .account-media-library-item > span:last-child { min-height: 32px; padding: 6px; font-size: 8px; }
  .account-media-library-modal-footer p { display: none; }
  .account-media-library-modal-footer { justify-content: flex-end; }
}

@media (max-width: 360px) {
  .account-media-library-modal-host .account-media-library-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* Unified Center Content sizing: each slot owns a real, responsive frame. */
.chapter.center-layout-single,
.chapter.center-layout-columns,
.chapter.center-layout-rows {
  --center-stage-top: var(--header-h);
  --center-stage-bottom: 0px;
  display: grid !important;
  grid-template-rows: var(--center-stage-top) minmax(0, 1fr) var(--center-stage-bottom);
  grid-template-columns: minmax(0, 1fr);
}
.chapter.center-layout-columns {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.chapter.center-layout-rows {
  grid-template-rows: var(--center-stage-top) repeat(2, minmax(0, 1fr)) var(--center-stage-bottom);
}
.chapter:is(.center-layout-single,.center-layout-columns,.center-layout-rows):has(> .universal-overlay[data-overlay-position="top-left"]:not([hidden]),> .universal-overlay[data-overlay-position="top-right"]:not([hidden])) {
  --center-stage-top: calc(var(--header-h) + 74px);
}
.chapter:is(.center-layout-single,.center-layout-columns,.center-layout-rows):has(> .universal-overlay[data-overlay-position="bottom-left"]:not([hidden]),> .universal-overlay[data-overlay-position="bottom-right"]:not([hidden])) {
  --center-stage-bottom: 74px;
}
.chapter:is(.center-layout-single,.center-layout-columns,.center-layout-rows) > :is(.chapter-inner,.center-companion-region).center-sized-region {
  position: relative !important;
  inset: auto !important;
  width: 60% !important;
  height: 60% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  align-self: center !important;
  justify-self: center !important;
  overflow: hidden;
  box-sizing: border-box;
  container: center-region / size;
  z-index: 4;
}
@media (max-width: 900px) {
  /* Two LISTS benefit from the phone's unused horizontal space. Keep the
     authored 60% frame for Single, mixed Double, and desktop layouts. */
  .chapter:is(.center-layout-rows,.center-layout-columns)[data-center-slot0-type="list"][data-center-slot1-type="list"] > :is(.chapter-inner,.center-companion-region).center-sized-region[data-center-region-type="list"] {
    width: 80% !important;
  }
}
.center-layout-single > .chapter-inner.center-sized-region { grid-area: 2 / 1; }
.center-layout-columns > .chapter-inner.center-sized-region { grid-area: 2 / 1; }
.center-layout-columns > .center-companion-region.center-sized-region { grid-area: 2 / 2; }
.center-layout-columns.center-actual-secondary > .chapter-inner.center-sized-region { grid-column: 2; }
.center-layout-columns.center-actual-secondary > .center-companion-region.center-sized-region { grid-column: 1; }
.center-layout-rows > .chapter-inner.center-sized-region { grid-area: 2 / 1; }
.center-layout-rows > .center-companion-region.center-sized-region { grid-area: 3 / 1; }
.center-layout-rows.center-actual-secondary > .chapter-inner.center-sized-region { grid-row: 3; top: auto !important; }
.center-layout-rows.center-actual-secondary > .center-companion-region.center-sized-region { grid-row: 2; }

/* A desktop panel reduces the visible stage without redefining the authored
   Center Content layout. Keep each Single/Double region at its real browser
   dimensions and animate the complete visual as one proportional surface. */
@media (min-width: 901px) {
  .story-shell.is-center-panel-preview-scaled .chapter:is(.center-layout-single,.center-layout-columns,.center-layout-rows) > :is(.chapter-inner,.center-companion-region).center-sized-region {
    transform: scale(var(--center-panel-preview-scale, 1));
    transform-origin: center;
    transition: transform .48s var(--ease);
    will-change: transform;
  }
  .story-shell.is-center-panel-preview-scaled .center-layout-single > :is(.chapter-inner,.center-companion-region).center-sized-region,
  .story-shell.is-center-panel-preview-scaled .center-layout-rows > :is(.chapter-inner,.center-companion-region).center-sized-region {
    width: var(--center-panel-single-region-width) !important;
  }
  .story-shell.is-center-panel-preview-scaled .center-layout-columns > :is(.chapter-inner,.center-companion-region).center-sized-region {
    width: var(--center-panel-column-region-width) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .story-shell.is-center-panel-preview-scaled .chapter:is(.center-layout-single,.center-layout-columns,.center-layout-rows) > :is(.chapter-inner,.center-companion-region).center-sized-region { transition: none; }
}

.center-sized-region.structured-layout.is-content-only,
.center-sized-region.gallery-layout.is-content-only,
.center-sized-region.countdown-layout.is-content-only {
  grid-template-columns: minmax(0, 1fr) !important;
  place-items: stretch !important;
}
.center-sized-region.countdown-layout.is-content-only {
  /* Content-only countdowns do not have a copy row. Removing that empty row
     keeps the visible clock centered with its neighboring Double region. */
  grid-template-rows: minmax(0, 1fr) !important;
  gap: 0 !important;
}
.center-sized-region.structured-layout.is-content-only:has(> .structured-content-logo) {
  grid-template-rows: minmax(0, 1fr) !important;
}
.center-sized-region.center-text-layout,
.center-sized-region.center-companion-region[data-center-region-type="text"] {
  padding: clamp(14px, 3cqi, 58px) !important;
  align-content: center;
}
.center-sized-region .standalone-text-content,
.center-sized-region .center-text-column {
  width: 100%;
  min-height: 0;
  max-width: none;
  max-height: 100%;
  overflow: visible;
  gap: clamp(9px, 2cqh, 24px);
}
/* Only create a text scrollport after measurement confirms the content exceeds its region.
   The measurement uses authored layer boxes rather than glyph ink, which prevents a decorative
   font or focus outline from creating a rounding-only native scrollbar. */
.center-sized-region :is(.standalone-text-content,.center-text-column).center-text-overflows {
  overflow: auto;
  align-content: start;
  overscroll-behavior: contain;
}
.center-sized-region :is(.standalone-text-content,.center-text-column).center-text-fits {
  overflow: visible;
}
.official-editor-preview .center-sized-region:is(.center-text-layout,.center-companion-region[data-center-region-type="text"]) {
  overflow: visible;
}
.official-editor-preview .center-sized-region:is(.center-text-layout,.center-companion-region[data-center-region-type="text"]) > :is(.standalone-text-content,.center-text-column).center-text-fits {
  overflow: visible;
}
.official-editor-preview .center-sized-region:is(.center-text-layout,.center-companion-region[data-center-region-type="text"]) > :is(.standalone-text-content,.center-text-column).center-text-overflows {
  overflow: auto;
}
.center-sized-region .center-text-layer[data-center-layer-type="title"] { font-size: clamp(34px, 7.2cqi, 118px); }
.center-sized-region .center-text-layer[data-center-layer-type="title"][data-center-layer-size="small"] { font-size: clamp(30px, 5.5cqi, 88px); }
.center-sized-region .center-text-layer[data-center-layer-type="title"][data-center-layer-size="large"] { font-size: clamp(42px, 8.8cqi, 142px); }
.center-sized-region .center-text-layer:is([data-center-layer-type="subtitle"],[data-center-layer-type="event-details"]) { font-size: clamp(9px, 1.25cqi, 19px); }
.center-sized-region .center-text-layer:is([data-center-layer-type="subtitle"],[data-center-layer-type="event-details"])[data-center-layer-size="small"] { font-size: clamp(7px, .95cqi, 14px); }
.center-sized-region .center-text-layer:is([data-center-layer-type="subtitle"],[data-center-layer-type="event-details"])[data-center-layer-size="large"] { font-size: clamp(12px, 1.65cqi, 25px); }
.center-sized-region .center-text-layer[data-center-layer-type="paragraph"] { font-size: clamp(13px, 1.5cqi, 24px); }
.center-sized-region .center-text-layer[data-center-layer-type="paragraph"][data-center-layer-size="small"] { font-size: clamp(11px, 1.15cqi, 18px); }
.center-sized-region .center-text-layer[data-center-layer-type="paragraph"][data-center-layer-size="large"] { font-size: clamp(16px, 1.9cqi, 30px); }
.center-sized-region .center-text-layer:is([data-center-layer-type="date"],[data-center-layer-type="time"]) { font-size: clamp(20px, 3cqi, 46px); }
.center-sized-region .center-text-layer:is([data-center-layer-type="date"],[data-center-layer-type="time"])[data-center-layer-size="small"] { font-size: clamp(16px, 2.2cqi, 34px); }
.center-sized-region .center-text-layer:is([data-center-layer-type="date"],[data-center-layer-type="time"])[data-center-layer-size="large"] { font-size: clamp(26px, 3.8cqi, 58px); }

.center-sized-region > .structured-content,
.center-sized-region > .structured-content:only-child {
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: none !important;
  overflow: hidden !important;
}
.center-sized-region > .structured-content-list {
  display: flex !important;
  align-items: center !important;
}
.center-sized-region > .structured-content > :is(.event-calendar,.team-chat-panel,.venue-panel,.contact-module-grid,.structured-rsvp,.guest-list-panel,.music-player-panel,.bring-module,.poll-module,.food-menu-carousel,.sponsor-grid),
.center-sized-region > :is(.event-calendar,.team-chat-panel,.venue-panel,.contact-module-grid,.structured-rsvp,.guest-list-panel,.music-player-panel,.bring-module,.poll-module,.food-menu-carousel,.sponsor-grid,.center-region-countdown,.center-region-gallery,.standalone-text-content,[data-countdown-clock]) {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: none !important;
  box-sizing: border-box;
}
.center-sized-region .universal-list {
  width: 100%;
  height: auto;
  min-height: 0;
  max-height: 100%;
  padding-inline: clamp(10px, 2.2cqi, 34px);
  display: grid;
  grid-auto-rows: max-content;
  align-content: start;
  align-self: center;
  flex: 0 1 auto;
}
.center-sized-region .universal-list li {
  min-height: clamp(72px, 12cqh, 126px);
  padding-block: clamp(12px, 2.4cqh, 24px);
  grid-template-columns: clamp(80px, 8cqi, 96px) minmax(0, 1fr);
  gap: clamp(12px, 2.2cqi, 24px);
}
.center-sized-region .universal-list li > span { min-width: 0; overflow-wrap: anywhere; }
.center-sized-region .universal-list li.has-icon {
  grid-template-columns: clamp(54px, 7cqi, 72px) minmax(0, 1fr);
  gap: clamp(14px, 2cqi, 22px);
}
.center-sized-region .universal-list strong { font-size: clamp(17px, 2cqi, 27px); }
.center-sized-region .universal-list p { font-size: clamp(12px, 1.25cqi, 18px); }

.center-sized-region .event-calendar {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) minmax(92px, .48fr);
  overflow: hidden;
}
.center-sized-region > .structured-content-calendar:has(> .upcoming-calendar) {
  display: grid !important;
  align-items: center !important;
}
.center-sized-region > .structured-content > .upcoming-calendar,
.center-sized-region > .upcoming-calendar {
  height: auto !important;
  max-height: 100% !important;
  grid-template-rows: auto minmax(0, 1fr);
  align-self: center;
}
.center-sized-region .event-calendar > header { padding: clamp(13px, 2.1cqi, 30px) clamp(14px, 2.4cqi, 34px); }
.center-sized-region .event-calendar > header strong { font-size: clamp(25px, 3.1cqi, 52px); }
.center-sized-region .event-calendar > header span { font-size: clamp(8px, .8cqi, 12px); }
.center-sized-region .calendar-weekdays,
.center-sized-region .calendar-grid { margin-inline: clamp(10px, 2.2cqi, 34px); }
.center-sized-region .calendar-weekdays { padding: clamp(10px, 1.7cqh, 20px) 0 clamp(6px, .8cqh, 10px); }
.center-sized-region .calendar-grid {
  height: 100%;
  min-height: 0;
  grid-template-rows: repeat(6, minmax(0, 1fr));
}
.center-sized-region .calendar-grid button,
.center-sized-region .calendar-day-empty {
  min-height: 0;
  font-size: clamp(10px, 1.05cqi, 19px);
}
.center-sized-region .calendar-selection {
  min-height: 0;
  margin: clamp(10px, 1.7cqh, 22px) clamp(10px, 2.2cqi, 34px) clamp(10px, 2cqh, 28px);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
}
.center-sized-region .calendar-selection [data-calendar-event-panels],
.center-sized-region .upcoming-calendar ol {
  width: 100%;
  height: 100%;
  max-height: none;
  overflow-y: auto;
}
.center-sized-region .upcoming-calendar ol { height: auto; }

@container center-region (max-width: 520px) {
  .calendar-grid button.has-events > span { transform: translateY(-6px); }
  .calendar-event-count { min-width: 16px; min-height: 12px; bottom: 4px; padding: 0 4px; gap: 3px; }
  .calendar-event-count span { display: none; }
  .calendar-event-count::after { content: attr(data-event-count); font: 800 6px/1 Arial,sans-serif; }
  .calendar-event-count i { width: 3px; height: 3px; }
}

@container center-region (max-height: 260px) {
  .center-sized-region .event-calendar:not(.upcoming-calendar) {
    grid-template-rows: auto auto minmax(180px, 1fr) minmax(92px, .48fr);
    overflow-y: auto !important;
    overscroll-behavior: contain;
    scrollbar-width: none;
  }
  .center-sized-region .event-calendar:not(.upcoming-calendar)::-webkit-scrollbar { width: 0; height: 0; display: none; }
  .center-sized-region .calendar-grid { min-height: 180px; }
  .calendar-grid button::before { inset: 2px; border-radius: 5px; }
  .calendar-grid button.has-events > span { transform: none; }
  .calendar-event-count { display: none; }
}

.center-sized-region .team-chat-panel { grid-template-rows: auto minmax(0, 1fr) auto auto; }
.center-sized-region .team-chat-panel > header { min-height: clamp(68px, 12cqh, 98px); }
.center-sized-region .team-chat-panel form { padding: clamp(10px, 1.8cqh, 16px) clamp(11px, 1.8cqi, 20px); }
.center-sized-region .venue-panel {
  grid-template-columns: minmax(0, 1.08fr) minmax(220px, .92fr);
  grid-template-rows: minmax(0, .48fr) minmax(0, .52fr);
}
.center-sized-region .venue-map { min-height: 0; }
.center-sized-region .venue-primary { min-height: 0; padding: clamp(16px, 3cqi, 38px); }
.center-sized-region .venue-panel dl { min-height: 0; overflow-y: auto; padding: clamp(14px, 2.5cqi, 34px); }
.center-sized-region .contact-module-grid {
  width: 100%;
  min-height: 0;
  padding: clamp(18px, 4cqi, 58px);
  overflow-y: auto;
}
.chapter:is(.center-layout-columns,.center-layout-rows) .contact-module-heading h3 {
  font-size: clamp(18px, 3.2cqi, 34px);
  letter-spacing: -.04em;
  white-space: nowrap;
  text-wrap: nowrap;
}
.center-layout-single .center-sized-region .contact-module-grid {
  width: min(760px, calc(100% - 48px)) !important;
  justify-self: center;
}
.center-layout-single .contact-module-intro { gap: 12px; }
.center-sized-region .structured-rsvp,
.center-sized-region .poll-module,
.center-sized-region .sponsor-grid {
  min-height: 0;
  max-height: none;
  overflow-y: auto;
}
.center-sized-region .bring-module {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto auto;
  overflow: hidden;
}
.center-sized-region .bring-list { min-height: 0; overflow-y: auto; }
.center-sized-region .guest-list-panel { grid-template-rows: auto minmax(0, 1fr) auto; }
.center-sized-region .guest-list-panel ul { min-height: 0; overflow-y: auto; }
.center-sized-region .food-menu-carousel,
.center-sized-region .food-menu-viewport,
.center-sized-region .food-menu-track,
.center-sized-region .food-menu-page { min-height: 0; height: 100%; }
.center-sized-region .center-region-gallery {
  grid-template-rows: repeat(2, minmax(0, 1fr));
  grid-auto-columns: minmax(140px, 42%);
}
.center-sized-region :is(.center-region-countdown,[data-countdown-clock]) {
  display: grid;
  align-content: center;
  align-items: center;
}

/* A Double region is a real size container. Scale every countdown treatment
   from that container instead of the browser viewport so the complete clock,
   labels, separators, and circular frames stay inside their authored slot. */
.chapter:is(.center-layout-columns,.center-layout-rows) .center-sized-region :is(.center-region-countdown,[data-countdown-clock]) {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  gap: clamp(3px, 1.5cqi, 14px);
}
.chapter:is(.center-layout-columns,.center-layout-rows) .center-sized-region :is(.center-region-countdown,[data-countdown-clock]) .countdown-unit {
  min-width: 0;
  padding-inline: clamp(2px, 1.4cqi, 12px);
  gap: clamp(5px, 2cqh, 13px);
  align-content: center;
}
.chapter:is(.center-layout-columns,.center-layout-rows) .center-sized-region :is(.center-region-countdown,[data-countdown-clock]) .countdown-unit strong {
  font-size: clamp(24px, min(18cqi, 24cqh), 96px);
  letter-spacing: -.055em;
}
.chapter:is(.center-layout-columns,.center-layout-rows) .center-sized-region :is(.center-region-countdown,[data-countdown-clock]) .countdown-unit span {
  font-size: clamp(5px, min(2.2cqi, 3cqh), 10px);
  letter-spacing: clamp(.07em, .18cqi, .2em);
}
.chapter:is(.center-layout-columns,.center-layout-rows) .center-sized-region :is(.center-region-countdown,[data-countdown-clock])[data-countdown-style="orbit"] {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(4px, 2cqi, 18px);
}
.chapter:is(.center-layout-columns,.center-layout-rows) .center-sized-region :is(.center-region-countdown,[data-countdown-clock])[data-countdown-style="orbit"] .countdown-unit {
  max-width: none;
  padding: clamp(3px, 1.5cqi, 12px);
  gap: clamp(3px, 1.4cqh, 9px);
}
.chapter:is(.center-layout-columns,.center-layout-rows) .center-sized-region :is(.center-region-countdown,[data-countdown-clock])[data-countdown-style="orbit"] .countdown-unit strong {
  font-size: clamp(19px, min(13cqi, 18cqh), 72px);
}
.chapter:is(.center-layout-columns,.center-layout-rows) .center-sized-region :is(.center-region-countdown,[data-countdown-clock])[data-countdown-style="orbit"] .countdown-unit:not([hidden]):not([data-countdown-last-visible="true"])::after {
  right: calc(clamp(4px, 2cqi, 18px) * -.5);
  font-size: clamp(16px, min(8cqi, 12cqh), 52px);
}
.chapter:is(.center-layout-columns,.center-layout-rows) .center-sized-region :is(.center-region-countdown,[data-countdown-clock])[data-countdown-style="editorial"] {
  gap: clamp(5px, 2.4cqi, 24px);
}
.chapter:is(.center-layout-columns,.center-layout-rows) .center-sized-region :is(.center-region-countdown,[data-countdown-clock])[data-countdown-style="editorial"] .countdown-unit {
  padding: 0;
}
.chapter:is(.center-layout-columns,.center-layout-rows) .center-sized-region :is(.center-region-countdown,[data-countdown-clock])[data-countdown-style="editorial"] .countdown-unit strong {
  font-size: clamp(22px, min(16cqi, 22cqh), 86px);
}
.chapter:is(.center-layout-columns,.center-layout-rows) .center-sized-region :is(.center-region-countdown,[data-countdown-clock])[data-countdown-style="editorial"] .countdown-unit:not([hidden]):not([data-countdown-last-visible="true"])::after {
  right: calc(clamp(5px, 2.4cqi, 24px) * -.65);
  font-size: clamp(22px, min(14cqi, 20cqh), 80px);
}

.center-sized-region .structured-content-logo,
.center-sized-region .center-logo-content {
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}
.center-sized-region .center-logo-content img {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  display: block;
  width: var(--graphic-scale, 100%) !important;
  height: var(--graphic-scale, 100%) !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  transform: translate(-50%,-50%) !important;
  transition: width .16s ease, height .16s ease;
}
.center-sized-region .center-logo-placeholder { width: 100%; height: 100%; min-width: 0; min-height: 0; }

.module-scroll-region { position: relative !important; min-width: 0; min-height: 0; }
[data-module-scroll],.structured-rsvp,.guest-list-panel ul,.sponsor-grid { scrollbar-width: none; -ms-overflow-style: none; overscroll-behavior-x: contain; overscroll-behavior-y: auto; }
[data-module-scroll]::-webkit-scrollbar,.structured-rsvp::-webkit-scrollbar,.guest-list-panel ul::-webkit-scrollbar,.sponsor-grid::-webkit-scrollbar { width: 0; height: 0; display: none; }
.module-scroll-indicator { position: absolute; z-index: 12; overflow: visible; border-radius: 999px; background:color-mix(in srgb,var(--center-highlight-color,#58b9f7) 16%,transparent); box-shadow:0 0 0 1px color-mix(in srgb,var(--center-highlight-color,#58b9f7) 8%,transparent); opacity: 0; pointer-events: none; transition: opacity 160ms ease; }
.module-scroll-indicator.is-vertical { top: 10px; right: 10px; bottom: 10px; width: 4px; }
.module-scroll-indicator.is-horizontal { right: 10px; bottom: 10px; left: 10px; height: 4px; }
.module-scroll-region:has(> .universal-list) > .module-scroll-indicator.is-vertical,
.module-scroll-region.upcoming-calendar > .module-scroll-indicator.is-vertical { right: 2px; }
.module-scroll-region.upcoming-calendar > ol { box-sizing: border-box; padding-right: 10px; }
.module-scroll-region.upcoming-calendar > header { margin-right: 10px; }
.module-scroll-indicator::before { content: ''; position: absolute; pointer-events: inherit; }
.module-scroll-indicator.is-vertical::before { inset: 0 -7px; }
.module-scroll-indicator.is-horizontal::before { inset: -7px 0; }
.module-scroll-indicator > span { position: absolute; top: 0; left: 0; min-width: 0; min-height: 0; border-radius: 999px; background:var(--center-highlight-color,#58b9f7); box-shadow:0 0 8px color-mix(in srgb,var(--center-highlight-color,#58b9f7) 50%,transparent); transform: translate3d(0,0,0); will-change: width,height,transform; }
.module-scroll-region.has-scroll-overflow > .module-scroll-indicator { opacity: .82; pointer-events: auto; cursor: grab; touch-action: none; user-select: none; }
.module-scroll-region.has-scroll-overflow > .module-scroll-indicator.is-dragging { cursor: grabbing; }
.module-scroll-region.has-scroll-overflow:hover > .module-scroll-indicator,
.module-scroll-region.has-scroll-overflow:focus-within > .module-scroll-indicator,
.module-scroll-region.has-scroll-overflow.is-scrolling > .module-scroll-indicator { opacity: .98; }

@media (max-width: 700px) {
  .chapter:is(.center-layout-single,.center-layout-columns,.center-layout-rows):has(> .universal-overlay[data-overlay-position="top-left"]:not([hidden]),> .universal-overlay[data-overlay-position="top-right"]:not([hidden])) { --center-stage-top: calc(var(--header-h) + 56px); }
  .chapter:is(.center-layout-single,.center-layout-columns,.center-layout-rows):has(> .universal-overlay[data-overlay-position="bottom-left"]:not([hidden]),> .universal-overlay[data-overlay-position="bottom-right"]:not([hidden])) { --center-stage-bottom: 56px; }
  .center-sized-region.center-text-layout,
  .center-sized-region.center-companion-region[data-center-region-type="text"] { padding: clamp(10px, 4cqi, 24px) !important; }
  .center-sized-region .venue-panel { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(110px, 1fr) auto minmax(0, 1fr); }
  .center-sized-region .venue-map { grid-row: auto; }
  .center-sized-region .contact-module-grid { padding: clamp(12px, 5cqi, 24px); }
  .center-layout-single .center-sized-region .contact-module-grid { width: calc(100% - 24px) !important; }
  .center-sized-region .calendar-selection { grid-template-rows: auto minmax(0, 1fr); }
}

/* Gallery carousel
   One full-frame item is staged at a time. Media keeps its intrinsic content
   ratio, while the transparent stage lets the page artwork show around it. */
.gallery-grid,
.center-region-gallery,
.center-layout-columns > .gallery-layout .gallery-grid,
.center-sized-region .center-region-gallery {
  container-type: size;
  box-sizing: border-box;
  position: relative;
  display: grid !important;
  place-items: center;
  gap: 0;
  padding: 2px clamp(22px, 6cqi, 76px) 28px !important;
  overflow-x: hidden !important;
  overflow-y: hidden !important;
  isolation: isolate;
  touch-action: manipulation;
}
.gallery-grid > img,
.gallery-grid > video,
.gallery-grid > iframe,
.gallery-grid > a,
.center-region-gallery > :is(img,video,iframe,a),
.center-layout-columns > .gallery-layout .gallery-grid > :is(img,video,iframe,a) {
  position: absolute;
  inset: 2px clamp(22px, 6cqi, 76px) 28px;
  z-index: 0;
  grid-row: auto !important;
  width: calc(100% - clamp(44px, 12cqi, 152px)) !important;
  height: calc(100% - 30px) !important;
  min-width: 0;
  min-height: 0;
  max-width: none !important;
  max-height: none !important;
  margin: auto;
  aspect-ratio: auto;
  object-fit: contain !important;
  background: transparent !important;
  border: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate3d(0,0,0) scale(.985);
  transition: opacity .52s ease, transform .62s cubic-bezier(.22,.72,.18,1), visibility 0s linear .62s;
  will-change: opacity, transform;
}
.gallery-grid > iframe.linked-video-frame,
.center-region-gallery > iframe.linked-video-frame,
.center-layout-columns > .gallery-layout .gallery-grid > iframe.linked-video-frame {
  inset: 0 !important;
  width: min(100%, calc((100cqh - 30px) * 16 / 9)) !important;
  height: auto !important;
  aspect-ratio: 16 / 9;
  margin: auto;
}
.gallery-grid.is-gallery-carousel > :is(img,video,iframe,a).is-gallery-active,
.center-region-gallery.is-gallery-carousel > :is(img,video,iframe,a).is-gallery-active {
  z-index: 2;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate3d(0,0,0) scale(1);
  transition-delay: 0s;
}
.gallery-grid.is-gallery-carousel > :is(img,video,iframe,a).is-gallery-entering-from-next { opacity: 0; transform: translate3d(8%,0,0) scale(.985); }
.gallery-grid.is-gallery-carousel > :is(img,video,iframe,a).is-gallery-entering-from-previous { opacity: 0; transform: translate3d(-8%,0,0) scale(.985); }
.gallery-grid.is-gallery-carousel > :is(img,video,iframe,a).is-gallery-leaving-to-next,
.gallery-grid.is-gallery-carousel > :is(img,video,iframe,a).is-gallery-leaving-to-previous {
  z-index: 1;
  visibility: visible;
  pointer-events: none;
  transition-delay: 0s;
}
.gallery-grid.is-gallery-carousel > :is(img,video,iframe,a).is-gallery-leaving-to-next { opacity: 0; transform: translate3d(-8%,0,0) scale(.985); }
.gallery-grid.is-gallery-carousel > :is(img,video,iframe,a).is-gallery-leaving-to-previous { opacity: 0; transform: translate3d(8%,0,0) scale(.985); }
.gallery-layout:has(> .gallery-grid),
.center-sized-region:has(> .gallery-grid),
.center-companion-region:has(> .gallery-grid) { position: relative; }
.center-sized-region > .gallery-grid,
.center-sized-region > .center-region-gallery {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
}
.center-sized-region.gallery-layout.is-content-only > .gallery-grid,
.center-companion-region.center-sized-region > .center-region-gallery {
  position: absolute;
  inset: 0;
}
.gallery-browse-control {
  position: absolute;
  top: var(--gallery-media-center-y, 50%);
  z-index: 15;
  width: 48px;
  height: 72px;
  padding: 0;
  border: 0;
  border-radius: 0;
  display: grid;
  place-items: center;
  background: transparent;
  color: #fff;
  box-shadow: none;
  mix-blend-mode: difference;
  cursor: pointer;
  transform: translateY(-50%);
  opacity: .78;
  transition: opacity .18s ease, transform .18s ease;
}
.gallery-browse-control svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; transition: transform .18s ease, stroke-width .18s ease; }
.gallery-browse-previous { left: max(0px, calc(var(--gallery-media-left, 54px) - 54px)); }
.gallery-browse-next { right: auto; left: min(calc(100% - 48px), calc(var(--gallery-media-right, calc(100% - 54px)) + 6px)); }
@media (min-width: 701px) {
  .center-companion-region .gallery-browse-previous {
    left: max(0px, calc(var(--gallery-media-left, 54px) - 66px));
  }
  .center-companion-region .gallery-browse-next {
    left: min(calc(100% - 48px), calc(var(--gallery-media-right, calc(100% - 54px)) + 18px));
  }
}
.gallery-browse-control:hover:not(:disabled),
.gallery-browse-control:focus-visible {
  outline: none;
  opacity: 1;
}
.gallery-browse-control:hover:not(:disabled) svg { transform: scale(1.14); stroke-width: 2; }
.gallery-browse-control:focus-visible::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 9px;
  width: 18px;
  height: 2px;
  background: currentColor;
  transform: translateX(-50%);
}
.gallery-browse-control:disabled { opacity: .25; cursor: default; }
.gallery-browse-control[hidden] { display: none !important; }
.gallery-browse-pagination {
  position: absolute;
  z-index: 15;
  top: var(--gallery-pagination-top, calc(100% - 18px));
  left: 50%;
  width: min(88%, 280px);
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  color: #fff;
  mix-blend-mode: difference;
  transform: translateX(-50%);
}
.gallery-browse-pagination[hidden] { display: none !important; }
.chapter.has-light-background .gallery-browse-control,
.chapter.has-light-background .gallery-browse-pagination {
  color: #07101d;
  mix-blend-mode: normal;
}
.gallery-browse-pagination button {
  position: relative;
  flex: 1 1 8px;
  min-width: 3px;
  max-width: 8px;
  height: 18px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
}
.gallery-browse-pagination button::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: currentColor;
  opacity: .34;
  transform: translate(-50%, -50%);
  transition: width .18s ease, height .18s ease, opacity .18s ease;
}
.gallery-browse-pagination button:hover::before { opacity: .7; }
.gallery-browse-pagination button.is-active::before { width: 6px; height: 6px; opacity: 1; }
.gallery-browse-pagination button:focus-visible { outline: none; }
.gallery-browse-pagination button:focus-visible::before { opacity: 1; box-shadow: 0 0 0 2px currentColor; }
.gallery-display-note {
  padding: 11px 12px;
  border: 1px solid rgba(21,151,237,.22);
  border-radius: 10px;
  display: grid;
  gap: 3px;
  background: rgba(21,151,237,.055);
}
.gallery-display-note strong { color: #087dce; font: 800 9px/1.2 Arial,sans-serif; letter-spacing: .04em; text-transform: uppercase; }
.gallery-display-note span { color: #5f6d7c; font: 400 10px/1.35 Arial,sans-serif; }

@media (max-width: 700px) {
  .gallery-grid,
  .center-region-gallery,
  .center-layout-columns > .gallery-layout .gallery-grid,
  .center-sized-region .center-region-gallery {
    padding-inline: 24px !important;
  }
  .gallery-grid > img,
  .gallery-grid > video,
  .gallery-grid > iframe,
  .gallery-grid > a {
    inset-inline: 24px;
    width: calc(100% - 48px) !important;
  }
  .gallery-browse-control { width: 44px; height: 60px; }
  .gallery-browse-control svg { width: 20px; height: 20px; }
  .gallery-browse-previous { left: max(0px, calc(var(--gallery-media-left, 48px) - 48px)); }
  .gallery-browse-next { right: auto; left: min(calc(100% - 44px), calc(var(--gallery-media-right, calc(100% - 48px)) + 4px)); }
}

@media (prefers-reduced-motion: reduce) {
  .gallery-grid > :is(img,video,iframe,a) { transition: none !important; transform: none !important; }
}

/* Keep Style 2's absolute Material slots authoritative over the legacy Style 1 carousel rules above. */
.center-sized-region.gallery-layout.is-content-only:has(> .gallery-grid[data-gallery-style="material"]),
.center-companion-region.center-sized-region:has(> .center-region-gallery[data-gallery-style="material"]) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
  align-items: stretch !important;
  justify-items: stretch !important;
  gap: 0 !important;
}
.center-sized-region.gallery-layout.is-content-only > .gallery-grid[data-gallery-style="material"],
.center-companion-region.center-sized-region > .center-region-gallery[data-gallery-style="material"] {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
}
.gallery-grid[data-gallery-style="material"],
.center-layout-columns > .gallery-layout .gallery-grid[data-gallery-style="material"],
.center-layout-rows > .gallery-layout .gallery-grid[data-gallery-style="material"],
.center-sized-region .gallery-grid[data-gallery-style="material"] {
  display: block !important;
  padding: 0 !important;
  overflow: hidden !important;
}
.gallery-grid[data-gallery-style="material"] > :is(img,video,iframe,a),
.center-layout-columns > .gallery-layout .gallery-grid[data-gallery-style="material"] > :is(img,video,iframe,a),
.center-layout-rows > .gallery-layout .gallery-grid[data-gallery-style="material"] > :is(img,video,iframe,a),
.center-sized-region .gallery-grid[data-gallery-style="material"] > :is(img,video,iframe,a) {
  position: absolute !important;
  inset: 50% auto auto 0 !important;
  width: var(--material-width) !important;
  height: auto !important;
  max-width: none !important;
  min-width: 42px !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  grid-row: auto !important;
  object-fit: cover !important;
  object-position: calc(50% + var(--material-media-x)) center !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,.2) !important;
  border-radius: var(--material-radius) !important;
  background: #13202c !important;
  box-shadow: 0 17px 44px rgba(8,23,37,.14) !important;
  opacity: var(--material-opacity) !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translate3d(var(--material-x),-50%,0) !important;
  transition: width .64s cubic-bezier(.2,0,0,1), border-radius .64s cubic-bezier(.2,0,0,1), opacity .28s ease, transform .64s cubic-bezier(.2,0,0,1), object-position .7s cubic-bezier(.2,0,0,1), box-shadow .28s ease !important;
}
body.material-gallery-shared-active .gallery-grid[data-gallery-style="material"] > img,
body.material-gallery-shared-active .material-gallery-all-photo { visibility: hidden !important; }
@media (prefers-reduced-motion: reduce) {
  .gallery-grid[data-gallery-style="material"] > :is(img,video,iframe,a) {
    transform: translate3d(var(--material-x),-50%,0) !important;
  }
}
