/*
Theme Name: Khan Max Cinematic
Theme URI: https://khanmax.co.uk
Author: Orange Lady Films
Description: One-page cinematic portfolio theme for writer/director/producer Khan Max — built for khanmax.co.uk.
Version: 1.0
Requires PHP: 7.4
Text Domain: khanmax-final
*/


:root{
  --bg:#0c0a09; --bg-raised:#130f0d; --text:#f5f0eb; --text-dim:#a89a8e; --text-faint:#5a4f47;
  --accent:#d4845a; --accent-amber:#c9a87c; --border:#2a221c;
  --font-sans:'Inter',system-ui,sans-serif; --font-display:'Cormorant Garamond',Georgia,serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
::selection{background:var(--accent);color:var(--bg);}
a{color:inherit;}
img{max-width:100%;display:block;}

.gate-overlay{position:fixed;inset:0;pointer-events:none;z-index:9990;border:12px solid var(--bg);opacity:.6;}
.gate-overlay::after{content:'';position:absolute;inset:0;border:1px solid rgba(255,255,255,.04);}
#filmCanvas{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.4;}

.preloader{position:fixed;inset:0;background:var(--bg);z-index:10000;display:flex;align-items:center;justify-content:center;transition:opacity 1.2s cubic-bezier(.16,1,.3,1),visibility 1.2s;}
.preloader.done{opacity:0;visibility:hidden;pointer-events:none;}
.leader{width:280px;height:280px;position:relative;display:flex;align-items:center;justify-content:center;}
.leader-circle{position:absolute;inset:0;border:2px solid var(--text-faint);border-radius:50%;animation:gateWeave .15s infinite;}
.leader-cross{position:absolute;inset:0;}
.leader-cross::before,.leader-cross::after{content:'';position:absolute;background:var(--text-faint);}
.leader-cross::before{width:1px;height:100%;left:50%;top:0;}
.leader-cross::after{width:100%;height:1px;top:50%;left:0;}
.leader-num{font-family:var(--font-display);font-size:8rem;font-weight:600;line-height:1;opacity:0;transform:scale(1.5);position:absolute;transition:all .3s cubic-bezier(.16,1,.3,1);}
.leader-num.active{opacity:1;transform:scale(1);}
@keyframes gateWeave{0%,100%{transform:translate(0,0);}25%{transform:translate(.5px,-.3px);}50%{transform:translate(-.3px,.5px);}75%{transform:translate(.3px,.3px);}}

.cursor-ring{position:fixed;width:40px;height:40px;border:1px solid rgba(236,236,232,.3);border-radius:50%;pointer-events:none;z-index:10001;transform:translate(-50%,-50%);transition:width .4s,height .4s,border-color .4s,background .4s;mix-blend-mode:difference;}
.cursor-ring.hover{width:80px;height:80px;border-color:rgba(236,236,232,.6);background:rgba(236,236,232,.05);}
.cursor-dot{position:fixed;width:4px;height:4px;background:var(--text);border-radius:50%;pointer-events:none;z-index:10001;transform:translate(-50%,-50%);mix-blend-mode:difference;}
@media (pointer:coarse){.cursor-ring,.cursor-dot{display:none;}}

nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:2rem 4rem;display:flex;justify-content:space-between;align-items:center;mix-blend-mode:difference;transform:translateY(-100%);transition:transform .8s cubic-bezier(.16,1,.3,1);}
nav.visible{transform:translateY(0);}
.nav-logo{font-family:var(--font-display);font-size:1.25rem;font-weight:500;letter-spacing:.02em;text-decoration:none;color:var(--text);}
.nav-logo small{display:block;font-family:var(--font-sans);font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-faint);margin-top:2px;}
.nav-links{display:flex;gap:3rem;list-style:none;}
.nav-links a{text-decoration:none;color:var(--text);font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:400;position:relative;}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:currentColor;transition:width .6s cubic-bezier(.16,1,.3,1);}
.nav-links a:hover::after{width:100%;}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;}
.nav-toggle span{width:22px;height:1.5px;background:var(--text);}
.nav-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;z-index:99;background:rgba(7,7,7,.97);backdrop-filter:blur(16px);padding:120px 40px;flex-direction:column;align-items:center;gap:26px;}
.nav-overlay.open{display:flex;}
.nav-overlay a{font-family:var(--font-display);font-size:1.8rem;color:var(--text-dim);text-decoration:none;}
.nav-overlay a:hover{color:var(--accent);}

