/* Event-specific styling: no changes to the gallery, video, consent or admin. */
.mc-events{--mce-bg:var(--mc-v2-surface,#fff);--mce-soft:var(--mc-v2-surface-2,#f2f2ef);--mce-text:var(--mc-v2-text,#121316);--mce-muted:var(--mc-v2-text-2,#565a61);--mce-line:var(--mc-v2-border,rgba(18,19,22,.12));--mce-accent:var(--primary,#d8a947);color:var(--mce-text)}
.mc-events *, .mc-event-sponsor-fields, .mc-event-draft-fallback{box-sizing:border-box}
.mc-events h1,.mc-events h2,.mc-events h3{color:var(--mce-text);font-family:inherit;letter-spacing:-.035em}
.mc-events h1,.mc-events h2,.mc-events h3,.mc-events p{margin-top:0}
.mc-events p{color:var(--mce-muted);line-height:1.7}
.mc-events a{color:inherit}
.mc-events a:focus-visible,.mc-events summary:focus-visible{outline:3px solid currentColor;outline-offset:5px}
.mc-events [id],#contact-form{scroll-margin-top:calc(var(--header-height,72px) + 28px)}
.mc-events .mc-event-location{font-size:.93rem;font-weight:650;color:var(--mce-text);letter-spacing:0;margin-bottom:1.15rem}
.mc-event-location span{margin-inline:.45em}
.mc-events .mc-event-note{font-size:.88rem;line-height:1.65;color:var(--mce-muted)}
.mc-events .mc-event-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.85rem 1.3rem;margin-top:1.65rem}
.mc-events .mc-event-button{display:inline-flex;align-items:center;justify-content:center;gap:.7em;max-width:100%;min-height:48px;padding:.85rem 1.1rem;border:1px solid var(--mce-line);border-radius:9px;background:var(--mce-bg);color:var(--mce-text);text-align:center;text-decoration:none;font-size:.96rem;font-weight:650;line-height:1.4;white-space:normal;transition:border-color .16s ease,transform .16s ease}
.mc-events .mc-event-button:hover{border-color:var(--mce-text);transform:translateY(-1px)}
/* Inverse neutral colors maintain contrast across all six accent choices. */
.mc-events .mc-event-button-primary{background:var(--mce-text);color:var(--mce-bg);border-color:var(--mce-text)}
.mc-events .mc-event-text-link{display:inline-block;padding-block:.55rem;font-weight:650;text-decoration:underline;text-underline-offset:.2em;line-height:1.55}
.mc-events-heading{max-width:780px;margin-bottom:2rem}
.mc-events-heading h2{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.18;margin-bottom:.7rem}
.mc-events-heading p{font-size:1.05rem}
.mc-hosted-events-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:1.25rem}
.mc-hosted-event{min-width:0;display:flex;flex-direction:column;border:1px solid var(--mce-line);border-radius:16px;padding:clamp(1.35rem,3vw,2.4rem);background:var(--mce-bg)}
.mc-hosted-event-featured{border-top:4px solid var(--mce-accent);padding-top:calc(clamp(1.35rem,3vw,2.4rem) - 3px)}
.mc-hosted-event h3{font-size:clamp(1.6rem,2.5vw,2rem);line-height:1.2;margin-bottom:1rem}
.mc-hosted-event h3 a{text-decoration:none}.mc-hosted-event h3 a:hover{text-decoration:underline}
.mc-hosted-event>.mc-event-actions{margin-top:auto;padding-top:.9rem}
.mc-event-page{padding-top:calc(var(--header-height,72px) + 32px);padding-bottom:4rem}
.mc-event-breadcrumb{margin-bottom:2.25rem;font-size:.95rem}
.mc-event-breadcrumb a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
.mc-event-breadcrumb a:hover{text-decoration:underline}
.mc-fest-masthead{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:clamp(2rem,5vw,5rem);align-items:center;padding-block:.7rem 3.8rem}
.mc-fest-masthead-copy{min-width:0}
.mc-events .mc-fest-masthead h1{font-size:clamp(3rem,6.8vw,6.3rem);line-height:1.02;margin-bottom:1.45rem;font-weight:800}
.mc-events .mc-fest-lead{font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.65;max-width:640px}
.mc-fest-announcement{background:var(--mce-bg);border:1px solid var(--mce-line);border-top:4px solid var(--mce-accent);border-radius:14px;padding:1.65rem 1.8rem;min-width:0}
.mc-events .mc-fest-year{font-size:clamp(2.5rem,4vw,4rem);font-weight:750;letter-spacing:-.04em;line-height:1.1;color:var(--mce-text);margin-bottom:.55rem}
.mc-events .mc-fest-organizer{margin-bottom:1.2rem}
.mc-fest-announcement dl{margin:0 0 1.1rem}.mc-fest-announcement dl>div{padding-block:.75rem;border-top:1px solid var(--mce-line)}
.mc-fest-announcement dt{font-size:.8rem;color:var(--mce-muted);margin-bottom:.2rem}.mc-fest-announcement dd{margin:0;font-size:1rem;line-height:1.5;font-weight:600}
.mc-fest-announcement>:last-child{margin-bottom:0}
.mc-fest-section{border-top:1px solid var(--mce-line);padding-block:clamp(2rem,5vw,4rem)}
.mc-fest-section h2{font-size:clamp(1.8rem,3.5vw,2.6rem);line-height:1.15;margin-bottom:1.1rem}
.mc-fest-editorial{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:clamp(1.5rem,5vw,5rem)}
.mc-fest-editorial>div{min-width:0}.mc-fest-editorial p{max-width:740px}
.mc-fest-partners{padding-inline:clamp(1.25rem,4vw,3rem);border:1px solid var(--mce-line);border-radius:16px;background:var(--mce-bg);margin-block:0 3rem}
.mc-fest-partners p,.mc-fest-partners h2{max-width:800px}.mc-events .mc-event-mail-note{margin:1.1rem 0 0}
.mc-event-faq{max-width:900px}.mc-event-faq details{border-bottom:1px solid var(--mce-line)}
.mc-event-faq summary{cursor:pointer;padding:1.2rem .25rem;line-height:1.6;font-weight:650;font-size:1.04rem;min-height:48px}
.mc-event-faq details p{padding:0 .25rem 1rem;margin:0}
.mc-event-contact-card .btn{width:100%;min-height:48px;white-space:normal}.mc-event-contact-card p{margin-bottom:1rem}
.mc-event-sponsor-fields{border:1px solid var(--mc-v2-border,#ccc);border-radius:10px;padding:1rem;min-width:0;margin:.3rem 0}
.mc-event-sponsor-fields[hidden],.mc-event-draft-fallback[hidden]{display:none!important}
.mc-event-sponsor-fields legend{padding:0 .5rem;font-weight:650;color:var(--mc-v2-text,inherit)}
.mc-event-sponsor-fields p{margin:.8rem 0 0;font-size:.9rem;color:var(--mc-v2-text-2,inherit)}
.mc-event-draft-fallback{padding:1rem;background:var(--mc-v2-surface-2,#f2f2ef);border-radius:10px}
.mc-event-draft-fallback label{display:block;font-weight:600}.mc-event-draft-fallback textarea{display:block;width:100%;margin-top:.6rem;resize:vertical;font-size:16px}
.mc-event-draft-fallback p{font-size:.9rem;margin:.75rem 0 0}
@media(max-width:900px){
.mc-fest-masthead{grid-template-columns:1fr;gap:2rem;padding-bottom:2.5rem}
.mc-fest-announcement{max-width:none}.mc-fest-announcement dl{display:grid;grid-template-columns:1fr 1fr;gap:0 1.3rem}
.mc-hosted-events-grid{grid-template-columns:1fr}.mc-fest-editorial{grid-template-columns:1fr;gap:.5rem}
.mc-event-page{padding-bottom:calc(3rem + env(safe-area-inset-bottom,0px))}}
@media(max-width:540px){
.mc-events.wrap{width:calc(100% - 32px);padding-inline:0;max-width:100%}
.mc-event-page{padding-top:calc(var(--header-height,72px) + 16px)}.mc-event-breadcrumb{margin-bottom:1.25rem}
.mc-events .mc-fest-masthead h1{font-size:clamp(2.7rem,13vw,4.3rem)}
.mc-fest-announcement{padding:1.25rem}.mc-fest-announcement dl{grid-template-columns:1fr}
.mc-events .mc-event-actions{flex-direction:column;align-items:stretch}
.mc-events .mc-event-actions .mc-event-button{width:100%}.mc-events .mc-event-text-link{min-height:44px}
.mc-fest-partners .mc-event-button{width:100%}.mc-contact-form-actions{flex-wrap:wrap}
.mc-contact-form-actions [data-contact-copy]{min-height:48px;white-space:normal}}
@media(prefers-reduced-motion:reduce){.mc-events .mc-event-button{transition:none}.mc-events .mc-event-button:hover{transform:none}}

/* v1.0.1: festival-specific social links; preserve other event and Contact styles. */
.mc-event-page .mc-fest-socials{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;margin-top:1.1rem}
.mc-event-page .mc-fest-social-link{flex:0 1 auto;min-height:48px;gap:.6rem;padding:.75rem 1rem}
.mc-event-page .mc-fest-social-link svg{display:block;flex:0 0 20px;width:20px;height:20px}
.mc-event-page .mc-fest-social-link svg path{fill:currentColor}

/* v1.0.2: keep Contact actions readable without depending on older gold-button overrides. */
body.mc-public.page-contact .mc-contact-form-actions .btn-home-gold,
body.mc-public.page-contact .mc-event-contact-card .btn-primary {
  background: var(--mc-v2-text, #121316);
  border-color: var(--mc-v2-text, #121316);
  color: var(--mc-v2-surface, #fff);
  text-shadow: none;
}

/* v1.0.4 — festival poster treatment, strictly scoped to the festival page.
 * The original v1 rules above remain unchanged for homepage and Contact.
 * All visuals are CSS/inline vector. No photos, fonts, JS or embeds are fetched.
 */
body.mc-public .mc-events.mc-festival-v2 {
  --mrf-paper: #f8efdd;
  --mrf-ink: #163d36;
  --mrf-subtle: #38544b;
  --mrf-warm: #a74425;
  --mrf-seam: rgba(22,61,54,.17);
  max-width: 1280px;
  overflow-wrap: anywhere;
  padding-bottom: clamp(2.5rem,6vw,5rem);
}
body.mc-public .mc-events.mc-festival-v2 .mc-event-breadcrumb {margin-bottom:1.2rem}
body.mc-public .mc-events.mc-festival-v2 .mc-event-breadcrumb a {gap:.6rem;line-height:1.5}
body.mc-public .mc-events.mc-festival-v2 .mrf-hero {
  display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  background:var(--mrf-paper);border:1px solid var(--mrf-seam);border-radius:18px;
  overflow:hidden;isolation:isolate;align-items:stretch;
}
body.mc-public .mc-events.mc-festival-v2 .mrf-hero-copy {min-width:0;align-self:center;padding:clamp(1.6rem,4vw,3.5rem)}
body.mc-public .mc-events.mc-festival-v2 .mrf-presenter {color:var(--mrf-ink);font-size:1rem;font-weight:650;margin:0 0 1.5rem;letter-spacing:.01em}
body.mc-public .mc-events.mc-festival-v2 h1 {
  font-family:inherit;color:var(--mrf-ink);font-weight:850;font-size:clamp(2.7rem,5.3vw,4.8rem);
  line-height:1.02;letter-spacing:-.06em;margin:0 0 1.6rem;text-wrap:initial;
}
body.mc-public .mc-events.mc-festival-v2 h1 span {display:block}
body.mc-public .mc-events.mc-festival-v2 h1 span:last-child {color:var(--mrf-warm);letter-spacing:-.06em}
body.mc-public .mc-events.mc-festival-v2 .mrf-place {font-size:1rem;line-height:1.5;font-weight:650;color:var(--mrf-ink);margin:0 0 1.2rem;letter-spacing:0}
body.mc-public .mc-events.mc-festival-v2 .mrf-place strong {font-size:1.4rem;font-variant-numeric:tabular-nums}
body.mc-public .mc-events.mc-festival-v2 .mrf-place span {margin:0 .45em;font-weight:400;opacity:.6}
body.mc-public .mc-events.mc-festival-v2 .mrf-intro {font-size:clamp(1.025rem,1.3vw,1.16rem);line-height:1.7;color:var(--mrf-subtle);max-width:38ch;margin:0 0 1.85rem}
body.mc-public .mc-events.mc-festival-v2 .mrf-actions {display:flex;align-items:center;gap:.9rem 1.2rem;flex-wrap:wrap}
body.mc-public .mc-events.mc-festival-v2 .mrf-actions .mc-event-button-primary {background:var(--mrf-ink);border-color:var(--mrf-ink);color:var(--mrf-paper);font-size:.98rem;min-height:50px;box-shadow:none}
body.mc-public .mc-events.mc-festival-v2 .mrf-follow-link {display:inline-flex;align-items:center;gap:.6rem;color:var(--mrf-ink);min-height:48px;font-size:.95rem;font-weight:650;text-decoration:underline;text-underline-offset:.25em}
body.mc-public .mc-events.mc-festival-v2 .mrf-coast-art {min-width:0;position:relative;display:flex;background:#f4dfb4;overflow:hidden;border-left:1px solid var(--mrf-seam)}
body.mc-public .mc-events.mc-festival-v2 .mrf-coast-art>svg {display:block;width:100%;height:100%;min-height:570px;aspect-ratio:600/670;object-fit:cover}
body.mc-public .mc-events.mc-festival-v2 .mrf-updates {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center;padding:2.2rem .3rem 2.5rem;scroll-margin-top:calc(var(--header-height,72px) + 24px)}
body.mc-public .mc-events.mc-festival-v2 .mrf-updates h2 {font-size:clamp(1.25rem,2vw,1.55rem);font-weight:700;line-height:1.3;margin:0 0 .6rem}
body.mc-public .mc-events.mc-festival-v2 .mrf-updates p {margin:0;font-size:.98rem;line-height:1.65;max-width:64ch}
body.mc-public .mc-events.mc-festival-v2 .mrf-socials {display:flex;gap:.65rem;flex-wrap:wrap}
body.mc-public .mc-events.mc-festival-v2 .mrf-socials .mc-event-button {gap:.6rem;min-height:48px;font-size:.95rem;background:transparent}
body.mc-public .mc-events.mc-festival-v2 .mrf-socials svg {width:20px;height:20px;flex:0 0 20px}
body.mc-public .mc-events.mc-festival-v2 .mrf-sponsor {background:#173e37;color:#fbf3df;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(1.5rem,4vw,4rem);align-items:center;border-radius:16px;padding:clamp(1.5rem,4vw,3.2rem);border-top:5px solid var(--primary,#d4af37);position:relative}
body.mc-public .mc-events.mc-festival-v2 .mrf-sponsor h2 {font-size:clamp(1.8rem,3vw,2.6rem);color:#fbf3df;line-height:1.13;margin:0 0 1rem;max-width:24ch}
body.mc-public .mc-events.mc-festival-v2 .mrf-sponsor p {color:#e0eadf;max-width:69ch;font-size:1.05rem;margin:0 0 .85rem;line-height:1.7}
body.mc-public .mc-events.mc-festival-v2 .mrf-sponsor .mrf-fine {color:#d0ddcf;font-size:.9rem;margin:0;line-height:1.6}
body.mc-public .mc-events.mc-festival-v2 .mrf-sponsor .mc-event-button {min-width:0;max-width:100%;background:#f5dc9d;color:#183d36;border-color:#f5dc9d;font-size:1rem;white-space:normal;min-height:52px}
body.mc-public .mc-events.mc-festival-v2 .mrf-portland {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,5vw,5rem);padding:clamp(2.4rem,6vw,4.5rem) .3rem 1rem}
body.mc-public .mc-events.mc-festival-v2 .mrf-portland>div {min-width:0}
body.mc-public .mc-events.mc-festival-v2 .mrf-portland .mrf-place {color:var(--mce-muted);font-weight:600;margin:0 0 .9rem}
body.mc-public .mc-events.mc-festival-v2 .mrf-portland h2 {font-size:clamp(1.9rem,3.5vw,2.7rem);line-height:1.15;margin:0;max-width:18ch}
body.mc-public .mc-events.mc-festival-v2 .mrf-portland p:not(.mrf-place) {font-size:1.08rem;line-height:1.75;margin:0 0 .75rem;max-width:58ch}
body.mc-public .mc-events.mc-festival-v2 .mrf-text-link {min-height:48px;display:inline-flex;align-items:center;gap:.7em;font-weight:650;color:var(--mce-text);text-decoration:underline;text-underline-offset:.28em;line-height:1.5}
body.mc-public .mc-events.mc-festival-v2 a:focus-visible {outline:3px solid currentColor;outline-offset:5px}
body.mc-public .mc-events.mc-festival-v2 .mrf-hero a:focus-visible {outline-color:var(--mrf-warm)}
body.mc-public .mc-events.mc-festival-v2 .mrf-sponsor a:focus-visible {outline-color:#fff8e7}
html[data-theme="dark"] body.mc-public .mc-events.mc-festival-v2 {--mrf-paper:#142f2b;--mrf-ink:#fbf0d6;--mrf-subtle:#d0ded3;--mrf-warm:#f2bc70;--mrf-seam:rgba(251,240,214,.18)}
html[data-theme="dark"] body.mc-public .mc-events.mc-festival-v2 .mrf-sponsor {background:#193c35}
html[data-theme="dark"] body.mc-public .mc-events.mc-festival-v2 .mrf-actions .mc-event-button-primary {background:#f2bc70;border-color:#f2bc70;color:#163d36}
@media(max-width:1050px) {
 body.mc-public .mc-events.mc-festival-v2 .mrf-updates {grid-template-columns:1fr;gap:1.2rem}
 body.mc-public .mc-events.mc-festival-v2 .mrf-hero {grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
 body.mc-public .mc-events.mc-festival-v2 .mrf-hero-copy {padding:2rem}
 body.mc-public .mc-events.mc-festival-v2 h1 {font-size:clamp(2.8rem,5.7vw,4.3rem)}
}
@media(max-width:760px) {
 body.mc-public .mc-events.mc-festival-v2 .mrf-hero {display:flex;flex-direction:column}
 body.mc-public .mc-events.mc-festival-v2 .mrf-hero-copy {align-self:stretch;padding:clamp(1.3rem,5vw,2.5rem)}
 body.mc-public .mc-events.mc-festival-v2 h1 {font-size:clamp(2.7rem,9.8vw,4.6rem);line-height:1.02}
 body.mc-public .mc-events.mc-festival-v2 .mrf-presenter {margin-bottom:1.2rem}
 body.mc-public .mc-events.mc-festival-v2 .mrf-intro {max-width:50ch;margin-bottom:1.3rem}
 body.mc-public .mc-events.mc-festival-v2 .mrf-coast-art {height:clamp(220px,52vw,320px);border-left:0;border-top:1px solid var(--mrf-seam);flex:none}
 body.mc-public .mc-events.mc-festival-v2 .mrf-coast-art>svg {position:absolute;inset:0;width:100%;height:100%;min-height:0;aspect-ratio:auto}
 body.mc-public .mc-events.mc-festival-v2 .mrf-updates {padding:1.8rem .15rem 2rem}
 body.mc-public .mc-events.mc-festival-v2 .mrf-sponsor {grid-template-columns:minmax(0,1fr);gap:1.35rem}
 body.mc-public .mc-events.mc-festival-v2 .mrf-sponsor .mc-event-button {justify-self:start}
 body.mc-public .mc-events.mc-festival-v2 .mrf-portland {grid-template-columns:1fr;gap:1.1rem}
 body.mc-public .mc-events.mc-festival-v2 .mrf-portland h2 {max-width:22ch}
}
@media(max-width:380px) {
 body.mc-public .mc-events.mc-festival-v2 .mrf-hero-copy {padding:1.25rem 1.15rem}
 body.mc-public .mc-events.mc-festival-v2 h1 {font-size:2.65rem}
 body.mc-public .mc-events.mc-festival-v2 .mrf-place {font-size:.95rem}
 body.mc-public .mc-events.mc-festival-v2 .mrf-actions {gap:.55rem}
 body.mc-public .mc-events.mc-festival-v2 .mrf-actions .mc-event-button-primary {width:100%}
 body.mc-public .mc-events.mc-festival-v2 .mrf-socials {gap:.5rem}
 body.mc-public .mc-events.mc-festival-v2 .mrf-socials .mc-event-button {padding:.7rem .7rem;font-size:.9rem}
 body.mc-public .mc-events.mc-festival-v2 .mrf-sponsor .mc-event-button {width:100%}
}
@media(prefers-reduced-motion:reduce) {
 body.mc-public .mc-events.mc-festival-v2 *, body.mc-public .mc-events.mc-festival-v2 *::before, body.mc-public .mc-events.mc-festival-v2 *::after {scroll-behavior:auto;transition:none}
}
