/* MRG AI CONTEST — Editable mobile-first stylesheet */
:root{--bg:#07090b;--panel:#111516;--text:#f7f8f9;--sub:#c9ced1;--neon:#e6ff00;--line:#06c755;--stroke:#414745;--container:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:70px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:14px;line-height:1.8;-webkit-text-size-adjust:100%}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button,a{touch-action:manipulation}.container{width:min(calc(100% - 34px),var(--container));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}.center{text-align:center}.site-header{position:absolute;z-index:5;inset:0 0 auto;height:65px;background:linear-gradient(#05080cee,transparent)}.header-inner{height:100%;width:min(calc(100% - 30px),1320px);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:14px}.logo{font-size:26px;font-weight:950;line-height:1;letter-spacing:-.08em}.desktop-nav{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:999px;padding:12px 18px;min-height:44px;font-size:13px;font-weight:800;line-height:1.4;text-align:center;transition:filter .2s,transform .2s}.btn:hover{filter:brightness(1.08);transform:translateY(-2px)}.btn--lime{color:#050803;background:var(--neon)}.btn--line{color:#fff;background:var(--line)}.line-mark{display:inline-flex;align-items:center;justify-content:center;background:#fff;color:var(--line);font-size:11px;font-weight:900;width:31px;height:23px;border-radius:13px}.header-entry{font-size:11px;padding:8px 12px;min-height:38px}.header-entry .line-mark{width:28px;height:21px}.hero{position:relative;min-height:520px;height:100svh;max-height:800px;background:#020506;display:flex;align-items:flex-end;overflow:hidden}.hero-bg{position:absolute;inset:0;background-image:linear-gradient(0deg,#030506 3%,#03050622 40%,transparent 85%),url('../assets/images/hero-cinema.webp');background-size:cover;background-position:57% top}.hero-content{position:relative;padding-bottom:65px}.eyebrow,.kicker{margin:0 0 10px;color:var(--neon);font-weight:850;letter-spacing:.14em;font-size:12px}.hero-sub{font-size:clamp(15px,3.8vw,20px);line-height:1.8;font-weight:800;text-shadow:0 2px 10px #000}.hero-scroll{display:inline-flex;gap:15px;margin-top:22px;color:#fff;font-size:11px;letter-spacing:.18em}.section{padding:60px 0}.section-title{font-size:clamp(23px,5.8vw,37px);line-height:1.35;letter-spacing:-.035em;margin:0 0 20px;font-weight:900}.lead{font-size:clamp(15px,3.9vw,19px);font-weight:800;line-height:1.75}.section-intro{max-width:740px;margin:0 auto 30px;color:var(--sub)}.about{background:linear-gradient(120deg,#0a0c0e,#1a2024)}.about-grid{display:grid;gap:22px}.about-copy>p:not(.kicker):not(.lead){color:var(--sub)}.publication{padding:12px 14px;border-left:3px solid var(--neon);background:#ffffff0c;color:#fff!important}.about-visual{position:relative;max-width:500px;justify-self:center;width:100%}.about-visual img{width:100%;height:270px;object-fit:cover;object-position:top;border-radius:2px}.handwriting{position:absolute;right:10px;bottom:8px;font-size:clamp(18px,5.7vw,32px);font-style:italic;font-weight:800;color:var(--neon);line-height:1.4;text-shadow:0 2px 8px #000}.theme{position:relative;min-height:300px;display:flex;align-items:center;overflow:hidden;background:#141a22}.theme::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#000b,transparent 95%);z-index:1}.theme-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.theme-inner{position:relative;z-index:2;padding:45px 0}.theme-inner p:last-child{max-width:450px;font-weight:650}.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 13px}.feature img{width:100%;aspect-ratio:1.7;object-fit:cover;border-radius:3px}.feature h3{font-size:14px;line-height:1.45;margin:8px 0 3px}.feature p{font-size:12px;color:var(--sub);margin:0}.steps-section{background:#050708}.steps-grid{display:grid;gap:20px}.step-card{position:relative;padding:19px;border:1px solid var(--stroke);background:#0d1012}.step-num{font-size:29px;font-weight:750;color:var(--neon);line-height:1}.step-card img{width:100%;aspect-ratio:1.8;object-fit:cover;margin:8px 0 13px}.step-card h3{font-size:18px;margin:0}.step-card p{font-size:13px;line-height:1.75;color:var(--sub);margin:5px 0 15px}.link-arrow{display:inline-flex;border:1px solid #8a8f91;border-radius:4px;padding:7px 17px;font-size:12px}.step-card .btn{width:100%}.gallery-section{background:#131b20}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery-grid img{width:100%;aspect-ratio:1.6;object-fit:cover;border-radius:4px}.prize-section{padding-bottom:25px}.prize-total{font-size:19px;color:var(--neon);margin:3px 0 24px}.prize-total strong{display:block;font-size:clamp(50px,15vw,88px);line-height:1.2;letter-spacing:-.06em}.prize-total small{font-size:.35em;letter-spacing:0}.prize-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.prize-card{text-align:center;min-width:0;border:1px solid #69706c;padding:18px 6px 14px;background:linear-gradient(#0d1010,#171b1a)}.prize-icon{color:var(--neon);font-size:24px;line-height:1.2}.prize-card h3{margin:4px 0;font-size:13px}.prize-card p{font-size:clamp(20px,6.8vw,39px);font-weight:900;line-height:1.2;margin:4px 0;white-space:nowrap}.champion{border-color:#b5a42c}.champion p,.idea p{color:var(--neon)}.special{border-color:#a96c51}.special p{color:#ff9a65}.idea{border-color:#819e25}.schedule-section{padding-top:35px}.schedule-grid{display:grid;gap:9px}.date-card{display:flex;align-items:center;justify-content:space-between;border:1px solid #424b44;border-radius:6px;padding:11px 20px;gap:15px}.date-card span{font-size:13px;font-weight:700}.date-card strong{font-size:clamp(21px,7vw,30px);line-height:1.4}.guidelines-section{padding-top:30px}.guidelines{margin:25px 0 0;border-top:1px solid var(--stroke)}.guidelines>div{display:grid;grid-template-columns:100px 1fr;border-bottom:1px solid var(--stroke)}.guidelines dt,.guidelines dd{margin:0;padding:13px 9px;font-size:12px;line-height:1.7}.guidelines dt{font-weight:850;background:#141819}.guidelines dd{color:#f2f3f4}.guideline-note{font-size:11px;color:var(--sub);margin-top:14px}.faq-section{padding-top:28px}.faq-list{max-width:850px;margin:auto}.faq-list details{border-bottom:1px solid var(--stroke);padding:15px 0}.faq-list summary{font-size:14px;font-weight:700;cursor:pointer}.faq-list details p{font-size:13px;color:var(--sub)}.entry-section{overflow:hidden;background:var(--neon);color:#050707}.entry-inner{position:relative;padding-top:45px;padding-bottom:55px}.entry-section .kicker{color:#2a3800}.entry-section h2{font-size:clamp(24px,6.5vw,43px);line-height:1.4;margin:0;font-weight:950}.entry-section p{font-size:13px}.entry-big{margin-top:12px;padding:15px 25px;width:min(100%,330px)}.phone-visual{display:none}.footer{padding:24px 0 95px}.footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:15px}.footer-inner small,.footer-inner>a:last-child{font-size:11px;color:var(--sub)}.mobile-fixed-cta{position:fixed;z-index:9;bottom:12px;left:17px;right:17px;box-shadow:0 8px 24px #000a}
@media(min-width:760px){.site-header{height:74px}.desktop-nav{display:flex;align-items:center;gap:19px}.desktop-nav a{font-weight:700;font-size:12px}.hero{max-height:900px;min-height:630px}.hero-bg{background-position:center 20%}.hero-content{padding-bottom:70px}.hero-sub{max-width:530px}.section{padding:92px 0}.about-grid{grid-template-columns:1.1fr .9fr;align-items:center;gap:55px}.about-visual img{height:365px}.theme{min-height:360px}.feature-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:19px}.feature h3{font-size:16px}.steps-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.prize-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.prize-total strong{display:inline}.schedule-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.date-card{flex-direction:column;align-items:flex-start}.guidelines{max-width:1050px;margin-inline:auto}.guidelines>div{grid-template-columns:180px 1fr}.guidelines dt,.guidelines dd{padding:13px 18px;font-size:14px}.entry-inner{padding:70px 0 90px}.phone-visual{display:block;position:absolute;right:13%;top:10px;transform:rotate(17deg)}.phone{width:180px;height:350px;border:10px solid #101716;border-radius:33px;background:#0a0e0c;box-shadow:12px 17px 0 #1017163d;padding:10px}.phone-screen{display:grid;place-items:center;height:100%;border-radius:15px;background:#06c755;color:#fff}.phone-word{font-size:37px;font-weight:950}.footer{padding-bottom:30px}.mobile-fixed-cta{display:none}}
@media(min-width:1100px){.hero-bg{background-position:center 15%}.hero{min-height:700px}.header-entry{padding:9px 19px}.section-title{font-size:39px}}
@media(max-width:365px){.header-entry{font-size:11px;padding:7px 9px}.logo{font-size:23px}.guidelines>div{grid-template-columns:86px 1fr}.guidelines dt,.guidelines dd{padding-inline:6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

/* === Version 2: MOBILE FIRST / BREAKPOINTS ===
   SP: <= 767px / TABLET: 768-1023px / DESKTOP: >= 1024px
   Typography is always >= 11px. Mobile layouts are the default above. */
html { scroll-padding-top: 78px; }
body { overflow-x: hidden; }
.hero-title { font-size:clamp(33px, 8vw, 86px); font-weight:950; line-height:1.23; letter-spacing:-.06em; color:var(--neon); max-width:830px; text-shadow:0 3px 19px #000e; margin:15px 0; }
.hero-bg { background-image:linear-gradient(0deg,#030506 0%,#03050633 56%,#07090b22 100%),url('../assets/images/hero-cinema.webp'); }
.hero-content {padding-top:100px; padding-bottom:78px;}
.hero { min-height:620px; max-height:none; height: min(820px, 100svh); }
.hero-sub {max-width:580px;}
.menu-toggle {display:inline-flex;flex-direction:column;justify-content:center;gap:5px;background:transparent;border:1px solid #ffffff44;border-radius:6px;width:43px;height:43px;padding:10px;cursor:pointer;order:3;}
.menu-toggle span {height:2px;width:100%;background:#fff;}
.site-header {position:absolute;}
.header-entry {margin-left:auto;}
.section-title, .section-intro,.feature h3,.feature p,.step-card p,.prize-card h3,.date-card span,.guidelines dt,.guidelines dd,.footer-inner small {overflow-wrap:anywhere;}
.feature-grid,.gallery-grid {gap:14px;}
.feature img,.gallery-grid img,.step-card img,.about-visual img,.theme-image {background:#132633;}
.btn:focus-visible,.menu-toggle:focus-visible,a:focus-visible,summary:focus-visible {outline:3px solid var(--neon);outline-offset:3px;}
/* Interaction: fade-and-rise entrance. JS adds .js-motion only when IntersectionObserver exists. */
.js-motion .reveal {opacity:0; transform:translate3d(0,var(--reveal-distance,22px),0); transition:opacity var(--reveal-duration,720ms) ease,transform var(--reveal-duration,720ms) cubic-bezier(.2,.65,.2,1);}
.js-motion .reveal.is-visible {opacity:1;transform:translate3d(0,0,0);}
.hero-entrance {animation:heroAppear 900ms both ease-out;}
@keyframes heroAppear {from {opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
/* Small phones: no horizontal layout overflow. */
@media (max-width: 767px) {
 .site-header .desktop-nav {position:absolute;top:65px;left:12px;right:12px;display:none;flex-direction:column;align-items:stretch;gap:0;padding:10px 16px;background:#10171af5;border:1px solid #63706f;box-shadow:0 13px 35px #000b;border-radius:8px;}
 .site-header .desktop-nav.is-open {display:flex;}
 .desktop-nav a {font-size:14px;font-weight:700;padding:10px 3px;border-bottom:1px solid #ffffff22;}
 .hero {min-height:580px;height:88svh;max-height:820px;}
 .hero-bg {background-position:54% top;}
 .hero-title {font-size:clamp(32px,8vw,58px);}
 .feature-grid,.gallery-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
 .prize-card p{font-size:clamp(19px,5.8vw,32px);}
 .header-entry {padding:8px 10px; font-size:11px;}
 .menu-toggle {width:37px;height:38px;}
 .entry-section{padding-bottom:50px;}
}
/* Tablet: 768px – 1023px */
@media (min-width: 768px) and (max-width: 1023px) {
 .menu-toggle {display:none;}
 .desktop-nav {display:flex;flex-wrap:wrap;gap:9px;}
 .desktop-nav a {font-size:11px;}
 .header-inner {gap:8px;}
 .header-entry {padding:8px 10px;}
 .about-grid {grid-template-columns:1fr 1fr;gap:28px;}
 .hero-title {font-size:clamp(53px,7vw,75px);}
}
/* Desktop: 1024px and up */
@media (min-width: 1024px) {
 .menu-toggle{display:none;}
 .desktop-nav{display:flex;}
 .hero{min-height:740px; height: min(880px, 100svh);}
 .hero-content{padding-bottom:100px;}
 .hero-title{font-size:clamp(60px,6vw,92px);}
 .feature-grid,.gallery-grid,.prize-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
}
@media (prefers-reduced-motion: reduce){
 *,*::before,*::after {animation-duration:.01ms !important;transition-duration:.01ms !important;scroll-behavior:auto !important;}
 .js-motion .reveal{opacity:1 !important;transform:none !important;}
}

/* Copyright centering only (PC and SP) */
.footer-inner{position:relative;padding-bottom:22px;}
.footer-privacy small{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:max-content;max-width:100%;text-align:center;}
