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

.site-header { position: fixed; inset: 0 0 auto 0; height: var(--header-h); z-index: 60; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 34px; border-bottom: 1px solid rgba(255,255,255,.16); background: linear-gradient(180deg, rgba(4,14,27,.88), rgba(4,14,27,.68)); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); transition: background .4s, backdrop-filter .4s; }
.site-header.is-solid { background: rgba(5,16,31,.82); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); }
.pages-header-control { min-width: 0; justify-self: start; display: flex; align-items: center; gap: 13px; }
.pages-header-heading { display: none; min-width: 0; gap: 3px; color: white; }
.pages-header-heading span { color: #67c5ff; font: 800 8px/1 Arial,sans-serif; letter-spacing: .18em; }
.pages-header-heading strong { overflow: hidden; color: white; font: 800 14px/1.05 Arial,sans-serif; letter-spacing: -.015em; text-overflow: ellipsis; white-space: nowrap; }
body.has-open-organizer .pages-header-heading,
body.is-organizer-open .pages-header-heading { display: grid; }
.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: transform .25s var(--ease), background .25s, box-shadow .25s; }
.menu-button:hover, .menu-button:focus-visible { transform: translateY(-2px); background: var(--blue-bright); outline: 2px solid rgba(115,204,255,.26); outline-offset: 2px; }
.menu-button.is-open { background: #0874c4; box-shadow: 0 7px 20px rgba(8,116,196,.28); }
.menu-button.is-open { min-width: 46px; width: 46px; padding: 0; }
.menu-button.is-open svg, .menu-button.is-open strong { display: none; }
.menu-button.is-open::before { content: '×'; font: 300 27px/1 Arial,sans-serif; transform: translateY(-1px); }
.menu-button svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.menu-button strong { font: 800 10px/1 Arial,sans-serif; letter-spacing: .03em; }
.brand { display: flex; align-items: center; gap: 12px; color: white; text-decoration: none; }
.brand img { width: 178px; height: auto; display: block; }
.brand img.is-custom { width: auto; max-width: 220px; max-height: 38px; object-fit: contain; }
.brand span { font-size: 9px; letter-spacing: .26em; border-left: 1px solid rgba(255,255,255,.35); padding-left: 12px; }
.header-actions { justify-self: end; display: flex; align-items: center; gap: 18px; }
.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; }
.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); }

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

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

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

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

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

.chapter-rsvp { background: var(--midnight); text-align: center; }
.soft-media { opacity: .55; }
.rsvp-wash { position: absolute; inset: 0; z-index: -2; background: radial-gradient(circle at center, rgba(20,84,145,.35), rgba(3,10,19,.92) 72%); }
.finale-layout { display: flex; flex-direction: column; align-items: center; justify-content: center; }
.finale-layout h2 em { color: var(--blue-bright); }
.finale-date { margin: 34px 0; font-size: 10px; letter-spacing: .25em; text-transform: uppercase; }
.finale-button { min-width: 220px; height: 64px; padding: 0 25px; border: 1px solid rgba(255,255,255,.6); border-radius: 999px; background: rgba(255,255,255,.08); backdrop-filter: blur(12px); display: flex; align-items: center; justify-content: space-between; cursor: pointer; transition: background .3s, transform .3s var(--ease); }
.finale-button:hover { background: var(--blue); border-color: var(--blue); transform: scale(1.03); }
.finale-button svg { width: 22px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.demo-note { position: absolute; bottom: 26px; margin: 0; font-size: 9px; letter-spacing: .1em; color: rgba(255,255,255,.5); }
.story-progress { position: fixed; z-index: 45; left: 34px; top: 50%; transform: translateY(-50%); display: flex; gap: 12px; height: 220px; }
.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 30px 30px; background: rgba(244,246,249,.96); color: var(--ink); box-shadow: 28px 0 80px rgba(0,0,0,.26); backdrop-filter: blur(18px) saturate(.9); transform: translateX(-110%); transition: transform .55s var(--ease); overflow-y: auto; overscroll-behavior-y: contain; -webkit-overflow-scrolling: touch; touch-action: pan-y; scrollbar-gutter: stable; }
.organizer-panel.is-open { transform: none; }
.organizer-main { padding-top: 20px; }
.editor-pages-rail-header { position: sticky; z-index: 5; top: 0; min-height: 72px; margin: 0 -30px 22px; padding: 15px 30px 13px; border-bottom: 1px solid rgba(7,22,40,.12); display: flex; align-items: center; background: rgba(244,247,249,.96); backdrop-filter: blur(20px); }
@media (min-width: 901px) {
  body.has-open-organizer .story-shell { width: calc(100% - var(--organizer-rail-width, 360px)); margin-left: var(--organizer-rail-width, 360px); }
}

body.has-open-visual-editor .organizer-panel { z-index: 150; top: 78px; right: auto; left: 0; width: min(360px, 100%); padding: 20px 18px 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; }
.editor-pages-rail-header > div { display: grid; gap: 4px; }
.editor-pages-rail-header span { color: var(--blue); font: 800 8px/1 Arial,sans-serif; letter-spacing: .18em; }
.editor-pages-rail-header strong { color: var(--ink); font: 800 18px/1.05 Arial,sans-serif; letter-spacing: -.025em; }
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: 1fr 1fr; gap: 8px; margin-top: 10px; }
.brand-control-actions label, .brand-control-actions button { min-height: 38px; display: grid; place-items: center; padding: 8px 10px; border: 1px solid rgba(7,16,29,.14); background: transparent; color: var(--ink); font: 700 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; }
.module-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.module-item { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 14px; background: white; border: 1px solid rgba(7,16,29,.08); cursor: grab; touch-action: none; transition: transform .25s var(--ease), box-shadow .25s, background .25s, border-color .25s; }
.module-item:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.module-item:hover { transform: translateX(-3px); box-shadow: 0 12px 35px rgba(7,16,29,.08); }
.module-item.is-current { background: #f2f9fe; border-color: rgba(36,152,237,.38); box-shadow: inset 3px 0 0 var(--blue); }
.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 { 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; }
}
.add-module { margin-top: 12px; width: 100%; padding: 15px; border: 1px dashed rgba(7,16,29,.25); background: transparent; color: var(--ink); cursor: pointer; text-align: left; display: grid; grid-template-columns: 34px 1fr; align-items: center; transition: border-color .2s, background .2s; }
.add-module:hover, .add-module[aria-expanded="true"] { border-color: var(--blue); background: rgba(36,152,237,.06); }
.add-module > span { grid-row: 1 / 3; color: var(--blue); font: 28px/1 Georgia, serif; }
.add-module strong { font-size: 13px; }
.add-module small { margin-top: 3px; color: rgba(7,16,29,.48); }
.module-picker { max-height: none; margin-top: 8px; background: var(--ink); color: white; box-shadow: 0 18px 48px rgba(7,16,29,.18); 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: var(--blue-bright); font-size: 8px; font-weight: 800; letter-spacing: .17em; }
.module-picker-heading strong { font-size: 15px; }
.module-picker-heading > small { max-width: 145px; color: rgba(255,255,255,.48); 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(255,255,255,.15); background: rgba(255,255,255,.08); display: grid; grid-template-columns: 18px minmax(0,1fr) auto; align-items: center; gap: 8px; }
.module-picker-search:focus-within { border-color: var(--blue-bright); background: rgba(255,255,255,.11); box-shadow: 0 0 0 2px rgba(36,152,237,.14); }
.module-picker-search svg { width: 16px; fill: none; stroke: rgba(255,255,255,.55); stroke-width: 1.7; }
.module-picker-search input { width: 100%; padding: 0; border: 0; outline: 0; background: transparent; color: white; font: 12px/1 Arial, sans-serif; }
.module-picker-search input::placeholder { color: rgba(255,255,255,.44); }
.module-picker-search input::-webkit-search-cancel-button { filter: invert(1); opacity: .55; }
.module-picker-search kbd { padding: 3px 6px; border: 1px solid rgba(255,255,255,.16); color: rgba(255,255,255,.45); font: 9px/1 Arial, sans-serif; }
.module-picker-category { border-top: 1px solid rgba(255,255,255,.12); }
.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: rgba(36,152,237,.12); 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: rgba(255,255,255,.45); font-size: 9px; font-weight: 400; }
.module-picker-category-count { min-width: 24px; padding: 4px 6px; background: rgba(255,255,255,.08); color: rgba(255,255,255,.64); font: 700 9px/1 Arial, sans-serif; text-align: center; }
.module-picker-chevron { width: 7px; height: 7px; border-right: 1px solid rgba(255,255,255,.7); border-bottom: 1px solid rgba(255,255,255,.7); 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(255,255,255,.08); background: rgba(0,0,0,.13); }
.module-picker-option { width: 100%; min-height: 70px; padding: 11px 12px; border: 0; border-bottom: 1px solid rgba(255,255,255,.08); background: transparent; color: white; 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: rgba(36,152,237,.18); outline: none; }
.module-picker-number { padding-top: 2px; color: rgba(255,255,255,.35); 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: rgba(255,255,255,.5); font: 9px/1.35 Arial, sans-serif; }
.module-picker-option-copy em { width: max-content; max-width: 100%; margin-top: 2px; color: #9ed8ff; 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(255,255,255,.14); color: rgba(255,255,255,.5); 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,.6); background: rgba(36,152,237,.18); color: #9ed8ff; }
.module-picker-option.is-locked { opacity: .45; cursor: not-allowed; }
.module-picker-empty { margin: 0; padding: 24px 14px; border-top: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.55); font: 11px/1.45 Arial, sans-serif; text-align: center; }
.module-picker-dependencies { padding: 13px 14px 15px; border-top: 1px solid rgba(255,255,255,.12); display: grid; gap: 4px; }
.module-picker-dependencies strong { color: var(--blue-bright); font-size: 8px; letter-spacing: .14em; text-transform: uppercase; }
.module-picker-dependencies span { color: rgba(255,255,255,.46); font: 9px/1.45 Arial, sans-serif; }
.organizer-footnote { margin-top: 20px; font-size: 10px; line-height: 1.5; color: rgba(7,16,29,.45); }

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