.smooth-wrapper{will-change:transform;}

.hero{height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;position:relative;overflow:hidden;}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.45;filter:grayscale(30%) sepia(8%) contrast(1.1);}
.hero-video-overlay{position:absolute;inset:0;background:linear-gradient(180deg,var(--bg) 0%,rgba(12,10,9,.55) 35%,rgba(12,10,9,.75) 100%);z-index:1;}
.hero>*:not(.hero-video):not(.hero-video-overlay){position:relative;z-index:2;}
.hero-eyebrow{font-size:11px;letter-spacing:.4em;text-transform:uppercase;color:var(--text-faint);margin-bottom:2rem;overflow:hidden;}
.hero-eyebrow span{display:inline-block;transform:translateY(100%);animation:rise 1s cubic-bezier(.16,1,.3,1) forwards;animation-delay:3.2s;}
.hero-title{font-family:var(--font-display);font-size:clamp(3.2rem,11vw,9rem);font-weight:400;line-height:.92;letter-spacing:-.03em;margin-bottom:2rem;overflow:hidden;}
.hero-title .line{display:block;overflow:hidden;}
.hero-title .line span{display:inline-block;transform:translateY(110%);animation:rise 1.4s cubic-bezier(.16,1,.3,1) forwards;}
.hero-title .accent{color:var(--accent);font-style:italic;}
.hero-title .line:nth-child(1) span{animation-delay:3.4s;}
.hero-title .line:nth-child(2) span{animation-delay:3.6s;}
@keyframes rise{to{transform:translateY(0);}}
.hero-subtitle{font-size:1.1rem;color:var(--text-dim);font-weight:300;max-width:480px;margin:0 auto;line-height:1.7;opacity:0;animation:fadeIn 2s ease forwards;animation-delay:4s;}
@keyframes fadeIn{to{opacity:1;}}
.hero-actions{display:flex;gap:1rem;justify-content:center;margin-top:2.5rem;flex-wrap:wrap;opacity:0;animation:fadeIn 2s ease forwards;animation-delay:4.3s;}
.hero-meta{position:absolute;bottom:4rem;left:4rem;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-faint);opacity:0;animation:fadeIn 2s ease forwards;animation-delay:4.5s;}
.hero-meta-right{position:absolute;bottom:4rem;right:4rem;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-faint);opacity:0;animation:fadeIn 2s ease forwards;animation-delay:4.5s;text-align:right;}
@media (max-width:1024px){.hero-meta,.hero-meta-right{display:none;}}

.section-header{padding:10rem 4rem 5rem;max-width:1400px;margin:0 auto;}
.section-label{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem;font-weight:500;}
.section-title{font-family:var(--font-display);font-size:clamp(2.5rem,5vw,4.5rem);font-weight:400;letter-spacing:-.02em;line-height:1.05;}
.section-sub{color:var(--text-dim);margin-top:1.4rem;max-width:600px;line-height:1.8;font-size:15px;font-weight:300;}

