
.ff-shell{padding:2rem 0 4rem}.ff-shell h2{color:var(--ie2-navy);font-size:clamp(1.5rem,2.5vw,2.2rem)}.ff-shell p,.ff-shell li{line-height:1.65}
.ff-intro,.ff-language{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.ff-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1.2rem 0}
.ff-card,.ff-note,.ff-details,.ff-workspace{padding:1.3rem;background:white;border:1px solid var(--ie2-line);border-radius:8px;min-width:0}.ff-card h3{color:var(--ie2-navy)}.ff-step{display:inline-grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--ie2-teal);color:white;font-weight:900}
.ff-note{background:#eef6f4;border-left:4px solid var(--ie2-teal)}.ff-details{margin:1rem 0}.ff-details summary{min-height:44px;cursor:pointer;font-size:1.15rem;font-weight:750;color:var(--ie2-navy)}.ff-plan li{padding:.6rem}
.ff-shell blockquote{margin:1rem 0;padding:1rem;border-left:3px solid var(--ie2-blue);background:#f2f5fb;line-height:1.65}
.ff-workspace{margin-top:2rem;padding:clamp(1rem,2vw,2rem)}.ff-workspace label,.ff-evaluate label{display:grid;gap:.4rem;margin:.7rem 0;font-weight:650}.ff-workspace input:not([type=checkbox]),.ff-workspace textarea,.ff-workspace select,.ff-evaluate input:not([type=checkbox]),.ff-evaluate select,.ff-evaluate textarea{font:inherit;width:100%;min-width:0;min-height:44px;padding:.7rem;border:1px solid #aebdce;border-radius:7px;background:white;color:#112b4a}
.ff-workspace fieldset,.ff-evaluate fieldset{border:0;padding:0;margin:0;min-width:0}
.ff-toolbar{display:flex;align-items:end;gap:1rem;flex-wrap:wrap;margin:1rem 0}.ff-toolbar label{flex:1;min-width:220px;margin:0}.ff-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1.5rem}
.ff-small{font-size:.9rem;color:var(--ie2-muted)}.ff-preview{display:block;max-width:100%;width:480px;max-height:340px;object-fit:contain;border-radius:8px;background:#edf2f7;margin:1rem 0}
.ff-check{display:flex!important;align-items:flex-start;gap:.7rem!important;font-weight:450!important}.ff-check input{width:20px;height:20px;flex-shrink:0;margin-top:3px}
.ff-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.ff-entry{border:1px solid var(--ie2-line);border-radius:8px;overflow:hidden;min-width:0;background:#f7f9fc}.ff-entry-project{display:block;width:100%;padding:0;border:0;background:white;text-align:left;color:var(--ie2-navy);cursor:zoom-in}.ff-entry img{width:100%;height:190px;object-fit:contain;background:#0b1e36;display:block}.ff-entry-project strong,.ff-entry-project span{display:block;margin:.7rem 1rem;overflow-wrap:anywhere}.ff-entry>p{margin:1rem}.ff-entry>button:not(.ff-entry-project){margin:0 1rem 1rem}
.ff-projector{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#08192e;color:white}.ff-projector[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}.ff-projector header,.ff-projector footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding:.9rem 1.5rem}.ff-projector h2{font-size:clamp(1.3rem,2.5vw,2.6rem);color:white;margin:.2rem 0}.ff-projector p{margin:0;color:#c4d7e7}.ff-projector button,.ff-close{min-height:44px;font:inherit;padding:.5rem .8rem;border:1px solid #bdcddd;border-radius:6px;background:white;color:#102a4b;cursor:pointer}.ff-project-image{min-height:0;display:grid;place-items:center;padding:.5rem}.ff-project-image img{width:100%;height:100%;object-fit:contain;min-height:0}
.ff-projector #ff-timer{font-size:1.7rem;font-variant-numeric:tabular-nums;font-weight:800}.ff-projector footer{justify-content:center}.ff-evaluate{position:fixed;inset:0;margin:auto;width:min(1050px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;border:0;border-radius:12px;padding:1.5rem;color:#102a4b}.ff-evaluate::backdrop,.ff-projector::backdrop{background:#051327dc}.ff-close{float:right}.ff-evaluate legend{font-size:1.3rem;font-weight:800;padding:1rem 0}.ff-evaluate p{line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.ff-workspace button:disabled{opacity:.55;cursor:wait}.ff-shell :focus-visible,.ff-projector :focus-visible,.ff-evaluate :focus-visible{outline:3px solid #d6a02c;outline-offset:3px}.ff-workspace [role=status]:not(:empty){padding:.6rem 0}.ff-workspace [hidden],.ff-preview[hidden]{display:none!important}
@media(max-width:1100px){.ff-grid,.ff-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.ff-intro,.ff-language,.ff-form-grid{grid-template-columns:1fr}.ff-grid{grid-template-columns:1fr}.ff-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.ff-toolbar label{min-width:100%}.ff-entry img{height:140px}.ff-projector header,.ff-projector footer{padding:.65rem;gap:.5rem}}
@media(max-width:390px){.ff-gallery{grid-template-columns:1fr}}

.ff-intro .intermediate2-kicker{color:var(--ie2-navy);background:#e7edf6}.ff-projector header>div:first-child{flex:1;min-width:0}.ff-projector header>div:last-child{display:flex;gap:.5rem}.ff-projector h2,.ff-workspace h3,#ff-class-info{overflow-wrap:anywhere}

/* The shared navigation clips dropdowns; keep this activity's sign-in in the viewport.
   Removing the header backdrop filter also prevents it containing fixed descendants. */
.ie2-film-festival-page .site-header{z-index:1400;overflow:visible;backdrop-filter:none;-webkit-backdrop-filter:none}
.ie2-film-festival-page .navbar,.ie2-film-festival-page .nav-links{overflow:visible}
.ie2-film-festival-page .nav-links{flex-wrap:wrap}
.ie2-film-festival-page .jaralingua-auth-nav .auth-panel{position:fixed;top:88px;right:18px;left:auto;bottom:auto;width:min(380px,calc(100vw - 36px));height:auto;max-height:calc(100dvh - 106px);overflow-y:auto}
@media(max-width:760px){.ie2-film-festival-page .jaralingua-auth-nav .auth-panel{top:max(12px,env(safe-area-inset-top));right:12px;left:12px;bottom:auto;width:auto;max-height:calc(100dvh - 24px);height:auto}}

.ie2-film-festival-page .u4-hero-image{object-position:center top}
