:root{--orange:#ff5100;--black:#080808;--line:#dedede;font-family:'Poppins',sans-serif;color:var(--black);background:white;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:6px}.skip{position:absolute;top:-100px;background:#fff;padding:15px;z-index:10}.skip:focus{top:0}header{height:124px;display:flex;align-items:center;justify-content:space-between;padding:22px 6%}.brand{width:157px;display:block}.brand svg{width:100%;display:block}nav{display:flex;gap:46px;font-size:14px;font-weight:500}nav a:hover{color:var(--orange)}.hero{display:grid;grid-template-columns:44% 56%;min-height:480px;background:#000;color:#fff}.hero-copy{padding:50px 0 54px 13.6%;display:flex;align-items:center}h1{font-size:clamp(58px,7.2vw,112px);letter-spacing:-.065em;line-height:1.04;margin:0;font-weight:600}h1 span,h2 span{color:var(--orange)}.hero-image{position:relative;overflow:hidden;min-height:420px}.hero-image>svg{display:block;position:absolute;width:100%;height:100%}.hero-image:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.5))}.image-caption{position:absolute;left:30px;bottom:26px;font-size:12px;letter-spacing:.05em;z-index:1}.section{padding:76px 6%}.section-heading{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:32px;gap:20px}h2{font-size:clamp(30px,3vw,48px);line-height:1.15;letter-spacing:-.045em;margin:0;font-weight:600}.section-heading p{font-size:14px;margin:0}.projects{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.project{padding:0;text-align:left;border:0;background:none;cursor:pointer;color:inherit;min-width:0}.project-image{aspect-ratio:1.25;overflow:hidden;background:#111}.project-image img,.project-image svg{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s}.project:hover .project-image img,.project:hover .project-image svg{transform:scale(1.045)}.project-meta{display:flex;justify-content:space-between;gap:10px;padding-top:17px}.project h3{font-size:17px;line-height:1.4;margin:0;font-weight:600}.project p{font-size:13px;margin:5px 0 0;color:#5b5b5b}.project-arrow{font-size:24px;line-height:1;color:var(--orange)}.credit{font-size:12px;color:#666;margin:30px 0 0}.about{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-top:78px;padding-bottom:84px}.eyebrow{font-size:13px;font-weight:600;letter-spacing:.07em;margin:0 0 22px}.about h2{font-size:clamp(32px,3.35vw,52px)}.about-copy p{font-size:16px;line-height:1.8;margin:0 0 20px}.services{display:flex;gap:10px 22px;flex-wrap:wrap;font-size:14px;font-weight:500;padding-top:12px}.services span{border-bottom:2px solid var(--orange);padding-bottom:5px}.contact{background:var(--black);color:white;padding-top:64px;padding-bottom:72px}.contact h2{font-size:clamp(54px,7vw,108px);letter-spacing:-.06em;line-height:1.04}.email{display:inline-flex;align-items:center;gap:40px;font-size:clamp(18px,2.2vw,28px);margin-top:32px;border-bottom:1px solid #777;padding-bottom:10px}.email:hover{color:var(--orange)}.email span{color:var(--orange)}footer{padding:25px 6%;display:flex;justify-content:space-between;gap:20px;font-size:12px}dialog{padding:0;border:0;width:min(1050px,94vw);max-height:92dvh;overflow:auto;color:var(--black)}dialog::backdrop{background:rgba(0,0,0,.8)}body.modal-open{overflow:hidden}.dialog-top{display:flex;justify-content:space-between;align-items:center;padding:16px 30px;background:white;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:2;font-size:12px;letter-spacing:.04em}.dialog-top button{border:0;background:none;cursor:pointer;font-size:14px;padding:8px}.dialog-top button span{font-size:25px;vertical-align:middle;margin-left:12px}.detail-head{padding:36px 40px 30px}.detail-head .eyebrow{margin-bottom:14px}.detail-head h2{font-size:clamp(30px,4vw,54px)}.detail-hero{height:390px;background:#111}.detail-hero img,.detail-hero svg{width:100%;height:100%;object-fit:cover;display:block}.detail-body{padding:35px 40px}.detail-body p{line-height:1.85;font-size:16px}.detail-body h3{font-size:23px;margin:28px 0 10px}.detail-body ul{padding-left:20px;line-height:1.8;font-size:15px}.metrics{display:flex;flex-wrap:wrap;gap:25px 40px;margin:28px 0}.metric strong{font-size:32px;display:block;color:var(--orange);font-weight:600}.metric span{font-size:13px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 40px 40px}.gallery img{width:100%;height:260px;object-fit:cover}.detail-credit{color:#666;font-size:12px!important;border-top:1px solid var(--line);padding-top:20px}@media(min-width:1600px){body{max-width:1800px;margin:auto}.hero{min-height:570px}}@media(max-width:950px){header{height:104px}.hero{min-height:400px}.hero-copy{padding-top:40px;padding-bottom:40px}.hero-image{min-height:350px}.projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 22px}.project-image{aspect-ratio:1.6}.section{padding:56px 6%}.about{gap:6%}.about h2{font-size:34px}}@media(max-width:600px){header{height:94px;padding:18px 6%}.brand{width:117px}nav{gap:18px;font-size:12px}.hero{grid-template-columns:1fr}.hero-copy{padding:32px 6% 38px}h1{font-size:76px}.hero-image{min-height:245px}.image-caption{left:6%;bottom:19px;font-size:11px}.section-heading{display:block;margin-bottom:24px}.section-heading p{margin-top:10px}.projects{gap:26px 16px}.project-image{aspect-ratio:1.1}.project h3{font-size:15px}.project p{font-size:12px}.project-arrow{font-size:20px}.about{grid-template-columns:1fr;gap:25px}.section{padding-top:44px;padding-bottom:44px}.credit{font-size:12px;line-height:1.6}.contact h2{font-size:66px}footer{flex-wrap:wrap;line-height:1.5}footer>span:nth-child(2){display:none}.detail-head,.detail-body{padding:25px}.detail-hero{height:250px}.gallery{padding:0 25px 25px;gap:10px}.gallery img{height:180px}.dialog-top{padding:10px 20px}dialog{max-height:95dvh;width:96vw}.metrics{gap:20px}.metric strong{font-size:28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.projects{grid-template-columns:repeat(5,minmax(0,1fr))}.project-type{height:100%;display:flex;flex-direction:column;justify-content:center;padding:22px;background:#080808;color:white;gap:16px}.project-type>span{font-size:16px}.project-type strong{font-size:clamp(18px,1.6vw,26px);line-height:1.25;letter-spacing:-.04em}.project-type small{font-size:10px;letter-spacing:.07em;color:#ddd}.detail-hero:has(.project-type){height:auto}.detail-hero .project-type{padding:40px}.detail-hero .project-type strong{font-size:40px}@media(max-width:1100px){.projects{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:750px){.projects{grid-template-columns:repeat(2,minmax(0,1fr))}.project-type{padding:16px;gap:12px}.project-type small{font-size:9px}}
.client-strip{border-top:1px solid #dedede;padding:28px 0 34px;overflow:hidden}.client-strip-head{display:flex;align-items:center;justify-content:space-between;padding:0 6% 15px;gap:20px}.client-strip-head p{margin:0;font-size:12px;letter-spacing:.07em;font-weight:500}.ticker-toggle{background:none;border:0;border-bottom:1px solid #888;color:#333;cursor:pointer;font-size:12px;padding:4px 0}.client-track{display:flex;width:max-content;animation:client-drift 65s linear infinite;will-change:transform}.client-group{display:flex;align-items:center}.client-logo{width:180px;height:85px;display:flex;align-items:center;justify-content:center;padding:15px 28px}.client-logo img{width:124px;height:48px;object-fit:contain;filter:brightness(0);display:block}.client-strip:hover .client-track,.client-strip:focus-within .client-track,.client-strip.is-paused .client-track{animation-play-state:paused}@keyframes client-drift{from{transform:translateX(-50%)}to{transform:translateX(0)}}@media(prefers-reduced-motion:reduce){.client-track{animation:none;transform:none;flex-wrap:wrap;width:100%}.client-group{flex-wrap:wrap;justify-content:center;width:100%}.client-group[aria-hidden]{display:none}.ticker-toggle{display:none}.client-logo{width:150px}}@media(max-width:600px){.client-logo{width:150px;padding:15px 22px}.client-logo img{width:106px;height:42px}}

.hero-image>img{position:absolute;width:100%;height:100%;object-fit:cover;display:block}

.client-logo img{filter:none}

.brand img{display:block;width:100%;height:auto}.brand{width:190px}@media(max-width:600px){.brand{width:140px}}

/* Balanced headline margins and larger full-height photography. */
.hero{grid-template-columns:max-content minmax(0,1fr);min-height:clamp(480px,42vw,640px)}
.hero-copy{padding:48px clamp(28px,4vw,64px);justify-content:center}
.hero-image{min-height:100%;align-self:stretch}
.hero-image>img{inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.06)}
.brand{width:205px}.brand img{width:100%;height:90px;object-fit:contain}
@media(max-width:950px){.hero{min-height:440px}.hero-copy{padding:40px 28px}}
@media(max-width:600px){.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:36px 24px;justify-content:center}.hero-image{min-height:300px}.brand{width:145px}.brand img{height:72px}}

