@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

@font-face{
  font-family:'Codec Pro';
  src:url('../assets/fonts/CodecPro.woff2') format('woff2'),
      url('../assets/fonts/CodecPro.woff') format('woff');
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}

:root{
  --black:#050505; --white:#fff; --soft:#f4f4f2; --line:#e6e6e2; --muted:#606060;
  --max:1180px; --radius:18px;
  --font-head:'Codec Pro','Codec Pro Bold','Inter',Arial,sans-serif;
  --font-body:'Inter',Arial,sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:var(--font-body);background:#fff;color:var(--black);-webkit-font-smoothing:antialiased} a{color:inherit;text-decoration:none} img{max-width:100%;display:block} button,input,select,textarea{font:inherit}
.site-header{position:absolute;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;height:72px;padding:0 clamp(22px,5vw,72px);color:#fff}
.site-header.solid{position:sticky;background:#050505;color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.08)}
.logo{width:96px;height:auto}.main-nav{display:flex;gap:32px;align-items:center;font-size:13px;font-weight:700}.main-nav a{padding:14px 0;opacity:.96}.main-nav a:hover{opacity:.65}.talk-btn{height:44px;padding:0 24px;border-radius:4px;background:#fff;color:#050505;font-size:13px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}.talk-btn.dark{background:#050505;color:#fff}.mobile-toggle{display:none;background:transparent;border:0;color:inherit;font-weight:800;font-size:14px}
.section-eyebrow{display:none!important}.section-eyebrow::before{display:none!important;content:none!important}.center{text-align:center}.container{width:min(var(--max),calc(100% - 48px));margin:0 auto}.arrow{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;border:1px solid rgba(0,0,0,.16);background:transparent;cursor:pointer}.arrow.dark{border-color:rgba(255,255,255,.28);color:#fff}.cta-row{display:flex;gap:18px;align-items:center;margin-top:28px}.btn{height:52px;padding:0 25px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;border:1px solid transparent;cursor:pointer}.btn.primary{background:#fff;color:#050505}.btn.ghost{border-color:rgba(255,255,255,.7);color:#fff}.btn.black{background:#050505;color:#fff}.btn span{margin-left:16px;font-size:22px;line-height:1}
.hero{min-height:780px;height:100vh;position:relative;color:#fff;display:flex;align-items:center;overflow:hidden;background:#050505}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.40) 45%,rgba(0,0,0,.12) 100%),linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,0) 35%,rgba(0,0,0,.55) 100%)}.hero-content{position:relative;z-index:2;width:min(var(--max),calc(100% - 72px));margin:0 auto;padding-top:54px}.hero .location{font-size:13px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin-bottom:24px}.hero h1{font-size:clamp(54px,7.2vw,92px);line-height:.96;letter-spacing:-.06em;margin:0;max-width:650px}.hero p{font-size:18px;line-height:1.45;max-width:620px;margin:26px 0 0;color:rgba(255,255,255,.92)}.hero-tags{position:absolute;left:clamp(36px,7.5vw,130px);right:clamp(36px,7.5vw,130px);bottom:44px;z-index:2;border-top:1px solid rgba(255,255,255,.35);padding-top:22px;display:flex;gap:20px;flex-wrap:wrap;color:#fff;text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.12em}.hero-tags span:not(:last-child)::after{content:"•";margin-left:20px;opacity:.8}
.intro{padding:82px 0 70px;background:#fff;overflow:hidden}.intro h2{font-size:clamp(32px,4vw,50px);line-height:1.02;letter-spacing:-.05em;max-width:760px;margin:18px auto 18px}.intro p{max-width:560px;margin:0 auto;color:#606060;line-height:1.45}.reel-wrap{display:grid;grid-template-columns:1fr minmax(320px,620px) 1fr;gap:44px;align-items:center;margin-top:56px}.reel-side{display:flex;align-items:center;gap:20px;font-size:38px;letter-spacing:-.06em}.reel-side.left{justify-content:flex-end}.reel-side.right{justify-content:flex-start}.reel-side::before,.reel-side::after{content:"";height:1px;background:#ddd;flex:1;max-width:150px}.reel-card{position:relative;border-radius:10px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.16)}.reel-card img{width:100%;height:260px;object-fit:cover}.play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:66px;height:66px;border-radius:50%;border:0;background:#fff;color:#050505;display:grid;place-items:center;font-size:24px;cursor:pointer}.story-banner{height:310px;position:relative;display:grid;place-items:center;color:#fff;text-align:center;overflow:hidden;background:#111}.story-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;filter:brightness(.62)}.story-banner .inner{position:relative;z-index:1}.story-banner h2{font-size:clamp(30px,4vw,52px);line-height:.95;letter-spacing:-.05em;margin:0 0 18px}.story-banner .mini-logo{width:92px;margin:0 auto 12px;opacity:.85}.yellow{background:#f0d200;color:#050505;height:28px;padding:0 14px;border-radius:999px;display:inline-flex;align-items:center;font-size:10px;font-weight:900;text-transform:uppercase}.trusted{padding:76px 0 68px;background:#fff}.trusted h2{font-size:clamp(30px,4vw,48px);line-height:1.05;letter-spacing:-.045em;max-width:700px;margin:26px auto 16px}.trusted p{color:#606060;line-height:1.45;margin:0 auto;max-width:560px}.logo-carousel{margin-top:76px;width:min(1280px,70vw);display:block}.logo-track{position:relative;overflow:hidden;white-space:nowrap;mask-image:linear-gradient(to right,transparent 0,#000 12%,#000 88%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0,#000 12%,#000 88%,transparent 100%)}.logo-marquee{display:flex;width:max-content;align-items:center;animation:logoAutoPlay 27s linear infinite;will-change:transform}.logo-set{display:flex;flex:0 0 auto;align-items:center;gap:56px;padding-right:56px}.agency-logo{font-size:clamp(22px,3vw,38px);font-weight:900;letter-spacing:-.05em;line-height:1;min-width:max-content}.agency-logo.thin{font-weight:500;letter-spacing:.12em;font-size:clamp(18px,2.2vw,28px)}@keyframes logoAutoPlay{from{transform:translateX(0)}to{transform:translateX(-50%)}}.dots{display:flex;justify-content:center;gap:12px;margin-top:44px}.dots span{width:7px;height:7px;border-radius:50%;background:#bdbdbd}.dots span.active{background:#050505}.works{background:#050505;color:#fff;padding:80px 0 78px;overflow:hidden}.works h2{font-size:clamp(34px,4vw,54px);line-height:1;letter-spacing:-.05em;margin:20px 0 10px}.works p{color:#bbb;line-height:1.45}.works-head{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:46px}.works-title{text-align:center;flex:1}.project-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 0 24px;scrollbar-width:none}.project-track::-webkit-scrollbar{display:none}.project-card{position:relative;flex:0 0 260px;height:310px;border-radius:16px;overflow:hidden;scroll-snap-align:center;background:#222}.project-card.wide{flex-basis:520px}.project-card.narrow{flex-basis:230px}.project-card img{width:100%;height:100%;object-fit:cover;filter:brightness(.74)}.project-card .meta{position:absolute;left:24px;right:24px;bottom:24px}.project-card h3{font-size:18px;margin:0 0 6px;text-transform:uppercase;letter-spacing:-.04em}.project-card small{color:#d4d4d4}.carousel-controls{display:flex;gap:14px;margin-top:18px}.services{padding:86px 0;background:#fff}.services-grid{display:grid;grid-template-columns:.9fr 1.2fr;gap:72px;align-items:center}.services h2{font-size:clamp(36px,4vw,56px);line-height:1;letter-spacing:-.055em;margin:18px 0}.services p{color:#606060;line-height:1.45}.service-item{display:grid;grid-template-columns:42px 64px 1fr 28px;gap:18px;align-items:center;padding:22px 20px;border-bottom:1px solid #e6e6e6;cursor:pointer;border-radius:15px}.service-item.active{background:#f7f7f5;box-shadow:0 18px 55px rgba(0,0,0,.07);border-bottom-color:transparent}.service-item .num{font-size:13px;color:#707070}.service-icon{width:52px;height:52px;border-radius:50%;background:#f1f1ef;display:grid;place-items:center;font-size:22px}.service-item.active .service-icon{background:#050505;color:#fff}.service-item h3{font-size:18px;margin:0 0 6px}.service-item p{font-size:14px;margin:0;color:#5a5a5a}.services-image{border-radius:12px;overflow:hidden;box-shadow:0 22px 80px rgba(0,0,0,.12)}.services-image img{width:100%;height:560px;object-fit:cover}.reviews{padding:82px 0 72px;background:#fff}.reviews h2{font-size:clamp(36px,5vw,60px);line-height:1;letter-spacing:-.06em;margin:18px 0 18px}.reviews p{color:#606060}.reviews-wrap{display:grid;grid-template-columns:44px 1fr 44px;gap:28px;align-items:center;margin-top:54px}.review-track{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.review-card{border:1px solid #e6e6e2;border-radius:15px;padding:30px;background:#fff;box-shadow:0 12px 40px rgba(0,0,0,.06)}.quote{font-size:42px;line-height:1;margin:0 0 26px}.review-card blockquote{margin:0;font-size:18px;line-height:1.45}.stars{margin:28px 0 24px;letter-spacing:4px;font-size:14px}.person{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #eee;padding-top:20px;gap:14px}.avatar{width:44px;height:44px;border-radius:50%;background:#ddd;object-fit:cover}.person strong{display:block}.person small{display:block;color:#666;margin-top:3px}.mini-brand{font-weight:900;letter-spacing:-.05em;font-size:20px}.cta-section{height:320px;position:relative;display:grid;place-items:center;color:#fff;text-align:center;overflow:hidden}.cta-section img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.48)}.cta-section .inner{position:relative;z-index:1}.cta-section h2{font-size:clamp(34px,4vw,54px);line-height:.95;letter-spacing:-.05em;margin:0 0 18px}.contact{padding:82px 0 90px;background:#fff}.contact h2{font-size:clamp(40px,5vw,66px);line-height:1;letter-spacing:-.06em;margin:18px 0 14px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:54px}.contact-card{border:1px solid #e6e6e2;border-radius:16px;overflow:hidden;box-shadow:0 16px 50px rgba(0,0,0,.07);background:#fff}.contact-card img{height:420px;width:100%;object-fit:cover}.contact-details{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid #eee}.detail{padding:20px;text-align:center;border-right:1px solid #eee;font-size:12px}.detail:last-child{border-right:0}.detail strong{display:block;text-transform:uppercase;font-size:10px;letter-spacing:.08em;margin-bottom:5px}.contact-form{padding:34px}.field{margin-bottom:22px}.field label{display:block;font-size:13px;font-weight:700;margin-bottom:9px}.field input,.field select,.field textarea{width:100%;border:1px solid #dcdcd8;border-radius:4px;height:46px;padding:0 16px;background:#fff}.field textarea{height:126px;padding-top:14px;resize:vertical}.submit{width:100%;height:48px;border-radius:999px;border:0;background:#050505;color:#fff;font-weight:800;cursor:pointer}.site-footer{background:#050505;color:#fff;padding:58px 0 34px}.footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:50px;align-items:start}.footer-thumb{width:180px;height:110px;border-radius:4px;object-fit:cover;margin-bottom:18px}.site-footer h4{margin:0 0 14px}.site-footer a,.site-footer p{display:block;color:#ccc;font-size:14px;line-height:1.7}.footer-logo{width:520px;max-width:100%;margin:48px auto 0}.page-main{padding-top:0}.sub-hero{background:#050505;color:#fff;padding:150px 0 90px}.sub-hero h1{font-size:clamp(52px,8vw,104px);line-height:.92;letter-spacing:-.07em;margin:20px 0}.sub-hero p{font-size:20px;color:#cfcfcf;line-height:1.45;max-width:720px}.page-section{padding:80px 0}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.work-grid .project-card{width:auto;flex:auto;height:360px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.about-grid h2{font-size:clamp(38px,5vw,66px);line-height:.96;letter-spacing:-.06em}.about-grid p{font-size:18px;line-height:1.55;color:#555}.about-grid img{border-radius:18px}.menu-open .main-nav{display:flex}
@media(max-width:900px){.site-header{height:64px;padding:0 20px}.logo{width:68px}.mobile-toggle{display:block}.main-nav{display:none;position:absolute;top:64px;left:0;right:0;background:#050505;flex-direction:column;align-items:flex-start;gap:0;padding:16px 22px 22px}.main-nav a{width:100%;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12)}.talk-btn{height:38px;padding:0 15px}.hero{min-height:560px;height:78vh}.hero-content{width:calc(100% - 42px)}.hero h1{font-size:46px}.hero p{font-size:14px}.hero-tags{left:22px;right:22px;bottom:26px;font-size:9px}.btn{height:44px;padding:0 16px;font-size:12px}.reel-wrap{grid-template-columns:1fr;gap:18px}.reel-side{justify-content:center!important;font-size:28px}.reel-side::before,.reel-side::after{max-width:80px}.reel-card img{height:210px}.story-banner,.cta-section{height:230px}.logo-carousel{width:calc(100% - 36px)}.logo-track{overflow:hidden}.logo-set{gap:34px;padding-right:34px}.logo-track::-webkit-scrollbar{display:none}.works-head{display:block;text-align:center}.works-head .talk-btn{margin-top:20px}.project-card,.project-card.narrow{flex-basis:220px;height:260px}.project-card.wide{flex-basis:300px}.services-grid{grid-template-columns:1fr;gap:38px}.services-image img{height:320px}.service-item{grid-template-columns:32px 52px 1fr 20px;padding:18px 10px}.reviews-wrap{grid-template-columns:1fr}.reviews-wrap>.arrow{display:none}.review-track{display:flex;overflow-x:auto;gap:16px;scroll-snap-type:x mandatory}.review-card{min-width:82%;scroll-snap-align:center}.contact-grid{grid-template-columns:1fr}.contact-card img{height:260px}.contact-details{grid-template-columns:1fr}.detail{border-right:0;border-bottom:1px solid #eee}.footer-grid,.work-grid,.about-grid{grid-template-columns:1fr}.sub-hero{padding:110px 0 70px}.section-eyebrow{font-size:10px}.container{width:calc(100% - 36px)}}

/* Removed bottom hero tags */
.hero-tags{display:none!important}

/* Asset preview updates */
.reel-card video,
.project-card video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:brightness(.74);
}
.reel-card video{height:260px;filter:none;object-position:center center;}
.project-card:hover video{transform:scale(1.03);transition:transform .8s ease;}
.showreel-modal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.82);padding:24px;}
.showreel-modal.active{display:flex;}
.showreel-modal video{width:min(420px,92vw);max-height:86vh;border-radius:18px;background:#000;box-shadow:0 30px 100px rgba(0,0,0,.45);}
.showreel-close{position:absolute;top:24px;right:24px;width:44px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.32);background:rgba(255,255,255,.1);color:#fff;font-size:26px;line-height:1;cursor:pointer;}
@media(max-width:900px){.reel-card video{height:210px}.showreel-close{top:16px;right:16px}}


/* Typography system */
h1,h2,h3,h4,h5,h6{
  font-family:var(--font-head);
}
body,p,a,button,input,select,textarea,label,small,li,span,blockquote{
  font-family:var(--font-body);
}
/* Keep all headings explicitly on Codec Pro after the body-level rule above */
h1,h2,h3,h4,h5,h6,
.hero h1,.intro h2,.story-banner h2,.trusted h2,.works h2,.services h2,.reviews h2,.cta-section h2,.contact h2,.sub-hero h1,.about-grid h2,.project-card h3,.service-item h3{
  font-family:var(--font-head);
}

/* Works carousel autoplay update */
.works-head{
  display:block;
  text-align:center;
  margin-bottom:46px;
}
.works-title{
  text-align:center;
  max-width:740px;
  margin:0 auto;
}
.works-title h2{
  margin-top:0;
}
.works-carousel-wrap{
  position:relative;
  overflow:hidden;
}
.works-carousel-wrap::before,
.works-carousel-wrap::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:clamp(64px,9vw,150px);
  z-index:4;
  pointer-events:none;
}
.works-carousel-wrap::before{
  left:0;
  background:linear-gradient(90deg,#050505 0%,rgba(5,5,5,.82) 26%,rgba(5,5,5,0) 100%);
}
.works-carousel-wrap::after{
  right:0;
  background:linear-gradient(270deg,#050505 0%,rgba(5,5,5,.82) 26%,rgba(5,5,5,0) 100%);
}
.project-track.autoplay{
  cursor:grab;
  scroll-snap-type:none;
  scroll-behavior:auto;
  padding:4px 0 8px;
}
.project-track.autoplay:active{
  cursor:grabbing;
}
.project-track.autoplay .project-card{
  scroll-snap-align:none;
}
.works-button-wrap{
  display:flex;
  justify-content:center;
  margin-top:36px;
}
.works-button-wrap .talk-btn{
  min-width:156px;
}
@media(max-width:900px){
  .works-carousel-wrap::before,
  .works-carousel-wrap::after{width:52px;}
  .works-button-wrap{margin-top:28px;}
}


/* CTA/button update */
.hero .cta-row{display:none!important;}
.hero-text-link{
  display:inline-block;
  margin-top:28px;
  color:#fff;
  font-size:13px;
  font-weight:900;
  letter-spacing:.12em;
  line-height:1;
  text-decoration:none;
  border-bottom:1px solid currentColor;
  padding-bottom:5px;
}
.hero-text-link:hover{opacity:.68;}
.talk-btn,
.yellow,
.btn,
.submit{
  background:#f2d600!important;
  color:#050505!important;
  border:0!important;
  border-radius:999px!important;
  min-height:36px!important;
  height:36px!important;
  padding:0 22px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:13px!important;
  font-weight:800!important;
  letter-spacing:0!important;
  line-height:1!important;
  text-transform:none!important;
  box-shadow:none!important;
  cursor:pointer;
}
.talk-btn:hover,
.yellow:hover,
.btn:hover,
.submit:hover{filter:brightness(.96);}
.submit{width:100%!important;}
.btn span{margin-left:10px!important;font-size:16px!important;line-height:1!important;}
@media(max-width:900px){
  .hero-text-link{font-size:12px;margin-top:24px;}
  .talk-btn,.yellow,.btn,.submit{height:34px!important;min-height:34px!important;padding:0 18px!important;font-size:12px!important;}
}

/* Hero video background + professional footer update */
.hero-video{
  display:block;
  transform:translateZ(0);
  filter:saturate(.96) contrast(1.02);
}
.hero-video::-webkit-media-controls{display:none!important;}

.site-footer.footer-pro{
  position:relative;
  background:#050505;
  color:#fff;
  padding:72px 0 28px;
  overflow:hidden;
  border-top:1px solid rgba(255,255,255,.08);
}
.site-footer.footer-pro::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.32),transparent);
  pointer-events:none;
}
.footer-pro-grid{
  display:grid;
  grid-template-columns:1.35fr .72fr .95fr .9fr;
  gap:clamp(28px,5vw,78px);
  align-items:start;
  padding-bottom:54px;
}
.footer-brand-block{
  max-width:390px;
}
.footer-brand-logo{
  width:104px;
  height:auto;
  margin:0 0 24px;
}
.site-footer.footer-pro p{
  display:block;
  color:rgba(255,255,255,.66);
  font-size:14px;
  line-height:1.65;
  margin:0;
}
.footer-brand-block p{
  margin-bottom:26px!important;
}
.footer-column h4{
  margin:0 0 18px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:#fff;
}
.site-footer.footer-pro a{
  display:block;
  width:max-content;
  max-width:100%;
  color:rgba(255,255,255,.68);
  font-size:14px;
  line-height:1.85;
  transition:color .25s ease, transform .25s ease;
}
.site-footer.footer-pro a:hover{
  color:#fff;
  transform:translateX(3px);
}
.site-footer.footer-pro .footer-cta{
  width:max-content;
  color:#050505!important;
  line-height:1!important;
}
.site-footer.footer-pro .footer-cta:hover{
  transform:none;
}
.footer-wordmark{
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
  padding:30px 0 26px;
  text-align:center;
  font-family:var(--font-head);
  font-size:clamp(42px,8.8vw,126px);
  line-height:.78;
  letter-spacing:-.075em;
  text-transform:uppercase;
  white-space:nowrap;
  color:#fff;
}
.footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding-top:24px;
  color:rgba(255,255,255,.48);
  font-size:12px;
}
@media(max-width:900px){
  .site-footer.footer-pro{padding:54px 0 24px;}
  .footer-pro-grid{grid-template-columns:1fr;gap:34px;padding-bottom:40px;}
  .footer-brand-block{max-width:none;}
  .footer-brand-logo{width:84px;margin-bottom:20px;}
  .footer-wordmark{font-size:clamp(40px,15vw,72px);white-space:normal;line-height:.88;letter-spacing:-.065em;}
  .footer-bottom{flex-direction:column;align-items:flex-start;}
}

/* Final correction pass: spacing, hero, logos, services, CTA, contact and footer */
.site-header .logo{
  width:132px;
  height:auto;
  object-fit:contain;
}
.footer-brand-logo{
  width:158px!important;
  height:auto;
  object-fit:contain;
}
.story-banner .mini-logo{display:none!important;}

.hero{
  align-items:center;
}
.hero-content{
  transform:translateY(-62px);
  padding-top:0!important;
}
.hero h1{
  max-width:650px;
}
.hero p{
  max-width:590px;
}

/* More breathing room between full homepage sections */
.intro{padding-top:118px!important;padding-bottom:108px!important;}
.trusted{padding-top:108px!important;padding-bottom:102px!important;}
.works{padding-top:116px!important;padding-bottom:112px!important;}
.services{padding-top:118px!important;padding-bottom:118px!important;}
.reviews{padding-top:116px!important;padding-bottom:110px!important;}
.contact{padding-top:118px!important;padding-bottom:118px!important;}
.page-section{padding-top:112px!important;padding-bottom:112px!important;}
.story-banner{margin:0;}
.cta-section{margin:0;}

/* Clean banner treatment: no grey artifacts, just image + dark overlay + text */
.story-banner,
.cta-section{
  isolation:isolate;
}
.story-banner::after,
.cta-section::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.16);
  z-index:0;
  pointer-events:none;
}
.story-banner img,
.cta-section img{
  z-index:-1;
  filter:brightness(.58) saturate(.98)!important;
  transform:translateZ(0);
}
.story-banner .inner,
.cta-section .inner{
  z-index:2;
}

/* Services image smaller and centered */
.services-grid{
  grid-template-columns:.95fr 1fr!important;
  gap:70px!important;
  align-items:center!important;
}
.services-image{
  width:min(100%,610px)!important;
  justify-self:center!important;
  border-radius:14px!important;
}
.services-image img{
  height:430px!important;
  object-fit:cover!important;
}

/* Smaller final CTA type */
.cta-section h2{
  font-size:clamp(18px,2vw,27px)!important;
  line-height:1.06!important;
  letter-spacing:-.035em!important;
  max-width:540px!important;
  margin:0 auto 18px!important;
}
.cta-section .inner{
  padding:0 24px;
}

/* More compact and ordered contact form */
.contact-grid{
  width:min(1040px,calc(100% - 48px))!important;
  gap:24px!important;
  align-items:stretch!important;
  margin-top:44px!important;
}
.contact-card{
  border-radius:14px!important;
}
.contact-card img{
  height:340px!important;
}
.contact-form{
  padding:26px!important;
  align-self:stretch!important;
}
.field{
  margin-bottom:16px!important;
}
.field label{
  font-size:12px!important;
  margin-bottom:7px!important;
}
.field input,
.field select{
  height:42px!important;
  padding:0 14px!important;
}
.field textarea{
  height:98px!important;
  padding:12px 14px!important;
}
.contact-details .detail{
  padding:16px 14px!important;
}

/* Footer wordmark as the supplied logo */
.footer-wordmark{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:36px 0 32px!important;
  line-height:1!important;
}
.footer-wordmark-logo{
  width:min(100%,1180px);
  max-height:96px;
  object-fit:contain;
}

@media(max-width:900px){
  .site-header .logo{width:108px;}
  .footer-brand-logo{width:136px!important;}
  .hero-content{transform:translateY(-36px);}
  .intro,.trusted,.works,.services,.reviews,.contact,.page-section{padding-top:82px!important;padding-bottom:78px!important;}
  .services-grid{grid-template-columns:1fr!important;gap:42px!important;}
  .services-image{width:100%!important;}
  .services-image img{height:300px!important;}
  .cta-section h2{font-size:clamp(17px,5.4vw,24px)!important;}
  .contact-grid{width:calc(100% - 36px)!important;gap:18px!important;}
  .contact-card img{height:240px!important;}
  .contact-form{padding:20px!important;}
  .footer-wordmark-logo{max-height:62px;}
}

/* Update: service icons, larger CTA, minimal reviews, updated contact details */
.service-icon{
  width:54px!important;
  height:54px!important;
  border-radius:12px!important;
  background:transparent!important;
  overflow:hidden;
  padding:0!important;
}
.service-icon img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.service-item.active .service-icon{
  background:transparent!important;
  color:inherit!important;
}

.cta-section h2{
  font-size:clamp(24px,2.7vw,35px)!important;
  max-width:700px!important;
}

.reviews{
  padding-top:98px!important;
  padding-bottom:94px!important;
}
.reviews .container.center h2{
  font-size:clamp(30px,3.5vw,44px)!important;
  letter-spacing:-.05em!important;
  margin:14px 0 10px!important;
}
.reviews .container.center p{
  max-width:540px;
  margin:0 auto;
  font-size:15px;
}
.reviews-wrap{
  max-width:1160px;
  margin-top:40px!important;
  gap:16px!important;
  grid-template-columns:40px 1fr 40px!important;
}
.review-track{
  display:flex!important;
  gap:18px!important;
  overflow:hidden!important;
  scroll-behavior:smooth;
}
.review-card{
  flex:0 0 calc((100% - 18px) / 2)!important;
  min-width:calc((100% - 18px) / 2)!important;
  padding:22px!important;
  border-radius:12px!important;
  box-shadow:none!important;
}
.review-card blockquote{
  font-size:15px!important;
  line-height:1.55!important;
}
.quote{
  font-size:28px!important;
  margin:0 0 16px!important;
}
.stars{
  margin:20px 0 18px!important;
  letter-spacing:2px!important;
  font-size:12px!important;
}
.person{
  padding-top:16px!important;
}
.person strong{
  font-size:14px;
}
.person small{
  font-size:12px;
  line-height:1.45;
}
.mini-brand{
  font-size:16px!important;
}
.reviews .arrow{
  width:40px;
  height:40px;
  border-radius:50%;
  border:1px solid #d8d8d3;
  background:#fff;
  color:#050505;
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.reviews .arrow:hover{
  background:#f7f7f3;
  border-color:#cfcfc8;
  transform:translateY(-1px);
}
.reviews .dots{
  margin-top:24px!important;
}
@media(max-width:900px){
  .service-icon{
    width:46px!important;
    height:46px!important;
  }
  .reviews{
    padding-top:82px!important;
    padding-bottom:80px!important;
  }
  .reviews-wrap{
    grid-template-columns:1fr!important;
  }
  .reviews-wrap > .arrow{
    display:none!important;
  }
  .review-card{
    flex:0 0 100%!important;
    min-width:100%!important;
  }
  .cta-section h2{
    font-size:clamp(22px,6vw,30px)!important;
  }
}

/* Reviews refinement: cleaner single-card carousel */
.reviews-wrap{
  max-width:860px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  align-items:center!important;
}
.reviews .review-track{
  max-width:540px!important;
  margin:0 auto!important;
}
.reviews .review-card{
  flex:0 0 100%!important;
  min-width:100%!important;
  background:#fff!important;
}
.reviews .dots span{
  cursor:pointer;
}
@media(max-width:900px){
  .reviews .review-track{max-width:100%!important;}
}

/* Update: final copy + autoplay reviews carousel with centered clear card */
.reviews{
  overflow:hidden!important;
}
.reviews-wrap{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin-top:42px!important;
}
.reviews-wrap > .arrow,
.reviews > .dots{
  display:none!important;
}
.reviews .review-autoplay{
  width:min(1180px,92vw)!important;
  max-width:none!important;
  margin:0 auto!important;
  display:flex!important;
  gap:24px!important;
  overflow:hidden!important;
  scroll-behavior:auto!important;
  scrollbar-width:none!important;
  -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 18%,#000 82%,transparent 100%);
  mask-image:linear-gradient(to right,transparent 0%,#000 18%,#000 82%,transparent 100%);
}
.reviews .review-autoplay::-webkit-scrollbar{
  display:none!important;
}
.reviews .review-autoplay .review-card{
  flex:0 0 min(520px,72vw)!important;
  min-width:min(520px,72vw)!important;
  opacity:.24!important;
  transform:scale(.92)!important;
  filter:blur(.25px) grayscale(.18)!important;
  transition:opacity .35s ease, transform .35s ease, filter .35s ease!important;
  pointer-events:none;
}
.reviews .review-autoplay .review-card.is-active{
  opacity:1!important;
  transform:scale(1)!important;
  filter:none!important;
}
@media(max-width:900px){
  .reviews .review-autoplay{
    width:calc(100% - 36px)!important;
    -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 10%,#000 90%,transparent 100%);
    mask-image:linear-gradient(to right,transparent 0%,#000 10%,#000 90%,transparent 100%);
  }
  .reviews .review-autoplay .review-card{
    flex-basis:84vw!important;
    min-width:84vw!important;
  }
}

/* Introduction text update: same heading font, half-size */
.intro h2,
.intro p{
  font-family:var(--font-head)!important;
  font-size:clamp(18px,2vw,25px)!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
  font-weight:700!important;
  color:#050505!important;
  max-width:820px!important;
}
.intro h2{
  margin:18px auto 4px!important;
}
.intro p{
  margin:0 auto!important;
}

/* Final reviews carousel fix: autoplay + centered active card + faded side cards + arrows */
.reviews{overflow:hidden!important;}
.reviews > .dots{display:none!important;}
.reviews-wrap{
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr) 52px!important;
  gap:18px!important;
  align-items:center!important;
  width:min(1240px,94vw)!important;
  max-width:none!important;
  margin:40px auto 0!important;
  overflow:hidden!important;
}
.review-viewport{
  position:relative;
  overflow:hidden;
  min-width:0;
  padding:18px 0;
}
.review-viewport::before,
.review-viewport::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:18%;
  z-index:3;
  pointer-events:none;
}
.review-viewport::before{
  left:0;
  background:linear-gradient(to right,#fff 0%,rgba(255,255,255,.96) 22%,rgba(255,255,255,0) 100%);
}
.review-viewport::after{
  right:0;
  background:linear-gradient(to left,#fff 0%,rgba(255,255,255,.96) 22%,rgba(255,255,255,0) 100%);
}
.review-carousel-track{
  display:flex;
  align-items:stretch;
  gap:24px;
  width:max-content;
  will-change:transform;
}
.reviews .review-card{
  flex:0 0 min(560px,54vw)!important;
  min-width:min(560px,54vw)!important;
  opacity:.18!important;
  transform:scale(.9)!important;
  filter:blur(.4px)!important;
  transition:opacity .45s ease, transform .45s ease, filter .45s ease!important;
}
.reviews .review-card.is-neighbour{
  opacity:.34!important;
  transform:scale(.94)!important;
  filter:blur(.15px)!important;
}
.reviews .review-card.is-active{
  opacity:1!important;
  transform:scale(1)!important;
  filter:none!important;
}
.reviews-wrap > .arrow{
  display:grid!important;
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid #d9d9d3;
  background:#fff;
  color:#050505;
  place-items:center;
  cursor:pointer;
  position:relative;
  z-index:4;
}
.reviews-wrap > .arrow:hover{background:#f7f7f3;}
@media(max-width:900px){
  .reviews-wrap{
    grid-template-columns:40px minmax(0,1fr) 40px!important;
    gap:10px!important;
    width:calc(100% - 24px)!important;
  }
  .review-viewport::before,
  .review-viewport::after{width:10%;}
  .reviews .review-card{
    flex-basis:78vw!important;
    min-width:78vw!important;
  }
  .reviews-wrap > .arrow{
    width:36px;
    height:36px;
  }
}

/* Services section alignment + active-only service arrow */
.home-services .services-grid{
  align-items:start!important;
}
.home-services .services-image{
  margin-top:clamp(90px,8vw,135px)!important;
  align-self:start!important;
  justify-self:center!important;
}
.service-item > span:last-child{
  opacity:0!important;
  visibility:hidden!important;
  transform:translateX(-8px)!important;
  transition:opacity .25s ease, transform .25s ease, visibility .25s ease!important;
}
.service-item.active > span:last-child{
  opacity:1!important;
  visibility:visible!important;
  transform:translateX(0)!important;
}
@media(max-width:900px){
  .home-services .services-image{
    margin-top:0!important;
  }
}

/* Rory single project update */
.project-track.single-work{
  justify-content:center!important;
  overflow:visible!important;
  scroll-snap-type:none!important;
  padding:0!important;
}
.project-track.single-work .rory-card{
  flex:0 0 min(390px,76vw)!important;
  width:min(390px,76vw)!important;
  height:min(680px,78vh)!important;
  min-height:520px;
  border-radius:18px!important;
}
.project-card.rory-card video{
  object-fit:cover;
  object-position:center;
}
.project-card.rory-card .meta h3{
  text-transform:none!important;
  font-size:21px!important;
  letter-spacing:-.03em!important;
}
.project-card.rory-card .meta small{
  font-size:14px!important;
  color:rgba(255,255,255,.86)!important;
}
.work-grid.single-work-grid{
  grid-template-columns:1fr!important;
  place-items:center!important;
}
.work-grid.single-work-grid .rory-card{
  width:min(420px,86vw)!important;
  height:min(720px,82vh)!important;
  min-height:540px;
}
@media(max-width:900px){
  .project-track.single-work .rory-card,
  .work-grid.single-work-grid .rory-card{
    width:min(360px,86vw)!important;
    flex-basis:min(360px,86vw)!important;
    height:560px!important;
    min-height:0;
  }
}

/* Final update: Rory project card 30% smaller */
.project-track.single-work .rory-card{
  flex:0 0 min(273px,70vw)!important;
  width:min(273px,70vw)!important;
  height:min(476px,68vh)!important;
  min-height:0!important;
}
.work-grid.single-work-grid .rory-card{
  width:min(294px,72vw)!important;
  height:min(504px,72vh)!important;
  min-height:0!important;
}
@media(max-width:900px){
  .project-track.single-work .rory-card,
  .work-grid.single-work-grid .rory-card{
    width:min(252px,78vw)!important;
    flex-basis:min(252px,78vw)!important;
    height:392px!important;
    min-height:0!important;
  }
}


/* One-page navigation update */
html{
  scroll-behavior:smooth;
  scroll-padding-top:84px;
}
#intro,#work,#services,#contact,#cinematic-property-video,#social-reels,#floor-plans{
  scroll-margin-top:84px;
}

/* Our Last Scenes: 3D coverflow carousel */
.scenes-section{
  position:relative;
  background:#050505!important;
  color:#fff!important;
  padding-top:108px!important;
  padding-bottom:112px!important;
  overflow:hidden!important;
}
.scenes-section::before,
.scenes-section::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:18vw;
  z-index:2;
  pointer-events:none;
}
.scenes-section::before{
  left:0;
  background:linear-gradient(to right,#050505 0%,rgba(5,5,5,.86) 28%,rgba(5,5,5,0) 100%);
}
.scenes-section::after{
  right:0;
  background:linear-gradient(to left,#050505 0%,rgba(5,5,5,.86) 28%,rgba(5,5,5,0) 100%);
}
.scenes-head{
  justify-content:center!important;
  margin-bottom:42px!important;
  position:relative;
  z-index:4;
}
.scenes-head .works-title{
  max-width:820px;
}
.scenes-head h2{
  margin:0 0 16px!important;
  font-size:clamp(42px,5vw,74px)!important;
  line-height:.9!important;
}
.scenes-head p{
  max-width:700px;
  margin:0 auto!important;
  color:rgba(255,255,255,.72)!important;
  font-size:clamp(15px,1.3vw,19px);
}
.scenes-coverflow{
  position:relative;
  z-index:4;
  display:grid;
  grid-template-columns:54px 1fr 54px;
  align-items:center;
  gap:18px;
  width:min(1320px,96vw)!important;
}
.scene-stage{
  position:relative;
  height:480px;
  min-width:0;
  perspective:1200px;
  transform-style:preserve-3d;
  outline:none;
  overflow:visible;
}
.scene-card{
  position:absolute;
  left:50%;
  top:50%;
  width:min(440px,34vw);
  height:410px;
  border:0;
  padding:0;
  margin:0;
  border-radius:24px;
  overflow:hidden;
  background:#121212;
  color:#fff;
  cursor:pointer;
  appearance:none;
  transform-style:preserve-3d;
  transform:translate(-50%,-50%) translateX(0) translateZ(-500px) scale(.72);
  opacity:0;
  pointer-events:none;
  box-shadow:0 18px 46px rgba(0,0,0,.28);
  transition:
    transform .72s cubic-bezier(.25,.8,.25,1),
    opacity .72s cubic-bezier(.25,.8,.25,1),
    filter .72s cubic-bezier(.25,.8,.25,1),
    box-shadow .72s cubic-bezier(.25,.8,.25,1);
}
.scene-card video,
.scene-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:brightness(.74) saturate(.98);
}
.scene-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.74) 0%,rgba(0,0,0,.18) 46%,rgba(0,0,0,0) 100%);
  pointer-events:none;
}
.scene-meta{
  position:absolute;
  left:24px;
  right:24px;
  bottom:24px;
  z-index:2;
  text-align:left;
}
.scene-meta h3{
  margin:0 0 6px;
  font-family:var(--font-head);
  font-size:22px;
  line-height:.95;
  letter-spacing:-.04em;
  color:#fff;
}
.scene-meta small{
  display:block;
  font-size:13px;
  line-height:1.2;
  color:rgba(255,255,255,.74);
}
.scene-card.is-active{
  z-index:10;
  opacity:1;
  pointer-events:auto;
  transform:translate(-50%,-50%) translateX(0) translateZ(0) scale(1) rotateY(0deg);
  filter:none;
  box-shadow:0 30px 70px rgba(0,0,0,.46);
}
.scene-card.is-prev{
  z-index:8;
  opacity:.68;
  pointer-events:auto;
  transform:translate(-50%,-50%) translateX(-300px) translateZ(-170px) scale(.84) rotateY(42deg);
  filter:saturate(.8) brightness(.78);
}
.scene-card.is-next{
  z-index:8;
  opacity:.68;
  pointer-events:auto;
  transform:translate(-50%,-50%) translateX(300px) translateZ(-170px) scale(.84) rotateY(-42deg);
  filter:saturate(.8) brightness(.78);
}
.scene-card.is-far-prev{
  z-index:5;
  opacity:.32;
  pointer-events:auto;
  transform:translate(-50%,-50%) translateX(-520px) translateZ(-330px) scale(.72) rotateY(48deg);
  filter:saturate(.65) brightness(.56) blur(.2px);
}
.scene-card.is-far-next{
  z-index:5;
  opacity:.32;
  pointer-events:auto;
  transform:translate(-50%,-50%) translateX(520px) translateZ(-330px) scale(.72) rotateY(-48deg);
  filter:saturate(.65) brightness(.56) blur(.2px);
}
.scene-arrow{
  width:48px;
  height:48px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.26);
  background:rgba(255,255,255,.06);
  color:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
  position:relative;
  z-index:8;
  transition:background .25s ease, transform .25s ease, border-color .25s ease;
}
.scene-arrow:hover{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.42);
  transform:translateY(-1px);
}
.scene-dots{
  position:relative;
  z-index:5;
  display:flex;
  justify-content:center;
  gap:10px;
  margin-top:28px;
}
.scene-dots button{
  width:7px;
  height:7px;
  border-radius:999px;
  border:0;
  background:rgba(255,255,255,.32);
  padding:0;
  cursor:pointer;
  transition:width .28s ease, background .28s ease;
}
.scene-dots button.active{
  width:28px;
  background:#fff;
}
@media(max-width:1100px){
  .scene-stage{height:420px;}
  .scene-card{
    width:min(380px,48vw);
    height:360px;
  }
  .scene-card.is-prev{transform:translate(-50%,-50%) translateX(-230px) translateZ(-160px) scale(.82) rotateY(42deg);}
  .scene-card.is-next{transform:translate(-50%,-50%) translateX(230px) translateZ(-160px) scale(.82) rotateY(-42deg);}
  .scene-card.is-far-prev{transform:translate(-50%,-50%) translateX(-410px) translateZ(-310px) scale(.7) rotateY(48deg);}
  .scene-card.is-far-next{transform:translate(-50%,-50%) translateX(410px) translateZ(-310px) scale(.7) rotateY(-48deg);}
}
@media(max-width:760px){
  .scenes-section{
    padding-top:82px!important;
    padding-bottom:84px!important;
  }
  .scenes-section::before,
  .scenes-section::after{
    width:12vw;
  }
  .scenes-coverflow{
    grid-template-columns:38px 1fr 38px;
    gap:8px;
    width:calc(100% - 18px)!important;
  }
  .scene-stage{
    height:380px;
  }
  .scene-card{
    width:min(280px,72vw);
    height:340px;
    border-radius:18px;
  }
  .scene-card.is-prev{transform:translate(-50%,-50%) translateX(-145px) translateZ(-130px) scale(.78) rotateY(40deg);}
  .scene-card.is-next{transform:translate(-50%,-50%) translateX(145px) translateZ(-130px) scale(.78) rotateY(-40deg);}
  .scene-card.is-far-prev{opacity:.15;transform:translate(-50%,-50%) translateX(-250px) translateZ(-280px) scale(.66) rotateY(46deg);}
  .scene-card.is-far-next{opacity:.15;transform:translate(-50%,-50%) translateX(250px) translateZ(-280px) scale(.66) rotateY(-46deg);}
  .scene-arrow{
    width:36px;
    height:36px;
  }
  .scene-meta{
    left:18px;
    right:18px;
    bottom:18px;
  }
  .scene-meta h3{font-size:18px;}
}

