:root{--mox-red:#D70000;--mox-black:#070707;--mox-charcoal:#0d0e10;--mox-panel:#121316;--mox-muted:#a9adb4;--mox-border:rgba(255,255,255,.12);--mox-max:1500px}
html{scroll-behavior:smooth}body{margin:0;background:var(--mox-black);color:#f7f7f4;font-family:"Montserrat",Arial,sans-serif}.wp-site-blocks{overflow-x:clip}.wp-site-blocks>main{margin-block-start:0}.mox-home-v2>*{margin-block-start:0}.mox-inner,.mox-section-v2,.mox-section-head-wide{box-sizing:border-box}.mox-eyebrow{font-size:.72rem!important;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.mox-display-heading{font-size:clamp(3.4rem,6.3vw,7.3rem);line-height:.9;letter-spacing:-.055em;max-width:900px}.mox-big-heading{font-size:clamp(2.7rem,4.5vw,5.2rem);line-height:.93;letter-spacing:-.04em;max-width:980px}.mox-section-heading{font-size:clamp(2.2rem,4vw,4.6rem);line-height:.96;letter-spacing:-.035em}.mox-panel-heading{font-size:clamp(2.6rem,4.5vw,5.2rem);line-height:.92;letter-spacing:-.04em}.mox-panel-heading span{color:var(--mox-red);font-weight:400}.mox-header{position:sticky;top:0;z-index:100;background:rgba(7,7,7,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--mox-border);transition:background .35s ease,border-color .35s ease}.home .mox-header{position:fixed;left:0;right:0;background:linear-gradient(to bottom,rgba(7,7,7,.78),rgba(7,7,7,.08));border-color:rgba(255,255,255,.09)}.home .mox-header.is-scrolled{background:rgba(7,7,7,.94);border-color:var(--mox-border)}.admin-bar .mox-header{top:32px}.mox-header>.wp-block-group{max-width:1500px;margin:auto}.mox-header .wp-block-navigation-item__content{padding:.55rem .7rem}.mox-header-cta .wp-block-button__link{padding:.75rem 1rem}.mox-hero-v2{min-height:820px!important}.mox-hero-v2 .wp-block-cover__background{background:linear-gradient(90deg,rgba(0,0,0,.93) 0%,rgba(0,0,0,.65) 43%,rgba(0,0,0,.24) 75%,rgba(0,0,0,.48) 100%)!important}.mox-hero-v2 .wp-block-cover__inner-container{width:100%;height:100%;display:flex;align-items:flex-end}.mox-hero-inner{width:100%;padding:180px 42px 72px}.mox-hero-columns{align-items:flex-end!important}.mox-hero-side{border-left:1px solid rgba(255,255,255,.18);padding-left:42px}.mox-hero-discipline{font-size:clamp(1.65rem,2.4vw,2.7rem);font-weight:800;text-transform:uppercase;letter-spacing:-.025em;margin-top:18px}.mox-discipline-strip{overflow:hidden;border-top:1px solid var(--mox-border);border-bottom:1px solid var(--mox-border);background:#080808;padding:20px 0}.mox-discipline-track{width:max-content;display:flex;align-items:center;font-size:clamp(1.35rem,2vw,2.6rem);font-weight:800;text-transform:uppercase;white-space:nowrap;color:#b9b9b9;animation:moxTicker 34s linear infinite;will-change:transform}.mox-discipline-track b{color:var(--mox-red);font-size:.8em}.mox-discipline-strip:hover .mox-discipline-track{animation-play-state:paused}@keyframes moxTicker{from{transform:translateX(0)}to{transform:translateX(-50%)}}.mox-dual-v2{margin:0!important;gap:0!important}.mox-dual-v2>.wp-block-column{margin:0!important}.mox-discipline-panel{border:0;overflow:hidden}.mox-discipline-panel .wp-block-cover__background{background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.18) 38%,rgba(0,0,0,.82) 100%)!important}.mox-discipline-panel .wp-block-cover__inner-container{min-height:620px;display:flex;align-items:flex-end;padding:52px}.mox-discipline-copy{max-width:720px;margin:0!important}.mox-discipline-panel img{transition:transform 1s cubic-bezier(.2,.8,.2,1),filter .8s ease}.mox-discipline-panel:hover img{transform:scale(1.055);filter:contrast(1.05)}.mox-section-v2{padding:clamp(72px,8vw,130px) 40px}.mox-about-v2{background:#090909}.mox-about-columns{gap:72px}.mox-capability-list{margin-top:38px;border-top:1px solid var(--mox-border);border-bottom:1px solid var(--mox-border);gap:0!important}.mox-capability-list p{margin:0!important;padding:26px 18px;border-right:1px solid var(--mox-border);border-bottom:1px solid var(--mox-border);font-weight:700}.mox-capability-list p:nth-child(2n){border-right:0}.mox-capability-list p:nth-last-child(-n+2){border-bottom:0}.mox-stat-grid{gap:0!important;border-top:1px solid var(--mox-border);border-left:1px solid var(--mox-border)}.mox-stat-v2{min-height:210px;padding:42px;border-right:1px solid var(--mox-border);border-bottom:1px solid var(--mox-border);display:flex;flex-direction:column;justify-content:center}.mox-stat-v2 h3{font-size:clamp(2.8rem,4.8vw,5.8rem);margin:0;letter-spacing:-.05em}.mox-stat-v2 p{margin:.65rem 0 0;font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;color:#fff}.mox-selected-work-v2{padding:84px 0 100px;background:#080808}.mox-section-head-wide{max-width:1500px;margin:0 auto 38px;padding:0 24px;align-items:end}.mox-section-head-wide a{font-size:.82rem;text-decoration:none}.mox-masonry-v2{columns:5 280px;column-gap:10px;padding:0 10px;width:100%;box-sizing:border-box}.mox-masonry-v2 .wp-block-image{break-inside:avoid;margin:0 0 10px;overflow:hidden;background:#111}.mox-masonry-v2 img{display:block;width:100%;height:auto;transition:transform .65s cubic-bezier(.2,.75,.25,1),filter .65s ease}.mox-masonry-v2 .wp-block-image:hover img{transform:scale(1.028);filter:contrast(1.06)}.mox-gallery-button{margin-top:32px}.mox-services-v2{background:#0a0a0a}.mox-section-head{margin-bottom:38px}.mox-service-image-grid{gap:10px!important}.mox-service-tile{overflow:hidden}.mox-service-tile .wp-block-cover__inner-container{height:100%;display:flex;align-items:flex-end}.mox-service-tile p{margin:0;font-weight:800;text-transform:uppercase;letter-spacing:-.02em}.mox-service-tile a{text-decoration:none}.mox-service-tile img{transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .55s ease}.mox-service-tile:hover img{transform:scale(1.075);filter:saturate(1.08)}.mox-service-tile .wp-block-cover__background{background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.86))!important}.mox-video-section{background:#080808;padding-top:110px;padding-bottom:110px}.mox-media-heading{align-items:flex-end;border-bottom:1px solid var(--mox-border);padding-bottom:24px;margin-bottom:54px}.mox-reels-grid{gap:24px!important}.mox-reel-card,.mox-film-image{border-radius:22px;overflow:hidden}.mox-reel-card img,.mox-film-image img{transition:transform .65s ease}.mox-reel-card:hover img,.mox-film-image:hover img{transform:scale(1.035)}.mox-play{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;margin:auto;background:var(--mox-red);color:#fff;font-size:1.4rem;box-shadow:0 10px 36px rgba(0,0,0,.32)}.mox-film-grid{gap:44px 28px!important}.mox-film-card h3{margin-top:12px}.mox-team-v2{background:#0a0a0a}.mox-team-main{margin:0}.mox-team-main img{width:100%;aspect-ratio:4/3;object-fit:cover}.mox-clients-v2{padding:72px 0;border-top:1px solid var(--mox-border);border-bottom:1px solid var(--mox-border);background:#080808;overflow:hidden}.mox-logo-marquee{overflow:hidden}.mox-logo-track{display:flex;gap:70px;width:max-content;animation:moxMarquee 32s linear infinite;padding-inline:35px}.mox-logo-track span{font-weight:800;letter-spacing:.12em;white-space:nowrap;color:#fff;opacity:.72}.mox-logo-marquee:hover .mox-logo-track{animation-play-state:paused}@keyframes moxMarquee{to{transform:translateX(-50%)}}.mox-reviews-v2{background:#090909}.mox-review-card{height:100%;padding:30px;background:#111214;border:1px solid var(--mox-border)}.mox-final-v2 .wp-block-cover__background{background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.55))!important}.mox-footer{border-top:1px solid var(--mox-border);background:#070707!important}.mox-reveal{opacity:0;transform:translateY(44px) scale(.985);filter:blur(2px);transition:opacity .8s ease,transform .9s cubic-bezier(.2,.72,.2,1),filter .8s ease}.mox-reveal.is-visible{opacity:1;transform:none;filter:none}.mox-image-reveal{overflow:hidden}.mox-image-reveal:after{content:"";position:absolute;inset:0;background:#0a0a0a;transform:scaleY(1);transform-origin:bottom;transition:transform .95s cubic-bezier(.7,0,.2,1);z-index:3;pointer-events:none}.mox-image-reveal.is-visible:after{transform:scaleY(0)}.mox-image-reveal>.wp-block-cover__inner-container{position:relative;z-index:4}.is-style-outline>.wp-block-button__link{background:transparent!important;border:1px solid rgba(255,255,255,.28)!important;color:#fff!important}.is-style-outline>.wp-block-button__link:hover{border-color:var(--mox-red)!important}.wp-block-button__link{transition:transform .25s ease,background .25s ease,border-color .25s ease}.wp-block-button__link:hover{transform:translateY(-2px)}
@media(max-width:1180px){.mox-service-image-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.mox-reels-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.mox-masonry-v2{columns:4 240px}.mox-hero-inner{padding-inline:28px}.mox-section-v2{padding-inline:28px}}
@media(max-width:900px){.admin-bar .mox-header{top:46px}.mox-header-cta{display:none}.mox-hero-v2{min-height:760px!important}.mox-hero-inner{padding:150px 22px 54px}.mox-hero-columns{display:block}.mox-hero-side{border-left:0;border-top:1px solid rgba(255,255,255,.18);padding:28px 0 0;margin-top:30px}.mox-display-heading{font-size:clamp(3rem,12vw,5.4rem)}.mox-dual-v2{display:block}.mox-discipline-panel,.mox-discipline-panel .wp-block-cover__inner-container{min-height:470px!important}.mox-discipline-panel .wp-block-cover__inner-container{padding:30px}.mox-about-columns{display:block}.mox-about-columns>.wp-block-column+ .wp-block-column{margin-top:54px}.mox-masonry-v2{columns:3 210px}.mox-service-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.mox-film-grid{grid-template-columns:1fr!important}.mox-team-v2 .wp-block-columns{display:block}.mox-team-v2 .wp-block-column+ .wp-block-column{margin-top:38px}}
@media(max-width:600px){.mox-header{padding-left:10px!important;padding-right:10px!important}.mox-hero-v2{min-height:720px!important}.mox-hero-inner{padding:130px 18px 40px}.mox-display-heading{font-size:clamp(2.8rem,14vw,4.6rem)}.mox-hero-discipline{font-size:1.35rem}.mox-discipline-track{gap:28px;font-size:1.35rem}.mox-discipline-panel,.mox-discipline-panel .wp-block-cover__inner-container{min-height:430px!important}.mox-section-v2{padding:72px 16px}.mox-big-heading{font-size:2.7rem}.mox-section-heading{font-size:2.4rem}.mox-capability-list{grid-template-columns:1fr!important}.mox-capability-list p{border-right:0!important}.mox-capability-list p:nth-last-child(2){border-bottom:1px solid var(--mox-border)}.mox-stat-grid{grid-template-columns:1fr 1fr!important}.mox-stat-v2{min-height:150px;padding:24px}.mox-stat-v2 h3{font-size:2.6rem}.mox-selected-work-v2{padding-top:70px}.mox-section-head-wide{padding:0 16px;display:block!important}.mox-masonry-v2{columns:2 145px;column-gap:8px;padding:0 8px}.mox-masonry-v2 .wp-block-image{margin-bottom:8px}.mox-service-image-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}.mox-service-tile{min-height:190px!important}.mox-video-section{padding-top:78px;padding-bottom:78px}.mox-media-heading{margin-bottom:30px}.mox-reels-grid{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px!important;padding-bottom:8px}.mox-reel-card{min-width:78vw!important;scroll-snap-align:start}.mox-reel-card,.mox-reel-card .wp-block-cover__inner-container{min-height:500px!important}.mox-film-grid{gap:28px!important}.mox-logo-track{gap:38px}.mox-review-grid{display:block}.mox-review-grid>.wp-block-column+ .wp-block-column{margin-top:14px}.mox-final-v2{min-height:430px!important}}


/* === Mox Media v3 refinements === */
.mox-discipline-sequence{display:flex;align-items:center;gap:48px;padding-right:48px;flex:0 0 auto}
.mox-discipline-track b{color:var(--mox-red);font-size:.8em}
.mox-discipline-strip:hover .mox-discipline-track{animation-play-state:paused}

/* Make Photography/Videography copy readable without making the imagery feel heavy. */
.mox-discipline-panel .wp-block-cover__background{opacity:1!important;background:linear-gradient(180deg,rgba(0,0,0,.24) 0%,rgba(0,0,0,.38) 46%,rgba(0,0,0,.84) 100%)!important}
.mox-discipline-copy{position:relative;z-index:5;text-shadow:0 2px 18px rgba(0,0,0,.55)}

/* Long form should read like a deliberate cinematic container, not a full-bleed grid. */
.mox-longform{padding-left:24px!important;padding-right:24px!important}
.mox-longform-inner{width:min(1240px,100%);margin-inline:auto}
.mox-longform-inner>.mox-media-heading{margin-left:0;margin-right:0}
.mox-longform-inner>.mox-film-grid{width:100%}
.mox-film-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:44px 26px!important}
.mox-film-card{min-width:0}
.mox-film-image{width:100%;aspect-ratio:16/9!important}
.mox-film-image img{width:100%;height:100%;object-fit:cover}

