@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600;700&display=swap');
:root{--ink:#101010;--paper:#fbfbfa;--white:#fff;--grey:#777;--line:#d5d5d2;--soft:#f0f0ed;--accent:#f4d900;--radius:16px;--pad:clamp(22px,4.2vw,68px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;letter-spacing:.025em}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{padding-left:var(--pad);padding-right:var(--pad)}
header{height:98px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);background:var(--paper);position:relative;z-index:20}.brand img{width:144px}.nav{display:flex;align-items:center;gap:34px;font-size:13px;font-weight:500;letter-spacing:.08em}.nav a:not(.pill){padding-bottom:4px;border-bottom:1px solid transparent}.nav a:hover,.nav a[aria-current=page]{border-color:var(--ink)}.pill{background:var(--ink);color:#fff;padding:12px 18px;border-radius:10px}.menu{display:none;background:none;border:0;font:500 14px Manrope;letter-spacing:.08em}.eyebrow{text-transform:uppercase;font-size:11px;font-weight:600;letter-spacing:.22em;color:#555}
.ruled{position:relative}.ruled:before{content:"";display:block;border-top:1px solid var(--line);margin-bottom:clamp(52px,7vw,92px)}
.hero-clean{margin:0 var(--pad);height:min(76vw,780px);min-height:520px;border-radius:var(--radius);overflow:hidden;background:#111;position:relative}.hero-clean iframe{position:absolute;inset:0;width:100%;height:100%;border:0;transform:scale(1.01)}.mobile-hero-still{display:none;position:absolute;inset:0;background-position:center;background-size:cover}
.statement{padding-top:clamp(100px,12vw,180px);padding-bottom:clamp(110px,13vw,190px)}.statement h1{font-size:clamp(50px,7.4vw,116px);line-height:1.02;letter-spacing:.015em;font-weight:400;margin:24px 0 42px;max-width:1200px}.statement h1 span{color:#777}.statement p{font-size:clamp(19px,2vw,30px);line-height:1.55;font-weight:300;max-width:800px;margin-left:auto}
.services{padding-bottom:clamp(120px,14vw,210px);display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.service-intro h2,.why h2{font-size:clamp(38px,4.7vw,72px);line-height:1.08;letter-spacing:.02em;font-weight:400;margin:20px 0}.service-list article{display:grid;grid-template-columns:50px 1fr;gap:18px;padding:27px 0;border-bottom:1px solid var(--line)}.service-list article:first-child{padding-top:0}.service-list span{font-size:11px;color:#999;letter-spacing:.15em;padding-top:7px}.service-list h3{font-size:22px;font-weight:500;letter-spacing:.04em;margin:0 0 10px}.service-list p{font-size:16px;line-height:1.7;color:#555;margin:0;max-width:700px;font-weight:300}
.work-head{padding-bottom:46px;display:flex;justify-content:space-between;align-items:end;gap:40px}.section-title{font-size:clamp(42px,5.5vw,82px);line-height:1.04;letter-spacing:.02em;font-weight:400;margin:18px 0 0}.work-head p{max-width:430px;color:#666;line-height:1.7;font-weight:300}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(22px,2.6vw,42px);padding:0 var(--pad) clamp(120px,14vw,200px)}.card-media{aspect-ratio:1.48/1;overflow:hidden;border-radius:var(--radius);background:var(--soft)}.card-media img{width:100%;height:100%;object-fit:cover}.card-meta{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:18px 2px 10px;border-bottom:1px solid var(--line)}.card h3{font-size:18px;font-weight:500;letter-spacing:.045em;margin:0}.card span{font-size:11px;color:#777;text-transform:uppercase;letter-spacing:.12em}
.why{padding-bottom:clamp(120px,14vw,200px);display:grid;grid-template-columns:1fr 1fr;gap:9vw}.why p{font-size:18px;line-height:1.75;font-weight:300;margin:0 0 22px}.text-link{display:inline-block;margin-top:15px;padding-bottom:6px;border-bottom:1px solid var(--ink);font-size:14px;font-weight:600;letter-spacing:.06em}.cta-min{background:#141414;color:#fff;padding:clamp(70px,9vw,130px) 0}.cta-min .eyebrow{color:#aaa}.cta-min h2{font-size:clamp(52px,7vw,106px);line-height:1;letter-spacing:.025em;font-weight:400;margin:22px 0 45px}.cta-min a{display:inline-block;border-bottom:1px solid #fff;padding-bottom:6px;font-size:14px;letter-spacing:.08em}
footer{padding:48px var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:30px;border-top:1px solid #2e2e2e;background:#141414;color:#aaa;font-size:11px;letter-spacing:.1em}.foot-right{text-align:right}
.page-head{padding:80px var(--pad) 110px}.page-head.ruled:before,.contact-head.ruled:before{margin-bottom:55px}.page-title{font-size:clamp(58px,8vw,128px);line-height:1;letter-spacing:.02em;font-weight:400;margin:22px 0 36px}.page-head p{font-size:clamp(18px,2vw,28px);line-height:1.5;font-weight:300;max-width:760px}.project-hero{margin:0 var(--pad);aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:#111}.project-hero img{width:100%;height:100%;object-fit:cover}.project-copy{margin-top:clamp(90px,11vw,160px);padding-bottom:clamp(100px,12vw,170px);display:grid;grid-template-columns:1fr 1.25fr;gap:9vw}.project-copy h2{font-size:clamp(36px,4vw,62px);line-height:1.12;letter-spacing:.02em;font-weight:400;margin:0}.project-copy p{font-size:18px;line-height:1.75;font-weight:300;margin:0 0 22px}.project-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:36px}.project-facts span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;border:1px solid var(--line);padding:9px 11px;border-radius:8px}.stills{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,2.6vw,42px);padding:0 var(--pad) clamp(120px,14vw,200px)}.stills img{width:100%;aspect-ratio:1.48/1;object-fit:cover;border-radius:var(--radius)}
.contact-head{padding-top:80px;padding-bottom:70px}.contact-head h1{font-size:clamp(54px,7.6vw,120px);line-height:1.02;letter-spacing:.02em;font-weight:400;margin:22px 0 0}.contact{padding-top:40px;padding-bottom:140px;display:grid;grid-template-columns:1.25fr .75fr;gap:10vw}.contact .lead{font-size:clamp(20px,2.2vw,31px);line-height:1.55;font-weight:300;margin-top:0}.details{border-left:1px solid var(--line);padding-left:40px}.details a{display:block;font-size:17px;margin:16px 0}.details p{color:#666;line-height:1.8;margin-top:35px}.form{margin-top:55px;display:grid;grid-template-columns:1fr 1fr;gap:18px 28px}.form input,.form textarea{border:0;border-bottom:1px solid #aaa;background:transparent;padding:16px 0;font:300 15px Manrope;letter-spacing:.04em}.form textarea{grid-column:1/-1;min-height:130px}.form button{justify-self:start;margin-top:15px;background:#111;color:#fff;border:0;border-radius:9px;padding:15px 20px;font:600 13px Manrope;letter-spacing:.07em}
@media(max-width:760px){header{height:78px}.brand img{width:116px}.menu{display:block}.nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);padding:25px var(--pad);flex-direction:column;align-items:flex-start}.nav.open{display:flex}.hero-clean{margin:0 14px;height:72svh;min-height:430px;border-radius:13px}.hero-clean iframe{display:none}.mobile-hero-still{display:block}.statement{padding-top:90px}.statement h1{font-size:clamp(46px,13vw,72px)}.statement p{margin-left:0}.services,.why,.project-copy,.contact{grid-template-columns:1fr}.services{gap:55px}.grid,.stills{grid-template-columns:1fr}.work-head{align-items:flex-start;flex-direction:column}.card-media,.project-hero,.stills img{border-radius:13px}.card-meta{align-items:flex-start}.contact{gap:70px}.details{border-left:0;border-top:1px solid var(--line);padding:35px 0 0}.form{grid-template-columns:1fr}.form textarea{grid-column:auto}.page-head{padding-top:55px}.project-hero{margin:0 14px}.foot-right{text-align:left}footer{grid-template-columns:1fr}.ruled:before{margin-bottom:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* V4 refinement — quieter typography, generous gutters, horizontal services */
:root{--pad:clamp(34px,7vw,112px)}
h1,h2,h3,.page-title,.section-title{text-align:left}
.statement h1{font-size:clamp(40px,5.2vw,81px)}
.service-intro h2,.why h2{font-size:clamp(30px,3.3vw,50px)}
.section-title{font-size:clamp(34px,3.85vw,57px)}
.cta-min h2{font-size:clamp(40px,4.9vw,74px)}
.page-title{font-size:clamp(42px,5.6vw,90px)}
.project-copy h2{font-size:clamp(29px,2.8vw,43px)}
.contact-head h1{font-size:clamp(40px,5.3vw,84px)}

.services{display:block}
.service-intro{max-width:720px;margin-bottom:clamp(58px,6vw,90px)}
.service-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(24px,3vw,50px);border-top:1px solid var(--line)}
.service-list article,.service-list article:first-child{display:block;padding:26px 0 34px;border-bottom:1px solid var(--line)}
.service-list span{display:block;padding:0 0 30px}
.service-list h3{font-size:clamp(17px,1.25vw,20px);line-height:1.35;min-height:2.7em}
.service-list p{font-size:15px;line-height:1.75}

@media(max-width:900px){.service-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){:root{--pad:clamp(24px,7vw,38px)}.statement h1{font-size:clamp(36px,9vw,50px)}.service-intro h2,.why h2{font-size:clamp(29px,8vw,40px)}.section-title{font-size:clamp(31px,8.5vw,44px)}.page-title,.contact-head h1{font-size:clamp(38px,10vw,54px)}.cta-min h2{font-size:clamp(38px,10vw,54px)}.service-list{grid-template-columns:1fr}.service-list h3{min-height:0}.service-list span{padding-bottom:18px}}

/* V5 refinement — full-width left-aligned intro and selected work */
.statement p{max-width:none;margin-left:0;width:100%}
.work-head{display:block}
.work-head>div{width:100%}
.work-head p{max-width:none;width:100%;margin:26px 0 0}


/* V7 refinement — process icons and restrained work hover */
.service-icon{width:81px;height:81px;margin:0 0 36px;color:var(--ink)}
.service-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.7;stroke-linecap:round;stroke-linejoin:round}
.card-media img{transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.card:hover .card-media img,.card:focus-visible .card-media img{transform:scale(1.06)}
.card-meta h3,.card-meta span{transition:opacity .3s ease}
.card:hover .card-meta h3,.card:hover .card-meta span{opacity:.62}
@media(prefers-reduced-motion:reduce){.card-media img,.card-meta h3,.card-meta span{transition:none}.card:hover .card-media img,.card:focus-visible .card-media img{transform:none}}
@media(max-width:760px){.service-icon{width:72px;height:72px;margin-bottom:26px}}


/* V9 — carry the full site design language into individual project pages */
.project-head{padding-bottom:clamp(70px,8vw,110px)}
.project-head .eyebrow{margin-bottom:0}
.project-hero img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.project-hero:hover img{transform:scale(1.025)}
.project-copy{padding-left:var(--pad);padding-right:var(--pad)}
.project-services{padding-bottom:clamp(110px,13vw,190px)}
.project-services .service-intro{max-width:760px}
.project-gallery-head{padding-bottom:46px}
.stills img{transition:none}
.stills img:hover{transform:none}
.project-next{padding-bottom:clamp(100px,12vw,170px);display:flex;align-items:end;justify-content:space-between;gap:40px}
.project-next h2{font-size:clamp(34px,3.85vw,57px);font-weight:400;line-height:1.04;letter-spacing:.02em;margin:18px 0 0}
@media(max-width:760px){.project-copy{padding-left:var(--pad);padding-right:var(--pad)}.project-next{align-items:flex-start;flex-direction:column}.project-hero:hover img,.stills img:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.project-hero img,.stills img{transition:none}.project-hero:hover img,.stills img:hover{transform:none}}


/* V10 — editorial work filter */
.work-filter-wrap{margin:0 var(--pad) clamp(54px,6vw,86px);border-bottom:1px solid var(--line);padding:20px 0}
.work-filter{display:flex;align-items:center;gap:10px 28px;flex-wrap:wrap}
.filter-btn{appearance:none;border:0;background:transparent;color:#777;padding:8px 0;font:600 13px/1.35 Manrope,Arial,sans-serif;letter-spacing:.11em;text-transform:uppercase;cursor:pointer;position:relative;transition:color .25s ease}
.filter-btn:after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;background:var(--ink);transition:right .3s cubic-bezier(.2,.7,.2,1)}
.filter-btn:hover,.filter-btn:focus-visible,.filter-btn.active{color:var(--ink)}
.filter-btn.active:after,.filter-btn:hover:after,.filter-btn:focus-visible:after{right:0}
.work-grid .card{transition:opacity .28s ease,transform .38s cubic-bezier(.2,.7,.2,1)}
.work-grid .card.is-hidden{display:none}
@media(max-width:760px){.work-filter-wrap{margin-bottom:46px;padding:16px 0}.work-filter{gap:6px 20px}.filter-btn{font-size:12px;padding:7px 0}}
@media(prefers-reduced-motion:reduce){.filter-btn:after,.work-grid .card{transition:none}}


/* V12 — tighten Work page introduction */
.work-page-head{padding-top:clamp(42px,5vw,72px);padding-bottom:clamp(48px,5vw,72px)}
@media(max-width:760px){.work-page-head{padding-top:38px;padding-bottom:42px}}

/* V13 — responsive showreel + homepage intro refinement */
.hero-clean{
  width:auto;
  height:auto;
  min-height:0;
  aspect-ratio:16/9;
}
.hero-clean iframe{
  width:100%;
  height:100%;
  transform:none;
}
.statement.ruled:before{display:none}
@media(max-width:760px){
  .hero-clean{
    height:auto;
    min-height:0;
    aspect-ratio:16/9;
  }
}

/* V14 — new aardvark mark + cleaner service cards */
.brand img{width:144px;height:auto}
.service-list article,.service-list article:first-child{border-bottom:0}
@media(max-width:760px){.brand img{width:116px}}

/* V15: uploaded service SVGs, preserving existing service icon footprint */
.service-icon img{width:100%;height:100%;display:block;object-fit:contain;}

/* V16 — refined service icon scale and spacing */
.service-list article,.service-list article:first-child{padding-top:42px;}
.service-icon{width:61px;height:61px;margin-bottom:46px;}
@media(max-width:760px){
  .service-list article,.service-list article:first-child{padding-top:34px;}
  .service-icon{width:54px;height:54px;margin-bottom:34px;}
}

/* V18 project detail refinements */
.project-meta{margin:0 0 42px;display:grid;gap:0;border-top:1px solid var(--line)}
.project-meta>div{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:12px 0;border-bottom:1px solid var(--line);align-items:baseline}
.project-meta span{font-size:10px;line-height:1.3;text-transform:uppercase;letter-spacing:.14em;color:#777;font-weight:500}
.project-meta strong{font-size:13px;line-height:1.45;letter-spacing:.035em;font-weight:500}
.stills img,.stills img:hover{transform:none!important;transition:none!important}
@media(max-width:760px){.project-meta{margin-bottom:32px}.project-meta>div{grid-template-columns:72px 1fr;gap:14px}}


/* V20 — editorial project information layout */
.project-copy{
  grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);
  grid-template-areas:
    ". title"
    "meta description";
  column-gap:clamp(64px,9vw,150px);
  row-gap:clamp(88px,10vw,150px);
  align-items:start;
}
.project-copy:before{grid-column:1/-1;}
.project-copy-title{grid-area:title;max-width:720px;}
.project-meta{grid-area:meta;margin:0;border-top:0;max-width:520px;justify-self:end;width:74%;}
.project-meta>div{grid-template-columns:110px 1fr;gap:24px;padding:13px 0;border-bottom:0;}
.project-meta span{font-size:10px;letter-spacing:.18em;color:#8a8a86;}
.project-meta strong{font-size:15px;line-height:1.5;font-weight:500;}
.project-description{grid-area:description;max-width:720px;}
.project-description p{font-size:17px;line-height:1.75;}
.project-facts{margin-top:44px;}
.project-facts span{font-size:9px;letter-spacing:.11em;padding:9px 12px;border-radius:7px;}
@media(max-width:760px){
  .project-copy{grid-template-columns:1fr;grid-template-areas:"title" "meta" "description";row-gap:48px;}
  .project-copy-title{max-width:none;}
  .project-meta{justify-self:start;width:100%;max-width:none;margin:0;}
  .project-meta>div{grid-template-columns:82px 1fr;gap:16px;padding:10px 0;}
  .project-description{max-width:none;}
}


/* V21 — responsive project video + balanced project metadata */
.project-video{
  width:auto;
  height:auto;
  min-height:0;
  aspect-ratio:16/9;
  position:relative;
}
.project-video iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  display:block;
}
.project-meta span,
.project-meta strong{
  font-size:17px;
  line-height:1.75;
}
.project-meta span{
  letter-spacing:.08em;
}
@media(max-width:760px){
  .project-video{
    height:auto;
    min-height:0;
    aspect-ratio:16/9;
  }
  .project-meta span,
  .project-meta strong{font-size:16px;}
}

/* V22 — align the top of project metadata and description columns */
.project-meta > div:first-child{padding-top:0;}
.project-description > p:first-child{margin-top:0;}

/* V29 — project page headline matches contact page “Let’s talk” scale */
.project-head .page-title{font-size:clamp(40px,5.3vw,84px)}
@media(max-width:760px){.project-head .page-title{font-size:clamp(38px,10vw,54px)}}

/* Base refinement — reduce space between project tags and Campaign Stills */
.project-copy{padding-bottom:clamp(58px,6vw,86px)}
@media(max-width:760px){.project-copy{padding-bottom:52px}.project-gallery-head{padding-bottom:34px}}

/* New editorial service and insights sections — retains existing site design */
.muted{color:#777}.editorial-heading{padding-top:clamp(54px,6vw,90px);padding-bottom:clamp(60px,7vw,110px)}.editorial-heading .page-title{max-width:1100px;line-height:1.12}.editorial-heading p{max-width:860px;line-height:1.7}.editorial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(35px,4vw,65px);padding-bottom:clamp(90px,10vw,160px)}.editorial-card{display:block;padding:30px 0 34px;border-top:1px solid var(--line)}.editorial-card h3{font-size:clamp(23px,2.6vw,39px);font-weight:400;letter-spacing:.015em;line-height:1.2;margin:22px 0}.editorial-card p{font-size:16px;line-height:1.8;font-weight:300;max-width:610px}.editorial-card>span{display:inline-block;margin-top:15px;font-size:13px;font-weight:600;border-bottom:1px solid var(--ink);padding-bottom:6px}.service-card-icon{width:62px;height:62px;object-fit:contain;margin:15px 0 35px}.editorial-photo{aspect-ratio:1.5;overflow:hidden;border-radius:var(--radius);margin-bottom:26px}.editorial-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.editorial-card:hover .editorial-photo img{transform:scale(1.04)}.editorial-band{display:grid;grid-template-columns:1fr 1.2fr;gap:4vw 8vw;border-top:1px solid var(--line);padding-top:60px;padding-bottom:clamp(100px,12vw,170px)}.editorial-band h2{font-size:clamp(30px,3.7vw,54px);line-height:1.2;font-weight:400;margin:0}.editorial-band p{font-size:18px;line-height:1.8;font-weight:300;margin-top:0}.service-detail-icon{width:90px;margin-top:45px}.editorial-related{padding-bottom:100px}.editorial-related>a{display:block;border-bottom:1px solid var(--line);padding:23px 0;font-size:19px}.editorial-related .eyebrow{margin-bottom:30px}.article-heading .page-title{max-width:1050px}.article-hero{aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden}.article-hero img{width:100%;height:100%;object-fit:cover}.article-layout{display:grid;grid-template-columns:1fr 2fr;gap:8vw;padding-top:clamp(70px,8vw,120px);padding-bottom:clamp(100px,12vw,180px)}.article-layout aside p{font-size:16px;margin-bottom:35px}.article-prose{max-width:780px}.article-prose section{margin-bottom:50px}.article-prose h2{font-size:clamp(24px,2.7vw,38px);font-weight:400;line-height:1.3;margin:0 0 18px}.article-prose p{font-size:17px;font-weight:300;line-height:1.85;margin:0 0 20px}.article-cta{border-top:1px solid var(--line);padding-top:45px}.article-cta h2{font-size:clamp(25px,2.8vw,40px);font-weight:400}.article-cta .text-link{margin-top:12px}@media(max-width:760px){.editorial-grid,.editorial-band,.article-layout{grid-template-columns:1fr}.editorial-heading{padding-top:40px}.editorial-grid{gap:20px}.editorial-band{gap:35px}.article-layout{gap:40px}.article-hero{border-radius:13px}.editorial-card h3{font-size:27px}}@media(prefers-reduced-motion:reduce){.editorial-photo img{transition:none}.editorial-card:hover .editorial-photo img{transform:none}}

/* Combined services page — image-led editorial rows */
.services-detail-list{padding-bottom:clamp(65px,8vw,125px)}
.service-feature{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(38px,6vw,110px);align-items:center;border-top:1px solid var(--line);padding:clamp(42px,6vw,90px) 0}
.service-feature:nth-child(even) .service-feature-media{order:2}
.service-feature-media{aspect-ratio:1.38;overflow:hidden;border-radius:var(--radius)}
.service-feature-media img{display:block;width:100%;height:100%;object-fit:cover}
.service-feature-icon{width:62px;height:62px;object-fit:contain;display:block;margin-bottom:34px}
.service-feature-copy h2{font-size:clamp(27px,3.2vw,46px);font-weight:400;line-height:1.2;letter-spacing:.015em;margin:22px 0 22px}
.service-feature-copy h3{font-size:clamp(17px,1.65vw,23px);font-weight:500;line-height:1.4;margin:0 0 20px}
.service-feature-copy p{font-size:16px;line-height:1.85;font-weight:300;color:#555;max-width:590px;margin:0}
@media(max-width:760px){.service-feature{grid-template-columns:1fr;gap:30px;padding:42px 0}.service-feature:nth-child(even) .service-feature-media{order:0}.service-feature-icon{width:55px;height:55px;margin-bottom:25px}.service-feature-copy h2{margin:16px 0}}

/* Homepage services: clickable SVGs, gentle 6% scale on hover */
.service-icon-link{display:block;transform-origin:center center;transition:transform .55s cubic-bezier(.2,.7,.2,1);will-change:transform}
.service-icon-link:hover,.service-icon-link:focus-visible{transform:scale(1.06)}
.service-icon-link:focus-visible{outline:2px solid currentColor;outline-offset:6px}
@media(prefers-reduced-motion:reduce){.service-icon-link{transition:none}.service-icon-link:hover,.service-icon-link:focus-visible{transform:none}}

/* Homepage service icons: stronger rollover, matching the site's typography grey */
.service-icon-link:hover,.service-icon-link:focus-visible{transform:scale(1.12)}
.service-icon-link img{transition:filter .55s cubic-bezier(.2,.7,.2,1)}
.service-icon-link:hover img,.service-icon-link:focus-visible img{filter:brightness(0) opacity(.53)}
@media(prefers-reduced-motion:reduce){.service-icon-link img{transition:none}}

/* Insights: remove Read article underline and place rules beneath each card */
.insights-grid .editorial-card{border-top:0;border-bottom:1px solid var(--line)}
.insights-grid .editorial-card>span{border-bottom:0;padding-bottom:0}

/* Editorial image break within Insights articles */
.article-image-feature{margin:58px 0 66px;width:100%}
.article-image-triptych{display:grid;grid-template-columns:1fr 2fr 1fr;gap:14px;align-items:center}
.article-image-triptych img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:9px}
.article-image-triptych img:nth-child(2){aspect-ratio:3/2}
.article-image-feature figcaption{margin:24px auto 0;max-width:610px;text-align:center;font-size:clamp(18px,2vw,25px);font-weight:300;line-height:1.5;color:#777;letter-spacing:.01em}
@media(max-width:760px){.article-image-feature{margin:40px 0 48px}.article-image-triptych{gap:8px;grid-template-columns:1fr 1.5fr 1fr}.article-image-triptych img{border-radius:6px}.article-image-feature figcaption{font-size:17px;margin-top:18px}}

/* Editorial image break: reach left beyond the article text column, as in the supplied mock-up. */
@media(min-width:761px){
  .article-prose{min-width:0}
  .article-image-feature{
    width:calc(100% + clamp(190px, 38vw, 540px));
    max-width:calc(100vw - 2 * var(--pad));
    margin-left:calc(-1 * clamp(190px, 38vw, 540px));
    margin-top:60px;
    margin-bottom:68px;
  }
  .article-image-triptych{grid-template-columns:1fr 2fr 1fr;gap:clamp(12px,2.5vw,34px)}
}
@media(max-width:760px){
  .article-image-feature{width:100%;margin-left:0}
}

/* V editorial: asymmetric two-small / one-large photographic collage */
.article-image-triptych{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.75fr);gap:clamp(22px,3.3vw,52px);align-items:stretch}
.article-collage-side{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;min-width:0}
.article-image-triptych .article-collage-side img{width:75%;aspect-ratio:3/2;object-fit:cover;align-self:flex-end}
.article-image-triptych .article-collage-side img+img{width:65%;align-self:flex-start}
.article-collage-main{min-width:0;display:flex;align-items:flex-start}
.article-image-triptych .article-collage-main img{width:100%;aspect-ratio:3/2;object-fit:cover}
@media(min-width:761px){
 .article-image-feature{width:calc(100% + clamp(190px,38vw,540px));margin-left:calc(-1 * clamp(190px,38vw,540px))}
}
@media(max-width:760px){
 .article-image-triptych{grid-template-columns:minmax(0,1fr) minmax(0,1.65fr);gap:12px}
 .article-image-triptych .article-collage-side img{width:94%}
 .article-image-triptych .article-collage-side img+img{width:85%}
 .article-image-feature figcaption{max-width:90%}
}

/* Reference editorial layout: large left still, two staggered right; quote aligned to copy */
@media(min-width:761px){.article-image-feature{width:calc(100% + clamp(190px,38vw,540px));max-width:calc(100vw - 2 * var(--pad));margin-left:calc(-1 * clamp(190px,38vw,540px));margin-top:48px;margin-bottom:0}}
.article-image-triptych{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(0,1.15fr);gap:clamp(18px,3vw,48px);align-items:stretch}
.article-collage-main{align-items:stretch}
.article-image-triptych .article-collage-main img{width:100%;height:100%;aspect-ratio:3/2;object-fit:cover}
.article-collage-side{display:flex;flex-direction:column;justify-content:space-between;align-items:stretch}
.article-image-triptych .article-collage-side img{width:68%;aspect-ratio:3/2;align-self:flex-end}
.article-image-triptych .article-collage-side img+img{width:66%;aspect-ratio:3/2;align-self:flex-start}
.article-feature-quote{margin:clamp(45px,6vw,90px) 0 clamp(52px,6vw,90px);padding:0;border:0;color:#777;font-size:clamp(22px,2.6vw,36px);font-weight:300;line-height:1.35;letter-spacing:.005em;text-align:left}
@media(max-width:760px){.article-image-feature{width:100%;margin-left:0;margin-bottom:0}.article-image-triptych{gap:12px;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.article-image-triptych .article-collage-side img{width:90%}.article-image-triptych .article-collage-side img+img{width:85%}.article-feature-quote{font-size:23px;margin:35px 0 52px}}

/* Match image proportions and placement in supplied editorial reference */
@media (min-width:761px){
 .article-image-feature{
   width:min(875px,calc(100vw - 2 * var(--pad)));
   max-width:none;
   margin-left:calc(-1 * min(310px,28vw));
 }
 .article-image-triptych{grid-template-columns:minmax(0,493fr) minmax(0,343fr);gap:clamp(20px,3.4vw,39px)}
 .article-image-triptych .article-collage-side img{width:67%;aspect-ratio:3/2}
 .article-image-triptych .article-collage-side img+img{width:65%;aspect-ratio:3/2}
}

/* 30% larger editorial collage, preserving the approved staggered composition */
@media (min-width:761px){
 .article-image-feature{
   width:min(1138px,calc(100vw - 2 * var(--pad)));
   max-width:none;
   margin-left:calc(-1 * min(572px, 42vw));
 }
}


/* Insights — services-inspired editorial article layout */
.article-prose{max-width:none;min-width:0}
.insight-feature-row{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(30px,5vw,85px);align-items:center;margin:clamp(45px,7vw,105px) 0;padding:clamp(35px,5vw,75px) 0;border-top:1px solid var(--line)}
.insight-feature-row:nth-of-type(even) .insight-feature-media{order:2}
.insight-feature-row .insight-feature-media{aspect-ratio:1.38;overflow:hidden;border-radius:var(--radius)}
.insight-feature-row .insight-feature-media img{display:block;width:100%;height:100%;object-fit:cover}
.insight-feature-copy section{margin:0}
.insight-feature-copy h2{font-size:clamp(25px,3vw,42px);font-weight:400;line-height:1.2;margin:0 0 20px}
.insight-feature-copy p{font-size:17px;line-height:1.85}
.insight-feature-wide{margin:65px 0 0;overflow:hidden;border-radius:var(--radius);aspect-ratio:2.1}
.insight-feature-wide img{display:block;width:100%;height:100%;object-fit:cover}
.insight-service-quote{max-width:780px;margin:55px 0 75px auto;padding:0;border:0;color:#777;font-size:clamp(24px,2.8vw,38px);font-weight:300;line-height:1.4}
@media(max-width:760px){
 .insight-feature-row{grid-template-columns:1fr;gap:25px;margin:45px 0;padding:35px 0}
 .insight-feature-row:nth-of-type(even) .insight-feature-media{order:0}
 .insight-feature-row .insight-feature-media{aspect-ratio:1.38}
 .insight-feature-wide{aspect-ratio:1.45;margin:45px 0 0}
 .insight-service-quote{font-size:24px;margin:35px 0 60px}
}

/* Insights articles: tighter, continuous editorial rhythm */
.insight-feature-row{gap:clamp(22px,3vw,48px);margin:28px 0;padding:18px 0;align-items:center}
.insight-feature-copy h2{margin:0 0 12px;font-size:clamp(25px,2.5vw,36px)}
.insight-feature-copy p{line-height:1.7;margin:0}
.article-prose>section{margin-top:28px;margin-bottom:28px}
.article-prose>section h2{margin-bottom:12px}
.insight-feature-wide{margin:32px 0 0}
.insight-service-quote{margin:24px 0 38px auto;font-size:clamp(23px,2.4vw,32px)}
@media(max-width:760px){
 .insight-feature-row{gap:16px;margin:24px 0;padding:16px 0;align-items:start}
 .insight-feature-row .insight-feature-media{aspect-ratio:1.65}
 .insight-feature-copy h2{margin:0 0 10px}
 .article-prose>section{margin:24px 0}
 .insight-feature-wide{margin:26px 0 0;aspect-ratio:1.65}
 .insight-service-quote{margin:22px 0 36px;font-size:23px}
}

/* Insights article sidebar metadata */
.article-layout aside .article-meta-item{margin-top:24px}
.article-layout aside .article-meta-item .eyebrow{margin-bottom:9px}
.article-layout aside .article-meta-item p{margin:0;font-size:16px;line-height:1.55}
.article-layout aside .article-meta-link{font-size:16px;color:inherit;text-decoration:none;line-height:1.6;display:inline-block}
.article-layout aside .article-meta-link:hover{color:#777}
.article-layout aside .article-meta-item + .article-meta-item:has(.article-meta-link) {margin-top:10px}

/* Consistent editorial sidebar rhythm: Topic, Written by, Date and Links */
.article-layout aside > .eyebrow{margin:0 0 9px}
.article-layout aside > p{margin:0;font-size:16px;line-height:1.55}
.article-layout aside .article-meta-item{margin-top:26px}
.article-layout aside .article-meta-item .eyebrow{margin:0 0 9px}
.article-layout aside .article-meta-item p{margin:0}
.article-layout aside .article-meta-item:has(.article-meta-link){display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.article-layout aside .article-meta-item:has(.article-meta-link) .eyebrow{margin-bottom:4px}


/* Insights refinements: quote follows the article text column and sidebar has an even rhythm */
.article-layout .insight-service-quote{
  width:100%;max-width:none;box-sizing:border-box;margin:24px 0 38px;
  padding:0;text-align:left;border:0;
}
.article-layout .insight-quote-text{margin:0 0 12px;font-size:inherit;line-height:1.4;color:#777;font-weight:300}
.article-layout .insight-quote-credit{display:block;font-size:15px;font-style:normal;font-weight:500;line-height:1.5;color:#777}
.article-layout aside .article-meta-item,
.article-layout aside .article-meta-item + .article-meta-item:has(.article-meta-link){margin-top:26px}
.article-layout aside .article-meta-item:has(.article-meta-link){gap:5px}
@media(max-width:760px){.article-layout .insight-service-quote{margin:22px 0 36px}}

/* Align article copy with the top edge of its accompanying image */
.insight-feature-row{align-items:start}

/* Align Topic sidebar with first article heading on desktop */
@media (min-width:761px){.article-layout > aside{padding-top:24px}}

/* Precise top alignment: Topic and first article heading share the same row start.
   Override the first section's 28px top margin rather than offsetting the sidebar. */
@media (min-width:761px) {
  .article-layout > aside { padding-top:0; }
  .article-layout > .article-prose > section:first-child { margin-top:0; }
  .article-layout > .article-prose > section:first-child > h2:first-child { margin-top:0; }
}

/* Optical alignment: small uppercase Topic label with the top of the larger article heading.
   Both columns start together; 8px compensates for different font glyph ascenders. */
@media (min-width:761px) {
  .article-layout > aside { padding-top:8px; }
}

/* V1: Quieter editorial flow between photographic features */
.article-prose > section.insight-continuation{margin-bottom:clamp(24px,3vw,40px)}
.article-prose > section.insight-continuation p{margin-bottom:0}

/* Contact V2: restrained, continuous client wordmark carousel */
.client-marquee-section{padding:clamp(65px,8vw,125px) 0 clamp(70px,9vw,135px);overflow:hidden}
.client-marquee-intro{border-top:1px solid #ddd;padding-top:clamp(30px,4vw,56px)}
.client-marquee-intro h2{font-size:clamp(34px,4.6vw,70px);line-height:1.05;font-weight:400;letter-spacing:.015em;margin:18px 0 15px}
.client-marquee-intro p{font-size:clamp(15px,1.4vw,19px);color:#777;line-height:1.6;margin:0}
.client-marquee{overflow:hidden;width:100%;margin:clamp(42px,5vw,75px) 0 0;mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent)}
.client-marquee-track{display:flex;width:max-content;animation:client-marquee-scroll 42s linear infinite}
.client-marquee-group{display:flex;align-items:center;flex:none;gap:clamp(42px,6vw,100px);padding-right:clamp(42px,6vw,100px)}
.client-wordmark{display:block;flex:none;white-space:nowrap;color:#888;font-size:clamp(18px,2.15vw,30px);font-weight:600;letter-spacing:-.025em;line-height:1.3;opacity:.85}
.client-marquee:hover .client-marquee-track{animation-play-state:paused}
.client-marquee-note{font-size:11px;color:#999;line-height:1.5;margin-top:20px}
@keyframes client-marquee-scroll{to{transform:translateX(-50%)}}
@media(max-width:760px){.client-marquee-section{padding-top:65px;padding-bottom:75px}.client-marquee-track{animation-duration:35s}.client-marquee-group{gap:44px;padding-right:44px}.client-marquee-intro h2{font-size:clamp(34px,9vw,52px)}}
@media(prefers-reduced-motion:reduce){.client-marquee-track{animation:none}.client-marquee{overflow-x:auto;mask-image:none;-webkit-mask-image:none}.client-marquee-group[aria-hidden=true]{display:none}}


/* Contact V3: fixed two-row client logo gallery (6 per row on desktop) */
.client-logos-section{padding:clamp(65px,8vw,125px) 0 clamp(70px,9vw,135px)}
.client-logos-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(26px,3vw,52px) clamp(18px,2.5vw,44px);margin-top:clamp(42px,5vw,75px)}
.client-logo-item{min-width:0;height:94px;display:flex;align-items:center;justify-content:center;position:relative}
.client-logo-item img{display:block;width:100%;height:100%;max-height:85px;object-fit:contain;filter:grayscale(1);opacity:.66;transition:filter .25s ease,opacity .25s ease}
.client-logo-item:hover img{filter:grayscale(0);opacity:1}
.client-logo-fallback{display:none;font-size:15px;color:#777;text-align:center;line-height:1.3}
.client-logo-item img:not([src]),.client-logo-item img[src=""]{display:none}
.client-logo-item:has(img:not([src])) .client-logo-fallback{display:block}
@media(max-width:900px){.client-logos-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:520px){.client-logos-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 24px}.client-logo-item{height:72px}.client-logo-item img{max-height:65px}}
@media(prefers-reduced-motion:reduce){.client-logo-item img{transition:none}}

/* Contact V4: larger, permanently full-colour client logos */
.client-logos-grid{column-gap:clamp(12px,1.7vw,28px);row-gap:clamp(30px,3.5vw,60px);margin-top:clamp(36px,4vw,62px)}
.client-logo-item{height:125px}
.client-logo-item img,.client-logo-item:hover img{max-height:112px;filter:none;opacity:1}
@media(max-width:900px){.client-logo-item{height:110px}.client-logo-item img{max-height:100px}}
@media(max-width:520px){.client-logo-item{height:90px}.client-logo-item img{max-height:82px}}


/* Work portfolio: progressive fade-in; reserve existing image dimensions/layout. */
@media (prefers-reduced-motion: no-preference) {
  .work-grid .card-media img { opacity: 0; transition: opacity 650ms ease; }
  .work-grid .card-media img.is-revealed { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .work-grid .card-media img { opacity: 1 !important; transition: none !important; }
}

/* V12: keep lazy-load fade and image hover zoom transitions together. */
@media (prefers-reduced-motion: no-preference) {
  .work-grid .card-media img {
    transition: opacity 650ms ease, transform 550ms cubic-bezier(.2,.7,.2,1);
  }
}

/* V15: form-free contact call to action */
.contact-invitation{font-size:clamp(16px,1.45vw,19px);line-height:1.75;color:#666;max-width:600px;margin:26px 0 36px;font-weight:300}
.contact-email-cta{display:inline-flex;align-items:center;justify-content:center;background:#111;color:#fff;text-decoration:none;border-radius:9px;padding:17px 26px;font:600 14px Manrope,sans-serif;letter-spacing:.045em;transition:background .25s ease,transform .25s ease}
.contact-email-cta:hover,.contact-email-cta:focus-visible{background:#444;transform:translateY(-2px)}
@media(prefers-reduced-motion:reduce){.contact-email-cta{transition:none}.contact-email-cta:hover{transform:none}}

/* V16 — Safari-safe contact email CTA: colour-only hover, no movement. */
.contact .contact-email-cta,
.contact .contact-email-cta:link,
.contact .contact-email-cta:visited {
  display:inline-flex;
  position:relative;
  visibility:visible;
  opacity:1;
  align-items:center;
  justify-content:center;
  width:auto;
  min-height:50px;
  padding:17px 26px;
  background-color:#111;
  color:#fff;
  -webkit-text-fill-color:#fff;
  text-decoration:none;
  border-radius:9px;
  transform:none;
  -webkit-transform:none;
  transition:background-color .25s ease;
  -webkit-transition:background-color .25s ease;
}
.contact .contact-email-cta:hover,
.contact .contact-email-cta:focus-visible {
  background-color:#444;
  color:#fff;
  -webkit-text-fill-color:#fff;
  transform:none;
  -webkit-transform:none;
}
@media(prefers-reduced-motion:reduce){
  .contact .contact-email-cta{transition:none;-webkit-transition:none}
}