/* Full-width image hero and visible logo edge aligned to header gutter. */
.brand{width:180px;flex-shrink:0}.brand svg{display:block;width:100%;height:auto;overflow:hidden}
.hero{position:relative;isolation:isolate;display:flex;min-height:clamp(520px,48vw,740px);overflow:hidden}
.hero-image{position:absolute;inset:0;min-height:0;z-index:-1}
.hero-image>img{width:100%;height:100%;object-fit:cover;object-position:center;transform:none}
.hero-image:after{inset:0;background:linear-gradient(90deg,rgba(0,0,0,.74) 0%,rgba(0,0,0,.48) 36%,rgba(0,0,0,.12) 72%,rgba(0,0,0,.08) 100%)}
.hero-copy{position:relative;padding:64px 6%;justify-content:flex-start;align-items:center;width:100%}
.hero-copy h1{text-shadow:0 2px 16px rgba(0,0,0,.25)}
@media(max-width:950px){.hero{min-height:520px}.hero-copy{padding:52px 6%}}
@media(max-width:600px){.brand{width:130px}.hero{min-height:510px}.hero-copy{padding:48px 6%;justify-content:flex-start}.hero-image{min-height:0}.hero-image>img{object-position:58% center}.hero-image:after{background:linear-gradient(90deg,rgba(0,0,0,.7),rgba(0,0,0,.3))}.hero-copy h1{font-size:clamp(62px,16vw,76px)}}

