:root {
  --ink: #171310;
  --cream: #f1eee6;
  --paper: #fbfaf6;
  --sand: #d6c8b4;
  --rust: #955948;
  --muted: #726c64;
  --line: rgba(23, 19, 16, 0.16);
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Manrope", Arial, sans-serif;
  --pad: clamp(1.25rem, 4vw, 4.75rem);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
}
body.editor-open { overflow: hidden; }
a { color: inherit; }
button, input, textarea, select { font: inherit; }
img { max-width: 100%; display: block; }

.skip-link {
  position: fixed; left: 1rem; top: -5rem; z-index: 1000;
  padding: .7rem 1rem; background: white; color: black;
}
.skip-link:focus { top: 1rem; }

.site-header {
  position: fixed; inset: 0 0 auto; z-index: 50;
  display: grid; grid-template-columns: 1fr auto 1fr;
  align-items: center; min-height: 86px; padding: 0 var(--pad);
  color: white; transition: background .35s, color .35s, min-height .35s, box-shadow .35s;
}
.site-header.scrolled {
  min-height: 68px; background: rgba(251,250,246,.96); color: var(--ink);
  box-shadow: 0 1px 0 rgba(23,19,16,.1); backdrop-filter: blur(12px);
}
.wordmark { text-decoration: none; display: inline-flex; flex-direction: column; line-height: 1; width: fit-content; }
.wordmark span { font-family: var(--serif); font-size: clamp(1.25rem, 2vw, 1.65rem); letter-spacing: .015em; }
.wordmark small { font-size: .58rem; letter-spacing: .28em; text-transform: uppercase; margin-top: .45rem; }
.site-nav { display: flex; gap: clamp(1rem, 2vw, 2.2rem); align-items: center; }
.site-nav a, .editor-launch {
  font-size: .68rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; text-decoration: none;
}
.site-nav a { position: relative; }
.site-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -.4rem; height: 1px; background: currentColor; transition: right .25s; }
.site-nav a:hover::after { right: 0; }
.editor-launch { justify-self: end; color: inherit; background: transparent; border: 1px solid currentColor; padding: .65rem .85rem; cursor: pointer; }
.menu-button { display: none; border: 0; background: none; color: inherit; width: 44px; height: 44px; padding: 10px; }
.menu-button span { display: block; height: 1px; background: currentColor; margin: 7px 0; }