/* Ratio-preserving media update for Intro Reel + Our Last Scenes */
.reel-wrap{
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
  align-items:center!important;
}
.reel-card{
  --media-ratio:0.5625;
  --reel-card-height:420px;
  width:min(calc(var(--reel-card-height) * var(--media-ratio)), 92vw)!important;
  height:var(--reel-card-height)!important;
  margin:0 auto;
  background:#0b0b0b;
  display:flex;
  align-items:center;
  justify-content:center;
}
.reel-card video{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  background:#0b0b0b;
  filter:none!important;
}
.scenes-coverflow{
  width:min(1380px,96vw)!important;
}
.scene-card{
  --media-ratio:0.5625;
  --scene-card-height:410px;
  height:var(--scene-card-height)!important;
  width:min(calc(var(--scene-card-height) * var(--media-ratio)), 42vw, 560px)!important;
  background:#0b0b0b;
}
.scene-card video,
.scene-card img{
  object-fit:contain!important;
  background:#0b0b0b;
}
@media(max-width:1100px){
  .reel-card{--reel-card-height:390px;}
  .scene-card{--scene-card-height:360px;width:min(calc(var(--scene-card-height) * var(--media-ratio)), 34vw, 480px)!important;}
}
@media(max-width:900px){
  .reel-card{--reel-card-height:340px;}
}
@media(max-width:760px){
  .reel-wrap{grid-template-columns:1fr!important;}
  .reel-card{--reel-card-height:320px;}
  .scene-card{
    --scene-card-height:320px;
    width:min(calc(var(--scene-card-height) * var(--media-ratio)), 74vw)!important;
  }
}