/* Real client-logo marquee from the supplied transparent white logos. */
.mox-logo-track{display:flex;align-items:center;width:max-content;animation:moxMarquee 30s linear infinite;will-change:transform;padding:0}
.mox-logo-sequence{display:flex;align-items:center;gap:64px;padding-right:64px;flex:0 0 auto}
.mox-client-logo{width:160px;min-width:160px;height:64px;margin:0!important;display:flex;align-items:center;justify-content:center}
.mox-client-logo img{display:block;width:auto!important;max-width:150px!important;height:auto!important;max-height:54px!important;object-fit:contain;opacity:.82;transition:opacity .25s ease,transform .25s ease}
.mox-client-logo:hover img{opacity:1;transform:scale(1.035)}
@keyframes moxMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Google Reviews plugin slot. */
.mox-reviews-v2{max-width:none!important}
.mox-reviews-v2>.wp-block-shortcode{margin-top:36px}
.mox-reviews-slot-empty{min-height:170px;border:1px dashed rgba(255,255,255,.18);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;color:var(--mox-muted);background:#0d0e10;padding:28px}
.mox-reviews-slot-empty strong{color:#fff}

/* Stronger desktop reveal, still transform/opacity based and lightweight. */
.mox-masonry-v2 .mox-reveal:nth-child(2n){transition-delay:.06s}
.mox-masonry-v2 .mox-reveal:nth-child(3n){transition-delay:.12s}
.mox-service-image-grid .mox-image-reveal:nth-child(2n){transition-delay:.05s}
.mox-service-image-grid .mox-image-reveal:nth-child(3n){transition-delay:.1s}

@media(max-width:900px){
  .mox-longform{padding-left:18px!important;padding-right:18px!important}
  .mox-film-grid{grid-template-columns:1fr!important;gap:30px!important}
  .mox-logo-sequence{gap:42px;padding-right:42px}
  .mox-client-logo{width:132px;min-width:132px;height:56px}
  .mox-client-logo img{max-width:122px!important;max-height:46px!important}
}
@media(max-width:600px){
  .mox-discipline-sequence{gap:28px;padding-right:28px}
  .mox-longform{padding-left:16px!important;padding-right:16px!important}
  .mox-film-image{border-radius:14px}
  .mox-logo-track{animation-duration:24s}
  .mox-logo-sequence{gap:34px;padding-right:34px}
  .mox-client-logo{width:112px;min-width:112px;height:48px}
  .mox-client-logo img{max-width:104px!important;max-height:40px!important}
}

/* If a visitor requests reduced motion, keep content usable but do not turn the site into a completely static desktop. */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .mox-reveal{transform:none;filter:none;transition:opacity .22s ease}
  .mox-image-reveal:after{transition-duration:.24s}
  .mox-discipline-panel img,.mox-service-tile img,.mox-masonry-v2 img,.mox-reel-card img,.mox-film-image img,.wp-block-button__link{transition-duration:.18s!important}
  .mox-discipline-track{animation-duration:70s}
  .mox-logo-track{animation-duration:60s}
}
/* v4 editable ticker block support */
.mox-ticker-item{margin:0!important;white-space:nowrap}
.mox-discipline-sequence .mox-ticker-item{font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit}
/* === v5 simple homepage editor renderer === */
.mox-home-v5{font-size:var(--mox-body-size,16px)}
.mox-home-v5 .mox-html-inner{width:min(var(--mox-content-max,1500px),calc(100% - 48px));margin-inline:auto;box-sizing:border-box}
.mox-html-cover{background-size:cover;background-position:center;position:relative;display:flex;align-items:center}
.mox-html-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:56px;align-items:end;width:100%}
.mox-html-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.mox-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--mox-red);color:#fff;text-decoration:none;font-weight:700;font-size:.84rem;padding:.95rem 1.45rem;border-radius:4px;border:1px solid var(--mox-red);transition:transform .25s ease,background .25s ease,border-color .25s ease}.mox-btn:hover{color:#fff;transform:translateY(-2px)}.mox-btn-outline{background:transparent;border-color:rgba(255,255,255,.3)}.mox-btn-outline:hover{border-color:var(--mox-red)}
.mox-html-dual{display:grid;grid-template-columns:1fr 1fr;gap:0}.mox-html-panel{position:relative;background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:52px;box-sizing:border-box}.mox-html-panel .mox-discipline-copy{max-width:700px}.mox-html-panel p:not(.mox-eyebrow){max-width:680px}
.mox-html-about-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(420px,.8fr);gap:72px;align-items:center}.mox-html-lead{color:var(--mox-muted);font-size:1.12rem;line-height:1.75;max-width:850px}.mox-html-capabilities{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--mox-border);border-left:1px solid var(--mox-border);margin:36px 0}.mox-html-capabilities>div{padding:24px 18px;border-right:1px solid var(--mox-border);border-bottom:1px solid var(--mox-border);font-weight:700}.mox-html-stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--mox-border);border-left:1px solid var(--mox-border)}
.mox-html-center{text-align:center;margin-inline:auto}.mox-html-center .mox-btn{margin-top:28px}.mox-service-grid-html{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.mox-html-service-tile{min-height:260px;background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:22px;color:#fff;text-decoration:none;font-weight:800;text-transform:uppercase;overflow:hidden}.mox-html-service-tile span{position:relative;z-index:5}.mox-html-service-tile:hover{color:#fff}
.mox-narrow-video{max-width:1240px!important}.mox-reels-html{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.mox-html-video-card{position:relative;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden}.mox-reel-card.mox-html-video-card{min-height:520px;border-radius:22px}.mox-video-title{position:absolute;left:18px;right:18px;bottom:18px;font-weight:700;text-shadow:0 2px 14px #000}.mox-film-grid-html{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 26px}.mox-film-grid-html .mox-film-image{aspect-ratio:16/9;min-height:0;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center}.mox-film-grid-html h3{margin:12px 0 0}.mox-html-team-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:60px;align-items:center}.mox-team-photo{min-height:560px;background-size:cover;background-position:center;position:relative}.mox-center-buttons{justify-content:center}.mox-final-v2.mox-html-cover{justify-content:center;text-align:center;padding:70px 24px;box-sizing:border-box}.mox-final-v2 .mox-html-center{max-width:900px}
.mox-home-v5 .mox-masonry-v2 figure{padding:0}.mox-home-v5 .mox-masonry-v2 img{width:100%;height:auto;display:block}.mox-home-v5 .mox-logo-sequence{align-items:center}
@media(max-width:1180px){.mox-service-grid-html{grid-template-columns:repeat(3,minmax(0,1fr))}.mox-reels-html{grid-template-columns:repeat(2,minmax(0,1fr))}.mox-html-about-grid{grid-template-columns:1fr;gap:50px}}
@media(max-width:900px){.mox-html-hero-grid,.mox-html-dual,.mox-html-team-grid{grid-template-columns:1fr}.mox-hero-side{border-left:0;border-top:1px solid rgba(255,255,255,.18);padding-left:0;padding-top:28px}.mox-html-panel{min-height:470px!important;padding:30px}.mox-service-grid-html{grid-template-columns:repeat(2,minmax(0,1fr))}.mox-film-grid-html{grid-template-columns:1fr}.mox-reels-html{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.mox-home-v5 .mox-html-inner{width:calc(100% - 32px)}.mox-html-panel{min-height:430px!important;padding:24px}.mox-html-capabilities{grid-template-columns:1fr}.mox-html-stats{grid-template-columns:1fr 1fr}.mox-service-grid-html{grid-template-columns:1fr 1fr;gap:8px}.mox-html-service-tile{min-height:190px;padding:14px;font-size:.76rem}.mox-reels-html{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px}.mox-reel-card.mox-html-video-card{min-width:78vw;scroll-snap-align:start}.mox-film-grid-html{gap:28px}.mox-team-photo{min-height:420px}.mox-html-buttons{gap:9px}.mox-btn{width:auto}.mox-final-v2.mox-html-cover{padding-inline:16px}}

/* === Mox Media v6: fast hero + responsive visual controls === */
.mox-home-v6{font-size:var(--body-size);}
.mox-home-v6 .mox-html-inner{width:min(var(--content-max),calc(100% - (var(--side-pad) * 2)));max-width:none;margin-inline:auto;box-sizing:border-box}
.mox-home-v6 .mox-btn{font-size:var(--button-size)}

/* Native responsive images replace CSS backgrounds so WordPress can use srcset/WebP rewrites. */
.mox-media-picture{position:absolute;inset:0;display:block;z-index:0;overflow:hidden}
.mox-media-picture .mox-media-img{width:100%;height:100%;object-fit:cover;display:block}
.mox-cover-overlay,.mox-panel-overlay,.mox-service-shade,.mox-video-shade,.mox-cta-overlay{position:absolute;inset:0;pointer-events:none}

/* Hero: eager/preloaded image with no reveal mask over the LCP media. */
.mox-home-v6 .mox-hero-v2{position:relative;min-height:var(--hero-h)!important;background:#090909;overflow:hidden;display:flex;align-items:stretch}
.mox-home-v6 .mox-hero-picture .mox-media-img{object-position:var(--hero-pos)}
.mox-home-v6 .mox-cover-overlay{z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.93) 0%,rgba(0,0,0,.68) 42%,rgba(0,0,0,.24) 75%,rgba(0,0,0,var(--hero-overlay)) 100%)}
.mox-home-v6 .mox-hero-inner{position:relative;z-index:2;width:100%;padding-top:var(--hero-pt);padding-bottom:var(--hero-pb);padding-left:0;padding-right:0;display:flex;align-items:flex-end}
.mox-home-v6 .mox-display-heading{font-size:var(--hero-title)!important;line-height:var(--hero-title-lh)!important;max-width:900px}
.mox-home-v6 .mox-hero-copy{font-size:var(--hero-text);line-height:var(--hero-text-lh)}

/* Scrolling category strip. */
.mox-home-v6 .mox-discipline-strip{padding:var(--ticker-py) 0}
.mox-home-v6 .mox-discipline-track{font-size:var(--ticker-size);gap:0}
.mox-home-v6 .mox-discipline-sequence{gap:48px;padding-right:48px}

/* Photography / Videography. */
.mox-home-v6 .mox-html-dual{display:grid;grid-template-columns:1fr 1fr;gap:0}
.mox-home-v6 .mox-html-panel{position:relative;min-height:var(--dual-h)!important;padding:var(--dual-pad);overflow:hidden;display:flex;align-items:flex-end;background:#0a0a0a}
.mox-home-v6 .mox-panel-picture .mox-media-img{object-position:var(--panel-pos);transition:transform .9s cubic-bezier(.2,.8,.2,1),filter .6s ease}
.mox-home-v6 .mox-html-panel:hover .mox-panel-picture .mox-media-img{transform:scale(1.045);filter:contrast(1.03)}
.mox-home-v6 .mox-panel-overlay{z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.16) 0%,rgba(0,0,0,.3) 45%,rgba(0,0,0,var(--panel-overlay)) 100%)}
.mox-home-v6 .mox-discipline-copy{position:relative;z-index:4;max-width:760px}
.mox-home-v6 .mox-panel-heading{font-size:var(--dual-title)!important;line-height:var(--dual-title-lh)!important}
.mox-home-v6 .mox-discipline-copy>p:not(.mox-eyebrow){font-size:var(--dual-text);line-height:var(--dual-text-lh);max-width:680px}

/* Generic responsive section controls. */
.mox-home-v6 .mox-responsive-section{padding-top:var(--pt)!important;padding-bottom:var(--pb)!important}
.mox-home-v6 .mox-responsive-heading{font-size:var(--heading)!important;line-height:var(--heading-lh)!important}
.mox-home-v6 .mox-responsive-copy{font-size:var(--copy);line-height:var(--copy-lh)}

/* Full-width masonry with editable columns/gaps. */
.mox-home-v6 .mox-masonry-v2{columns:var(--gallery-cols);column-gap:var(--gallery-gap);padding-left:var(--gallery-gap);padding-right:var(--gallery-gap)}
.mox-home-v6 .mox-masonry-v2 .mox-gallery-item{break-inside:avoid;margin:0 0 var(--gallery-gap);overflow:hidden;background:#111}
.mox-home-v6 .mox-masonry-v2 .mox-gallery-item img{display:block;width:100%;height:auto}

/* Services: restored as a wide, image-led tile field on laptop/desktop. */
.mox-home-v6 .mox-service-grid-html{display:grid!important;grid-template-columns:repeat(var(--service-cols),minmax(0,1fr))!important;gap:var(--service-gap)!important}
.mox-home-v6 .mox-html-service-tile{position:relative;min-height:var(--service-h)!important;padding:0!important;color:#fff;text-decoration:none;overflow:hidden;border:1px solid rgba(255,255,255,.06);background:#111}
.mox-home-v6 .mox-service-picture .mox-media-img{transition:transform .75s cubic-bezier(.2,.8,.2,1),filter .55s ease}
.mox-home-v6 .mox-html-service-tile:hover .mox-service-picture .mox-media-img{transform:scale(1.07);filter:saturate(1.08)}
.mox-home-v6 .mox-service-shade{z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.03) 20%,rgba(0,0,0,.2) 55%,rgba(0,0,0,.92) 100%)}
.mox-home-v6 .mox-service-label{position:absolute;z-index:4;left:14px;right:14px;bottom:13px;font-size:.72rem;font-weight:800;line-height:1.15;text-transform:uppercase;letter-spacing:.02em;text-shadow:0 2px 10px #000}

/* Video controls and contained long-form layout. */
.mox-home-v6 .mox-reels-html{gap:var(--reel-gap)!important}
.mox-home-v6 .mox-reel-card.mox-html-video-card{position:relative;min-height:var(--reel-h)!important;background:#111}
.mox-home-v6 .mox-video-picture .mox-media-img{transition:transform .7s ease}
.mox-home-v6 .mox-html-video-card:hover .mox-video-picture .mox-media-img{transform:scale(1.035)}
.mox-home-v6 .mox-video-shade{z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.42))}
.mox-home-v6 .mox-play,.mox-home-v6 .mox-video-title{z-index:4}
.mox-home-v6 .mox-longform{padding-left:var(--side-pad)!important;padding-right:var(--side-pad)!important}
.mox-home-v6 .mox-longform-inner{width:min(var(--long-max),100%);margin-inline:auto}
.mox-home-v6 .mox-film-grid-html{display:grid!important;grid-template-columns:repeat(var(--long-cols),minmax(0,1fr))!important;gap:44px var(--long-gap)!important}
.mox-home-v6 .mox-film-image{position:relative;aspect-ratio:16/9;background:#111;overflow:hidden;border-radius:18px}

/* Team / CTA image controls. */
.mox-home-v6 .mox-team-photo{position:relative;min-height:var(--team-h)!important;background:#111;overflow:hidden}
.mox-home-v6 .mox-team-picture .mox-media-img{object-position:var(--team-pos)}
.mox-home-v6 .mox-final-v2{position:relative;min-height:var(--cta-h)!important;background:#080808;overflow:hidden;display:flex;align-items:center;justify-content:center}
.mox-home-v6 .mox-cta-picture .mox-media-img{object-position:var(--cta-pos)}
.mox-home-v6 .mox-cta-overlay{z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,var(--cta-overlay)))}
.mox-home-v6 .mox-final-v2>.mox-html-center{position:relative;z-index:3;padding:70px var(--side-pad);max-width:900px}

/* Client marquee controls. */
.mox-home-v6 .mox-clients-v2{padding-top:var(--clients-pt)!important;padding-bottom:var(--clients-pb)!important}
.mox-home-v6 .mox-logo-sequence{gap:var(--logo-gap)!important;padding-right:var(--logo-gap)!important}
.mox-home-v6 .mox-client-logo{width:var(--logo-w)!important;min-width:var(--logo-w)!important;height:64px!important}
.mox-home-v6 .mox-client-logo img{max-width:calc(var(--logo-w) - 10px)!important;max-height:54px!important;width:auto!important;height:auto!important;object-fit:contain}

@media(max-width:1200px){
  .mox-home-v6 .mox-service-grid-html{grid-template-columns:repeat(var(--service-cols-t),minmax(0,1fr))!important}
  .mox-home-v6 .mox-masonry-v2{columns:var(--gallery-cols-t)}
}

@media(max-width:900px){
  .mox-home-v6{font-size:var(--body-size-m)}
  .mox-home-v6 .mox-html-inner{width:calc(100% - (var(--side-pad-m) * 2))}
  .mox-home-v6 .mox-btn{font-size:var(--button-size-m)}
  .mox-home-v6 .mox-hero-v2{min-height:var(--hero-h-m)!important}
  .mox-home-v6 .mox-hero-picture .mox-media-img{object-position:var(--hero-pos-m)}
  .mox-home-v6 .mox-hero-inner{padding-top:var(--hero-pt-m);padding-bottom:var(--hero-pb-m)}
  .mox-home-v6 .mox-display-heading{font-size:var(--hero-title-m)!important;line-height:var(--hero-title-lh-m)!important}
  .mox-home-v6 .mox-hero-copy{font-size:var(--hero-text-m);line-height:var(--hero-text-lh-m)}
  .mox-home-v6 .mox-discipline-strip{padding:var(--ticker-py-m) 0}
  .mox-home-v6 .mox-discipline-track{font-size:var(--ticker-size-m)}
  .mox-home-v6 .mox-html-dual{grid-template-columns:1fr}
  .mox-home-v6 .mox-html-panel{min-height:var(--dual-h-m)!important;padding:var(--dual-pad-m)}
  .mox-home-v6 .mox-panel-picture .mox-media-img{object-position:var(--panel-pos-m)}
  .mox-home-v6 .mox-panel-heading{font-size:var(--dual-title-m)!important;line-height:var(--dual-title-lh-m)!important}
  .mox-home-v6 .mox-discipline-copy>p:not(.mox-eyebrow){font-size:var(--dual-text-m);line-height:var(--dual-text-lh-m)}
  .mox-home-v6 .mox-responsive-section{padding-top:var(--pt-m)!important;padding-bottom:var(--pb-m)!important}
  .mox-home-v6 .mox-responsive-heading{font-size:var(--heading-m)!important;line-height:var(--heading-lh-m)!important}
  .mox-home-v6 .mox-responsive-copy{font-size:var(--copy-m);line-height:var(--copy-lh-m)}
  .mox-home-v6 .mox-masonry-v2{columns:var(--gallery-cols-m);column-gap:var(--gallery-gap-m);padding-left:var(--gallery-gap-m);padding-right:var(--gallery-gap-m)}
  .mox-home-v6 .mox-masonry-v2 .mox-gallery-item{margin-bottom:var(--gallery-gap-m)}
  .mox-home-v6 .mox-service-grid-html{grid-template-columns:repeat(var(--service-cols-m),minmax(0,1fr))!important;gap:var(--service-gap-m)!important}
  .mox-home-v6 .mox-html-service-tile{min-height:var(--service-h-m)!important}
  .mox-home-v6 .mox-reels-html{gap:var(--reel-gap-m)!important}
  .mox-home-v6 .mox-reel-card.mox-html-video-card{min-height:var(--reel-h-m)!important}
  .mox-home-v6 .mox-longform{padding-left:var(--side-pad-m)!important;padding-right:var(--side-pad-m)!important}
  .mox-home-v6 .mox-film-grid-html{grid-template-columns:repeat(var(--long-cols-m),minmax(0,1fr))!important;gap:28px var(--long-gap-m)!important}
  .mox-home-v6 .mox-team-photo{min-height:var(--team-h-m)!important}
  .mox-home-v6 .mox-team-picture .mox-media-img{object-position:var(--team-pos-m)}
  .mox-home-v6 .mox-clients-v2{padding-top:var(--clients-pt-m)!important;padding-bottom:var(--clients-pb-m)!important}
  .mox-home-v6 .mox-logo-sequence{gap:var(--logo-gap-m)!important;padding-right:var(--logo-gap-m)!important}
  .mox-home-v6 .mox-client-logo{width:var(--logo-w-m)!important;min-width:var(--logo-w-m)!important;height:52px!important}
  .mox-home-v6 .mox-client-logo img{max-width:calc(var(--logo-w-m) - 8px)!important;max-height:44px!important}
  .mox-home-v6 .mox-final-v2{min-height:var(--cta-h-m)!important}
  .mox-home-v6 .mox-cta-picture .mox-media-img{object-position:var(--cta-pos-m)}
  .mox-home-v6 .mox-final-v2>.mox-html-center{padding-left:var(--side-pad-m);padding-right:var(--side-pad-m)}
}

@media(max-width:600px){
  .mox-home-v6 .mox-reels-html{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory}
  .mox-home-v6 .mox-reel-card.mox-html-video-card{min-width:78vw!important;scroll-snap-align:start}
  .mox-home-v6 .mox-service-label{font-size:.68rem}
}

/* === Mox Media v7 refinements === */
/* Keep hero content comfortably away from viewport edges while media stays full bleed. */
.mox-home-v6 .mox-hero-inner{
  box-sizing:border-box;
  padding-left:max(var(--side-pad),40px)!important;
  padding-right:max(var(--side-pad),40px)!important;
}

/* SEO/About capability icons. */
.mox-home-v6 .mox-html-capabilities .mox-capability-item{
  display:flex;align-items:center;gap:12px;
}
.mox-home-v6 .mox-capability-icon{
  width:34px;height:34px;min-width:34px;display:grid;place-items:center;
  color:var(--mox-red);border:1px solid rgba(215,0,0,.34);border-radius:8px;
}
.mox-home-v6 .mox-capability-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* V4-style service image grid: dense, elegant 4/3/2 column layout. */
.mox-home-v6 .mox-service-grid-html{align-items:stretch}
.mox-home-v6 .mox-html-service-tile{width:100%;aspect-ratio:4/3;min-height:0!important}
.mox-home-v6 .mox-service-picture .mox-media-img{object-fit:cover}
.mox-home-v6 .mox-service-label{font-size:.82rem;left:16px;bottom:14px}

/* End-of-section navigation buttons. */
.mox-section-actions{display:flex;justify-content:center;align-items:center;margin-top:38px;padding-inline:var(--side-pad)}
.mox-clients-v2 .mox-section-actions{margin-top:30px}

/* Play icon: always centered and visible, including on mobile. */
.mox-home-v6 .mox-html-video-card .mox-play{
  position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;
  width:70px!important;height:70px!important;margin:0!important;border-radius:999px!important;
  display:grid!important;place-items:center!important;background:rgba(167,25,34,.96)!important;
  color:#fff!important;z-index:7!important;box-shadow:0 10px 36px rgba(0,0,0,.42)!important;
  pointer-events:none;
}
.mox-home-v6 .mox-play svg{width:30px;height:30px;fill:currentColor;display:block;margin-left:2px}

/* Slightly larger client logos while retaining the same clean marquee. */
.mox-home-v6 .mox-client-logo{height:72px!important}
.mox-home-v6 .mox-client-logo img{max-height:62px!important}

@media(max-width:1200px){
  .mox-home-v6 .mox-html-service-tile{aspect-ratio:4/3}
}
@media(max-width:900px){
  .mox-home-v6 .mox-hero-inner{padding-left:max(var(--side-pad-m),18px)!important;padding-right:max(var(--side-pad-m),18px)!important}
  .mox-section-actions{padding-inline:var(--side-pad-m);margin-top:30px}
  .mox-home-v6 .mox-client-logo{height:60px!important}
  .mox-home-v6 .mox-client-logo img{max-height:50px!important}
}
@media(max-width:600px){
  .mox-home-v6 .mox-html-service-tile{aspect-ratio:4/3;min-height:0!important}
  .mox-home-v6 .mox-service-label{font-size:.7rem;left:10px;bottom:10px}
  .mox-home-v6 .mox-html-video-card .mox-play{width:58px!important;height:58px!important}
  .mox-home-v6 .mox-play svg{width:25px;height:25px}
}


/* v8: lock the approved 12-service desktop composition to a true 4 x 3 grid.
   Explicitly cancel any legacy multi-column/flex rules from earlier review builds. */
@media (min-width:1201px){
  .mox-home-v6 .mox-service-grid-html{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    grid-auto-rows:auto!important;
    columns:auto!important;
    column-count:auto!important;
    justify-content:stretch!important;
    align-items:stretch!important;
  }
  .mox-home-v6 .mox-service-grid-html>.mox-html-service-tile{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    grid-column:auto!important;
    grid-row:auto!important;
    break-inside:auto!important;
  }
}

/* === Mox Media v9 service grid hotfix ===
   Use flex wrapping instead of CSS grid so no inherited WordPress/grid rule can
   create phantom empty tracks. This guarantees contiguous service tiles. */
.mox-home-v6 .mox-service-grid-html{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:var(--service-gap)!important;
  grid-template-columns:none!important;
  grid-auto-flow:unset!important;
  grid-auto-rows:unset!important;
  columns:auto!important;
  column-count:auto!important;
}
.mox-home-v6 .mox-service-grid-html>.mox-html-service-tile{
  display:flex!important;
  flex:0 0 calc((100% - (3 * var(--service-gap))) / 4)!important;
  width:calc((100% - (3 * var(--service-gap))) / 4)!important;
  max-width:calc((100% - (3 * var(--service-gap))) / 4)!important;
  margin:0!important;
  grid-column:auto!important;
  grid-row:auto!important;
  break-inside:auto!important;
  box-sizing:border-box!important;
}
@media(max-width:1200px){
  .mox-home-v6 .mox-service-grid-html>.mox-html-service-tile{
    flex-basis:calc((100% - (2 * var(--service-gap))) / 3)!important;
    width:calc((100% - (2 * var(--service-gap))) / 3)!important;
    max-width:calc((100% - (2 * var(--service-gap))) / 3)!important;
  }
}
@media(max-width:700px){
  .mox-home-v6 .mox-service-grid-html{gap:var(--service-gap-m)!important}
  .mox-home-v6 .mox-service-grid-html>.mox-html-service-tile{
    flex-basis:calc((100% - var(--service-gap-m)) / 2)!important;
    width:calc((100% - var(--service-gap-m)) / 2)!important;
    max-width:calc((100% - var(--service-gap-m)) / 2)!important;
  }
}

/* Client logo dimensions are now fully controlled from the Homepage Editor. */
.mox-home-v6 .mox-client-logo{
  width:var(--logo-w)!important;
  min-width:var(--logo-w)!important;
  height:var(--logo-h)!important;
}
.mox-home-v6 .mox-client-logo img{
  max-width:100%!important;
  max-height:100%!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
}
@media(max-width:900px){
  .mox-home-v6 .mox-client-logo{
    width:var(--logo-w-m)!important;
    min-width:var(--logo-w-m)!important;
    height:var(--logo-h-m)!important;
  }
}
\n\n/* === Mox Media v10: deterministic service rows ===\n   The services are grouped in explicit rows of 4 so desktop can never\n   collapse to 3 columns because of inherited WordPress/flex/grid rules. */\n.mox-home-v6 .mox-service-grid-html{\n  display:block!important;\n  width:100%!important;\n}\n.mox-home-v6 .mox-service-row{\n  display:grid!important;\n  grid-template-columns:repeat(4,minmax(0,1fr))!important;\n  gap:var(--service-gap)!important;\n  width:100%!important;\n  margin:0 0 var(--service-gap)!important;\n  padding:0!important;\n}\n.mox-home-v6 .mox-service-row:last-child{margin-bottom:0!important}\n.mox-home-v6 .mox-service-row>.mox-html-service-tile{\n  display:flex!important;\n  width:100%!important;\n  min-width:0!important;\n  max-width:none!important;\n  flex:none!important;\n  margin:0!important;\n  box-sizing:border-box!important;\n}\n@media(max-width:700px){\n  .mox-home-v6 .mox-service-row{\n    grid-template-columns:repeat(2,minmax(0,1fr))!important;\n    gap:var(--service-gap-m)!important;\n    margin-bottom:var(--service-gap-m)!important;\n  }\n}\n
/* === Mox Media v11: restore approved V4 service-card design, with a hard 4x3 desktop / 2-column mobile layout === */
.mox-home-v6 .mox-services-grid-v11{
  width:100%;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:var(--service-gap,10px)!important;
  align-items:stretch;
  justify-items:stretch;
  box-sizing:border-box;
}
.mox-home-v6 .mox-service-card-v11{
  position:relative;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  aspect-ratio:4/3;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden;
  background:#111;
  border:0;
  color:#fff!important;
  text-decoration:none!important;
  box-sizing:border-box;
}
.mox-home-v6 .mox-service-card-v11 .mox-media-picture{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  overflow:hidden;
}
.mox-home-v6 .mox-service-card-v11 .mox-media-img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .55s ease;
}
.mox-home-v6 .mox-service-card-v11:hover .mox-media-img{
  transform:scale(1.075);
  filter:saturate(1.08) contrast(1.03);
}
.mox-home-v6 .mox-service-overlay-v11{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.02) 28%,rgba(0,0,0,.18) 58%,rgba(0,0,0,.88) 100%);
}
.mox-home-v6 .mox-service-label-v11{
  position:absolute;
  z-index:3;
  left:16px;
  right:16px;
  bottom:14px;
  margin:0;
  color:#fff;
  font-size:.82rem;
  line-height:1.15;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:-.01em;
  text-shadow:0 2px 12px rgba(0,0,0,.9);
}
@media(max-width:900px){
  .mox-home-v6 .mox-services-grid-v11{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:var(--service-gap-m,8px)!important;
  }
  .mox-home-v6 .mox-service-label-v11{
    left:10px;
    right:10px;
    bottom:10px;
    font-size:.7rem;
  }
}


/* === Mox Media v12: bulletproof 4-across / 2-across services layout ===
   This intentionally avoids CSS Grid for this section because the host/editor stack
   has repeatedly interfered with grid column placement. Flex-basis is explicit. */
#mox-services-grid-v12{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  align-items:stretch!important;
  align-content:flex-start!important;
  justify-content:flex-start!important;
  width:100%!important;
  max-width:none!important;
  margin:0 -5px!important;
  padding:0!important;
  gap:0!important;
  box-sizing:border-box!important;
}
#mox-services-grid-v12>.mox-service-card-v12{
  display:block!important;
  flex:0 0 25%!important;
  width:25%!important;
  max-width:25%!important;
  min-width:25%!important;
  margin:0!important;
  padding:5px!important;
  box-sizing:border-box!important;
  color:#fff!important;
  text-decoration:none!important;
  float:none!important;
  clear:none!important;
}
#mox-services-grid-v12 .mox-service-card-inner-v12{
  position:relative!important;
  display:block!important;
  width:100%!important;
  aspect-ratio:4/3!important;
  min-height:0!important;
  overflow:hidden!important;
  background:#111!important;
}
#mox-services-grid-v12 .mox-service-picture-v12{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
}
#mox-services-grid-v12 .mox-service-picture-v12 .mox-media-img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  transition:transform .75s cubic-bezier(.2,.8,.2,1),filter .5s ease!important;
}
#mox-services-grid-v12>.mox-service-card-v12:hover .mox-media-img{
  transform:scale(1.06)!important;
  filter:saturate(1.06) contrast(1.02)!important;
}
#mox-services-grid-v12 .mox-service-overlay-v12{
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  pointer-events:none!important;
  background:linear-gradient(180deg,rgba(0,0,0,.02) 30%,rgba(0,0,0,.18) 60%,rgba(0,0,0,.9) 100%)!important;
}
#mox-services-grid-v12 .mox-service-label-v12{
  position:absolute!important;
  z-index:3!important;
  left:16px!important;
  right:16px!important;
  bottom:14px!important;
  display:block!important;
  margin:0!important;
  color:#fff!important;
  font-size:.82rem!important;
  font-weight:800!important;
  line-height:1.15!important;
  letter-spacing:-.01em!important;
  text-transform:uppercase!important;
  text-shadow:0 2px 12px rgba(0,0,0,.9)!important;
}
@media (max-width:700px){
  #mox-services-grid-v12{margin:0 -4px!important}
  #mox-services-grid-v12>.mox-service-card-v12{
    flex:0 0 50%!important;
    width:50%!important;
    max-width:50%!important;
    min-width:50%!important;
    padding:4px!important;
  }
  #mox-services-grid-v12 .mox-service-label-v12{
    left:10px!important;
    right:10px!important;
    bottom:10px!important;
    font-size:.68rem!important;
  }
}