.films{max-width:1400px;margin:0 auto;padding:0 4rem 10rem;}
.film-scene{display:grid;grid-template-columns:61.8% 38.2%;gap:4rem;align-items:center;margin-bottom:9rem;}
.film-scene:nth-child(even){grid-template-columns:38.2% 61.8%;direction:rtl;}
.film-scene:nth-child(even)>*{direction:ltr;}
.film-scene:last-child{margin-bottom:0;}
.film-visual{position:relative;overflow:hidden;aspect-ratio:16/10;background:var(--bg-raised);cursor:pointer;}
.film-visual-inner{width:100%;height:100%;transition:transform .1s linear;will-change:transform;}
.film-visual img{width:100%;height:100%;object-fit:cover;filter:url(#chromatic) grayscale(35%) sepia(10%) contrast(1.15) brightness(.9);transition:filter 1.2s cubic-bezier(.16,1,.3,1);}
.film-visual:hover img{filter:grayscale(0%) sepia(5%) contrast(1.05) brightness(1);}
.film-visual::after{content:'';position:absolute;inset:0;background:linear-gradient(35deg,rgba(7,7,7,.8) 0%,transparent 60%);pointer-events:none;}
.film-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:2;opacity:0;transition:opacity .5s cubic-bezier(.16,1,.3,1);}
.film-visual:hover .film-play{opacity:1;}
.film-play-btn{width:88px;height:88px;border:1px solid rgba(236,236,232,.4);border-radius:50%;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);background:rgba(7,7,7,.4);transition:transform .6s cubic-bezier(.16,1,.3,1),border-color .3s;}
.film-play-btn::after{content:'';width:0;height:0;border-left:18px solid var(--text);border-top:11px solid transparent;border-bottom:11px solid transparent;margin-left:5px;}
.film-visual:hover .film-play-btn{transform:scale(1.1);border-color:rgba(236,236,232,.8);}
.film-data{padding:1.5rem 0;}
.film-year{font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--text-faint);margin-bottom:1.4rem;}
.film-title{font-family:var(--font-display);font-size:clamp(1.9rem,3.2vw,3.1rem);font-weight:400;margin-bottom:1.2rem;line-height:1.1;}
.film-desc{font-size:15px;color:var(--text-dim);line-height:1.8;margin-bottom:1.6rem;max-width:92%;}
.film-badges{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1.6rem;}
.film-badge{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;padding:5px 12px;border:1px solid var(--border);color:var(--text-faint);}
.film-badge.win{border-color:var(--accent);color:var(--accent);}
.film-credits{border-top:1px solid var(--border);padding-top:1.4rem;display:flex;flex-direction:column;gap:.5rem;}
.film-credit-line{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint);}
.film-credit-line span{color:var(--text-dim);}

.featured{background:var(--bg-raised);padding:9rem 4rem;}
.featured-inner{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:61.8% 38.2%;gap:4rem;align-items:center;}
.feat-tag{display:inline-block;padding:5px 14px;border:1px solid var(--border);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:1.6rem;}
.feat-title{font-family:var(--font-display);font-size:clamp(2.4rem,4.4vw,4rem);font-weight:400;margin-bottom:1.4rem;line-height:1.02;}
.feat-log{color:var(--text-dim);font-size:1rem;line-height:1.85;max-width:520px;margin-bottom:1.6rem;font-weight:300;}
.feat-comps{font-size:11px;letter-spacing:.1em;color:var(--text-faint);text-transform:uppercase;}
.feat-comps b{color:var(--accent);font-weight:500;font-style:italic;font-family:var(--font-display);text-transform:none;font-size:13px;}
.feat-stats{display:flex;flex-direction:column;gap:1.1rem;border-left:1px solid var(--border);padding-left:2.4rem;}
.feat-stats .row{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--border);padding-bottom:1rem;}
.feat-stats .row:last-child{border-bottom:none;padding-bottom:0;}
.feat-stats .k{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);}
.feat-stats .v{font-family:var(--font-display);font-size:1rem;color:var(--text);}
@media (max-width:1024px){.featured-inner{grid-template-columns:1fr;gap:2.5rem;}.feat-stats{border-left:none;padding-left:0;border-top:1px solid var(--border);padding-top:1.6rem;}}

.slate-section{padding:9rem 4rem;}
.slate-inner{max-width:1400px;margin:0 auto;}
.slate-card{border:1px solid var(--border);padding:3.5rem;display:grid;grid-template-columns:auto 1fr;gap:3rem;align-items:center;position:relative;overflow:hidden;transition:border-color .6s;}
.slate-card:hover{border-color:var(--accent);}
.slate-mark{font-family:var(--font-display);font-size:4.5rem;color:var(--accent);opacity:.14;line-height:1;}
.slate-badge{display:inline-block;font-size:9.5px;letter-spacing:.15em;text-transform:uppercase;padding:5px 14px;border:1px solid var(--accent);color:var(--accent);margin-bottom:1rem;}
.slate-card h3{font-family:var(--font-display);font-size:2.1rem;font-weight:400;margin-bottom:.8rem;}
.slate-card p{color:var(--text-dim);font-size:.98rem;line-height:1.8;max-width:600px;font-weight:300;}
@media (max-width:768px){.slate-card{grid-template-columns:1fr;padding:2rem;gap:1.4rem;}.slate-mark{font-size:2.6rem;}}