/* Fix coverflow side clipping + soft edge fade */
.works.scenes-section,
.scenes-section{
  overflow: visible !important;
}
.scenes-coverflow{
  position: relative;
}
.scene-stage{
  overflow: visible !important;
}
.scenes-coverflow::before,
.scenes-coverflow::after{
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 110px;
  z-index: 9;
  pointer-events: none;
}
.scenes-coverflow::before{
  left: 48px;
  background: linear-gradient(to right, #050505 0%, rgba(5,5,5,.96) 28%, rgba(5,5,5,0) 100%);
}
.scenes-coverflow::after{
  right: 48px;
  background: linear-gradient(to left, #050505 0%, rgba(5,5,5,.96) 28%, rgba(5,5,5,0) 100%);
}
.scene-arrow{ z-index: 12; }
.scene-card{ will-change: transform, opacity, filter; }
.scene-card video{ filter: brightness(.80) saturate(.98); }

@media(max-width:760px){
  .scenes-coverflow::before,
  .scenes-coverflow::after{ width: 52px; }
  .scenes-coverflow::before{ left: 0; }
  .scenes-coverflow::after{ right: 0; }
}


/* Second pass fixes: reveal side cards better and remove inner-edge cuts */
.scene-stage{padding:0 24px;}
.scene-card,
.scene-card video,
.scene-card img{
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
.scene-card video,
.scene-card img{
  width:calc(100% + 6px)!important;
  height:calc(100% + 6px)!important;
  left:-3px!important;
  top:-3px!important;
  transform:translateZ(0.1px);
}
.scene-card.is-prev{
  transform:translate(-50%,-50%) translateX(-350px) translateZ(-150px) scale(.84) rotateY(36deg)!important;
}
.scene-card.is-next{
  transform:translate(-50%,-50%) translateX(350px) translateZ(-150px) scale(.84) rotateY(-36deg)!important;
}
.scene-card.is-far-prev{
  transform:translate(-50%,-50%) translateX(-610px) translateZ(-300px) scale(.72) rotateY(42deg)!important;
}
.scene-card.is-far-next{
  transform:translate(-50%,-50%) translateX(610px) translateZ(-300px) scale(.72) rotateY(-42deg)!important;
}
@media(max-width:1100px){
  .scene-card.is-prev{transform:translate(-50%,-50%) translateX(-285px) translateZ(-135px) scale(.82) rotateY(36deg)!important;}
  .scene-card.is-next{transform:translate(-50%,-50%) translateX(285px) translateZ(-135px) scale(.82) rotateY(-36deg)!important;}
  .scene-card.is-far-prev{transform:translate(-50%,-50%) translateX(-475px) translateZ(-260px) scale(.70) rotateY(42deg)!important;}
  .scene-card.is-far-next{transform:translate(-50%,-50%) translateX(475px) translateZ(-260px) scale(.70) rotateY(-42deg)!important;}
}
@media(max-width:760px){
  .scene-card.is-prev{transform:translate(-50%,-50%) translateX(-160px) translateZ(-110px) scale(.80) rotateY(34deg)!important;}
  .scene-card.is-next{transform:translate(-50%,-50%) translateX(160px) translateZ(-110px) scale(.80) rotateY(-34deg)!important;}
  .scene-card.is-far-prev{transform:translate(-50%,-50%) translateX(-270px) translateZ(-210px) scale(.68) rotateY(40deg)!important;}
  .scene-card.is-far-next{transform:translate(-50%,-50%) translateX(270px) translateZ(-210px) scale(.68) rotateY(-40deg)!important;}
}


/* Services media update + taller brand banners */
.story-banner{
  height:620px!important;
}
.cta-section{
  height:640px!important;
}
.story-banner img,
.cta-section img{
  object-position:center center!important;
}
.services-image{
  height:520px!important;
  width:min(100%,640px)!important;
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
}
.service-preview-media{
  display:block;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:520px!important;
  object-fit:contain!important;
  border-radius:18px!important;
  box-shadow:0 22px 80px rgba(0,0,0,.12)!important;
  background:#050505!important;
}
.services-image video.service-preview-media{
  aspect-ratio:9/16;
}
@media(max-width:900px){
  .story-banner,
  .cta-section{
    height:460px!important;
  }
  .services-image{
    height:420px!important;
  }
  .service-preview-media{
    max-height:420px!important;
  }
}


/* Current update: text-only trusted section, no reviews, GIF service, stronger scene timing */
.trusted-text-only{
  padding:116px 0 108px!important;
  background:#fff!important;
}
.trusted-text-only h2{
  margin:0 auto 18px!important;
  max-width:760px!important;
}
.trusted-text-only p{
  margin:0 auto!important;
}
.reviews{display:none!important;}
#service-preview-wrap img.service-preview-media{
  width:100%!important;
  height:auto!important;
  max-height:520px!important;
  object-fit:contain!important;
}
.cta-section img{
  object-position:center center!important;
}
@media(max-width:900px){
  .trusted-text-only{padding:86px 0 82px!important;}
}

/* Header logo size update */
.site-header .logo{
  width:264px!important;
  height:auto!important;
}
@media(max-width:900px){
  .site-header .logo{
    width:216px!important;
  }
}
@media(max-width:520px){
  .site-header .logo{
    width:170px!important;
  }
}

/* Final CTA title size match with story banner */
.cta-section h2{
  font-size:clamp(30px,4vw,52px)!important;
  line-height:.95!important;
  letter-spacing:-.05em!important;
  max-width:900px!important;
  margin:0 auto 22px!important;
}
@media(max-width:900px){
  .cta-section h2{
    font-size:clamp(30px,8vw,46px)!important;
  }
}


/* Intro section redesign: video left, text right */
.intro{
  padding-top:112px!important;
  padding-bottom:112px!important;
}
.intro-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)!important;
  align-items:center!important;
  gap:64px!important;
}
.intro-layout.center{ text-align:left!important; }
.intro-copy{
  text-align:left!important;
  max-width:640px;
  justify-self:end;
}
.intro-copy .section-eyebrow{
  display:block!important;
  margin-bottom:18px;
}
.intro-copy h2,
.intro-copy p{
  margin-left:0!important;
  margin-right:0!important;
  max-width:100%!important;
  text-align:left!important;
}
.intro-copy h2{
  font-size:clamp(28px,2.55vw,40px)!important;
  line-height:1.04!important;
  letter-spacing:-.045em!important;
  margin:0 0 8px!important;
}
.intro-copy p{
  font-size:clamp(15px,1.3vw,20px)!important;
  line-height:1.12!important;
  letter-spacing:-.03em!important;
  opacity:.96;
}
.intro-media{
  display:flex;
  justify-content:flex-start;
}
.reel-wrap,
.reel-side,
.play{display:none!important;}
.intro-reel-card{
  --reel-card-height:420px;
  --media-ratio:1.77778;
  width:min(680px,100%)!important;
  height:auto!important;
  aspect-ratio:16/9;
  border-radius:18px!important;
  overflow:hidden!important;
  box-shadow:0 20px 60px rgba(0,0,0,.14)!important;
  background:#0b0b0b;
}
.intro-reel-card video{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block;
  background:#0b0b0b;
}
@media(max-width:960px){
  .intro-layout{
    grid-template-columns:1fr!important;
    gap:34px!important;
  }
  .intro-media{justify-content:center;}
  .intro-copy{justify-self:center;max-width:740px;text-align:center!important;}
  .intro-copy h2,.intro-copy p,.intro-copy .section-eyebrow{text-align:center!important;margin-left:auto!important;margin-right:auto!important;}
  .intro-reel-card{width:min(100%,720px)!important;}
}
@media(max-width:640px){
  .intro{padding-top:78px!important;padding-bottom:78px!important;}
  .intro-layout{gap:24px!important;}
  .intro-reel-card{border-radius:14px!important;}
}