.hero-image{z-index:0}.hero-copy{z-index:1}

.brand{width:153px}@media(max-width:600px){.brand{width:110.5px}}

/* Six aligned project cards, title above and category below. */
.projects{grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 28px;align-items:start}
.project{display:flex;flex-direction:column;align-self:start;width:100%}
.project .project-title{font-size:18px;line-height:1.4;height:4.2em;margin:0 0 16px;width:100%;font-weight:500}
.project-title>span{display:block;font-weight:700}
.project-image{width:100%;aspect-ratio:1.5;flex-shrink:0}
.project-meta{width:100%;align-items:center;padding-top:14px;min-height:40px}
.project-meta p{font-size:14px;line-height:1.5;margin:0}
.marked-heading{display:flex;align-items:center;gap:18px}
.marked-heading .heading-words{color:inherit}
.section-heading h2,.about h2{font-size:clamp(30px,3vw,48px);line-height:1.15;font-weight:600;letter-spacing:-.045em}
.section-x{display:block;width:46px;height:40px;flex-shrink:0;overflow:hidden;transform-origin:center;animation:pbx-pulse 4s ease-in-out infinite}
.about-tagline{font-size:26px;font-weight:500;line-height:1.3;letter-spacing:-.025em;margin:28px 0 0}
.client-strip-head p{text-transform:none;font-size:16px;letter-spacing:0;font-weight:500}
.contact .marked-heading{align-items:flex-start}.contact .section-x{margin-top:.17em}
@keyframes pbx-pulse{0%,65%,100%{transform:scale(1) rotate(0)}74%{transform:scale(1.13) rotate(-7deg)}84%{transform:scale(1.02) rotate(5deg)}92%{transform:scale(1.07) rotate(0)}}
@media(max-width:950px){.projects{gap:32px 20px}.project .project-title{font-size:16px}.section-heading{align-items:center}.section-heading>p{display:none}}
@media(max-width:700px){.projects{grid-template-columns:repeat(2,minmax(0,1fr))}.project .project-title{height:5.6em}.marked-heading{gap:12px}.section-x{width:34px;height:30px}.about-tagline{font-size:23px}}
@media(max-width:450px){.projects{grid-template-columns:1fr;gap:32px}.project .project-title{height:auto;min-height:2.8em;margin-bottom:14px}.project-image{aspect-ratio:1.5}.project-meta p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.section-x{animation:none}}