.hero { position: relative; min-height: 100svh; overflow: hidden; color: white; background: var(--ink); }
.hero-photo {
  position: absolute; inset: 0; background-image:
    radial-gradient(circle at 66% 36%, rgba(255,255,255,.18) 0, rgba(255,255,255,0) 20%),
    linear-gradient(115deg, #2a211d 0%, #5f4438 48%, #181310 100%);
  background-size: cover; background-position: center 28%; transform: scale(1.02);
}
.hero-photo::before {
  content: ""; position: absolute; inset: 0;
  background:
    radial-gradient(ellipse at 72% 45%, transparent 0 17%, rgba(16,10,8,.25) 34%, transparent 50%),
    linear-gradient(90deg, rgba(13,9,7,.65), transparent 55%);
}
.hero-photo::after {
  content: "PORTRAIT"; position: absolute; right: 14vw; top: 48%; transform: translateY(-50%);
  font-family: var(--serif); font-size: clamp(2rem, 7vw, 8rem); letter-spacing: .08em; opacity: .08;
}
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(12,9,8,.8) 0%, rgba(12,9,8,.25) 55%, rgba(12,9,8,.12) 100%), linear-gradient(0deg, rgba(10,7,6,.75), transparent 45%); }
.hero-grain { position: absolute; inset: 0; opacity: .15; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E"); mix-blend-mode: soft-light; pointer-events: none; }
.hero-copy { position: absolute; left: var(--pad); bottom: 13vh; z-index: 2; max-width: 820px; }
.kicker, .eyebrow, .media-category, .event-type { text-transform: uppercase; letter-spacing: .22em; font-size: .65rem; font-weight: 600; }
.hero h1 { margin: .55rem 0 1rem; font: 500 clamp(4.4rem, 10vw, 10.5rem)/.72 var(--serif); letter-spacing: -.05em; }
.hero-tagline { max-width: 620px; margin: 0 0 2rem; font: italic 400 clamp(1.2rem, 2vw, 1.75rem)/1.25 var(--serif); }
.hero-actions { display: flex; gap: 1.8rem; align-items: center; flex-wrap: wrap; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: .8rem 1.25rem; border: 1px solid transparent; text-decoration: none; text-transform: uppercase; letter-spacing: .15em; font-size: .66rem; font-weight: 600; cursor: pointer; transition: transform .2s, background .2s, color .2s; }
.button:hover { transform: translateY(-2px); }
.button-light { background: var(--paper); color: var(--ink); }
.button-dark { background: var(--ink); color: white; }
.button-outline-light { border-color: rgba(255,255,255,.5); color: white; margin-top: 3.5rem; }
.text-link { display: inline-flex; gap: .6rem; align-items: center; text-decoration: none; padding-bottom: .25rem; border-bottom: 1px solid currentColor; font-size: .78rem; letter-spacing: .05em; }
.text-link span { transition: transform .2s; }
.text-link:hover span { transform: translate(3px,-3px); }
.light { color: white; }
.hero-note { position: absolute; right: var(--pad); bottom: 6vh; z-index: 2; text-align: right; font-size: .72rem; }
.hero-note span { text-transform: uppercase; letter-spacing: .2em; opacity: .7; }
.hero-note p { margin: .3rem 0 0; font-family: var(--serif); font-style: italic; font-size: 1.1rem; }
.scroll-mark { position: absolute; right: var(--pad); top: 48%; z-index: 2; color: white; text-decoration: none; display: flex; align-items: center; gap: .7rem; transform: rotate(90deg) translateX(50%); transform-origin: right center; font-size: .62rem; letter-spacing: .18em; text-transform: uppercase; }
.scroll-mark i { width: 60px; height: 1px; background: currentColor; }

.intro-strip { padding: clamp(3rem, 8vw, 7.5rem) var(--pad); background: var(--cream); }
.intro-strip p { max-width: 1050px; margin: 0 auto; text-align: center; font: 400 clamp(2rem, 4.6vw, 4.5rem)/1.05 var(--serif); letter-spacing: -.02em; }

.section { padding: clamp(5rem, 10vw, 10rem) var(--pad); }
.section-label { display: flex; gap: .7rem; align-items: center; color: var(--muted); text-transform: uppercase; letter-spacing: .18em; font-size: .62rem; font-weight: 600; }
.section-label span { font-family: var(--serif); font-size: 1rem; letter-spacing: 0; }
.about-grid { display: grid; grid-template-columns: minmax(280px,.82fr) minmax(350px,1.18fr); gap: clamp(3rem, 9vw, 10rem); align-items: center; margin-top: 3.5rem; }
.about-photo-wrap { max-width: 620px; }
.portrait { aspect-ratio: 4/5.25; background-image: linear-gradient(145deg, #d6c8b4, #8f7362 48%, #392b26); background-size: cover; background-position: center; position: relative; }
.portrait::after { content: "PORTRAIT"; position: absolute; inset: auto 0 45%; text-align: center; color: rgba(255,255,255,.35); font-family: var(--serif); font-size: clamp(2rem, 5vw, 5rem); letter-spacing: .09em; }
.photo-caption { margin: .6rem 0 0; font-size: .6rem; color: var(--muted); text-transform: uppercase; letter-spacing: .12em; }
.about-copy { max-width: 790px; }
.about h2, .section-heading h2, .gallery-title h2, .contact h2 { font: 500 clamp(3.1rem, 6vw, 6.8rem)/.92 var(--serif); letter-spacing: -.035em; margin: .6rem 0 2rem; }
.bio-text { columns: 2; column-gap: 2.5rem; color: #4f4943; }
.bio-text p { margin-top: 0; break-inside: avoid; }
.about-links { margin-top: 2.4rem; display: flex; gap: 2rem; flex-wrap: wrap; }

.schedule { background: var(--cream); }
.section-heading { display: grid; grid-template-columns: 1fr 2fr; column-gap: 4rem; align-items: end; }
.section-heading .section-label { grid-row: 1 / span 2; align-self: start; }
.section-heading .eyebrow { margin: 0; }
.section-heading h2 { margin-bottom: 0; }
.schedule-list { margin-top: 4rem; border-top: 1px solid var(--line); }
.schedule-item { display: grid; grid-template-columns: minmax(100px,.4fr) 2fr auto; gap: clamp(1.5rem, 5vw, 5rem); align-items: center; padding: 2.2rem 0; border-bottom: 1px solid var(--line); text-decoration: none; }
.date-block { display: flex; flex-direction: column; }
.date-block span { text-transform: uppercase; letter-spacing: .18em; font-size: .6rem; color: var(--muted); }
.date-block strong { font: 500 2.2rem/1 var(--serif); margin-top: .35rem; }
.event-copy p { margin: .2rem 0; color: var(--muted); }
.event-copy h3 { margin: .25rem 0; font: 500 clamp(1.6rem,3vw,2.45rem)/1.05 var(--serif); }
.event-type { color: var(--rust)!important; }
.schedule-arrow { font-size: 1.4rem; }
.schedule-note { max-width: 620px; margin: 2.2rem 0 0 auto; color: var(--muted); font-size: .85rem; }

.media { background: var(--ink); color: white; }
.section-heading.light .section-label { color: rgba(255,255,255,.55); }
.listening-room { display: grid; grid-template-columns: minmax(230px,.55fr) minmax(0,1.45fr); gap: clamp(3rem,7vw,8rem); margin-top: clamp(3rem,6vw,6rem); align-items: start; }
.listening-intro { position: sticky; top: 8rem; max-width: 390px; }
.listening-intro p { color: rgba(255,255,255,.58); line-height: 1.75; }
.listening-intro .listening-lede { margin: 0 0 1.25rem; color: white; font: 500 clamp(1.9rem,3vw,3.25rem)/1.04 var(--serif); }
.audio-playlist { border-top: 1px solid rgba(255,255,255,.2); }
.audio-track { display: grid; grid-template-columns: 2.2rem 4.5rem minmax(0,1fr); grid-template-areas: "number play copy" ". . timeline"; gap: .65rem 1.25rem; align-items: center; padding: 1.65rem 0; border-bottom: 1px solid rgba(255,255,255,.18); transition: background .25s ease, padding .25s ease; }
.audio-track.has-audio:hover, .audio-track.is-playing { background: rgba(255,255,255,.035); padding-left: .8rem; padding-right: .8rem; }
.track-number { grid-area: number; color: rgba(255,255,255,.38); font: 500 .72rem var(--sans); letter-spacing: .14em; }
.track-play { grid-area: play; width: 4.15rem; height: 4.15rem; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; background: transparent; color: white; font-size: 1rem; cursor: pointer; transition: background .2s ease, border-color .2s ease, transform .2s ease; }
.track-play:hover:not(:disabled), .audio-track.is-playing .track-play { background: var(--rust); border-color: var(--rust); transform: scale(1.03); }
.track-play:disabled { cursor: not-allowed; opacity: .32; }
.track-copy { grid-area: copy; min-width: 0; }
.track-copy .media-category { margin: 0 0 .35rem; }
.track-copy h3 { margin: 0; font: 500 clamp(1.55rem,2.6vw,2.65rem)/1.02 var(--serif); }
.track-credit { margin: .5rem 0 0; color: rgba(255,255,255,.58); font-size: .84rem; }
.audio-status { margin: .38rem 0 0; color: rgba(255,255,255,.38); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.audio-track.is-playing .audio-status { color: var(--sand); }
.track-timeline { grid-area: timeline; display: grid; grid-template-columns: 2.8rem minmax(100px,1fr) 2.8rem; gap: .7rem; align-items: center; color: rgba(255,255,255,.45); font-size: .67rem; }
.track-timeline input[type="range"] { width: 100%; height: 2px; margin: 0; accent-color: var(--sand); cursor: pointer; }
.track-timeline input[type="range"]:disabled { opacity: .3; cursor: default; }
.audio-track audio { display: none; }
.featured-video { display: grid; grid-template-columns: 1.3fr .7fr; gap: clamp(2rem,5vw,5rem); align-items: center; margin-top: clamp(5rem,10vw,10rem); padding-top: clamp(3rem,6vw,6rem); border-top: 1px solid rgba(255,255,255,.18); }
.video-shell { aspect-ratio: 16/9; background: #2c2521; position: relative; overflow: hidden; }
.video-shell iframe, .video-shell video { width: 100%; height: 100%; border: 0; display: block; }
.video-local-fallback { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .8rem; padding: 1.5rem; background-position: center; background-size: cover; color: white; text-align: center; isolation: isolate; }
.video-local-fallback::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(18,14,12,.56); }
.video-local-fallback strong { font: 500 clamp(1.2rem,2.5vw,2rem) var(--serif); }
.video-local-fallback small { max-width: 460px; line-height: 1.45; color: rgba(255,255,255,.82); }
.video-open-link { position: absolute; right: .75rem; bottom: .75rem; z-index: 2; padding: .55rem .7rem; background: rgba(15,12,10,.78); color: white; font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.video-placeholder { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .6rem; background: radial-gradient(circle at 50% 38%, #5f493e, #241d1a 62%); color: rgba(255,255,255,.78); text-align: center; padding: 1rem; }
.video-placeholder p { margin: .5rem 0 0; font-family: var(--serif); font-size: 1.35rem; }
.video-placeholder small { font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; opacity: .7; }
.video-placeholder span { font: 500 2rem var(--serif); }
.play-button { display: grid; place-items: center; width: 70px; height: 70px; border-radius: 50%; border: 1px solid rgba(255,255,255,.5); color: white; background: rgba(0,0,0,.15); }
.media-meta h3 { font: 500 clamp(2rem,4vw,4.5rem)/.94 var(--serif); margin: .4rem 0 1rem; }
.media-meta > p:not(.media-category) { color: rgba(255,255,255,.58); }
.media-category { color: var(--sand); }
.media-meta .text-link { display: inline-block; margin-top: 1.3rem; color: white; border-bottom: 1px solid rgba(255,255,255,.35); padding-bottom: .25rem; font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; }

.gallery { padding: clamp(5rem,10vw,10rem) var(--pad); }
.gallery-title { display: flex; align-items: end; justify-content: space-between; margin-bottom: 3rem; }
.gallery-title h2 { margin: 0; }
.gallery-grid { display: grid; grid-template-columns: 1.25fr .75fr; grid-template-rows: minmax(280px,34vw) minmax(260px,30vw); gap: 1rem; }
.gallery-image { position: relative; overflow: hidden; background-size: cover; background-position: center; }
.gallery-image:nth-child(1) { grid-row: 1 / span 2; background-image: linear-gradient(145deg, #6d4b3d, #1b1614); }
.gallery-image:nth-child(2) { background-image: linear-gradient(145deg, #d4c1a9, #60493d); }
.gallery-image:nth-child(3) { background-image: linear-gradient(145deg, #3f3b38, #a7775d); }
.gallery-image:nth-child(4) { display: none; }
.gallery-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.5), transparent 50%); }
.gallery-image span { position: absolute; left: 1.2rem; bottom: 1rem; z-index: 2; color: white; text-transform: uppercase; letter-spacing: .16em; font-size: .62rem; }


.contact { padding: clamp(5rem,10vw,10rem) var(--pad); background: var(--cream); }
.contact-header { max-width: 900px; }
.contact-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(3rem,8vw,8rem); margin-top: 4rem; }
.direct-contact > p { text-transform: uppercase; letter-spacing: .16em; font-size: .62rem; color: var(--muted); }
.direct-contact > a { display: block; font: 500 clamp(1.4rem,2.2vw,2.2rem) var(--serif); text-decoration-thickness: 1px; text-underline-offset: .25em; overflow-wrap: anywhere; }
.social-links { display: flex; gap: 1.5rem; margin-top: 2rem; }
.social-links a { font-size: .72rem; text-transform: uppercase; letter-spacing: .12em; }
.contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 1.3rem; }
.contact-form label { display: flex; flex-direction: column; gap: .55rem; }
.contact-form label span { text-transform: uppercase; letter-spacing: .14em; font-size: .6rem; font-weight: 600; }
.contact-form .full { grid-column: 1 / -1; }
.contact-form input, .contact-form textarea, .contact-form select { width: 100%; border: 0; border-bottom: 1px solid #91877d; background: transparent; padding: .7rem 0; border-radius: 0; color: var(--ink); }
.contact-form textarea { border: 1px solid #91877d; padding: .8rem; resize: vertical; }
.contact-form .button { justify-self: start; }

.site-footer { min-height: 170px; padding: 2rem var(--pad); background: var(--ink); color: rgba(255,255,255,.72); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; font-size: .68rem; }
.site-footer > a:last-child { justify-self: end; }
.footer-mark { color: white; }

.reveal { opacity: 0; transform: translateY(28px); transition: opacity .8s ease, transform .8s ease; }
.reveal.visible { opacity: 1; transform: none; }

.editor { position: fixed; z-index: 101; inset: 0 0 0 auto; width: min(470px, 100%); height: 100vh; height: 100dvh; max-height: 100vh; max-height: 100dvh; overflow: hidden; background: #f7f4ed; color: var(--ink); transform: translateX(102%); transition: transform .35s ease; box-shadow: -20px 0 50px rgba(0,0,0,.2); display: flex; flex-direction: column; }
.editor.open { transform: none; }
.editor-backdrop { position: fixed; z-index: 100; inset: 0; background: rgba(0,0,0,.54); }
.editor-header { padding: 1.4rem 1.5rem; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; flex: 0 0 auto; }
.editor-header small { text-transform: uppercase; letter-spacing: .14em; color: var(--muted); }
.editor-header h2 { margin: .2rem 0 0; font: 500 2.2rem var(--serif); }
.editor-close { width: 42px; height: 42px; border: 0; background: none; font-size: 2rem; cursor: pointer; }
.editor-body { min-height: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; padding: 0 1.5rem 2rem; flex: 1 1 auto; scrollbar-gutter: stable; }
.editor details { border-bottom: 1px solid var(--line); padding: 1rem 0; }
.editor summary { cursor: pointer; text-transform: uppercase; font-size: .68rem; letter-spacing: .14em; font-weight: 600; padding: .3rem 0; }
.editor label { display: flex; flex-direction: column; gap: .35rem; margin: 1rem 0; font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); }
.editor input, .editor textarea { width: 100%; background: white; border: 1px solid #d2cbc1; padding: .72rem; color: var(--ink); text-transform: none; letter-spacing: 0; }
.editor input[type="file"] { font-size: .72rem; }
.editor hr { border: 0; border-top: 1px solid var(--line); margin: 1.5rem 0; }
.editor-help { font-size: .76rem; color: var(--muted); line-height: 1.5; }
.editor-actions { padding: 1rem 1.5rem 1.3rem; border-top: 1px solid var(--line); display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; background: #f7f4ed; flex: 0 0 auto; max-height: 44dvh; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.editor-actions .button { grid-column: 1 / -1; }
.editor-secondary { border: 1px solid #aaa197; background: transparent; min-height: 40px; padding: .5rem; font-size: .65rem; text-transform: uppercase; letter-spacing: .08em; cursor: pointer; }
.editor-actions p { grid-column: 1 / -1; font-size: .68rem; color: var(--muted); margin: .3rem 0 0; }

@media (max-width: 980px) {
  .site-header { grid-template-columns: 1fr auto auto; gap: .5rem; }
  .menu-button { display: block; justify-self: end; }
  .editor-launch { margin-left: .2rem; }
  .site-nav { position: fixed; inset: 68px 0 auto; background: var(--paper); color: var(--ink); display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 1rem var(--pad) 2rem; transform: translateY(-130%); transition: transform .3s; box-shadow: 0 15px 30px rgba(0,0,0,.12); }
  .site-nav.open { transform: none; }
  .site-nav a { padding: 1rem 0; border-bottom: 1px solid var(--line); }
  .hero h1 { font-size: clamp(4.2rem, 15vw, 8rem); }
  .hero-note, .scroll-mark { display: none; }
  .about-grid, .featured-video, .contact-grid { grid-template-columns: 1fr; }
  .about-photo-wrap { width: min(78%, 620px); }
  .section-heading { grid-template-columns: 1fr; }
  .section-heading .section-label { grid-row: auto; margin-bottom: 2.3rem; }
  .listening-room { grid-template-columns: 1fr; }
  .listening-intro { position: static; max-width: 650px; }
  .featured-video { align-items: start; }
  .media-meta { max-width: 620px; }
}

@media (max-width: 680px) {
  :root { --pad: 1.2rem; }
  .site-header { min-height: 68px; }
  .wordmark span { font-size: 1.15rem; }
  .wordmark small { font-size: .5rem; }
  .editor-launch { padding: .55rem .6rem; font-size: .57rem; }
  .hero-copy { bottom: 10vh; }
  .hero h1 { font-size: clamp(4rem,20vw,6rem); line-height: .78; }
  .hero-tagline { max-width: 88%; }
  .intro-strip p { text-align: left; }
  .about-grid { margin-top: 2rem; }
  .about-photo-wrap { width: 100%; }
  .bio-text { columns: 1; }
  .about h2, .section-heading h2, .gallery-title h2, .contact h2 { font-size: clamp(2.8rem,14vw,4.6rem); }
  .schedule-item { grid-template-columns: 82px 1fr; gap: 1rem; }
  .schedule-arrow { display: none; }
  .audio-track { grid-template-columns: 1.6rem 3.6rem minmax(0,1fr); gap: .6rem .8rem; }
  .track-play { width: 3.4rem; height: 3.4rem; }
  .track-timeline { grid-column: 2 / -1; }
  .gallery-title { display: block; }
  .gallery-title .section-label { margin-bottom: 1rem; }
  .gallery-grid { grid-template-columns: 1fr; grid-template-rows: repeat(4, 75vw); }
  .gallery-image:nth-child(1) { grid-row: auto; }
  .gallery-image:nth-child(4) { display: block; background-image: linear-gradient(145deg,#aa7e69,#28201c); }
  .contact-form { grid-template-columns: 1fr; }
  .contact-form .full { grid-column: auto; }
  .site-footer { grid-template-columns: 1fr; gap: 1.5rem; text-align: left; }
  .site-footer > a:last-child { justify-self: start; }
}

/* Hide design-time photo labels after a real photograph has been loaded. */
.hero-photo.has-photo::after,
.portrait.has-photo::after {
  content: none;
  display: none;
}

.photo-slot.has-photo > span {
  display: none !important;
}

@media (max-width: 680px), (max-height: 650px) {
  .editor-header { padding: .9rem 1rem; }
  .editor-header h2 { font-size: 1.8rem; }
  .editor-body { padding: 0 1rem 1.5rem; }
  .editor-actions { padding: .75rem 1rem 1rem; gap: .5rem; max-height: 46dvh; }
  .editor-secondary { min-height: 36px; font-size: .58rem; }
}

/* Publication behavior: private controls are available only in local preview. */
.editor-launch, .editor, .editor-backdrop { display: none; }
.preview-mode .editor-launch { display: block; }
.preview-mode .editor { display: flex; }
.preview-mode .editor-backdrop:not([hidden]) { display: block; }
.featured-video.is-empty { display: none; }
.honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

.editor-check-link { display: flex; align-items: center; justify-content: center; text-decoration: none; color: var(--ink); }
.publish-status { grid-column: 1 / -1; font-size: .72rem !important; line-height: 1.5; white-space: pre-line; }
html.published-check .editor-launch { display: none !important; }