/* Formspree form states */
.form-honeypot{
  position:absolute!important;
  left:-9999px!important;
  opacity:0!important;
  pointer-events:none!important;
}
.form-status{
  margin:12px 0 0!important;
  min-height:18px;
  font-size:13px!important;
  line-height:1.4!important;
  color:#606060!important;
  text-align:center;
}
.contact-form.is-submitting .submit{
  opacity:.65;
  cursor:wait;
}
.contact-form.is-success .form-status{color:#146c2e!important;}
.contact-form.is-error .form-status{color:#b42318!important;}


/* Mobile horizontal overflow fix */
html,
body{
  width:100%!important;
  max-width:100%!important;
  overflow-x:hidden!important;
}
body{
  position:relative;
}
main,
.site-header,
.site-footer,
section{
  max-width:100%!important;
}
.hero,
.story-banner,
.cta-section,
.contact,
.services,
.intro,
.trusted,
.scenes-section{
  width:100%!important;
}
@media(max-width:900px){
  .container{
    width:calc(100% - 32px)!important;
    max-width:calc(100% - 32px)!important;
  }
  .site-header{
    padding-left:14px!important;
    padding-right:14px!important;
    gap:10px!important;
  }
  .main-nav{
    max-width:100%!important;
  }
  .talk-btn{
    padding:0 12px!important;
    height:36px!important;
    font-size:12px!important;
    white-space:nowrap!important;
  }
  .mobile-toggle{
    white-space:nowrap!important;
  }
  .scenes-section{
    overflow:hidden!important;
  }
  .scenes-coverflow{
    width:100%!important;
    max-width:100%!important;
    grid-template-columns:34px minmax(0,1fr) 34px!important;
    gap:6px!important;
  }
  .scene-stage{
    padding:0!important;
    max-width:100%!important;
  }
  .scene-card.is-prev{transform:translate(-50%,-50%) translateX(-142px) translateZ(-110px) scale(.80) rotateY(30deg)!important;}
  .scene-card.is-next{transform:translate(-50%,-50%) translateX(142px) translateZ(-110px) scale(.80) rotateY(-30deg)!important;}
  .scene-card.is-far-prev{opacity:.10!important;transform:translate(-50%,-50%) translateX(-222px) translateZ(-190px) scale(.64) rotateY(36deg)!important;}
  .scene-card.is-far-next{opacity:.10!important;transform:translate(-50%,-50%) translateX(222px) translateZ(-190px) scale(.64) rotateY(-36deg)!important;}
}
@media(max-width:420px){
  .site-header .logo{
    width:150px!important;
  }
  .talk-btn{
    padding:0 10px!important;
    font-size:11px!important;
  }
  .mobile-toggle{
    font-size:12px!important;
  }
}
@media(max-width:350px){
  .site-header .logo{
    width:132px!important;
  }
  .talk-btn{
    display:none!important;
  }
}