.project .project-title{display:flex;flex-direction:column;justify-content:flex-end;margin-bottom:8px}

/* Motion hero: deep treatment keeps the animated headline legible. */
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.hero-image:after{background:linear-gradient(90deg,rgba(0,0,0,.80) 0%,rgba(0,0,0,.68) 42%,rgba(0,0,0,.44) 100%)}
.hero-copy h1{text-shadow:0 2px 24px rgba(0,0,0,.35)}

@media(prefers-reduced-motion:reduce){.hero-copy .hero-word{animation:none;color:white}.hero-video{display:none}}

/* Larger headline with responsive scaling to retain all three words on mobile. */
.hero-copy h1{font-size:clamp(75.4px,9.36vw,145.6px)}
@media(max-width:600px){.hero-copy h1{font-size:clamp(80.6px,20.8vw,98.8px)}}

/* Whole words fade sequentially while retaining Poppins headline metrics. */
.hero-copy h1{font-size:clamp(90.48px,11.232vw,174.72px);font-family:'Poppins',sans-serif;font-weight:600;letter-spacing:-.065em;line-height:1.04}
.hero-copy .hero-word{color:#fff;white-space:nowrap;animation:word-glow 18s ease-in-out infinite}
.hero-copy .hero-word:nth-of-type(2){animation-delay:6s}
.hero-copy .hero-word:nth-of-type(3){animation-delay:12s}
.hero-copy .hero-letter{display:inline;color:inherit}
.hero-copy .hero-word:nth-of-type(-n+2) .hero-letter:nth-child(3){margin-right:.025em}
.hero-copy .hero-dot{color:inherit}
@keyframes word-glow{0%,33.333%,100%{color:#fff}16.667%{color:#ff5100}}
.hero-image>.hero-video,.hero-image>img{filter:invert(1)}
@media(max-width:600px){.hero-copy h1{font-size:min(26vw,clamp(96.72px,24.96vw,118.56px))}}
@media(prefers-reduced-motion:reduce){.hero-copy .hero-word{animation:none;color:#fff}}

.project[data-index="4"] .project-image img{object-position:center 25%}
.gallery-full{align-items:start}.gallery-full img{height:auto;max-height:580px;object-fit:contain;background:#f7f7f7}


.client-track{animation-duration:94s}
.client-logo img[src$="virgin-voyages.svg"],.client-logo img[src$="famous-grouse.svg"],.client-logo img[src$="alexander-dennis.svg"]{filter:brightness(0)}