.about{max-width:1400px;margin:0 auto;padding:0 4rem 10rem;display:grid;grid-template-columns:38.2% 61.8%;gap:5rem;align-items:start;}
.about-portrait{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--bg-raised);}
.about-portrait img{width:100%;height:100%;object-fit:cover;filter:grayscale(85%) sepia(12%) contrast(1.2);transition:filter 1.5s cubic-bezier(.16,1,.3,1),transform 1.5s;}
.about-portrait:hover img{filter:grayscale(0%) sepia(6%) contrast(1.05);transform:scale(1.03);}
.about-content{padding-top:2rem;}
.about-quote{font-family:var(--font-display);font-size:clamp(1.6rem,2.8vw,2.5rem);font-weight:400;line-height:1.3;margin-bottom:2.5rem;font-style:italic;}
.about-quote .accent{color:var(--accent);}
.about-body{font-size:15px;color:var(--text-dim);line-height:1.9;margin-bottom:1.6rem;font-weight:300;}
.about-credits{margin-top:2.5rem;padding-top:1.6rem;border-top:1px solid var(--border);}
.credit-row{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--text-faint);line-height:2.3;}
.credit-row span{color:var(--text-dim);}
@media (max-width:1024px){.about{grid-template-columns:1fr;gap:3rem;}}

.vault{background:var(--bg-raised);position:relative;overflow:hidden;padding:9rem 4rem;}
.vault::before{content:'';position:absolute;top:-30%;right:-10%;width:700px;height:700px;border:1px solid var(--border);border-radius:50%;opacity:.4;pointer-events:none;animation:slowRotate 60s linear infinite;}
@keyframes slowRotate{to{transform:rotate(360deg);}}
.vault-inner{max-width:1400px;margin:0 auto;position:relative;z-index:1;}
.vault-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:4rem;}
.vault-card{border:1px solid var(--border);padding:0 0 2.6rem;position:relative;overflow:hidden;transition:border-color .6s,transform .6s cubic-bezier(.16,1,.3,1);background:var(--bg);}
.vault-card-poster{aspect-ratio:2/3;overflow:hidden;background:var(--bg-raised);margin-bottom:1.8rem;}
.vault-card-poster img{width:100%;height:100%;object-fit:cover;filter:grayscale(50%) sepia(10%) contrast(1.1);transition:filter .6s,transform .8s cubic-bezier(.16,1,.3,1);}
.vault-card:hover .vault-card-poster img{filter:grayscale(0%) sepia(5%) contrast(1.05);transform:scale(1.04);}
.vault-card-title,.vault-card-logline,.vault-card-meta,.vault-card-request{margin-left:2.2rem;margin-right:2.2rem;}
.vault-card-title{margin-top:0;}
.vault-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .6s cubic-bezier(.16,1,.3,1);}
.vault-card:hover{border-color:var(--text-faint);transform:translateY(-6px);}
.vault-card:hover::before{transform:scaleX(1);}
.vault-card-title{font-family:var(--font-display);font-size:1.6rem;margin-bottom:.9rem;}
.vault-card-logline{font-size:13.5px;color:var(--text-dim);line-height:1.65;margin-bottom:1.5rem;font-style:italic;min-height:60px;}
.vault-card-meta{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint);margin-bottom:1.1rem;}
.vault-card-request{font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .3s;}
.vault-card-request:hover{border-color:var(--accent);}
@media (max-width:1024px){.vault-grid{grid-template-columns:1fr;}}

.magnetic-btn{display:inline-flex;align-items:center;gap:.9rem;padding:16px 42px;border:1px solid var(--text);color:var(--text);text-decoration:none;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;background:transparent;cursor:pointer;position:relative;overflow:hidden;transition:color .6s;will-change:transform;}
.magnetic-btn::before{content:'';position:absolute;inset:0;background:var(--text);transform:translateY(101%);transition:transform .6s cubic-bezier(.16,1,.3,1);z-index:-1;}
.magnetic-btn:hover{color:var(--bg);}
.magnetic-btn:hover::before{transform:translateY(0);}
.magnetic-btn.ghost{border-color:var(--border);color:var(--text-dim);}
.magnetic-btn.ghost::before{background:var(--text-faint);}

