:root{--ink:#141820;--green:#3959d9;--paper:#f7f8fa;--muted:#aab0bb;--blue:#3959d9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}header{height:100px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:white;border-bottom:1px solid #ffffff20}.brand{display:flex;gap:13px;align-items:center;font-size:24px;letter-spacing:2px;font-weight:800}.brand img{width:66px;height:52px;object-fit:contain}.brand-sub{display:block;font-size:8px;letter-spacing:2px;margin-top:5px}nav{display:flex;gap:34px;font-size:14px}nav a:hover{color:var(--green)}.header-call{border:1px solid #ffffff60;padding:13px 22px;border-radius:3px;font-size:14px}.header-call span{margin-left:22px;color:var(--green)}.hero{display:grid;grid-template-columns:56% 44%;min-height:690px;background:var(--ink);color:var(--paper)}.hero-copy{padding:48px 8.8% 24px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.7px;line-height:1.7;color:#bac1cd;margin:0 0 28px}.dark{color:#555e6e}.dot{display:inline-block;width:7px;height:7px;background:var(--green);border-radius:50%;margin-right:8px}h1{font-size:clamp(72px,7.8vw,120px);font-weight:700;line-height:.96;letter-spacing:-6px;margin:40px 0 28px}h1>span{color:var(--green)}.hero-intro{font-size:17px;line-height:1.65;color:#c6cbd4}.actions{display:flex;align-items:center;gap:28px;margin:30px 0 50px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;font-size:13px;font-weight:700;padding:20px 24px;border-radius:2px}.green{background:var(--green);color:var(--ink)}.button:hover{filter:brightness(.93)}.text-link{font-size:13px;border:0;border-bottom:1px solid #8d95a3;background:none;padding:0 0 7px;display:inline-flex;gap:24px;align-items:center}.hero-foot{border-top:1px solid #ffffff20;display:flex;justify-content:space-between;padding-top:18px;font-size:8px;letter-spacing:1.3px;color:#a6adba}.hero-image{position:relative;min-height:650px;overflow:hidden}.hero-image>img{position:absolute;inset:0;object-position:center 45%}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 60%,#111722b8)}.image-caption{position:absolute;z-index:1;bottom:35px;left:35px;right:35px;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:2px;line-height:1.8}.cross{font-size:35px;color:var(--green)}.service-strip{background:var(--green);display:flex;justify-content:space-between;align-items:center;padding:25px 5%;gap:20px;font-size:10px;font-weight:700;letter-spacing:1.1px}.plus{font-size:17px}.section-pad{padding:95px 7%}.intro{display:grid;grid-template-columns:1fr 2fr;gap:10%;border-bottom:1px solid #dce0e7}.intro>div{max-width:720px}h2{font-size:clamp(34px,4vw,60px);line-height:1.06;letter-spacing:-2.5px;margin:0 0 25px;font-weight:600}p{line-height:1.75}.intro p:not(.eyebrow),.approach p:not(.eyebrow){color:#596170;font-size:16px;max-width:630px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:40px}.section-head h2{margin-bottom:0}.section-head>p{font-size:13px;color:#626b79;margin-bottom:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{background:#fff;border:1px solid #e0e3e9}.service-card>img{height:240px}.service-body{padding:27px}.number{font-size:10px;color:#757e8b}.service-card h3{font-size:25px;line-height:1.15;font-weight:500;letter-spacing:-.7px;margin:14px 0}.service-card p{font-size:12px;color:#626d7c;min-height:38px}.service-card details{border-top:1px solid #e0e3e9;padding-top:18px}.service-card summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;font-size:12px;font-weight:700}.service-card summary::-webkit-details-marker{display:none}details[open] summary span{transform:rotate(45deg)}details ul{padding-left:16px;font-size:13px;color:#555e6e;line-height:1.8;margin-bottom:0}.projects{background:var(--ink);color:white}.projects .section-head>p{color:#b1b9c6}.project-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:7%;align-items:center}.film-card{position:relative;padding:0;border:0;background:#242b38;text-align:left;aspect-ratio:1.6;color:white;overflow:hidden}.film-card:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#0009)}.film-card>img{transition:transform .4s}.film-card:hover>img{transform:scale(1.025)}.play{position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);width:65px;height:65px;display:grid;place-items:center;background:var(--green);color:var(--ink);border-radius:50%;font-size:20px;padding-left:4px}.film-label{position:absolute;z-index:1;bottom:25px;left:25px;right:25px;font-size:10px;letter-spacing:1.6px;display:flex;justify-content:space-between}.project-story h3{font-size:40px;letter-spacing:-1.5px;font-weight:500;line-height:1.1;margin:0 0 20px}.project-story p:not(.eyebrow){font-size:14px;color:#bac2cf}.project-story .eyebrow{font-size:9px;color:var(--green)}.tags{display:flex;flex-wrap:wrap;gap:7px;margin:23px 0}.tags span{border:1px solid #ffffff30;border-radius:20px;padding:7px 10px;font-size:9px;color:#c3cad6}.light{color:white;margin-top:9px}.approach{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.approach .text-link{margin-top:15px}.steps article{display:flex;gap:25px;padding:26px 0;border-top:1px solid #d9dee7}.steps article:last-child{border-bottom:1px solid #d9dee7}.steps article>span{font-size:12px;color:#626f85;padding-top:3px}.steps h3{font-size:22px;font-weight:500;margin:0 0 10px;letter-spacing:-.5px}.steps p{font-size:13px!important;margin:0}.contact{background:var(--green)}.contact-main{display:grid;grid-template-columns:1.3fr 1fr;gap:10%;align-items:center}.contact h2{font-size:clamp(40px,5vw,72px);margin:0}.contact-main p{max-width:390px;font-size:14px}.phone{display:block;font-size:25px;letter-spacing:-.5px;margin:20px 0}.black{background:var(--ink);color:white}footer{background:var(--ink);color:#bac2d0;padding:50px 5% 25px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-bottom:40px}.footer-top .brand{color:white}.footer-top p{font-size:11px;line-height:1.9}.footer-bottom{border-top:1px solid #ffffff20;padding-top:23px;display:flex;justify-content:space-between;font-size:9px;gap:20px}dialog{padding:15px;background:var(--ink);color:white;border:1px solid #65728c;border-radius:6px;width:min(1100px,95vw);max-height:95vh}dialog::backdrop{background:#000c}dialog video{width:100%;max-height:80vh;display:block}.dialog-top{display:flex;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:1px;padding-bottom:15px}.dialog-top button{background:transparent;color:white;border:1px solid #ffffff60;padding:10px 15px}.skip{position:absolute;top:-100px;left:20px;z-index:5;padding:12px;background:var(--green)}.skip:focus{top:10px}:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
@media(min-width:1500px){body{max-width:1920px;margin:auto}}@media(max-width:1000px){header{height:85px}nav{gap:18px}.hero{grid-template-columns:55% 45%;min-height:610px}.hero-copy{padding:35px 8% 25px}h1{font-size:80px;letter-spacing:-4px}.hero-image{min-height:610px}.actions{flex-direction:column;align-items:flex-start;gap:20px}.hero-foot{gap:15px;font-size:7px}.section-pad{padding:70px 6%}.service-card>img{height:180px}.service-body{padding:20px}.service-card h3{font-size:21px}.project-layout{gap:5%}.project-story h3{font-size:32px}.intro{gap:6%}.service-strip{font-size:8px;gap:12px}.footer-top .brand{font-size:19px}}
@media(max-width:650px){header{height:78px;padding:0 6%}.brand{font-size:19px;gap:8px}.brand img{width:52px;height:44px}.brand-sub{font-size:6px;letter-spacing:1.4px}nav{display:none}.header-call{font-size:12px;padding:10px 13px}.header-call span{margin-left:10px}.hero{display:flex;flex-direction:column}.hero-copy{padding:33px 6% 25px}.eyebrow{font-size:8px;letter-spacing:1.1px;margin-bottom:20px}h1{font-size:82px;letter-spacing:-4px;margin:28px 0 24px;line-height:.94}.hero-intro{font-size:14px}.actions{flex-direction:row;align-items:center;gap:23px;margin:25px 0 35px}.button{font-size:11px;padding:17px 18px;gap:20px}.text-link{font-size:11px;gap:12px}.hero-foot{font-size:7px}.hero-image{min-height:380px;height:380px}.hero-image>img{object-position:center 45%}.image-caption{left:24px;right:24px;bottom:20px;font-size:8px}.service-strip{display:grid;grid-template-columns:1fr 1fr;gap:16px;text-align:center;padding:22px 5%;font-size:8px}.service-strip .plus{display:none}.section-pad{padding:55px 6%}.intro{display:block}.intro .eyebrow{margin-bottom:25px}h2{font-size:38px;letter-spacing:-1.5px}.intro p:not(.eyebrow),.approach p:not(.eyebrow){font-size:14px}.section-head{display:block;margin-bottom:28px}.section-head>p{font-size:12px;margin-top:22px}.service-grid{grid-template-columns:1fr;gap:23px}.service-card>img{height:230px}.service-body{padding:25px}.service-card h3{font-size:27px}.service-card p{min-height:0;font-size:13px}.service-card summary{font-size:13px}.project-layout{grid-template-columns:1fr;gap:30px}.project-story h3{font-size:35px}.project-story p:not(.eyebrow){font-size:13px}.film-card{aspect-ratio:1.35}.approach{grid-template-columns:1fr;gap:35px}.contact-main{grid-template-columns:1fr;gap:15px}.contact h2{font-size:44px}.contact-main p{font-size:14px}.phone{font-size:26px}.footer-top{align-items:flex-start;flex-direction:column;gap:10px;padding-bottom:25px}.footer-top p{margin:5px 0}.footer-bottom{flex-wrap:wrap;line-height:1.7;gap:14px}.footer-bottom>span:nth-child(2){display:none}dialog{padding:10px}.dialog-top{font-size:9px}.dialog-top button{font-size:11px}.play{height:55px;width:55px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.film-card>img{transition:none}}

.job-gallery{border-bottom:1px solid #dce0e7}.gallery-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px}.gallery-card{grid-column:span 2;background:transparent;border:0;padding:0;text-align:left;color:var(--ink)}.gallery-card:nth-child(1),.gallery-card:nth-child(2){grid-column:span 3}.gallery-card img{height:330px;object-fit:cover;object-position:center 45%}.gallery-card>span{display:flex;justify-content:space-between;gap:15px;padding:17px 0;border-bottom:1px solid #d7dde7;font-size:12px}.gallery-card>span>span{color:#3959d9}.gallery-card:hover>span{color:#2548ee}#photo-dialog{max-width:1000px}#photo-dialog>img{width:100%;height:auto;max-height:80vh;object-fit:contain}@media(max-width:650px){.gallery-grid{grid-template-columns:1fr 1fr;gap:22px 15px}.gallery-card,.gallery-card:nth-child(1),.gallery-card:nth-child(2){grid-column:span 1}.gallery-card:first-child{grid-column:span 2}.gallery-card img{height:220px}.gallery-card:first-child img{height:380px}.gallery-card>span{font-size:11px;line-height:1.5;min-height:62px;padding:12px 0}}

/* Neutral palette, blue accents, original logo retained. */
.green{background:#3959d9;color:#fff}h1>span{color:#b5c3f7}.dot{background:#b5c3f7}.service-strip{background:#fff;border-bottom:1px solid #dce0e7;color:#424b5b}.service-strip .plus{color:#3959d9}.contact{background:#e9edf6;color:#141820}.contact .eyebrow{color:#555e6e}.contact .black{background:#141820;color:#fff}.play{background:white;color:#3959d9}.project-story .eyebrow{color:#aebef5}.header-call span,.cross{color:#b5c3f7}nav a:hover{color:#b5c3f7}.skip{color:white}.hero-foot{color:#b6becb}

.project-photo{aspect-ratio:1.5;grid-column:auto!important;width:100%}.project-photo img{height:100%!important}.project-photo>.film-label{border:0;min-height:0;color:white;background:transparent;padding:0}.project-photo>.film-label>span{color:white}.building-teams{background:#eef1f6;border-top:1px solid #dce0e7}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.team-grid article{border-top:2px solid #3959d9;padding-top:22px}.team-grid article>span{font-size:9px;letter-spacing:1.4px;color:#626d7c}.team-grid h3{font-size:23px;letter-spacing:-.6px;font-weight:500;margin:18px 0 14px}.team-grid p{font-size:13px;color:#596170}.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:9%}.faq details{border-top:1px solid #dce0e7;padding:22px 0}.faq details:last-child{border-bottom:1px solid #dce0e7}.faq summary{display:flex;justify-content:space-between;gap:20px;cursor:pointer;font-size:15px;list-style:none;line-height:1.5}.faq summary::-webkit-details-marker{display:none}.faq details p{font-size:13px;color:#596170;padding-right:20px;margin-bottom:0}.faq summary>span{color:#3959d9}@media(max-width:650px){.team-grid{grid-template-columns:1fr;gap:22px}.team-grid h3{font-size:23px}.faq{grid-template-columns:1fr;gap:15px}.faq summary{font-size:14px}.project-photo{aspect-ratio:1.2}.project-photo .film-label{font-size:9px}.team-grid p{font-size:14px}}

/* Unified, understated buttons. */
.button,.header-call,.text-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 23px;gap:0;border-radius:7px;font-size:13px;font-weight:600;line-height:1.35;letter-spacing:.1px;text-decoration:none;transition:background-color .18s ease,box-shadow .18s ease,border-color .18s ease;cursor:pointer}
.button{border:1px solid transparent;box-shadow:0 3px 9px #00000012}.button.green{background:#3959d9;color:white;border-color:#3959d9}.button.green:hover{background:#2d49bc;border-color:#2d49bc;filter:none;box-shadow:0 5px 14px #00000020}.button.black{background:#141820;color:#fff;border-color:#141820}.button.black:hover{background:#2b3342;filter:none;box-shadow:0 5px 14px #00000020}.header-call{background:#f6f7fa;color:#141820;border:1px solid #f6f7fa;padding:12px 22px;min-height:44px}.header-call:hover{background:#e3e8f3;border-color:#e3e8f3}.text-link{color:#283448;background:transparent;border:1px solid #c5cdd9;padding:13px 21px;box-shadow:none}.text-link:hover{background:#e9edf4;border-color:#9daabc}.hero .text-link,.projects .text-link{color:#f5f7fc;border-color:#ffffff55;background:transparent}.hero .text-link:hover,.projects .text-link:hover{background:#ffffff0d;border-color:#ffffffa0}.service-card details{border-top:0;padding-top:8px}.service-card summary{min-height:43px;align-items:center;border:1px solid #dce1eb;background:#f7f8fb;border-radius:6px;padding:11px 13px;transition:background-color .18s ease}.service-card summary:hover{background:#edf0f6}.service-card details[open] summary{background:#edf0f6;border-color:#bdc8dd}.dialog-top button{border-radius:6px;min-height:40px;background:#ffffff0a}.dialog-top button:hover{background:#ffffff18}.actions{gap:15px}.project-story .text-link{margin-top:10px}.phone:hover{text-decoration:underline;text-underline-offset:5px}.film-label{font-size:10px}
@media(max-width:650px){.actions{display:flex;align-items:stretch;gap:12px;flex-wrap:wrap}.actions .button,.actions .text-link{font-size:12px;padding:14px 17px;min-height:47px}.header-call{font-size:12px;min-height:41px;padding:11px 17px}.button,.text-link{min-height:47px}.contact .button{width:100%;max-width:340px}.service-card summary{min-height:46px}}
@media(prefers-reduced-motion:reduce){.button,.header-call,.text-link,.service-card summary{transition:none}}

/* Align visible MP artwork with GENERAL; crop transparent image padding in CSS. */
.brand{display:inline-grid;grid-template-columns:44px auto;grid-template-rows:24px auto;align-items:center;column-gap:10px;row-gap:6px;font-size:24px;letter-spacing:2px;line-height:1;flex-shrink:0}
.brand-mark{display:block;position:relative;grid-column:1;grid-row:1;width:44px;height:21.1px;overflow:hidden}
.brand .brand-mark img{position:absolute;display:block;width:111.94%;height:233.36%;max-width:none;object-fit:fill;left:-6.52%;top:-67.27%}
.brand-word{display:block;grid-column:2;grid-row:1;line-height:24px;align-self:center;white-space:nowrap}
.brand-sub{grid-column:1/-1;grid-row:2;display:block;text-align:center;font-size:8px;line-height:1.2;letter-spacing:2px;margin:0}
.footer-top .brand{font-size:24px}
@media(max-width:650px){.brand,.footer-top .brand{grid-template-columns:35px auto;grid-template-rows:20px auto;font-size:19px;column-gap:8px;row-gap:5px}.brand-mark{width:35px;height:16.8px}.brand-word{line-height:20px}.brand-sub{font-size:6px;letter-spacing:1.7px;margin:0}}

.contact-with-form{grid-template-columns:.85fr 1.15fr;gap:8%;align-items:start}.contact-copy h2{font-size:clamp(36px,4vw,57px)}.contact-copy>p{max-width:350px;margin-top:25px}.contact-copy .phone{font-size:23px;margin-top:30px;margin-bottom:12px}.contact-email{font-size:14px;color:#35496f;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.contact-form{background:#fff;border:1px solid #d7deea;border-radius:12px;padding:32px;box-shadow:0 8px 25px #15213b05}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}.field{display:flex;flex-direction:column;gap:9px;min-width:0}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:600;color:#263349;line-height:1.5}.field label span{font-weight:400;font-size:10px;color:#69758b}.field input,.field select,.field textarea{font:inherit;font-size:14px;color:#19263a;width:100%;min-height:47px;padding:13px 14px;border:1px solid #cdd5e2;border-radius:6px;background:#fff;box-sizing:border-box}.field input::placeholder,.field textarea::placeholder{color:#7a8598;font-size:12px;opacity:1}.field textarea{resize:vertical;line-height:1.65;min-height:135px}.field select{padding-right:25px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #3959d9;outline-offset:2px;border-color:#3959d9}.contact-form .form-note{font-size:10px;line-height:1.65;color:#68758a;margin:20px 0;max-width:none}.form-submit{width:100%;min-height:49px}.contact-form .form-help{text-align:center;font-size:11px;color:#69758b;margin:15px 0 0;max-width:none}.form-help a{color:#35496f;text-decoration:underline;text-underline-offset:3px}.form-trap{display:none!important}@media(max-width:650px){.contact-with-form{grid-template-columns:1fr;gap:30px}.contact-copy h2{font-size:42px}.contact-copy>p{font-size:14px}.contact-copy .phone{margin-top:20px}.contact-form{padding:23px 20px;border-radius:10px}.form-grid{grid-template-columns:1fr;gap:18px}.field.full{grid-column:auto}.field input,.field select,.field textarea{font-size:16px}.contact .form-submit{max-width:none}.contact-form .form-note{font-size:10px}.contact-form .form-help{font-size:12px}}

.promo-player{min-width:0}.promo-player video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#000;border:1px solid #ffffff25;border-radius:8px}.promo-player>p{margin:13px 0 0;font-size:10px;letter-spacing:.7px;color:#b5bfce;line-height:1.6}
