
:root{
  --yellow:#f4c91e;
  --navy:#3a4d7a;
  --navy-deep:#243155;
  --sky:#9cb8d4;
  --cream:#fbf9f1;
  --display:"Bebas Neue","Oswald","Impact",sans-serif;
  --body:"Inter",system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:var(--body);
  color:#1c2238;
  background:
    radial-gradient(ellipse at 20% 10%, rgba(232,239,247,.6), transparent 55%),
    radial-gradient(ellipse at 80% 30%, rgba(220,232,245,.5), transparent 60%),
    radial-gradient(ellipse at 50% 90%, rgba(140,170,205,.5), transparent 60%),
    linear-gradient(180deg,#b6cfe6 0%,#94b3d1 100%);
  min-height:100dvh;
  display:flex; flex-direction:column;
}
h1,h2,h3,h4,.font-display{font-family:var(--display);letter-spacing:.04em;font-weight:400}
img{max-width:100%;display:block}
a{color:inherit}

.skip-link{position:absolute;left:-9999px;top:0;background:var(--yellow);color:var(--navy-deep);padding:.5rem 1rem;border-radius:4px;font-weight:600;z-index:100}
.skip-link:focus{left:.5rem;top:.5rem}

.title-bar{background:var(--yellow);text-align:center;padding:1.5rem 1rem;box-shadow:0 2px 6px rgba(0,0,0,.1)}
.wordmark{font-family:var(--display);color:#fff;text-decoration:none;font-size:clamp(2.25rem,6vw,4.5rem);letter-spacing:.08em;text-shadow:2px 2px 0 rgba(0,0,0,.25)}
.tagline{background:var(--navy);color:var(--yellow);text-align:center;padding:.75rem 1rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.tagline em{font-style:italic}

.primary-nav{background:var(--navy-deep);color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.15);display:flex;justify-content:center}
.nav-list{width:100%;max-width:72rem;list-style:none;margin:0 auto;padding:.5rem 1rem;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.25rem;text-align:center}
.nav-link{display:inline-flex;align-items:center;justify-content:center;min-height:2.25rem;padding:.5rem .75rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;color:#fff;border-radius:4px;transition:color .15s}
.nav-link:hover,.nav-link.active{color:var(--yellow);font-weight:600}
@media (max-width:768px){
  .nav-list{padding:.5rem;gap:.1rem}
  .nav-link{font-size:.78rem;padding:.5rem .55rem}
}

main{flex:1;outline:none}

/* Page header */
.page-header{position:relative;text-align:center;padding:4rem 1rem;margin-bottom:3rem;overflow:hidden;color:#fff}
.page-header.with-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.page-header.with-video::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.6),rgba(0,0,0,.4),rgba(0,0,0,.7));z-index:1}
.page-header .inner{position:relative;z-index:2}
.page-header h1{font-size:clamp(2.25rem,5vw,4rem);margin:0;text-shadow:2px 2px 0 rgba(0,0,0,.6)}
.page-header p{max-width:42rem;margin:1rem auto 0;font-style:italic;font-size:1.05rem;opacity:.95}
.page-header.plain{color:var(--navy-deep);padding:3rem 1rem}
.page-header.plain p{opacity:.8}

/* Hero (home) */
.hero{position:relative;background:#000;overflow:hidden}
.hero-media{position:relative;aspect-ratio:16/9;max-height:80vh;width:100%}
.hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.4),rgba(0,0,0,.1),rgba(0,0,0,.7))}
.hero-content{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;text-align:center;color:#fff;padding:0 1rem 3rem;z-index:2}
.eyebrow{color:var(--yellow);text-transform:uppercase;letter-spacing:.3em;font-size:.8rem;text-shadow:0 2px 6px rgba(0,0,0,.5)}
.hero h1{font-family:var(--display);font-size:clamp(2rem,6vw,4rem);margin:.75rem 0 1.5rem;letter-spacing:.05em;text-shadow:2px 2px 0 rgba(0,0,0,.6)}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:6px;text-decoration:none;font-weight:600;font-size:.95rem;border:0;cursor:pointer;transition:opacity .15s,transform .15s}
.btn:hover{opacity:.9}
.btn-yellow{background:var(--yellow);color:var(--navy-deep)}
.btn-navy{background:var(--navy-deep);color:#fff}
.btn-red{background:#dc2626;color:#fff}

/* Sections */
section{padding:4rem 1rem}
.container{max-width:72rem;margin:0 auto}
.container-sm{max-width:48rem;margin:0 auto}
.container-md{max-width:60rem;margin:0 auto}
.text-center{text-align:center}
.section-title{font-family:var(--display);font-size:clamp(2.5rem,5vw,3.75rem);color:#fff;letter-spacing:.05em;text-shadow:0 2px 4px rgba(0,0,0,.3);margin:0}

/* Discussion guide section */
.discussion{position:relative;color:#fff;overflow:hidden}
.discussion video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.discussion::after{content:"";position:absolute;inset:0;background:linear-gradient(to right,rgba(0,0,0,.85),rgba(0,0,0,.6),rgba(0,0,0,.85));z-index:1}
.discussion .inner{position:relative;z-index:2;max-width:60rem;margin:0 auto;text-align:center}
.discussion h2{font-family:var(--display);font-size:clamp(2.5rem,5vw,3.5rem);margin:.5rem 0 1.25rem;letter-spacing:.05em}
.discussion p{max-width:42rem;margin:0 auto;line-height:1.65;font-size:1.05rem}
.btn-row{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:2rem}
.discussion .footnote{margin-top:1rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;opacity:.6}

/* Platform grid */
.platform-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2.5rem}
@media(min-width:640px){.platform-grid{grid-template-columns:repeat(3,1fr)}}
.platform-tile{background:#000;color:#fff;display:flex;align-items:center;justify-content:center;height:5rem;border-radius:6px;text-decoration:none;font-weight:600;font-size:.95rem;text-transform:uppercase;letter-spacing:.04em;box-shadow:0 2px 4px rgba(0,0,0,.2);transition:transform .15s,box-shadow .15s;padding:0 1rem;text-align:center}
.platform-tile:hover{transform:scale(1.03);box-shadow:0 4px 10px rgba(0,0,0,.3)}

/* Cast strip */
.cast-strip{background:rgba(36,49,85,.85);padding:4rem 1rem;color:#fff}
.cast-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:2rem}
@media(min-width:768px){.cast-grid{grid-template-columns:repeat(3,1fr)}}
.cast-note{color:var(--yellow);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;margin:0 0 .25rem}
.cast-name{font-family:var(--display);font-size:clamp(1.5rem,3vw,2rem);letter-spacing:.04em;margin:0}

/* Logline */
.logline{padding:5rem 1rem}
.logline .quote{font-family:var(--display);font-size:clamp(1.75rem,3.5vw,2.5rem);color:#fff;line-height:1.3;letter-spacing:.03em;text-align:center;max-width:48rem;margin:0 auto}

/* Person cards (about) */
.about-bg{background:var(--navy)}
.person-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;margin-top:1.5rem}
@media(min-width:640px){.person-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.person-grid{grid-template-columns:repeat(3,1fr)}}
.person-card{background:rgba(255,255,255,.95);border-radius:12px;overflow:hidden;box-shadow:0 4px 10px rgba(0,0,0,.1);display:flex;flex-direction:column}
.person-photo{aspect-ratio:4/5;background:rgba(36,49,85,.1);overflow:hidden}
.person-photo img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .5s}
.person-photo img:hover{transform:scale(1.05)}
.person-body{padding:1.25rem;flex:1;display:flex;flex-direction:column}
.person-name{font-family:var(--display);font-size:1.5rem;color:var(--navy-deep);letter-spacing:.04em;margin:0}
.person-role{display:inline-block;background:var(--navy-deep);color:var(--yellow);padding:.15rem .5rem;border-radius:4px;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin:.5rem 0 0;align-self:flex-start}
.person-bio{font-size:.875rem;color:rgba(36,49,85,.85);line-height:1.55;flex:1;margin:.75rem 0}
.person-imdb{font-size:.7rem;font-weight:600;text-decoration:none;color:var(--navy-deep)}
.person-imdb:hover{opacity:.7}
.about-section h3{font-family:var(--display);font-size:1.75rem;color:#fff;text-align:center;letter-spacing:.06em;margin:0}
.about-section blockquote{max-width:36rem;margin:1rem auto 0;font-style:italic;color:rgba(255,255,255,.9);text-align:center}
.about-section blockquote footer{font-style:normal;color:#fff;margin-top:.5rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}
.cast-hero-img{width:100%;height:auto;display:block}

/* Resource cards (mental health) */
.resource-list{max-width:48rem;margin:0 auto;display:grid;gap:1rem}
.resource-card{display:flex;gap:1rem;align-items:flex-start;background:rgba(255,255,255,.95);border-radius:12px;padding:1.25rem;box-shadow:0 2px 8px rgba(0,0,0,.08);text-decoration:none;color:inherit;transition:box-shadow .15s}
.resource-card:hover{box-shadow:0 6px 16px rgba(0,0,0,.12)}
.resource-icon{flex-shrink:0;width:3rem;height:3rem;border-radius:9999px;background:var(--yellow);display:flex;align-items:center;justify-content:center;font-size:1.25rem}
.resource-card h3{font-family:var(--display);font-size:1.25rem;color:var(--navy-deep);letter-spacing:.04em;margin:0}
.resource-card p{font-size:.875rem;color:rgba(36,49,85,.8);margin:.25rem 0 0}
.disclaimer{text-align:center;font-size:.75rem;color:rgba(255,255,255,.8);margin-top:2rem}

/* Press */
.epk-grid{max-width:60rem;margin:0 auto;display:grid;grid-template-columns:1fr;gap:1.25rem}
@media(min-width:640px){.epk-grid{grid-template-columns:repeat(2,1fr)}}
.epk-card{background:var(--yellow);border-radius:16px;padding:1.5rem;text-align:center;box-shadow:0 6px 16px rgba(0,0,0,.15);display:flex;flex-direction:column;align-items:center;gap:1rem}
.epk-card h3{font-family:var(--display);font-size:1.5rem;color:var(--navy-deep);letter-spacing:.04em;margin:0}
.epk-card p{font-size:.875rem;color:rgba(36,49,85,.8);margin:0}
.coverage-grid{max-width:60rem;margin:0 auto;display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:640px){.coverage-grid{grid-template-columns:repeat(3,1fr)}}
.coverage-card{background:rgba(255,255,255,.95);border-radius:12px;padding:1.5rem;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.08);text-decoration:none;color:inherit;transition:box-shadow .15s}
.coverage-card:hover{box-shadow:0 6px 16px rgba(0,0,0,.12)}
.coverage-card .outlet{font-family:var(--display);font-size:1.5rem;color:var(--navy-deep);letter-spacing:.04em;margin:0}
.coverage-card .quote{font-size:.875rem;color:rgba(36,49,85,.7);margin:.5rem 0 0}
.press-contact{max-width:36rem;margin:0 auto;background:rgba(36,49,85,.85);color:#fff;border-radius:16px;padding:2rem;text-align:center;box-shadow:0 6px 16px rgba(0,0,0,.2)}
.press-contact h3{font-family:var(--display);font-size:1.5rem;letter-spacing:.04em;margin:.75rem 0 .5rem}
.press-contact p{color:rgba(255,255,255,.8);font-size:.875rem;margin:0 0 1.25rem}

/* Gallery */
.gallery{max-width:72rem;margin:0 auto;display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:640px){.gallery{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.gallery{grid-template-columns:repeat(3,1fr)}}
.gallery-item{aspect-ratio:1/1;border-radius:12px;overflow:hidden;box-shadow:0 4px 10px rgba(0,0,0,.15)}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.gallery-item img:hover{transform:scale(1.05)}

/* Trailer page */
.trailer-wrap{display:flex;align-items:center;justify-content:center;min-height:70vh;padding:5rem 1rem}
.trailer-frame{width:100%;max-width:64rem;aspect-ratio:16/9;border-radius:12px;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.3);background:#000}
.trailer-frame video{width:100%;height:100%}

/* Review page */
.review-grid{max-width:72rem;margin:0 auto;display:grid;grid-template-columns:1fr;gap:1.25rem}
@media(min-width:640px){.review-grid{grid-template-columns:repeat(3,1fr)}}
.review-card{background:rgba(255,255,255,.95);border-radius:12px;padding:1.5rem;text-decoration:none;color:inherit;box-shadow:0 2px 8px rgba(0,0,0,.08);transition:transform .15s,box-shadow .15s}
.review-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.15)}
.review-pill{width:3rem;height:3rem;border-radius:9999px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem}
.review-card h3{font-family:var(--display);font-size:1.5rem;color:var(--navy-deep);letter-spacing:.04em;margin:1rem 0 .25rem}
.review-card p{font-size:.875rem;color:rgba(36,49,85,.7);margin:0}

/* Footer */
.site-footer{background:var(--navy-deep);color:rgba(255,255,255,.8);text-align:center;padding:2rem 1rem;font-size:.75rem;line-height:1.7}
.footer-wordmark{font-family:var(--display);color:var(--yellow);font-size:1rem;letter-spacing:.08em;margin:0 0 .5rem}
.site-footer .muted{color:rgba(255,255,255,.5)}