/* === Mox Media v13: mobile media + service spacing refinement === */
/* Keep desktop service row/column spacing visually identical. */
#mox-services-grid-v12{
  margin:calc(var(--service-half-gap,5px) * -1)!important;
}
#mox-services-grid-v12>.mox-service-card-v12{
  margin:0!important;
  padding:var(--service-half-gap,5px)!important;
  line-height:0!important;
  font-size:0!important;
  vertical-align:top!important;
}
#mox-services-grid-v12 .mox-service-card-inner-v12{
  margin:0!important;
  line-height:0!important;
}

@media (max-width:700px){
  /* Full-bleed two-column service gallery on phones, matching Selected Work feel. */
  #mox-services-grid-v12{
    width:100vw!important;
    max-width:100vw!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    padding:0!important;
  }
  #mox-services-grid-v12>.mox-service-card-v12{
    flex:0 0 50%!important;
    width:50%!important;
    max-width:50%!important;
    min-width:50%!important;
    padding:var(--service-half-gap-m,4px)!important;
  }

}


/* === Mox Media v14: restore original mobile reel layout + compact scroll controls === */
.mox-reel-mobile-controls{display:none}
@media (max-width:600px){
  .mox-home-v6 .mox-reels-html{
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-inline:contain;
  }
  .mox-home-v6 .mox-reels-html::-webkit-scrollbar{display:none}
  .mox-home-v6 .mox-reel-card.mox-html-video-card{
    flex:0 0 78vw!important;
    width:78vw!important;
    max-width:78vw!important;
    min-width:78vw!important;
    scroll-snap-align:start!important;
  }
  .mox-reel-mobile-controls{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:8px;
    margin:-14px 0 14px;
  }
  .mox-reel-scroll-btn{
    appearance:none;
    -webkit-appearance:none;
    width:38px;
    height:38px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.28);
    background:#101010;
    color:#fff;
    display:grid;
    place-items:center;
    padding:0;
    cursor:pointer;
    transition:background .2s ease,border-color .2s ease,opacity .2s ease,transform .2s ease;
  }
  .mox-reel-scroll-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .mox-reel-scroll-btn:active{transform:scale(.94)}
  .mox-reel-scroll-btn:not([disabled]):focus-visible{outline:2px solid var(--mox-red);outline-offset:2px}
  .mox-reel-scroll-btn[disabled]{opacity:.28;cursor:default}
  .mox-reel-scroll-btn:not([disabled]):hover{background:#171717;border-color:var(--mox-red)}
}

