/*
Theme Name: Storywide Productions
Theme URI: https://storywideproductions.co.uk/
Author: Storywide Productions
Description: Minimal cinematic portfolio theme for Storywide Productions, featuring an editable projects collection and homepage slider.
Version: 1.7.3
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: storywide
*/
:root{--black:#111;--red:#c51b28;--muted:#777;--line:#e7e7e7;--page:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--page);color:var(--black);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}a:hover{color:var(--red)}img{max-width:100%;height:auto;display:block}button,input,textarea{font:inherit}button{cursor:pointer}.screen-reader-text{position:absolute;left:-9999px}.screen-reader-text:focus{left:10px;top:10px;background:#fff;padding:10px;z-index:999}.site-header{max-width:1440px;margin:auto;padding:30px clamp(22px,4vw,70px);display:flex;align-items:center;justify-content:space-between;gap:24px}.site-brand{display:block;max-width:310px}.site-brand img{max-width:250px;max-height:100px;width:auto}.wordmark{display:flex;flex-direction:column;line-height:1;letter-spacing:-.06em;font-weight:800;font-size:clamp(20px,2.5vw,31px)}.wordmark span:last-child{color:var(--red)}.site-nav ul{display:flex;gap:clamp(15px,2.2vw,38px);list-style:none;margin:0;padding:0}.site-nav a{font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:700}.current-menu-item>a,.site-nav a[aria-current="page"]{color:var(--red)}.site-main{max-width:1440px;margin:auto;padding:20px clamp(22px,4vw,70px) 90px}.home-main{min-height:calc(100vh - 190px);display:flex;flex-direction:column;justify-content:center;padding-top:10px;padding-bottom:50px}.home-tagline{text-align:center;margin:0 auto 40px;font-size:clamp(17px,2.2vw,27px);font-weight:400;letter-spacing:.01em}.home-tagline em{font-style:normal;color:var(--red)}.slider{position:relative;width:min(100%,1050px);margin:0 auto}.slider-window{overflow:hidden;background:#f0f0f0}.slide{display:none;position:relative}.slide.is-active{display:block;animation:fadein .4s ease}.slide img{width:100%;height:clamp(280px,48vw,580px);object-fit:cover}.slide-placeholder{height:clamp(280px,48vw,580px);background:#ddd;display:grid;place-content:center;text-align:center;padding:20px}.slide-placeholder strong{font-size:30px;letter-spacing:.05em}.slide-link{display:block}.slide-meta{padding-top:12px;display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:13px;letter-spacing:.04em}.slide-meta strong{font-weight:600}.slider-control{position:absolute;top:calc(50% - 22px);z-index:3;width:48px;height:48px;border:0;color:#111;background:rgba(255,255,255,.94);font-size:32px;line-height:1;display:grid;place-items:center}.slider-control:hover{background:var(--red);color:#fff}.slider-prev{left:0}.slider-next{right:0}.slider-counter{font-size:12px;color:var(--muted)}@keyframes fadein{from{opacity:.65}to{opacity:1}}.page-title{font-size:clamp(36px,5vw,70px);letter-spacing:-.05em;font-weight:600;line-height:1.12;margin:45px 0 45px}.page-lead{font-size:clamp(19px,2.1vw,27px);max-width:800px;line-height:1.45}.section-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(25px,5vw,90px)}.prose{max-width:720px}.prose p:first-child{margin-top:0}.portrait-placeholder{width:100%;aspect-ratio:4/5;background:#f0f0f0;display:grid;place-items:center;color:#777}.section-title{font-size:16px;letter-spacing:.17em;text-transform:uppercase;margin:55px 0 20px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 22px}.project-card img{width:100%;aspect-ratio:16/10;object-fit:cover}.project-card .placeholder{aspect-ratio:16/10;background:#ececec;display:grid;place-items:center;text-align:center;padding:16px}.project-card h2{font-size:17px;font-weight:600;line-height:1.2;margin:12px 0 2px}.project-card .project-year{font-size:12px;color:var(--muted)}.project-hero img{width:100%;max-height:650px;object-fit:cover}.project-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,.7fr);gap:60px;margin-top:40px}.project-facts{border-top:1px solid var(--line);padding-top:18px;font-size:14px}.project-facts dt{font-weight:700}.project-facts dd{margin:0 0 16px}.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:35px}.project-gallery img{width:100%;height:auto}.contact-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(30px,7vw,120px)}.contact-form label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;margin:0 0 8px}.contact-form input,.contact-form textarea{width:100%;border:1px solid #bbb;padding:12px 13px;background:#fff;border-radius:0;margin-bottom:23px}.contact-form textarea{min-height:165px;resize:vertical}.submit-btn{border:0;padding:13px 35px;background:var(--black);color:#fff;text-transform:uppercase;letter-spacing:.14em;font-size:12px}.submit-btn:hover{background:var(--red)}.notice{padding:12px 15px;border-left:3px solid var(--red);background:#f8f8f8;margin-bottom:22px}.social-links{display:flex;gap:15px;flex-wrap:wrap}.social-links a{display:inline-flex;border:1px solid var(--black);width:43px;height:43px;align-items:center;justify-content:center;font-size:12px;font-weight:700}.social-links a:hover{border-color:var(--red);background:var(--red);color:white}.site-footer{max-width:1440px;margin:auto;padding:25px clamp(22px,4vw,70px) 32px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px}.pagination{margin-top:40px}.pagination a{margin-right:15px}.wp-block-image img{height:auto}@media(max-width:760px){.site-header{align-items:flex-start;flex-direction:column;padding-top:24px}.site-nav ul{gap:21px;flex-wrap:wrap}.site-main{padding-bottom:65px}.home-main{min-height:calc(100svh - 235px)}.home-tagline{margin-bottom:25px}.slide img,.slide-placeholder{height:55vw;min-height:235px}.slider-control{width:38px;height:42px;font-size:26px}.section-grid,.project-layout,.contact-grid{grid-template-columns:1fr;gap:30px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 15px}.page-title{margin:30px 0}.site-footer{flex-direction:column;gap:6px}}@media(max-width:450px){.project-grid{grid-template-columns:1fr}.site-nav a{font-size:11px}.site-nav ul{gap:17px}}

/* 2026 Storywide brand refinement */
.site-brand{max-width:290px;flex-shrink:0}.site-brand img,.site-brand img.brand-default-logo{width:270px;max-width:100%;max-height:none;height:auto}.home-tagline{font-size:clamp(20px,2.1vw,29px);margin-bottom:30px}.slider{width:min(100%,990px)}.slide img{height:auto;aspect-ratio:16/9;object-fit:contain;background:#f7f7f7}.slide-placeholder{background:#fafafa;border:1px solid #ececec}.slider-control{border:1px solid #eee}.project-card .placeholder{background:#f7f7f7;border:1px solid #ededed;color:#555}.site-nav a:hover,.site-nav a:focus-visible{color:var(--red)}.project-facts dd{white-space:pre-line}.about-company{max-width:900px}.about-company p{font-size:clamp(18px,1.6vw,22px);line-height:1.7;margin-bottom:1.2em}.founder-section{margin-top:65px}.founder-section:not(.has-founder){display:none}@media(max-width:760px){.site-brand img,.site-brand img.brand-default-logo{width:220px}.home-tagline{font-size:20px}.slide img{min-height:0;height:auto}}

.project-card img{background:#f7f7f7;object-fit:contain}.project-hero img{object-fit:contain;background:#f7f7f7}.slide img{object-fit:contain}.project-hero{background:#f7f7f7}.project-hero img{max-height:700px;margin-inline:auto}

.contact-intro{max-width:590px;margin:-8px 0 35px;color:#444;font-size:16px;line-height:1.8}.contact-follow .section-title{margin:7px 0 14px}.contact-follow>p{max-width:310px;color:#555}.contact-socials{margin-top:25px;display:grid;gap:12px;max-width:360px}.contact-social{display:flex;align-items:center;gap:14px;padding:15px 18px;border:1px solid var(--line);font-size:14px;font-weight:600;transition:border-color .2s,color .2s}.contact-social:hover,.contact-social:focus-visible{border-color:var(--red);color:var(--red)}.contact-social-icon{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center}.contact-social-icon svg{width:25px;height:25px;display:block}.contact-social-arrow{margin-left:auto;font-size:20px;font-weight:400}.contact-honeypot{position:absolute;left:-9999px}.social-admin-note{padding:12px 14px;border-left:2px solid var(--red);background:#fafafa;font-size:13px}

/* Direct-hosted trailers */
.film-synopsis{max-width:850px;margin:35px 0 35px;font-size:17px;line-height:1.75}
.storywide-trailer{max-width:950px;margin:42px auto 55px}
.storywide-trailer h2,.film-details-heading h2{font-size:16px;letter-spacing:.11em;text-transform:uppercase;font-weight:600;margin:0 0 18px}
.storywide-trailer video{width:100%;height:auto;aspect-ratio:16/9;display:block;background:#101010}
.project-layout{margin-top:25px}

/* v6: horizontal sliding carousel (no changes to the photographic design) */
.slider-viewport { width: 100%; overflow: hidden; }
.slider-track { display: flex; width: 100%; will-change: transform; }
.slider-track .slide { display: block; flex: 0 0 100%; min-width: 0; animation: none; }
.slider-track .slide img { width: 100%; }
@media (prefers-reduced-motion: reduce) {
  .slider-track { transition: none !important; }
}

/* v6 typography refinement: understated page headings */
.page-title {
  font-size: clamp(28px, 3.1vw, 42px);
  font-weight: 300;
  line-height: 1.25;
  letter-spacing: -0.025em;
  margin: 28px 0 34px;
}
@media (max-width: 760px) {
  .page-title { margin: 22px 0 28px; }
}

/* v6: match project listing and carousel titles to the understated page typography. */
.project-card h2 {
  font-size: clamp(16px, 1.5vw, 20px);
  font-weight: 300;
  letter-spacing: -0.015em;
  line-height: 1.35;
}
.slide-meta strong {
  font-weight: 300;
  letter-spacing: 0;
}

/* Version 7: consistent widescreen gallery and understated editorial typography. */
.project-card img,.project-card .placeholder{aspect-ratio:16/9;width:100%;height:auto;object-fit:cover;}
.project-card h2{font-weight:300;font-size:clamp(16px,1.5vw,20px);letter-spacing:-.01em;}
.page-title{font-size:clamp(28px,3.1vw,42px);font-weight:300;letter-spacing:-.025em;}
.founder-section{align-items:start;grid-template-columns:minmax(0,.76fr) minmax(0,1.24fr);gap:clamp(28px,5vw,75px);margin-top:72px;}
.founder-photo img{width:100%;height:auto;max-width:400px;display:block;}
.founder-bio .section-title{font-size:clamp(21px,2vw,27px);font-weight:300;letter-spacing:-.02em;line-height:1.3;text-transform:none;margin:0 0 25px;}
.founder-bio p{line-height:1.8;}
.storywide-trailer{margin-top:35px;max-width:980px}.storywide-trailer h2{font-size:clamp(20px,2.2vw,28px);font-weight:300}.storywide-trailer video{width:100%;height:auto;aspect-ratio:16/9;background:#111;display:block}
@media(max-width:760px){.founder-section{grid-template-columns:1fr}.founder-photo img{max-width:330px}}

/* Version 7.1 – layout corrections. Keep these rules at the end for cascade priority. */
.site-main .page-title{font-family:Arial,Helvetica,sans-serif;font-size:clamp(28px,3.1vw,42px);font-weight:300;line-height:1.25;letter-spacing:-.025em;margin:28px 0 36px;}
.project-grid .project-card h2{font-size:clamp(16px,1.5vw,20px);font-weight:300;letter-spacing:-.015em;line-height:1.35;}
.project-card .project-image-frame{display:block;width:100%;aspect-ratio:16/9;overflow:hidden;background:#f5f5f5;}
.project-card .project-image-frame img{display:block;width:100%;height:100%;max-width:none;aspect-ratio:auto;object-fit:cover;object-position:center center;}
.project-card .project-image-frame .placeholder{height:100%;aspect-ratio:auto;}
.slider{width:min(100%,990px);max-width:100%;margin-inline:auto;min-width:0;}
.slider-viewport{width:100%;max-width:100%;overflow:hidden;}
.slider-track{display:flex;width:100%;min-width:0;gap:0;align-items:stretch;}
.slider-track > .slide{display:block;position:relative;flex:0 0 100%;width:100%;max-width:100%;min-width:0;animation:none;}
.slider-track > .slide img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;}
/* Before JS starts, show a valid centred still rather than a broken offset track. */
.slider:not(.slider-ready) .slider-track > .slide:not(:first-child){display:none;}
.slider:not(.slider-ready) .slider-control,.slider:not(.slider-ready) .slider-counter{visibility:hidden;}
.slider.slider-ready .slider-track > .slide{display:block;}
.about-company{max-width:920px;}
.founder-section.section-grid{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:clamp(40px,6vw,90px);margin-top:clamp(95px,11vw,150px);align-items:start;}
.founder-photo{width:100%;max-width:260px;}
.founder-photo img{display:block;width:100%;height:auto;max-width:260px;}
.founder-bio{max-width:650px; padding-top:4px;}
.founder-bio .section-title{margin:0 0 24px;font-size:clamp(21px,2vw,27px);font-weight:300;line-height:1.35;letter-spacing:-.02em;text-transform:none;}
.founder-bio p{font-size:16px;line-height:1.9;margin:0 0 1.25em;}
@media(max-width:760px){.founder-section.section-grid{grid-template-columns:1fr;gap:26px;margin-top:85px}.founder-photo,.founder-photo img{max-width:230px}}
@media(prefers-reduced-motion:reduce){.slider-track{transition:none!important}}

/* Version 7.2 consolidated layout rules */
.site-main .page-title{font-size:clamp(28px,3.1vw,42px);font-weight:300;line-height:1.25;letter-spacing:-.025em}
.slider{position:relative;display:block;width:min(100%,990px);margin-inline:auto;max-width:100%;}
.slider-viewport{overflow:hidden;width:100%;position:relative;margin:0 auto;}
.slider-track{display:flex;align-items:stretch;gap:0;width:100%;margin:0;padding:0;will-change:transform;}
.slider-track>.slide{display:block!important;flex:0 0 100%;width:100%;min-width:100%;max-width:100%;margin:0;box-sizing:border-box;animation:none!important;}
.slider-track>.slide .slide-link{display:block;}
.slider-track>.slide img{display:block;aspect-ratio:16/9;object-fit:contain;width:100%;height:auto;max-height:560px;margin:0 auto;}
.slider:not(.slider-ready) .slider-track>.slide:not(:first-child){display:none!important;}
.slider:not(.slider-ready) .slider-control{visibility:hidden;}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 22px;}
.project-grid .project-image-frame{display:block!important;position:relative;aspect-ratio:16/9;width:100%;height:auto;overflow:hidden;background:#f5f5f5;}
.project-grid .project-image-frame img{display:block;position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;aspect-ratio:auto;}
.project-grid .project-card h2{font-weight:300;font-size:clamp(16px,1.5vw,20px);line-height:1.35;}
.founder-section.section-grid{display:grid;grid-template-columns: minmax(0,220px) minmax(0,1fr);gap:clamp(38px,6vw,90px);align-items:start;margin-top:clamp(110px,12vw,165px);}
.founder-photo,.founder-photo img{display:block;width:100%;max-width:220px;height:auto;}
.founder-bio{max-width:680px;}
.founder-bio .section-title{font-weight:300;font-size:clamp(20px,2vw,27px);line-height:1.4;text-transform:none;letter-spacing:-.02em;margin:0 0 25px;}
.founder-bio p{line-height:1.85;margin-bottom:1.35em;}
.film-original-title{margin:-20px 0 32px;font-size:14px;font-weight:300;color:#666;letter-spacing:.015em;}
.project-facts dt{font-size:12px;font-weight:500;letter-spacing:.06em;color:#555;margin:0 0 2px;}
.project-facts dd{font-size:15px;font-weight:400;line-height:1.65;margin:0 0 19px;white-space:pre-line;}
.project-facts dd.co-production{color:#555;margin-top:8px;font-size:14px;}
@media(max-width:760px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.founder-section.section-grid{grid-template-columns:1fr;gap:28px;margin-top:90px;}.founder-photo,.founder-photo img{max-width:200px;}}
@media(max-width:450px){.project-grid{grid-template-columns:1fr;}}
@media(prefers-reduced-motion:reduce){.slider-track{transition:none!important;}}

/* Version 7.2: unobtrusive return link on film pages */
.film-back-nav{margin:clamp(44px,6vw,78px) 0 25px;}
.film-back-link{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:300;letter-spacing:.015em;color:#222;text-decoration:none;border-bottom:1px solid transparent;padding:5px 0;transition:border-color .2s ease,color .2s ease;}
.film-back-link:hover,.film-back-link:focus-visible{border-bottom-color:currentColor;color:#aa1721;}
.film-back-link:focus-visible{outline:2px solid currentColor;outline-offset:4px;}

/* Version 7.3 — Optional distribution metadata and film awards */
.film-awards{max-width:780px;margin:clamp(28px,4vw,55px) 0 0;}
.film-awards h2{font-size:clamp(20px,2vw,27px);font-weight:300;line-height:1.35;letter-spacing:-.02em;margin:0 0 18px;}
.film-awards ul{list-style:none;margin:0;padding:0;}
.film-awards li{font-size:15px;line-height:1.75;font-weight:400;margin:0 0 12px;color:#303030;}
