:root{color-scheme:light;--bg:#f8f7f3;--panel:#f0efea;--fg:#151619;--muted:#54555e;--acid:#b7f52a;--accent-ink:#345409;--line:#20223829;--pad:clamp(21px,2.1vw,38px);--dark:#000;--corner:5px;--media-gutter:clamp(4px,.55vw,8px)}
html{background:var(--bg)}
body{background:transparent}
.dot-field{
  inset:0;z-index:-1;width:100%;height:100%;pointer-events:none;
  background:radial-gradient(circle,#15161932 1px,transparent 1.3px) 0 0/22px 22px;
}
.dot-field[data-drawn]{background:none}
.site-dots{position:fixed}
:root{--header-row:76px}
.site-header{
  position:relative;z-index:auto;display:block;height:var(--header-row);min-height:0;
  padding:0;background:transparent;border:0;
}
.header-logo,.menu-trigger{position:fixed;top:calc(var(--header-row) / 2);transform:translateY(-50%);z-index:8}
.header-logo{inset-inline:0;margin-inline:auto;width:clamp(116px,12vw,174px);mix-blend-mode:difference}
.header-logo img{width:100%;height:auto;filter:brightness(0) invert(1)}
.header-logo::after{
  content:"";position:absolute;inset:0;pointer-events:none;background:var(--acid);
  mask:url('/assets/wordmark.webp?v=1') center/100% 100% no-repeat;opacity:0;
}
.header-logo:is(:hover,:focus-visible){mix-blend-mode:normal}
.header-logo:is(:hover,:focus-visible) img{opacity:0}
.header-logo:is(:hover,:focus-visible)::after{opacity:1}
.menu-trigger,.menu-close{
  display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 12px;
  border:1px solid var(--fg);border-radius:var(--corner);background:var(--fg);color:white;
  font-size:13px;font-weight:600;
}
.menu-trigger{right:var(--pad);width:44px;padding:0;justify-content:center;background:transparent;border:0;mix-blend-mode:difference}
.menu-close{margin:0 0 20px auto}
.menu-trigger:is(:hover,:focus-visible){mix-blend-mode:normal;color:var(--acid)}
.menu-close:hover{background:var(--acid);color:var(--fg);border-color:var(--acid)}
.menu-icon{display:grid;place-items:center;width:14px;height:14px}
.menu-icon::before,.menu-icon::after{content:"";grid-area:1/1;width:14px;height:1px;background:currentColor}
.menu-trigger .menu-icon{width:20px}
.menu-trigger .menu-icon :only-child,.menu-trigger .menu-icon::before,.menu-trigger .menu-icon::after{grid-area:1/1;width:100%;height:2px;background:currentColor}
.menu-trigger .menu-icon::before{transform:translateY(-5px)}
.menu-trigger .menu-icon::after{transform:translateY(5px)}
.menu-close .menu-icon::before{transform:rotate(45deg)}
.menu-close .menu-icon::after{transform:rotate(-45deg)}
html:has(.site-menu[open]){overflow:hidden;scrollbar-gutter:stable}
.site-menu{
  position:fixed;inset:0 0 0 auto;margin:0;width:min(430px,100%);max-width:none;
  height:100%;max-height:none;overflow:auto;overscroll-behavior:contain;
  padding:16px clamp(18px,4vw,36px) 32px;border:0;background:var(--bg);color:var(--fg);
  transform-origin:right top;transform:translateX(100%) scale(.94);opacity:0;
  transition:transform .36s cubic-bezier(.22,.74,.24,1),opacity .28s,display .36s allow-discrete,overlay .36s allow-discrete;
}
.site-menu[open]{transform:none;opacity:1;box-shadow:-12px 0 44px #1113}
.site-menu::backdrop{background:#1110;transition:background .36s,display .36s allow-discrete,overlay .36s allow-discrete}
.site-menu[open]::backdrop{background:#1117}
@starting-style{
  .site-menu[open]{transform:translateX(100%) scale(.94);opacity:0}
  .site-menu[open]::backdrop{background:#1110}
}
.site-header .site-menu nav{display:block}
.site-header .site-menu nav a{
  display:block;padding:9px 10px;color:var(--fg);border-radius:var(--corner);overflow-wrap:anywhere;
}
.site-header .site-menu nav a:is(:hover,[aria-current]){background:var(--acid);color:var(--fg)}
.site-header .site-menu .menu-link,.menu-work-label{
  display:block;font-size:clamp(22px,5vw,30px);font-weight:650;line-height:1.13;letter-spacing:-.05em;
}
.site-header .site-menu .menu-contact{display:flex;align-items:center;gap:10px}
.menu-contact svg{flex:none}
.menu-work{padding:10px 0;border-block:1px solid var(--line)}
.menu-work-label{padding:0 10px 4px}
.menu-work ul{padding:0;margin:0;list-style:none}
.site-header .site-menu .work-menu-all,.site-header .site-menu .work-menu-parent{font-size:16px;padding-inline-start:20px}
.site-header .site-menu .work-menu-child{font-size:14px;padding-inline-start:34px}
@media(max-width:680px){
  :root{--header-row:60px}
  .menu-trigger{right:12px}
}
@media(prefers-reduced-motion:reduce){
  .site-menu,.site-menu::backdrop{transition:none}
}
@media(forced-colors:active){
  .header-logo,.menu-trigger{background:Canvas;mix-blend-mode:normal}
  .menu-trigger{color:CanvasText}
  .header-logo img{filter:brightness(0)}
  .header-logo:is(:hover,:focus-visible) img{opacity:1}
  .header-logo::after{display:none}
}
.primary-button,.contact-button{background:#1b1e29;color:#fff;border:1px solid #1b1e29;box-shadow:none;border-radius:var(--corner);white-space:nowrap;gap:12px;padding:5px 5px 5px 10px;min-height:35px;transition:background .2s,transform .2s}
.primary-button:hover,.contact-button:hover{background:var(--acid);color:#172008;transform:translateY(-2px);border-color:#fff3}
.primary-button span,.contact-button span{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:3px;background:transparent;color:inherit;box-shadow:none}
.hero,.brands-section{display:grid;grid-template-columns:minmax(0,2.05fr) minmax(0,1fr);column-gap:clamp(25px,4.6vw,85px)}
.hero{grid-template-areas:"headline copy" "feature copy";row-gap:clamp(34px,5vw,72px);padding-top:clamp(31px,4.2vw,75px);padding-bottom:clamp(12px,2vw,24px);min-height:0;background:none;align-items:start;scroll-margin-top:var(--header-row)}
.hero-copy{grid-area:copy;align-self:start;position:sticky;top:calc(var(--header-row) + clamp(31px,4.2vw,75px));display:flex;flex-direction:column;align-items:start;min-width:0}
.hero-copy>p:first-child{font-size:clamp(18px,1.9vw,30px);font-weight:600;line-height:1.09;letter-spacing:-.048em;max-width:25ch;margin:0;text-wrap:pretty}

.location span{background:var(--acid);box-shadow:none}
.hero h1{grid-area:headline;min-width:0;font-size:clamp(56px,9.9vw,175px);font-weight:700;line-height:.84;letter-spacing:-.088em;color:var(--fg);margin:0}
.hero h1 span{display:block;font:inherit;letter-spacing:inherit;color:inherit;white-space:nowrap}
.featured{grid-area:feature;position:relative;overflow:hidden;isolation:isolate;aspect-ratio:4/3;border-radius:var(--corner);background:#111518}
.featured video{display:block;width:100%;height:100%;object-fit:cover}
.viewer-toolbar,.viewer-label{border:1px solid #424242;background:#151515;color:#fff}
.work-section{padding-block:clamp(24px,4vw,60px) 24px;scroll-margin-top:calc(var(--header-row) + 6px)}
.inner-page h1,.footer-title{font-weight:700}
.secondary{color:#26293b;background:#fff7;border:1px solid var(--line);border-radius:var(--corner)}
.secondary:hover{color:var(--accent-ink);background:#b7f52a26;border-color:#7ba32280}
.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:4px;gap:0 4px;align-items:start}
.work-card{background:transparent;position:relative;isolation:isolate;min-width:0;animation:card-enter .42s cubic-bezier(.22,.8,.34,1) both;animation-delay:var(--reveal-delay,0ms)}
@keyframes card-enter{from{opacity:.3;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.card-image{aspect-ratio:auto;border-radius:var(--corner);background:#272a35}
.card-image::after{content:none}
.card-stack{position:relative;padding:16px 12px 0;isolation:isolate}
.card-stack-layer{
  position:absolute;inset:10px 14px 6px;border-radius:10px;pointer-events:none;
  background:#c6c6be;border:1px solid #15161924;transform:translate(-2px,-3px) rotate(-1.6deg);
  transition:transform .46s cubic-bezier(.2,.72,.25,1);
}
.card-stack-layer:nth-last-child(3){inset:8px 16px 10px;transform:translate(2px,-5px) rotate(1.4deg);background:#deded7}
.card-stack-layer{overflow:hidden}
.card-stack-layer img{width:100%;height:100%;object-fit:cover}
.card-stack .card-image{
  border-radius:10px;box-shadow:0 2px 8px #15161926;
  transition:transform .46s cubic-bezier(.2,.72,.25,1);
}
.work-card:is(:hover,:focus-visible) .card-stack-layer{transform:translate(-10px,-12px) rotate(-3.2deg)}
.work-card:is(:hover,:focus-visible) .card-stack-layer:nth-last-child(3){transform:translate(10px,-14px) rotate(3deg)}
.work-card:is(:hover,:focus-visible) .card-stack .card-image{transform:translateY(-2px)}
@media(prefers-reduced-motion:reduce){
  .work-card .card-stack-layer,.work-card .card-stack .card-image{transition:transform .2s ease-out!important}
  .work-card:is(:hover,:focus-visible) .card-stack-layer{transform:translate(-4px,-5px) rotate(-1.6deg)}
  .work-card:is(:hover,:focus-visible) .card-stack-layer:nth-last-child(3){transform:translate(4px,-7px) rotate(1.4deg)}
}
.card-meta{padding:5px 2px 0}
.card-meta h3{color:var(--fg);font-size:clamp(14px,1.28vw,18px);font-weight:600;letter-spacing:-.025em}
.card-meta p{color:var(--muted);font-size:12px;margin:1px 0 0}
.inner-page{padding-top:clamp(45px,8vw,120px)}
.about-side{align-self:start;padding:20px;background:#fff8;border:1px solid var(--line);border-radius:var(--corner)}
.about-email{overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:3px}
.about-email:hover{color:var(--accent-ink)}
.site-footer .copyright{color:var(--muted)}
.project-header h1{font-size:clamp(46px,8.6vw,135px)}
#project{padding:clamp(18px,3vw,40px) var(--media-gutter) 24px;max-width:none}
#project > .text-link,.project-header,.media-block h2,.media-credit{margin-inline:3px}
.project-header{margin-block:16px 12px}
.project-header h1{margin-bottom:12px}
.viewer{border-radius:var(--corner);border:1px solid #fff9;box-shadow:none;background:#111520;color:#fff}
.viewer-stage{position:relative;min-height:390px;aspect-ratio:1.85}
.viewer-intro{background:linear-gradient(0deg,#070f0ad9,#0a120836 75%),var(--poster,none) center/cover}
.viewer-intro .primary-button{border-radius:var(--corner);padding:12px 20px;color:#171f08;border:1px solid var(--acid);background:var(--acid);box-shadow:none}
.viewer-intro p{border-radius:var(--corner);color:#fff;padding:3px 10px}
.viewer-intro-title{color:white;text-align:center;font-size:clamp(25px,5.8vw,96px);font-weight:500;line-height:.95;letter-spacing:-.065em;max-width:17ch;margin:0 18px 14px;text-wrap:balance;text-shadow:0 4px 23px #04080588}
.viewer-label{position:absolute;top:15px;left:15px;z-index:2;margin:0;border-radius:var(--corner);padding:8px 12px;font-size:12px;pointer-events:none;max-width:65%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.viewer-toolbar{position:absolute;z-index:2;bottom:12px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 24px);padding:7px;justify-content:center;border-radius:var(--corner);background-color:#151515}
.viewer-toolbar p{color:#fff;text-align:center;width:100%;margin:0 0 1px;font-size:11px;text-shadow:0 1px 4px #0009}
.viewer-toolbar button{padding:6px 10px;border-radius:3px;color:#fff;background:#272727;border-color:#454545}
.viewer-toolbar button:hover{background:#414141;border-color:#666}
.viewer-toolbar button[aria-pressed=true],.viewer-toolbar button[aria-pressed=true]:hover{color:#172008;background:var(--acid);border-color:var(--acid)}
.viewer-stage .pnlm-controls-container{z-index:2;left:auto;right:12px}
.viewer-stage .pnlm-panorama-info{display:none}
.viewer-stage .pnlm-hotspot-base{border-radius:50%;background-color:#151515;box-shadow:none}
.studio-form{background:#fff8;border-color:var(--line);border-radius:var(--corner)}
.studio-form input,.studio-form textarea,.studio-form select{background:#fff;border-color:#9193a0}
.error{color:#9f2a17!important}
@media(max-width:960px){.hero,.brands-section{grid-template-columns:minmax(0,2.25fr) minmax(0,1fr);column-gap:20px}.hero h1{font-size:10.2vw}}
@media(max-width:680px){.hero-copy{position:static;align-self:stretch}.hero .featured{order:1}.hero{display:flex;flex-direction:column;align-items:stretch;padding-top:34px;padding-bottom:12px;gap:20px}.hero h1{font-size:14vw}.hero-copy>p:first-child{font-size:17px;max-width:28ch;margin:0}.viewer-stage{min-height:330px}.viewer-toolbar{padding:5px;max-width:calc(100% - 14px);gap:4px}.viewer-toolbar button{font-size:11px;padding:5px 7px}}
@media(prefers-reduced-motion:reduce){.work-card{animation:none!important}}
.sample-setting{display:flex;gap:9px;align-items:center;margin:20px 0 0;width:max-content;max-width:100%;font-size:14px}
.sample-setting input{accent-color:var(--acid)}
.work-card .card-image img,.work-card .card-cover-video{
  display:block;width:100%;height:auto;aspect-ratio:auto 4/3;
  transform:translateY(var(--parallax-offset,0px)) scale(var(--parallax-scale,1));
}
.work-card .card-cover-video{aspect-ratio:auto 16/9;pointer-events:none}
.media-block video,.media-block iframe{border-radius:var(--corner)}
.media-block video{
  display:block;height:auto;aspect-ratio:auto var(--video-ratio,16/9);
  margin-inline:auto;object-fit:contain;
}
.media-block video[data-portrait]{width:min(100%,calc(80svh * var(--video-ratio)))}
.media-block video:fullscreen{width:100%;height:100%}
.reviews-section{background:var(--dark);color:#f9f8f4}
.reviews-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,2.05fr);
  align-items:start;
  gap:clamp(28px,5vw,92px);
  padding-top:clamp(36px,5vw,72px);
  padding-bottom:clamp(52px,8vw,116px);
}
.reviews-aside{max-width:33ch}
.reviews-controls{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:7px;margin:0 0 22px}
.reviews-controls button{
  display:grid;place-items:center;flex:none;
  width:32px;height:32px;padding:0;border:0;border-radius:var(--corner);
  color:inherit;background:transparent;
}
.reviews-controls button:hover{color:var(--acid)}
.review-arrow-left{transform:scaleX(-1)}
.review-progress{grid-column:1/-1;height:1px;background:#fff4}
.review-progress span{display:block;width:100%;height:100%;background:var(--acid);transform:scaleX(0);transform-origin:left}
.reviews-controls .eyebrow{justify-self:end;color:#bbb;white-space:nowrap}
#reviews-content{display:grid}
.reviews-quote,.reviews-quote blockquote{margin:0}
.reviews-quote{grid-area:1/1;min-width:0}
.reviews-quote[aria-hidden=true]{opacity:0;visibility:hidden;transform:translateY(6px)}
@media(prefers-reduced-motion:no-preference){
  .reviews-quote{transition:opacity .28s ease,transform .28s ease,visibility .28s}
}
.reviews-quote p{margin:0;font-size:clamp(16px,1.45vw,20px);line-height:1.42;letter-spacing:-.02em;white-space:pre-line;overflow-wrap:anywhere}
.reviews-credit{margin-top:18px;color:#d2d2d2;font-size:13px}
.reviews-intro{grid-column:2}
.reviews-intro p{font-size:clamp(30px,4.15vw,66px);font-weight:600;line-height:1.02;letter-spacing:-.058em;margin:0;max-width:25ch;text-wrap:pretty}
.reviews-intro p+p{margin-top:.72em}
.reviews-intro p:first-child::before{content:"“" / ""}
.reviews-intro p:last-child::after{content:"”" / ""}
.reviews-intro p::before,.reviews-intro p::after{color:var(--acid)}
.faq-section{background:#151515;color:#f9f8f4;scroll-margin-top:82px}
.faq-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,2.05fr);
  gap:clamp(24px,5vw,92px);
  padding-block:clamp(40px,6vw,92px);
}
.faq-aside h2{display:flex;align-items:center;gap:9px;margin:0;font-size:clamp(16px,1.65vw,23px);font-weight:600;letter-spacing:-.035em}
.faq-aside h2::before{content:"";width:.5em;height:.5em;border-radius:50%;background:var(--acid)}
.faq-intro{margin:0 0 clamp(26px,4vw,58px);font-size:clamp(36px,5.5vw,82px);font-weight:650;line-height:.98;letter-spacing:-.065em;text-wrap:balance}
.faq-content details{border-top:1px solid #fff3}
.faq-content details:last-child{border-bottom:1px solid #fff3}
.faq-content summary{display:flex;justify-content:space-between;align-items:center;gap:16px;list-style:none;cursor:pointer;padding:clamp(15px,1.7vw,25px) 0;font-size:clamp(16px,1.8vw,24px);font-weight:550;line-height:1.2;letter-spacing:-.028em}
.faq-content summary::-webkit-details-marker{display:none}
.faq-content summary::after{content:"";flex:none;width:.7em;height:.7em;background:linear-gradient(currentColor,currentColor) center/100% 1px no-repeat,linear-gradient(currentColor,currentColor) center/1px 100% no-repeat}
.faq-content details[open]:not([data-closing]) summary::after{background-size:100% 1px,0 0;color:var(--acid)}
.faq-answer{display:flow-root;overflow:hidden}
.faq-content details p{max-width:59ch;margin:0 22px 20px 0;color:#c9c9c9;line-height:1.55}
.faq-section :focus-visible{outline-color:var(--acid)}
.studio-reviews{margin-top:35px;max-width:780px}
.studio-reviews .studio-form{margin-bottom:18px}
@media(max-width:680px){
  .hero{padding:24px 12px 10px;gap:14px}
  .hero h1{font-size:clamp(36px,11.5vw,66px)}
  .hero-copy>p:first-child{font-size:15px;line-height:1.22;max-width:42ch;margin-bottom:0}

  .work-section{padding:24px 12px 22px;overflow-x:clip}
  .work-section #gallery h1{line-height:.92}
#category-title{font-size:22px;margin:0 0 12px}
  .work-grid{display:flex;flex-direction:column;align-items:stretch;gap:16px}
  .card-stack{padding:12px 4px 0}
  .card-meta{padding:4px 2px 0}
  .card-meta h3{font-size:13px;line-height:1.3}
  .card-meta p{font-size:11px;line-height:1.35}

  .reviews-layout,.faq-layout{grid-template-columns:1fr;gap:16px;padding-block:24px}
  .reviews-aside{max-width:48ch}
  .reviews-controls{margin-bottom:8px}
  .reviews-intro{grid-area:1/1}
  .reviews-intro p{font-size:clamp(22px,5.7vw,34px);line-height:1.1;max-width:30ch}
  .reviews-intro p+p{margin-top:.55em}
  .reviews-quote p{font-size:14px;line-height:1.4}
  .reviews-credit{font-size:12px;margin-top:8px}
  .faq-aside h2{font-size:14px}
  .faq-intro{font-size:clamp(27px,6.7vw,40px);margin-bottom:16px}
  .faq-content summary{font-size:15px;padding-block:12px}
  .faq-content details p{font-size:14px;margin-bottom:12px}
}
.reviews-section :focus-visible,.viewer :focus-visible{outline-color:var(--acid)}
:focus-visible{outline-color:var(--accent-ink)}
.text-link:hover,.footer-links a:hover,.socials a:hover{color:var(--accent-ink)}

#selected:focus{outline:none}
@supports (background-clip:text){
  .reviews-intro.has-scroll-reveal .review-reveal-word{
    background-image:linear-gradient(112deg,#f9f8f4 var(--reveal-stop,0%),var(--review-unrevealed,#737373) calc(var(--reveal-stop,0%) + 25%));
    background-clip:text;
    color:transparent;
  }
}
@media(prefers-reduced-motion:reduce){.reviews-intro{--review-unrevealed:#999}}
@media(forced-colors:active){
  .reviews-intro.has-scroll-reveal .review-reveal-word{background:none;color:CanvasText}
}

#category-title{font-size:clamp(24px,3vw,38px);letter-spacing:-.045em;line-height:1.1;margin:0 0 clamp(14px,2vw,24px)}
.project-content{display:grid;gap:16px;margin-top:14px}
.project-content .media-block{margin:0}
.project-media-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:4px;
  column-gap:var(--media-gutter);align-items:start;
}
.project-image{margin:0;min-width:0}
.project-media-grid > :only-child,.project-video:not([data-portrait]){grid-column:1/-1}
.project-image[data-portrait] :is(button,figcaption){
  width:min(100%,calc(80svh * var(--portrait-ratio)));
  margin-inline:var(--media-start,auto) var(--media-end,auto);
}
.project-media-grid .project-video[data-portrait] video{
  margin-inline:var(--media-start,auto) var(--media-end,auto);
}
.project-media-grid > [data-align=end]{--media-start:auto;--media-end:0}
.project-media-grid > [data-align=start]{--media-start:0;--media-end:auto}
@media(min-width:960px){
  .project-media-grid:has(> [data-portrait] ~ [data-portrait] ~ [data-portrait]){
    grid-template-columns:repeat(6,minmax(0,1fr));
  }
  .project-media-grid:has(> [data-portrait] ~ [data-portrait] ~ [data-portrait]) > .project-image{grid-column:span 3}
  .project-media-grid:has(> [data-portrait] ~ [data-portrait] ~ [data-portrait]) > [data-portrait]{grid-column:span 2}
}
.project-media-grid .project-video{min-width:0;margin:0}
.project-image button{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;overflow:hidden;border-radius:var(--corner)}
.project-image img{
  width:100%;height:auto;aspect-ratio:auto 4/3;
  transform:translateY(var(--parallax-offset,0px)) scale(var(--parallax-scale,1));
}
.project-image figcaption{font-size:13px;color:var(--muted);padding:5px 3px}
@media(max-width:680px){.project-media-grid{grid-template-columns:minmax(0,1fr)}}
.service-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(22px,4vw,70px);margin:42px 0 30px}
.service-group{border-top:1px solid var(--line);padding-top:14px}
.service-group h2,.service-detail h2,.service-enquiry h2{font-size:clamp(20px,2.2vw,32px);letter-spacing:-.04em;margin:0 0 14px}
.service-group ul{list-style:none;margin:0;padding:0}
.service-group li{border-bottom:1px solid var(--line)}
.service-group a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0}
.service-link-arrow{flex:none}
.service-group a:hover,.service-group a:focus-visible{color:var(--accent-ink)}
.service-detail{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:clamp(25px,6vw,100px);align-items:start}
.service-detail .lede{margin-bottom:20px}
.service-detail .primary-button,.service-enquiry .primary-button{margin-top:16px}
.service-detail-copy{max-width:68ch}
.service-detail-copy p:not(.lede){color:var(--muted)}
.service-back{display:inline-block;margin-bottom:10px}
.service-featured h1{font-size:clamp(42px,9vw,126px);max-width:13ch;line-height:.92}
.service-featured .service-detail{margin-top:clamp(28px,5vw,56px)}
.service-featured .service-detail-copy>section{margin-top:clamp(28px,5vw,52px)}
.service-featured .service-detail-copy h3{font-size:clamp(17px,2vw,21px);letter-spacing:-.025em;margin:0 0 6px}
.service-featured .service-detail-copy p{margin:0 0 15px}
.service-featured .service-detail-copy .lede{margin-bottom:20px}
.service-featured :is(.interview-process,.service-enquiry){margin-top:clamp(30px,6vw,100px)}
.service-featured .service-detail .primary-button{background:var(--acid);border-color:var(--acid);color:var(--fg)}
.service-featured .service-detail .primary-button:is(:hover,:focus-visible){background:var(--fg);border-color:var(--fg);color:var(--acid)}
.service-featured .service-group a{padding-inline:8px;border-radius:var(--corner)}
.service-featured :is(.service-group a,.service-back,.service-enquiry p a):is(:hover,:focus-visible){background:var(--fg);color:var(--acid)}
.interview-process{background:#121315;color:#f9f8f4}
.interview-process .frame{padding-block:clamp(26px,4vw,70px)}
:is(#interview-process,#interview-questions){scroll-margin-top:calc(var(--header-row) + 12px)}
.interview-process h2{font-size:clamp(36px,7vw,112px);line-height:.94;letter-spacing:-.07em;text-transform:uppercase;max-width:18ch;margin:0 0 clamp(24px,5vw,70px)}
.service-steps{margin:0;padding:0;list-style:none}
.service-steps li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-top:1px solid #fff3}
.service-step-copy{display:grid;grid-template-columns:auto minmax(0,1fr);align-content:start;align-items:baseline;gap:clamp(12px,2.5vw,42px);padding:clamp(16px,2vw,32px) clamp(12px,2.8vw,40px) 24px 0}
.service-step-number{color:var(--acid);white-space:nowrap}
.service-step-copy h3{font-size:clamp(19px,2.15vw,32px);letter-spacing:-.045em;line-height:1.1;margin:0}
.service-step-copy p{color:#c9c9c9;margin:10px 0 0;max-width:45ch}
.service-step-media{aspect-ratio:16/9;background:#24262a}
@media(max-width:760px){
  .service-steps li{grid-template-columns:minmax(0,1fr)}
  .service-step-copy{padding-right:0}
  .service-step-media{margin-bottom:20px}
}
.service-featured .service-detail-copy p a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.service-groups,.service-detail{grid-template-columns:minmax(0,1fr)}}
.project-text{
  max-width:64ch;margin:clamp(12px,3vw,34px) 3px;
  font-size:clamp(18px,2.35vw,31px);line-height:1.34;white-space:pre-wrap;overflow-wrap:anywhere;
}
#studio-editor{scroll-margin-top:105px}
.studio-library,.studio-inbox{max-width:880px}
.studio-cover-preview{width:auto;max-width:100%;max-height:180px;border-radius:var(--corner)}
.studio-form .studio-checkbox{display:flex;align-items:center;gap:8px}
.studio-form .studio-checkbox input{width:auto;margin:0;accent-color:var(--accent-ink)}
.studio-inbox{margin-top:38px}
.studio-blocks{display:grid;gap:10px}
.studio-row-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.studio-row-actions label{min-width:145px}
.enquiry-card{padding:13px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}
.enquiry-card .eyebrow{margin:4px 0 6px}
.enquiry-card p:not(.eyebrow){white-space:pre-wrap}
.enquiry-card select{padding:6px 9px;border:1px solid var(--line);border-radius:var(--corner);background:#fff}
.enquiry-form{max-width:670px;margin-top:30px}
.enquiry-form #enquiry-contact-note{margin-top:-9px}
.enquiry-contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(max-width:520px){.enquiry-contact{grid-template-columns:1fr}}

.work-photo{
  width:100%;padding:0;border:0;text-align:left;
  cursor:zoom-in;
}
.lightbox{
  max-width:min(94vw,1600px);
  max-height:calc(100dvh - 24px);
  padding:0;
  border:0;
  background:transparent;
  color:#fff;
  overflow:auto;
}
.lightbox::backdrop{
  background:rgba(10,11,10,.68);
  backdrop-filter:blur(12px);
}
.lightbox figure{margin:0}
.lightbox-image{
  display:block;padding:0;border:0;border-radius:var(--corner);
  background:none;cursor:zoom-out;
}
.lightbox-image img{
  display:block;width:auto;height:auto;
  max-width:min(94vw,1600px);max-height:calc(100dvh - 24px);
  border-radius:var(--corner);
  object-fit:contain;
}
.lightbox figure:has(figcaption:not([hidden])) img{max-height:calc(100dvh - 112px)}
.lightbox figcaption{
  width:0;min-width:100%;padding-top:7px;
  font-size:13px;line-height:1.4;text-align:left;overflow-wrap:anywhere;
}
.lightbox-image:focus-visible{outline-color:var(--acid);outline-offset:-3px}
.brands-section{padding-top:clamp(25px,3.7vw,55px);padding-bottom:clamp(28px,4.4vw,66px)}
.brands-section > *{grid-column:1}
.brands-section h2{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:clamp(17px,2vw,25px);letter-spacing:-.04em}
.brands-section h2::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--acid);flex:none}
.brands-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:0;margin:0;list-style:none;border-block:1px solid var(--line)}
.brands-grid li{display:grid;grid-template-rows:1fr auto;align-items:center;justify-items:center;gap:15px;padding:clamp(15px,2.3vw,36px) 8px 10px;min-height:clamp(110px,14vw,190px)}
.brands-grid img{width:100%;max-width:126px;height:clamp(28px,5.2vw,76px);object-fit:contain}
.brands-grid span{font:500 10px/1.5 var(--mono);text-transform:uppercase;text-align:center;color:var(--muted)}
@media(max-width:680px){.brands-section{display:block}}
@media(max-width:560px){
  .brands-grid{grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:0}
  .brands-grid li{border-bottom:1px solid var(--line)}
}
.service-group .service-related-title{margin-top:24px}