/* === V15 Global Header / Footer === */
.mox-global-header{position:sticky;top:0;z-index:999;background:rgba(7,7,7,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.09);transition:background .25s ease,border-color .25s ease}.home .mox-global-header{position:fixed;left:0;right:0;background:linear-gradient(to bottom,rgba(5,5,5,.88),rgba(5,5,5,.34) 72%,transparent)}.home .mox-global-header.is-scrolled{background:rgba(7,7,7,.96);border-color:rgba(255,255,255,.12)}.admin-bar .mox-global-header{top:32px}.mox-header-inner{height:82px;max-width:1540px;margin:0 auto;padding:0 28px;display:flex;align-items:center;gap:32px;box-sizing:border-box}.mox-header-logo{display:flex;align-items:center;margin-right:auto}.mox-header-logo img{width:var(--mox-header-logo);height:auto;display:block}.mox-desktop-nav{display:flex;align-items:center;gap:8px}.mox-desktop-nav>a,.mox-nav-drop-link{display:flex;align-items:center;gap:5px;color:#fff;text-decoration:none;font-size:.88rem;font-weight:600;padding:30px 12px;white-space:nowrap;transition:color .2s ease}.mox-desktop-nav>a:hover,.mox-nav-drop:hover>.mox-nav-drop-link,.mox-nav-drop:focus-within>.mox-nav-drop-link{color:var(--mox-red)}.mox-nav-drop{position:relative}.mox-nav-drop-link svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8}.mox-nav-menu{position:absolute;top:calc(100% - 8px);left:0;min-width:220px;padding:10px;background:#0b0b0b;border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 50px rgba(0,0,0,.35);opacity:0;visibility:hidden;transform:translateY(8px);transition:.22s ease;display:grid;gap:2px}.mox-services-menu{grid-template-columns:1fr 1fr;min-width:390px}.mox-nav-menu a{color:#e9e9e9;text-decoration:none;padding:10px 12px;font-size:.82rem;font-weight:600;border-radius:5px}.mox-nav-menu a:hover{background:#151515;color:#fff}.mox-nav-drop:hover>.mox-nav-menu,.mox-nav-drop:focus-within>.mox-nav-menu{opacity:1;visibility:visible;transform:none}.mox-header-book,.mox-mobile-book{background:var(--mox-red);color:#fff;text-decoration:none;font-weight:700;border-radius:999px;padding:13px 20px;white-space:nowrap;transition:transform .2s ease,background .2s ease}.mox-header-book:hover,.mox-mobile-book:hover{transform:translateY(-1px);background:var(--mox-red)}.mox-mobile-toggle{display:none;border:1px solid rgba(255,255,255,.16);background:#0c0c0c;color:#fff;width:44px;height:44px;border-radius:50%;align-items:center;justify-content:center;padding:0}.mox-mobile-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}.mox-mobile-menu{background:#080808;border-top:1px solid rgba(255,255,255,.1)}.mox-mobile-menu-inner{padding:18px 20px 26px;display:grid}.mox-mobile-menu a,.mox-mobile-menu summary{color:#fff;text-decoration:none;font-size:1rem;font-weight:700;padding:15px 2px;border-bottom:1px solid rgba(255,255,255,.08);cursor:pointer;list-style:none}.mox-mobile-menu summary{display:flex;justify-content:space-between}.mox-mobile-menu summary::-webkit-details-marker{display:none}.mox-mobile-submenu{display:grid;padding:6px 0 8px 16px}.mox-mobile-submenu a{font-size:.88rem;font-weight:600;padding:10px 0;color:#cfcfcf}.mox-mobile-book{display:inline-flex!important;justify-content:center;margin-top:18px;border-bottom:0!important}.mox-global-footer{background:#070707;border-top:1px solid rgba(255,255,255,.1);padding:70px 28px 26px}.mox-footer-grid{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:1.15fr .72fr .82fr 1.35fr;gap:56px}.mox-footer-logo img{width:var(--mox-footer-logo);height:auto;display:block}.mox-footer-brand p{max-width:390px;color:#a9a9a9;line-height:1.7;margin:20px 0}.mox-footer-grid h3{margin:0 0 20px;font-size:.86rem;text-transform:uppercase;letter-spacing:.14em;color:#fff}.mox-footer-links{display:grid;align-content:start;gap:10px}.mox-footer-links a{color:#a9a9a9;text-decoration:none;font-size:.9rem;line-height:1.45}.mox-footer-links a:hover{color:#fff}.mox-contact-line{display:flex;align-items:flex-start;gap:10px;color:#bbb;text-decoration:none;font-size:.88rem;line-height:1.55;margin-bottom:12px}.mox-contact-line svg,.mox-socials svg{width:19px;height:19px;flex:0 0 19px;fill:none;stroke:currentColor;stroke-width:1.7}.mox-contact-line:hover{color:#fff}.mox-socials{display:flex;gap:10px}.mox-socials a{width:38px;height:38px;border:1px solid rgba(255,255,255,.14);border-radius:50%;display:grid;place-items:center;color:#fff}.mox-socials a:hover{border-color:var(--mox-red);color:var(--mox-red)}.mox-footer-map{display:block;margin-top:18px;border:1px solid rgba(255,255,255,.12);overflow:hidden;background:#0f0f0f}.mox-footer-map iframe{height:var(--mox-map-height);display:block;pointer-events:none;filter:grayscale(1) contrast(1.05) brightness(.74)}.mox-footer-bottom{max-width:1500px;margin:54px auto 0;padding-top:22px;border-top:1px solid rgba(255,255,255,.09);display:flex;justify-content:space-between;gap:20px;color:#747474;font-size:.78rem}.mox-footer-bottom div{display:flex;gap:20px}.mox-footer-bottom a{color:#8d8d8d;text-decoration:none}.mox-footer-bottom a:hover{color:#fff}
@media(max-width:1100px){.mox-desktop-nav{display:none}.mox-header-book{display:none}.mox-mobile-toggle{display:flex}.mox-footer-grid{grid-template-columns:1fr 1fr;gap:42px}.mox-footer-contact{grid-column:span 2}.mox-header-inner{height:74px}.mox-header-logo img{width:var(--mox-header-logo-mobile)}}
@media(max-width:782px){.admin-bar .mox-global-header{top:46px}}
@media(max-width:640px){.mox-header-inner{padding:0 16px;height:70px}.mox-global-footer{padding:54px 18px 24px}.mox-footer-grid{grid-template-columns:1fr;gap:38px}.mox-footer-contact{grid-column:auto}.mox-footer-bottom{margin-top:38px;display:block}.mox-footer-bottom div{margin-top:12px}.mox-footer-map iframe{height:min(var(--mox-map-height),180px)}}

/* =========================================================
   Exhibition page — v17
   Mixed Mox + conversion/SEO landing page design.
   Everything is namespaced to avoid changing the homepage.
   ========================================================= */
.mox-exhibition-page{
  --mox-red:#D70000;
  --content-max:1280px;
  --side-pad:24px;
  --side-pad-m:14px;
  --body-size:16px;
  --body-size-m:15px;
  --button-size:13px;
  --button-size-m:13px;
  background:#070707;
  color:#f7f7f7;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:var(--body-size);
  overflow:hidden;
}
.mox-exhibition-page *{box-sizing:border-box}
.mox-exhibition-page .mox-ex-inner{width:min(var(--content-max),calc(100% - (var(--side-pad) * 2)));margin:0 auto}
.mox-exhibition-page p{margin-top:0;color:#a8a8a8}
.mox-exhibition-page h1,.mox-exhibition-page h2,.mox-exhibition-page h3{margin-top:0;color:#fff;font-family:"Montserrat",Arial,sans-serif}
.mox-exhibition-page .mox-ex-eyebrow{margin:0 0 12px;color:var(--mox-red);font-size:11px;font-weight:800;letter-spacing:.21em;text-transform:uppercase}
.mox-exhibition-page .mox-ex-section{padding-top:var(--pt,96px);padding-bottom:var(--pb,96px)}
.mox-exhibition-page .mox-ex-alt{background:#0b0b0b}
.mox-exhibition-page .mox-ex-section h2{margin:0;font-size:var(--heading,52px);line-height:1.04;letter-spacing:-.04em}
.mox-exhibition-page .mox-ex-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:30px}
.mox-exhibition-page .mox-ex-section-head>div:first-child{max-width:870px}
.mox-exhibition-page .mox-ex-section-copy{max-width:700px;margin:16px 0 0;color:#a8a8a8;font-size:var(--body,15px);line-height:1.7}
.mox-exhibition-page .mox-ex-btn{display:inline-flex;align-items:center;justify-content:center;min-height:45px;padding:12px 19px;border:1px solid #343434;border-radius:999px;background:#101010;color:#fff;font-size:var(--button-size);font-weight:700;line-height:1;text-decoration:none;transition:transform .25s ease,border-color .25s ease,background .25s ease}
.mox-exhibition-page .mox-ex-btn:hover{transform:translateY(-2px);border-color:#555;color:#fff}
.mox-exhibition-page .mox-ex-btn-red{background:var(--mox-red);border-color:var(--mox-red)}
.mox-exhibition-page .mox-ex-btn-red:hover{background:var(--mox-red);border-color:var(--mox-red)}

/* Hero — mirrors the approved homepage composition. */
.mox-ex-hero{position:relative;display:flex;align-items:flex-end;min-height:var(--hero-h,900px);overflow:hidden;background:#050505}
.mox-ex-hero .mox-ex-hero-picture{position:absolute;inset:0;width:100%;height:100%}
.mox-ex-hero .mox-ex-hero-picture img{width:100%;height:100%;object-fit:cover;object-position:var(--hero-pos,50% 50%)}
.mox-ex-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,var(--hero-overlay,.67)) 0%,rgba(0,0,0,.58) 44%,rgba(0,0,0,.12) 76%,rgba(0,0,0,.44) 100%),linear-gradient(0deg,rgba(0,0,0,.95) 0%,rgba(0,0,0,.05) 56%)}
.mox-ex-hero-inner{position:relative;z-index:2;padding-top:var(--hero-pt,180px);padding-bottom:var(--hero-pb,68px)}
.mox-ex-hero-grid{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(320px,.78fr);gap:70px;align-items:end}
.mox-ex-hero .mox-ex-eyebrow{font-size:var(--hero-eyebrow,12px)}
.mox-ex-hero h1{max-width:900px;margin:0;font-size:var(--hero-title,84px);line-height:var(--hero-title-lh,.96);letter-spacing:-.055em}
.mox-ex-hero-side{padding-bottom:6px}
.mox-ex-hero-side>p{max-width:590px;margin:0;color:#d2d2d2;font-size:var(--hero-text,17px);line-height:var(--hero-text-lh,1.65)}
.mox-ex-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.mox-ex-hero .mox-ex-btn{font-size:var(--hero-btn,13px)}
.mox-ex-hero-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:52px}
.mox-ex-hero-stats>div{padding-left:14px;border-left:1px solid #3c3c3c}
.mox-ex-hero-stats strong{display:block;color:#fff;font-size:var(--hero-stat,18px);line-height:1.2}
.mox-ex-hero-stats span{display:block;margin-top:5px;color:#959595;font-size:var(--hero-stat-label,10px);font-weight:600;letter-spacing:.11em;text-transform:uppercase}

/* Proof strip */
.mox-ex-proof{padding:0;background:#0d0d0d;border-top:1px solid #191919;border-bottom:1px solid #212121}
.mox-ex-proof-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.mox-ex-proof-grid>div{padding:var(--proof-py,20px) 22px;border-right:1px solid #242424;color:#e5e5e5;font-size:var(--proof-size,12px);font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.mox-ex-proof-grid>div:last-child{border-right:0}

/* Intro */
.mox-ex-intro-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:64px;align-items:end}
.mox-ex-intro .mox-ex-eyebrow{font-size:var(--eyebrow,11px)}
.mox-ex-intro h2{line-height:var(--heading-lh,1.04)}
.mox-ex-intro .mox-ex-body{max-width:720px;margin:20px 0 0;font-size:var(--text,17px);line-height:var(--text-lh,1.7)}
.mox-ex-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mox-ex-stat{padding:26px;background:linear-gradient(180deg,#151515,#0e0e0e);border:1px solid #222;border-radius:16px}
.mox-ex-stat strong{display:block;color:#fff;font-size:var(--stat,31px);line-height:1.1}
.mox-ex-stat span{display:block;margin-top:8px;color:#8d8d8d;font-size:var(--stat-label,10px);font-weight:600;letter-spacing:.1em;text-transform:uppercase}

/* What we cover */
.mox-ex-coverage .mox-ex-section-copy{font-size:var(--body,15px)}
.mox-ex-coverage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap,12px)}
.mox-ex-coverage-card{overflow:hidden;background:#101010;border:1px solid #222;border-radius:18px;transition:transform .25s ease,border-color .25s ease}
.mox-ex-coverage-card:hover{transform:translateY(-3px);border-color:#343434}
.mox-ex-coverage-image{aspect-ratio:16/10;overflow:hidden;background:#151515}
.mox-ex-coverage-image .mox-media-picture,.mox-ex-coverage-image img{width:100%;height:100%}
.mox-ex-coverage-image img{object-fit:cover;filter:brightness(.8);transition:transform .45s ease}
.mox-ex-coverage-card:hover img{transform:scale(1.035)}
.mox-ex-card-body{padding:20px}
.mox-ex-card-body h3{margin:0 0 9px;font-size:var(--card-title,19px);line-height:1.25}
.mox-ex-card-body p{margin:0;font-size:var(--card-text,13px);line-height:1.65}

/* Full-width selected-photo masonry. No titles/labels on images. */
.mox-ex-gallery{padding-left:0;padding-right:0}
.mox-ex-gallery>.mox-ex-section-head{width:min(var(--content-max),calc(100% - (var(--side-pad) * 2)));margin-left:auto;margin-right:auto}
.mox-ex-masonry{display:grid;grid-template-columns:1.2fr .8fr 1fr 1fr;grid-auto-rows:var(--row-h,190px);gap:var(--gap,7px);padding:0 var(--gap,7px)}
.mox-ex-gallery-item{position:relative;min-width:0;margin:0;overflow:hidden;background:#111}
.mox-ex-gallery-item .mox-media-picture,.mox-ex-gallery-item img{width:100%;height:100%}
.mox-ex-gallery-item img{object-fit:cover;object-position:var(--img-pos,50% 50%);transition:transform .5s ease,filter .35s ease}
.mox-ex-gallery-item:hover img{transform:scale(1.035);filter:brightness(.84)}
.mox-ex-gallery-p1,.mox-ex-gallery-p7{grid-column:span 2;grid-row:span 2}
.mox-ex-gallery-p2,.mox-ex-gallery-p6{grid-row:span 2}
.mox-ex-gallery-p5{grid-column:span 2}

/* Videography */
.mox-ex-video-grid{display:grid;grid-template-columns:1.7fr .85fr;gap:var(--gap,12px)}
.mox-ex-video-stack{display:grid;gap:var(--gap,12px)}
.mox-ex-video-card{position:relative;min-height:0;overflow:hidden;background:#101010;border:1px solid #202020;border-radius:18px;cursor:pointer}
.mox-ex-video-card .mox-media-picture,.mox-ex-video-card img{width:100%;height:100%}
.mox-ex-video-card img{display:block;aspect-ratio:16/10;object-fit:cover;filter:brightness(.64);transition:transform .45s ease}
.mox-ex-video-main img{aspect-ratio:16/9}
.mox-ex-video-card:hover img{transform:scale(1.025)}
.mox-ex-video-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.42),transparent 60%)}
.mox-ex-play{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:60px;height:60px;transform:translate(-50%,-50%);background:#fff;color:#111;border-radius:50%;z-index:3}
.mox-ex-play svg{width:24px;height:24px;fill:currentColor;stroke:none}

/* Reels — 4 desktop, homepage-style scroll controls on mobile. */
.mox-ex-reels-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap,12px)}
.mox-ex-reel{position:relative;height:var(--reel-h,500px);overflow:hidden;background:#111;border:1px solid #222;border-radius:18px;cursor:pointer}
.mox-ex-reel .mox-media-picture,.mox-ex-reel img{width:100%;height:100%}
.mox-ex-reel img{object-fit:cover;transition:transform .45s ease}
.mox-ex-reel:hover img{transform:scale(1.03)}
.mox-ex-reel-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.68),transparent 54%)}
.mox-ex-reel .mox-ex-play{width:52px;height:52px}
.mox-ex-reel-title{position:absolute;left:14px;right:14px;bottom:13px;z-index:4;color:#fff;font-size:var(--title-size,11px);font-weight:700}
.mox-ex-reels .mox-reel-mobile-controls{display:none}

/* Why Mox */
.mox-ex-why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap,12px)}
.mox-ex-why-card{min-height:165px;padding:24px;background:#0f0f0f;border:1px solid #202020;border-radius:16px}
.mox-ex-why-card>b{display:block;margin-bottom:28px;color:var(--mox-red);font-size:11px}
.mox-ex-why-card h3{margin:0 0 9px;font-size:var(--card-title,19px)}
.mox-ex-why-card p{margin:0;font-size:var(--card-text,13px);line-height:1.65}

/* Before/after */
.mox-ex-edit-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:center}
.mox-ex-editing .mox-ex-section-copy{font-size:var(--body,15px)}
.mox-before-after{position:relative;height:var(--ba-h,430px);overflow:hidden;background:#111;border:1px solid #242424;border-radius:18px}
.mox-ba-before,.mox-ba-after{position:absolute;inset:0}
.mox-ba-before .mox-media-picture,.mox-ba-after .mox-media-picture,.mox-ba-before img,.mox-ba-after img{width:100%;height:100%}
.mox-ba-before img,.mox-ba-after img{object-fit:cover}
.mox-ba-after{clip-path:inset(0 0 0 50%)}
.mox-ba-bar{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fff;pointer-events:none;z-index:5}
.mox-ba-bar span{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:42px;height:42px;transform:translate(-50%,-50%);background:#fff;color:#111;border-radius:50%;font-size:17px;font-weight:800}
.mox-before-after>input{position:absolute;inset:0;z-index:7;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}
.mox-ba-label{position:absolute;bottom:15px;z-index:6;padding:7px 10px;background:rgba(0,0,0,.68);color:#fff;border-radius:999px;font-size:var(--label,10px);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.mox-ba-label-left{left:15px}.mox-ba-label-right{right:15px}

/* BTS */
.mox-ex-bts-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.mox-ex-bts-images{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap,10px)}
.mox-ex-bts-images>div{height:var(--img-h,520px);overflow:hidden;border-radius:18px}
.mox-ex-bts-images>div:nth-child(2){transform:translateY(40px)}
.mox-ex-bts-images .mox-media-picture,.mox-ex-bts-images img{width:100%;height:100%}
.mox-ex-bts-images img{object-fit:cover}
.mox-ex-bts .mox-ex-section-copy{font-size:var(--body,15px)}
.mox-ex-checks{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:26px}
.mox-ex-checks>div{padding:14px 15px;background:#101010;border:1px solid #222;border-radius:12px;color:#e4e4e4;font-size:var(--check,12px)}
.mox-ex-checks>div:before{content:"✓";margin-right:8px;color:var(--mox-red);font-weight:800}

/* Process */
.mox-ex-process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.mox-ex-process-step{padding:23px;border-top:1px solid #333}
.mox-ex-process-step>b{display:grid;place-items:center;width:34px;height:34px;margin-bottom:22px;background:#191919;color:#fff;border-radius:50%;font-size:12px}
.mox-ex-process-step h3{margin:0 0 9px;font-size:var(--step-title,19px)}
.mox-ex-process-step p{margin:0;font-size:var(--step-text,13px);line-height:1.65}

/* Coverage options / packages */
.mox-ex-packages .mox-ex-section-copy{font-size:var(--body,15px)}
.mox-ex-package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap,14px)}
.mox-ex-package{padding:26px;background:#101010;border:1px solid #222;border-radius:18px}
.mox-ex-package.is-featured{border-color:var(--mox-red);box-shadow:inset 0 0 0 1px rgba(215,0,0,.18)}
.mox-ex-package-tag{display:inline-flex;margin-bottom:14px;padding:5px 10px;background:rgba(215,0,0,.14);color:var(--mox-red);border-radius:999px;font-size:var(--tag,10px);font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.mox-ex-package h3{margin:0 0 18px;font-size:var(--card-title,20px)}
.mox-ex-package ul{margin:0 0 24px;padding-left:18px;color:#aaa;font-size:var(--points,13px)}
.mox-ex-package li{margin:8px 0}

/* Client logo strip */
.mox-ex-clients{padding-top:var(--pt,50px);padding-bottom:var(--pb,50px);overflow:hidden;border-top:1px solid #1d1d1d;border-bottom:1px solid #1d1d1d;background:#090909}
.mox-ex-clients .mox-ex-eyebrow{font-size:var(--eyebrow,11px);margin-bottom:24px}
.mox-ex-clients .mox-logo-marquee{overflow:hidden}
.mox-ex-clients .mox-logo-track{display:flex;width:max-content;gap:0;padding:0;animation:moxMarquee linear infinite}
.mox-ex-clients .mox-logo-sequence{display:flex;align-items:center;gap:var(--gap,60px);padding-right:var(--gap,60px)}
.mox-ex-clients .mox-client-logo{display:flex;align-items:center;justify-content:center;width:var(--logo-w,180px);height:var(--logo-h,72px);margin:0;flex:0 0 auto}
.mox-ex-clients .mox-client-logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;filter:grayscale(1);opacity:.86}

/* Venues */
.mox-ex-venue-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.mox-ex-venue{display:block;padding:22px;background:#101010;border:1px solid #222;border-radius:16px;text-decoration:none}
.mox-ex-venue h3{margin:0 0 8px;font-size:var(--card-title,18px)}
.mox-ex-venue p{margin:0;font-size:var(--card-text,13px);line-height:1.6}
a.mox-ex-venue:hover{border-color:#3a3a3a}

/* Guide */
.mox-ex-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.mox-ex-guide-card{padding:22px;background:#101010;border:1px solid #222;border-radius:16px}
.mox-ex-guide-card h3{margin:0 0 8px;font-size:var(--card-title,18px)}
.mox-ex-guide-card p{margin:0;font-size:var(--card-text,13px);line-height:1.62}

/* Reviews */
.mox-ex-reviews-slot{margin-top:10px}
.mox-ex-reviews .mox-reviews-slot-empty{min-height:150px}

/* FAQ */
.mox-ex-faq-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:55px;align-items:start}
.mox-ex-faq .mox-ex-section-copy{font-size:var(--body,14px)}
.mox-ex-faq details{padding:20px 0;border-top:1px solid #242424;background:transparent}
.mox-ex-faq details:last-child{border-bottom:1px solid #242424}
.mox-ex-faq summary{display:flex;justify-content:space-between;gap:20px;color:#fff;font-size:var(--question,15px);font-weight:700;cursor:pointer;list-style:none}
.mox-ex-faq summary::-webkit-details-marker{display:none}
.mox-ex-faq summary:after{content:"+";color:var(--mox-red);font-size:20px;line-height:1}
.mox-ex-faq details[open] summary:after{content:"–"}
.mox-ex-faq details p{margin:12px 0 0;font-size:var(--answer,13px);line-height:1.65}

/* Final CTA */
.mox-ex-final-cta{position:relative;display:flex;align-items:center;min-height:var(--cta-h,560px);overflow:hidden;background:#050505}
.mox-ex-final-cta .mox-ex-cta-picture{position:absolute;inset:0;width:100%;height:100%}
.mox-ex-final-cta .mox-ex-cta-picture img{width:100%;height:100%;object-fit:cover;object-position:var(--cta-pos,50% 50%)}
.mox-ex-cta-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,var(--cta-overlay,.66)),rgba(0,0,0,.52))}
.mox-ex-final-inner{position:relative;z-index:2}
.mox-ex-final-cta .mox-ex-eyebrow{font-size:var(--cta-eyebrow,11px)}
.mox-ex-final-cta h2{max-width:900px;margin:0;font-size:var(--cta-heading,70px);line-height:1.02;letter-spacing:-.045em}
.mox-ex-final-cta p{max-width:650px;margin:20px 0 26px;color:#d0d0d0;font-size:var(--cta-text,15px);line-height:1.7}
.mox-ex-final-cta .mox-ex-btn{font-size:var(--cta-btn,13px)}

@media(max-width:1000px){
  .mox-ex-hero-grid,.mox-ex-intro-grid,.mox-ex-edit-grid,.mox-ex-bts-grid,.mox-ex-faq-grid{grid-template-columns:1fr}
  .mox-ex-hero-grid{gap:30px}
  .mox-ex-hero-side{max-width:680px}
  .mox-ex-coverage-grid,.mox-ex-why-grid,.mox-ex-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mox-ex-masonry{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mox-ex-gallery-p1,.mox-ex-gallery-p5,.mox-ex-gallery-p7{grid-column:span 2}
  .mox-ex-video-grid{grid-template-columns:1fr}
  .mox-ex-video-stack{grid-template-columns:1fr 1fr}
  .mox-ex-reels-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .mox-ex-process-grid,.mox-ex-venue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mox-ex-package-grid{grid-template-columns:1fr}
}

@media(max-width:700px){
  .mox-exhibition-page{font-size:var(--body-size-m)}
  .mox-exhibition-page .mox-ex-inner{width:min(var(--content-max),calc(100% - (var(--side-pad-m) * 2)))}
  .mox-exhibition-page .mox-ex-section{padding-top:var(--pt-m,68px);padding-bottom:var(--pb-m,68px)}
  .mox-exhibition-page .mox-ex-section h2{font-size:var(--heading-m,34px)}
  .mox-exhibition-page .mox-ex-btn{font-size:var(--button-size-m)}
  .mox-exhibition-page .mox-ex-section-head{display:block;margin-bottom:22px}
  .mox-exhibition-page .mox-ex-section-head>.mox-ex-btn{margin-top:14px}
  .mox-ex-hero{min-height:var(--hero-h-m,720px)}
  .mox-ex-hero .mox-ex-hero-picture img{object-position:var(--hero-pos-m,54% 50%)}
  .mox-ex-hero-inner{padding-top:var(--hero-pt-m,138px);padding-bottom:var(--hero-pb-m,44px)}
  .mox-ex-hero .mox-ex-eyebrow{font-size:var(--hero-eyebrow-m,11px)}
  .mox-ex-hero h1{font-size:var(--hero-title-m,46px);line-height:var(--hero-title-lh-m,.98)}
  .mox-ex-hero-side>p{font-size:var(--hero-text-m,15px);line-height:var(--hero-text-lh-m,1.65)}
  .mox-ex-hero .mox-ex-btn{font-size:var(--hero-btn-m,13px)}
  .mox-ex-hero-stats{grid-template-columns:1fr 1fr;gap:18px;margin-top:38px}
  .mox-ex-hero-stats strong{font-size:var(--hero-stat-m,16px)}
  .mox-ex-hero-stats span{font-size:var(--hero-stat-label-m,9px)}
  .mox-ex-proof-grid{grid-template-columns:1fr 1fr}
  .mox-ex-proof-grid>div{padding:var(--proof-py-m,15px) 14px;border-bottom:1px solid #222;font-size:var(--proof-size-m,10px)}
  .mox-ex-intro .mox-ex-eyebrow{font-size:var(--eyebrow-m,10px)}
  .mox-ex-intro h2{line-height:var(--heading-lh-m,1.06)}
  .mox-ex-intro .mox-ex-body{font-size:var(--text-m,15px);line-height:var(--text-lh-m,1.7)}
  .mox-ex-stats{grid-template-columns:1fr 1fr;gap:8px}
  .mox-ex-stat{padding:18px 14px}
  .mox-ex-stat strong{font-size:var(--stat-m,25px)}
  .mox-ex-stat span{font-size:var(--stat-label-m,9px)}
  .mox-ex-coverage .mox-ex-section-copy{font-size:var(--body-m,14px)}
  .mox-ex-coverage-grid{grid-template-columns:1fr;gap:var(--gap-m,10px)}
  .mox-ex-card-body h3{font-size:var(--card-title-m,18px)}
  .mox-ex-card-body p{font-size:var(--card-text-m,13px)}

  /* Mobile selected work mirrors homepage: full-width two-column imagery touching screen edges. */
  .mox-ex-gallery>.mox-ex-section-head{width:min(var(--content-max),calc(100% - (var(--side-pad-m) * 2)))}
  .mox-ex-masonry{grid-template-columns:1fr 1fr;grid-auto-rows:var(--row-h-m,160px);gap:var(--gap-m,5px);padding:0}
  .mox-ex-gallery-item{border-radius:0}
  .mox-ex-gallery-item img{object-position:var(--img-pos-m,50% 50%)}
  .mox-ex-gallery-p1,.mox-ex-gallery-p5,.mox-ex-gallery-p7{grid-column:span 2}
  .mox-ex-gallery-p2,.mox-ex-gallery-p6{grid-row:span 2}

  .mox-ex-video-grid{gap:var(--gap-m,10px)}
  .mox-ex-video-stack{grid-template-columns:1fr;gap:var(--gap-m,10px)}

  .mox-ex-reels .mox-reel-mobile-controls{display:flex;justify-content:flex-end;gap:7px;margin:-8px 0 12px}
  .mox-ex-reels .mox-reel-scroll-btn{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #2d2d2d;background:#111;color:#fff;border-radius:50%;cursor:pointer}
  .mox-ex-reels .mox-reel-scroll-btn:disabled{opacity:.35;cursor:default}
  .mox-ex-reels .mox-reel-scroll-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .mox-ex-reels-grid{display:flex;grid-template-columns:none;gap:var(--gap-m,12px);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 1px 6px}
  .mox-ex-reels-grid::-webkit-scrollbar{display:none}
  .mox-ex-reel{flex:0 0 min(78vw,310px);height:var(--reel-h-m,500px);scroll-snap-align:start}
  .mox-ex-reel-title{font-size:var(--title-size-m,11px)}

  .mox-ex-why-grid{grid-template-columns:1fr;gap:var(--gap-m,10px)}
  .mox-ex-why-card h3{font-size:var(--card-title-m,18px)}
  .mox-ex-why-card p{font-size:var(--card-text-m,13px)}
  .mox-ex-editing .mox-ex-section-copy{font-size:var(--body-m,14px)}
  .mox-before-after{height:var(--ba-h-m,330px)}
  .mox-ba-label{font-size:var(--label-m,10px)}
  .mox-ex-bts-grid{gap:36px}
  .mox-ex-bts-images{gap:var(--gap-m,7px)}
  .mox-ex-bts-images>div{height:var(--img-h-m,355px)}
  .mox-ex-bts-images>div:nth-child(2){transform:translateY(24px)}
  .mox-ex-bts .mox-ex-section-copy{font-size:var(--body-m,14px)}
  .mox-ex-checks{grid-template-columns:1fr}
  .mox-ex-checks>div{font-size:var(--check-m,12px)}
  .mox-ex-process-grid{grid-template-columns:1fr 1fr;gap:8px}
  .mox-ex-process-step{padding:18px 10px}
  .mox-ex-process-step h3{font-size:var(--step-title-m,17px)}
  .mox-ex-process-step p{font-size:var(--step-text-m,13px)}
  .mox-ex-packages .mox-ex-section-copy{font-size:var(--body-m,14px)}
  .mox-ex-package-grid{gap:var(--gap-m,10px)}
  .mox-ex-package h3{font-size:var(--card-title-m,18px)}
  .mox-ex-package ul{font-size:var(--points-m,13px)}
  .mox-ex-package-tag{font-size:var(--tag-m,10px)}
  .mox-ex-clients{padding-top:var(--pt-m,42px);padding-bottom:var(--pb-m,42px)}
  .mox-ex-clients .mox-ex-eyebrow{font-size:var(--eyebrow-m,10px)}
  .mox-ex-clients .mox-logo-sequence{gap:var(--gap-m,34px);padding-right:var(--gap-m,34px)}
  .mox-ex-clients .mox-client-logo{width:var(--logo-w-m,126px);height:var(--logo-h-m,60px)}
  .mox-ex-venue-grid,.mox-ex-guide-grid{grid-template-columns:1fr}
  .mox-ex-venue h3,.mox-ex-guide-card h3{font-size:var(--card-title-m,17px)}
  .mox-ex-venue p,.mox-ex-guide-card p{font-size:var(--card-text-m,13px)}
  .mox-ex-faq .mox-ex-section-copy{font-size:var(--body-m,14px)}
  .mox-ex-faq summary{font-size:var(--question-m,14px)}
  .mox-ex-faq details p{font-size:var(--answer-m,13px)}
  .mox-ex-final-cta{min-height:var(--cta-h-m,500px)}
  .mox-ex-final-cta .mox-ex-cta-picture img{object-position:var(--cta-pos-m,50% 50%)}
  .mox-ex-final-cta .mox-ex-eyebrow{font-size:var(--cta-eyebrow-m,10px)}
  .mox-ex-final-cta h2{font-size:var(--cta-heading-m,40px)}
  .mox-ex-final-cta p{font-size:var(--cta-text-m,14px)}
  .mox-ex-final-cta .mox-ex-btn{font-size:var(--cta-btn-m,13px)}
}

@media(max-width:430px){
  .mox-ex-process-grid{grid-template-columns:1fr}
}

/* Exhibition uses the same transparent-over-hero header behavior as the homepage. */
.mox-exhibition .mox-global-header{position:fixed;left:0;right:0;background:linear-gradient(to bottom,rgba(5,5,5,.88),rgba(5,5,5,.34) 72%,transparent);border-color:rgba(255,255,255,.09)}
.mox-exhibition .mox-global-header.is-scrolled{background:rgba(7,7,7,.96);border-color:rgba(255,255,255,.12)}


/* =========================================================
   Exhibition v18 refinements
   ========================================================= */

/* Proof strip: same information, slightly more premium card treatment. */
.mox-ex-proof{
  padding:12px 0;
  background:#090909;
  border-top:1px solid #191919;
  border-bottom:1px solid #1f1f1f;
}
.mox-ex-proof-grid{
  gap:10px;
}
.mox-ex-proof-grid>div{
  position:relative;
  display:flex;
  align-items:center;
  gap:11px;
  min-height:58px;
  padding:var(--proof-py,18px) 18px;
  border:1px solid #242424!important;
  border-radius:13px;
  background:linear-gradient(180deg,#121212,#0d0d0d);
  color:#eee;
}
.mox-ex-proof-mark{
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:var(--mox-red,#D70000);
  box-shadow:0 0 0 5px rgba(215,0,0,.09);
}

/* Coverage cards: images must always be visible before hover. */
.mox-ex-coverage-image{
  position:relative;
  isolation:isolate;
}
.mox-ex-coverage-image .mox-media-picture{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
}
.mox-ex-coverage-image img{
  opacity:1!important;
  visibility:visible!important;
  transform:scale(1);
  filter:brightness(.86) saturate(.98) contrast(1.02);
}
.mox-ex-coverage-card:hover .mox-ex-coverage-image img{
  transform:scale(1.045);
  filter:brightness(.92) saturate(1.1) contrast(1.05);
}

/* Selected Photos: match homepage flowing masonry instead of rigid grid tiles. */
.mox-ex-masonry{
  display:block!important;
  column-count:var(--cols,5);
  column-gap:var(--gap,10px);
  padding:0 var(--gap,10px);
  width:100%;
  box-sizing:border-box;
}
.mox-ex-gallery-item,
.mox-ex-gallery-p1,.mox-ex-gallery-p2,.mox-ex-gallery-p3,.mox-ex-gallery-p4,
.mox-ex-gallery-p5,.mox-ex-gallery-p6,.mox-ex-gallery-p7,.mox-ex-gallery-p8{
  display:block;
  width:100%;
  height:auto!important;
  min-height:0!important;
  grid-column:auto!important;
  grid-row:auto!important;
  break-inside:avoid;
  margin:0 0 var(--gap,10px);
  overflow:hidden;
  background:#111;
}
.mox-ex-gallery-item .mox-ex-flow-picture{
  display:block;
  position:static!important;
  inset:auto!important;
  width:100%;
  height:auto;
}
.mox-ex-gallery-item .mox-ex-flow-img{
  display:block;
  width:100%;
  height:auto!important;
  object-fit:initial!important;
  transform:scale(1);
  transition:transform .55s cubic-bezier(.2,.75,.25,1),filter .45s ease;
}
.mox-ex-gallery-item:hover .mox-ex-flow-img{
  transform:scale(1.025);
  filter:contrast(1.05);
}

/* Videography: give the cards real intrinsic space so thumbnails cannot collapse. */
.mox-ex-video-grid{
  align-items:stretch;
}
.mox-ex-video-main{
  aspect-ratio:16/9;
}
.mox-ex-video-stack{
  grid-template-rows:repeat(2,minmax(0,1fr));
}
.mox-ex-video-stack .mox-ex-video-card{
  aspect-ratio:16/9;
}
.mox-ex-video-card{
  min-height:160px;
}
.mox-ex-video-card .mox-media-picture{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  opacity:1!important;
}
.mox-ex-video-card img{
  position:relative;
  width:100%!important;
  height:100%!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  opacity:1!important;
}

/* Before/after: make the editing difference obvious on laptop and mobile. */
.mox-ba-before{
  background:#0a0a0a;
}
.mox-ba-before img{
  filter:saturate(.48) brightness(.68) contrast(.88) grayscale(.22)!important;
}
.mox-ba-before:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(20,35,55,.16),rgba(0,0,0,.12));
}
.mox-ba-after img{
  filter:saturate(1.22) brightness(1.08) contrast(1.11)!important;
}
.mox-ba-before .mox-media-picture,
.mox-ba-after .mox-media-picture{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  opacity:1!important;
}

/* BTS: both image slots retain their own positioning context. */
.mox-ex-bts-images>div{
  position:relative;
  isolation:isolate;
}
.mox-ex-bts-images>div .mox-media-picture{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  opacity:1!important;
}
.mox-ex-bts-images>div img{
  opacity:1!important;
}

/* Venue cards now include editable venue photography. */
.mox-ex-venue-grid{
  gap:var(--gap,12px);
}
.mox-ex-venue{
  padding:0!important;
  overflow:hidden;
  background:#101010;
  border:1px solid #222;
  border-radius:16px;
  transition:transform .3s ease,border-color .3s ease;
}
.mox-ex-venue:hover{
  transform:translateY(-3px);
  border-color:#363636;
}
.mox-ex-venue-image{
  position:relative;
  height:var(--img-h,230px);
  overflow:hidden;
  background:#161616;
}
.mox-ex-venue-image .mox-media-picture{
  position:absolute!important;
  inset:0!important;
  display:block!important;
}
.mox-ex-venue-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:var(--img-pos,50% 50%);
  transition:transform .55s ease,filter .45s ease;
}
.mox-ex-venue:hover .mox-ex-venue-image img{
  transform:scale(1.04);
  filter:contrast(1.04) saturate(1.06);
}
.mox-ex-venue-body{
  padding:20px 20px 22px;
}

/* Animate the clients area as well; marquee motion remains independent. */
.mox-ex-clients .mox-logo-marquee{
  transition-delay:.08s;
}

@media(max-width:1000px){
  .mox-ex-masonry{
    column-count:var(--cols-t,3);
  }
}

@media(max-width:640px){
  .mox-ex-proof{
    padding:8px 0;
  }
  .mox-ex-proof-grid{
    gap:7px;
  }
  .mox-ex-proof-grid>div{
    min-height:54px;
    padding:var(--proof-py-m,14px) 12px!important;
    border-bottom:1px solid #242424!important;
    font-size:var(--proof-size-m,10px);
  }
  .mox-ex-proof-mark{
    width:6px;height:6px;flex-basis:6px;
  }
  .mox-ex-masonry{
    column-count:var(--cols-m,2);
    column-gap:var(--gap-m,5px);
    padding:0;
  }
  .mox-ex-gallery-item{
    margin-bottom:var(--gap-m,5px);
  }
  .mox-ex-video-main,
  .mox-ex-video-stack .mox-ex-video-card{
    aspect-ratio:16/9;
  }
  .mox-ex-video-card{
    min-height:0;
  }
  .mox-ex-venue-grid{
    gap:var(--gap-m,10px);
  }
  .mox-ex-venue-image{
    height:var(--img-h-m,210px);
  }
  .mox-ex-venue-image img{
    object-position:var(--img-pos-m,50% 50%);
  }
}


/* v19 brand color + button system: every CTA / view-more button uses Mox #D70000. */
:root{--mox-red:#D70000!important}
.mox-btn,.mox-btn-outline,
.mox-exhibition-page .mox-ex-btn,.mox-exhibition-page .mox-ex-btn-red,
.mox-header-book,.mox-mobile-book,
.wp-block-button__link,.is-style-outline>.wp-block-button__link{
  background:var(--mox-red)!important;
  border-color:var(--mox-red)!important;
  color:#fff!important;
}
.mox-btn:hover,.mox-btn-outline:hover,
.mox-exhibition-page .mox-ex-btn:hover,.mox-exhibition-page .mox-ex-btn-red:hover,
.mox-header-book:hover,.mox-mobile-book:hover,
.wp-block-button__link:hover,.is-style-outline>.wp-block-button__link:hover{
  background:var(--mox-red)!important;
  border-color:var(--mox-red)!important;
  color:#fff!important;
  filter:brightness(.86);
}
.mox-play,.mox-ex-play{background:var(--mox-red)!important;color:#fff!important}
.mox-reel-scroll-btn:not([disabled]){background:var(--mox-red)!important;border-color:var(--mox-red)!important;color:#fff!important}
.mox-reel-scroll-btn:not([disabled]):hover{background:var(--mox-red)!important;filter:brightness(.86)}

/* v19 hero flow: heading first, description + buttons directly below on both pages. */
.mox-home .mox-html-hero-grid{display:block!important;max-width:1040px}
.mox-home .mox-hero-side{max-width:760px;border-left:0!important;border-top:0!important;padding:0!important;margin-top:30px!important}
.mox-home .mox-hero-side .mox-hero-copy{margin:0}
.mox-home .mox-hero-side .mox-html-buttons{margin-top:24px}
.mox-exhibition-page .mox-ex-hero-grid{display:block!important;max-width:1040px}
.mox-exhibition-page .mox-ex-hero-side{max-width:760px;padding:0!important;margin-top:30px!important}
.mox-exhibition-page .mox-ex-hero-side>p{margin:0}
.mox-exhibition-page .mox-ex-hero .mox-ex-actions{margin-top:24px}

@media(max-width:700px){
  .mox-home .mox-hero-side,.mox-exhibition-page .mox-ex-hero-side{margin-top:22px!important}
  .mox-home .mox-hero-side .mox-html-buttons,.mox-exhibition-page .mox-ex-hero .mox-ex-actions{margin-top:20px}
}

.mox-mobile-toggle{background:var(--mox-red)!important;border-color:var(--mox-red)!important;color:#fff!important}


/* =========================================================
   V21 category-page width, selective image reveals,
   video spacing, global preloader and page transitions.
   ========================================================= */

/* Category pages now use slug-specific templates, so the page starts directly
   with the Mox banner. This also protects against old generic page-template spacing. */
body.mox-category-page .wp-site-blocks > main,
body.mox-category-page .wp-block-post-content,
body.mox-exhibition .wp-site-blocks > main,
body.mox-exhibition .wp-block-post-content{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
body.mox-category-page .wp-block-post-title,
body.mox-exhibition .wp-block-post-title{display:none!important}

/* Laptop/desktop: the category landing canvas and hero touch the viewport edges.
   Inner text remains controlled by the page's editable content width.
   Mobile intentionally keeps the approved contained appearance. */
@media (min-width:701px){
  body.mox-category-page .mox-exhibition-page,
  body.mox-exhibition .mox-exhibition-page,
  body.mox-category-page .mox-ex-hero,
  body.mox-exhibition .mox-ex-hero,
  body.mox-category-page .mox-ex-final-cta,
  body.mox-exhibition .mox-ex-final-cta{
    width:100vw!important;
    max-width:none!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
  }

  /* A minimum desktop gap prevents the primary film and side films from touching,
     even if an older saved editor value was 0. */
  .mox-exhibition-page .mox-ex-video-grid{
    column-gap:max(18px,var(--gap,12px))!important;
    row-gap:max(18px,var(--gap,12px))!important;
  }
  .mox-exhibition-page .mox-ex-video-stack{
    gap:max(18px,var(--gap,12px))!important;
  }
}

/* Keep mobile exactly in the contained style the user approved. */
@media (max-width:700px){
  body.mox-category-page .mox-exhibition-page,
  body.mox-exhibition .mox-exhibition-page{
    width:100%!important;
    margin:0!important;
  }
  .mox-exhibition-page .mox-ex-video-grid{gap:var(--gap-m,10px)!important}
  .mox-exhibition-page .mox-ex-video-stack{gap:var(--gap-m,10px)!important}
}

/* Homepage-style curtain reveal is used only on selected service-page imagery. */
.mox-exhibition-page .mox-ex-coverage-image.mox-image-reveal,
.mox-exhibition-page .mox-ex-bts-images > .mox-image-reveal{
  position:relative;
  overflow:hidden;
}
.mox-exhibition-page .mox-ex-coverage-image.mox-image-reveal:after,
.mox-exhibition-page .mox-ex-bts-images > .mox-image-reveal:after{
  background:#080808;
  z-index:8;
}

/* Global Trustindex block for ordinary pages. */
.mox-global-reviews{background:#0b0b0b;border-top:1px solid rgba(255,255,255,.08);padding:78px 24px}
.mox-global-reviews-inner{max-width:1280px;margin:0 auto}
@media(max-width:700px){.mox-global-reviews{padding:58px 14px}}

/* Smooth first-load preloader + a separate curtain transition for internal navigation.
   The outgoing/incoming page transition is intentionally visually different from the loader. */
.mox-site-transition{
  display:none;position:fixed;inset:0;z-index:2147483000;overflow:hidden;
  place-items:center;background:#050505;visibility:visible;pointer-events:auto;
  transition:background .42s cubic-bezier(.22,.7,.2,1),visibility 0s;
}
html.mox-js .mox-site-transition{display:grid}
.mox-site-transition-inner{position:relative;z-index:3;display:grid;place-items:center;gap:18px;opacity:1;transform:translateY(0);transition:opacity .32s ease,transform .42s cubic-bezier(.22,.7,.2,1)}
.mox-site-transition-word{font:800 clamp(22px,2.1vw,34px)/1 "Montserrat",Arial,sans-serif;letter-spacing:-.045em;color:#fff}
.mox-site-transition-word span{color:#D70000}
.mox-site-transition-line{display:block;width:min(180px,38vw);height:2px;overflow:hidden;background:#202020;position:relative}
.mox-site-transition-line:after{content:"";position:absolute;inset:0;background:#D70000;transform:translateX(-102%);animation:moxLoaderLine 1.05s cubic-bezier(.65,0,.35,1) infinite}
@keyframes moxLoaderLine{0%{transform:translateX(-102%)}55%{transform:translateX(5%)}100%{transform:translateX(102%)}}

.mox-transition-panel{position:absolute;top:0;bottom:0;width:50.2%;z-index:2;background:#080808;will-change:transform;transition:transform .5s cubic-bezier(.76,0,.24,1)}
.mox-transition-panel-left{left:0;transform:translateX(-101%)}
.mox-transition-panel-right{right:0;transform:translateX(101%)}
.mox-transition-panel-left:after,.mox-transition-panel-right:after{content:"";position:absolute;top:0;bottom:0;width:3px;background:#D70000;opacity:.9}
.mox-transition-panel-left:after{right:0}.mox-transition-panel-right:after{left:0}

/* Direct/first visit: fade away the lightweight MOX loader. */
html.mox-site-ready:not(.mox-site-leaving):not(.mox-internal-arrival) .mox-site-transition{background:transparent;visibility:hidden;pointer-events:none;transition:background .42s ease,visibility 0s .5s}
html.mox-site-ready:not(.mox-site-leaving) .mox-site-transition-inner{opacity:0;transform:translateY(-7px)}

/* Leaving an existing page: two curtains close across the current page. */
html.mox-site-leaving .mox-site-transition{visibility:visible!important;pointer-events:auto!important;background:transparent!important;transition:none!important}
html.mox-site-leaving .mox-site-transition-inner{opacity:0!important;pointer-events:none}
html.mox-site-leaving .mox-transition-panel-left,
html.mox-site-leaving .mox-transition-panel-right{transform:translateX(0)}

/* Arrival after an internal click: page begins covered, then curtains open outward. */
html.mox-internal-arrival .mox-site-transition{background:transparent}
html.mox-internal-arrival:not(.mox-site-ready) .mox-transition-panel-left,
html.mox-internal-arrival:not(.mox-site-ready) .mox-transition-panel-right{transform:translateX(0)}
html.mox-internal-arrival .mox-site-transition-inner{opacity:0}
html.mox-internal-arrival.mox-site-ready .mox-site-transition{visibility:hidden;pointer-events:none;transition:visibility 0s .58s}
html.mox-internal-arrival.mox-site-ready .mox-transition-panel-left{transform:translateX(-101%)}
html.mox-internal-arrival.mox-site-ready .mox-transition-panel-right{transform:translateX(101%)}

@media(prefers-reduced-motion:reduce){
  .mox-site-transition,.mox-site-transition-inner,.mox-transition-panel{transition:none!important}
  .mox-site-transition-line:after{animation:none!important;transform:none!important}
}


/* =========================================================
   V22 category refinements: video breathing room, selective
   image curtains, and higher hero content placement.
   ========================================================= */

/* Laptop/desktop only: make the long-video frames a touch smaller and
   force comfortable breathing room between the main film and side films. */
@media (min-width:1001px){
  .mox-exhibition-page .mox-ex-video-grid{
    grid-template-columns:minmax(0,1.66fr) minmax(280px,.82fr)!important;
    column-gap:max(26px,var(--gap,12px))!important;
    row-gap:max(26px,var(--gap,12px))!important;
    align-items:stretch;
  }
  .mox-exhibition-page .mox-ex-video-main{
    width:calc(100% - 8px);
    justify-self:start;
  }
  .mox-exhibition-page .mox-ex-video-stack{
    width:calc(100% - 8px);
    justify-self:end;
    gap:max(22px,var(--gap,12px))!important;
  }

  /* Move the service-page hero content away from the bottom edge and into
     the middle zone of the banner while keeping all copy left-aligned. */
  .mox-exhibition-page .mox-ex-hero{
    align-items:center!important;
  }
}

/* The homepage-style curtain reveal is intentionally limited to all images
   inside What We Cover, Behind The Coverage and Dubai Coverage/Venues. */
.mox-exhibition-page .mox-ex-coverage-image.mox-image-reveal,
.mox-exhibition-page .mox-ex-bts-images > .mox-image-reveal,
.mox-exhibition-page .mox-ex-venue-image.mox-image-reveal{
  position:relative;
  overflow:hidden;
}
.mox-exhibition-page .mox-ex-coverage-image.mox-image-reveal:after,
.mox-exhibition-page .mox-ex-bts-images > .mox-image-reveal:after,
.mox-exhibition-page .mox-ex-venue-image.mox-image-reveal:after{
  background:#080808;
  z-index:8;
}

/* Keep the approved mobile layouts untouched. */
@media (max-width:1000px){
  .mox-exhibition-page .mox-ex-video-main,
  .mox-exhibition-page .mox-ex-video-stack{
    width:100%;
  }
}

/* =========================================================
   Mox Media v23 — Contact Page
   ========================================================= */
.mox-contact-page{background:#070707;color:#f7f7f7;overflow:hidden}.mox-contact-page *{box-sizing:border-box}.mox-contact-shell{width:min(1320px,calc(100% - 48px));margin:0 auto}.mox-contact-section{padding:92px 0}.mox-contact-eyebrow{color:var(--mox-contact-red,#D70000);font-weight:800;font-size:11px;letter-spacing:.22em;text-transform:uppercase;margin:0 0 12px}.mox-contact-page h1,.mox-contact-page h2,.mox-contact-page h3,.mox-contact-page p{font-family:Montserrat,Arial,sans-serif}.mox-contact-page h2{margin:0 0 18px;line-height:1.04;letter-spacing:-.04em}.mox-contact-page p{color:#a9a9a9;line-height:1.7}.mox-contact-section-head{max-width:850px;margin-bottom:34px}.mox-contact-section-head p{max-width:720px;margin:0}

.mox-contact-hero{position:relative;min-height:var(--contact-hero-h);display:flex;align-items:center;overflow:hidden}.mox-contact-hero-media,.mox-contact-hero-overlay{position:absolute;inset:0}.mox-contact-hero-media picture,.mox-contact-hero-media img{width:100%;height:100%;display:block}.mox-contact-hero-media img{object-fit:cover;object-position:var(--mox-contact-hero-pos)}.mox-contact-hero-fallback{width:100%;height:100%;background:radial-gradient(circle at 72% 34%,rgba(215,0,0,.26),transparent 30%),radial-gradient(circle at 28% 68%,rgba(73,73,73,.26),transparent 34%),linear-gradient(125deg,#111 0%,#070707 45%,#160305 100%)}.mox-contact-hero-overlay{background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.66) 42%,rgba(0,0,0,.2) 78%,rgba(0,0,0,.55) 100%),linear-gradient(0deg,rgba(0,0,0,.82),transparent 55%);opacity:var(--mox-contact-hero-overlay)}.mox-contact-hero-inner{position:relative;z-index:2;padding:150px 0 92px}.mox-contact-hero-inner h1{font-size:var(--contact-hero-title);line-height:.98;letter-spacing:-.055em;max-width:900px;margin:0 0 22px}.mox-contact-hero-inner p{font-size:var(--contact-hero-text);max-width:700px;color:#d3d3d3;margin:0}

.mox-contact-form-section{background:#090909}.mox-contact-form-grid{display:grid;grid-template-columns:.76fr 1.24fr;gap:66px;align-items:start}.mox-contact-form-copy h2{font-size:var(--contact-form-heading)}.mox-contact-form-copy p{font-size:var(--contact-form-body);max-width:530px}.mox-contact-form-card{background:#0d0d0d;border:1px solid #252525;border-radius:18px;padding:28px}.mox-contact-fields-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.mox-contact-form label,.mox-wa-grid label{display:block;color:#f5f5f5;font-weight:700;font-size:var(--contact-form-label);margin:0;text-transform:none}.mox-contact-form input,.mox-contact-form select,.mox-contact-form textarea,.mox-wa-grid input,.mox-wa-grid select{width:100%;margin-top:8px;border:1px solid #3a3a3a;background:#101010;color:#fff;border-radius:7px;padding:14px 15px;outline:0;transition:border-color .2s ease,box-shadow .2s ease}.mox-contact-form input,.mox-contact-form select,.mox-contact-form textarea{font-size:var(--contact-form-input)}.mox-contact-form input:focus,.mox-contact-form select:focus,.mox-contact-form textarea:focus,.mox-wa-grid input:focus,.mox-wa-grid select:focus{border-color:var(--mox-contact-red,#D70000);box-shadow:0 0 0 2px rgba(215,0,0,.13)}.mox-contact-form select,.mox-wa-grid select{appearance:auto}.mox-contact-message-label{margin-top:14px!important}.mox-contact-submit{margin-top:16px;width:100%;min-height:54px;border:0;border-radius:7px;background:var(--mox-contact-red,#D70000);color:#fff;font-weight:800;cursor:pointer;transition:transform .2s ease,filter .2s ease}.mox-contact-submit:hover{transform:translateY(-1px);filter:brightness(1.08)}.mox-contact-hp{position:absolute!important;left:-99999px!important;opacity:0!important;pointer-events:none!important}.mox-contact-notice{margin:0 0 18px;padding:13px 15px;border-radius:8px;font-size:13px}.mox-contact-notice.is-success{background:#0f2518;border:1px solid #1e5934;color:#c9f7d7}.mox-contact-notice.is-error{background:#291012;border:1px solid #69252a;color:#ffd4d7}

.mox-whatsapp-section{background:#070707}.mox-whatsapp-card{background:#080808;border:1px solid #151515;border-radius:18px;padding:42px;box-shadow:0 30px 80px rgba(0,0,0,.22)}.mox-whatsapp-eyebrow{display:flex;align-items:center;gap:16px;color:#fff;font-weight:800;font-size:11px;letter-spacing:.3em;text-transform:uppercase;margin-bottom:22px}.mox-whatsapp-eyebrow i{display:block;width:34px;height:2px;background:var(--mox-contact-red,#D70000)}.mox-whatsapp-card h2{font-size:var(--contact-wa-heading);margin:0 0 4px;max-width:800px}.mox-whatsapp-intro{font-size:var(--contact-wa-body);color:#e5e5e5!important;margin:0 0 34px!important}.mox-wa-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.mox-wa-grid label{font-size:var(--contact-wa-label)}.mox-wa-grid input,.mox-wa-grid select{font-size:16px;border-radius:4px;background:#111;min-height:54px}.mox-wa-submit{display:flex;align-items:center;justify-content:center;gap:13px;width:100%;min-height:58px;margin-top:22px;border:0;border-radius:4px;background:#25D366;color:#fff;font-weight:800;letter-spacing:.05em;cursor:pointer;transition:transform .2s ease,filter .2s ease}.mox-wa-submit:hover{transform:translateY(-1px);filter:brightness(1.05)}.mox-wa-icon{width:22px;height:22px;border:2px solid currentColor;border-radius:50%;display:inline-grid;place-items:center;font-size:0}.mox-wa-icon:after{content:'↗';font-size:12px;line-height:1}.mox-wa-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:30px}.mox-wa-benefits div{display:flex;align-items:center;justify-content:center;gap:10px;font-size:12px;color:#fff;font-weight:600}.mox-wa-benefits span{font-size:21px;color:#fff}

.mox-contact-details-section{background:#0a0a0a}.mox-contact-details-section .mox-contact-section-head h2{font-size:var(--contact-details-heading)}.mox-contact-details-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:28px}.mox-contact-details-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mox-contact-detail-card,.mox-contact-social-card{display:flex;flex-direction:column;justify-content:space-between;min-height:155px;padding:22px;border:1px solid #232323;background:#0f0f0f;border-radius:15px;color:#fff;text-decoration:none;transition:border-color .2s ease,transform .2s ease}.mox-contact-detail-card:hover{border-color:#3b3b3b;transform:translateY(-2px)}.mox-contact-detail-card span,.mox-contact-social-card>span{color:#8c8c8c;font-size:var(--contact-details-card-title);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.mox-contact-detail-card strong{font-size:var(--contact-details-card-text);line-height:1.45;max-width:300px;overflow-wrap:anywhere}.mox-contact-social-links{display:flex;flex-wrap:wrap;gap:8px}.mox-contact-social-links a{background:var(--mox-contact-red,#D70000);color:#fff;border-radius:999px;padding:8px 11px;text-decoration:none;font-size:11px;font-weight:700}.mox-contact-map-wrap{background:#0f0f0f;border:1px solid #232323;border-radius:15px;padding:18px}.mox-contact-map-wrap h3{margin:0 0 13px;font-size:16px}.mox-contact-map{height:100%;min-height:335px;overflow:hidden;border-radius:10px}.mox-contact-map iframe{width:100%;height:100%;min-height:335px;border:0;display:block;filter:grayscale(1) brightness(.78) contrast(1.05)}

.mox-contact-reviews-section{background:#070707}.mox-contact-reviews-section .mox-contact-section-head h2{font-size:var(--contact-reviews-heading)}.mox-contact-reviews-slot{min-height:120px}.mox-contact-faq-section{background:#0a0a0a}.mox-contact-faq-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:58px;align-items:start}.mox-contact-faq-section .mox-contact-section-head h2{font-size:var(--contact-faq-heading)}.mox-contact-faq-list details{border-top:1px solid #292929;padding:20px 0}.mox-contact-faq-list details:last-child{border-bottom:1px solid #292929}.mox-contact-faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:18px;color:#fff;font-size:var(--contact-faq-q);font-weight:700}.mox-contact-faq-list summary::-webkit-details-marker{display:none}.mox-contact-faq-list summary:after{content:'+';color:var(--mox-contact-red,#D70000);font-size:20px}.mox-contact-faq-list details[open] summary:after{content:'–'}.mox-contact-faq-list details p{font-size:var(--contact-faq-a);margin:12px 0 0;max-width:760px}

@media(max-width:900px){.mox-contact-form-grid,.mox-contact-details-grid,.mox-contact-faq-grid{grid-template-columns:1fr}.mox-contact-form-grid{gap:34px}.mox-contact-details-grid{gap:16px}.mox-contact-map{min-height:300px}.mox-contact-map iframe{min-height:300px}}
@media(max-width:700px){.mox-contact-shell{width:min(100% - 28px,1320px)}.mox-contact-section{padding:64px 0}.mox-contact-hero{min-height:var(--contact-hero-h-m);margin:14px;border-radius:16px}.mox-contact-hero-media img{object-position:var(--mox-contact-hero-pos-m)}.mox-contact-hero-inner{padding:120px 18px 56px}.mox-contact-hero-inner h1{font-size:var(--contact-hero-title-m);max-width:100%}.mox-contact-hero-inner p{font-size:var(--contact-hero-text-m)}.mox-contact-form-copy h2{font-size:var(--contact-form-heading-m)}.mox-contact-form-copy p{font-size:var(--contact-form-body-m)}.mox-contact-form label{font-size:var(--contact-form-label-m)}.mox-contact-form input,.mox-contact-form select,.mox-contact-form textarea{font-size:var(--contact-form-input-m)}.mox-contact-fields-2,.mox-wa-grid,.mox-contact-details-cards,.mox-wa-benefits{grid-template-columns:1fr}.mox-contact-form-card{padding:18px}.mox-whatsapp-card{padding:28px 18px}.mox-whatsapp-card h2{font-size:var(--contact-wa-heading-m)}.mox-whatsapp-intro{font-size:var(--contact-wa-body-m)}.mox-wa-grid label{font-size:var(--contact-wa-label-m)}.mox-wa-benefits{gap:12px}.mox-wa-benefits div{justify-content:flex-start}.mox-contact-details-section .mox-contact-section-head h2{font-size:var(--contact-details-heading-m)}.mox-contact-detail-card span,.mox-contact-social-card>span{font-size:var(--contact-details-card-title-m)}.mox-contact-detail-card strong{font-size:var(--contact-details-card-text-m)}.mox-contact-reviews-section .mox-contact-section-head h2{font-size:var(--contact-reviews-heading-m)}.mox-contact-faq-section .mox-contact-section-head h2{font-size:var(--contact-faq-heading-m)}.mox-contact-faq-list summary{font-size:var(--contact-faq-q-m)}.mox-contact-faq-list details p{font-size:var(--contact-faq-a-m)}}
.mox-wa-benefits svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:0 0 22px}.mox-wa-benefits svg:first-child{fill:#fff;stroke:none}

/* =========================================================
   V25 contact reliability + desktop transitions + social icons
   ========================================================= */

/* Contact hero must never wait on scroll-reveal JS. Give it an immediate
   visual background and keep the copy visible from first paint. */
.mox-contact-hero{
  background:
    radial-gradient(circle at 72% 34%,rgba(215,0,0,.22),transparent 30%),
    radial-gradient(circle at 28% 68%,rgba(80,80,80,.20),transparent 34%),
    linear-gradient(125deg,#111 0%,#070707 45%,#160305 100%);
  isolation:isolate;
}
.mox-contact-hero-media{z-index:0;background:#090909}
.mox-contact-hero-media picture,
.mox-contact-hero-media img{position:absolute;inset:0;width:100%;height:100%}
.mox-contact-hero-media img{opacity:1;visibility:visible;transform:none!important}
.mox-contact-hero-overlay{z-index:1}
.mox-contact-hero-inner{
  z-index:2!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  transition:none!important;
}

/* Contact social buttons: icon + label, consistent Mox red. */
.mox-contact-social-links a{
  display:inline-flex!important;
  align-items:center;
  gap:7px;
  min-height:38px;
  padding:8px 12px!important;
}
.mox-contact-social-links a svg{
  width:17px;
  height:17px;
  flex:0 0 17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.mox-contact-social-links a span{color:inherit;font-size:inherit;font-weight:inherit;letter-spacing:0;text-transform:none}

/* Make desktop curtain motion visibly smoother and more GPU-friendly. */
.mox-transition-panel{
  transform-style:preserve-3d;
  backface-visibility:hidden;
  contain:paint;
}
@media(min-width:901px){
  .mox-transition-panel-left{transform:translate3d(-101%,0,0)}
  .mox-transition-panel-right{transform:translate3d(101%,0,0)}
  html.mox-site-leaving .mox-transition-panel-left,
  html.mox-site-leaving .mox-transition-panel-right{transform:translate3d(0,0,0)}
  html.mox-internal-arrival.mox-site-ready .mox-transition-panel-left{transform:translate3d(-101%,0,0)}
  html.mox-internal-arrival.mox-site-ready .mox-transition-panel-right{transform:translate3d(101%,0,0)}
}


/* =========================================================
   V27 — Contact hero rebuild + desktop motion system
   ========================================================= */

/* Contact banner is rebuilt with the same reliable native image structure used
   by the Homepage hero. It paints immediately and never depends on reveal JS. */
.mox-contact-page .mox-contact-hero-v27{
  position:relative!important;
  min-height:var(--contact-hero-h)!important;
  display:flex!important;
  align-items:center!important;
  overflow:hidden!important;
  isolation:isolate;
  background:#090909!important;
}
.mox-contact-page .mox-contact-hero-v27>.mox-media-picture{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  z-index:0!important;
  opacity:1!important;
  visibility:visible!important;
}
.mox-contact-page .mox-contact-hero-v27>.mox-media-picture .mox-media-img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:var(--mox-contact-hero-pos)!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
}
.mox-contact-page .mox-contact-hero-overlay-v27{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  display:block!important;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.67) 43%,rgba(0,0,0,.24) 76%,rgba(0,0,0,.52) 100%),linear-gradient(0deg,rgba(0,0,0,.72),transparent 56%);
  opacity:var(--mox-contact-hero-overlay);
}
.mox-contact-page .mox-contact-hero-inner-v27{
  position:relative!important;
  z-index:2!important;
  width:min(1320px,calc(100% - 48px));
  margin:0 auto!important;
  padding:150px 0 92px!important;
  color:#fff!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  filter:none!important;
}
.mox-contact-page .mox-contact-hero-inner-v27 .mox-contact-eyebrow{
  display:block!important;
  color:#D70000!important;
  opacity:1!important;
  visibility:visible!important;
}
.mox-contact-page .mox-contact-hero-inner-v27 h1{
  display:block!important;
  max-width:900px;
  margin:0 0 22px!important;
  font-size:var(--contact-hero-title)!important;
  line-height:.98!important;
  letter-spacing:-.055em!important;
  color:#fff!important;
  opacity:1!important;
  visibility:visible!important;
}
.mox-contact-page .mox-contact-hero-inner-v27 p{
  display:block!important;
  max-width:700px;
  margin:0!important;
  font-size:var(--contact-hero-text)!important;
  line-height:1.65!important;
  color:#d3d3d3!important;
  opacity:1!important;
  visibility:visible!important;
}

/* Desktop: one single GPU-transformed wipe replaces the two-panel curtain.
   Mobile keeps the already-approved two-panel transition. */
.mox-desktop-wipe{display:none}
@media(min-width:901px){
  .mox-transition-panel{display:none!important}
  .mox-desktop-wipe{
    display:block;
    position:absolute;
    inset:0;
    z-index:2;
    background:#080808;
    transform:translate3d(-101%,0,0);
    will-change:transform;
    backface-visibility:hidden;
    contain:paint;
  }
  .mox-desktop-wipe:after{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    right:0;
    width:3px;
    background:#D70000;
    box-shadow:0 0 26px rgba(215,0,0,.42);
  }
  html.mox-internal-arrival .mox-desktop-wipe{transform:translate3d(0,0,0)}

  /* Slower desktop section motion. */
  .mox-reveal{
    transform:translate3d(0,38px,0) scale(.992)!important;
    filter:blur(1.5px);
    transition:opacity 1.08s ease,transform 1.28s cubic-bezier(.16,.78,.18,1),filter 1.05s ease!important;
    will-change:opacity,transform,filter;
  }
  .mox-reveal.is-visible{transform:translate3d(0,0,0) scale(1)!important;filter:none!important}
  .mox-image-reveal:after{
    transition-duration:1.22s!important;
    transition-timing-function:cubic-bezier(.7,0,.2,1)!important;
  }
}

@media(max-width:700px){
  .mox-contact-page .mox-contact-hero-v27{
    min-height:var(--contact-hero-h-m)!important;
    margin:14px!important;
    border-radius:16px!important;
  }
  .mox-contact-page .mox-contact-hero-v27>.mox-media-picture .mox-media-img{object-position:var(--mox-contact-hero-pos-m)!important}
  .mox-contact-page .mox-contact-hero-inner-v27{
    width:100%;
    padding:120px 18px 56px!important;
  }
  .mox-contact-page .mox-contact-hero-inner-v27 h1{font-size:var(--contact-hero-title-m)!important}
  .mox-contact-page .mox-contact-hero-inner-v27 p{font-size:var(--contact-hero-text-m)!important}
}

/* =========================================================
   V28 — robust Contact hero + clearly visible desktop motion
   ========================================================= */

/* Contact now paints its banner as a native section background. This removes
   the positioned-picture race that could leave a black hero until repaint. */
.mox-contact-page .mox-contact-hero-v28{
  position:relative!important;
  min-height:var(--contact-hero-h)!important;
  display:flex!important;
  align-items:center!important;
  overflow:hidden!important;
  isolation:isolate;
  background-color:#090909!important;
  background-image:var(--mox-contact-hero-bg),radial-gradient(circle at 74% 32%,rgba(215,0,0,.22),transparent 30%),linear-gradient(125deg,#111,#070707 48%,#160305)!important;
  background-size:cover,auto,auto!important;
  background-repeat:no-repeat!important;
  background-position:var(--mox-contact-hero-pos),center,center!important;
}
.mox-contact-page .mox-contact-hero-overlay-v28{
  position:absolute!important;inset:0!important;z-index:1!important;display:block!important;pointer-events:none;
  background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.66) 43%,rgba(0,0,0,.22) 76%,rgba(0,0,0,.52) 100%),linear-gradient(0deg,rgba(0,0,0,.72),transparent 56%);
  opacity:var(--mox-contact-hero-overlay);
}
.mox-contact-page .mox-contact-hero-inner-v28{
  position:relative!important;z-index:2!important;width:min(1320px,calc(100% - 48px));margin:0 auto!important;
  padding:150px 0 92px!important;color:#fff!important;opacity:1!important;visibility:visible!important;transform:none!important;filter:none!important;
}
.mox-contact-page .mox-contact-hero-inner-v28 .mox-contact-eyebrow{display:block!important;color:#D70000!important;opacity:1!important;visibility:visible!important}
.mox-contact-page .mox-contact-hero-inner-v28 h1{display:block!important;max-width:900px;margin:0 0 22px!important;font-size:var(--contact-hero-title)!important;line-height:.98!important;letter-spacing:-.055em!important;color:#fff!important;opacity:1!important;visibility:visible!important}
.mox-contact-page .mox-contact-hero-inner-v28 p{display:block!important;max-width:700px;margin:0!important;font-size:var(--contact-hero-text)!important;line-height:1.65!important;color:#d3d3d3!important;opacity:1!important;visibility:visible!important}

@media(max-width:700px){
  .mox-contact-page .mox-contact-hero-v28{
    min-height:var(--contact-hero-h-m)!important;
    margin:14px!important;border-radius:16px!important;
    background-image:var(--mox-contact-hero-bg-m,var(--mox-contact-hero-bg)),radial-gradient(circle at 72% 32%,rgba(215,0,0,.22),transparent 30%),linear-gradient(125deg,#111,#070707 48%,#160305)!important;
    background-position:var(--mox-contact-hero-pos-m),center,center!important;
  }
  .mox-contact-page .mox-contact-hero-inner-v28{width:100%;padding:120px 18px 56px!important}
  .mox-contact-page .mox-contact-hero-inner-v28 h1{font-size:var(--contact-hero-title-m)!important}
  .mox-contact-page .mox-contact-hero-inner-v28 p{font-size:var(--contact-hero-text-m)!important}
}

/* Desktop transitions must be visible on a black website. The outgoing wipe is
   intentionally lighter than the page, with a strong red edge and MOX wordmark. */
@media(min-width:901px){
  html.mox-internal-arrival .mox-site-transition{
    visibility:hidden!important;pointer-events:none!important;background:transparent!important;
  }
  .mox-desktop-wipe{
    background:linear-gradient(110deg,#111 0%,#171717 48%,#0d0d0d 100%)!important;
    box-shadow:24px 0 80px rgba(0,0,0,.35);
  }
  .mox-desktop-wipe:before{
    content:"MOX MEDIA";
    position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
    color:#fff;font:800 clamp(24px,2.2vw,38px)/1 Montserrat,Arial,sans-serif;letter-spacing:-.045em;
    opacity:.92;white-space:nowrap;
  }
  .mox-desktop-wipe:after{width:5px!important;box-shadow:0 0 34px rgba(215,0,0,.72)!important}

  /* More readable, slower desktop section reveals. Mobile remains unchanged. */
  .mox-reveal{
    opacity:0!important;
    transform:translate3d(0,66px,0) scale(.988)!important;
    filter:blur(2px)!important;
    transition:opacity 1.22s ease,transform 1.42s cubic-bezier(.16,.78,.18,1),filter 1.18s ease!important;
    will-change:opacity,transform,filter;
  }
  .mox-reveal.is-visible{opacity:1!important;transform:translate3d(0,0,0) scale(1)!important;filter:none!important}
  .mox-image-reveal:after{transition-duration:1.42s!important;transition-timing-function:cubic-bezier(.7,0,.2,1)!important}

  /* Incoming desktop navigation no longer covers the new page. Instead the page
     itself settles softly into place, so the hero is visible immediately. */
  html.mox-internal-arrival body>.wp-site-blocks{
    animation:moxDesktopPageInV28 .95s cubic-bezier(.16,.78,.18,1) both;
  }
  @keyframes moxDesktopPageInV28{
    from{opacity:.42;transform:translate3d(0,18px,0)}
    to{opacity:1;transform:translate3d(0,0,0)}
  }
}

/* =========================================================
   V29 — Contact page rebuilt from zero using the same proven
   hero/image structure as the Homepage and category pages.
   ========================================================= */
body.mox-contact .wp-site-blocks > main,
body.mox-contact .wp-block-post-content{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
body.mox-contact .wp-block-post-title{display:none!important}

.mox-contact-v29{
  width:100%;
  max-width:none;
  margin:0;
  background:#070707;
}
.mox-contact-v29 .mox-contact-v29-hero{
  width:100%;
  max-width:none;
  margin:0;
  background:#080808;
}
.mox-contact-v29 .mox-contact-v29-hero-copy{
  max-width:900px;
}
.mox-contact-v29 .mox-contact-v29-hero-copy h1{
  max-width:900px;
  margin:0;
  font-size:var(--hero-title,72px);
  line-height:var(--hero-title-lh,.98);
  letter-spacing:-.055em;
}
.mox-contact-v29 .mox-contact-v29-hero-text{
  max-width:710px;
  margin:24px 0 0;
  color:#d3d3d3;
  font-size:var(--hero-text,17px);
  line-height:var(--hero-text-lh,1.65);
}

/* Keep all rebuilt contact sections visually aligned with the Mox service pages. */
.mox-contact-v29 .mox-contact-section{position:relative}
.mox-contact-v29 .mox-contact-shell{width:min(1320px,calc(100% - 64px));margin:0 auto}
.mox-contact-v29 .mox-contact-form-section{background:#080808}
.mox-contact-v29 .mox-whatsapp-section{background:#070707}
.mox-contact-v29 .mox-contact-details-section{background:#0a0a0a}
.mox-contact-v29 .mox-contact-reviews-section{background:#070707}
.mox-contact-v29 .mox-contact-faq-section{background:#0a0a0a}

/* Use exactly the footer-style circular icons on the Contact page. */
.mox-contact-v29 .mox-contact-v29-socials{
  display:flex!important;
  align-items:center;
  gap:10px;
}
.mox-contact-v29 .mox-contact-v29-socials a{
  width:42px!important;
  height:42px!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:50%!important;
  background:transparent!important;
  color:#fff!important;
  display:grid!important;
  place-items:center!important;
}
.mox-contact-v29 .mox-contact-v29-socials a:hover{
  border-color:#D70000!important;
  color:#D70000!important;
  transform:translateY(-2px);
}
.mox-contact-v29 .mox-contact-v29-socials svg{
  display:block!important;
  width:20px!important;
  height:20px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.7!important;
}

.mox-contact-v29 .mox-wa-submit svg{
  width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;
}

/* The rebuilt hero uses the normal eager <picture> path, never a CSS background. */
.mox-contact-v29 .mox-ex-hero-picture,
.mox-contact-v29 .mox-ex-hero-picture picture{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
}
.mox-contact-v29 .mox-ex-hero-picture img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  opacity:1!important;
  visibility:visible!important;
}

@media(min-width:701px){
  body.mox-contact .mox-contact-v29,
  body.mox-contact .mox-contact-v29-hero{
    width:100vw!important;
    max-width:none!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
  }
}

@media(max-width:700px){
  .mox-contact-v29 .mox-contact-shell{width:min(100% - 28px,1320px)}
  .mox-contact-v29 .mox-contact-v29-hero-copy h1{font-size:var(--hero-title-m,42px);line-height:var(--hero-title-lh-m,1.02)}
  .mox-contact-v29 .mox-contact-v29-hero-text{font-size:var(--hero-text-m,15px);line-height:var(--hero-text-lh-m,1.65);margin-top:18px}
}
\n\n/* v30: Contact Details must render immediately on desktop and mobile.\n   This section intentionally does NOT wait for IntersectionObserver/reveal animations. */\n.mox-contact-page .mox-contact-details-section .mox-contact-section-head,\n.mox-contact-page .mox-contact-details-section .mox-contact-details-cards,\n.mox-contact-page .mox-contact-details-section .mox-contact-map-wrap,\n.mox-contact-page .mox-contact-details-section .mox-contact-detail-card,\n.mox-contact-page .mox-contact-details-section .mox-contact-social-card{\n  opacity:1!important;\n  visibility:visible!important;\n  transform:none!important;\n  clip-path:none!important;\n  mask-image:none!important;\n  -webkit-mask-image:none!important;\n  transition:none!important;\n}\n.mox-contact-page .mox-contact-details-section .mox-contact-map-wrap::before,\n.mox-contact-page .mox-contact-details-section .mox-contact-map-wrap::after{\n  display:none!important;\n}\n
/* =========================================================
   V31 — Central Portfolio Library + Our Work pages
   ========================================================= */
body.mox-portfolio-body .wp-site-blocks > main,
body.mox-portfolio-body .wp-block-post-content{
  width:100%!important;max-width:none!important;margin:0!important;padding:0!important;
}
body.mox-portfolio-body .wp-block-post-title{display:none!important}
.mox-portfolio-page{--mox-red:#D70000;background:#070707;color:#fff;min-height:100vh;width:100%;max-width:none}
.mox-portfolio-hero{position:relative;min-height:var(--portfolio-hero-h);display:flex;align-items:center;overflow:hidden;background:#090909}
.mox-portfolio-hero-picture,.mox-portfolio-hero-picture img{position:absolute;inset:0;width:100%;height:100%}
.mox-portfolio-hero-picture img{object-fit:cover}
.mox-portfolio-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.93) 0%,rgba(0,0,0,.65) 48%,rgba(0,0,0,.24) 78%,rgba(0,0,0,.5) 100%),linear-gradient(0deg,rgba(0,0,0,.68),transparent 58%);opacity:var(--portfolio-overlay)}
.mox-portfolio-hero-inner{position:relative;z-index:2;width:min(1320px,calc(100% - 64px));margin:0 auto;padding:150px 0 86px}
.mox-portfolio-hero-copy{max-width:900px}
.mox-portfolio-hero .mox-eyebrow{margin:0 0 14px;color:#D70000;font-size:12px;line-height:1.3;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.mox-portfolio-hero h1{margin:0;max-width:950px;font-size:clamp(48px,6.2vw,88px);line-height:.96;letter-spacing:-.055em}
.mox-portfolio-hero-copy>p:last-child{max-width:720px;margin:24px 0 0;color:#d0d0d0;font-size:17px;line-height:1.65}

.mox-portfolio-toolbar{position:sticky;top:78px;z-index:18;background:rgba(7,7,7,.93);backdrop-filter:blur(14px);border-bottom:1px solid #1d1d1d;padding:15px 24px}
.mox-portfolio-filter-scroll{display:flex;justify-content:center;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 0}
.mox-portfolio-filter-scroll::-webkit-scrollbar{display:none}
.mox-portfolio-filter{flex:0 0 auto;border:1px solid #2d2d2d;background:#101010;color:#bdbdbd;padding:10px 15px;border-radius:999px;font:600 12px/1 Montserrat,Arial,sans-serif;cursor:pointer;transition:.25s ease}
.mox-portfolio-filter:hover{color:#fff;border-color:#555;transform:translateY(-1px)}
.mox-portfolio-filter.is-active{background:#D70000;border-color:#D70000;color:#fff}

/* Photography is intentionally full-bleed. */
.mox-portfolio-photo-grid{width:100vw;max-width:none;margin:0 calc(50% - 50vw);padding:7px;column-count:var(--portfolio-cols);column-gap:7px}
.mox-portfolio-photo-item{display:block;width:100%;border:0;padding:0;margin:0 0 7px;background:#111;cursor:zoom-in;break-inside:avoid;overflow:hidden;position:relative}
.mox-portfolio-photo-item img{display:block;width:100%;height:auto;transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .4s ease}
.mox-portfolio-photo-item:hover img{transform:scale(1.025);filter:brightness(.88)}

.mox-portfolio-video-grid{width:min(1480px,calc(100% - 56px));margin:0 auto;padding:58px 0 18px;display:grid;grid-template-columns:repeat(var(--portfolio-cols),minmax(0,1fr));gap:26px}
.mox-portfolio-video-item{min-width:0}
.mox-portfolio-video-frame{position:relative;aspect-ratio:16/9;overflow:hidden;background:#111;border-radius:14px;border:1px solid #202020;cursor:pointer}
.mox-portfolio-video-frame img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .35s ease}
.mox-portfolio-video-frame:hover img{transform:scale(1.025);filter:brightness(.82)}
.mox-portfolio-video-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.48),rgba(0,0,0,.02) 62%);pointer-events:none}
.mox-portfolio-video-item h2{font-size:15px;line-height:1.4;margin:12px 2px 0;font-weight:600;color:#e8e8e8}
.mox-portfolio-page .mox-play{background:#D70000!important;color:#fff!important;border-color:#D70000!important}

.mox-portfolio-reel-grid{width:min(1480px,calc(100% - 56px));margin:0 auto;padding:58px 0 18px;display:grid;grid-template-columns:repeat(var(--portfolio-cols),minmax(0,1fr));gap:18px}
.mox-portfolio-reel-item{min-width:0}
.mox-portfolio-reel-frame{position:relative;aspect-ratio:9/16;overflow:hidden;background:#111;border-radius:16px;border:1px solid #202020;cursor:pointer}
.mox-portfolio-reel-frame img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .35s ease}
.mox-portfolio-reel-frame:hover img{transform:scale(1.025);filter:brightness(.82)}
.mox-portfolio-reel-item h2{font-size:14px;line-height:1.35;margin:11px 2px 0;font-weight:600;color:#e8e8e8}

.mox-portfolio-more-wrap{display:flex;justify-content:center;padding:34px 20px 80px}
.mox-portfolio-load-more{background:#D70000!important;border-color:#D70000!important;color:#fff!important;min-width:150px}
.mox-portfolio-empty{width:min(1320px,calc(100% - 48px));margin:0 auto;padding:90px 0;text-align:center}
.mox-portfolio-item-hidden{display:none!important}

.mox-portfolio-lightbox{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.94);display:grid;place-items:center;padding:34px}
.mox-portfolio-lightbox[hidden]{display:none!important}
.mox-portfolio-lightbox img{display:block;max-width:min(92vw,1600px);max-height:88vh;width:auto;height:auto;object-fit:contain;box-shadow:0 20px 90px rgba(0,0,0,.65)}
.mox-lightbox-close,.mox-lightbox-prev,.mox-lightbox-next{position:absolute;border:1px solid rgba(255,255,255,.2);background:rgba(10,10,10,.8);color:#fff;display:grid;place-items:center;cursor:pointer;z-index:2}
.mox-lightbox-close{right:22px;top:20px;width:44px;height:44px;border-radius:50%;font-size:30px;line-height:1}
.mox-lightbox-prev,.mox-lightbox-next{top:50%;transform:translateY(-50%);width:48px;height:64px;border-radius:12px;font-size:34px}
.mox-lightbox-prev{left:20px}.mox-lightbox-next{right:20px}

@media(max-width:900px){
  .mox-portfolio-toolbar{top:70px;padding-inline:14px}
  .mox-portfolio-filter-scroll{justify-content:flex-start}
}
@media(max-width:700px){
  .mox-portfolio-hero{min-height:var(--portfolio-hero-h-m);margin:14px;border-radius:16px}
  .mox-portfolio-hero-inner{width:100%;padding:116px 18px 48px}
  .mox-portfolio-hero h1{font-size:clamp(39px,12vw,54px)}
  .mox-portfolio-hero-copy>p:last-child{font-size:15px;margin-top:18px}
  .mox-portfolio-photo-grid{padding:4px;column-count:var(--portfolio-cols-m);column-gap:4px}
  .mox-portfolio-photo-item{margin-bottom:4px}
  .mox-portfolio-video-grid{width:min(100% - 28px,1480px);padding-top:36px;grid-template-columns:repeat(var(--portfolio-cols-m),minmax(0,1fr));gap:20px}
  .mox-portfolio-video-frame{border-radius:12px}
  .mox-portfolio-reel-grid{width:min(100% - 28px,560px);padding-top:36px;grid-template-columns:repeat(var(--portfolio-cols-m),minmax(0,1fr));gap:24px}
  .mox-portfolio-reel-frame{border-radius:16px}
  .mox-portfolio-reel-item h2{font-size:14px;margin-top:10px}
  .mox-portfolio-lightbox{padding:16px}
  .mox-lightbox-prev,.mox-lightbox-next{width:40px;height:56px}.mox-lightbox-prev{left:8px}.mox-lightbox-next{right:8px}
}


/* =========================================================
   V32 — Portfolio video/reel play controls
   ========================================================= */
/* The shared .mox-html-video-card rule is flex-based for the homepage.
   Portfolio thumbnails must behave as standalone media frames instead. */
.mox-portfolio-page .mox-portfolio-video-frame.mox-html-video-card,
.mox-portfolio-page .mox-portfolio-reel-frame.mox-html-video-card{
  display:block!important;
  align-items:initial!important;
  justify-content:initial!important;
}
.mox-portfolio-page .mox-portfolio-video-frame .mox-media-picture,
.mox-portfolio-page .mox-portfolio-reel-frame .mox-media-picture{
  display:block!important;
  width:100%!important;
  height:100%!important;
}
.mox-portfolio-page .mox-portfolio-video-frame .mox-media-picture img,
.mox-portfolio-page .mox-portfolio-reel-frame .mox-media-picture img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.mox-portfolio-page .mox-portfolio-video-frame .mox-play,
.mox-portfolio-page .mox-portfolio-reel-frame .mox-play{
  position:absolute!important;
  top:50%!important;
  left:50%!important;
  right:auto!important;
  bottom:auto!important;
  z-index:6!important;
  margin:0!important;
  width:56px!important;
  height:56px!important;
  transform:translate(-50%,-50%)!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:#D70000!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 10px 28px rgba(0,0,0,.38)!important;
  pointer-events:none!important;
  transition:transform .28s ease,box-shadow .28s ease,background .28s ease!important;
}
.mox-portfolio-page .mox-portfolio-reel-frame .mox-play{
  width:52px!important;
  height:52px!important;
}
.mox-portfolio-page .mox-portfolio-video-frame .mox-play svg,
.mox-portfolio-page .mox-portfolio-reel-frame .mox-play svg{
  width:25px!important;
  height:25px!important;
  display:block!important;
  fill:currentColor!important;
  margin-left:2px!important;
}
.mox-portfolio-page .mox-portfolio-video-frame:hover .mox-play,
.mox-portfolio-page .mox-portfolio-reel-frame:hover .mox-play{
  transform:translate(-50%,-50%) scale(1.07)!important;
  box-shadow:0 13px 34px rgba(215,0,0,.25),0 10px 28px rgba(0,0,0,.42)!important;
}
.mox-portfolio-page .mox-portfolio-video-shade{z-index:3!important}
@media(max-width:700px){
  .mox-portfolio-page .mox-portfolio-video-frame .mox-play,
  .mox-portfolio-page .mox-portfolio-reel-frame .mox-play{width:50px!important;height:50px!important}
  .mox-portfolio-page .mox-portfolio-video-frame .mox-play svg,
  .mox-portfolio-page .mox-portfolio-reel-frame .mox-play svg{width:22px!important;height:22px!important}
}

/* =========================================================
   V33 — About Us, All Services, Blog
   ========================================================= */
.mox-about-page,.mox-all-services-page,.mox-blog-page{background:#070707;color:#f7f7f7;overflow:hidden}
.mox-about-shell,.mox-services-shell,.mox-blog-shell{width:min(100% - 48px,1500px);margin:0 auto}
.mox-about-page .mox-eyebrow,.mox-all-services-page .mox-eyebrow,.mox-blog-page .mox-eyebrow{color:#D70000;font-weight:800;letter-spacing:.18em;text-transform:uppercase;font-size:11px;margin:0 0 14px}

/* About hero */
.mox-about-hero{position:relative;min-height:var(--about-hero-h);display:flex;align-items:center;isolation:isolate}
.mox-about-hero-media,.mox-about-hero-media .mox-media-picture,.mox-about-hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mox-about-hero-media{z-index:-2}
.mox-about-hero-media>span{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,var(--about-overlay)) 0%,rgba(0,0,0,.50) 52%,rgba(0,0,0,.2) 100%),linear-gradient(0deg,rgba(0,0,0,.78),transparent 58%);z-index:2}
.mox-about-hero-copy{padding-top:110px;padding-bottom:72px}
.mox-about-hero-copy h1{max-width:1040px;margin:0 0 24px;font-size:var(--about-hero-title);line-height:.98;letter-spacing:-.045em}
.mox-about-hero-copy>p:last-child{max-width:760px;margin:0;color:#d1d1d1;font-size:var(--about-hero-text);line-height:1.72}

.mox-about-section{padding:96px 0}
.mox-about-story,.mox-about-owner,.mox-about-reviews{background:#0a0a0a}
.mox-about-split,.mox-about-owner-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.mox-about-copy h2{font-size:var(--about-story-title);line-height:1.05;letter-spacing:-.035em;margin:0 0 24px}
.mox-about-body{font-size:var(--about-story-text);color:#aaa;line-height:1.8}
.mox-about-body p:last-child{margin-bottom:0}
.mox-about-story-image{height:620px;overflow:hidden;border-radius:18px}
.mox-about-story-image picture,.mox-about-story-image img{width:100%;height:100%;object-fit:cover}

.mox-about-stats{border-top:1px solid #1d1d1d;border-bottom:1px solid #1d1d1d;background:#0d0d0d;padding:28px 0}
.mox-about-stat-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.mox-about-stat-grid>div{padding:18px 30px;border-right:1px solid #232323}
.mox-about-stat-grid>div:last-child{border-right:0}
.mox-about-stat-grid strong{display:block;font-size:var(--about-stat-value);line-height:1.08;color:#fff;margin-bottom:7px}
.mox-about-stat-grid span{display:block;color:#888;font-size:var(--about-stat-label);letter-spacing:.09em;text-transform:uppercase}

.mox-about-head{max-width:900px;margin-bottom:34px}
.mox-about-head h2{margin:0 0 18px;font-size:var(--about-team-title);line-height:1.05;letter-spacing:-.035em}
.mox-about-head>p:last-child{font-size:var(--about-team-text);color:#aaa;max-width:760px}
.mox-about-team-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr 1.15fr;gap:8px;padding:0 8px}
.mox-about-team-grid>div{height:480px;overflow:hidden;background:#111}
.mox-about-team-grid>div:nth-child(2),.mox-about-team-grid>div:nth-child(3){height:400px;margin-top:40px}
.mox-about-team-grid picture,.mox-about-team-grid img{width:100%;height:100%;object-fit:cover}

.mox-about-owner-photo{height:690px;overflow:hidden;border-radius:18px}
.mox-about-owner-photo picture,.mox-about-owner-photo img{width:100%;height:100%;object-fit:cover}
.mox-about-owner-copy h2{font-size:var(--about-owner-title);line-height:1.05;letter-spacing:-.035em;margin:0 0 28px}
.mox-about-owner-name{font-size:var(--about-owner-name);font-weight:800;line-height:1.1;margin-bottom:5px}
.mox-about-owner-role{color:#D70000;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:700;margin-bottom:22px}
.mox-about-owner-copy>p{font-size:var(--about-owner-text);color:#aaa;line-height:1.8;max-width:720px;margin-bottom:28px}

.mox-about-values .mox-about-head h2{font-size:var(--about-values-title)}
.mox-about-value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.mox-about-value-card{background:linear-gradient(180deg,#121212,#0b0b0b);border:1px solid #222;border-radius:16px;padding:26px;min-height:210px}
.mox-about-value-card>b{display:block;color:#D70000;font-size:11px;margin-bottom:42px}
.mox-about-value-card h3{font-size:var(--about-value-title);margin:0 0 10px}
.mox-about-value-card p{font-size:var(--about-value-text);color:#999;line-height:1.65;margin:0}
.mox-about-reviews .mox-about-head h2{font-size:var(--about-reviews-title)}
.mox-about-cta{border-top:1px solid #1d1d1d;text-align:center;background:radial-gradient(circle at 50% 15%,rgba(215,0,0,.12),transparent 40%),#070707}
.mox-about-cta .mox-about-shell{max-width:980px}
.mox-about-cta h2{font-size:var(--about-cta-title);line-height:1.04;letter-spacing:-.04em;margin:0 auto 18px}
.mox-about-cta p:not(.mox-eyebrow){font-size:var(--about-cta-text);color:#aaa;max-width:700px;margin:0 auto 28px}

/* All Services — intentionally only heading + service grid. */
.mox-all-services-section{padding:145px 0 96px}
.mox-services-page-head{max-width:950px;margin-bottom:42px}
.mox-services-page-head h1{font-size:var(--services-title);line-height:1;letter-spacing:-.045em;margin:0 0 17px}
.mox-services-page-head>p:last-child{font-size:var(--services-intro);color:#999;max-width:700px;margin:0}
.mox-all-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--services-gap)}
.mox-all-service-card{height:var(--services-card-h);position:relative;overflow:hidden;background:#111;border:1px solid #1f1f1f;border-radius:14px}
.mox-all-service-card picture,.mox-all-service-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .45s ease}
.mox-all-service-card>span{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.76),transparent 58%);z-index:2;pointer-events:none}
.mox-all-service-card strong{position:absolute;z-index:3;left:22px;bottom:19px;color:#fff;text-transform:uppercase;font-size:17px;line-height:1.1}
.mox-all-service-card:hover img{transform:scale(1.045);filter:brightness(.86)}

/* Blog landing */
.mox-blog-hero{position:relative;height:var(--blog-hero-h);display:flex;align-items:flex-end;overflow:hidden}
.mox-blog-hero>.mox-media-picture,.mox-blog-hero>.mox-media-picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mox-blog-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.46),rgba(0,0,0,.25)),linear-gradient(0deg,rgba(0,0,0,.82),transparent 60%)}
.mox-blog-hero-copy{position:relative;z-index:3;padding-bottom:58px}
.mox-blog-hero-copy h1{font-size:var(--blog-title);line-height:1.02;letter-spacing:-.045em;max-width:1000px;margin:0 0 20px}
.mox-blog-hero-copy>p:last-child{font-size:var(--blog-text);color:#ccc;max-width:760px;margin:0}
.mox-blog-list-section{padding:92px 0 110px}
.mox-blog-list-title{font-size:var(--blog-posts-title);line-height:1.05;letter-spacing:-.035em;margin:0 0 32px}
.mox-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.mox-blog-card{background:#0e0e0e;border:1px solid #202020;border-radius:16px;overflow:hidden}
.mox-blog-card-image{display:block;aspect-ratio:16/10;background:#111;overflow:hidden}
.mox-blog-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease,filter .4s ease}
.mox-blog-card:hover .mox-blog-card-image img{transform:scale(1.04);filter:brightness(.86)}
.mox-blog-card-body{padding:22px}
.mox-blog-meta{font-size:10px;color:#D70000;text-transform:uppercase;letter-spacing:.12em;font-weight:700;margin-bottom:12px}
.mox-blog-card h3{font-size:21px;line-height:1.28;margin:0 0 12px}
.mox-blog-card h3 a:hover{color:#fff}
.mox-blog-card p{font-size:13px;color:#999;line-height:1.7;margin:0 0 18px}
.mox-blog-read{color:#D70000;font-weight:700;font-size:12px}
.mox-blog-pagination{margin-top:42px}
.mox-blog-pagination ul{list-style:none;display:flex;gap:8px;padding:0;margin:0}
.mox-blog-pagination a,.mox-blog-pagination span{display:grid;place-items:center;min-width:40px;height:40px;border:1px solid #2a2a2a;border-radius:50%;font-size:12px}
.mox-blog-pagination .current{background:#D70000;border-color:#D70000;color:#fff}

/* Single blog post */
.mox-blog-single-wrap{width:min(100% - 48px,980px);margin:0 auto;padding:150px 0 110px}
.mox-blog-single-wrap .wp-block-post-title{font-size:clamp(40px,6vw,72px);line-height:1.02;letter-spacing:-.045em;margin-bottom:20px}
.mox-blog-single-wrap .wp-block-post-date{color:#D70000;font-size:11px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:32px}
.mox-blog-single-wrap .wp-block-post-content{font-size:16px;line-height:1.9;color:#b3b3b3}
.mox-blog-single-wrap .wp-block-post-content h2{color:#fff;font-size:34px;line-height:1.12;margin-top:50px;margin-bottom:16px;letter-spacing:-.025em}
.mox-blog-single-wrap .wp-block-post-content p{margin-bottom:22px}

@media(max-width:900px){
  .mox-about-split,.mox-about-owner-grid{grid-template-columns:1fr;gap:34px}
  .mox-about-team-grid{grid-template-columns:1fr 1fr}
  .mox-about-team-grid>div,.mox-about-team-grid>div:nth-child(2),.mox-about-team-grid>div:nth-child(3){height:380px;margin-top:0}
  .mox-about-value-grid{grid-template-columns:1fr 1fr}
  .mox-blog-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .mox-about-shell,.mox-services-shell,.mox-blog-shell{width:min(100% - 28px,1500px)}
  .mox-about-hero{min-height:var(--about-hero-hm);height:auto;align-items:flex-end}
  .mox-about-hero-copy{padding:130px 0 44px}
  .mox-about-hero-copy h1{font-size:var(--about-hero-title-m)}
  .mox-about-hero-copy>p:last-child{font-size:var(--about-hero-text-m)}
  .mox-about-section{padding:68px 0}
  .mox-about-copy h2{font-size:var(--about-story-title-m)}
  .mox-about-body{font-size:var(--about-story-text-m)}
  .mox-about-story-image{height:420px;border-radius:14px}
  .mox-about-stat-grid{grid-template-columns:1fr 1fr}
  .mox-about-stat-grid>div{padding:18px 14px;border-right:1px solid #222;border-bottom:1px solid #222}
  .mox-about-stat-grid>div:nth-child(2n){border-right:0}
  .mox-about-stat-grid strong{font-size:var(--about-stat-value-m)}
  .mox-about-stat-grid span{font-size:var(--about-stat-label-m)}
  .mox-about-head h2{font-size:var(--about-team-title-m)}
  .mox-about-head>p:last-child{font-size:var(--about-team-text-m)}
  .mox-about-team-grid{gap:5px;padding:0;grid-template-columns:1fr 1fr}
  .mox-about-team-grid>div,.mox-about-team-grid>div:nth-child(2),.mox-about-team-grid>div:nth-child(3){height:260px;margin:0}
  .mox-about-owner-photo{height:500px;border-radius:14px}
  .mox-about-owner-copy h2{font-size:var(--about-owner-title-m)}
  .mox-about-owner-name{font-size:var(--about-owner-name-m)}
  .mox-about-owner-copy>p{font-size:var(--about-owner-text-m)}
  .mox-about-values .mox-about-head h2{font-size:var(--about-values-title-m)}
  .mox-about-value-grid{grid-template-columns:1fr 1fr;gap:7px}
  .mox-about-value-card{padding:18px 15px;min-height:190px}
  .mox-about-value-card>b{margin-bottom:26px}
  .mox-about-value-card h3{font-size:var(--about-value-title-m)}
  .mox-about-value-card p{font-size:var(--about-value-text-m)}
  .mox-about-reviews .mox-about-head h2{font-size:var(--about-reviews-title-m)}
  .mox-about-cta h2{font-size:var(--about-cta-title-m)}
  .mox-about-cta p:not(.mox-eyebrow){font-size:var(--about-cta-text-m)}

  .mox-all-services-section{padding:122px 0 70px}
  .mox-services-page-head{margin-bottom:28px}
  .mox-services-page-head h1{font-size:var(--services-title-m)}
  .mox-services-page-head>p:last-child{font-size:var(--services-intro-m)}
  .mox-all-services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--services-gap-m)}
  .mox-all-service-card{height:var(--services-card-h-m);border-radius:7px}
  .mox-all-service-card strong{left:12px;bottom:11px;font-size:12px}

  .mox-blog-hero{height:var(--blog-hero-h-m)}
  .mox-blog-hero-copy{padding-bottom:38px}
  .mox-blog-hero-copy h1{font-size:var(--blog-title-m)}
  .mox-blog-hero-copy>p:last-child{font-size:var(--blog-text-m)}
  .mox-blog-list-section{padding:62px 0 80px}
  .mox-blog-list-title{font-size:var(--blog-posts-title-m)}
  .mox-blog-grid{grid-template-columns:1fr;gap:13px}
  .mox-blog-single-wrap{width:min(100% - 28px,980px);padding:122px 0 80px}
  .mox-blog-single-wrap .wp-block-post-content{font-size:15px}
  .mox-blog-single-wrap .wp-block-post-content h2{font-size:28px;margin-top:38px}
}
.mox-blog-single-wrap .mox-sample-blog-hero{margin:0 0 42px}
.mox-blog-single-wrap .mox-sample-blog-hero img{width:100%;max-height:620px;object-fit:cover;border-radius:18px}
@media(max-width:700px){.mox-blog-single-wrap .mox-sample-blog-hero{margin-bottom:28px}.mox-blog-single-wrap .mox-sample-blog-hero img{border-radius:12px;max-height:440px}}

/* =========================================================
   V34 — Story-led About page rebuild
   ========================================================= */
.mox-about-v34{background:#070707;color:#f7f7f7;overflow:hidden}
.mox-about-v34 .mox-about-shell{width:min(100% - 48px,1500px);margin:0 auto}
.mox-about-v34 .mox-eyebrow,.mox-about-v34 .mox-ex-eyebrow{color:#D70000;font-weight:800;letter-spacing:.18em;text-transform:uppercase;font-size:11px;margin:0 0 14px}
.mox-about-v34 .mox-ex-inner{width:min(1500px,calc(100% - 48px));margin:0 auto}
.mox-about-v34 .mox-about-hero-v34{width:100%;background:#070707}
.mox-about-v34 .mox-about-hero-v34 .mox-ex-hero-grid{display:block!important;max-width:1080px}
.mox-about-v34 .mox-about-hero-v34 .mox-ex-hero-side{max-width:760px;margin-top:28px!important;padding:0!important}
.mox-about-v34 .mox-about-hero-v34 .mox-ex-actions{margin-top:24px}
.mox-about-v34 .mox-about-hero-v34 h1{max-width:1050px}

.mox-about-stats-v34{border-top:1px solid #1e1e1e;border-bottom:1px solid #1e1e1e;background:#0d0d0d;padding:28px 0}
.mox-about-stat-grid-v34{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.mox-about-stat-grid-v34>div{padding:18px 30px;border-right:1px solid #232323}
.mox-about-stat-grid-v34>div:last-child{border-right:0}
.mox-about-stat-grid-v34 strong{display:block;font-size:var(--about-stat-value);line-height:1.08;color:#fff;margin-bottom:7px}
.mox-about-stat-grid-v34 span{display:block;color:#888;font-size:var(--about-stat-label);letter-spacing:.09em;text-transform:uppercase}

.mox-about-story-v34{padding:108px 0;background:#070707}
.mox-about-story-v34:nth-of-type(even){background:#0a0a0a}
.mox-about-story-row-v34{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:72px;align-items:center}
.mox-about-story-v34.is-reverse .mox-about-story-media-v34{order:2}
.mox-about-story-v34.is-reverse .mox-about-story-copy-v34{order:1}
.mox-about-story-media-v34{height:var(--about-image-h);overflow:hidden;border-radius:18px;background:#111}
.mox-about-story-media-v34 picture,.mox-about-story-media-v34 img{width:100%;height:100%;display:block;object-fit:cover;object-position:var(--about-img-pos,50% 50%)}
.mox-about-story-copy-v34{max-width:680px}
.mox-about-story-copy-v34 h2{font-size:var(--about-chapter-title);line-height:1.06;letter-spacing:-.04em;margin:0 0 24px}
.mox-about-story-text-v34{font-size:var(--about-chapter-text);line-height:1.85;color:#a9a9a9}
.mox-about-story-text-v34 p{margin:0 0 20px}
.mox-about-story-text-v34 p:last-child{margin-bottom:0}

.mox-about-quote-v34{padding:86px 0;background:radial-gradient(circle at 18% 50%,rgba(215,0,0,.14),transparent 34%),#0c0c0c;border-top:1px solid #1e1e1e;border-bottom:1px solid #1e1e1e}
.mox-about-quote-v34 .mox-about-shell{max-width:1180px}
.mox-about-quote-v34 blockquote{margin:0;max-width:1100px;font-size:var(--about-quote);line-height:1.35;letter-spacing:-.025em;font-weight:650;color:#f3f3f3}
.mox-about-quote-v34 cite{display:block;margin-top:24px;color:#8f8f8f;font-size:12px;font-style:normal;text-transform:uppercase;letter-spacing:.12em}

.mox-about-values-v34,.mox-about-reviews-v34,.mox-about-cta-v34{padding:96px 0}
.mox-about-values-v34{background:#080808}
.mox-about-reviews-v34{background:#0a0a0a}
.mox-about-head-v34{max-width:900px;margin-bottom:34px}
.mox-about-head-v34 h2{margin:0;font-size:var(--about-values-title);line-height:1.05;letter-spacing:-.035em}
.mox-about-reviews-v34 .mox-about-head-v34 h2{font-size:var(--about-reviews-title)}
.mox-about-value-grid-v34{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.mox-about-value-card-v34{background:linear-gradient(180deg,#131313,#0b0b0b);border:1px solid #222;border-radius:16px;padding:26px;min-height:210px}
.mox-about-value-card-v34>b{display:block;color:#D70000;font-size:11px;margin-bottom:42px}
.mox-about-value-card-v34 h3{font-size:var(--about-value-title);margin:0 0 10px}
.mox-about-value-card-v34 p{font-size:var(--about-value-text);color:#999;line-height:1.65;margin:0}
.mox-about-cta-v34{text-align:center;background:radial-gradient(circle at 50% 12%,rgba(215,0,0,.12),transparent 40%),#070707;border-top:1px solid #1d1d1d}
.mox-about-cta-v34 .mox-about-shell{max-width:980px}
.mox-about-cta-v34 h2{font-size:var(--about-cta-title);line-height:1.04;letter-spacing:-.04em;margin:0 auto 18px}
.mox-about-cta-v34 p:not(.mox-eyebrow){font-size:var(--about-cta-text);color:#aaa;max-width:720px;margin:0 auto 28px}

@media(max-width:900px){
  .mox-about-story-row-v34{grid-template-columns:1fr;gap:36px}
  .mox-about-story-v34.is-reverse .mox-about-story-media-v34,
  .mox-about-story-v34.is-reverse .mox-about-story-copy-v34{order:initial}
  .mox-about-story-copy-v34{max-width:none}
  .mox-about-value-grid-v34{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .mox-about-v34 .mox-about-shell,.mox-about-v34 .mox-ex-inner{width:min(100% - 28px,1500px)}
  .mox-about-v34 .mox-about-hero-v34 .mox-ex-hero-side{margin-top:22px!important}
  .mox-about-v34 .mox-about-hero-v34 .mox-ex-actions{margin-top:20px}
  .mox-about-stats-v34{padding:0}
  .mox-about-stat-grid-v34{grid-template-columns:1fr 1fr}
  .mox-about-stat-grid-v34>div{padding:18px 14px;border-right:1px solid #222;border-bottom:1px solid #222}
  .mox-about-stat-grid-v34>div:nth-child(2n){border-right:0}
  .mox-about-stat-grid-v34 strong{font-size:var(--about-stat-value-m)}
  .mox-about-stat-grid-v34 span{font-size:var(--about-stat-label-m)}
  .mox-about-story-v34{padding:68px 0}
  .mox-about-story-row-v34{gap:28px}
  .mox-about-story-media-v34{height:var(--about-image-h-m);border-radius:14px}
  .mox-about-story-copy-v34 h2{font-size:var(--about-chapter-title-m)}
  .mox-about-story-text-v34{font-size:var(--about-chapter-text-m);line-height:1.75}
  .mox-about-quote-v34{padding:64px 0}
  .mox-about-quote-v34 blockquote{font-size:var(--about-quote-m);line-height:1.42}
  .mox-about-values-v34,.mox-about-reviews-v34,.mox-about-cta-v34{padding:68px 0}
  .mox-about-head-v34 h2{font-size:var(--about-values-title-m)}
  .mox-about-reviews-v34 .mox-about-head-v34 h2{font-size:var(--about-reviews-title-m)}
  .mox-about-value-grid-v34{grid-template-columns:1fr 1fr;gap:7px}
  .mox-about-value-card-v34{padding:18px 15px;min-height:190px}
  .mox-about-value-card-v34>b{margin-bottom:26px}
  .mox-about-value-card-v34 h3{font-size:var(--about-value-title-m)}
  .mox-about-value-card-v34 p{font-size:var(--about-value-text-m)}
  .mox-about-cta-v34 h2{font-size:var(--about-cta-title-m)}
  .mox-about-cta-v34 p:not(.mox-eyebrow){font-size:var(--about-cta-text-m)}
}
.mox-about-v34 .mox-ex-btn{display:inline-flex;align-items:center;justify-content:center;min-height:45px;padding:12px 19px;border:1px solid #D70000;border-radius:999px;background:#D70000;color:#fff;font-size:13px;font-weight:700;line-height:1;text-decoration:none;transition:transform .25s ease,filter .25s ease}
.mox-about-v34 .mox-ex-btn:hover{color:#fff;transform:translateY(-2px);filter:brightness(1.08)}

/* =========================================================
   V35 — About Us rebuild: immediate hero + editorial photo stories
   ========================================================= */
.mox-about-v35{background:#070707;color:#f7f7f7;overflow:hidden}
.mox-about-v35 .mox-about-shell{width:min(100% - 48px,1500px);margin:0 auto}
.mox-about-v35 .mox-eyebrow{color:#D70000;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin:0 0 14px}

/* Hero is painted directly by the section itself. It does not wait for
   IntersectionObserver/reveal JS, so image and copy are visible immediately. */
.mox-about-hero-v35{
  position:relative;min-height:var(--about-hero-h,820px);display:flex;align-items:center;
  overflow:hidden;isolation:isolate;background-color:#090909;
  background-image:var(--about-hero-bg),linear-gradient(125deg,#111,#070707 48%,#160305);
  background-size:cover,auto;background-repeat:no-repeat;background-position:var(--about-hero-pos,50% 50%),center;
}
.mox-about-hero-overlay-v35{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.90) 0%,rgba(0,0,0,.62) 44%,rgba(0,0,0,.20) 76%,rgba(0,0,0,.48) 100%),linear-gradient(0deg,rgba(0,0,0,.82),transparent 58%);opacity:var(--about-hero-overlay,.66)}
.mox-about-hero-inner-v35{position:relative;z-index:2;padding-top:var(--about-hero-pt,150px);padding-bottom:var(--about-hero-pb,72px);opacity:1!important;visibility:visible!important;transform:none!important;filter:none!important}
.mox-about-hero-inner-v35 h1{max-width:1080px;margin:0 0 24px;font-size:var(--about-hero-title,78px);line-height:.98;letter-spacing:-.05em;color:#fff}
.mox-about-hero-text-v35{max-width:760px;margin:0;color:#d0d0d0;font-size:var(--about-hero-text,17px);line-height:1.72}
.mox-about-hero-actions-v35{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.mox-about-v35 .mox-about-hero-actions-v35 .mox-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:13px 20px;border-radius:999px;background:#D70000;border:1px solid #D70000;color:#fff;font-weight:700;text-decoration:none;transition:transform .28s ease,filter .28s ease}
.mox-about-v35 .mox-about-hero-actions-v35 .mox-btn:hover{transform:translateY(-2px);filter:brightness(1.08)}
.mox-about-v35 .mox-about-hero-actions-v35 .mox-about-secondary-v35{background:rgba(10,10,10,.44);border-color:rgba(255,255,255,.30);backdrop-filter:blur(8px)}

/* Single-photo story chapters: images are never covered by reveal curtains. */
.mox-about-v35 .mox-about-story-media-v34{position:relative;background:#111}
.mox-about-v35 .mox-about-story-media-v34 picture,.mox-about-v35 .mox-about-story-media-v34 img{opacity:1!important;visibility:visible!important;display:block!important}
.mox-about-v35 .mox-about-story-media-v34 img{transition:transform .75s cubic-bezier(.2,.75,.25,1),filter .55s ease}
.mox-about-v35 .mox-about-story-media-v34:hover img{transform:scale(1.025);filter:contrast(1.035)}

/* Editorial multi-photo storytelling — intentionally asymmetric, not a gallery. */
.mox-about-moment-v35{padding:110px 0;background:#0b0b0b;border-top:1px solid #171717;border-bottom:1px solid #171717}
.mox-about-moment-v35:nth-of-type(even){background:#080808}
.mox-about-moment-row-v35{display:grid;grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);gap:72px;align-items:center}
.mox-about-moment-v35.is-reverse .mox-about-moment-copy-v35{order:2}
.mox-about-moment-v35.is-reverse .mox-about-moment-media-v35{order:1}
.mox-about-moment-copy-v35{max-width:650px}
.mox-about-moment-copy-v35 h2{font-size:var(--about-moment-title,48px);line-height:1.06;letter-spacing:-.04em;margin:0 0 22px}
.mox-about-moment-text-v35{font-size:var(--about-moment-text,15px);line-height:1.82;color:#a7a7a7}
.mox-about-moment-text-v35 p{margin:0 0 19px}.mox-about-moment-text-v35 p:last-child{margin-bottom:0}
.mox-about-moment-media-v35{height:620px;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);grid-template-rows:1fr 1fr;gap:10px;position:relative}
.mox-about-moment-photo-v35{overflow:hidden;border-radius:16px;background:#121212;position:relative;min-width:0;min-height:0}
.mox-about-moment-photo-v35.photo-1{grid-row:1 / 3}
.mox-about-moment-photo-v35 picture,.mox-about-moment-photo-v35 img{width:100%;height:100%;display:block!important;opacity:1!important;visibility:visible!important;object-fit:cover;object-position:var(--mox-photo-pos,50% 50%)}
.mox-about-moment-photo-v35 img{transition:transform .8s cubic-bezier(.2,.75,.25,1),filter .6s ease}
.mox-about-moment-photo-v35:hover img{transform:scale(1.035);filter:contrast(1.04)}

/* Keep reviews content immediately visible once the section arrives; third-party
   widgets should not be hidden behind an extra reveal state. */
.mox-about-v35 .mox-about-reviews-v34 [class*="ti-widget"],.mox-about-v35 .mox-about-reviews-v34 iframe{opacity:1!important;visibility:visible!important}

@media(max-width:900px){
  .mox-about-moment-row-v35{grid-template-columns:1fr;gap:38px}
  .mox-about-moment-v35.is-reverse .mox-about-moment-copy-v35,.mox-about-moment-v35.is-reverse .mox-about-moment-media-v35{order:initial}
  .mox-about-moment-copy-v35{max-width:none}
}
@media(max-width:700px){
  .mox-about-v35 .mox-about-shell{width:min(100% - 28px,1500px)}
  .mox-about-hero-v35{min-height:var(--about-hero-h-m,650px);margin:14px;border-radius:16px;background-image:var(--about-hero-bg-m,var(--about-hero-bg)),linear-gradient(125deg,#111,#070707 48%,#160305);background-position:var(--about-hero-pos-m,50% 50%),center}
  .mox-about-hero-inner-v35{width:100%;padding:var(--about-hero-pt-m,130px) 18px var(--about-hero-pb-m,48px)}
  .mox-about-hero-inner-v35 h1{font-size:var(--about-hero-title-m,45px)}
  .mox-about-hero-text-v35{font-size:var(--about-hero-text-m,15px)}
  .mox-about-moment-v35{padding:72px 0}
  .mox-about-moment-row-v35{gap:28px}
  .mox-about-moment-copy-v35 h2{font-size:var(--about-moment-title-m,33px)}
  .mox-about-moment-text-v35{font-size:var(--about-moment-text-m,14px);line-height:1.75}
  .mox-about-moment-media-v35{height:auto;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:6px}
  .mox-about-moment-photo-v35.photo-1{grid-column:1 / 3;grid-row:auto;aspect-ratio:16/10}
  .mox-about-moment-photo-v35.photo-2,.mox-about-moment-photo-v35.photo-3{aspect-ratio:4/5}
  .mox-about-moment-photo-v35{border-radius:12px}
}


/* V37 — category gallery CTA at the bottom + protected play controls. */
.mox-exhibition-page .mox-ex-gallery-footer{display:flex;justify-content:center;align-items:center;padding:30px var(--side-pad,24px) 0}
.mox-exhibition-page .mox-ex-gallery-view-btn{min-height:42px;padding:11px 18px;border-radius:999px;font-size:13px;box-shadow:none}
.mox-exhibition-page .mox-ex-video-card>.mox-ex-play,
.mox-exhibition-page .mox-ex-reel>.mox-ex-play{display:grid!important;visibility:visible!important;opacity:1!important;position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;z-index:8!important;pointer-events:none;background:#D70000!important;color:#fff!important}
.mox-exhibition-page .mox-ex-video-card>.mox-ex-play{width:56px!important;height:56px!important}
.mox-exhibition-page .mox-ex-reel>.mox-ex-play{width:50px!important;height:50px!important}
.mox-exhibition-page .mox-ex-play svg{display:block!important;width:22px!important;height:22px!important;fill:#fff!important}
.mox-exhibition-page .mox-ex-play.is-preview-only{opacity:.92!important}
@media(max-width:700px){
  .mox-exhibition-page .mox-ex-gallery-footer{padding:22px var(--side-pad-m,14px) 0}
  .mox-exhibition-page .mox-ex-gallery-view-btn{font-size:12px;min-height:40px;padding:10px 16px}
  .mox-exhibition-page .mox-ex-video-card>.mox-ex-play{width:50px!important;height:50px!important}
  .mox-exhibition-page .mox-ex-reel>.mox-ex-play{width:46px!important;height:46px!important}
}

/* V38 optional video titles on category pages. Hidden by default via settings. */
.mox-ex-video-title{
  position:absolute;
  left:14px;
  right:14px;
  bottom:13px;
  z-index:4;
  color:#fff;
  font-size:12px;
  font-weight:700;
  line-height:1.3;
  text-shadow:0 2px 12px rgba(0,0,0,.75);
}

/* =========================================================
   V43 — Homepage reel thumbnail parity + floating WhatsApp
   ========================================================= */

/* Homepage reels selected from the Portfolio Library use a direct <img>
   element with .mox-media-picture. Make it fill the card exactly like the
   category-page reel media instead of rendering at intrinsic dimensions. */
.mox-home-v6 .mox-reels-html .mox-reel-card > img.mox-media-picture,
.mox-home-v6 .mox-reels-html .mox-reel-card > picture.mox-media-picture,
.mox-home-v6 .mox-reels-html .mox-reel-card > picture.mox-media-picture > img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center center!important;
}
.mox-home-v6 .mox-reels-html .mox-reel-card > img.mox-media-picture,
.mox-home-v6 .mox-reels-html .mox-reel-card > picture.mox-media-picture > img{
  transform:none!important;
  transition:transform .45s ease,filter .35s ease!important;
}
.mox-home-v6 .mox-reels-html .mox-reel-card:hover > img.mox-media-picture,
.mox-home-v6 .mox-reels-html .mox-reel-card:hover > picture.mox-media-picture > img{
  transform:scale(1.03)!important;
}
/* Desktop uses the native 9:16 reel shape so thumbnails are not visibly
   cropped/zoomed. Mobile keeps the already-approved horizontal scroll sizing. */
@media(min-width:701px){
  .mox-home-v6 .mox-reels-html .mox-reel-card.mox-html-video-card{
    aspect-ratio:9/16!important;
    min-height:0!important;
    height:auto!important;
  }
}

/* Floating WhatsApp helper — fixed to the viewport, never part of footer flow. */
body .mox-wa-float{
  position:fixed!important;
  right:22px!important;
  bottom:22px!important;
  left:auto!important;
  top:auto!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  z-index:2147482000!important;
  opacity:0;
  visibility:hidden;
  transform:translate3d(0,14px,0) scale(.98);
  pointer-events:none;
  transition:opacity .48s ease,transform .58s cubic-bezier(.2,.75,.2,1),visibility 0s linear .58s;
}
body .mox-wa-float.is-visible{
  opacity:1;
  visibility:visible;
  transform:translate3d(0,0,0) scale(1);
  pointer-events:auto;
  transition-delay:0s;
}
body .mox-wa-float-link{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  width:auto!important;
  text-decoration:none!important;
  color:#fff!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  filter:drop-shadow(0 14px 28px rgba(0,0,0,.34));
}
body .mox-wa-float-copy{
  position:relative;
  display:flex!important;
  align-items:center;
  min-height:42px;
  max-width:245px;
  padding:9px 15px!important;
  margin:0!important;
  border:1px solid rgba(255,255,255,.13)!important;
  border-radius:14px!important;
  background:rgba(13,13,13,.95)!important;
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  box-shadow:0 9px 24px rgba(0,0,0,.26);
  font-family:Montserrat,Arial,sans-serif!important;
  font-size:12px!important;
  line-height:1.35!important;
  font-weight:650!important;
  letter-spacing:-.01em!important;
  color:#f5f5f5!important;
  text-decoration:none!important;
  white-space:normal;
}
body .mox-wa-float-copy:after{
  content:"";
  position:absolute;
  right:-6px;
  top:50%;
  width:11px;
  height:11px;
  background:#0d0d0d;
  border-top:1px solid rgba(255,255,255,.13);
  border-right:1px solid rgba(255,255,255,.13);
  transform:translateY(-50%) rotate(45deg);
}
body .mox-wa-float-copy [data-mox-wa-float-text]{
  display:block;
  opacity:1;
  transform:none;
  transition:opacity .22s ease,transform .22s ease;
}
body .mox-wa-float-copy.is-changing [data-mox-wa-float-text]{
  opacity:0;
  transform:translateY(4px);
}
body .mox-wa-float-icon{
  position:relative;
  width:56px!important;
  height:56px!important;
  min-width:56px!important;
  flex:0 0 56px!important;
  display:grid!important;
  place-items:center!important;
  margin:0!important;
  padding:0!important;
  border-radius:50%!important;
  background:#25D366!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.20)!important;
  box-shadow:0 10px 30px rgba(37,211,102,.24)!important;
  transition:transform .22s ease,box-shadow .22s ease;
}
body .mox-wa-float-icon:after{
  content:"";
  position:absolute;
  inset:-5px;
  border:1px solid rgba(37,211,102,.34);
  border-radius:50%;
  animation:moxWaPulse 2.8s ease-out infinite;
  pointer-events:none;
}
body .mox-wa-float-icon svg{
  display:block!important;
  width:29px!important;
  height:29px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.75!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
body .mox-wa-float-link:hover .mox-wa-float-icon{
  transform:translateY(-2px) scale(1.035);
  box-shadow:0 14px 34px rgba(37,211,102,.30)!important;
}
@keyframes moxWaPulse{
  0%{transform:scale(.94);opacity:.8}
  75%,100%{transform:scale(1.23);opacity:0}
}
@media(max-width:700px){
  body .mox-wa-float{
    right:max(14px,env(safe-area-inset-right))!important;
    bottom:max(14px,env(safe-area-inset-bottom))!important;
  }
  body .mox-wa-float-link{gap:8px!important}
  body .mox-wa-float-icon{width:52px!important;height:52px!important;min-width:52px!important;flex-basis:52px!important}
  body .mox-wa-float-icon svg{width:27px!important;height:27px!important}
  body .mox-wa-float-copy{max-width:min(220px,calc(100vw - 96px));min-height:39px;padding:8px 12px!important;font-size:11.5px!important;border-radius:12px!important}
}
@media(prefers-reduced-motion:reduce){
  body .mox-wa-float,
  body .mox-wa-float-copy [data-mox-wa-float-text],
  body .mox-wa-float-icon{transition:none!important}
  body .mox-wa-float-icon:after{animation:none!important}
}

/* =========================================================
   V44 — safe first-load preloader + page navigation wipe
   ========================================================= */
.mox-preloader-v44{
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:grid;
  place-items:center;
  background:#070707;
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity .52s ease,visibility 0s linear .56s;
}
.mox-preloader-v44-inner{
  width:min(270px,72vw);
  display:grid;
  gap:18px;
  text-align:center;
}
.mox-preloader-v44-mark,
.mox-page-wipe-v44-brand{
  font-family:Montserrat,Arial,sans-serif;
  font-weight:800;
  letter-spacing:-.045em;
  color:#fff;
}
.mox-preloader-v44-mark{font-size:clamp(27px,4vw,42px)}
.mox-preloader-v44-mark span,
.mox-page-wipe-v44-brand span{color:#D70000;margin-left:.16em}
.mox-preloader-v44-line{
  position:relative;
  width:100%;
  height:2px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.11);
}
.mox-preloader-v44-line i{
  position:absolute;
  inset:0 auto 0 0;
  width:42%;
  border-radius:inherit;
  background:#D70000;
  animation:moxPreloadLineV44 1.05s cubic-bezier(.65,0,.3,1) infinite;
}
@keyframes moxPreloadLineV44{
  0%{transform:translateX(-115%)}
  55%{transform:translateX(118%)}
  100%{transform:translateX(255%)}
}
.mox-preloader-v44.is-releasing,
.mox-preloader-v44.is-gone{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

.mox-page-wipe-v44{
  position:fixed;
  inset:0;
  z-index:2147482990;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:#111;
  transform:translate3d(-102%,0,0);
  pointer-events:none;
  will-change:transform;
  transition:transform .62s cubic-bezier(.76,0,.24,1);
}
.mox-page-wipe-v44-brand{
  font-size:clamp(25px,4vw,48px);
  opacity:.96;
}
.mox-page-wipe-v44-edge{
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  width:4px;
  background:#D70000;
  box-shadow:0 0 28px rgba(215,0,0,.5);
}
.mox-page-wipe-v44.is-covering{
  transform:translate3d(0,0,0);
  pointer-events:auto;
}
.mox-page-wipe-v44.is-arrival-start{
  transform:translate3d(0,0,0);
  transition:none!important;
}
.mox-page-wipe-v44.is-arrival-start.is-arrival-release{
  transform:translate3d(102%,0,0);
  transition:transform .68s cubic-bezier(.76,0,.24,1)!important;
}
html.mox-v44-navigating{cursor:progress}

/* The WhatsApp helper is attached directly to <body> in v44. Keep it above
   normal site UI but below the short preloader/navigation layers. */
body>.mox-wa-float{
  display:block!important;
  position:fixed!important;
  right:22px!important;
  bottom:22px!important;
  z-index:2147482000!important;
}
body>.mox-wa-float .mox-wa-float-icon svg,
body>.mox-wa-float .mox-wa-float-icon svg path{
  display:block!important;
  vector-effect:non-scaling-stroke;
}

@media(max-width:700px){
  body>.mox-wa-float{
    right:max(14px,env(safe-area-inset-right))!important;
    bottom:max(14px,env(safe-area-inset-bottom))!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .mox-preloader-v44-line i{animation:none;width:100%}
  .mox-preloader-v44,
  .mox-page-wipe-v44{transition:none!important}
}
