@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: 148px; min-width: 148px; padding: 0 18px 0 48px; 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){ 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-labeled{ width:auto; min-width:118px; padding:0 15px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; gap:8px; font:800 10px/1 Arial,sans-serif; letter-spacing:.045em; }
.dashboard-header-labeled span{ white-space:nowrap; }
.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; }
.dashboard-header-labeled:hover,
.dashboard-header-labeled:focus-visible{ transform:none; }
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.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; }


.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; }
.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; }
.organizer-panel .pages-header-heading strong{ font-size:15px; }
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: calc(100% - 16px);
  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){ cursor: grabbing; 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 > img,
.gallery-grid[data-gallery-style="material"] > img{ cursor: pointer; }

.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: pointer;
  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); }


@keyframes editor-in { from { opacity: 0; transform: translateX(14px); } }




.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); }


.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); } }

@media (min-width: 901px) {

}


.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); }


.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); }
}




.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; }


.background-color-options{ display: flex; align-items: center; gap: 6px; }

.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; }
/* The shared color picker uses the browser top layer; editor panels retain
   their normal containment and scrolling while it is open. */
.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; }


.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; }


@media (min-width: 901px) {

}


.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; }

.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; } }


.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; }


.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; }


.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; }
@keyframes corner-tool-activation-cue {
  0%, 100% { z-index: 2; border-color: rgba(36,152,237,.28); background: rgba(255,255,255,.72); box-shadow: 0 0 0 0 rgba(36,152,237,0); transform: scale(1); }
  50% { z-index: 3; border-color: #168fe3; background: #e6f5ff; box-shadow: 0 0 0 4px rgba(36,152,237,.18), 0 0 18px rgba(36,152,237,.4); transform: scale(1.08); }
}
.corner-placement-cell.is-activation-cue:not(:disabled){ animation: corner-tool-activation-cue .75s cubic-bezier(.4,0,.2,1) 4; }


.gallery-module [data-edit="headline"],
.gallery-module [data-edit="body"],
.countdown-module [data-edit="headline"],
.countdown-module [data-edit="body"]{ white-space: pre-wrap; }


.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, so its wash stays visually inactive.
   This 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{ 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{ margin: 0 0 20px; color: var(--blue-bright); font-size: 9px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.gallery-copy h2{ font-size: clamp(58px, 6vw, 102px); }
.gallery-copy > p:last-child{ max-width: 450px; margin-top: 28px; color: rgba(255,255,255,.72); font: 18px/1.55 Georgia, serif; }
.gallery-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)){ grid-template-columns: repeat(4, minmax(0, 1fr)); }
.gallery-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{ width: 100%; height: 100%; object-fit: cover; min-width: 0; min-height: 0; }
.gallery-grid img{ cursor: pointer; }
.gallery-grid img:focus-visible{ outline: 3px solid white; outline-offset: -5px; }
.gallery-grid img:first-child{ grid-row: span 2; }


.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(-70%); 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: 20px; }
.countdown-target-schedule{ padding-top: 19px; border-top: 1px solid rgba(7,22,40,.12); display: grid; gap: 11px; }
.countdown-target-schedule > .tools-label{ margin-bottom: -1px; }
.countdown-target-fields{ display: grid; gap: 14px; }
.countdown-picker-launch{ width: 100%; min-height: 76px; padding: 11px 13px; border: 1px solid rgba(22,143,227,.42); border-radius: 13px; display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 11px; color: #12314a; background: #edf8fe; cursor: pointer; text-align: left; transition: border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease; }
.countdown-picker-launch:hover,
.countdown-picker-launch:focus-visible{ border-color: #168fe3; outline: 0; background: #e2f4ff; box-shadow: 0 0 0 3px rgba(22,143,227,.13); transform: translateY(-1px); }
.countdown-picker-launch-icon{ width: 42px; height: 42px; border-radius: 11px; display: grid; place-items: center; color: #087dce; background: #fff; box-shadow: inset 0 0 0 1px rgba(22,143,227,.2); }
.countdown-picker-launch-icon svg{ width: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.countdown-picker-launch > span:nth-child(2){ min-width: 0; display: grid; gap: 5px; }
.countdown-picker-launch strong{ font: 800 11px/1.15 'EventSans',Arial,sans-serif; }
.countdown-picker-launch small{ overflow: hidden; color: #637488; font: 650 10px/1.25 'EventSans',Arial,sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.countdown-picker-launch > i{ color: #168fe3; font: 700 18px/1 Arial,sans-serif; font-style: normal; }
.countdown-manual-target{ padding: 12px; border: 1px solid rgba(7,22,40,.11); border-radius: 12px; display: grid; gap: 10px; background: rgba(255,255,255,.74); }
.countdown-manual-heading{ display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.countdown-manual-heading strong{ color: #4f6074; font: 850 9px/1 Arial,sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.countdown-manual-heading small{ color: #8793a1; font: 650 8px/1.2 'EventSans',Arial,sans-serif; text-align: right; }
.countdown-manual-fields{ display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,.9fr) 72px; gap: 7px; }
.countdown-manual-fields label{ min-width: 0; display: grid; gap: 5px; }
.countdown-manual-fields label > span{ color: #6b7889; font: 850 7px/1 Arial,sans-serif; letter-spacing: .09em; text-transform: uppercase; }
.countdown-manual-fields input,
.countdown-manual-fields select{ width: 100%; min-width: 0; height: 38px; padding: 0 9px; border: 1px solid rgba(7,22,40,.17); border-radius: 8px; color: #14263a; background: #fff; font: 700 10px/1.2 'EventSans',Arial,sans-serif; }
.countdown-manual-fields input:focus,
.countdown-manual-fields select:focus{ border-color: #168fe3; outline: 3px solid rgba(22,143,227,.13); outline-offset: 1px; }
.countdown-manual-fields input[aria-invalid="true"]{ border-color: #c95454; background: #fff7f7; }
.countdown-manual-status{ min-height: 13px; color: #8490a0; font: 650 8px/1.35 'EventSans',Arial,sans-serif; }
.countdown-manual-status.is-error{ color: #a13f3f; }
.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: 0; }
@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-picker-modal{ z-index: 1080; }
.countdown-picker-sheet{ position: absolute; top: 50%; left: 50%; width: min(780px,calc(100% - 28px)); height: auto; max-height: min(760px,calc(100svh - 28px)); border-radius: 20px; display: grid; grid-template-rows: auto minmax(0,1fr) auto; overflow: hidden; color: #071628; background: #f3f6f8; box-shadow: 0 36px 120px rgba(0,0,0,.46); opacity: 0; transform: translate(-50%,calc(-50% + 18px)) scale(.985); transition: opacity .22s ease,transform .32s var(--ease); }
.countdown-picker-modal.is-open .countdown-picker-sheet{ opacity: 1; transform: translate(-50%,-50%) scale(1); }
.countdown-picker-header{ position: relative; min-height: 112px; padding: 22px 76px 19px 26px; display: flex; align-items: center; color: #fff; background: #071628; }
.countdown-picker-header > div{ min-width: 0; display: grid; gap: 6px; }
.countdown-picker-header p{ margin: 0; color: #65c3ff; font: 850 9px/1 Arial,sans-serif; letter-spacing: .16em; }
.countdown-picker-header h2{ margin: 0; font: 760 clamp(27px,4vw,40px)/.98 'EventSans',Arial,sans-serif; letter-spacing: -.04em; }
.countdown-picker-header small{ color: rgba(255,255,255,.76); font: 12px/1.35 Georgia,serif; }
.countdown-picker-header .sheet-close{ top: 20px; right: 20px; border-color: rgba(255,255,255,.4); color: #fff; background: rgba(255,255,255,.1); }
.countdown-picker-header .sheet-close:hover,
.countdown-picker-header .sheet-close:focus-visible{ border-color: #fff; outline: 3px solid rgba(101,195,255,.2); outline-offset: 2px; color: #071628; background: #fff; }
.countdown-picker-body{ min-height: 0; padding: 18px; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: start; gap: 16px; overflow: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.countdown-picker-panel{ min-width: 0; display: grid; gap: 9px; }
.countdown-picker-panel > p{ margin: 0 0 0 3px; color: #657487; font: 850 8px/1 Arial,sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.countdown-picker-body .countdown-m3-picker{ width: 100%; box-shadow: 0 10px 28px rgba(7,22,40,.08); background: #fff; }
.countdown-picker-footer{ min-height: 68px; padding: 11px 18px 13px; border-top: 1px solid rgba(7,22,40,.11); display: flex; align-items: center; justify-content: flex-end; gap: 8px; background: #fff; }
.countdown-picker-footer button{ min-width: 112px; min-height: 42px; padding: 0 16px; border: 1px solid rgba(7,22,40,.17); border-radius: 9px; color: #304257; background: #fff; cursor: pointer; font: 850 9px/1 Arial,sans-serif; letter-spacing: .06em; text-transform: uppercase; }
.countdown-picker-footer button:hover,
.countdown-picker-footer button:focus-visible{ border-color: #168fe3; outline: 3px solid rgba(22,143,227,.14); outline-offset: 1px; }
.countdown-picker-footer .countdown-picker-apply{ min-width: 190px; border-color: #168fe3; color: #fff; background: #168fe3; }
.countdown-picker-footer .countdown-picker-apply:hover,
.countdown-picker-footer .countdown-picker-apply:focus-visible{ background: #087dce; }
.countdown-picker-footer .countdown-picker-apply:disabled{ border-color: #a9b5c1; background: #a9b5c1; cursor: not-allowed; }
@media (max-width:640px) {
  .countdown-picker-sheet{ top: auto; bottom: 4px; left: 4px; width: calc(100% - 8px); height: calc(100svh - 8px); border-radius: 16px; transform: translateY(104%); }
  .countdown-picker-modal.is-open .countdown-picker-sheet{ transform: none; }
  .countdown-picker-header{ min-height: 100px; padding: 18px 60px 16px 19px; }
  .countdown-picker-header h2{ font-size: 29px; }
  .countdown-picker-header small{ font-size: 11px; }
  .countdown-picker-header .sheet-close{ top: 14px; right: 13px; }
  .countdown-picker-body{ padding: 13px; grid-template-columns: 1fr; gap: 14px; }
  .countdown-picker-footer{ min-height: 62px; padding: 9px 13px 11px; }
  .countdown-picker-footer button{ min-width: 88px; }
  .countdown-picker-footer .countdown-picker-apply{ min-width: 0; flex: 1; }
}
@media (max-width:360px) {
  .countdown-manual-fields{ grid-template-columns: minmax(0,1fr) minmax(0,.8fr); }
  .countdown-manual-fields label:last-child{ grid-column: 1/-1; }
}
@media (max-height:500px) and (min-width:641px) {
  .countdown-picker-sheet{ width: min(780px,calc(100% - 12px)); height: calc(100svh - 12px); border-radius: 14px; }
  .countdown-picker-header{ min-height: 70px; padding: 11px 62px 10px 20px; }
  .countdown-picker-header > div{ gap: 3px; }
  .countdown-picker-header h2{ font-size: 25px; }
  .countdown-picker-header small{ font-size: 9px; }
  .countdown-picker-header .sheet-close{ top: 11px; right: 12px; width: 42px; height: 42px; }
  .countdown-picker-body{ padding: 8px 12px; gap: 11px; overflow: hidden; }
  .countdown-picker-panel{ gap: 5px; }
  .countdown-picker-body .countdown-calendar-month{ min-height: 38px; padding: 4px 9px 2px 13px; }
  .countdown-picker-body .countdown-calendar-month button{ width: 29px; height: 29px; }
  .countdown-picker-body .countdown-calendar-days{ min-height: 164px; padding-top: 3px; padding-bottom: 5px; row-gap: 0; }
  .countdown-picker-body .countdown-calendar-days button,
.countdown-picker-body .countdown-calendar-blank{ width: 27px; height: 27px; }
  .countdown-picker-body .countdown-calendar-weekdays span{ width: 27px; }
  .countdown-picker-body .countdown-m3-time-picker{ padding: 9px 12px; }
  .countdown-picker-body .countdown-m3-time-label{ margin-bottom: 5px; }
  .countdown-picker-body .countdown-time-readout > button{ min-height: 46px; font-size: 27px; }
  .countdown-picker-body .countdown-period-options{ height: 46px; }
  .countdown-picker-body .countdown-time-dial{ width: 158px; margin-top: 5px; }
  .countdown-picker-body .countdown-time-dial-hand{ height: calc(50% - 22px); }
  .countdown-picker-body .countdown-time-dial-hand::before{ top: -14px; width: 30px; height: 30px; }
  .countdown-picker-body .countdown-time-dial-values span{ width: 26px; height: 26px; font-size: 10px; transform: translate(-50%,-50%) rotate(calc(var(--dial-index) * 30deg)) translateY(-59px) rotate(calc(var(--dial-index) * -30deg)); }
  .countdown-picker-footer{ min-height: 49px; padding: 5px 12px 7px; }
  .countdown-picker-footer button{ min-height: 36px; }
}
.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; }


.collection-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; }
.collection-add-button span{ margin-right: 5px; font-size: 15px; font-weight: 300; vertical-align: -1px; }

.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; }
  .schedule-layout,
.live-layout{ grid-template-columns: 1fr; }




  .circle-link{ width: 78px; height: 78px; }


  .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; }




























  .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{ grid-template-columns: 1fr; gap: 24px; }
  .gallery-layout{ align-content: center; }
  .gallery-copy h2{ font-size: clamp(52px, 14vw, 78px); }
  .gallery-copy > p:last-child{ margin-top: 18px; font-size: 15px; }
  .gallery-grid{ height: 47vh; min-height: 320px; }



  .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; grid-template-columns: auto minmax(0,1fr) auto; }
  .pages-header-control{ gap: 4px; }
  .menu-button:not(.is-open){ width: 40px; min-width: 40px; height: 40px; padding: 0; }
  .menu-button:not(.is-open) strong{ display: none; font-size: 8px; }
  .menu-button svg{ width: 14px; height: 14px; }
  .brand{ min-width: 0; max-width: 100%; padding-inline: 3px; justify-self: center; }
  .brand img{ width: 70px; max-width: 100%; max-height: 27px; }
  .brand img.is-custom{ max-width: 100%; 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; }
  .dashboard-header-labeled{ width:40px; min-width:40px; flex-basis:40px; padding:0; font-size:8.5px; }
  .dashboard-header-labeled span{ display: none; }
  .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; }






}

@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); }

.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{ 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); }


  .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; }














  .visual-upload-button{ padding: 0 9px; }




  .gallery-grid{ grid-template-columns: 1.35fr 1fr; }
  .gallery-grid img:first-child{ grid-row: span 2; }
  .gallery-grid:has(img:nth-child(4)){ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gallery-grid:has(img:nth-child(4)) img:first-child{ grid-row: auto; }
  .gallery-grid:has(img:nth-child(5)){ grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .gallery-grid:has(img:nth-child(7)){ grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 360px) {


}

@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; }




.editor-media-field input{ padding: 10px; border: 1px solid rgba(7,16,29,.15); background: white; font-size: 11px; }


.countdown-module .eyebrow.is-empty{ display: none; }


.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{ --audio-corner-size:105px; --audio-corner-icon-size:52.5px; --audio-corner-bars-width:55px; --audio-corner-bars-height:50px; min-width: 0; width: auto; padding: 0; display: block; overflow: visible; color: #fff; text-align: left !important; text-shadow: none; }
.audio-corner-shell{ width: var(--audio-corner-size); height: var(--audio-corner-size); display: grid; place-items: center; background: transparent; }
.audio-play-toggle{ position: relative; width: var(--audio-corner-size); height: var(--audio-corner-size); 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: 2px solid currentColor; outline-offset: 4px; }
.audio-play-toggle:disabled{ opacity: .42; cursor: default; }
.audio-play-toggle svg{ position: absolute; width: var(--audio-corner-icon-size); height: var(--audio-corner-icon-size); fill: currentColor; stroke: currentColor; stroke-width: 1; transition: opacity .16s ease, transform .2s ease; }
.audio-play-icon{ transform: translateX(2.5px) scale(1); }
.universal-overlay-audio .audio-playing-bars{ width: var(--audio-corner-bars-width); height: var(--audio-corner-bars-height); display: flex; align-items: center; justify-content: center; gap: 5px; visibility: hidden; opacity: 0; transform: scale(.72); transition: opacity .16s ease, transform .2s ease, visibility 0s linear .2s; }
.audio-playing-bars i{ width: 5px; height: 15px; 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: 30px; animation-delay: -.38s; }
.audio-playing-bars i:nth-child(3){ height: 47.5px; animation-delay: -.16s; }
.audio-playing-bars i:nth-child(4){ height: 25px; animation-delay: -.5s; }
.audio-playing-bars i:nth-child(5){ height: 37.5px; animation-delay: -.27s; }
.audio-corner-shell audio{ display: none; }
.universal-overlay-audio.is-playing .audio-play-icon{ opacity: 0; transform: translateX(5px) 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); }


.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) {






  .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: var(--audio-corner-size); }
  .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; }



  .chapter:has(> .universal-overlay-audio[data-overlay-position^="bottom"]) > .universal-overlay:not(.universal-overlay-audio)[data-overlay-position^="bottom"]{ bottom: 137px; }
  .chapter:has(> .universal-overlay-audio[data-overlay-position^="top"]) > .universal-overlay:not(.universal-overlay-audio)[data-overlay-position^="top"]{ top: 197px; }


}

/* 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; }


.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; }
/* WebKit can omit decoded canvas pixels for a one-pixel video surface. */
.print-export-video-source{ position: absolute; left: 0; bottom: 0; width: min(320px,100%); height: 180px; 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 .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(.countdown-background,.gallery-module-background){ display: none !important; }
.print-export-sheet.is-paper-white :is(.countdown-wash,.gallery-module-wash){ display: none !important; }
.print-export-sheet.is-paper-white .universal-overlay-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) {




  .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; }


}
@media (max-height: 500px) and (min-width: 761px) {




  .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; }


.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) {



}

/* 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; }
[data-template-tool="background"] .background-picker-panel{ padding: 0; border: 0; border-radius: 0; background: transparent; }
[data-template-tool="background"] .stock-picker-filters label{ gap: 0; }
[data-template-tool="background"] .stock-picker-card{ border-radius: 8px; }
[data-template-tool="background"] .stock-picker-card:focus-visible{ outline: 2px solid var(--blue); outline-offset: 2px; }
[data-template-tool="background"] .stock-picker-card img,
[data-template-tool="background"] .stock-video-poster{ aspect-ratio: 1.32; }
[data-template-tool="background"] .background-adjustments{ margin-top: 14px; gap: 0; border-top: 1px solid rgba(7,22,40,.11); }
[data-template-tool="background"] .background-adjustments .blur-strength-control,
[data-template-tool="background"] .background-adjustments .exposure-control{ margin: 0; padding: 16px 0; border: 0; border-bottom: 1px solid rgba(7,22,40,.11); background: transparent; }


.official-background-thumbnails button:last-child{ display: grid; place-items: center; color: var(--ink); font-size: 9px; font-weight: 700; text-transform: uppercase; }


.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.countdown-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.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); }


@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{ height: min(34vh, 330px); min-height: 190px; }



























































  .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) {




}

@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); }

















}


@media (max-width:900px) {



}

@media (max-width:560px) {













}

@media (prefers-reduced-motion:reduce) {


}

/* 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-slot-control{ min-width: 0; display: grid; gap: 6px; align-content: start; }
.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-help-button{ width: 100%; min-height: 38px; padding: 7px 10px; border: 1px solid rgba(114,81,220,.25); border-radius: 8px; display: flex; align-items: center; justify-content: center; gap: 7px; color: #5f43bd; background: #faf8ff; font: 800 9px/1 Arial,sans-serif; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; transition: color .16s ease,background .16s ease,border-color .16s ease,transform .16s ease; }
.center-content-help-button span{ width: 17px; height: 17px; border: 1px solid currentColor; border-radius: 50%; display: grid; place-items: center; font: 850 10px/1 Arial,sans-serif; }
.center-content-help-button:hover,
.center-content-help-button:focus-visible{ border-color: #7251dc; color: #fff; background: #7251dc; outline: 0; transform: translateY(-1px); }
.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-slot-control: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; }
.center-presentation-editor{ min-width: 0; margin-top: 2px; padding-top: 13px; border-top: 1px solid rgba(7,22,40,.1); display: grid; gap: 13px; }
.center-presentation-style{ min-width: 0; min-height: 54px; padding: 9px 10px 9px 13px; border: 1px solid rgba(21,151,237,.22); border-radius: 10px; display: grid; grid-template-columns: minmax(0,1fr) minmax(150px,1.35fr); align-items: center; gap: 10px; background: #f7fbfe; }
.center-presentation-style > span{ color: #526378; font: 850 10px/1 Arial,sans-serif; letter-spacing: .06em; text-transform: uppercase; }
.center-presentation-style select{ width: 100%; min-width: 0; height: 38px; padding: 0 34px 0 12px; border: 1px solid rgba(7,22,40,.18); border-radius: 8px; color: #102033; background: #fff; font: 750 12px/1.2 'EventSans',Arial,sans-serif; cursor: pointer; }
.center-presentation-style select:hover{ border-color: rgba(21,151,237,.7); }
.center-presentation-style select:focus-visible{ border-color: #1597ed; outline: 3px solid rgba(21,151,237,.16); outline-offset: 1px; }
.center-widget-controls{ min-width: 0; display: grid; gap: 15px; }
.center-widget-color-control{ min-width: 0; display: grid; gap: 8px; }
.center-widget-color-control .color-explorer{ margin: 0; }
.center-widget-range{ min-width: 0; display: grid; gap: 8px; }
.center-widget-range > span,
.center-widget-range small{ display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.center-widget-range strong{ color: #526378; font: 850 10px/1 Arial,sans-serif; letter-spacing: .06em; text-transform: uppercase; }
.center-widget-range output{ color: #087dce; font: 850 11px/1 Arial,sans-serif; }
.center-widget-range input[type="range"]{ width: 100%; height: 18px; margin: 0; accent-color: #1597ed; cursor: pointer; }
.center-widget-range input[type="range"]:focus-visible{ outline: 3px solid rgba(21,151,237,.16); outline-offset: 2px; }
.center-widget-range small{ color: #8a96a5; font: 750 8px/1 Arial,sans-serif; letter-spacing: .04em; text-transform: uppercase; }

.center-content-help-modal{ z-index: 1070; }
body.is-center-content-help-open{ overflow: hidden; }
.center-content-help-sheet{ position: absolute; top: 50%; left: 50%; width: min(560px,calc(100% - 24px)); max-height: min(680px,calc(100svh - 24px)); border-radius: 18px; display: grid; grid-template-rows: auto minmax(0,1fr) auto; overflow: hidden; color: #071628; background: #fff; box-shadow: 0 34px 110px rgba(0,0,0,.42); opacity: 0; transform: translate(-50%,calc(-50% + 16px)) scale(.985); transition: opacity .22s ease,transform .32s var(--ease); }
.center-content-help-modal.is-open .center-content-help-sheet{ opacity: 1; transform: translate(-50%,-50%) scale(1); }
.center-content-help-header{ position: relative; min-height: 126px; padding: 24px 72px 20px 26px; display: flex; align-items: center; color: #fff; background: linear-gradient(135deg,#5b3fb6 0%,#7251dc 58%,#168fe3 140%); }
.center-content-help-header > div{ min-width: 0; display: grid; gap: 7px; }
.center-content-help-header p{ margin: 0; color: #ddd4ff; font: 850 9px/1 Arial,sans-serif; letter-spacing: .16em; }
.center-content-help-header h2{ margin: 0; font: 760 clamp(27px,4vw,38px)/.98 'EventSans',Arial,sans-serif; letter-spacing: -.04em; }
.center-content-help-header small{ max-width: 430px; color: rgba(255,255,255,.8); font: 12px/1.4 Georgia,serif; }
.center-content-help-header .sheet-close{ top: 20px; right: 20px; border-color: rgba(255,255,255,.45); color: #fff; background: rgba(255,255,255,.12); }
.center-content-help-header .sheet-close:hover,
.center-content-help-header .sheet-close:focus-visible{ border-color: #fff; background: #fff; color: #5b3fb6; outline: 3px solid rgba(255,255,255,.2); outline-offset: 2px; }
.center-content-help-body{ min-height: 0; padding: 20px 26px 18px; display: grid; gap: 16px; overflow-y: auto; overscroll-behavior: contain; }
.center-content-help-body ol{ margin: 0; padding: 0; list-style: none; counter-reset: center-help-step; display: grid; gap: 9px; }
.center-content-help-body li{ min-height: 46px; padding: 10px 12px 10px 51px; border: 1px solid rgba(7,22,40,.1); border-radius: 10px; position: relative; display: flex; align-items: center; color: #34465b; background: #f8fafc; font: 12px/1.4 Arial,sans-serif; counter-increment: center-help-step; }
.center-content-help-body li::before{ content: counter(center-help-step); position: absolute; left: 12px; width: 27px; height: 27px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: #7251dc; font: 850 10px/1 Arial,sans-serif; }
.center-content-help-body aside{ padding: 13px 15px; border-left: 4px solid #168fe3; border-radius: 0 9px 9px 0; display: grid; gap: 4px; color: #36516a; background: #edf8fe; }
.center-content-help-body aside strong{ color: #0874c4; font: 850 9px/1 Arial,sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.center-content-help-body aside span{ font: 11px/1.45 Georgia,serif; }
.center-content-help-footer{ min-height: 68px; padding: 11px 26px 14px; border-top: 1px solid rgba(7,22,40,.1); display: flex; justify-content: flex-end; background: #fff; }
.center-content-help-footer button{ min-width: 120px; min-height: 42px; border: 1px solid #168fe3; border-radius: 8px; color: #fff; background: #168fe3; font: 850 10px/1 Arial,sans-serif; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.center-content-help-footer button:hover,
.center-content-help-footer button:focus-visible{ border-color: #0874c4; background: #0874c4; outline: 3px solid rgba(36,152,237,.18); outline-offset: 2px; }
@media (max-width:520px) {
  .center-content-help-sheet{ width: calc(100% - 16px); max-height: calc(100svh - 16px); border-radius: 14px; }
  .center-content-help-header{ min-height: 116px; padding: 20px 60px 18px 20px; }
  .center-content-help-header .sheet-close{ top: 16px; right: 14px; }
  .center-content-help-body{ padding: 15px 18px; gap: 12px; }
  .center-content-help-body li{ min-height: 43px; padding: 9px 10px 9px 47px; font-size: 11px; }
  .center-content-help-footer{ min-height: 60px; padding: 9px 18px 11px; }
  .center-content-help-footer button{ width: 100%; }
}
@media (max-height:500px) {
  .center-content-help-sheet{ width: min(640px,calc(100% - 16px)); max-height: calc(100svh - 16px); }
  .center-content-help-header{ min-height: 96px; padding: 14px 66px 13px 26px; }
  .center-content-help-header > div{ gap: 4px; }
  .center-content-help-header h2{ font-size: 29px; }
  .center-content-help-header small{ font-size: 10px; line-height: 1.25; }
  .center-content-help-header .sheet-close{ top: 14px; right: 16px; width: 40px; height: 40px; }
  .center-content-help-body{ padding: 10px 26px; gap: 8px; overflow: hidden; }
  .center-content-help-body ol{ gap: 6px; }
  .center-content-help-body li{ min-height: 34px; padding: 6px 10px 6px 45px; font-size: 10px; line-height: 1.25; }
  .center-content-help-body li::before{ left: 12px; width: 23px; height: 23px; font-size: 9px; }
  .center-content-help-body aside{ padding: 7px 12px; gap: 3px; }
  .center-content-help-body aside strong{ font-size: 8px; }
  .center-content-help-body aside span{ font-size: 9px; line-height: 1.3; }
  .center-content-help-footer{ min-height: 46px; padding: 5px 26px 7px; }
  .center-content-help-footer button{ width: auto; min-height: 36px; }
}
.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-month-nav{ margin-left:auto; display:flex; align-items:center; gap:6px; }
.calendar-month-nav button{ width:34px; height:34px; padding:0; border:1px solid var(--structured-line,rgba(255,255,255,.22)); border-radius:50%; display:grid; place-items:center; color:inherit; background:transparent; cursor:pointer; font:500 21px/1 Arial,sans-serif; transition:border-color .18s,background .18s,transform .18s; }
.calendar-month-nav button:hover,
.calendar-month-nav button:focus-visible{ border-color:var(--center-highlight-color,#58b9f7); outline:none; background:color-mix(in srgb,var(--center-highlight-color,#58b9f7) 13%,transparent); transform:translateY(-1px); }
.month-calendar > header .calendar-download-button{ margin-left:2px; }
.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{ position:relative; 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; }
.official-editor-page .upcoming-calendar li[data-calendar-item-index]{ padding-right:76px; }
.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; }
.official-editor-page [data-calendar-inline-empty]:empty::before{ content:attr(data-placeholder); color:var(--structured-muted,rgba(255,255,255,.48)); font-style:italic; }
.calendar-inline-remove{ position:absolute; z-index:4; top:50%; right:22px; width:34px; height:34px; padding:0; border:2px solid rgba(255,255,255,.88); border-radius:50%; display:grid; place-items:center; color:#fff; background:#e13f32; box-shadow:0 5px 16px rgba(138,26,20,.28); cursor:pointer; transform:translateY(-50%); transition:background .18s,box-shadow .18s,transform .18s; }
.calendar-inline-remove span{ font:700 21px/.8 Arial,sans-serif; transform:translateY(-1px); }
.calendar-inline-remove:hover,
.calendar-inline-remove:focus-visible{ outline:3px solid color-mix(in srgb,#ff5a4c 38%,transparent); outline-offset:2px; background:#bd2d24; box-shadow:0 7px 22px rgba(138,26,20,.38); transform:translateY(-50%) scale(1.07); }
.upcoming-calendar li.calendar-inline-add-row{ min-height:78px; padding:13px 24px; display:block; }
.calendar-inline-add{ width:100%; min-height:50px; padding:0 18px; border:1px dashed color-mix(in srgb,var(--center-highlight-color,#58b9f7) 72%,transparent); border-radius:11px; display:flex; align-items:center; justify-content:center; gap:10px; color:inherit; background:color-mix(in srgb,var(--center-highlight-color,#58b9f7) 9%,transparent); cursor:pointer; transition:border-color .18s,background .18s,transform .18s; }
.calendar-inline-add > span{ width:24px; height:24px; border-radius:50%; display:grid; place-items:center; color:#071628; background:var(--center-highlight-color,#58b9f7); font:700 18px/1 Arial,sans-serif; }
.calendar-inline-add strong{ font:800 9px/1 Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.calendar-inline-add:hover,
.calendar-inline-add:focus-visible{ border-style:solid; outline:none; background:color-mix(in srgb,var(--center-highlight-color,#58b9f7) 16%,transparent); transform:translateY(-1px); }
.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{ position:relative; 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; }
.official-editor-page .calendar-selection article{ padding-right:64px; }
.calendar-selection .calendar-inline-remove{ right:14px; width:31px; height:31px; }
.calendar-selection [data-calendar-event-panels] > .calendar-inline-add{ width:calc(100% - 36px); margin:12px 24px 12px 12px; }
.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(700px,74vh); display:grid; grid-template-rows:auto minmax(180px,1fr) 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:0; border-radius:14px; padding:0; display:grid; place-items:center; overflow:hidden; color:#06111f; background:var(--center-highlight-color,#58b9f7); font:700 21px/1 'EventSans',Arial,sans-serif; }
button.team-chat-icon{ cursor:pointer; transition:transform 170ms cubic-bezier(.2,.84,.24,1),box-shadow 170ms ease; }
button.team-chat-icon:hover,
button.team-chat-icon:focus-visible{ outline:0; transform:translateY(-1px) scale(1.045); box-shadow:0 0 0 3px color-mix(in srgb,var(--center-highlight-color,#58b9f7) 20%,transparent),0 9px 24px rgba(0,0,0,.2); }
.team-chat-icon img{ width:100%; height:100%; object-fit:cover; }
.team-chat-icon .material-symbol{ font-size:27px; }
.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(500px,55vh); 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-message-delete{ width:27px; height:27px; margin:-7px -7px -7px 2px; border:1px solid rgba(244,105,91,.48); border-radius:50%; display:grid; place-items:center; flex:0 0 auto; color:#ff7668; background:rgba(255,118,104,.08); font:700 18px/1 Arial,sans-serif; cursor:pointer; }
.team-chat-message-delete:hover,
.team-chat-message-delete:focus-visible{ outline:0; color:#fff; background:#e95243; border-color:#e95243; box-shadow:0 0 0 3px rgba(233,82,67,.16); }
.team-chat-message-delete:disabled{ opacity:.45; cursor:wait; }
.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 !important; background:#fff; font:800 9px/1 Arial,sans-serif; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.team-chat-moderation-tool{ display:grid; gap:12px; }
.structured-settings-divider{ padding-top:18px; border-top:1px solid rgba(7,22,40,.13); }
.structured-settings-divider span{ color:#53657a; font:800 9px/1 Arial,sans-serif; letter-spacing:.13em; text-transform:uppercase; }
.team-chat-clear-button{ width:100%; min-height:48px; border:1px solid rgba(201,69,55,.36); border-radius:12px; color:#b73729; background:#fff8f6; font:800 11px/1 'EventSans',Arial,sans-serif; letter-spacing:.04em; cursor:pointer; }
.team-chat-clear-button:hover,
.team-chat-clear-button:focus-visible{ outline:0; color:#fff; background:#c94537; border-color:#c94537; box-shadow:0 0 0 3px rgba(201,69,55,.12); }
.team-chat-clear-button:disabled{ opacity:.42; cursor:not-allowed; color:#7d8996; background:#f4f6f8; border-color:#d6dde4; box-shadow:none; }
[data-team-chat-moderation-status]:empty{ display:none; }
[data-team-chat-moderation-status]{ color:#65768a; font:650 10px/1.35 'EventSans',Arial,sans-serif; }
.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{ min-height:0; max-height:62vh; }
  .team-chat-panel{ min-height:min(560px,72vh); max-height:72vh; }
  .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{
  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 .official-editor-tools[hidden]{ display: none; }


@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 and holds
   bottom corner tools at a stable inset while Edit is open. */
.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{ 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-action-ink: #071628; --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-action-ink: #fff; --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; }


.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(.68) saturate(.38) contrast(.9) brightness(1.08); opacity:.94; transform:scale(1.02); transform-origin:center; transition:filter .28s ease,opacity .28s ease; }
.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; transition:background .28s ease,opacity .28s ease; }
.venue-map-style-basic-light .venue-map-canvas{ filter:grayscale(.42) saturate(.62) contrast(.92) brightness(1.08); opacity:.96; }
.venue-map-style-basic-dark .venue-map-canvas{ filter:grayscale(.38) saturate(.7) contrast(1.08) brightness(.62); opacity:.96; }
.venue-map-style-outline-light .venue-map-canvas{ filter:grayscale(1) saturate(0) contrast(1.22) brightness(1.12); opacity:.9; }
.venue-map-style-outline-dark .venue-map-canvas{ filter:grayscale(1) saturate(0) contrast(1.38) brightness(.48); opacity:.94; }
.venue-map-style-basic-light .venue-map-tint{ background:linear-gradient(180deg,rgba(255,255,255,.08),color-mix(in srgb,var(--location-map-primary) 12%,transparent)); opacity:.34; }
.venue-map-style-basic-dark .venue-map-tint{ background:linear-gradient(180deg,rgba(7,22,40,.34),color-mix(in srgb,var(--location-map-primary) 28%,rgba(7,22,40,.52))); opacity:.72; }
.venue-map-style-outline-light .venue-map-tint{ background:color-mix(in srgb,var(--location-map-surface) 18%,transparent); mix-blend-mode:color; opacity:.32; }
.venue-map-style-outline-dark .venue-map-tint{ background:linear-gradient(180deg,rgba(7,22,40,.46),color-mix(in srgb,var(--location-map-primary) 18%,rgba(7,22,40,.64))); mix-blend-mode:multiply; opacity:.78; }
.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(--location-map-primary,#58b9f7) 16%,transparent); }
  50% { opacity:1; transform:rotate(-45deg) scale(1.06); box-shadow:0 8px 32px color-mix(in srgb,var(--location-map-primary,#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; }
.contact-module-grid output[data-state="success"]{ color:#8de3bd; font-weight:700; }
.contact-module-grid output[data-state="error"]{ color:#ff9b9b; font-weight:800; }
.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-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-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; }
}


.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-scroll-region{ position:relative; min-width:0; min-height:0; }
.bring-list{ box-sizing:border-box; margin:0; padding:0 clamp(28px,3cqi,42px) 0 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-action-ink,#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; align-content:safe center; }
.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{ width:100%; min-width:0; margin:16px auto 0; padding:24px; border:1px solid rgba(255,255,255,.2); border-radius:14px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:15px 20px; text-align:left; background:#102335; animation:rsvp-details-in .25s 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; }


.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-settings{ 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-settings-tool + .center-highlight-color-tool{ margin-top:16px; padding-top:0; border-top:0; }
.calendar-schedule-section{ display:grid; gap:12px; }
.calendar-schedule-section > .tools-label{ margin:0; }
.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-date-time{ display:grid; gap:11px; border-radius:13px; transition:box-shadow .18s,background .18s; }
.calendar-event-date-time.is-direct-field-target{ background:#f4faff; box-shadow:0 0 0 3px rgba(22,143,227,.13); }
.calendar-event-manual-target{ margin:0; }
.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; }
.bring-module[data-bring-owner-preview] .bring-item-details>.bring-claim-progress,
.bring-module[data-bring-owner-preview] .bring-item-details>.bring-claimants,
.bring-module[data-bring-owner-preview] .bring-claim-form,
.bring-module[data-bring-owner-preview] .bring-add-item-form{display:none;}
.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:0; }
.location-detail-add button:disabled{ opacity:.48; cursor:default; transform:none; }
.location-map-design{ display:grid; gap:9px; }
.location-map-design .tools-label{ margin:0; }
.location-map-style-options{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.location-map-style-options > button{ min-width:0; min-height:96px; padding:8px; border:1px solid rgba(7,22,40,.13); border-radius:9px; display:grid; gap:8px; 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-wrap:anywhere; font:750 9px/1.1 Arial,sans-serif; }
.location-map-style-preview{ position:relative; height:55px; border-radius:6px; overflow:hidden; background:var(--location-map-surface,#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:12px; transform:rotate(18deg); }
.location-map-style-preview::after{ width:84%; left:22%; top:40px; transform:rotate(-14deg); }
.location-map-style-preview i{ width:54%; left:18%; top:29px; transform:rotate(8deg); }
.location-map-style-preview b{ width:9px; height:9px; left:58%; top:17px; border-radius:50%; background:var(--location-map-primary,#168fe3); }
.location-map-style-preview em{ width:3px; height:16px; left:61%; top:21px; background:var(--location-map-primary,#168fe3); transform:rotate(18deg); }
.location-map-style-basic-light{ background:linear-gradient(145deg,var(--location-map-surface,#e2f1fb),#f8fafb); }
.location-map-style-basic-dark{ background:linear-gradient(145deg,var(--location-map-surface,#173047),#071628); }
.location-map-style-outline-light{ background:#f4f6f7; }
.location-map-style-outline-dark{ background:#102437; }
.location-map-style-basic-light::before,
.location-map-style-basic-light::after,
.location-map-style-basic-light i,
.location-map-style-outline-light::before,
.location-map-style-outline-light::after,
.location-map-style-outline-light i{ background:var(--location-map-road,#40566d); }
.location-map-style-basic-dark::before,
.location-map-style-basic-dark::after,
.location-map-style-basic-dark i,
.location-map-style-outline-dark::before,
.location-map-style-outline-dark::after,
.location-map-style-outline-dark i{ background:var(--location-map-road,#d6e4ef); }
.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; }
  .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; }
  .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; }
  .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; }
body: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-card-body.is-awaiting-corner{ gap: 0; }
.corner-tool-settings-reveal{ min-width: 0; }
.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-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-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"]{ text-align: center; }
.universal-overlay-note[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"]{ cursor: text; outline: none; }
.universal-overlay-note [contenteditable="true"]:focus{ background: rgba(36,152,237,.15); box-shadow: 0 0 0 4px rgba(36,152,237,.14); }
.universal-overlay-note{ 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 through field-level 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] .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] .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-hero-example{ background-color: #071628; background-image: url('assets/hero-rooftop.webp'); background-size: cover; background-position: center; }
.text-module.is-hero-example .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:not(.is-hero-example):not(.has-video-background):not(:has(> .page-background-image)) > .center-text-wash{ display:none; background:none; opacity:0; }
.text-module.is-hero-example :is(.center-text-column,.standalone-text-content){ justify-items: center; text-align: center; }
.text-module.is-hero-example .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; }
}

@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; }
}

@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; }
}

.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 every 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-single > .center-text-wash,
.center-layout-single > .countdown-wash,
.center-layout-single > .rsvp-page-wash,
.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 without stretching 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); }
.structured-content-poll.module-scroll-region > .poll-module{ box-sizing:border-box; padding-inline-end:28px; }
.structured-content-poll.module-scroll-region > .module-scroll-indicator.is-vertical{ right:4px; }
.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{ max-width:100%; padding:3px 5px 0 0; color:var(--structured-muted,rgba(255,255,255,.64)); font:800 7px/1 Arial,sans-serif; font-style:normal; letter-spacing:.1em; text-align:right; text-transform:uppercase; white-space:nowrap; }
.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(2,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-editor-heading{ padding-top:18px; border-top:1px solid rgba(7,22,40,.13); }
.poll-audience-control{ display:grid; gap:7px; color:#53657a; font:800 8px/1 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.poll-audience-control select{ width:100%; min-height:45px; border:1px solid #cfd8e1; padding:0 11px; color:#132238; background:#fff; font:650 11px/1.2 'EventSans',Arial,sans-serif; }
.poll-setting-list{ display:grid; gap:11px; }
.poll-setting-row{ display:grid; grid-template-columns:minmax(92px,.7fr) minmax(0,1.3fr); align-items:center; gap:10px; }
.poll-setting-row > span{ color:#53657a; font:800 8px/1.2 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.poll-segmented-control{ min-width:0; padding:3px; border:1px solid #d4dde5; border-radius:999px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3px; background:#eef2f5; }
.poll-segmented-control button{ min-width:0; min-height:34px; border:0; border-radius:999px; padding:0 8px; color:#667488; background:transparent; font:750 9px/1.15 'EventSans',Arial,sans-serif; cursor:pointer; }
.poll-segmented-control button[aria-pressed="true"]{ color:#0874c4; background:#fff; box-shadow:0 2px 8px rgba(17,45,69,.12); }
.poll-segmented-control button:focus-visible{ outline:3px solid rgba(22,143,227,.18); outline-offset:1px; }
.poll-segmented-control button:disabled{ cursor:not-allowed; opacity:.46; }
.poll-segmented-control button[aria-pressed="true"]:disabled{ opacity:.7; }
.poll-closing-schedule{ padding-top:18px; border-top:1px solid rgba(7,22,40,.12); display:grid; gap:11px; }
.poll-closing-manual-footer{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.poll-closing-manual-footer > small{ flex:1; }
.poll-closing-manual-footer > button{ min-height:24px; border:0; padding:0; color:#a2473e; background:transparent; font:800 8px/1.2 'EventSans',Arial,sans-serif; text-decoration:underline; text-underline-offset:2px; cursor:pointer; white-space:nowrap; }
.poll-closing-manual-footer > button[hidden]{ display:none; }
.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; }
.response-rsvp-details{ display:grid; gap:10px; padding-top:10px; border-top:1px solid #e2e9ef; }
.response-rsvp-stats{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.response-rsvp-stats > span{ min-width:0; padding:8px; border-radius:8px; display:grid; gap:3px; background:#f2f7fb; }
.response-rsvp-stats b{ color:#0874c4; font:800 16px/1 'EventSans',Arial,sans-serif; }
.response-rsvp-stats small{ color:#718095; font:7px/1.25 Arial,sans-serif; letter-spacing:.06em; }
.response-rsvp-list{ max-height:260px; margin:0; padding:0; display:grid; gap:8px; overflow:auto; list-style:none; }
.response-rsvp-list > li{ padding:9px; border:1px solid #e2e9ef; border-radius:8px; display:grid; gap:6px; }
.response-rsvp-list header{ display:flex; align-items:start; justify-content:space-between; gap:8px; }
.response-rsvp-list header > span{ min-width:0; display:grid; gap:3px; }
.response-rsvp-list header b{ overflow:hidden; font:750 10px/1.2 'EventSans',Arial,sans-serif; text-overflow:ellipsis; }
.response-rsvp-list header small{ overflow:hidden; color:#718095; font:8px/1.2 'EventSerif',Georgia,serif; letter-spacing:0; text-overflow:ellipsis; text-transform:none; }
.response-rsvp-list header em{ padding:4px 7px; border-radius:999px; color:#0874c4; background:#e8f5fd; font:800 7px/1 Arial,sans-serif; text-transform:uppercase; }
.response-rsvp-list p{ font-size:9px; }
.response-rsvp-list dl{ margin:0; display:grid; gap:4px; }
.response-rsvp-list dl > div{ display:grid; grid-template-columns:minmax(80px,.45fr) minmax(0,1fr); gap:7px; }
.response-rsvp-list dt{ color:#718095; font:700 8px/1.3 Arial,sans-serif; }
.response-rsvp-list dd{ margin:0; font:9px/1.35 'EventSerif',Georgia,serif; }
.response-rsvp-list time{ color:#8794a3; font:8px/1.2 '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)); }
  .structured-content-poll.module-scroll-region > .poll-module{ padding-inline-end:18px; }
  .poll-design-cards .poll-options,
.poll-settings-grid,
.poll-question-settings{ grid-template-columns:1fr; }
  .poll-setting-row{ grid-template-columns:1fr; gap:7px; }
  .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;
}
/* Graphic 100% remains the authored scale inside a responsive presentation
   frame. Cap that frame on wide screens while letting handset layouts use the
   horizontal space that would otherwise sit empty. */
.chapter:is(.center-layout-single,.center-layout-columns,.center-layout-rows) > :is(.chapter-inner,.center-companion-region).center-sized-region[data-center-region-type="logo"]{
  width: min(60%, 640px) !important;
}
.chapter:is(.center-layout-single,.center-layout-columns,.center-layout-rows) > :is(.chapter-inner,.center-companion-region).center-sized-region.center-content-widget{
  padding: clamp(18px,3.1vw,52px) !important;
  border: 1px solid var(--center-widget-line,rgba(255,255,255,.2));
  border-radius: clamp(20px,3vw,42px);
  color: var(--center-widget-foreground,#fff);
  background: var(--center-widget-background,rgba(7,22,40,.82));
  box-shadow: 0 24px 74px rgba(3,10,19,.25);
  -webkit-backdrop-filter: blur(var(--center-widget-blur,18px)) saturate(115%);
  backdrop-filter: blur(var(--center-widget-blur,18px)) saturate(115%);
  isolation: isolate;
}
.chapter:is(.center-layout-single,.center-layout-columns,.center-layout-rows) > :is(.chapter-inner,.center-companion-region).center-sized-region:has(.team-chat-panel){
  height: 68% !important;
}
.center-sized-region.center-content-widget :is(.standalone-text-content,.center-text-column,.structured-content,.center-region-countdown,.gallery-grid,.center-logo-content){ max-width: 100%; max-height: 100%; }
.center-sized-region.center-content-widget :is(input,textarea,select){ border-color: var(--center-widget-line,rgba(255,255,255,.2)); }
@media (max-width: 900px) {
  /* Two LISTS share the same responsive frame as the other safe Center
     Content surfaces while desktop keeps the authored 60% frame. */
  .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: 86% !important;
  }
  /* These Center Content surfaces can safely use more of the handset stage.
     Modal,
corner-tool,
and safe-area surfaces remain outside this rule. */
  .chapter:is(.center-layout-single,.center-layout-columns,.center-layout-rows) > :is(.chapter-inner,.center-companion-region).center-sized-region:is(
    [data-center-region-type="list"],
    [data-center-region-type="gallery"],
    [data-center-region-type="countdown"],
    [data-center-region-type="calendar"],
    [data-center-region-type="poll"],
    [data-center-region-type="location-map"],
    [data-center-region-type="what-to-bring"],
    [data-center-region-type="rsvp"],
    [data-center-region-type="guest-list"],
    [data-center-region-type="contact"],
    [data-center-region-type="team-chat"]
  ){
    width: 86% !important;
  }
  .chapter:is(.center-layout-single,.center-layout-columns,.center-layout-rows) > :is(.chapter-inner,.center-companion-region).center-sized-region[data-center-region-type="text"]{
    width: 86% !important;
    height: 78% !important;
  }
  .chapter:is(.center-layout-single,.center-layout-columns,.center-layout-rows) > :is(.chapter-inner,.center-companion-region).center-sized-region[data-center-region-type="logo"]{
    width: min(86%, 640px) !important;
  }
  .chapter:is(.center-layout-single,.center-layout-columns,.center-layout-rows) > :is(.chapter-inner,.center-companion-region).center-sized-region.center-content-widget{
    padding: clamp(14px,4vw,28px) !important;
    border-radius: clamp(16px,4vw,24px);
  }
}
.center-layout-single > .chapter-inner.center-sized-region{ grid-area: 2 / 1; }
@media (min-width: 901px) {
  .chapter.center-layout-single:is([data-center-slot0-type="calendar"],[data-center-slot1-type="calendar"]) > .chapter-inner.center-sized-region[data-center-region-type="calendar"],
.story-shell.is-center-panel-preview-scaled .chapter.center-layout-single:is([data-center-slot0-type="calendar"],[data-center-slot1-type="calendar"]) > .chapter-inner.center-sized-region[data-center-region-type="calendar"]{
    width: min(46%, 900px) !important;
  }
}
.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;
  }
  /* Graphic visitor sizing has a deliberate 640px desktop ceiling. Preserve
     that authored source frame while the Edit rail is open and while its
     close transition settles; otherwise the generic preview source width can
     temporarily enlarge the Graphic before snapping back to the live cap. */
  .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[data-center-region-type="logo"]{
    width: min(var(--center-panel-single-region-width), 640px) !important;
  }
  .story-shell.is-center-panel-preview-scaled .center-layout-columns > :is(.chapter-inner,.center-companion-region).center-sized-region[data-center-region-type="logo"]{
    width: min(var(--center-panel-column-region-width), 640px) !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,.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,.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; }
.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-scroll-region{ min-height: 0; overflow: hidden; }
.center-sized-region .bring-list{ width: 100%; height: 100%; min-height: 0; overflow-y: auto; }
/* Keep a claim row visible when the authored region is short and wide. */
@container center-region (max-height: 260px) and (min-width: 560px) {
  .center-sized-region .bring-add-item-form{ margin-top: 8px; padding: 8px; gap: 6px; grid-template-columns: minmax(0, 1fr) 64px auto; }
  .center-sized-region .bring-add-item-form header{ display: none; }
  .center-sized-region .bring-list li{ min-height: 80px; padding-block: 10px; gap: 16px; }
  .center-sized-region .bring-claim-progress{ gap: 4px 10px; }
  .center-sized-region .bring-status{ margin-top: 6px; }
}
.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 .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],
.center-text-overflows,
.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,
.center-text-overflows::-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; }
.module-scroll-boundary-cue-start{ animation: module-scroll-boundary-start .48s cubic-bezier(.2,.82,.24,1); }
.module-scroll-boundary-cue-end{ animation: module-scroll-boundary-end .48s cubic-bezier(.2,.82,.24,1); }
.module-scroll-indicator.is-boundary-cue{ opacity: 1 !important; filter: brightness(1.18); }
.module-scroll-indicator.is-boundary-cue > span{ box-shadow: 0 0 0 3px color-mix(in srgb,var(--center-highlight-color,#58b9f7) 20%,transparent),0 0 18px color-mix(in srgb,var(--center-highlight-color,#58b9f7) 78%,transparent); }
@keyframes module-scroll-boundary-start {
  0%,100% { transform:translate3d(0,0,0); }
  34% { transform:translate3d(0,6px,0); }
  62% { transform:translate3d(0,-1.5px,0); }
}
@keyframes module-scroll-boundary-end {
  0%,100% { transform:translate3d(0,0,0); }
  34% { transform:translate3d(0,-6px,0); }
  62% { transform:translate3d(0,1.5px,0); }
}
@media (prefers-reduced-motion: reduce) {
  .module-scroll-boundary-cue-start,
.module-scroll-boundary-cue-end{ animation:none; }
}

@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; }
  .chapter:is(.center-layout-single,.center-layout-columns,.center-layout-rows) > :is(.chapter-inner,.center-companion-region).center-sized-region.center-text-layout:not(.center-content-widget),
.chapter:is(.center-layout-single,.center-layout-columns,.center-layout-rows) > :is(.chapter-inner,.center-companion-region).center-sized-region.center-companion-region[data-center-region-type="text"]:not(.center-content-widget){
    padding: clamp(8px, 3cqi, 18px) !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;
}
/* Settle interrupted navigation without leaving fading media over the controls. */
.gallery-grid.is-gallery-resetting > :is(img,video,iframe,a){ transition: none !important; }
.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) {
  .chapter:is(.center-layout-columns,.center-layout-rows) > [data-center-region-type="gallery"] .gallery-browse-previous{
    left: max(11px, calc(var(--gallery-media-left, 54px) - 54px));
  }
  .chapter:is(.center-layout-columns,.center-layout-rows) > [data-center-region-type="gallery"] .gallery-browse-next{
    left: min(calc(100% - 59px), calc(var(--gallery-media-right, calc(100% - 54px)) + 6px));
  }
  .chapter:is(.center-layout-columns,.center-layout-rows) > [data-center-region-type="gallery"] .gallery-browse-previous svg{
    transform: translateX(-21px);
  }
  .chapter:is(.center-layout-columns,.center-layout-rows) > [data-center-region-type="gallery"] .gallery-browse-next svg{
    transform: translateX(21px);
  }
  .chapter:is(.center-layout-columns,.center-layout-rows) > [data-center-region-type="gallery"] .gallery-browse-previous:hover:not(:disabled) svg{
    transform: translateX(-21px) scale(1.14);
  }
  .chapter:is(.center-layout-columns,.center-layout-rows) > [data-center-region-type="gallery"] .gallery-browse-next:hover:not(:disabled) svg{
    transform: translateX(21px) scale(1.14);
  }
}
@media (min-width: 901px) {
  .chapter:is(.center-layout-columns,.center-layout-rows) > [data-center-region-type="gallery"] .gallery-browse-previous svg{
    transform: translateX(-25px);
  }
  .chapter:is(.center-layout-columns,.center-layout-rows) > [data-center-region-type="gallery"] .gallery-browse-next svg{
    transform: translateX(25px);
  }
  .chapter:is(.center-layout-columns,.center-layout-rows) > [data-center-region-type="gallery"] .gallery-browse-previous:hover:not(:disabled) svg{
    transform: translateX(-25px) scale(1.14);
  }
  .chapter:is(.center-layout-columns,.center-layout-rows) > [data-center-region-type="gallery"] .gallery-browse-next:hover:not(:disabled) svg{
    transform: translateX(25px) scale(1.14);
  }
}
.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: 34px !important;
  }
  .gallery-grid > img,
.gallery-grid > video,
.gallery-grid > iframe,
.gallery-grid > a{
    inset-inline: 34px;
    width: calc(100% - 68px) !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 Style 1 Basic 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: calc(100% - 16px) !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; }

/* Published Page Templates: inspect first,
commit only from an explicit Add action. */
.module-picker-template-card{ min-height:108px; padding:12px; border-bottom:1px solid rgba(7,22,40,.08); color:#172536; display:grid; grid-template-columns:28px minmax(0,1fr) auto; align-items:start; gap:8px; background:#fbfcfd; }
.module-picker-template-card:hover{ background:#f3f9fd; }
.module-picker-template-card .module-picker-status{ border-color:rgba(36,152,237,.52); background:#eaf6fe; color:#0874c4; }
.page-template-card-actions{ grid-column:2/-1; display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1fr); gap:6px; }
.page-template-card-actions button{ min-height:36px; margin:0; border:1px solid #168fe3; border-radius:0; padding:0 10px; font:800 9px/1 Arial,sans-serif; letter-spacing:.025em; cursor:pointer; transition:background .18s,border-color .18s,color .18s,transform .18s; }
.page-template-card-actions button:hover,
.page-template-card-actions button:focus-visible{ outline:2px solid rgba(36,152,237,.2); outline-offset:1px; transform:translateY(-1px); }
.page-template-preview-action{ color:#0874c4; background:#fff; }
.page-template-use-action{ color:#fff; background:#168fe3; }
.page-template-use-action:hover,
.page-template-use-action:focus-visible{ border-color:#0874c4; background:#0874c4; }
.page-template-name-list .page-template-card{ padding:9px; border:1px solid rgba(7,22,40,.1); display:grid; gap:8px; background:#fff; }
.page-template-name-list .page-template-card-copy{ min-width:0; display:grid; gap:3px; }
.page-template-name-list .page-template-card-copy strong{ color:#11243a; font:800 10px/1.15 var(--font-sans); }
.page-template-name-list .page-template-card-copy small{ color:#718194; font:9px/1.25 Georgia,serif; }
.page-template-name-list .page-template-card-actions{ grid-column:auto; }

.page-template-preview-modal{ z-index:1060; }
body.is-page-template-preview-open{ overflow:hidden; }
.page-template-preview-sheet{ position:absolute; top:50%; left:50%; width:min(1180px,calc(100% - 32px)); height:min(820px,calc(100svh - 32px)); padding:0; display:grid; grid-template-rows:auto minmax(0,1fr) auto; background:#f4f7fa; color:#071628; box-shadow:0 36px 130px rgba(0,0,0,.46); opacity:0; overflow:hidden; transform:translate(-50%,calc(-50% + 18px)); transition:opacity .25s,transform .38s var(--ease); }
.page-template-preview-modal.is-open .page-template-preview-sheet{ opacity:1; transform:translate(-50%,-50%); }
.page-template-preview-header{ min-height:92px; padding:20px 76px 18px 24px; border-bottom:1px solid rgba(7,22,40,.12); display:flex; align-items:center; background:#fff; }
.page-template-preview-header > div{ min-width:0; display:grid; gap:5px; }
.page-template-preview-header p{ margin:0; color:#168fe3; font:800 9px/1 Arial,sans-serif; letter-spacing:.16em; }
.page-template-preview-header h2{ margin:0; font:750 clamp(27px,3.2vw,43px)/.96 'EventSans',Arial,sans-serif; letter-spacing:-.045em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.page-template-preview-header small{ color:#667486; font:12px/1.35 Georgia,serif; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.page-template-preview-header .sheet-close{ top:24px; right:24px; border-color:#168fe3; background:#168fe3; color:#fff; }
.page-template-preview-frame{ min-height:0; margin:20px 24px; border:1px solid rgba(7,22,40,.22); position:relative; overflow:hidden; background:#06111f; box-shadow:0 18px 55px rgba(3,13,24,.18); }
.page-template-preview-frame::before{ content:'LIVE PAGE PREVIEW'; position:absolute; z-index:3; top:10px; left:10px; padding:6px 8px; color:#fff; background:rgba(3,13,24,.7); font:800 8px/1 Arial,sans-serif; letter-spacing:.13em; backdrop-filter:blur(10px); pointer-events:none; }
.page-template-preview-stage{ position:absolute; inset:0; overflow:hidden; }
.page-template-preview-viewport{ position:absolute; top:50%; left:50%; overflow:hidden; transform-origin:center; background:#06111f; box-shadow:0 0 0 1px rgba(255,255,255,.12); }
.page-template-preview-viewport > .site-header{ position:absolute; inset:0 0 auto; z-index:20; }
.page-template-preview-viewport > .site-header .header-actions{ visibility:hidden; }
.page-template-preview-viewport > .chapter{ width:100% !important; height:100% !important; min-height:100% !important; max-height:100% !important; opacity:1 !important; transform:none !important; scroll-snap-align:none !important; }
.page-template-preview-viewport > .chapter .chapter-inner{ height:100% !important; }
.page-template-preview-viewport > .chapter .reveal{ opacity:1 !important; transform:none !important; }
.page-template-preview-loading{ position:absolute; inset:0; display:grid; place-content:center; justify-items:center; gap:12px; color:#dcecff; text-align:center; background:radial-gradient(circle at 50% 38%,#14385d,#06111f 65%); }
.page-template-preview-loading::before{ content:''; width:30px; height:30px; border:2px solid rgba(255,255,255,.2); border-top-color:#58b9f7; border-radius:50%; animation:page-template-preview-spin .75s linear infinite; }
.page-template-preview-loading strong{ font:750 15px/1 'EventSans',Arial,sans-serif; }
.page-template-preview-loading small{ color:rgba(255,255,255,.62); font:12px/1.4 Georgia,serif; }
.page-template-preview-loading.is-error::before{ content:'!'; border:0; display:grid; place-items:center; color:#06111f; background:#fff; animation:none; font:800 16px/1 Arial,sans-serif; }
@keyframes page-template-preview-spin { to { transform:rotate(360deg); } }
.page-template-preview-footer{ min-height:76px; padding:14px 24px; border-top:1px solid rgba(7,22,40,.12); display:flex; align-items:center; justify-content:space-between; gap:24px; background:#fff; }
.page-template-preview-footer > p{ max-width:560px; margin:0; color:#667486; font:12px/1.45 Georgia,serif; }
.page-template-preview-footer > div{ display:flex; align-items:center; gap:8px; }
.page-template-preview-footer button{ min-height:44px; margin:0; border:1px solid #168fe3; padding:0 18px; font:800 10px/1 Arial,sans-serif; cursor:pointer; }
.page-template-preview-secondary{ color:#0874c4; background:#fff; }
.page-template-preview-primary{ min-width:154px; color:#fff; background:#168fe3; }
.page-template-preview-primary:disabled{ border-color:#aab4bf; color:#6f7b88; background:#e4e9ee; cursor:wait; }
.page-template-preview-footer button:not(:disabled):hover,
.page-template-preview-footer button:not(:disabled):focus-visible{ border-color:#0874c4; outline:3px solid rgba(36,152,237,.16); outline-offset:2px; }
.page-template-preview-primary:not(:disabled):hover,
.page-template-preview-primary:not(:disabled):focus-visible{ background:#0874c4; }

@media (max-width:640px) {
  .module-picker-template-card{ grid-template-columns:24px minmax(0,1fr); }
  .module-picker-template-card .module-picker-status{ display:none; }
  .module-picker-template-card .page-template-card-actions{ grid-column:1/-1; }
  .page-template-preview-sheet{ width:100%; height:100svh; }
  .page-template-preview-header{ min-height:82px; padding:16px 62px 14px 16px; }
  .page-template-preview-header h2{ font-size:26px; }
  .page-template-preview-header small{ font-size:11px; white-space:normal; }
  .page-template-preview-header .sheet-close{ top:18px; right:16px; width:38px; height:38px; }
  .page-template-preview-frame{ margin:12px; }
  .page-template-preview-footer{ min-height:116px; padding:12px; display:grid; gap:10px; }
  .page-template-preview-footer > p{ font-size:11px; }
  .page-template-preview-footer > div{ display:grid; grid-template-columns:1fr 1fr; }
  .page-template-preview-footer button{ width:100%; padding:0 10px; }
  .page-template-preview-primary{ min-width:0; }
}
@media (max-height:520px) and (orientation:landscape) {
  .page-template-preview-header{ min-height:58px; padding:9px 60px 8px 14px; }
  .page-template-preview-header p{ font-size:7px; }
  .page-template-preview-header h2{ font-size:21px; }
  .page-template-preview-header small{ display:none; }
  .page-template-preview-header .sheet-close{ top:10px; right:12px; width:36px; height:36px; }
  .page-template-preview-frame{ margin:8px 12px; }
  .page-template-preview-footer{ min-height:54px; padding:7px 12px; display:flex; gap:12px; }
  .page-template-preview-footer > p{ font-size:10px; }
  .page-template-preview-footer > div{ display:flex; }
  .page-template-preview-footer button{ width:auto; min-height:38px; }
}
@media (prefers-reduced-motion: reduce) {
  .page-template-preview-sheet,
.page-template-card-actions button{ transition:none; }
  .page-template-preview-loading::before{ animation-duration:1.5s; }
  .gallery-grid[data-gallery-style="material"] > :is(img,video,iframe,a){
    transform: translate3d(var(--material-x),-50%,0) !important;
  }
}

/* RSVP and Bring: guest actions remain readable in the authored region. */
.rsvp-response-shell .rsvp-details-heading{grid-column:1/-1;margin:0;color:inherit;font:700 22px/1.2 Arial,sans-serif;letter-spacing:-.03em}
.rsvp-response-shell .rsvp-details-panel{color:#fff;box-sizing:border-box}
.rsvp-response-shell .rsvp-details-panel label{min-width:0;color:#e5edf4;font:600 12px/1.35 Arial,sans-serif;letter-spacing:0;text-transform:none}
.rsvp-response-shell .rsvp-details-panel input,.rsvp-response-shell .rsvp-details-panel select{min-height:44px;font-size:16px}
.rsvp-response-shell .rsvp-event-snapshot,.rsvp-response-shell .rsvp-capacity-note,.rsvp-response-shell .structured-rsvp>output{color:var(--structured-ink,#fff)}
.rsvp-response-shell .rsvp-success{width:100%;box-sizing:border-box;background:#102335;backdrop-filter:none}
.rsvp-response-shell .rsvp-success p{color:#e5edf4;font-family:Arial,sans-serif}
.has-light-background .rsvp-response-shell .rsvp-details-panel,.has-light-background .rsvp-response-shell .rsvp-success{background:#fff;color-scheme:light;color:#071628;border-color:#c5ced6;box-shadow:none}
.has-light-background .rsvp-response-shell .rsvp-details-panel label,.has-light-background .rsvp-response-shell .rsvp-details-panel input,.has-light-background .rsvp-response-shell .rsvp-details-panel select,.has-light-background .rsvp-response-shell .rsvp-success p{color:#263b4b}
.has-light-background .rsvp-response-shell .rsvp-details-panel input,.has-light-background .rsvp-response-shell .rsvp-details-panel select{border-color:#83939e}
.has-light-background .rsvp-response-shell .rsvp-choice-row button,.has-light-background .rsvp-response-shell .rsvp-detail-actions button,.has-light-background .rsvp-response-shell .rsvp-success button{color:#fff;background:#071628;border-color:#071628}
.rsvp-response-shell .rsvp-detail-actions button,.rsvp-response-shell .rsvp-success button{min-height:44px}
.bring-claim-form[hidden],.bring-add-disclosure[hidden]{display:none!important}
.bring-mine{margin:8px 0 0;font:700 14px/1.4 Arial,sans-serif;color:var(--structured-ink)}
.bring-my-actions{display:flex;flex-wrap:wrap;gap:8px}
.bring-my-actions button,.bring-add-disclosure>summary{min-height:44px;padding:10px 12px;border:1px solid var(--structured-line);background:transparent;color:var(--structured-ink);font:600 13px/1.3 Arial,sans-serif;cursor:pointer}
.bring-list li:has(.bring-mine){opacity:1}
.bring-add-disclosure{flex:none;margin-top:12px}
.bring-add-disclosure>summary{list-style:none;display:flex;align-items:center;justify-content:space-between}
.bring-add-disclosure>summary::after{content:'+';font-size:20px}
.bring-add-disclosure[open]>summary::after{content:'−'}
.bring-add-disclosure .bring-add-item-form{margin-top:8px;padding:12px;grid-template-columns:minmax(0,1fr) 80px auto}
.bring-auth-card button[data-bring-account]{min-height:44px;border:0;background:transparent;color:#16466a;font:600 13px/1.4 Arial,sans-serif}
@media(max-width:700px){
 .rsvp-response-shell{width:100%}
 .rsvp-response-shell .rsvp-details-panel{padding:18px;max-height:none;grid-template-columns:minmax(0,1fr);overflow:visible}
 .rsvp-response-shell .rsvp-detail-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}
 .bring-add-disclosure .bring-add-item-form{grid-template-columns:minmax(0,1fr) 76px}
 .bring-add-disclosure .bring-add-item-form>button{grid-column:1/-1}
}
@media(max-height:500px) and (min-width:701px){
 .rsvp-response-shell .rsvp-details-panel{padding:12px;max-height:none;overflow:visible;gap:8px 14px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .rsvp-response-shell .rsvp-details-heading{font-size:18px}
 .rsvp-response-shell .rsvp-detail-actions{grid-column:1/-1;grid-template-columns:1fr 1fr;margin-top:0}
}

.rsvp-response-shell .structured-rsvp[data-rsvp-step="details"]>output:not(:empty){display:block;grid-row:2;margin:10px 0 0;min-height:20px;font:14px/1.4 Arial,sans-serif}
