/* Prompt-Vault Atlas: MG Styles 15 integration.
   Original editorial layout; upstream videos and posters retain their own rights.
   MIT source attribution is in mg-film-styles.html.
*/
.mf-page{--mf-ink:#17221e;--mf-dim:#4b5a50;--mf-rule:#abb5a9;--mf-cream:#f4f0e7;--mf-pink:#c8543a;background:var(--mf-cream);color:var(--mf-ink);font-family:var(--sans)}
.mf-shell{width:min(1220px,calc(100% - 48px));margin-inline:auto}
.mf-page a:focus-visible,.mf-page button:focus-visible,.mf-page input:focus-visible,.mf-page select:focus-visible,.mf-page textarea:focus-visible{outline:3px solid var(--mf-pink);outline-offset:3px}
.mf-mast{border-bottom:1px solid var(--mf-ink);display:flex;justify-content:space-between;align-items:center;gap:24px;padding:21px 0}
.mf-logo{font:800 1.38rem/.83 var(--sans);letter-spacing:-.085em;text-decoration:none;flex:0 0 auto}
.mf-mast nav{display:flex;flex-wrap:wrap;gap:clamp(11px,2vw,28px);justify-content:flex-end}
.mf-mast nav a{text-decoration:none;font-size:.83rem;font-weight:800}.mf-mast nav a:hover{text-decoration:underline}
.mf-kicker,.mf-eyebrow{font:800 .68rem/1.35 var(--sans);text-transform:uppercase;letter-spacing:.145em}
.mf-hero{padding:16px 0 75px;border-bottom:1px solid var(--mf-ink)}
.mf-kicker{display:flex;justify-content:space-between;gap:18px;color:#465949}
.mf-hero-body{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,.5fr);gap:55px;align-items:end;padding-top:68px}
.mf-hero h1{font:400 clamp(4.5rem,8.8vw,8.8rem)/.86 var(--display);letter-spacing:-.095em;margin:0 0 29px}
.mf-hero h1 em{color:var(--mf-pink);font-weight:400}
.mf-lead{font:400 clamp(1rem,1.55vw,1.23rem)/1.6 var(--sans);max-width:630px;color:var(--mf-dim)}
.mf-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:27px}
.mf-primary{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 19px;min-height:49px;text-decoration:none;border:1px solid var(--mf-ink);background:var(--mf-ink);color:#fff;font:800 .85rem/1.25 var(--sans);cursor:pointer}
.mf-primary:hover{background:#365240}.mf-quiet-link{font:800 .84rem var(--sans);text-underline-offset:5px}
.mf-intro-note{border-top:1px solid var(--mf-ink);padding-top:18px;align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;gap:32px}
.mf-intro-note .mf-num{font:400 clamp(4.8rem,9.6vw,9.4rem)/.88 var(--display);letter-spacing:-.095em;white-space:nowrap}
.mf-num span{font-size:.23em;letter-spacing:-.04em;color:#66766a}
.mf-intro-note p{font:.92rem/1.65 var(--sans);color:var(--mf-dim);max-width:245px}
.mf-intro-note p strong{color:var(--mf-ink)}
.mf-explainer{padding:57px 0 66px;border-bottom:1px solid var(--mf-rule)}
.mf-explainer h2,.mf-section-head h2,.mf-bottom h2{font:400 clamp(2.7rem,5.8vw,5.8rem)/.98 var(--display);letter-spacing:-.078em;margin:15px 0 24px}
.mf-explainer-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}
.mf-explainer-grid p{max-width:520px;font:1rem/1.7 var(--sans);color:var(--mf-dim);margin:0}
.mf-explainer-grid a{font-weight:800}
.mf-gallery-section{padding:72px 0 95px}
.mf-section-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(200px,.45fr);gap:40px;align-items:end;margin-bottom:31px}
.mf-section-head h2{margin:11px 0 0}
.mf-help{color:var(--mf-dim);font-size:.9rem;line-height:1.65;margin:0}
.mf-filters{border-block:1px solid var(--mf-ink);padding:14px 0;margin-bottom:12px;display:flex;align-items:center;gap:13px;flex-wrap:wrap}
.mf-filters label{font-size:.75rem;font-weight:800}
.mf-filters input,.mf-filters select{background:transparent;border:1px solid var(--mf-rule);min-height:41px;border-radius:0;padding:8px 11px;font:.88rem var(--sans)}
.mf-filters input{flex:1 1 200px;max-width:430px;min-width:135px}
.mf-filters select{flex:0 1 180px}
.mf-filters button{min-height:40px;padding:8px 12px;border:1px solid var(--mf-ink);background:transparent;font-weight:750;font-size:.79rem;cursor:pointer}
.mf-count{font:.73rem var(--sans);color:var(--mf-dim);margin:15px 0 25px}
.mf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:20px;row-gap:40px}
.mf-card{border-top:1px solid var(--mf-ink);padding-top:11px;min-width:0;display:flex;flex-direction:column}
.mf-visual{aspect-ratio:16/9;display:block;position:relative;overflow:hidden;background:var(--poster-bg,#c8d1c6);text-decoration:none;color:#17221e;isolation:isolate}
.mf-visual img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;display:block;z-index:1;transition:transform .32s ease,filter .25s ease}
.mf-card[data-slug="18-hanazi"] .mf-visual img{object-fit:contain;background:#212b25}
.mf-visual:hover img,.mf-visual:focus-visible img{transform:scale(1.035);filter:saturate(1.12)}
.mf-visual img[hidden]{display:none!important}
.mf-poster-fallback{position:absolute;inset:0;z-index:0;display:flex;flex-direction:column;justify-content:space-between;padding:20px;background:linear-gradient(148deg,transparent 0 60%,rgba(11,35,26,.12) 100%)}
.mf-poster-fallback span{font:400 4.3rem/.9 var(--display);opacity:.62}
.mf-poster-fallback b{font:400 1.3rem/1.2 var(--display);max-width:240px}
.mf-play{position:absolute;bottom:14px;left:14px;background:#f7f6ef;color:#1b2b20;display:grid;place-items:center;border:1px solid var(--mf-ink);width:43px;height:43px;z-index:1;font:700 .94rem var(--sans);transition:transform .18s ease}
.mf-visual:hover .mf-play,.mf-visual:focus-visible .mf-play{transform:translateY(-3px)}
.mf-duration{position:absolute;right:11px;bottom:12px;color:#16231b;background:#f7f6ef;padding:7px 9px;z-index:2;font-size:.64rem;font-weight:850;letter-spacing:.04em}
.mf-card-meta{display:flex;justify-content:space-between;gap:15px;padding:13px 0 2px;font:800 .62rem/1.4 var(--sans);text-transform:uppercase;letter-spacing:.09em;color:#617164}
.mf-card h3{font:400 clamp(1.7rem,2.35vw,2.55rem)/1.08 var(--display);letter-spacing:-.065em;margin:11px 0}
.mf-card p{font:.88rem/1.55 var(--sans);color:var(--mf-dim);margin:0 0 12px}
.mf-card-links{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:10px;border-top:1px solid var(--mf-rule)}
.mf-card-links a{font:.75rem/1.4 var(--sans);font-weight:800;text-decoration:none}
.mf-card-links a:hover{text-decoration:underline}
.mf-empty{border:1px solid var(--mf-rule);padding:35px;text-align:center}
.mf-bottom{border-top:1px solid var(--mf-ink);padding:70px 0 95px}
.mf-bottom h2{max-width:890px;margin-bottom:42px}
.mf-bottom-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.mf-bottom-grid>div{border-top:1px solid var(--mf-rule);padding-top:13px}
.mf-bottom-grid span{font:800 .72rem var(--sans);letter-spacing:.12em}
.mf-bottom-grid p{color:var(--mf-dim);font:.92rem/1.6 var(--sans);max-width:350px;margin:14px 0 0}
.mf-disclosure{border-top:1px solid var(--mf-rule);padding-top:22px;color:#4c5c4f;font:.77rem/1.8 var(--sans);margin:46px 0 0}
.mf-foot{border-top:1px solid var(--mf-ink);padding:24px 0;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:.76rem;font-weight:750}
.mf-foot a{text-decoration:none}.mf-foot a:hover{text-decoration:underline}
.mf-dialog{border:1px solid #273b2c;background:#f6f3e8;color:#17221e;width:min(940px,calc(100% - 30px));max-height:min(94vh,1000px);padding:0;overscroll-behavior:contain;box-shadow:0 20px 70px rgba(0,0,0,.32)}
.mf-dialog::backdrop{background:rgba(12,23,17,.75)}
.mf-dialog-inner{padding:clamp(14px,3vw,28px)}
.mf-dialog-head{display:flex;justify-content:space-between;align-items:start;gap:25px;border-bottom:1px solid var(--mf-ink);padding-bottom:15px;margin-bottom:22px}
.mf-dialog-head h2{font:400 clamp(2rem,4.5vw,3.6rem)/.98 var(--display);letter-spacing:-.07em;margin:9px 0 0}
.mf-close{border:1px solid var(--mf-ink);background:transparent;padding:10px 13px;cursor:pointer;font:.8rem var(--sans);font-weight:800;white-space:nowrap}
.mf-player-wrap{background:#121813;display:grid;place-items:center;min-height:205px;aspect-ratio:16/9;overflow:hidden}
.mf-player-wrap[data-portrait=true]{aspect-ratio:4/3;min-height:360px}
.mf-player-wrap video{width:100%;height:100%;max-height:520px;display:block;object-fit:contain}
.mf-player-wrap[data-portrait=true] video{max-width:340px}
.mf-stream-note{font:.76rem/1.6 var(--sans);color:var(--mf-dim);padding:12px 0 2px}
.mf-dialog-meta{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding-top:22px;border-top:1px solid var(--mf-rule)}
.mf-dialog-copy h3{font:800 .79rem var(--sans);letter-spacing:.03em;text-transform:uppercase;margin:0 0 8px}
.mf-dialog-copy p{color:var(--mf-dim);font:.91rem/1.6 var(--sans);margin:0 0 20px}
.mf-prompt-side label{font:800 .83rem var(--sans);display:block;margin:0 0 11px}
.mf-prompt-side textarea{width:100%;min-height:220px;border:1px solid #91a093;background:#fffef9;padding:13px;font: .78rem/1.55 ui-monospace,monospace;resize:vertical}
.mf-prompt-side button{margin-top:10px}
.mf-note,.mf-copy-result{font:.75rem/1.6 var(--sans);color:#4b5b4e;margin:8px 0 0}
.mf-copy-result{min-height:1.3rem;font-weight:750}
.mf-dialog-links{display:flex;flex-wrap:wrap;gap:14px;padding-top:21px;border-top:1px solid var(--mf-rule);margin-top:15px}
.mf-dialog-links a{font:.82rem var(--sans);font-weight:800}
.mf-dialog-links a:hover{text-decoration:none}
@media(max-width:1000px){.mf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mf-hero-body{gap:25px}.mf-hero h1{font-size:clamp(4.4rem,8vw,7rem)}}
@media(max-width:680px){.mf-shell{width:min(100% - 30px,1220px)}.mf-mast{align-items:flex-start}.mf-mast nav{gap:11px}.mf-mast nav a{font-size:.78rem}.mf-hero{padding-bottom:49px}.mf-hero-body{grid-template-columns:1fr;padding-top:42px}.mf-hero h1{font-size:clamp(3.35rem,12vw,5.2rem)}.mf-intro-note{flex-direction:row;align-items:center;gap:20px}.mf-intro-note .mf-num{font-size:4.2rem}.mf-intro-note p{margin:0}.mf-explainer-grid,.mf-section-head,.mf-dialog-meta{grid-template-columns:1fr;gap:18px}.mf-gallery-section{padding:53px 0}.mf-grid{grid-template-columns:1fr;gap:38px}.mf-visual{aspect-ratio:16/9}.mf-card h3{font-size:2.3rem}.mf-bottom-grid{grid-template-columns:1fr}.mf-bottom{padding-top:52px}.mf-player-wrap[data-portrait=true]{aspect-ratio:9/12;min-height:360px}.mf-dialog{max-height:94dvh}.mf-dialog-head h2{font-size:2.3rem}}
@media(max-width:370px){.mf-hero h1{font-size:3.1rem}.mf-intro-note .mf-num{font-size:3.2rem}.mf-dialog-head{gap:8px}.mf-close{padding:8px;font-size:.71rem}}
@media(prefers-reduced-motion:reduce){.mf-page *,.mf-page *::before,.mf-page *::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.mf-prompt-side input{width:100%;min-height:43px;border:1px solid #91a093;background:#fffef9;padding:10px 12px;font:.87rem var(--sans);margin-bottom:10px}
.mf-prompt-side>label:not(:first-child){margin-top:20px}