.announcement-editor-page { position: fixed; inset: 0; z-index: 120; overflow: hidden; background: var(--blue); color: white; opacity: 0; transition: opacity .35s var(--ease); }
.announcement-editor-page.is-open { opacity: 1; }
.announcement-editor-page.is-closing { opacity: 1; pointer-events: none; }
.announcement-editor-bar { position: absolute; z-index: 4; inset: 0 0 auto; height: 78px; padding: 0 26px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; border-bottom: 1px solid rgba(255,255,255,.24); background: rgba(5,34,64,.12); backdrop-filter: blur(20px); }
.announcement-editor-back, .announcement-editor-save { border: 0; color: white; cursor: pointer; font-size: 11px; font-weight: 700; transition: background .2s, color .2s, transform .2s; }
.announcement-editor-back { justify-self: start; min-width: 88px; min-height: 42px; padding: 0 15px; border-radius: 999px; background: var(--blue); display: flex; justify-content: center; gap: 8px; align-items: center; box-shadow: 0 9px 24px rgba(36,152,237,.24); }
.announcement-editor-back:hover, .announcement-editor-back:focus-visible { color: white; background: var(--blue-bright); transform: translateY(-2px); outline: 2px solid rgba(115,204,255,.24); outline-offset: 2px; }
.announcement-editor-identity { display: flex; align-items: center; gap: 14px; }
.announcement-editor-identity img { width: 154px; display: block; }
.announcement-editor-identity span { padding-left: 14px; border-left: 1px solid rgba(255,255,255,.35); font-size: 8px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.announcement-editor-save { justify-self: end; min-width: 154px; padding: 13px 16px; border-radius: 999px; background: white; color: #0874c4; display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.announcement-editor-save:hover { background: var(--ink); color: white; transform: translateY(-1px); }
.announcement-editor-canvas { position: relative; min-height: 100svh; display: grid; place-items: center; padding: 120px clamp(24px, 7vw, 110px) 92px; text-align: center; isolation: isolate; transition: padding-right .52s var(--ease); }
.announcement-editor-page.is-open .announcement-editor-canvas { padding-right: max(400px, clamp(24px, 7vw, 110px)); }
.announcement-editor-canvas::before, .announcement-editor-canvas::after { content: ''; position: absolute; z-index: -1; border-radius: 50%; filter: blur(2px); border: 1px solid rgba(255,255,255,.12); }
.announcement-editor-canvas::before { width: min(76vw, 900px); aspect-ratio: 1; left: -28vw; top: 18%; }
.announcement-editor-canvas::after { width: min(58vw, 680px); aspect-ratio: 1; right: -20vw; bottom: -42%; }
.announcement-editor-content { width: min(100%, 1160px); transform: translateY(24px) scale(.985); opacity: 0; transition: opacity .55s .08s var(--ease), transform .65s .08s var(--ease); }
.announcement-editor-page.is-open .announcement-editor-content { transform: none; opacity: 1; }
.announcement-editor-kicker { margin: 0 0 28px; display: flex; justify-content: center; align-items: center; gap: 16px; font-size: 10px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.announcement-editor-kicker > span:not(.guest-editable) { width: 38px; height: 1px; background: currentColor; opacity: .7; }
.announcement-editor-content h2 { margin: 0; font-size: clamp(76px, 11.7vw, 186px); }
.announcement-editor-body { max-width: 680px; margin: 32px auto 0; font: 21px/1.5 Georgia, serif; }
.guest-editable { position: relative; display: inline-block; min-width: .55em; border-radius: 4px; outline: 1px dashed transparent; outline-offset: 9px; cursor: text; transition: outline-color .2s, background .2s, box-shadow .2s; }
.guest-editable:hover { outline-color: rgba(255,255,255,.55); }
.guest-editable:focus { outline: 1px solid rgba(255,255,255,.95); background: rgba(5,34,64,.12); box-shadow: 0 0 0 8px rgba(255,255,255,.06); }
.guest-editable:empty::before { content: 'Type here'; color: rgba(255,255,255,.45); }
.announcement-editor-hint, .announcement-editor-demo { position: absolute; bottom: 26px; margin: 0; font-size: 9px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.announcement-editor-hint { left: 30px; display: flex; gap: 9px; align-items: center; }
.announcement-editor-hint span { font-size: 15px; }
.announcement-editor-demo { right: 30px; opacity: .56; }

.modal-shell { position: fixed; inset: 0; z-index: 100; visibility: hidden; pointer-events: none; }
.modal-shell.is-open { visibility: visible; pointer-events: auto; }
.modal-backdrop { position: absolute; inset: 0; width: 100%; border: 0; background: rgba(1,7,14,.72); opacity: 0; backdrop-filter: blur(13px); transition: opacity .4s; }
.modal-shell.is-open .modal-backdrop { opacity: 1; }
.rsvp-sheet { position: absolute; right: 0; top: 0; height: 100%; width: min(560px, 100%); padding: clamp(36px, 6vw, 80px); background: var(--paper); color: var(--ink); transform: translateX(105%); transition: transform .55s var(--ease); overflow-y: auto; }
.modal-shell.is-open .rsvp-sheet { transform: none; }
.sheet-close { position: absolute; top: 24px; right: 24px; }
.rsvp-sheet h2 { margin: 0; font: clamp(48px, 6vw, 78px)/.9 Georgia, serif; letter-spacing: -.05em; }
.sheet-intro { max-width: 430px; font-family: Georgia, serif; color: rgba(7,16,29,.62); line-height: 1.5; }
.rsvp-sheet form { margin-top: 38px; }
.rsvp-sheet form > label { display: grid; gap: 9px; font-size: 10px; text-transform: uppercase; letter-spacing: .12em; font-weight: 700; }
.rsvp-sheet input[type="text"] { width: 100%; padding: 15px 0; border: 0; border-bottom: 1px solid rgba(7,16,29,.3); background: transparent; color: var(--ink); outline: none; font: 20px Georgia, serif; }
.rsvp-sheet input[type="text"]:focus { border-color: var(--blue); }
.rsvp-sheet fieldset { margin: 28px 0; padding: 0; border: 0; display: grid; gap: 10px; }
.rsvp-sheet legend { margin-bottom: 12px; text-transform: uppercase; font-size: 10px; letter-spacing: .12em; font-weight: 700; }
.choice { position: relative; }
.choice input { position: absolute; opacity: 0; }
.choice span { display: block; padding: 15px; border: 1px solid rgba(7,16,29,.18); cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.choice input:checked + span { background: var(--ink); border-color: var(--ink); color: white; }
.submit-rsvp { width: 100%; padding: 17px 20px; border: 0; background: var(--blue); color: white; display: flex; justify-content: space-between; font-weight: 700; cursor: pointer; }
.success-state { display: none; padding-top: 45px; }
.success-state.is-visible { display: block; }
.success-state > span { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--blue); color: white; font-size: 25px; }
.success-state h3 { font: 36px/1.05 Georgia, serif; margin-bottom: 12px; }
.success-state p { color: rgba(7,16,29,.6); }
.toast { position: fixed; z-index: 110; left: 50%; bottom: 25px; transform: translate(-50%, 25px); background: #fff; color: var(--ink); padding: 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); }

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

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

.announcement-editor-page { background: var(--announcement-editor-color, var(--blue)); }
.announcement-editor-background, .announcement-editor-wash { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; }
.announcement-editor-background { object-fit: cover; filter: saturate(.86); }
.announcement-editor-wash { z-index: -2; background: linear-gradient(0deg, rgba(2,9,18,.58), rgba(2,9,18,.18)), radial-gradient(circle at center, transparent 0, rgba(2,9,18,.22) 78%); opacity: 0; }
.announcement-editor-page.has-image .announcement-editor-wash { opacity: 1; }
.announcement-editor-content h2 { max-width: 1160px; margin: 0 auto; font-size: clamp(76px, 10.8vw, 172px); line-height: .86; }
.announcement-design-dock { position: absolute; z-index: 6; left: 50%; bottom: 18px; transform: translateX(-50%); min-height: 58px; padding: 8px 10px 8px 16px; border: 1px solid rgba(255,255,255,.42); border-radius: 999px; background: rgba(248,249,251,.94); color: var(--ink); box-shadow: 0 18px 50px rgba(2,9,18,.2); backdrop-filter: blur(20px); display: flex; align-items: center; gap: 12px; }
.announcement-design-dock > p { margin: 0; color: rgba(7,16,29,.52); font-size: 8px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.announcement-color-options, .announcement-image-options { display: flex; align-items: center; gap: 6px; }
.announcement-image-options { padding-left: 10px; border-left: 1px solid rgba(7,16,29,.13); }
.color-swatch { width: 27px; height: 27px; padding: 0; border: 2px solid white; border-radius: 50%; box-shadow: 0 0 0 1px rgba(7,16,29,.15); cursor: pointer; }
.color-explorer { display: grid; gap: 0; margin: 3px 0 14px; }
.color-explorer-help { margin: 0 0 10px; color: rgba(7,16,29,.56); font: 12px/1.35 Georgia,serif; }
.color-explorer-row { display: grid; grid-template-columns: 64px minmax(0,1fr); align-items: center; gap: 9px; transform-origin: 50% 0; }
.color-explorer-row-label { display: grid; grid-template-columns: 18px 1fr; align-items: baseline; gap: 2px; color: rgba(7,16,29,.5); text-transform: uppercase; }
.color-explorer-row-label strong { color: #0874c4; font: 800 8px/1 Arial,sans-serif; letter-spacing: .04em; }
.color-explorer-row-label span { font: 800 6.2px/1.2 Arial,sans-serif; letter-spacing: .045em; }
.color-explorer-swatches { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); align-items: center; gap: 7px; }
.color-explorer-swatches.has-seven-options { grid-template-columns: repeat(7,minmax(0,1fr)); gap: 4px; }
.color-explorer-swatch { position: relative; z-index: 2; width: 100%; aspect-ratio: 1; max-width: 34px; min-width: 0; padding: 0; border: 2px solid rgba(255,255,255,.92); border-radius: 50%; background: var(--swatch); box-shadow: 0 0 0 1px rgba(7,16,29,.14),0 4px 10px rgba(7,16,29,.08); cursor: pointer; transition: transform .18s ease,box-shadow .18s ease; }
.color-explorer-swatches.has-seven-options .color-explorer-swatch { max-width: 31px; }
.color-explorer-swatch > span { position: absolute; inset: 2px; border-radius: inherit; background: var(--swatch); }
.color-explorer-swatch.is-neutral-family, .color-explorer-swatch.is-neutral-family > span { background-image: linear-gradient(135deg,#f7f7f7 0 32%,#969da4 32% 65%,#171b20 65%); }
.color-explorer-swatch:hover { transform: translateY(-1px) scale(1.045); box-shadow: 0 0 0 1px rgba(7,116,196,.55),0 7px 14px rgba(7,16,29,.13); }
.color-explorer-swatch:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
.color-explorer-swatch.is-selected { box-shadow: 0 0 0 2px #0874c4,0 6px 15px rgba(7,116,196,.2); }
.color-explorer-swatch.is-selected::after { content: ''; position: absolute; z-index: 2; right: -2px; bottom: -2px; width: 8px; height: 8px; border: 2px solid white; border-radius: 50%; background: var(--blue); }
.color-tree-connector { position: relative; z-index: 0; height: 17px; display: grid; grid-template-columns: 64px minmax(0,1fr); gap: 9px; pointer-events: none; }
.color-tree-connector svg { width: 100%; height: 17px; overflow: visible; }
.color-tree-connector path { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.color-tree-parent { stroke: rgba(8,116,196,.72); stroke-width: 1.35; }
.color-tree-branches { stroke: rgba(7,16,29,.2); stroke-width: .85; }
.color-tree-active { stroke: #0874c4; stroke-width: 1.8; filter: drop-shadow(0 1px 2px rgba(8,116,196,.2)); }
.color-tree-connector.is-entering { animation: color-tree-connector-in .34s ease-out both; }
.color-explorer-row.is-entering { animation: color-explorer-row-in .46s cubic-bezier(.2,.82,.24,1.16) both; }
.color-explorer-row.is-entering .color-explorer-swatch { animation: color-explorer-swatch-in .44s cubic-bezier(.2,.82,.24,1.18) both; animation-delay: var(--swatch-delay); }
@keyframes color-explorer-row-in { 0% { opacity: 0; transform: translateY(-6px) scale(.965); } 72% { opacity: 1; transform: translateY(1px) scale(1.008); } 100% { opacity: 1; transform: none; } }
@keyframes color-explorer-swatch-in { 0% { opacity: 0; transform: translateY(-4px) scale(.9); } 70% { opacity: 1; transform: translateY(1px) scale(1.025); } 100% { opacity: 1; transform: none; } }
@keyframes color-tree-connector-in { from { opacity: 0; transform: scaleY(.4); transform-origin: 50% 0; } to { opacity: 1; transform: scaleY(1); } }
.swatch-blue { background: #2498ed; }
.swatch-midnight { background: #071628; }
.swatch-coral { background: #c94f3d; }
.swatch-olive { background: #59684b; }
.swatch-hot-pink { background: #e8328a; }
.swatch-yellow { background: #f2cc34; }
.swatch-violet { background: #7455c7; }
.swatch-teal { background: #087f82; }
.announcement-image-options > button { width: 38px; height: 31px; padding: 0; border: 1px solid rgba(7,16,29,.15); background: white; cursor: pointer; overflow: hidden; }
.announcement-image-options > button img { width: 100%; height: 100%; object-fit: cover; }
.visual-upload-button { min-height: 31px; padding: 0 12px; border-radius: 999px; background: var(--ink); color: white; display: grid; place-items: center; cursor: pointer; font-size: 9px; font-weight: 700; }
.visual-upload-button input, .tools-upload input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.announcement-editor-hint { bottom: 30px; }

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

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

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

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

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

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

.gallery-module { background: #06111f; color: white; }
.gallery-blur-background { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; object-fit: cover; opacity: .82; }
.gallery-wash { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(3,10,19,.88) 0%, rgba(3,10,19,.54) 38%, rgba(3,10,19,.14) 72%, rgba(3,10,19,.28) 100%), linear-gradient(0deg, rgba(3,10,19,.58), transparent 58%); }
.gallery-layout, .gallery-editor-layout { display: grid; grid-template-columns: minmax(250px, .55fr) minmax(0, 1.45fr); align-items: center; gap: clamp(32px, 5vw, 82px); }
.gallery-copy > p:first-child, .gallery-editor-copy > p:first-child { margin: 0 0 20px; color: var(--blue-bright); font-size: 9px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.gallery-copy h2, .gallery-editor-copy h2 { font-size: clamp(58px, 6vw, 102px); }
.gallery-copy > p:last-child, .gallery-editor-copy > p:last-child { max-width: 450px; margin-top: 28px; color: rgba(255,255,255,.72); font: 18px/1.55 Georgia, serif; }
.gallery-grid, .gallery-editor-grid { height: min(68vh, 690px); display: grid; grid-template-columns: 1.5fr repeat(2, 1fr); grid-template-rows: repeat(2, minmax(0, 1fr)); grid-auto-rows: minmax(0, 1fr); gap: 9px; overflow: hidden; }
.gallery-grid:has(img:nth-child(6)), .gallery-editor-grid:has(img:nth-child(6)) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.gallery-grid:has(img:nth-child(6)) img:first-child, .gallery-editor-grid:has(img:nth-child(6)) img:first-child { grid-row: auto; }
.gallery-grid.is-overflowing { grid-auto-flow: column; grid-auto-columns: minmax(42%, 1fr); grid-template-columns: none; grid-template-rows: repeat(2, minmax(0, 1fr)); overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; touch-action: pan-x; }
.gallery-grid.is-overflowing img { scroll-snap-align: start; }
.gallery-grid img, .gallery-editor-grid img { width: 100%; height: 100%; object-fit: cover; min-width: 0; min-height: 0; }
.gallery-grid img { cursor: zoom-in; }
.gallery-grid img:focus-visible { outline: 3px solid white; outline-offset: -5px; }
.gallery-grid img:first-child, .gallery-editor-grid img:first-child { grid-row: span 2; }

.gallery-editor-canvas { display: block; padding-top: 112px; }
.gallery-editor-background { inset: 0; width: 100%; height: 100%; opacity: .65; }
.gallery-editor-layout { min-height: calc(100svh - 172px); }
.gallery-editor-copy h2 { display: block; }
.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; }
.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)); 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%,-54%); font: 300 clamp(42px,5vw,76px)/1 Arial,sans-serif; animation: countdown-separator-pulse 1s ease-in-out infinite; }
.countdown-clock[data-countdown-style="orbit"] .countdown-unit strong { font-size: clamp(62px, 8vw, 126px); line-height: .82; }
.countdown-clock[data-countdown-style="editorial"] { width: min(960px, calc(100% - 52px)); align-items: center; gap: clamp(18px, 3vw, 52px); }
.countdown-clock[data-countdown-style="editorial"] .countdown-unit { padding: 0; gap: 10px; justify-items: center; text-align: center; }
.countdown-clock[data-countdown-style="editorial"] .countdown-unit:not([hidden]):not([data-countdown-last-visible="true"])::after { content: ':'; position: absolute; right: clamp(-36px, -2.4vw, -15px); top: 50%; transform: translateY(-62%); font: 200 clamp(74px, 9vw, 146px)/1 Arial,sans-serif; animation: countdown-separator-pulse 1s ease-in-out infinite; }
.countdown-clock[data-countdown-style="editorial"] .countdown-unit strong { font-size: clamp(82px, 10vw, 160px); line-height: .82; }
.countdown-clock[data-countdown-style="editorial"] .countdown-unit span { letter-spacing: .18em; }
@keyframes countdown-separator-pulse { 0%,100% { opacity: .22; } 50% { opacity: .82; } }
.countdown-live-dot { display: none !important; }
.countdown-clock.is-countdown-complete .countdown-unit::after { animation: none !important; opacity: .28; }
@media (prefers-reduced-motion: reduce) { .countdown-unit::after { animation: none !important; opacity: .55; } }
.countdown-target-fields { display: grid; gap: 10px; }
.countdown-date-control, .countdown-time-control, .countdown-meridiem-control { display: grid; gap: 7px; color: rgba(7,16,29,.58); font-size: 8px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.countdown-date-control { position: relative; }
.countdown-time-row { display: grid; grid-template-columns: minmax(0, 1fr) 92px; gap: 8px; align-items: end; }
.countdown-date-control button, .countdown-time-control input, .countdown-meridiem-control select { width: 100%; min-height: 40px; padding: 10px; border: 1px solid rgba(7,16,29,.16); border-radius: 0; background: white; color: var(--ink); font: 700 12px/1.2 Arial, sans-serif; letter-spacing: .02em; color-scheme: light; }
.countdown-date-control button { display: flex; align-items: center; justify-content: space-between; gap: 12px; text-align: left; cursor: pointer; }
.countdown-date-control button svg { width: 17px; height: 17px; flex: 0 0 17px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.countdown-date-native { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: 40px; padding: 0; border: 0; opacity: 0; pointer-events: none; }
.countdown-date-control button:focus-visible, .countdown-date-control button.is-picker-open, .countdown-time-control input:focus, .countdown-meridiem-control select:focus { outline: none; border-color: var(--blue); background: #f4faff; box-shadow: 0 0 0 3px rgba(36,152,237,.16); }
.countdown-time-control input.is-invalid { border-color: #b94242; box-shadow: 0 0 0 3px rgba(185,66,66,.12); }
.countdown-time-hint { margin: -2px 0 0; color: rgba(7,16,29,.48); font-size: 9px; line-height: 1.35; }
.countdown-blur-control { margin-top: 10px; display: flex; align-items: center; gap: 9px; color: rgba(7,16,29,.66); font-size: 10px; font-weight: 700; }
.countdown-blur-control input { accent-color: var(--blue); }
.countdown-blur-control:has(input:disabled) { opacity: .42; }
.countdown-appearance-tools { display: grid; gap: 10px; }
.countdown-style-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.countdown-style-options button { min-width: 0; min-height: 76px; padding: 10px 6px 8px; border: 1px solid rgba(7,16,29,.14); background: #fff; color: #536273; display: grid; place-items: center; align-content: center; gap: 8px; cursor: pointer; font: 800 8px/1 Arial,sans-serif; }
.countdown-style-options button[aria-pressed="true"] { border-color: var(--blue); background: #eef8ff; color: #0874c4; box-shadow: inset 0 0 0 1px var(--blue); }
.countdown-style-options i { width: 46px; height: 23px; display: flex; align-items: center; justify-content: center; gap: 4px; font-style: normal; }
.countdown-style-options i b { display: block; width: 11px; height: 16px; border: 1px solid currentColor; }
.countdown-style-options .countdown-style-classic b { border-width: 0 0 0 1px; }
.countdown-style-options .countdown-style-classic b:first-child { border-left: 0; }
.countdown-style-options .countdown-style-orbit b { width: 13px; height: 13px; border-radius: 50%; }
.countdown-style-options .countdown-style-editorial { gap: 6px; }
.countdown-style-options .countdown-style-editorial b { width: 9px; height: 18px; border: 0; border-bottom: 2px solid currentColor; }
.countdown-spin-control { min-height: 42px; padding: 10px 12px; border: 1px solid rgba(7,16,29,.13); background: rgba(255,255,255,.74); display: flex; align-items: center; gap: 9px; color: rgba(7,16,29,.7); font: 700 10px/1.3 Arial,sans-serif; }
.countdown-spin-control input { accent-color: var(--blue); }
.blur-strength-control { margin-top: 10px; padding: 11px 12px 10px; border: 1px solid rgba(7,16,29,.13); background: rgba(255,255,255,.72); display: grid; gap: 8px; transition: opacity .18s, border-color .18s; }
.blur-strength-control > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: rgba(7,16,29,.65); font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.blur-strength-control output { color: #0874c4; font-size: 10px; letter-spacing: .02em; }
.blur-strength-control input[type="range"] { width: 100%; margin: 0; accent-color: var(--blue); cursor: pointer; }
.blur-strength-labels { display: grid; grid-template-columns: repeat(4, 1fr); color: rgba(7,16,29,.43); font-size: 7px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.blur-strength-labels span:nth-child(2), .blur-strength-labels span:nth-child(3) { text-align: center; }
.blur-strength-labels span:last-child { text-align: right; }
.blur-strength-labels small { display: block; margin-top: 2px; font-size: 6px; font-weight: 700; letter-spacing: .02em; }
.blur-strength-control.is-disabled { opacity: .4; }
.blur-strength-control.is-disabled input { cursor: not-allowed; }
.exposure-control { padding: 11px 12px 10px; border: 1px solid rgba(7,16,29,.13); background: rgba(255,255,255,.72); display: grid; gap: 8px; }
.exposure-control > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: rgba(7,16,29,.65); font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.exposure-control output { color: #0874c4; font-size: 10px; letter-spacing: .02em; }
.exposure-control input[type="range"] { width: 100%; margin: 0; accent-color: var(--blue); cursor: pointer; }
.exposure-labels { display: flex; justify-content: space-between; color: rgba(7,16,29,.43); font-size: 7px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }

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

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

.gallery-lightbox { position: fixed; inset: 0; z-index: 240; display: grid; place-items: center; padding: clamp(24px, 5vw, 72px); }
.gallery-lightbox[hidden] { display: none; }
.gallery-lightbox-backdrop { position: absolute; inset: 0; border: 0; background: rgba(1,6,12,.91); backdrop-filter: blur(18px); cursor: zoom-out; }
.gallery-lightbox figure { position: relative; z-index: 1; max-width: min(1200px, 92vw); max-height: 88vh; margin: 0; display: grid; justify-items: center; gap: 14px; }
.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 figcaption { color: rgba(255,255,255,.7); font: 12px/1.4 Georgia, serif; }
.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: 52px; height: 52px; border: 1px solid rgba(255,255,255,.26); border-radius: 50%; background: rgba(4,18,32,.62); color: #fff; display: grid; place-items: center; transform: translateY(-50%); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: 0 14px 38px rgba(0,0,0,.25); cursor: pointer; font: 300 28px/1 Arial,sans-serif; transition: background .18s ease, border-color .18s ease, transform .18s ease; }
.gallery-lightbox-nav:hover, .gallery-lightbox-nav:focus-visible { border-color: rgba(255,255,255,.72); background: var(--blue); outline: none; transform: translateY(-50%) scale(1.06); }
.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) {
  :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: auto 1fr auto; gap: 12px; }
  .brand { justify-self: center; }
  .brand img { width: 142px; }
  .brand img.is-custom { width: auto; max-width: 150px; max-height: 30px; }
  .brand span, .concept-label { display: none; }
  .demo-note { bottom: 62px; }
  .text-button { font-size: 11px; }
  .rsvp-button { padding: 10px 15px; font-size: 12px; }
  .story-progress { display: none; }
  .chapter-controls { right: 16px; bottom: 17px; }
  .story-shell > .chapter > .chapter-inner { height: 100%; min-height: 0; padding: calc(var(--header-h) + 42px) 22px 78px; }
  .cover-layout, .schedule-layout, .live-layout { grid-template-columns: 1fr; }
  .cover-layout { align-items: end; }
  .cover-copy { align-self: end; margin: 0; }
  .cover-note { padding: 16px 0 0; border-left: 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: center; }
  .cover-note > p { font-size: 16px; margin: 0; }
  .circle-link { width: 78px; height: 78px; }
  .cover-meta { margin-top: 22px; gap: 8px 12px; }
  .cover-meta span { gap: 12px; }
  .scroll-cue { left: 22px; bottom: 24px; }
  .schedule-layout { align-content: center; gap: 36px; }
  .section-copy { font-size: 16px; margin-top: 20px; }
  .timeline { max-height: min(52vh, 440px); }
  .timeline-item { min-height: 82px; grid-template-columns: 55px 1fr; gap: 12px; }
  .timeline-status { display: none; }
  .timeline-item time { font-size: 19px; }
  .timeline-item strong { font-size: 14px; }
  .table-figure { top: -1px; width: 100%; height: calc(48% + 1px); }
  .table-figure img { display: block; }
  .table-figure::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, var(--paper), transparent 55%); }
  .story-shell > .chapter > .table-layout { grid-template-columns: 1fr; padding: calc(var(--header-h) + var(--story-page-height-30)) 22px 24px; }
  .table-copy { grid-column: 1; padding: 0; align-self: end; }
  .table-copy h2 { font-size: clamp(62px, 19vw, 92px); }
  .table-copy > p { font-size: 15px; }
  .event-facts { margin: 18px 0; }
  .event-facts div { padding: 10px 0; }
  .vertical-caption { display: none; }
  .live-layout { align-content: end; gap: 30px; }
  .live-copy h2 { font-size: clamp(86px, 28vw, 135px); }
  .artist-note { justify-self: start; }
  .sound-toggle { right: 18px; top: 100px; }
  .menu-content { padding: calc(var(--header-h) + 45px) 24px 32px; }
  .menu-content a { font-size: clamp(31px, 10vw, 48px); }
  .menu-footer { display: grid; }
  .chapter-cover .chapter-media { object-position: 66% center; }
  .announcement-editor-bar { height: 68px; padding: 0 16px; }
  .announcement-editor-identity span { display: none; }
  .announcement-editor-canvas { padding: 102px 22px 84px; }
  .announcement-editor-page.is-open .announcement-editor-canvas { padding-right: 22px; }
  .announcement-editor-content h2 { font-size: clamp(72px, 19vw, 118px); }
  .announcement-design-dock { width: calc(100% - 24px); min-height: 102px; bottom: 12px; padding: 10px 12px; border-radius: 18px; flex-wrap: wrap; justify-content: center; gap: 8px 11px; }
  .announcement-design-dock > p { width: 100%; text-align: center; }
  .announcement-editor-canvas { padding-bottom: 150px; }
  .announcement-editor-hint { bottom: 126px; }
  .announcement-editor-demo { display: none; }
  .cover-official-content h1 { font-size: clamp(64px, 17vw, 108px); }
  .cover-official-content .eyebrow { margin-bottom: 22px; }
  .cover-widget, .cover-editor-widget { min-width: 125px; padding: 10px 12px; }
  .cover-widget strong, .cover-editor-widget strong { font-size: 14px; }
  .cover-widget[data-cover-position="top-left"] { top: 76px; left: 16px; }
  .cover-widget[data-cover-position="top-right"] { top: 76px; right: 16px; }
  .cover-editor-widget[data-cover-position="top-left"] { top: 86px; left: 16px; }
  .cover-editor-widget[data-cover-position="top-right"] { top: 86px; right: 16px; }
  .cover-widget[data-cover-position="bottom-left"] { left: 16px; bottom: 16px; }
  .cover-widget[data-cover-position="bottom-right"] { right: 16px; bottom: 16px; }
  .cover-editor-widget[data-cover-position="bottom-left"] { left: 16px; bottom: 16px; }
  .cover-editor-widget[data-cover-position="bottom-right"] { right: 16px; bottom: 16px; }
  .cover-editor-page.is-open .cover-editor-widget[data-cover-position$="right"] { right: 16px; }
  .cover-editor-page.is-open .cover-editor-widget[data-cover-position^="bottom"] { bottom: 262px; }
  .cover-editor-canvas, .gallery-editor-canvas { min-height: 100svh; padding: 82px 18px 18px; transition: padding-bottom .52s var(--ease); }
  .cover-editor-page.is-open .cover-editor-canvas, .gallery-editor-page.is-open .gallery-editor-canvas { padding-right: 18px; padding-bottom: 262px; }
  .cover-editor-preview h1 { font-size: clamp(62px, 17vw, 104px); }
  .cover-editor-logo { max-height: 72px; margin-bottom: 18px; }
  .visual-editor-tools { top: auto; left: 0; right: 0; bottom: 0; width: 100%; height: 244px; padding: 17px 18px; box-shadow: 0 -18px 50px rgba(2,9,18,.22); transform: translateY(104%); }
  .announcement-editor-page.is-open .visual-editor-tools { transform: none; }
  .visual-editor-tools section + section { margin-top: 17px; padding-top: 15px; }
  .gallery-layout, .gallery-editor-layout { grid-template-columns: 1fr; gap: 24px; }
  .gallery-layout { align-content: center; }
  .gallery-copy h2, .gallery-editor-copy h2 { font-size: clamp(52px, 14vw, 78px); }
  .gallery-copy > p:last-child, .gallery-editor-copy > p:last-child { margin-top: 18px; font-size: 15px; }
  .gallery-grid, .gallery-editor-grid { height: 47vh; min-height: 320px; }
  .gallery-editor-canvas { padding-top: 84px; }
  .gallery-editor-layout { min-height: calc(100svh - 346px); align-content: center; }
  .gallery-editor-grid { height: 32vh; min-height: 210px; }
  .countdown-layout { gap: clamp(34px, 6vh, 58px); padding-left: 14px; padding-right: 14px; }
  .countdown-copy { width: min(100%, 660px); }
  .countdown-copy h2 { font-size: clamp(48px, 13vw, 76px); }
  .countdown-copy > p:last-child { margin-top: 18px; font-size: 14px; line-height: 1.4; }
  .countdown-clock { width: calc(100% - 14px); }
  .countdown-unit { padding: 0 7px; gap: 12px; }
  .countdown-unit strong { font-size: clamp(52px, 17vw, 88px); }
  .countdown-unit span { font-size: 8px; letter-spacing: .2em; }
  .gallery-lightbox-nav { width: 42px; height: 42px; font-size: 23px; }
  .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: 900px) and (max-height: 720px) {
  .table-figure { height: calc(43% + 1px); }
  .story-shell > .chapter > .table-layout { padding: calc(var(--header-h) + var(--story-page-height-24)) 22px 18px; }
  .table-copy h2 { font-size: clamp(54px, 17vw, 72px); }
  .table-copy > p { margin: 10px 0; font-size: 14px; line-height: 1.42; }
  .event-facts { margin: 10px 0; }
  .event-facts div { padding: 7px 0; }
  .underlined-button { padding: 5px 0; }
  .countdown-layout { gap: 20px; }
  .countdown-copy .eyebrow { margin-bottom: 10px; }
  .countdown-copy h2 { font-size: clamp(36px, 11vh, 58px); }
  .countdown-copy > p:last-child { margin-top: 10px; font-size: 12px; }
  .countdown-unit { gap: 7px; }
  .countdown-unit strong { font-size: clamp(40px, 14vh, 62px); }
}

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

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

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

@media (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-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-delete { border-color: #ead8d5; background: #f4e9e7; color: #923d34; }
.module-actions .module-delete:hover, .module-actions .module-delete:focus-visible { border-color: #a84035; background: #a84035; color: white; }

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

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

/* Compact beta editor and official video modules */
.organizer-panel { width: min(360px, 100%); padding: 22px 20px 28px; background: rgba(242,245,248,.96); }
.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: 8px; }
.module-item { min-height: 66px; gap: 10px; padding: 9px 10px 9px 13px; border-color: rgba(7,22,40,.07); box-shadow: 0 4px 13px rgba(7,22,40,.055); transition: border-color .2s, background .2s, box-shadow .2s; }
.module-item:hover { transform: none; box-shadow: 0 7px 18px rgba(7,22,40,.09); }
.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-module { min-height: 72px; padding: 14px 16px; grid-template-columns: 40px 1fr; }
.add-module > span { font-size: 32px; }
.add-module strong { font-size: 15px; }
.add-module small { font-size: 11px; }
.organizer-footnote { margin: 22px 2px 0; font-size: 11px; line-height: 1.45; }
.module-picker button { padding: 10px 8px; }
.module-editor { padding-top: 16px; }
.editor-heading { margin-top: 22px; padding-bottom: 14px; }
.editor-heading h3 { font: 700 25px/1.1 Arial, sans-serif; }
.editor-copy { margin: 14px 0 19px; font: 13px/1.45 Arial, sans-serif; }
#moduleEditorForm { gap: 14px; }
.editor-field { gap: 5px; }
.editor-field input, .editor-field textarea { padding: 9px 0; font: 15px/1.4 Arial, sans-serif; }
.editor-field textarea { min-height: 70px; }
.editor-done { margin-top: 20px; padding: 13px 15px; }
.editor-media-field input { padding: 10px; border: 1px solid rgba(7,16,29,.15); background: white; font-size: 11px; }

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

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

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

.editor-print-dock { position: fixed; z-index: 130; top: 15px; right: 198px; bottom: auto; left: auto; min-width: 158px; min-height: 48px; padding: 7px 14px 7px 9px; border: 1px solid rgba(255,255,255,.28); border-radius: 25px; display: none; grid-template-columns: 32px 1fr; align-items: center; gap: 8px; background: rgba(7,22,40,.52); color: #fff; box-shadow: inset 0 1px 0 rgba(255,255,255,.1); backdrop-filter: blur(18px); cursor: pointer; transition: border-color .2s, background .2s, transform .2s, opacity .2s; }
.has-open-visual-editor .editor-print-dock { display: grid; }
.is-print-studio-open .editor-print-dock { opacity: 0; pointer-events: none; }
.editor-print-dock:hover, .editor-print-dock:focus-visible { border-color: #72ceff; background: rgba(7,22,40,.82); outline: 2px solid rgba(114,206,255,.35); outline-offset: 3px; transform: translateY(-1px); }
.editor-print-dock svg { width: 30px; height: 30px; padding: 7px; border-radius: 50%; background: var(--blue); fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.editor-print-dock span { display: grid; gap: 2px; text-align: left; }
.editor-print-dock strong { font: 800 10px/1.1 Arial,sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.editor-print-dock small { color: rgba(255,255,255,.58); font: 11px/1.1 Georgia,serif; }

.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-qr-control small, .print-export-size small { color: #687687; font: 11px/1.4 Georgia,serif; }
.print-export-qr-control[hidden] { display: none; }
.print-export-qr-control > span { display: flex; align-items: center; justify-content: space-between; }
.print-export-qr-control output { color: #0874c4; font: 800 9px/1 Arial,sans-serif; letter-spacing: 0; }
.print-export-qr-control input { width: 100%; accent-color: var(--blue); }
.print-export-size { padding-top: 16px; border-top: 1px solid rgba(7,22,40,.1); display: grid; gap: 6px; }
.print-export-size strong { font: 700 11px/1.35 Arial,sans-serif; }
.print-export-preview { min-width: 0; min-height: 0; padding: 28px; display: grid; place-items: center; background: #d9dee3; overflow: auto; }
.print-export-sheet { --print-qr-scale: 1; position: relative; width: min(100%, 900px); max-height: 100%; background: white; box-shadow: 0 18px 58px rgba(7,22,40,.28); overflow: hidden; isolation: isolate; }
.print-export-sheet[data-orientation="portrait"] { width: min(72%, 620px); }
.print-export-sheet .print-source-page { position: relative !important; inset: auto !important; width: 100% !important; height: 100% !important; min-height: 0 !important; max-height: none !important; padding-right: clamp(22px,5vw,76px) !important; overflow: hidden !important; transform: none !important; opacity: 1 !important; }
.print-export-sheet .print-source-page > .chapter-inner, .print-export-sheet .print-source-page .chapter-inner { width: 100%; height: 100%; min-height: 0 !important; }
.print-export-sheet .cover-editor-canvas.print-source-page, .print-export-sheet .gallery-editor-canvas.print-source-page, .print-export-sheet .announcement-editor-canvas.print-source-page { padding: clamp(22px,5vw,76px) !important; }
.print-export-sheet .cover-editor-preview { max-width: 82%; }
.print-export-sheet .cover-editor-widget[data-cover-position$="right"] { right: 3.5% !important; }
.print-export-sheet .cover-editor-widget[data-cover-position$="left"] { left: 3.5% !important; }
.print-export-sheet .cover-editor-widget[data-cover-position^="top"] { top: 7% !important; }
.print-export-sheet .cover-editor-widget[data-cover-position^="bottom"] { bottom: 4% !important; }
.print-export-sheet .announcement-editor-hint, .print-export-sheet .announcement-editor-demo, .print-export-sheet .audio-particle-field, .print-export-sheet .universal-overlay-audio, .print-export-sheet .universal-overlay-video-audio, .print-export-sheet video[controls] { display: none !important; }
.print-export-sheet .universal-overlay-qr { width: clamp(94px,14%,150px); max-width: 46%; transform: scale(var(--print-qr-fitted-scale,var(--print-qr-scale))); box-shadow: 0 8px 24px rgba(1,7,14,.18); }
.print-export-sheet .universal-overlay-qr:hover { transform: scale(var(--print-qr-fitted-scale,var(--print-qr-scale))); }
.print-export-sheet .universal-overlay-qr[data-overlay-position="top-left"] { transform-origin: top left; }
.print-export-sheet .universal-overlay-qr[data-overlay-position="top-right"] { transform-origin: top right; }
.print-export-sheet .universal-overlay-qr[data-overlay-position="bottom-left"] { transform-origin: bottom left; }
.print-export-sheet .universal-overlay-qr[data-overlay-position="bottom-right"] { transform-origin: bottom right; }
.print-export-sheet .universal-overlay-qr[data-overlay-position^="top"] { top: 4% !important; }
.print-export-sheet .universal-overlay-qr[data-overlay-position^="bottom"] { bottom: 4% !important; }
.print-export-sheet .universal-overlay-qr[data-overlay-position$="left"] { left: 3.5% !important; }
.print-export-sheet .universal-overlay-qr[data-overlay-position$="right"] { right: 3.5% !important; }
.print-export-sheet:not(.is-paper-white) .print-source-page.print-source-light-ink { color: #fff !important; }
.print-export-sheet:not(.is-paper-white) .print-source-page.print-source-dark-ink { color: var(--ink) !important; }
.print-export-sheet.is-paper-white .print-source-page { background: #fff !important; color: var(--ink) !important; }
.print-export-sheet.is-paper-white .print-source-page *, .print-export-sheet.is-paper-white .print-source-page [data-edit] { color: var(--ink) !important; text-shadow: none !important; }
.print-export-sheet.is-paper-white :is(.announcement-background,.announcement-editor-background,.cover-official-background,.cover-editor-background,.paragraph-blur-background,.countdown-background,.people-background,.accessibility-background,.gallery-module-background,.gallery-editor-background,.video-module-media,.video-gallery-backdrop,.photo-module-image) { display: none !important; }
.print-export-sheet.is-paper-white :is(.announcement-wash,.announcement-editor-wash,.cover-official-wash,.cover-editor-wash,.photo-module-wash,.video-module-wash,.countdown-wash,.people-wash,.accessibility-wash,.gallery-module-wash,.gallery-editor-wash) { display: none !important; }
.print-export-sheet.is-paper-white .universal-overlay-button, .print-export-sheet.is-paper-white .cover-editor-button { border-color: rgba(7,22,40,.55) !important; background: #fff !important; color: var(--ink) !important; }
.print-export-studio > footer { min-height: 72px; padding: 13px 20px 13px 25px; border-top: 1px solid rgba(7,22,40,.12); display: flex; align-items: center; justify-content: space-between; gap: 18px; background: #fff; }
.print-export-studio > footer p { margin: 0; color: #647282; font: 11px/1.35 Georgia,serif; }
.print-export-studio > footer div { display: flex; gap: 8px; }
.print-export-studio > footer button { min-height: 42px; padding: 0 18px; border: 1px solid rgba(7,22,40,.17); background: #fff; color: var(--ink); cursor: pointer; font: 800 9px/1 Arial,sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.print-export-studio > footer button:disabled { opacity: .5; cursor: wait; }
.print-export-studio > footer .print-export-primary { min-width: 156px; border-color: var(--blue); background: var(--blue); color: white; }
.print-export-primary span { padding-left: 18px; font-size: 16px; }

@media (max-width: 900px) {
  .cover-editor-canvas > .universal-overlay-qr[data-overlay-position$="right"] { right: 12px; }
  .cover-editor-page.is-open .cover-editor-canvas > .universal-overlay-qr[data-overlay-position$="right"] { right: 12px; }
  .cover-editor-canvas > .universal-overlay-qr[data-overlay-position$="left"] { left: 12px; }
  .cover-editor-page.is-open .cover-editor-canvas > .universal-overlay[data-overlay-position^="bottom"] { bottom: 262px; }
  .editor-print-dock { top: 11px; right: 184px; bottom: auto; left: auto; min-width: 0; width: 46px; min-height: 46px; padding: 8px; grid-template-columns: 1fr; }
  .editor-print-dock span { display: none; }
  .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-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; }
}

@media (max-width: 520px) {
  .editor-print-dock { right: 120px; }
  .has-open-visual-editor .announcement-editor-identity { visibility: hidden; }
}

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

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

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

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

@media (min-width: 901px) {
  .official-editor-preview { width: var(--official-source-width, 100vw); min-height: var(--official-source-height, 100svh); transform: scale(var(--official-preview-scale, 1)); transform-origin: top left; }
  .official-editor-preview .chapter-inner { min-height: var(--official-source-height, 100svh); }
  .official-editor-preview .universal-overlay[data-overlay-position="top-left"] { top: var(--official-corner-top, 104px); left: var(--official-corner-side, 34px); }
  .official-editor-preview .universal-overlay[data-overlay-position="top-right"] { top: var(--official-corner-top, 104px); right: var(--official-corner-side, 34px); }
  .official-editor-preview .universal-overlay[data-overlay-position="bottom-left"] { bottom: var(--official-corner-bottom, 84px); left: var(--official-corner-side, 26px); }
  .official-editor-preview .universal-overlay[data-overlay-position="bottom-right"] { right: var(--official-corner-side, 26px); bottom: var(--official-corner-bottom, 84px); }
  .official-editor-preview .photo-caption[data-photo-caption-position="top-left"], .official-editor-preview .photo-caption[data-photo-caption-position="top-right"] { top: var(--official-photo-caption-top, 136px); }
}

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

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

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

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

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

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

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

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

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

/* Unified center-content composer */
.center-composition-control { margin: 0 0 18px; padding: 0 0 18px; border-bottom: 1px solid rgba(7,22,40,.1); display: grid; gap: 10px; }
.center-composition-label, .center-region-select > span { font: 800 9px/1 Arial,sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.center-composition-label { color: #536273; }
.center-region-select > span { color: #087dce; }
.center-composition-layout { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
.center-composition-layout button { min-width: 0; min-height: 58px; padding: 8px 4px; border: 1px solid rgba(7,22,40,.14); background: #fff; color: #536273; display: grid; place-items: center; align-content: center; gap: 6px; font: 700 9px/1.15 Arial,sans-serif; cursor: pointer; }
.center-composition-layout button[aria-pressed="true"] { border-color: #1597ed; background: #e8f5fd; color: #0874c4; box-shadow: inset 0 0 0 1px #1597ed; }
.center-composition-layout i { width: 22px; height: 16px; border: 1.5px 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-region-selects { display: grid; grid-template-columns: repeat(auto-fit,minmax(120px,1fr)); gap: 8px; }
.center-region-select { min-width: 0; display: grid; gap: 6px; }
.center-region-select > div { min-width: 0; display: grid; grid-template-columns: minmax(0,1fr) auto; }
.center-region-select select { width: 100%; min-height: 44px; padding: 0 34px 0 10px; border: 1px solid rgba(7,22,40,.16); background: #fff; color: #102033; font: 700 11px/1.2 Arial,sans-serif; }
.center-region-select button { min-width: 50px; border: 1px solid rgba(7,22,40,.16); border-left: 0; background: #f7f9fb; color: #0874c4; font: 800 9px/1 Arial,sans-serif; cursor: pointer; }
.center-region-select button:disabled { color: #718195; cursor: default; }
.center-region-select select:focus { outline: 0; border-color: #1597ed; box-shadow: 0 0 0 3px rgba(36,152,237,.16); }
.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; }
.structured-layout.is-content-only .structured-content {
  width: min(100%,1050px);
  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(20px,4vw,64px) 42px; display: grid; place-items: center; overflow: hidden; color: inherit; }
.center-layout-columns > .chapter-inner { width: 50% !important; margin: 0 !important; padding-left: clamp(22px,4vw,64px) !important; padding-right: clamp(22px,4vw,64px) !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: 16px !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(22px,4vw,64px) !important;
  padding-left: clamp(22px,4vw,64px) !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(22px,4vw,64px) !important; padding-bottom: 42px !important; padding-left: clamp(22px,4vw,64px) !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); }
.universal-list { width: min(100%,900px); max-height: min(66vh,660px); margin: 0; 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.has-icon { min-height: 122px; align-items: center; }
.has-light-background .universal-list li { border-color: rgba(7,22,40,.16); }
.universal-list li > span { 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 { display: grid; justify-items: center; gap: 7px; }
.universal-list-icon { width: 68px; height: 68px; border: 2px solid rgba(255,255,255,.7); border-radius: 50%; display: block; object-fit: cover; box-shadow: 0 10px 26px rgba(0,0,0,.18); }
.has-light-background .universal-list-icon { border-color: rgba(7,22,40,.22); }
.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'; }
.universal-list-icon.material-symbol { display:grid; place-items:center; background:rgba(255,255,255,.08); color:inherit; font-size:36px; object-fit:initial; }
.has-light-background .universal-list-symbol { background:rgba(7,22,40,.045); }
.universal-list-icon-wrap small { max-width: 78px; 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: #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 #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:#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 #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; }

.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:baseline; gap:9px; }
.event-calendar > header span { color:#58b9f7; font:800 10px/1 Arial,sans-serif; letter-spacing:.15em; text-transform:uppercase; }
.event-calendar > header strong { margin-left:auto; 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; }
.upcoming-calendar ol { max-height:none; margin:0; padding:0; list-style:none; overflow:visible; }
.upcoming-calendar li { min-height:128px; padding:21px 26px; border-bottom:1px solid var(--structured-line,rgba(255,255,255,.18)); display:grid; grid-template-columns:68px minmax(0,1fr); gap:22px; }
.upcoming-calendar li:last-child { border-bottom:0; }
.upcoming-calendar time { min-height:78px; border:1px solid var(--structured-line,rgba(255,255,255,.18)); display:grid; place-items:center; align-content:center; gap:3px; text-align:center; }
.upcoming-calendar time b,.upcoming-calendar time small { color:#58b9f7; font:800 8px/1 Arial,sans-serif; letter-spacing:.1em; }
.upcoming-calendar time strong { font:500 28px/.9 'EventSans',Arial,sans-serif; }
.upcoming-calendar li > div > span { color:#58b9f7; font:800 9px/1 Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.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; }
.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 { cursor:pointer; transition:color .18s,background .18s; }
.calendar-grid button::after { content:""; position:absolute; bottom:7px; width:4px; height:4px; border-radius:50%; background:transparent; }
.calendar-grid button.has-events::after { background:#58b9f7; box-shadow:0 0 0 3px rgba(88,185,247,.13); }
.calendar-grid button:hover,.calendar-grid button:focus-visible { outline:none; background:rgba(88,185,247,.12); }
.calendar-grid button.is-selected { color:#06111f; background:#fff; }
.calendar-grid button.is-selected::after { background:#168fe3; }
.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:#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 article { padding:13px 16px; border-bottom:1px solid var(--structured-line,rgba(255,255,255,.18)); display:grid; grid-template-columns:72px minmax(0,1fr); gap:13px; }
.calendar-selection article:last-child { border-bottom:0; }
.calendar-selection article[hidden],.calendar-no-events[hidden] { display:none; }
.calendar-selection time { color:#58b9f7; font:800 9px/1.3 Arial,sans-serif; letter-spacing:.08em; }
.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-no-events { margin:0; padding:20px 16px; color:var(--structured-muted,rgba(255,255,255,.68)); font:13px/1.4 'EventSerif',Georgia,serif; }

.team-chat-panel { width:100%; min-height:min(620px,67vh); display:grid; grid-template-rows:auto minmax(150px,1fr) auto auto; color:inherit; }
.team-chat-panel > header { min-height:92px; padding:18px 22px; border-bottom:1px solid var(--structured-line,rgba(255,255,255,.18)); display:grid; grid-template-columns:46px minmax(0,1fr) auto; align-items:center; gap:13px; }
.team-chat-icon { width:44px; height:44px; border-radius:14px; display:grid; place-items:center; color:#06111f; background:#58b9f7; font:700 21px/1 'EventSans',Arial,sans-serif; }
.team-chat-panel > header > div { min-width:0; display:grid; gap:5px; }
.team-chat-panel > header strong { font:650 20px/1.1 'EventSans',Arial,sans-serif; }
.team-chat-panel > header small { overflow:hidden; color:var(--structured-muted,rgba(255,255,255,.68)); font:12px/1.35 'EventSerif',Georgia,serif; text-overflow:ellipsis; white-space:nowrap; }
.team-chat-panel > header i { width:8px; height:8px; border-radius:50%; background:#52d08c; box-shadow:0 0 0 5px rgba(82,208,140,.12); }
.team-chat-panel ol { max-height:min(430px,48vh); margin:0; padding:16px 20px; list-style:none; display:grid; align-content:start; gap:15px; overflow:auto; overscroll-behavior:contain; }
.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:#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:rgba(88,185,247,.11); }
.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:#58b9f7; font:800 7px/1 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.team-chat-panel li header time { margin-left:auto; color:var(--structured-muted,rgba(255,255,255,.68)); font:8px/1 Arial,sans-serif; }
.team-chat-panel li p { margin:6px 0 0; white-space:pre-wrap; color:var(--structured-muted,rgba(255,255,255,.78)); font:13px/1.45 'EventSerif',Georgia,serif; }
.team-chat-panel 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 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:#58b9f7; box-shadow:0 0 0 3px rgba(88,185,247,.13); }
.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-demo-note,.team-chat-panel > footer { padding:0 18px 14px; color:var(--structured-muted,rgba(255,255,255,.55)); font:800 7px/1.3 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.team-chat-panel > footer { padding-top:14px; border-top:1px solid var(--structured-line,rgba(255,255,255,.18)); }
.center-logo-content { width: 100%; display: grid; place-items: center; }
.center-logo-content img { display: block; width: 68%; height: auto; max-height: 58vh; object-fit: contain; }
.center-logo-content[data-logo-scale="small"] img { width: 36%; max-height: 30vh; }
.center-logo-content[data-logo-scale="large"] img { width: 96%; max-height: 76vh; }
.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; }
.structured-remove-logo { width: 100%; min-height: 38px; margin: 8px 0; border: 1px solid #e3b7af; background: #fff8f6; color: #a63e2f; font-weight: 700; }
.center-logo-tools .tools-upload.prominent { margin-bottom: 16px; }
.center-logo-tools .structured-remove-logo { margin-top: -8px; margin-bottom: 16px; }

@media (max-width: 700px) {
  .center-composition-layout { grid-template-columns: 1fr; }
  .center-composition-layout button { min-height: 44px; grid-template-columns: 24px 1fr; justify-items: start; padding: 8px 12px; }
  .center-region-selects { grid-template-columns: 1fr; }
  .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; }
  .universal-list li { grid-template-columns: 42px minmax(0,1fr); gap: 9px; }
  .universal-list li.has-icon { grid-template-columns: 58px minmax(0,1fr); gap: 12px; }
  .universal-list li.has-no-label:not(.has-icon) { grid-template-columns:minmax(0,1fr); }
  .universal-list-icon { width: 54px; height: 54px; }
  .universal-list-icon-wrap small { max-width: 58px; }
  .event-calendar,.team-chat-panel { min-height:0; max-height:62vh; }
  .event-calendar > header { padding:16px 17px; }
  .upcoming-calendar li { min-height:104px; padding:14px 15px; grid-template-columns:54px minmax(0,1fr); gap:13px; }
  .upcoming-calendar time { 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 13px; }
  .team-chat-panel form { padding:11px 12px; }
}

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

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

.venue-panel { min-height: 550px; display: grid; grid-template-columns: 1fr 1fr; }
.venue-map-art { position: relative; min-height: 260px; grid-row: span 2; overflow: hidden; background: repeating-linear-gradient(33deg,transparent 0 37px,var(--structured-line) 38px 39px), repeating-linear-gradient(122deg,transparent 0 65px,var(--structured-line) 66px 67px), rgba(88,185,247,.08); }
.venue-map-art::before,.venue-map-art::after { content:""; position:absolute; border:1px solid var(--structured-line); border-radius:50%; }
.venue-map-art::before { width:230px;height:230px;left:-55px;bottom:25px; }
.venue-map-art::after { width:130px;height:130px;right:-28px;top:40px; }
.venue-map-art span { position:absolute; width:22px; height:22px; left:52%; top:46%; border-radius:50% 50% 50% 0; transform:rotate(-45deg); transform-origin:center; background:#58b9f7; box-shadow:0 8px 28px rgba(0,0,0,.28); animation:venue-marker-breathe 2.8s ease-in-out infinite; will-change:transform,opacity,box-shadow; }
@keyframes venue-marker-breathe {
  0%,100% { opacity:.42; transform:rotate(-45deg) scale(.88); box-shadow:0 6px 18px rgba(88,185,247,.16); }
  50% { opacity:1; transform:rotate(-45deg) scale(1.06); box-shadow:0 8px 32px rgba(88,185,247,.5); }
}
@media (prefers-reduced-motion: reduce) { .venue-map-art span { animation:none; } }
.venue-primary { padding: 34px; border-bottom:1px solid var(--structured-line); }
.venue-primary small,.contact-module-grid aside small { color:#58b9f7; font:800 9px/1 Arial,sans-serif; letter-spacing:.16em; }
.venue-primary h3,.contact-module-grid aside h3 { margin:18px 0 11px; 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:#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; }

.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:#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-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:#58b9f7; }
.contact-module-grid button,.structured-rsvp button { min-height:43px; border:0; margin-top:4px; padding:0 16px; display:flex; justify-content:space-between; align-items:center; color:#06111f; background:#fff; font:800 9px/1 Arial,sans-serif; letter-spacing:.11em; text-transform:uppercase; }
.contact-module-grid button:disabled { opacity:.4; cursor:not-allowed; }
.contact-module-grid output { min-height:18px; color:var(--structured-muted); font:11px/1.4 Arial,sans-serif; }
.contact-module-grid output:empty { display:none; }
.structured-rsvp output { min-height:30px; color:var(--structured-muted); font:11px/1.4 Arial,sans-serif; }

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

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

.bring-list { margin:0; padding:0; list-style:none; }
.bring-list li { min-height:100px; padding:22px 26px; border-bottom:1px solid var(--structured-line); display:flex; align-items:center; justify-content:space-between; gap:24px; }
.bring-list li:last-child { border-bottom:0; }
.bring-list span { display:grid; gap:7px; }
.bring-list strong { font:600 20px/1.15 Arial,sans-serif; }
.bring-list small { color:var(--structured-muted); font:11px/1.2 Arial,sans-serif; }
.bring-list button { min-width:132px; min-height:40px; border:1px solid var(--structured-line); padding:0 14px; color:inherit; background:transparent; font:800 8px/1 Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.bring-list button.is-claimed { color:#06111f; background:#fff; }

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

.structured-module-rsvp { text-align:center; }
.rsvp-page-wash { position:absolute; inset:0; z-index:-2; background:radial-gradient(circle at 50% 46%,rgba(9,41,73,.22),rgba(2,9,18,.9) 76%),linear-gradient(0deg,rgba(2,9,18,.58),rgba(2,9,18,.12)); pointer-events:none; }
.rsvp-structured-layout { width:min(1100px,100%); margin:0 auto; padding:clamp(108px,12vh,150px) clamp(28px,7vw,92px) clamp(48px,7vh,76px); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:clamp(28px,4vh,42px); }
.rsvp-invitation-copy { max-width:900px; text-align:center; }
.rsvp-invitation-copy > p:first-child { margin:0 0 25px; color:inherit; display:flex; align-items:center; justify-content:center; gap:18px; font:800 10px/1 Arial,sans-serif; letter-spacing:.22em; text-transform:uppercase; }
.rsvp-invitation-copy > p:first-child::before,.rsvp-invitation-copy > p:first-child::after { content:""; width:44px; height:1px; background:currentColor; opacity:.62; }
.rsvp-invitation-copy h2 { margin:0; color:inherit; font:400 clamp(64px,8vw,128px)/.84 Arial,sans-serif; letter-spacing:-.075em; text-transform:uppercase; text-wrap:balance; }
.rsvp-invitation-copy .rsvp-event-date { max-width:none; margin:28px 0 0; color:inherit; font:800 10px/1.25 Arial,sans-serif; letter-spacing:.22em; text-transform:uppercase; }
.rsvp-response-shell { width:min(720px,100%); max-height:none; border:0; background:transparent; box-shadow:none; backdrop-filter:none; overflow:visible; }
.rsvp-response-shell .structured-rsvp { min-height:0; padding:0; gap:16px; }
.rsvp-copy-layers { width:100%; margin:0 0 8px; display:grid; justify-items:center; gap:10px; text-align:center; }
.rsvp-copy-layers .rsvp-copy-layer { width:100%; max-width:100%; margin:0; }
.rsvp-copy-layers .rsvp-copy-layer[data-center-layer-type="title"] { font-size:clamp(42px,5vw,76px); line-height:.92; letter-spacing:-.055em; text-wrap:balance; }
.rsvp-copy-layers .rsvp-copy-layer[data-center-layer-type="subtitle"] { font-size:clamp(12px,1.2vw,18px); }
.rsvp-copy-layers .rsvp-copy-layer[data-center-layer-type="paragraph"] { font-size:clamp(15px,1.35vw,20px); line-height:1.45; }
.rsvp-choice-row { width:min(540px,100%); grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0 auto; }
.rsvp-choice-row button { min-height:64px; margin:0; border:1px solid rgba(255,255,255,.58); border-radius:999px; justify-content:center; color:#fff; background:rgba(4,18,32,.2); box-shadow:inset 0 1px 0 rgba(255,255,255,.09); backdrop-filter:blur(16px); transition:transform .25s var(--ease),background .25s,border-color .25s; }
.rsvp-choice-row button:hover,.rsvp-choice-row button:focus-visible { border-color:#58b9f7; outline:none; background:rgba(36,152,237,.24); transform:translateY(-2px); }
.rsvp-choice-row button[aria-pressed="true"] { border-color:#58b9f7; color:#06111f; background:#fff; }
.rsvp-details-panel { margin:16px auto 0; padding:24px; border:1px solid rgba(255,255,255,.2); border-radius:18px; display:grid; grid-template-columns:1fr 1fr; gap:15px 20px; text-align:left; background:rgba(3,15,28,.64); box-shadow:0 28px 80px rgba(0,0,0,.25); backdrop-filter:blur(24px); animation:rsvp-details-in .42s var(--ease) both; }
.rsvp-details-panel[hidden],.rsvp-success[hidden] { display:none; }
.rsvp-details-panel legend { grid-column:1/-1; width:100%; margin:0 0 4px; color:#fff; font:700 22px/1.1 Arial,sans-serif; letter-spacing:-.03em; }
.rsvp-details-panel label { display:grid; gap:7px; color:rgba(255,255,255,.66); font:800 8px/1 Arial,sans-serif; letter-spacing:.11em; text-transform:uppercase; }
.rsvp-details-panel label[hidden] { display:none; }
.rsvp-details-panel input,.rsvp-details-panel select { width:100%; min-height:42px; border:0; border-bottom:1px solid rgba(255,255,255,.28); border-radius:0; padding:8px 0; color:#fff; background:transparent; font:14px/1.3 Arial,sans-serif; outline:none; }
.rsvp-details-panel select option { color:#071628; background:#fff; }
.rsvp-details-panel input:focus,.rsvp-details-panel select:focus { border-color:#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="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:#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:#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:#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; }
  .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:#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:#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:#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:#58b9f7; font:800 9px/1 Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.linked-video-card strong { margin:10px 0 22px; font:500 26px/1 Arial,sans-serif; }
.linked-video-card em { font:800 8px/1 Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.video-gallery-grid .linked-video-frame,.video-gallery-grid .linked-video-card { height:100%; min-height:0; object-fit:cover; }

.structured-field { display:grid; gap:7px; margin:0 0 13px; }
.structured-field > span { color:#526174; font:800 9px/1 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.structured-field input,.structured-field textarea,.structured-field select,.linked-video-entry input { width:100%; border:1px solid rgba(7,22,40,.16); border-radius:0; padding:11px 12px; color:#101f31; background:#fff; font:12px/1.35 Arial,sans-serif; }
.structured-field input:focus,.structured-field textarea:focus,.structured-field select:focus,.linked-video-entry input:focus { border-color:#168fe3; outline:2px solid rgba(22,143,227,.14); outline-offset:0; }
.structured-field input.is-example-value { color:#8794a4; }
.structured-field textarea { min-height:72px; resize:vertical; }
.structured-check { margin:11px 0; display:flex; align-items:center; gap:9px; color:#45566a; font:12px/1.35 Arial,sans-serif; }
.structured-check input { accent-color:#168fe3; }
.structured-editor-list { display:grid; gap:10px; }
.structured-editor-item { padding:12px; border:1px solid rgba(7,22,40,.13); background:rgba(255,255,255,.55); }
.structured-editor-item 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: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:50%; display:grid; place-items:center; overflow:hidden; 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-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; }
.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-top:14px; }
.linked-video-entry button { border:0; padding:0 13px; color:#fff; background:#168fe3; font:800 8px/1 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.linked-video-list { margin:10px 0 0; padding:0; list-style:none; display:grid; gap:5px; }
.linked-video-list li { padding:8px; border:1px solid rgba(7,22,40,.12); background:rgba(255,255,255,.52); display:flex; align-items:center; justify-content:space-between; gap:8px; }
.linked-video-list li span { min-width:0; display:grid; gap:3px; }
.linked-video-list strong { color:#172536; font:800 8px/1 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.linked-video-list small { overflow:hidden; color:#718093; font:9px/1.2 Arial,sans-serif; text-overflow:ellipsis; white-space:nowrap; }

@media (max-width: 900px) {
  .structured-layout { padding:82px 20px 22px; grid-template-columns:1fr; align-content:center; gap:22px; }
  .structured-copy > p:first-child { margin-bottom:11px; font-size:8px; }
  .structured-copy h2 { font-size:clamp(40px,11vw,64px); }
  .structured-copy > p:last-child { margin-top:13px; font-size:12px; line-height:1.4; }
  .structured-content { width:100%; max-height:48vh; }
  .structured-schedule li { min-height:78px; padding:14px; grid-template-columns:67px minmax(0,1fr) 24px; gap:10px; }
  .structured-schedule strong { font-size:15px; }
  .venue-panel,.contact-module-grid,.music-player-panel { min-height:0; }
  .venue-primary,.contact-module-grid aside,.structured-rsvp,.dress-code-panel,.music-player-panel > div { padding:22px; }
  .venue-map-art { min-height:230px; }
  .contact-module-grid { width:min(680px,calc(100% - 40px)); padding:28px; grid-template-columns:1fr; }
  .contact-module-grid aside h3 { font-size:23px; }
  .menu-course-list li { min-height:82px; padding:15px; grid-template-columns:57px minmax(0,1fr) auto; gap:12px; }
  .menu-course-list strong { font-size:16px; }
  .dress-code-panel h3 { font-size:34px; }
  .bring-list li { min-height:72px; padding:14px 16px; }
  .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); }
  .venue-map-art { grid-row:auto; min-height:180px; }
  .contact-module-grid aside { min-height:210px; border-right:0; border-bottom:1px solid var(--structured-line); }
  .contact-module-grid aside p { margin-top:24px; }
  .menu-course-list li { grid-template-columns:1fr auto; }
  .menu-course-list > li > span { grid-column:1 / -1; }
  .rsvp-choice-row { grid-template-columns:1fr; }
  .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-top: 13px; border: 1px solid rgba(7,22,40,.13); border-radius: 11px; background: rgba(255,255,255,.5); overflow: clip; transition: box-shadow .2s ease, border-color .2s ease; }
.editor-position-group::before { content: ''; position: absolute; z-index: 2; top: 0; right: 0; left: 0; height: 3px; border-radius: 10px 10px 0 0; background: #168fe3; opacity: 0; transform: scaleX(.72); transform-origin: 50% 0; transition: opacity .16s ease, transform .2s ease; pointer-events: none; }
.editor-position-group > summary { min-height: 62px; padding: 13px 14px; display: flex; align-items: center; justify-content: space-between; gap: 14px; cursor: pointer; list-style: none; }
.editor-position-group > summary::-webkit-details-marker { display: none; }
.editor-position-heading { min-width: 0; display: flex; align-items: center; gap: 11px; }
.editor-position-copy { min-width: 0; display: grid; gap: 4px; }
.editor-position-icon { flex: 0 0 28px; width: 28px; height: 28px; border-radius: 7px; display: grid; place-items: center; background: #edf3f7; color: #53677a; font: 800 12px/1 Arial,sans-serif; }
.editor-position-icon svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.6; 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: #0b1a2b; font: 800 10px/1 Arial,sans-serif; letter-spacing: .13em; text-transform: uppercase; }
.editor-position-group > summary small { color: #708091; font: 11px/1.3 Georgia,serif; }
.editor-position-group > summary i { position: relative; flex: 0 0 25px; width: 25px; height: 25px; border: 1px solid rgba(7,22,40,.12); border-radius: 50%; display: block; background: #fff; color: #168fe3; 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 18px/1 Arial,sans-serif; transform: translateY(-1px); }
.editor-position-group[open] { border-color: rgba(22,143,227,.42); box-shadow: 0 11px 24px rgba(7,22,40,.12); }
.editor-position-group[open]::before { opacity: 1; transform: scaleX(1); }
.visual-editor-tools .editor-position-group[open] > summary strong { color: #0b1a2b; }
.editor-position-group[open] > summary { border-bottom: 1px solid rgba(7,22,40,.1); background: rgba(234,245,253,.55); }
.editor-position-group[open] > summary i::before { content: '\2212'; transform: translateY(-2px); }
.editor-position-group[open] .editor-position-icon { background: #168fe3; color: #fff; }
.editor-position-body { padding: 16px 14px; }
.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: 16px 0 4px; padding-top: 16px; border-top: 1px solid rgba(7,22,40,.12); display: grid; gap: 10px; }
.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:45px; padding:7px 13px; display:grid; grid-template-columns:minmax(0,1fr) 20px; align-items:center; gap:10px; list-style:none; cursor:pointer; }
.page-template-library > summary::-webkit-details-marker { display:none; }
.page-template-library > summary > span { display:grid; gap:2px; }
.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,.page-template-custom-list { display:grid; gap:5px; }
.editor-footer-actions .page-template-name-list > button,.editor-footer-actions .page-template-saved-row > button:first-child { width:100%; min-height:36px; margin:0; padding:0 11px; border:1px solid rgba(7,22,40,.1); border-radius:8px; text-align:left; }
.editor-footer-actions .page-template-name-list > button,.editor-footer-actions .page-template-saved-row > button:first-child { display:grid; align-content:center; gap:2px; }
.editor-footer-actions .page-template-name-list > button strong,.editor-footer-actions .page-template-saved-row > button:first-child strong { font:800 10px/1.1 var(--font-sans); }
.editor-footer-actions .page-template-name-list > button small,.editor-footer-actions .page-template-saved-row > button:first-child small { color:#718194; font:9px/1.15 Georgia,serif; }
.editor-footer-actions .page-template-name-list > button:hover,.editor-footer-actions .page-template-saved-row > button:first-child:hover { border-color:#168fe3; color:#0874c4; background:#edf8ff; }
.page-template-saved-row { display:grid; grid-template-columns:minmax(0,1fr) 31px; gap:5px; }
.editor-footer-actions .page-template-saved-row > button:last-child { width:31px; min-height:31px; height:31px; margin:auto 0; padding:0; border:0; border-radius:50%; color:#8a3540; background:#fff0f2; font-size:14px; }
.page-template-empty { margin:2px 0; color:#8491a0; font:10px/1.35 Georgia,serif; }
.editor-footer-actions .page-template-save { width:100%; margin:0; border-color:#168fe3; color:#fff; background:#168fe3; }
.page-template-workshop-note { margin:0; padding:10px; border-radius:8px; color:#245b7e; background:#e8f6ff; font:10px/1.4 Georgia,serif; }
.is-template-workshop .site-header { box-shadow:inset 0 -2px #2498ed; }
.is-template-workshop #brandStoriesLabel { color:#61c2ff; }
.is-template-workshop .site-header::after { content:'TEMPLATE WORKSHOP'; position:absolute; left:50%; bottom:5px; z-index:3; transform:translateX(-50%); color:#61c2ff; font:800 7px/1 var(--font-sans); letter-spacing:.14em; pointer-events:none; }
@media (max-width:900px) { .is-template-workshop .site-header::after { content:'TEMPLATES'; bottom:4px; font-size:6px; } }
.editor-footer-actions .editor-print-dock { position: static; z-index: auto; inset: auto; display: grid; grid-template-columns: 27px minmax(0,1fr); align-items: center; gap: 8px; width: min(76%, 250px); min-width: 0; min-height: 41px; padding: 5px 12px 5px 7px; border-color: rgba(7,22,40,.16); border-radius: 21px; background: #fff; color: #172536; box-shadow: none; backdrop-filter: none; }
.editor-footer-actions .editor-print-dock:hover, .editor-footer-actions .editor-print-dock:focus-visible { border-color: #168fe3; background: #edf8ff; color: #0874c4; transform: translateY(-1px); }
.editor-footer-actions .editor-print-dock svg { width: 27px; height: 27px; padding: 6px; color: white; }
.editor-footer-actions .editor-print-dock span { display: grid; justify-items: center; gap: 1px; text-align: center; }
.editor-footer-actions .editor-print-dock strong { color: inherit; font-size: 9px; }
.editor-footer-actions .editor-print-dock small { color: #728091; font: 9px/1.1 Georgia,serif; }
.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; }
.corner-tone-control { margin-bottom: 14px; padding: 10px; border: 1px solid rgba(7,22,40,.11); border-radius: 9px; display: grid; grid-template-columns: minmax(0,1fr) 142px; align-items: center; gap: 10px; background: rgba(255,255,255,.7); }
.corner-tone-control > div:first-child { min-width: 0; display: grid; gap: 3px; }
.corner-tone-control > div:first-child strong { color: #102033; font: 800 9px/1 Arial,sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.corner-tone-control > div:first-child small { color: #708091; font: 9px/1.3 Georgia,serif; }
.corner-tone-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
.corner-tone-switch button { min-height: 34px; padding: 0 7px; border: 1px solid rgba(7,22,40,.14); border-radius: 5px; display: flex; align-items: center; justify-content: center; gap: 5px; background: #fff; color: #172536; font: 700 8px/1 Arial,sans-serif; cursor: pointer; }
.corner-tone-switch button[aria-pressed="true"] { border-color: #168fe3; background: #e6f4fd; color: #087dce; box-shadow: inset 0 0 0 1px #168fe3; }
.corner-tone-swatch { width: 11px; height: 11px; border-radius: 50%; box-shadow: 0 0 0 1px rgba(7,22,40,.28); }
.corner-tone-swatch-white { background: #fff; }
.corner-tone-swatch-black { background: #07101d; }
.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-card > summary .corner-placement-grid { width: 52px; height: 52px; }
.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 .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; }
.center-layer-card > summary { display: grid; grid-template-columns: minmax(0,1fr) 28px; justify-content: stretch; cursor: grab; touch-action: none; }
.center-layer-card > summary > span { grid-column: 1; width: 100%; }
.center-layer-card > summary > [data-remove-center-layer] { grid-column: 2; justify-self: end; margin-left: auto; }
.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; }
.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; }
.universal-overlay-note[data-note-align="center"], .cover-editor-details[data-note-align="center"], .chapter-cover .cover-widget[data-cover-widget="details"][data-note-align="center"] { text-align: center; }
.universal-overlay-note[data-note-style="accent"], .cover-editor-details[data-note-style="accent"], .chapter-cover .cover-widget[data-cover-widget="details"][data-note-style="accent"] { padding: 13px 15px; border: 1px solid currentColor; border-radius: 9px; background: color-mix(in srgb, currentColor 10%, transparent); backdrop-filter: blur(8px); }
.universal-overlay-note [contenteditable="true"], .cover-editor-details [contenteditable="true"] { cursor: text; outline: none; }
.universal-overlay-note [contenteditable="true"]:focus, .cover-editor-details [contenteditable="true"]:focus { background: rgba(36,152,237,.15); box-shadow: 0 0 0 4px rgba(36,152,237,.14); }
.universal-overlay-note, .cover-editor-details, .chapter-cover .cover-widget[data-cover-widget="details"] { max-width: min(300px,calc(100vw - 52px)); gap: 4px; }
.corner-note-layer { display: block; margin: 0; color: inherit; 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; }

/* One intentional foreground color shared by every corner tool on a page. */
[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] .cover-widget, .cover-editor-canvas[data-corner-tone] .cover-editor-widget { color: var(--corner-tool-ink) !important; text-shadow: var(--corner-tool-shadow); }
[data-corner-tone] .universal-overlay:not(.universal-overlay-qr) { color: var(--corner-tool-ink); text-shadow: var(--corner-tool-shadow); }
[data-corner-tone="white"] .cover-widget-button, .cover-editor-canvas[data-corner-tone="white"] .cover-editor-button, [data-corner-tone="white"] .universal-overlay-button { border-color: rgba(255,255,255,.7); background: rgba(4,12,22,.34); color: #fff !important; }
[data-corner-tone="black"] .cover-widget-button, .cover-editor-canvas[data-corner-tone="black"] .cover-editor-button, [data-corner-tone="black"] .universal-overlay-button { border-color: rgba(7,16,29,.62); background: rgba(255,255,255,.38); color: #07101d !important; }
[data-corner-tone="white"] .universal-overlay-audio { --audio-accent: #fff; --audio-accent-2: #fff; }
[data-corner-tone="black"] .universal-overlay-audio { --audio-accent: #07101d; --audio-accent-2: #07101d; }
[data-corner-tone] .audio-corner-title { color: color-mix(in srgb,var(--corner-tool-ink) 72%,transparent); }
[data-corner-tone] .audio-wave-base { stroke: color-mix(in srgb,var(--corner-tool-ink) 22%,transparent); }
[data-corner-tone] .audio-volume-control svg { stroke: color-mix(in srgb,var(--corner-tool-ink) 72%,transparent); }
[data-corner-tone="black"] .audio-play-toggle, [data-corner-tone="black"] .universal-overlay-audio.is-playing .audio-play-toggle { background: #07101d; color: #fff; }
[data-corner-tone="white"] .audio-play-toggle, [data-corner-tone="white"] .universal-overlay-audio.is-playing .audio-play-toggle { background: #fff; color: #07101d; }
[data-corner-tone="black"] .audio-wave-seek::after { border-color: #fff; }
[data-corner-tone="black"] .audio-play-toggle, [data-corner-tone="black"] .universal-overlay-audio.is-playing .audio-play-toggle { background: transparent; color: #07101d; }
[data-corner-tone="white"] .audio-play-toggle, [data-corner-tone="white"] .universal-overlay-audio.is-playing .audio-play-toggle { background: transparent; color: #fff; }

@media (max-width: 420px) {
  .corner-tone-control { grid-template-columns: 1fr; }
}

.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: 5px; }
.layer-color-control > span { color: #5f6d7c; font: 800 7px/1.2 'EventSans',sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.layer-color-options { display: grid; grid-template-columns: repeat(8,minmax(0,1fr)); gap: 4px; }
.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-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="auto"] .layer-color-swatch { background: linear-gradient(135deg,#fff 0 46%,#9ba7b4 47% 53%,#07101d 54% 100%); }
.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 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 svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }
.layer-color-control { margin-top: 1px; }

.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-color="auto"] { color: inherit; }
.center-text-layer[data-center-layer-color="white"] { color: #fff; }
.center-text-layer[data-center-layer-color="black"] { color: #07101d; }
.center-text-layer[data-center-layer-color="red"] { color: #ef3d3d; }
.center-text-layer[data-center-layer-color="gold"] { color: #f2c94c; }
.center-text-layer[data-center-layer-color="green"] { color: #2fc779; }
.center-text-layer[data-center-layer-color="blue"] { color: #2498ed; }
.center-text-layer[data-center-layer-color="magenta"] { color: #d92fc7; }
.text-module { color: var(--ink); background: #f1eadf; }
.text-module:not(.has-light-background), .text-module.has-video-background { color: #fff; }
.center-text-wash { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,rgba(4,13,23,.45),rgba(4,13,23,.1)); pointer-events: none; }
.text-module.has-light-background .center-text-wash { background: linear-gradient(90deg,rgba(255,255,255,.08),transparent); }
.text-module.is-cover-inspired { background-color: #071628; background-image: url('assets/hero-rooftop.webp'); background-size: cover; background-position: center; }
.text-module.is-cover-inspired .center-text-wash { background: linear-gradient(180deg,rgba(1,9,19,.3),rgba(1,9,19,.18) 38%,rgba(1,9,19,.58)); }
.text-module.is-cover-inspired :is(.center-text-column,.standalone-text-content) { justify-items: center; text-align: center; }
.text-module.is-cover-inspired .center-text-layer:is([data-center-layer-type="subtitle"],[data-center-layer-type="event-details"]) { max-width: 70em; }
.text-module .center-text-layer[data-center-layer-type="subtitle"]::before,
.text-module .center-text-layer[data-center-layer-type="subtitle"]::after { content: none; }
.page-background-image, .page-background-video, .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-image[hidden], .page-background-video[hidden], .gallery-video-background[hidden] { display: none; }
.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; }

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

.official-editor-preview .center-companion-region { cursor: pointer; transition: background-color .2s ease, box-shadow .2s ease; }
.official-editor-preview .center-companion-region[data-center-region-type="text"] { cursor: text; }
.official-editor-preview .center-companion-region:hover { background: rgba(36,152,237,.055); box-shadow: inset 0 0 0 1px rgba(66,181,255,.34); }
.center-layer-column-editor { padding: 10px; border: 1px solid rgba(7,22,40,.1); border-radius: 9px; background: rgba(255,255,255,.38); display: grid; gap: 9px; }
.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-top: 12px; border-top: 1px solid rgba(7,22,40,.09); display: grid; gap: 7px; }
.center-layer-add button { width: 100%; min-height: 46px; padding: 9px 14px; border: 1px solid rgba(36,152,237,.38); border-radius: 8px; background: #fff; color: #087dce; display: flex; align-items: center; justify-content: center; gap: 9px; 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 22px/.75 Arial,sans-serif; transform: translateY(-1px); }
.center-layer-add button > strong { font: inherit; }
.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; }
.center-layer-add small { display: block; color: #687789; font: italic 11px/1.25 Georgia,serif; text-align: center; }

.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-asset-mixed video { width: 50px; height: 42px; object-fit: cover; 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; }
.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; }
.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 > .center-layer-card.is-center-layer-dragging,
  body > .center-layer-card.is-center-layer-dragging.is-center-layer-dropping,
  body > .corner-note-editor-card.is-corner-note-layer-dragging,
  body > .corner-note-editor-card.is-corner-note-layer-dragging.is-corner-note-layer-dropping { transition-duration: .01ms; }
}

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

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

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

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

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

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

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

.site-starter-modal { position:fixed; inset:0; z-index:260; padding:clamp(18px,5vw,70px); display:grid; place-items:center; overflow:auto; background:rgba(3,12,22,.78); backdrop-filter:blur(18px); opacity:0; transition:opacity .24s ease; }
.site-starter-modal[hidden] { display:none; }
.site-starter-modal.is-open { opacity:1; }
.site-starter-sheet { width:min(720px,100%); max-height:min(760px,calc(100svh - 36px)); padding:clamp(27px,5vw,52px); overflow:auto; color:#14263a; background:#f7f4ee; box-shadow:0 34px 100px rgba(0,0,0,.35); transform:translateY(14px) scale(.985); transition:transform .34s var(--ease); }
.site-starter-modal.is-open .site-starter-sheet { transform:none; }
.site-starter-sheet > header { margin-bottom:30px; }
.site-starter-sheet > 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:560px; margin:0; font:600 clamp(36px,6vw,66px)/.92 Georgia,serif; letter-spacing:-.055em; }
.site-starter-groups { display:grid; gap:22px; }
.site-starter-groups > section { padding-top:14px; border-top:1px solid rgba(7,22,40,.14); display:grid; grid-template-columns:minmax(150px,.8fr) minmax(0,1.2fr); gap:8px 22px; }
.site-starter-groups h3 { grid-row:1/span 20; margin:4px 0 0; color:#647386; font:800 9px/1.2 Arial,sans-serif; letter-spacing:.11em; text-transform:uppercase; }
.site-starter-groups button,.site-starter-empty { width:100%; min-height:48px; padding:0 14px; border:1px solid rgba(7,22,40,.14); display:flex; align-items:center; color:#14263a; background:transparent; font:800 11px/1 Arial,sans-serif; letter-spacing:.03em; text-align:left; }
.site-starter-groups button { cursor:pointer; transition:border-color .18s ease,color .18s ease,background .18s ease,transform .18s ease; }
.site-starter-groups button:hover,.site-starter-groups button:focus-visible { border-color:#168fe3; outline:none; color:#0874c4; background:#fff; transform:translateX(3px); }
.site-starter-groups button:disabled { opacity:.55; cursor:progress; }
.site-starter-groups [data-custom-site-starters] { display:grid; gap:8px; }
.site-starter-saved-row { display:grid; grid-template-columns:minmax(0,1fr) 48px; gap:8px; }
.site-starter-groups .site-starter-saved-row [data-delete-custom-site-template] { min-height:48px; padding:0; justify-content:center; color:#9b3341; font-size:20px; text-align:center; }
.site-starter-groups .site-starter-saved-row [data-delete-custom-site-template]:hover,
.site-starter-groups .site-starter-saved-row [data-delete-custom-site-template]:focus-visible { color:#c31f37; background:#fff5f6; transform:none; }
.site-starter-empty { color:#8491a0; font-family:Georgia,serif; font-weight:400; }

@media (max-width: 620px) {
  .site-starter-modal { padding:0; place-items:stretch; }
  .site-starter-sheet { min-height:100svh; max-height:none; padding:88px 24px 30px; }
  .site-starter-groups > section { grid-template-columns:1fr; }
  .site-starter-groups h3 { grid-row:auto; margin-bottom:3px; }
}

@media (prefers-reduced-motion: reduce) {
  .site-starter-modal,.site-starter-sheet,.site-starter-groups button,.page-template-library > summary i { transition:none; }
}
