@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');
:root{--bg:#090a0b;--panel:#111315;--cream:#f4f0e7;--muted:#aaa79f;--gold:#c7a66a;--line:#292b2c;--blue:#08a5d8}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--cream);font-family:"DM Sans",Arial,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}h1,h2{font-family:"Playfair Display",Georgia,serif;font-weight:600;letter-spacing:-.035em;line-height:.98}h1 i,h2 i{color:var(--gold);font-weight:600}.kicker{font-size:10px;letter-spacing:.2em;color:var(--gold);font-weight:600}.nav{position:sticky;top:0;z-index:50;height:76px;padding:10px 4vw;display:flex;align-items:center;gap:24px;background:#090a0bf0;backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;margin-right:auto}.brand img{width:42px;height:42px;object-fit:cover;border-radius:8px}.brand strong{display:block;font-family:Georgia,serif;letter-spacing:.12em}.brand small{display:block;color:#898989;font-size:8px;margin-top:2px}.nav nav{display:flex;gap:18px;font-size:11px}.nav nav a:hover{color:var(--gold)}#menu{display:none;background:none;color:white;border:0;font-size:22px}.btn{display:inline-block;border:1px solid var(--gold);border-radius:999px;padding:12px 18px;text-transform:uppercase;font-size:10px;letter-spacing:.1em;font-weight:600;background:#c7a66a;color:#0b0b0b}.btn.outline{background:transparent;color:white;border-color:#666}.btn.small{padding:10px 14px;background:transparent;color:white}.hero{position:relative;min-height:82vh;margin:24px 3.5vw 75px;border:1px solid #625c52;border-radius:26px;overflow:hidden;display:flex;align-items:flex-end}.heroVisual{position:absolute;inset:0}.placeholder{background:radial-gradient(circle at 68% 32%,#473b28 0,#25211a 18%,#111315 52%,#090a0b 78%);display:flex;align-items:center;justify-content:center;color:#79766f;font-size:10px;letter-spacing:.16em;text-align:center}.shade{position:absolute;inset:0;background:linear-gradient(90deg,#000e 5%,#0008 45%,#0001 80%),linear-gradient(0deg,#000d 0,transparent 52%)}.heroText{position:relative;z-index:3;padding:7vw;width:min(870px,80%)}.hero h1{font-size:clamp(48px,6.5vw,94px);margin:12px 0 25px}.heroText p{max-width:680px;color:#d0ccc4;font-size:16px}.buttons{display:flex;gap:10px;margin-top:28px}.play{width:58px;height:58px;border:1px solid #ffffff80;border-radius:50%;display:grid;place-items:center;margin-right:14px;color:white;font-size:17px}.trust{position:absolute;z-index:4;bottom:0;right:0;display:flex;background:#101214e8;border-radius:22px 0 0 0;overflow:hidden}.trust span{padding:18px 20px;border-left:1px solid #303234;font-size:8px;letter-spacing:.13em;color:#c7c4bd}
section:not(.hero){padding:85px 7vw}.welcome{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}.welcome h2,.heading h2,.story h2,.cap h2,.faith h2,.world h2,.contact h2{font-size:clamp(38px,5vw,70px);margin:12px 0 24px}.welcome p{font-size:18px;color:#c5c1b8}.signature{font-family:Georgia,serif;font-style:italic;color:var(--gold)!important}.darkBlock{background:#0d0f10}.heading{margin-bottom:35px}.heading.row{display:flex;justify-content:space-between;gap:50px;align-items:end}.heading.row>p{max-width:430px;color:var(--muted)}.serviceGrid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}.serviceGrid article{position:relative;min-height:265px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.serviceGrid b{position:absolute;right:24px;color:#595b5c;font-size:10px}.icon{font-size:27px;color:var(--gold);margin:10px 0 32px}.serviceGrid h3{font:24px Georgia,serif}.serviceGrid p{color:#9f9d97}.serviceGrid a{font-size:10px;color:var(--gold);text-transform:uppercase;letter-spacing:.1em}.showcase{display:grid;grid-template-columns:2fr 1fr 1fr;gap:13px}.featured{grid-row:span 2;min-height:550px;border-radius:20px;position:relative}.tile{min-height:265px;border-radius:16px}.play.big{width:78px;height:78px;font-size:24px}.label{position:absolute;left:28px;bottom:25px;text-align:left}.label small,.label strong{display:block}.label small{color:var(--gold);letter-spacing:.13em}.label strong{font:22px Georgia,serif;margin-top:5px}.story,.cap,.faith,.contact{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}.story{background:#101214}.portrait{min-height:620px;border-radius:20px}.storyText p,.cap p,.faith p,.world p,.contact p{color:#bbb8b0}.values{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}.values span,.chips span{border:1px solid #3b3934;border-radius:999px;padding:8px 12px;font-size:9px;letter-spacing:.13em}.gear{aspect-ratio:16/10;border-radius:20px}.team{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.person{aspect-ratio:4/5;border-radius:18px}.team h3{font:21px Georgia,serif;margin-bottom:3px}.team p{font-size:11px;color:#98968f;margin-top:0}.mentor{margin-top:35px;padding:25px;border:1px solid var(--line);border-radius:16px;display:flex;justify-content:space-between;gap:30px}.mentor strong{font-family:Georgia,serif}.mentor span{color:#999}.faith{background:#12100d}.faithVisual{min-height:520px;border-radius:20px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.world{text-align:center;padding-block:125px!important}.world p{max-width:760px;margin:0 auto}.route{margin:45px auto 0;display:flex;justify-content:center;align-items:center;gap:20px;flex-wrap:wrap;color:#aaa}.route span{font-size:9px;letter-spacing:.14em}.route b{color:var(--gold)}.contact{background:#111315}.contact form{display:grid;grid-template-columns:1fr 1fr;gap:13px}.contact label{font-size:9px;letter-spacing:.1em;color:#aaa;text-transform:uppercase}.contact input,.contact select,.contact textarea{display:block;width:100%;margin-top:6px;padding:14px;background:#090a0b;border:1px solid #343637;border-radius:9px;color:#eee;font:13px inherit}.contact .full{grid-column:1/-1}.contact button{width:max-content;border:0;cursor:pointer}footer{padding:38px 5vw;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;color:#8f8d87;font-size:11px}.footBrand{display:flex;gap:12px;align-items:center}.footBrand img{width:42px;height:42px;border-radius:8px}.footBrand strong{display:block;color:white;font-family:Georgia,serif;letter-spacing:.1em}.footBrand small{display:block;font-size:8px}
@media(max-width:950px){.nav nav,.nav>.btn{display:none}#menu{display:block}.nav.open nav{display:flex;position:absolute;top:76px;left:0;right:0;background:#0b0c0d;padding:24px 5vw;flex-direction:column}.welcome,.story,.cap,.faith,.contact{grid-template-columns:1fr}.serviceGrid{grid-template-columns:1fr 1fr}.showcase{grid-template-columns:1fr 1fr}.featured{grid-column:1/-1;min-height:430px}.team{grid-template-columns:1fr 1fr}.heading.row{display:block}.trust{display:none}footer{grid-template-columns:1fr}}
@media(max-width:580px){section:not(.hero){padding:58px 6vw}.hero{margin:12px 3vw 50px;min-height:76vh}.heroText{padding:28px;width:100%}.hero h1{font-size:44px}.buttons{flex-direction:column;align-items:flex-start}.serviceGrid,.showcase,.team,.contact form{grid-template-columns:1fr}.featured{grid-column:auto;min-height:330px}.contact .full{grid-column:auto}.portrait,.faithVisual{min-height:430px}.mentor{display:block}.mentor span{display:block;margin-top:8px}}

/* Toluwa Films studio wordmark refinement */
.brand strong,
.footBrand strong {
  font-family: "DM Sans", Arial, sans-serif;
  font-weight: 600;
  font-size: 16px;
  letter-spacing: .20em;
  line-height: 1.1;
}
.brand small {
  margin-top: 5px;
  letter-spacing: .02em;
  font-size: 8px;
}

/* Real portfolio update */
.realWork{display:grid;grid-template-columns:1fr 1fr;gap:18px}.videoCard{background:#111315;border:1px solid var(--line);border-radius:18px;overflow:hidden}.videoCard video{display:block;width:100%;aspect-ratio:16/9;background:#000;object-fit:contain}.videoCard:not(.featuredReal) video{aspect-ratio:9/12;max-height:520px}.featuredReal{grid-column:1/-1;display:grid;grid-template-columns:1.45fr .55fr;align-items:center}.featuredReal video{height:100%;min-height:420px}.videoCard>div{padding:24px}.videoCard small{color:var(--gold);letter-spacing:.15em;font-size:9px}.videoCard h3{font:27px Georgia,serif;margin:7px 0}.videoCard p{color:#999}.photoFeature{margin-top:80px;display:grid;grid-template-columns:.65fr 1.35fr;gap:50px;align-items:center}.photoPair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.photoPair img{width:100%;height:380px;object-fit:cover;border-radius:16px}.founderPhoto{position:relative;min-height:620px;border-radius:20px;overflow:hidden;background:#111}.founderPhoto img{width:100%;height:620px;object-fit:cover}.founderPhoto span{position:absolute;left:18px;bottom:18px;background:#090a0bd9;border:1px solid #444;border-radius:999px;padding:8px 12px;font-size:8px;letter-spacing:.13em}.realTeam{grid-template-columns:repeat(3,1fr)}.realTeam .person{overflow:hidden;background:#111}.realTeam .person img{width:100%;height:100%;object-fit:cover}.realTeam .person.action img{object-position:center}.trainingBlock{margin-top:70px;padding:40px;background:#111315;border:1px solid var(--line);border-radius:22px;display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;align-items:center}.trainingPhoto{height:520px;border-radius:18px;overflow:hidden;background:#000}.trainingPhoto img{width:100%;height:100%;object-fit:cover;object-position:center}.trainingBlock h2{font-size:clamp(34px,4vw,58px);margin:12px 0 20px}.trainingBlock h3{font:22px Georgia,serif}.trainingBlock p{color:#aaa}
@media(max-width:850px){.featuredReal,.photoFeature,.trainingBlock{grid-template-columns:1fr}.realWork{grid-template-columns:1fr}.featuredReal{grid-column:auto}.realTeam{grid-template-columns:1fr 1fr}.photoPair img{height:300px}}
@media(max-width:560px){.realTeam,.photoPair{grid-template-columns:1fr}.trainingPhoto{height:430px}.featuredReal video{min-height:0}.photoPair img{height:280px}}

/* Landscape church production video */
.videoCard.landscapeReal video{aspect-ratio:16/9;max-height:none}

/* Homepage showreel */
.showreelLabel{position:absolute;top:24px;right:24px;z-index:2;padding:9px 13px;border:1px solid #ffffff55;border-radius:999px;background:#090a0bcc;color:#fff;font:600 9px "DM Sans",Arial,sans-serif;letter-spacing:.16em;cursor:pointer}
.showreelModal{width:min(1100px,92vw);padding:0;border:1px solid #625c52;border-radius:18px;background:#050505;overflow:visible}
.showreelModal::backdrop{background:#000d}
.showreelModal video{display:block;width:100%;max-height:86vh;border-radius:18px}
.showreelClose{position:absolute;top:-15px;right:-15px;z-index:1;width:34px;height:34px;border:1px solid #ffffff55;border-radius:50%;background:#090a0b;color:#fff;font-size:22px;line-height:1;cursor:pointer}
@media(max-width:580px){.showreelLabel{top:14px;right:14px;font-size:8px}}

/* Services section refinement */
#services .serviceIntro{max-width:790px;margin-bottom:45px}
#services .serviceIntro h2{margin-bottom:18px}
#services .serviceIntro p{max-width:720px;margin:0;color:var(--muted);font-size:16px}
#services .serviceGrid article{isolation:isolate;overflow:hidden;min-height:340px;display:flex;flex-direction:column;justify-content:flex-end;background:#111315;transition:transform .35s ease,background-color .35s ease,box-shadow .35s ease}
#services .serviceGrid article::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,8,8,.35) 0%,rgba(7,8,8,.58) 45%,rgba(7,8,8,.94) 100%);transition:background .35s ease}
#services .serviceGrid .servicePhoto{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
#services .serviceGrid article:nth-child(1) .servicePhoto{object-position:52% center}
#services .serviceGrid article:nth-child(2) .servicePhoto{object-position:50% center}
#services .serviceGrid article:nth-child(3) .servicePhoto{object-position:43% center}
#services .serviceGrid article:nth-child(4) .servicePhoto{object-position:48% center}
#services .serviceGrid article:nth-child(5) .servicePhoto{object-position:50% center}
#services .serviceGrid article:nth-child(6) .servicePhoto{object-position:47% center}
#services .serviceGrid b{top:5px;right:18px;z-index:0;color:rgba(199,166,106,.3);font:600 100px/.9 "Playfair Display",Georgia,serif;letter-spacing:-.08em;pointer-events:none}
#services .serviceGrid .icon{opacity:.88;transition:opacity .35s ease,transform .35s ease}
#services .serviceGrid h3,#services .serviceGrid p,#services .serviceGrid a,#services .serviceGrid .icon{position:relative;z-index:1}
#services .serviceGrid h3{margin:0 0 12px;text-shadow:0 2px 14px rgba(0,0,0,.65)}
#services .serviceGrid p{margin:0 0 18px;color:#d0cdc5;text-shadow:0 1px 8px rgba(0,0,0,.8)}
#services .serviceGrid a{display:inline-block}
#services .serviceGrid a:focus-visible{outline:1px solid var(--gold);outline-offset:5px}
@media (hover:hover) and (pointer:fine){#services .serviceGrid article:hover{z-index:1;transform:translateY(-4px);background-color:#111315;box-shadow:inset 0 0 0 1px rgba(199,166,106,.5),0 14px 28px rgba(0,0,0,.18)}#services .serviceGrid article:hover::after{background:linear-gradient(180deg,rgba(7,8,8,.25) 0%,rgba(7,8,8,.48) 45%,rgba(7,8,8,.9) 100%)}#services .serviceGrid article:hover .servicePhoto{transform:scale(1.035)}#services .serviceGrid article:hover .icon{opacity:1;transform:translateY(-2px)}}
@media(max-width:950px){#services .serviceGrid article{min-height:330px}}
@media(max-width:580px){#services .serviceGrid article{min-height:350px;padding:26px}#services .serviceGrid b{font-size:92px}}
@media (prefers-reduced-motion:reduce){#services .serviceGrid article,#services .serviceGrid .icon,#services .serviceGrid .servicePhoto{transition:none}}