.gallery-section{padding:9rem 4rem;}
.gallery-inner{max-width:1400px;margin:0 auto;}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:4rem;}
.gallery-item{aspect-ratio:3/4;background:var(--bg-raised);border:1px solid var(--border);overflow:hidden;position:relative;transition:transform .4s cubic-bezier(.16,1,.3,1),border-color .4s;}
.gallery-item:hover{transform:scale(1.04);border-color:var(--accent);z-index:2;}
.gallery-item img{width:100%;height:100%;object-fit:cover;opacity:.55;transition:opacity .4s;}
.gallery-item:hover img{opacity:.9;}
.gallery-item:nth-child(1){grid-column:span 2;grid-row:span 2;aspect-ratio:auto;min-height:320px;}
@media (max-width:900px){.gallery-grid{grid-template-columns:repeat(2,1fr);}.gallery-item:nth-child(1){grid-column:span 2;grid-row:span 1;min-height:220px;}}

.contact{max-width:700px;margin:0 auto;padding:10rem 4rem;text-align:center;}
.contact-title{font-family:var(--font-display);font-size:clamp(2.5rem,5vw,4rem);margin-bottom:1.4rem;font-weight:400;}
.contact-title .accent{color:var(--accent);font-style:italic;}
.contact-sub{color:var(--text-dim);margin-bottom:3.5rem;font-size:1.1rem;font-weight:300;}
.contact-email{font-family:var(--font-sans);font-size:1.1rem;color:var(--accent);text-decoration:none;border-bottom:1px solid var(--border);padding-bottom:4px;transition:border-color .3s,color .3s;}
.contact-email:hover{border-color:var(--accent);color:var(--text);}
.newsletter{margin-top:3rem;display:flex;justify-content:center;gap:12px;flex-wrap:wrap;}
.newsletter input{padding:14px 20px;background:transparent;border:1px solid var(--border);color:var(--text);font-family:var(--font-sans);font-size:14px;min-width:260px;transition:border-color .3s;outline:none;}
.newsletter input::placeholder{color:var(--text-faint);}
.newsletter input:focus{border-color:var(--accent);}

footer{padding:3rem 4rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--text-faint);letter-spacing:.1em;flex-wrap:wrap;gap:1rem;}
.footer-links{display:flex;gap:2rem;}
.footer-links a{color:var(--text-faint);text-decoration:none;transition:color .3s;text-transform:uppercase;font-size:11px;letter-spacing:.15em;}
.footer-links a:hover{color:var(--text);}

.lightbox{position:fixed;inset:0;z-index:2000;background:rgba(7,7,7,.96);backdrop-filter:blur(18px);display:none;align-items:center;justify-content:center;padding:24px;}
.lightbox.open{display:flex;}
.lightbox-box{width:100%;max-width:900px;background:#000;border:1px solid var(--border);position:relative;}
.lightbox-box iframe{width:100%;aspect-ratio:16/9;border:none;display:block;}
.lightbox-close{position:absolute;top:-42px;right:0;background:none;border:none;color:var(--text);font-size:1.5rem;cursor:pointer;}
.lightbox-close:hover{color:var(--accent);}

@media (max-width:1024px){
  .film-scene,.film-scene:nth-child(even){grid-template-columns:1fr;direction:ltr;gap:2rem;}
  .about{grid-template-columns:1fr;}
  .vault-grid{grid-template-columns:1fr;}
  nav{padding:1.4rem 1.6rem;}
  .section-header,.films,.about,.vault-inner,.contact,.featured-inner,.gallery-inner,.slate-inner{padding-left:1.6rem;padding-right:1.6rem;}
  .featured{padding:6rem 1.6rem;}
  .gallery-section,.slate-section{padding:6rem 1.6rem;}
  .section-header{padding-top:7rem;padding-bottom:3rem;}
}
@media (max-width:768px){
  .cursor-ring,.cursor-dot,.gate-overlay{display:none;}
  .nav-links{display:none;}
  .nav-toggle{display:flex;}
  .hero-title{font-size:clamp(2.6rem,15vw,4.2rem);}
  .gallery-grid{grid-template-columns:1fr 1fr;}
}
