:root{--bg:#08090b;--panel:#152631;--green:#49a9d8;--mint:#d4f0ff;--gold:#65bee9;--white:#f5f8fb;--muted:#b4c0c8;--line:#31424d;--light:#ecf3f7;--dark:#13232e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--white);font:400 16px/1.6 system-ui,-apple-system,'Segoe UI',sans-serif}a{color:inherit}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.12;letter-spacing:-.035em}h1{font-size:clamp(2.65rem,5.5vw,5.8rem)}h2{font-size:clamp(2.1rem,3.8vw,3.9rem)}h3{font-size:1.35rem}.wrap{width:min(1180px,calc(100% - 44px));margin:auto}.skip{position:absolute;left:-9999px;top:12px;padding:10px;background:white;color:black;z-index:100}.skip:focus{left:12px}.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.16em;font-weight:750;font-size:.78rem}.accent{color:var(--mint)}.topline{background:#0d1a23;color:var(--mint);padding:7px 0;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.nav{display:flex;align-items:center;gap:32px;min-height:78px}.nav-shell{position:sticky;top:0;z-index:20;background:rgba(16,24,22,.97);border-bottom:1px solid var(--line)}.logo{display:flex;align-items:center;gap:8px;text-decoration:none;font-weight:850;white-space:nowrap}.logo img{width:40px;height:52px;object-fit:contain;flex:none}.logo span{font-size:1.05rem;font-weight:800;letter-spacing:.14em}.navlinks{display:flex;align-items:center;gap:23px;margin-left:auto}.navlinks a{text-decoration:none;font-size:.9rem;font-weight:650}.navlinks a:hover,.footer a:hover{color:var(--green)}.button{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:49px;padding:12px 22px;border-radius:50px;background:var(--green);color:#071723;text-decoration:none;font-weight:750;border:1px solid var(--green);cursor:pointer;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px);background:#79c7ef}.button.outline{background:transparent;color:var(--white);border-color:#7e929f}.button.outline:hover{background:#233744}.menu{display:none;background:none;border:1px solid var(--line);color:white;border-radius:9px;padding:8px 12px;font:inherit}.hero{overflow:hidden;background:radial-gradient(circle at 76% 45%,#15394e,transparent 46%);padding:75px 0 95px}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:7%;align-items:center}.hero h1{max-width:760px;margin:20px 0 24px}.lead{font-size:1.18rem;color:#cbd9e3;max-width:590px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0}.fit{border-left:2px solid var(--gold);padding-left:18px;color:var(--muted);font-size:.94rem;max-width:570px}.hero-image{border-radius:26px;overflow:hidden;box-shadow:0 35px 80px #03070b88;border:1px solid var(--line);background:#0e1f2a}.hero-image img{width:100%;height:auto}.band{background:var(--gold);color:#0e1f2a}.band .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:17px 0;font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:.84rem}.section{padding:100px 0}.section-head{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:50px;margin-bottom:35px}.section-head h2{margin-top:16px}.section-head p{color:var(--muted);max-width:520px}.light{background:var(--light);color:#172b39}.light .eyebrow{color:#1c6387}.light .section-head p{color:#405766}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{border:1px solid var(--line);padding:32px;border-radius:16px;background:#172b36;display:flex;flex-direction:column;min-height:315px}.card .number{color:var(--gold);font-size:.8rem;font-weight:800;letter-spacing:.12em}.card h3{margin:25px 0 14px}.card p{color:#bfced9}.card a{color:var(--mint);font-weight:750;margin-top:auto;padding-top:28px;text-decoration-thickness:1px;text-underline-offset:5px}.light .card{background:#fff;border-color:#d4e0e8}.light .card p{color:#4b6270}.light .card a{color:#14678f}.split{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.split img{width:100%;height:440px;object-fit:cover;border-radius:16px}.split h2{margin:15px 0 22px}.split p{margin:0 0 20px;color:var(--muted)}.list{padding:0;list-style:none}.list li{border-top:1px solid var(--line);padding:15px 0}.list strong{color:var(--gold);margin-right:15px}.light .list li{border-color:#d1dfe8}.light .list strong{color:#1d6385}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:34px}.metric{border-top:2px solid var(--gold);padding:20px 5px}.metric b{font-size:1.2rem}.metric p{color:var(--muted);margin-top:9px}.light .metric p{color:#4b6270}.proof{padding:35px;border:1px solid #b5cbd8;border-radius:18px;background:#e5eff5}.proof p{margin-top:10px;color:#405766}.proof a{color:#12648c;font-weight:700}.cta{background:linear-gradient(105deg,#164968,#0d1e29);padding:85px 0}.cta h2{max-width:770px;margin:14px 0 18px}.cta p{color:#c7d6df;max-width:650px}.cta .button{margin-top:25px}.contact{padding:85px 0;background:var(--light);color:#193241}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%}.contact h2{margin:16px 0}.contact p{color:#536b78}.form-card{background:white;border-radius:16px;padding:30px;border:1px solid #cddce5}.form-card p{font-size:.9rem;margin:10px 0 20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field.full{grid-column:1/-1}label{display:block;font-size:.88rem;font-weight:700;margin-bottom:5px}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #b7c7d1;border-radius:7px;color:#172b39;background:white;font:inherit}textarea{min-height:105px;resize:vertical}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.form-card button{margin-top:16px}.small{font-size:.83rem;color:#4c6574!important;margin-top:12px!important}.status{font-weight:700;color:#145c80;min-height:25px;margin-top:12px}.footer{padding:48px 0;background:#080d12}.footer-grid{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}.footer p,.footer small{color:var(--muted)}.footer p{max-width:390px;margin-top:16px}.footer-links{display:flex;gap:18px;flex-wrap:wrap}.footer-links a{font-size:.86rem}.footer-bottom{border-top:1px solid var(--line);margin-top:35px;padding-top:17px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.footer-bottom small{font-size:.78rem}.inner-hero{padding:78px 0 70px;background:radial-gradient(circle at 80% 50%,#194b69,transparent 55%)}.inner-hero h1{max-width:850px;margin:20px 0}.inner-hero p{max-width:730px;color:#d0e2eb;font-size:1.17rem}.detail{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:start}.detail h2{margin:12px 0 20px}.detail p{margin:0 0 15px;color:var(--muted)}.detail .list{margin-top:0}.detail .list li{padding:18px 0}.note{border-left:3px solid var(--gold);padding-left:18px;font-size:.92rem;color:var(--muted)}@media(max-width:850px){.hero-grid,.split,.contact-grid,.section-head,.detail{grid-template-columns:1fr}.hero{padding:65px 0}.hero-image{max-width:470px}.grid3{grid-template-columns:1fr 1fr}.metrics{grid-template-columns:1fr 1fr}.split img{height:300px}.nav .button{display:none}.menu{display:block;margin-left:auto}.navlinks{display:none;position:absolute;top:78px;left:0;right:0;background:#08090b;padding:20px 24px;border-bottom:1px solid var(--line);flex-direction:column;align-items:start;margin:0}.navlinks.open{display:flex}}@media(max-width:600px){.wrap{width:min(100% - 32px,1180px)}.section{padding:68px 0}.hero{padding:48px 0 65px}.grid3,.metrics,.form-grid{grid-template-columns:1fr}.card{min-height:auto}.hero h1{font-size:clamp(2.6rem,10vw,4rem)}.band .wrap{display:block}.band span{display:block;padding:4px 0}.form-card{padding:22px}.cta{padding:65px 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
/* Creative site direction: cinematic media, editorial type, and an asymmetric service gallery. */
.creative-hero{background:radial-gradient(circle at 73% 29%,#15364b 0,transparent 37%),#08090b;padding:82px 0 94px}.creative-hero .hero-grid{grid-template-columns:1.07fr .93fr;gap:4%;align-items:center}.creative-hero h1{font-size:clamp(3rem,5.3vw,5.9rem);max-width:800px;line-height:1.05;margin:24px 0}.creative-hero .lead{max-width:600px}.outline-word{color:transparent;-webkit-text-stroke:1px #d5e7f1}.hero-stage{position:relative;height:555px;isolation:isolate}.hero-film{position:absolute;inset:20px 56px 68px 18px;overflow:hidden;border:1px solid #45637a;border-radius:22px;background:#182c38;box-shadow:0 28px 80px #02050a99}.hero-film video{width:100%;height:100%;object-fit:cover;filter:brightness(.74) saturate(.8)}.hero-film:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,#07111bc2);pointer-events:none}.film-tag{position:absolute;left:22px;bottom:21px;z-index:2;letter-spacing:.15em;font-size:.72rem;font-weight:800;text-transform:uppercase}.video-toggle{position:absolute;right:18px;top:18px;z-index:2;border:1px solid #c0d5e899;border-radius:40px;padding:7px 14px;background:#08131bcc;color:#fff;cursor:pointer}.hero-cutout{position:absolute;right:-5px;bottom:3px;width:48%;height:190px;overflow:hidden;border:6px solid #0b1015;border-radius:16px;transform:rotate(3deg);box-shadow:0 17px 40px #020609a8}.hero-cutout img{width:100%;height:100%;object-fit:cover}.hero-cutout span{position:absolute;left:15px;bottom:12px;font-size:.68rem;font-weight:850;letter-spacing:.16em;background:#08131bdc;padding:6px 9px}.hero-stamp{position:absolute;right:8px;top:-22px;z-index:2;width:72px;height:72px;display:grid;place-items:center;border:1px solid #77d2ff;border-radius:50%;color:#effaff;background:#0e2735;font-weight:850;font-size:1.6rem;transform:rotate(13deg)}.hero-stamp span{color:var(--green)}.marquee{overflow:hidden;background:var(--green);color:#07141d;border-block:1px solid #8addff}.marquee div{width:max-content;min-width:100%;padding:15px 0;font-size:clamp(.9rem,1.4vw,1.16rem);font-weight:850;letter-spacing:.17em;word-spacing:.8em;white-space:nowrap;animation:drift 35s linear infinite}.marquee span{color:#e3f6ff}@keyframes drift{to{transform:translateX(-20%)}}
.visual-services{background:#edf3f8;color:#142936}.visual-services .section-head p{color:#516774}.visual-services .eyebrow{color:#186a92}.showcase-grid{display:grid;grid-template-columns:1.13fr .87fr;gap:18px}.showcase-card{background:#fff;border-radius:18px;overflow:hidden;border:1px solid #cddde8;box-shadow:0 18px 38px #183d5410;display:flex;flex-direction:column}.showcase-card.featured{grid-row:span 2}.showcase-image{height:220px;position:relative;overflow:hidden;background:#152632}.showcase-card.featured .showcase-image{height:470px}.showcase-image img{height:100%;width:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1)}.showcase-card:hover img{transform:scale(1.06)}.showcase-image:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#08141f88)}.showcase-index{position:absolute;z-index:1;bottom:16px;left:22px;color:#fff;font-weight:850;letter-spacing:.13em;font-size:.75rem}.showcase-body{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:27px 27px 30px;flex:1}.showcase-body h3{font-size:clamp(1.4rem,2vw,2rem);margin-bottom:10px}.showcase-body p{color:#4e626e;max-width:450px}.showcase-body a,.service-tail a,.text-link{white-space:nowrap;color:#126b98;font-weight:800;text-underline-offset:5px}.service-tail{display:flex;align-items:center;gap:30px;border-top:1px solid #b9ccda;margin-top:28px;padding-top:24px}.service-tail .eyebrow{flex:none}.service-tail p{font-size:1.05rem;color:#425b69}.service-tail strong{color:#153b53}.service-tail a{margin-left:auto}.film-section{padding:95px 0;background:#0c1821;overflow:hidden}.film-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:8%;align-items:center}.film-copy h2{margin:18px 0}.film-copy p{color:#b8cbd7;margin:0 0 20px}.film-copy .note{border-left:2px solid var(--green);padding-left:15px;font-size:.85rem;color:#9cb1bf}.film-copy .text-link{color:#8bd8ff}.film-player{position:relative;box-shadow:22px 22px 0 #164565;border:1px solid #4b7590;border-radius:16px;overflow:hidden;background:#071019}.film-player video{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.film-caption{position:absolute;left:14px;top:14px;background:#07131ce8;color:#cbe8f8;border-radius:40px;padding:6px 13px;font-size:.68rem;font-weight:800;letter-spacing:.12em;pointer-events:none}.process-rail{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.process-rail>div{border-top:3px solid #279dd4;padding:22px 8px 0}.process-rail b{display:block;color:#2279a3;font-size:2rem;margin-bottom:27px}.process-rail h3{margin-bottom:13px}.process-rail p{color:#4f6572}.measurement{background:radial-gradient(circle at 50% 100%,#183449,transparent 55%),#0a1015}.visual-cta{position:relative;overflow:hidden;background:linear-gradient(100deg,#082033d9,#0a1a25ec),url('/lead-generation.webp') center/cover}.visual-cta h2{max-width:840px}.content-inner .detail{grid-template-columns:1.15fr .85fr;align-items:center}.content-inner .detail img{width:100%;height:420px;object-fit:cover;border-radius:18px;border:1px solid #3e6175}
@media(max-width:1100px){.creative-hero .hero-grid{gap:2%}.hero-stage{height:475px}.hero-film{inset:20px 30px 55px 0}.showcase-body{display:block}.showcase-body a{display:inline-block;margin-top:16px}.service-tail{flex-wrap:wrap}.service-tail a{margin-left:0}}
@media(max-width:850px){.creative-hero .hero-grid,.film-layout,.content-inner .detail{grid-template-columns:1fr}.creative-hero{padding-top:55px}.hero-stage{max-width:680px;width:100%;height:430px;margin-top:25px}.hero-film{inset:10px 45px 45px 0}.showcase-grid{grid-template-columns:1fr 1fr}.showcase-card.featured{grid-row:auto;grid-column:span 2}.showcase-card.featured .showcase-image{height:350px}.process-rail{gap:18px}.film-layout{gap:45px}.film-player{box-shadow:12px 12px 0 #164565}}
@media(max-width:600px){.creative-hero h1{font-size:clamp(2.7rem,10.5vw,4.25rem)}.hero-stage{height:340px}.hero-film{inset:10px 18px 52px 0}.hero-cutout{height:118px;width:49%}.hero-stamp{right:0;top:-8px;width:55px;height:55px;font-size:1.2rem}.showcase-grid,.process-rail{grid-template-columns:1fr}.showcase-card.featured{grid-column:auto}.showcase-card.featured .showcase-image,.showcase-image{height:230px}.service-tail{display:block}.service-tail p{margin:10px 0}.film-section{padding:72px 0}.film-caption{font-size:.57rem}.film-player{box-shadow:7px 7px 0 #164565}.process-rail>div{padding-bottom:16px}.marquee div{animation-duration:40s}}
@media(prefers-reduced-motion:reduce){.marquee div{animation:none}.showcase-image img{transition:none}.showcase-card:hover img{transform:none}}
.service-inner .detail{grid-template-columns:1.1fr .9fr;align-items:center}.service-inner img{width:100%;height:420px;object-fit:cover;border:1px solid #3e6175;border-radius:18px;box-shadow:0 20px 60px #030b12a0}@media(max-width:850px){.service-inner .detail{grid-template-columns:1fr}.service-inner img{height:300px}}
/* Service navigation uses identifiable icons and separated labels. */
.service-nav{background:#48a8d7;border-block:1px solid #90d7f8;color:#071722}.service-nav-track{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch}.service-nav-item{display:flex;align-items:center;justify-content:center;gap:10px;min-height:78px;padding:12px 10px;border-left:1px solid #0b354c48;text-decoration:none;font-size:.78rem;line-height:1.25;font-weight:850;letter-spacing:.05em;text-transform:uppercase;transition:background .2s}.service-nav-item:last-child{border-right:1px solid #0b354c48}.service-nav-item:hover,.service-nav-item:focus-visible{background:#9bdfff;color:#061723}.service-nav-item svg{flex:none;width:28px;height:28px;color:#093449}.showcase-grid>.showcase-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:.82fr 1.18fr;min-height:260px}.showcase-grid>.showcase-card:last-child .showcase-image{height:100%;min-height:260px}.showcase-grid>.showcase-card:last-child .showcase-body{align-self:center;padding:32px 36px}.discovery-grid .card{background:#142b38}.discovery-grid .card p{color:#c7d4de}.discovery-grid .card a{color:#a2defe}
@media(max-width:1100px){.service-nav-item{font-size:.7rem;gap:7px}.service-nav-item svg{width:24px;height:24px}}
@media(max-width:850px){.service-nav-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin}.service-nav-item{flex:0 0 auto;min-width:154px;scroll-snap-align:start}.showcase-grid>.showcase-card:last-child{display:flex;grid-column:1/-1}.showcase-grid>.showcase-card:last-child .showcase-image{height:270px;min-height:0}.showcase-grid>.showcase-card:last-child .showcase-body{padding:27px}}
@media(max-width:600px){.service-nav-item{min-width:150px;min-height:66px}.showcase-grid>.showcase-card:last-child{grid-column:auto}.showcase-grid>.showcase-card:last-child .showcase-image{height:230px}}
/* Staggered service gallery, with a clear reading order and calm mobile stack. */
.visual-services .section-head{margin-bottom:54px}.showcase-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:32px 40px;align-items:start}.showcase-grid .showcase-card.featured{grid-row:auto;grid-column:1}.showcase-grid .showcase-card:nth-child(2){grid-column:2;margin-top:86px}.showcase-grid .showcase-card:nth-child(3){grid-column:1;margin-top:-52px}.showcase-grid>.showcase-card:last-child{grid-column:2;display:flex;grid-template-columns:none;min-height:0;margin-top:44px}.showcase-card.featured .showcase-image{height:390px}.showcase-grid .showcase-card:nth-child(2) .showcase-image{height:285px}.showcase-grid .showcase-card:nth-child(3) .showcase-image{height:285px}.showcase-grid>.showcase-card:last-child .showcase-image{height:310px;min-height:0}.showcase-grid>.showcase-card:last-child .showcase-body{padding:27px;align-self:auto}.showcase-card{box-shadow:0 26px 48px #17374716}.service-tail{margin-top:85px}
/* Social icons are rendered without links until exact account destinations are confirmed. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.footer-grid{display:grid;grid-template-columns:1.15fr 1fr auto;gap:42px;align-items:start}.footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px}.footer-links a{text-decoration:none}.social-area{min-width:210px}.social-area>span{display:block;color:#b8d3e1;font-size:.8rem;font-weight:750;text-transform:uppercase;letter-spacing:.1em;margin-bottom:15px}.social-icons{display:flex;gap:9px}.social-icon{display:grid;place-items:center;width:43px;height:43px;border:1px solid #527188;border-radius:11px;color:#d8ebf6;background:#122735;transition:background .2s,transform .2s}.social-icon svg{width:23px;height:23px}.social-icon[href]:hover{background:#2a81af;transform:translateY(-3px)}.social-icon.pending{opacity:.67;cursor:default}.social-icon.pending:hover{color:#d8ebf6}.social-icon:focus-visible{outline:3px solid #65bee9;outline-offset:3px}
@media(max-width:1000px){.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.social-area{grid-column:1/-1}.visual-services .showcase-grid{gap:26px}.showcase-grid .showcase-card:nth-child(2){margin-top:55px}.showcase-grid .showcase-card:nth-child(3){margin-top:-25px}.showcase-grid>.showcase-card:last-child{margin-top:30px}.service-tail{margin-top:60px}}
@media(max-width:700px){.visual-services .section-head{margin-bottom:30px}.visual-services .showcase-grid{grid-template-columns:1fr;gap:22px}.showcase-grid .showcase-card.featured,.showcase-grid .showcase-card:nth-child(2),.showcase-grid .showcase-card:nth-child(3),.showcase-grid>.showcase-card:last-child{grid-column:1;grid-row:auto;margin-top:0;display:flex}.showcase-card.featured .showcase-image,.showcase-grid .showcase-card:nth-child(2) .showcase-image,.showcase-grid .showcase-card:nth-child(3) .showcase-image,.showcase-grid>.showcase-card:last-child .showcase-image{height:230px;min-height:0}.service-tail{margin-top:35px}.footer-grid{grid-template-columns:1fr}.social-area{grid-column:auto}.footer-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Keep each service card self-contained and give the offset cards a balanced rhythm. */
.visual-services .showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 40px}
.showcase-grid .showcase-card:nth-child(2){margin-top:72px}
.showcase-grid .showcase-card:nth-child(3){margin-top:0}
.showcase-grid>.showcase-card:last-child{margin-top:72px}
.showcase-card .showcase-body{display:block;flex:0 0 auto}
.showcase-card .showcase-body a{display:inline-block;margin-top:18px;white-space:normal}
@media(max-width:900px){
  .visual-services .showcase-grid{grid-template-columns:1fr;gap:24px}
  .showcase-grid .showcase-card.featured,.showcase-grid .showcase-card:nth-child(2),.showcase-grid .showcase-card:nth-child(3),.showcase-grid>.showcase-card:last-child{grid-column:1;grid-row:auto;margin-top:0;display:flex;min-height:0}
  .showcase-card.featured .showcase-image,.showcase-grid .showcase-card:nth-child(2) .showcase-image,.showcase-grid .showcase-card:nth-child(3) .showcase-image,.showcase-grid>.showcase-card:last-child .showcase-image{height:clamp(190px,38vw,300px);min-height:0}
}
@media(max-width:600px){.showcase-card .showcase-body{padding:24px}.showcase-card .showcase-body h3{font-size:1.45rem}.showcase-card .showcase-body p{line-height:1.55}}

/* Aligned media and service cards, shared across desktop and mobile. */
.creative-hero .hero-grid,.film-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.hero-stage{height:auto;isolation:auto;min-width:0}
.hero-film,.film-player{position:relative;inset:auto;width:100%;max-width:540px;margin:0 auto;border:1px solid #3e6175;border-radius:16px;overflow:hidden;box-shadow:0 20px 50px #02050a55;transform:none;background:#102532}
.hero-film:after{display:none}
.reel-frame{aspect-ratio:16/9;overflow:hidden;background:#071019}
.reel-frame video,.hero-film video,.film-player video{display:block;width:100%;height:100%;aspect-ratio:16/9;object-fit:cover;filter:none}
.reel-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;color:#d4f0ff;background:#102532}
.reel-label{font-size:.875rem;line-height:1.4}
.reel-sound{flex:none;border:1px solid #789caf;background:transparent;border-radius:30px;color:#f5f8fb;padding:9px 14px;font:600 .875rem/1.2 system-ui;cursor:pointer;min-height:40px}
.reel-sound:hover{background:#254758}
.visual-services .showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:stretch}
.showcase-grid .showcase-card.featured,.showcase-grid .showcase-card:nth-child(2),.showcase-grid .showcase-card:nth-child(3),.showcase-grid>.showcase-card:last-child{grid-column:auto;grid-row:auto;margin:0;display:flex;min-height:0}
.showcase-grid .showcase-card .showcase-image{height:auto;aspect-ratio:16/9;min-height:0}
.showcase-card .showcase-body{padding:28px;display:flex;flex-direction:column;align-items:flex-start;flex:1;gap:20px}
.showcase-card .showcase-body a{margin:0;margin-top:auto}
.showcase-card .showcase-body h3{font-size:1.65rem}
@media(max-width:850px){.creative-hero .hero-grid,.film-layout{grid-template-columns:1fr;gap:36px}.hero-stage{height:auto;margin-top:0;max-width:none}.hero-film,.film-player{max-width:540px}.visual-services .showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.visual-services .showcase-grid{grid-template-columns:1fr;gap:24px}.showcase-card .showcase-body{padding:24px}.reel-toolbar{padding:12px;gap:10px}.reel-sound{padding:9px 12px}.reel-label{max-width:150px}}

/* Keep the top navigation and site search usable at narrow widths. */
.nav{gap:22px}.navlinks{gap:16px}.navlinks a{white-space:nowrap}.nav>.button{flex:none}
.search-row{display:flex;justify-content:flex-end;padding-bottom:12px}
.site-search{position:relative;width:min(100%,420px)}
.search-field{display:flex;border:1px solid #527188;border-radius:30px;background:#142631;overflow:hidden}
.search-field input{border:0;border-radius:0;background:transparent;color:#f5f8fb;padding:10px 16px;min-width:0;font-size:.875rem}
.search-field input::placeholder{color:#bccfda}
.search-field button{border:0;border-left:1px solid #527188;background:#244555;color:#e6f5ff;padding:10px 16px;font:650 .875rem system-ui;cursor:pointer}
.search-results{position:absolute;right:0;top:calc(100% + 8px);width:100%;max-height:min(440px,60vh);overflow:auto;background:#102532;border:1px solid #527188;border-radius:14px;box-shadow:0 16px 45px #0008;z-index:30;padding:10px}
.search-results a{display:block;padding:12px;border-radius:8px;text-decoration:none;color:#f5f8fb}
.search-results a:hover,.search-results a:focus-visible{background:#254758}
.search-results strong{display:block;font-size:1rem}.search-results span{display:block;color:#b7ccd9;font-size:.875rem;margin-top:4px}
.search-summary{padding:7px 12px;color:#bdd2de;font-size:.875rem}
.chat-open{position:fixed;right:24px;bottom:22px;z-index:40;background:#65bee9;color:#071723;border:1px solid #a0def8;border-radius:30px;box-shadow:0 10px 30px #0005;min-height:50px;padding:13px 22px;font:750 1rem system-ui;cursor:pointer}
.chat-panel{position:fixed;right:24px;bottom:84px;width:min(390px,calc(100vw - 32px));max-height:calc(100dvh - 110px);overflow:auto;z-index:41;background:#112633;color:#f5f8fb;border:1px solid #557a91;border-radius:18px;box-shadow:0 20px 60px #0008}
.chat-heading{padding:20px;display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid #345369;gap:16px}.chat-heading h2{font-size:1.2rem;letter-spacing:-.02em}.chat-heading p{font-size:.875rem;margin-top:6px;color:#bad3e2}.chat-heading button{background:none;color:#cfefff;border:1px solid #68899b;border-radius:50%;width:36px;height:36px;font:1.5rem system-ui;cursor:pointer;flex:none}
.chat-log{max-height:290px;min-height:100px;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.chat-message{padding:12px 14px;border-radius:12px;font-size:.9375rem;line-height:1.5;max-width:95%;overflow-wrap:anywhere}.chat-message.assistant{background:#244455;align-self:start}.chat-message.visitor{background:#65bee9;color:#092130;align-self:end}.chat-message a{display:block;color:#b9eaff;margin-top:9px;font-weight:650;text-underline-offset:3px}
.chat-suggestions{display:flex;flex-wrap:wrap;gap:7px;padding:0 16px 14px}.chat-suggestions button{border:1px solid #6b9bb5;border-radius:20px;background:transparent;color:#e4f6ff;font:600 .875rem system-ui;padding:8px 12px;cursor:pointer;min-height:38px}
#chat-form{display:flex;gap:8px;padding:0 16px}#chat-input{background:#071923;color:#f5f8fb;border-color:#557a91;min-width:0;font-size:1rem}#chat-input::placeholder{color:#bacbd5}#chat-form button{background:#65bee9;color:#071723;border:0;border-radius:8px;padding:10px 14px;font:700 .9375rem system-ui;cursor:pointer}
.chat-note{font-size:.75rem;line-height:1.5;color:#b5cbd9;padding:12px 18px 16px}
[hidden]{display:none!important}
@media(max-width:1150px){.nav>.button{display:none}.menu{display:block;margin-left:auto}.navlinks{display:none;position:absolute;top:78px;left:0;right:0;background:#08090b;padding:20px 24px;border-bottom:1px solid var(--line);flex-direction:column;align-items:start;margin:0}.navlinks.open{display:flex}}
@media(max-width:600px){.search-row{justify-content:stretch}.site-search{width:100%}.chat-open{right:16px;bottom:16px;padding:12px 18px;font-size:.9375rem}.chat-panel{right:16px;bottom:78px}.chat-log{max-height:240px}}

section[id]{scroll-margin-top:160px}@media(max-width:600px){section[id]{scroll-margin-top:190px}}

/* The fifth service receives the same image frame and a full description. */
.showcase-grid>.reporting-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0}
.showcase-grid>.reporting-card:last-child .showcase-image{height:100%;min-height:323px;aspect-ratio:auto}
.showcase-grid>.reporting-card:last-child .showcase-body{padding:34px;justify-content:center}
.showcase-grid>.reporting-card:last-child .showcase-body a{margin-top:4px}
@media(max-width:850px){.showcase-grid>.reporting-card:last-child .showcase-image{min-height:280px}}
@media(max-width:600px){.showcase-grid>.reporting-card:last-child{display:flex;grid-column:1}.showcase-grid>.reporting-card:last-child .showcase-image{height:auto;aspect-ratio:16/9;min-height:0}.showcase-grid>.reporting-card:last-child .showcase-body{padding:24px}}
.reporting-card{scroll-margin-top:160px}@media(max-width:600px){.reporting-card{scroll-margin-top:190px}}

/* Compact cards share image, title, description and action tracks within each row. */
.visual-services .showcase-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px;grid-auto-rows:auto}
.visual-services .showcase-grid>.showcase-card{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:subgrid;grid-row:span 4;grid-column:auto;margin:0 0 24px;gap:0;min-width:0}
.visual-services .showcase-grid .showcase-image{height:auto;min-height:0;aspect-ratio:16/9}
.visual-services .showcase-card .showcase-body,.visual-services .showcase-card .showcase-body>div{display:contents}
.visual-services .showcase-card .showcase-body h3{font-size:1.35rem;line-height:1.2;padding:22px 22px 12px;margin:0}
.visual-services .showcase-card .showcase-body p{font-size:.94rem;line-height:1.6;padding:0 22px;margin:0}
.visual-services .showcase-card .showcase-body a{margin:0;padding:22px;align-self:end;font-size:.94rem}
.hero-film,.film-player{max-width:320px}
.reel-frame,.reel-frame video,.hero-film video,.film-player video{aspect-ratio:9/16}
.reel-toolbar{padding:12px;gap:8px}.reel-label{font-size:.8rem}
.reel-sound{display:flex;align-items:center;gap:7px;padding:8px 10px;font-size:.8rem}
.reel-sound svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.reel-sound .sound-waves{display:none}.reel-sound.sound-on .sound-waves{display:block}.reel-sound.sound-on .sound-slash{display:none}
.film-copy{max-width:540px}.film-layout{gap:48px}
@media(max-width:950px){.visual-services .showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.visual-services .showcase-grid{grid-template-columns:1fr;gap:0}.visual-services .showcase-card .showcase-body h3{font-size:1.35rem}.hero-film,.film-player{max-width:300px}}

.visual-services .showcase-grid>.showcase-card .showcase-image{width:100%;height:auto!important;min-height:0!important;aspect-ratio:16/9;align-self:start}
.visual-services .showcase-grid>.showcase-card .showcase-image img{width:100%;height:100%;object-fit:cover}
.visual-services .showcase-grid>.showcase-card .showcase-body a{margin:0}

.service-nav-track{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}.service-nav-item{min-width:0}.visual-services .showcase-card .showcase-body p{font-size:1rem}.email-card{scroll-margin-top:160px}
@media(max-width:850px){.service-nav-track{display:flex;overflow-x:auto}.service-nav-item{flex:0 0 165px}}

/* Canvas renders actual video frames without a native video display layer. */
.reel-frame{position:relative;isolation:isolate;aspect-ratio:9/16}
.reel-frame canvas,.reel-frame .reel-poster{display:block;width:100%;height:100%;object-fit:cover}
.reel-frame audio{display:none}
.reel-controls{position:absolute;bottom:0;left:0;right:0;z-index:2;display:flex;align-items:center;gap:8px;padding:12px;background:linear-gradient(transparent,#071723f0);color:white}
.reel-play{border:1px solid #89b5ca;border-radius:7px;background:#102532;color:white;padding:7px 10px;min-height:38px;font:650 .875rem system-ui;cursor:pointer;min-width:58px}
.reel-play:disabled{cursor:wait;opacity:.7}
.reel-seek{flex:1;min-width:0;height:24px;padding:0;border:0;background:transparent;accent-color:#7dd5ff;cursor:pointer}
.reel-time{font-size:.75rem;white-space:nowrap}.reel-poster{cursor:pointer}.reel-frame canvas{cursor:pointer}

.reel-picture{position:relative;width:100%;height:100%;overflow:hidden;cursor:pointer}
.reel-picture .reel-sprite{display:block;position:absolute;width:400%;height:300%;max-width:none;object-fit:fill}

/* Compact icon controls with spoken labels for accessibility. */
.reel-play,.reel-controls .reel-sound{display:grid;place-items:center;width:40px;height:40px;min-width:40px;min-height:40px;flex:none;border:1px solid #7699ae;border-radius:50%;padding:0;background:#0d2232b3;color:#e9f7ff;cursor:pointer}
.reel-play:hover,.reel-controls .reel-sound:hover{background:#254758}
.reel-play svg{width:20px;height:20px;fill:currentColor}
.reel-play .pause-symbol{display:none}.reel-play.is-playing .pause-symbol{display:block}.reel-play.is-playing .play-symbol{display:none}
.reel-play.is-loading svg{opacity:.45}
.reel-controls{padding:12px;gap:9px}.reel-time{font-size:.75rem}
.chat-open{display:grid;place-items:center;width:56px;height:56px;min-height:56px;border-radius:50%;padding:0}
.chat-open svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.chat-open svg path:last-child{stroke-width:3}
@media(max-width:600px){.chat-open{padding:0;width:52px;height:52px;min-height:52px}.reel-controls{gap:7px;padding:10px}.reel-play,.reel-controls .reel-sound{width:36px;height:36px;min-width:36px;min-height:36px}.reel-time{font-size:.7rem}}
/* Square films: full footage inside a compact viewport, with controls below. */
.hero-film,.film-player{max-width:480px;width:100%}
.reel-frame{aspect-ratio:1;height:auto;display:grid;grid-template-rows:minmax(0,1fr) auto;background:#071723;overflow:hidden}
.reel-frame .reel-poster,.reel-picture{grid-area:1/1;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.reel-picture .reel-sprite{height:300%;width:400%}
.reel-controls{position:relative;grid-area:2/1;inset:auto;background:#102532;padding:10px 12px}
@media(max-width:600px){.hero-film,.film-player{max-width:420px}.reel-controls{padding:10px}}
.enquiry-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.reel-frame{aspect-ratio:auto;display:block}
.reel-frame .reel-poster,.reel-picture{height:auto;aspect-ratio:1}
/* Full-bleed 16:9 footage, with separate controls. */
.hero-film,.film-player{max-width:640px}
.reel-frame .reel-poster,.reel-picture{aspect-ratio:16/9;object-fit:cover}
@media(max-width:600px){.hero-film,.film-player{max-width:640px}}
