html { background: #000; }
body.proposal-page { margin: 0; padding: clamp(8px, 2vw, 24px); }
.proposal-page main { max-width: 1600px; margin: 0 auto; }
body.documentary-current { padding: 0; background: #000; }
.documentary-current main { max-width: none; }
.site-menu { --menu-ink: #f6f5ef; --menu-surface: #10372df5; --menu-line: #ffffff35; --menu-selected: #ffffff13; position: fixed; top: max(12px, env(safe-area-inset-top)); right: max(12px, env(safe-area-inset-right)); z-index: 150; font: 16px/1.25 'EB Garamond', Garamond, Georgia, serif; color: var(--menu-ink); }
.site-menu *, .site-menu *::before, .site-menu *::after { box-sizing: border-box; }
.site-menu-toggle { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--menu-line); border-radius: 50%; color: inherit; background: var(--menu-surface); box-shadow: 0 3px 18px #0003; cursor: grab; touch-action: none; user-select: none; }
.site-menu-toggle svg, .site-menu-theme svg, .site-language-globe { fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; pointer-events: none; }
.site-menu-toggle:active { cursor: grabbing; }
.site-menu-panel { position: fixed; top: 64px; right: 12px; width: min(310px, calc(100vw - 16px)); padding: 12px; border: 1px solid var(--menu-line); border-radius: 12px; color: inherit; background: var(--menu-surface); backdrop-filter: blur(18px); box-shadow: 0 12px 38px #0004; }
.site-menu-panel[hidden] { display: none; }
.site-menu-views { display: grid; gap: 2px; }
.site-menu-views a { display: flex; align-items: center; min-width: 0; min-height: 36px; padding: 6px 10px; border: 1px solid transparent; border-radius: 6px; color: inherit; text-decoration: none; }
.site-menu-views a:hover, .site-menu-views a[aria-current], .site-menu-language a:hover, .site-menu-language a[aria-current] { background: var(--menu-selected); border-color: var(--menu-line); }
.site-menu-language { display: grid; gap: 6px; margin-top: 10px; padding-top: 9px; border-top: 1px solid var(--menu-line); }
.site-language-heading { padding-left: 10px; font-size: 12px; letter-spacing: .07em; opacity: .68; }
.site-menu-language a { display: flex; align-items: center; gap: 7px; min-width: 0; min-height: 34px; padding: 6px; border: 1px solid transparent; border-radius: 6px; color: inherit; text-decoration: none; font-size: 14px; }
.site-language-auto { padding-inline: 10px !important; }
.site-language-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3px; }
.site-language-flag { flex: 0 0 21px; width: 21px; height: 14px; border-radius: 2px; box-shadow: 0 0 0 1px #ffffff25; }
.site-language-globe { flex: 0 0 21px; }
.site-menu-theme { display: flex; align-items: center; gap: 8px; min-height: 36px; margin-top: 9px; width: 100%; padding: 7px 10px; border: 0; border-top: 1px solid var(--menu-line); border-radius: 0; color: inherit; background: transparent; font: inherit; cursor: pointer; }
.site-menu button:focus-visible, .site-menu a:focus-visible { outline: 2px solid var(--menu-ink); outline-offset: 1px; }
[data-site-theme="light"] .site-menu { --menu-ink: #103b2e; --menu-surface: #f7f6eff7; --menu-line: #103b2e30; --menu-selected: #103b2e0d; }
@media (max-height: 450px) {
  .site-menu-panel { width: min(380px, calc(100vw - 16px)); padding: 8px 10px; }
  .site-menu-views { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3px; }
  .site-menu-views a { justify-content: center; text-align: center; padding: 4px; font-size: 15px; }
  .site-menu-language { margin-top: 5px; padding-top: 5px; gap: 3px; }
  .site-language-heading { display: none; }
  .site-language-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .site-menu-language a { min-height: 32px; padding-block: 4px; }
  .site-menu-theme { margin-top: 5px; min-height: 32px; padding-block: 4px; }
}

/* Three explicit appearance choices and the approved signature package. */
.site-menu-appearance{display:flex;gap:4px;padding-top:10px;border-top:1px solid #8884}
.site-menu-appearance button{flex:1;min-width:0;border:1px solid #8885;border-radius:8px;background:transparent;color:inherit;padding:8px 3px;font:inherit;font-size:12px;cursor:pointer}
.site-menu-appearance button[aria-pressed="true"]{background:#8883;border-color:currentColor}
.site-menu-signature{height:44px;margin-top:8px;text-align:center}.site-menu-signature img{height:100%;width:auto;object-fit:contain}.signature-light{display:none}
body[data-site-theme="light"] .signature-dark{display:none}body[data-site-theme="light"] .signature-light{display:inline}
@media(max-height:450px){.site-menu-signature{display:none}.site-menu-appearance{padding-top:4px}}

.site-menu-admin{display:flex;align-items:center;gap:10px;min-height:44px;margin-top:10px;padding:10px 12px;border:1px solid var(--menu-line);border-radius:9px;color:inherit;background:var(--menu-selected);font:inherit;text-decoration:none;transition:background .2s,border-color .2s}
.site-menu-admin:hover{background:var(--menu-selected);border-color:var(--menu-ink)}
.site-menu-admin svg{flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.site-menu-admin .site-admin-arrow{margin-left:auto;opacity:.7}
@media(max-height:450px){.site-menu-admin{margin-top:6px;padding-block:6px}}

.site-menu-contact { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 44px; margin-top: 10px; padding: 10px 12px; border: 1px solid var(--menu-line); border-radius: 9px; color: inherit; background: var(--menu-selected); font: inherit; text-align: left; cursor: pointer; }
.site-menu-contact:hover { border-color: var(--menu-ink); }
.site-menu-contact svg { flex: none; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linejoin: round; }
.site-contact { --contact-ink: #f6f5ef; --contact-surface: #10372d; --contact-line: #ffffff55; box-sizing: border-box; width: min(540px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); margin: auto; padding: clamp(18px, 3vw, 30px); border: 1px solid var(--contact-line); border-radius: 14px; background: var(--contact-surface); color: var(--contact-ink); font: 18px/1.35 'EB Garamond', Garamond, Georgia, serif; box-shadow: 0 20px 70px #0005; overflow: auto; }
.site-contact::backdrop { background: #0008; backdrop-filter: blur(4px); }
[data-site-theme="light"] .site-contact { --contact-ink: #103b2e; --contact-surface: #f7f6ef; --contact-line: #103b2e55; }
.site-contact *, .site-contact *::before, .site-contact *::after { box-sizing: border-box; }
.site-contact-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.site-contact-heading h2 { margin: 0; font: inherit; font-size: clamp(25px, 3vw, 34px); }
.site-contact-heading button { flex: none; width: 44px; height: 44px; border: 1px solid var(--contact-line); border-radius: 50%; background: transparent; color: inherit; font: inherit; font-size: 28px; cursor: pointer; }
.site-contact form { display: grid; gap: 8px; }
.site-contact label { margin-top: 5px; }
.site-contact input, .site-contact textarea { width: 100%; min-height: 44px; border: 1px solid var(--contact-line); border-radius: 7px; padding: 10px 12px; background: transparent; color: inherit; font: inherit; font-size: 18px; }
.site-contact textarea { min-height: 140px; max-height: 35dvh; resize: vertical; }
.site-contact [data-contact-status] { margin: 7px 0; font-size: 17px; }
.site-contact [data-contact-status]:empty { display: none; }
.site-contact-send { min-height: 46px; margin-top: 8px; padding: 10px 16px; border: 1px solid var(--contact-line); border-radius: 7px; background: var(--contact-ink); color: var(--contact-surface); font: inherit; cursor: pointer; }
.site-contact-send:disabled { opacity: .6; cursor: wait; }
.site-contact :is(button, input, textarea):focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.site-contact-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (max-height: 450px) { .site-menu-contact { margin-top: 6px; padding-block: 6px; } .site-contact-heading { margin-bottom: 6px; } .site-contact textarea { min-height: 90px; } }
