@font-face{font-family:General Sans;src:url('/assets/general-sans-variable.woff2') format('woff2');font-weight:200 700;font-style:normal;font-display:block}
/* Prefer fuller final lines in body copy without changing heading wraps. */
main :where(p,li,blockquote,figcaption),.footer-about{text-wrap-style:pretty}
:root{color-scheme:only light;--ink:#333333;--muted:#656565;--quiet:#767676;--lime:#a9c23d;--link:#99a031;--tag-ink:#616161;--tag-surface:#ebebeb;--lime-button:#a2ba3a;--gutter:28px;--edge:clamp(22px,4.2vw,88px);color:var(--ink);background:#fff;font-family:General Sans,Arial,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;font-weight:500}img,video{max-width:100%;display:block}a:focus-visible,button:focus-visible{outline:3px solid var(--lime);outline-offset:7px}::selection{background:var(--lime);color:#111}.container{width:calc(100% - var(--edge)*2);max-width:1560px;margin-inline:auto}.skip-link{position:absolute;z-index:20;left:22px;top:-80px;background:white;color:var(--ink);padding:14px}.skip-link:focus{top:16px}.hero{height:85svh;min-height:420px;max-height:1200px;position:relative;background:var(--hero-status-color,#eee);overflow:hidden}.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1s ease;pointer-events:none}.hero-slide.active{opacity:1}.hero-slide picture,.hero-slide img{width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;z-index:2;inset:0 0 auto;height:clamp(240px,36svh,420px);max-height:58%;background:linear-gradient(to bottom,#000 0%,rgb(0 0 0/.82) 20%,rgb(0 0 0/.55) 44%,rgb(0 0 0/.28) 64%,rgb(0 0 0/.1) 80%,transparent 100%);opacity:var(--hero-overlay-strength,0);transition:opacity 1s ease;pointer-events:none}.site-header{position:absolute;z-index:4;left:0;top:0;width:100%;color:white;transition:color .35s}.site-header[data-theme=dark]{color:#fff}.header-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:32px var(--edge)}.brand{width:66px;height:48px;display:flex;align-items:center}.brand svg{width:62px;height:43px;fill:currentColor}.desktop-nav{display:flex;gap:40px;align-items:center;font-size:17px}.desktop-nav a{min-height:44px;display:flex;align-items:center}.desktop-nav a:hover{text-decoration:underline;text-underline-offset:var(--underline-offset)}.header-actions{justify-self:end;display:flex;gap:14px;align-items:center}.instagram{display:grid;place-items:center;width:44px;height:44px}.instagram svg{width:23px;height:23px}.menu-button{display:none;background:none;border:0;padding:10px;width:44px;height:44px;color:inherit}.menu-button span{height:1.5px;background:currentColor;display:block;margin:6px 0}.mobile-menu{border:0;padding:0;position:fixed;inset:0;width:100%;max-width:none;max-height:none;height:100dvh;background:white;color:var(--ink);z-index:30;margin:0}.menu-top{display:flex;justify-content:space-between;align-items:center;padding:25px var(--edge)}.menu-close{font-size:30px;background:transparent;border:0;width:44px;height:44px}.mobile-menu nav{display:flex;flex-direction:column;padding:70px var(--edge);gap:25px;font-size:clamp(36px,8vw,60px)}.brand-statement{text-align:center;display:flex;justify-content:center;flex-direction:column;min-height:clamp(310px,39svh,460px);padding:56px 20px 62px}.brand-statement h1{font-weight:500;font-size:clamp(44px,5.6vw,90px);letter-spacing:-.045em;line-height:1.03;margin:0}.brand-statement p{font-size:clamp(15px,1.15vw,18px);margin:26px 0 0;line-height:1.5}.project-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);row-gap:66px}.project{grid-column:span 6;min-width:0}.project.project-lead{grid-column:1/-1}.project-link{display:block}.project-media{width:100%;aspect-ratio:1.18;overflow:hidden;background:var(--media-bg,#f2f2f2)}.project.project-lead .project-media{aspect-ratio:16/9}.project-media img,.project-media video{width:100%;height:100%;object-fit:var(--fit,cover);object-position:var(--focal,50% 50%)}.project-meta{padding-top:20px}.project h3{font-weight:500;font-size:19px;margin:0 0 7px;line-height:1.4}.project-statement{font-size:clamp(20px,1.7vw,27px);letter-spacing:-.025em;line-height:1.35;margin:0;max-width:36ch}.project-evidence{font-size:14px;line-height:1.5;color:var(--muted);margin:13px 0 0}.project-link:hover h3{text-decoration:none}.point-of-view{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);align-items:end;padding-block:clamp(110px,11vw,180px)}.point-of-view h2{grid-column:1/span 8;font-size:clamp(38px,4.45vw,70px);font-weight:500;letter-spacing:-.04em;line-height:1.1;margin:0;max-width:17ch}.point-of-view p{grid-column:9/span 4;font-size:clamp(18px,1.5vw,23px);line-height:1.5;margin:0 0 3px;max-width:31ch}.clients{padding-top:clamp(110px,11vw,170px)}.section-heading{font-size:clamp(25px,2.25vw,36px);font-weight:500;letter-spacing:-.025em;margin:0}.client-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:36px;row-gap:18px;margin-top:45px}.client-logo{display:flex;align-items:center;justify-content:center;min-height:145px;padding:24px 12px}.client-logo img{height:var(--logo-height,60px);max-height:92px;width:auto;max-width:100%;object-fit:contain}.recognition{padding-top:clamp(100px,10vw,150px);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter)}.recognition>h2{grid-column:1/span 4}.awards{grid-column:5/-1}.award{display:grid;grid-template-columns:1fr 110px;gap:24px;padding-bottom:30px}.award h3{font-size:18px;font-weight:500;line-height:1.4;margin:0}.award p{font-size:15px;line-height:1.55;color:var(--muted);margin:6px 0 0}.award-result{font-size:16px;white-space:nowrap;text-align:right;padding-top:2px}.award a:hover h3{text-decoration:underline;text-underline-offset:var(--underline-offset)}.contact{text-align:center;padding:clamp(120px,12vw,195px) 22px clamp(110px,10vw,165px)}.contact h2{font-size:clamp(40px,5.3vw,84px);letter-spacing:-.045em;line-height:1.1;font-weight:500;margin:0 auto 35px;max-width:13ch}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1800px){.hero{height:85svh}.header-inner{padding-top:40px}}
.client-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:1000px){:root{--gutter:24px;--edge:32px}.desktop-nav{gap:28px}.header-inner{padding-top:25px}.client-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.point-of-view h2{grid-column:1/span 7}.point-of-view p{grid-column:8/span 5}.recognition>h2{grid-column:1/span 3}.awards{grid-column:4/-1}.project-statement{font-size:22px}}
@media(max-width:640px){:root{--edge:22px;--gutter:20px}.hero{height:60svh;min-height:390px;max-height:850px}.header-inner{grid-template-columns:1fr auto;padding:calc(20px + env(safe-area-inset-top,0px)) var(--edge) 20px}.brand{width:56px}.brand svg{width:52px;height:38px}.desktop-nav{display:none}.menu-button{display:block}.header-actions{gap:5px}.brand-statement{min-height:0;padding:76px 20px 80px}.brand-statement h1{font-size:clamp(42px,10.9vw,68px)}.brand-statement p{max-width:28ch;margin:23px auto 0;font-size:15px}.project-grid{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:45px}.project,.project.project-lead{grid-column:1/-1}.project-media,.project.project-lead .project-media{aspect-ratio:1.12}.project-meta{padding-top:17px}.project h3{font-size:17px;margin-bottom:5px}.project-statement{font-size:22px;line-height:1.35}.project-evidence{margin-top:11px;font-size:14px}.point-of-view{grid-template-columns:repeat(4,minmax(0,1fr));gap:27px;padding-block:92px}.point-of-view h2,.point-of-view p{grid-column:1/-1}.point-of-view h2{font-size:clamp(36px,9.6vw,53px);max-width:17ch}.point-of-view p{font-size:18px;max-width:32ch}.clients{padding-top:90px}.client-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin-top:28px}.client-logo{min-height:122px;padding:22px 10px}.client-logo img{max-height:74px;height:calc(var(--logo-height,60px)*.86)}.recognition{display:block;padding-top:85px}.awards{margin-top:34px}.award{gap:15px;grid-template-columns:1fr 90px;padding-bottom:27px}.award h3{font-size:16px}.award p{font-size:14px}.award-result{font-size:14px}.contact{padding:94px 22px 105px}.contact h2{font-size:48px;margin-bottom:29px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}

.project-media picture{display:block;width:100%;height:100%}

/* Quincy supplies Limefish's editorial voice; General Sans carries supporting text. */
@font-face{font-family:Quincy;src:url('/assets/quincy-regular.woff') format('woff');font-weight:400;font-display:block}
@font-face{font-family:Quincy;src:url('/assets/quincy-medium.woff') format('woff');font-weight:500 700;font-display:block}
.brand-statement h1,.point-of-view h2,.contact h2,.section-heading,.project h3{font-family:Quincy,Georgia,serif;font-weight:500;letter-spacing:-.025em}
.brand-statement h1{font-size:clamp(49px,6.3vw,101px);line-height:1.03}
.point-of-view h2{font-size:clamp(38px,3.71934vw,60px);line-height:1.06;max-width:18ch}
.section-heading{font-size:clamp(31px,2.7vw,43px)}
.contact h2{font-size:clamp(48px,6vw,96px);max-width:14ch}
.brand{color:var(--lime)}
.site-header .brand svg{filter:none}
.project-media{border-radius:12px;position:relative;isolation:isolate}
.project-media:after{content:"";position:absolute;inset:0;background:#000;opacity:0;transition:opacity .16s;pointer-events:none}
.project-title{display:flex;justify-content:space-between;gap:20px;align-items:baseline}
.project h3{font-size:30px;line-height:1.2;margin:0 0 9px}
.project-arrow{width:22px;height:22px;flex-shrink:0;transition:transform .16s,color .16s}
.project-link{-webkit-tap-highlight-color:transparent;touch-action:manipulation;border-radius:12px;transition:color .16s}
.project-link:active .project-media:after,.project-link.is-pressed .project-media:after{opacity:.16}
.project-link:active .project-arrow,.project-link.is-pressed .project-arrow{transform:translateX(2px);color:var(--link)}
.project-link:active h3,.project-link.is-pressed h3{color:var(--link)}
.project-link:hover h3{text-decoration:none}
@media(hover:hover){.project-link:hover .project-arrow{transform:translateX(2px)}.project-link:hover h3{text-decoration:none}}
.mobile-menu{background:#171916;color:#fff;opacity:0;transform:translateY(-18px);transition:opacity .28s ease,transform .38s cubic-bezier(.2,.7,.2,1);overflow-y:auto}
.mobile-menu.is-open{opacity:1;transform:translateY(0)}
.mobile-menu[open]{display:flex;flex-direction:column}
.mobile-menu::backdrop{background:#17191680;opacity:0;transition:opacity .28s}.mobile-menu.is-open::backdrop{opacity:1}
.menu-top{padding:calc(20px + env(safe-area-inset-top,0px)) var(--edge) 20px;flex:none}
.menu-close{position:relative;color:var(--lime);border:0;flex:none;border-radius:50%;-webkit-tap-highlight-color:transparent}
.menu-close span{position:absolute;left:10px;top:21px;width:24px;height:1.5px;background:currentColor;transform:rotate(45deg)}.menu-close span+span{transform:rotate(-45deg)}
.menu-close:active{background:#ffffff14}
.mobile-menu nav{padding:clamp(44px,11svh,100px) var(--edge) 40px;gap:5px;font-family:Quincy,Georgia,serif;font-weight:400;font-size:clamp(62px,17vw,92px);letter-spacing:-.035em;line-height:1.15}
.mobile-menu nav a{display:flex;align-items:center;justify-content:space-between;min-height:84px;transition:color .16s}

.mobile-menu nav a:active{color:var(--link)}
.menu-bottom{margin-top:auto;padding:30px var(--edge) max(35px,env(safe-area-inset-bottom));display:flex;justify-content:space-between;gap:30px;align-items:end}
.menu-bottom p{margin:0;font-size:14px;line-height:1.5;color:#c6c8c1}.menu-bottom p:first-child{font-family:Quincy,Georgia,serif;color:var(--lime);font-size:25px;line-height:1.1;max-width:11ch}.menu-bottom p:last-child{text-align:right}
body.input-pointer .mobile-menu :focus,body.input-pointer .menu-button:focus{outline:none}
@media(max-width:640px){
 .brand-statement{padding-block:68px 74px}.brand-statement h1{font-size:clamp(46px,12.4vw,76px)}
 .project-grid{row-gap:51px}.project.project-lead{width:calc(100% + 20px);margin-inline:-10px}.project.project-lead .project-meta{padding-inline:10px}
 .project-media{aspect-ratio:1.04;border-radius:12px}.project.project-lead .project-media{aspect-ratio:1.32}.project:nth-of-type(3) .project-media{aspect-ratio:1.19}
 .project h3{font-size:30px}.project.project-lead h3{font-size:35px}.project-statement{font-size:19px;max-width:30ch;line-height:1.4}.project-arrow{width:21px;height:21px;margin-top:4px}.project-evidence{font-size:14px;margin-top:12px}
 .point-of-view{padding-block:91px;gap:28px}.point-of-view h2{font-size:clamp(43px,11.5vw,65px);max-width:18ch}.point-of-view p{font-size:18px}
 .contact h2{font-size:clamp(49px,13vw,74px);max-width:13ch}
}
@media(max-width:359px){.brand-statement h1{font-size:40px}.project h3{font-size:28px}.menu-bottom{gap:18px}.menu-bottom p:last-child{font-size:13px}}
@media(prefers-reduced-motion:reduce){.mobile-menu{transform:none;transition:none}.project-arrow{transform:none!important}}
/* The header coordinates are identical in both states. Only menu content moves. */
.mobile-menu{transform:none;transition:opacity .28s ease}
.mobile-menu nav{opacity:0;transform:translateY(14px);transition:opacity .26s ease,transform .34s cubic-bezier(.2,.7,.2,1)}
.mobile-menu.is-open nav{opacity:1;transform:none}
.menu-bottom{opacity:0;transition:opacity .25s ease}.mobile-menu.is-open .menu-bottom{opacity:1}
@media(prefers-reduced-motion:reduce){.mobile-menu nav{transform:none;transition:none}.menu-bottom{transition:none}}

/* Calm tonal sections frame the studio's statements without adding panels or cards. */
:root{--page:#fafaf9;--surface-soft:#fafafa;background:var(--page)}
body{background:var(--page)}
.brand-statement{background:var(--surface-soft);margin-bottom:0;min-height:clamp(280px,35svh,380px)}
.brand-statement h1{font-size:clamp(40px,3.84721vw,62px);line-height:1.07}
@media(min-width:1001px){.brand-statement h1{white-space:nowrap}.brand-statement h1 br{display:none}}
.brand-statement p{margin-top:22px}
.point-of-view-band{background:var(--surface-soft);margin-block:var(--edge)}
.point-of-view{padding-block:clamp(75px,7vw,110px)}
.clients-band{background:#fff;margin-top:clamp(90px,10vw,150px)}
.clients{padding-block:clamp(65px,6vw,96px)}
.recognition{padding-top:clamp(80px,8vw,125px)}
.contact{background:var(--surface-soft);margin-top:clamp(70px,7vw,110px);padding-block:clamp(85px,9vw,140px)}
.site-header .brand svg{filter:none;box-shadow:none}
html[data-hero-theme="light"] .site-header .brand{color:#fff}
html[data-hero-theme="dark"] .site-header .brand{color:#fff}
.mobile-menu .brand{color:#fff}
.mobile-menu nav{font-size:clamp(42px,11.3vw,54px);gap:12px;letter-spacing:-.025em}
.mobile-menu nav a{min-height:62px;justify-content:flex-start}
@media(max-width:640px){
 .brand-statement{min-height:0;padding:56px 20px 59px;margin-bottom:0}
 .brand-statement h1{font-size:clamp(35px,10vw,46px);line-height:1.07}
 .brand-statement p{font-size:14px;max-width:28ch;margin-top:20px}
 .point-of-view-band{margin-block:var(--edge)}.point-of-view{padding-block:64px;gap:24px}
 .clients-band{margin-top:74px}.clients{padding-block:57px}
 .recognition{padding-top:67px}.contact{margin-top:65px;padding-block:72px 78px}
 .mobile-menu nav{padding-top:clamp(42px,10svh,82px);padding-bottom:35px}
}

.more-projects{padding-top:clamp(75px,8vw,125px)}
.more-projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:34px}
.more-project-link{position:relative;min-width:0;overflow:hidden;border-radius:0}
.more-projects-grid .project-media{aspect-ratio:1;border-radius:0}
@media(max-width:640px){
 .project-grid.container{width:100%;max-width:none;column-gap:0}
 .project-grid .project{width:100%;margin-inline:0}
 .project-grid .project .project-media{aspect-ratio:16/9;border-radius:0}
 .project-grid .project .project-meta{padding-inline:var(--edge)}
 .project-grid .project-link{border-radius:0}
 .project-link:focus-visible{outline-offset:-3px}
 .more-projects{width:100%;padding-top:65px}
 .more-projects>.section-heading{padding-inline:var(--edge)}
 .more-projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:27px}
}
.contact h2{font-size:clamp(38px,4.4vw,68px);line-height:1.1;max-width:18ch;text-wrap:balance}
@media(min-width:1001px){.contact h2{max-width:none;white-space:nowrap}}
@media(max-width:640px){.contact h2{font-size:clamp(35px,9.5vw,44px);max-width:16ch;margin-bottom:26px}}
@media(max-width:640px){
 .client-grid{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:12px;row-gap:10px}
 .client-logo{min-height:90px;padding:12px 4px}
 .client-logo img{height:calc(var(--logo-height,60px)*.72);max-height:62px}
}

/* Header stays white; each light hero carries its own fading top scrim. */
.site-header,.site-header .brand,.mobile-menu .brand,.menu-close{color:#fff}

/* Lighter mobile captions keep the work visually primary. */
@media(max-width:640px){
 .project-grid{row-gap:48px}
 .project-grid .project-title{align-items:center;margin-bottom:6px}
 .project-grid .project h3{font-size:26px;line-height:1.2;margin:0}
 .project-grid .project-statement{font-size:16px;line-height:1.5;color:var(--muted);max-width:none;letter-spacing:-.01em}
 .project-grid .project-arrow{width:18px;height:18px;margin:0}
}
@media(max-width:359px){.project-grid .project h3{font-size:24px}}

/* The brand statement is a black typographic pause. */
.brand-statement{background:#000;color:#fff}
.brand-statement p{color:#fff}

/* Keep captions attached to their own image, with a larger break before the next work. */
@media(max-width:640px){
 .project-grid .project .project-meta{padding-top:8px}
 .project-grid .project-title{margin-bottom:4px}
 .recognition .awards{margin-top:22px}
 .recognition .award{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding-bottom:18px;align-items:baseline}
 .recognition .award:last-child{padding-bottom:0}
 .recognition .award h3{font-size:15px;line-height:1.4}
 .recognition .award-result{font-size:13px;padding-top:0}
}

/* One programme heading, with the actual award categories kept visible. */
.award-programme+.award-programme{margin-top:32px}
.award-programme-title{font:500 18px/1.4 General Sans,Arial,sans-serif;margin:0 0 22px}
.award h4{font:400 15px/1.5 General Sans,Arial,sans-serif;margin:0;color:var(--muted)}
.award a:hover h4{text-decoration:underline;text-underline-offset:var(--underline-offset)}
@media(max-width:640px){
 .brand-statement{margin-bottom:0}
 .point-of-view-band{margin-block:var(--edge)}
 .point-of-view h2{font-size:clamp(34px,9vw,38px);line-height:1.1;text-wrap:balance}
 .award-programme-title{font-size:16px;margin-bottom:18px}
 .recognition .award h4{font-size:14px;line-height:1.45}
}

/* Featured work: compact captions directly beneath unobscured imagery. */
.brand-statement{background:var(--surface-soft);color:var(--ink)}
.brand-statement p{color:var(--ink)}
.client-logo{justify-content:center;position:relative}
.client-logo img{object-position:center}
.client-label{position:fixed;z-index:20;left:0;top:0;width:max-content;max-width:min(280px,calc(100vw - 24px));padding:5px 9px;border-radius:4px;background:#333;color:#fff;font-size:12px;line-height:1.35;text-align:left;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility .18s ease}
.client-label.is-visible{opacity:1;visibility:visible}

.project-grid{row-gap:46px}
.project-grid .project-visual{display:block;background:transparent;border:0;border-radius:0;overflow:visible}
.project-grid .project-link{border-radius:0}
.project-grid .project-media{position:relative;border-radius:0;min-height:0;aspect-ratio:4/3}
.project-grid .project.project-lead .project-media{aspect-ratio:16/9}
.project-grid .project-media picture,.project-grid .project-media>video{position:absolute;inset:0;width:100%;height:100%;max-width:100%}
.project-grid .project .project-meta{position:static;padding:12px 0 0;background:none;color:var(--ink)}
.project-grid .project-title{align-items:center;gap:16px;margin:0 0 2px}
.project-grid .project h3{font-family:General Sans,Arial,sans-serif;font-size:17px;font-weight:500;line-height:1.35;letter-spacing:0;margin:0;color:var(--ink)}
.project-grid .project-statement{font-family:General Sans,Arial,sans-serif;font-size:var(--caption-body-size);font-weight:400;line-height:1.4;letter-spacing:0;max-width:48ch;margin:0;color:var(--muted);text-wrap:pretty}
.project-grid .project-evidence{font-size:13px;font-weight:300;line-height:1.4;letter-spacing:0;margin:7px 0 0;color:var(--muted)}
.project-grid .project-arrow{width:16px;height:16px;margin:0;color:var(--ink)}
.project-grid .project-link:active h3,.project-grid .project-link.is-pressed h3,.project-grid .project-link:active .project-arrow,.project-grid .project-link.is-pressed .project-arrow{color:var(--link)}
@media(max-width:640px){
 .project-grid.container{display:block;width:100%;max-width:none;margin-inline:0;padding:0 0 40px;background:transparent;overflow:visible}
 .project-grid .project{width:100%;margin:0;border:0}
 .project-grid .project+.project{margin-top:40px}
 .project-grid .project .project-media,.project-grid .project.project-lead .project-media{aspect-ratio:16/9}
 .project-grid .project .project-meta{padding:10px var(--edge) 0}
 .project-grid .project h3,.project-grid .project-statement{font-size:16px;line-height:1.4}
 .project-grid .project-statement{max-width:none}
 .project-grid .project-title{margin-bottom:1px}
}

/* The More projects section ends at the bottom edge of its thumbnail grid. */
.more-projects{padding-bottom:0;margin-bottom:0}
.more-projects+.clients-band{margin-top:0}

.more-projects-heading{display:flex;align-items:baseline;justify-content:space-between;gap:22px}
@media(max-width:640px){.more-projects-heading{padding-inline:22px;gap:12px}}

/* Mobile homepage audit: consistent rhythm and legible supporting details. */
@media(max-width:640px){
 .home-page #more-work{padding-bottom:0}
 .home-page .more-projects{padding-top:56px}
 .home-page .section-heading{font-size:28px;line-height:1.15}
 .home-page .project-grid .project-title{margin-bottom:3px}
}
@media(max-width:420px){
 .home-page .recognition .award{grid-template-columns:minmax(0,1fr);gap:4px;padding-bottom:20px}
 .home-page .recognition .award:last-child{padding-bottom:0}
 .home-page .recognition .award-result{text-align:left;padding-top:0;color:var(--muted)}
}

/* Shared green link colour,.case-return a,.case-read-more,.case-read-more:hover,.case-read-more:active{color:var(--link)}

/* Featured work: asymmetric desktop pairs, aligned tops and quiet metadata. */
.home-page .project-grid{align-items:start;column-gap:var(--edge)}
.home-page .project-grid .project-title{justify-content:flex-start;gap:8px}
.home-page .project-grid .project-link:hover h3{text-decoration:none}
.home-page .project-grid .project-arrow{width:14px;height:14px;color:var(--muted);position:relative;top:1px}
/* Detailed classification stays on case-study pages. */
.case-tags li{font:400 14px/1.4 General Sans,Arial,sans-serif;color:var(--tag-ink);background:var(--tag-surface);border:0;border-radius:4px;padding:6px 10px;max-width:100%;overflow-wrap:anywhere}
.home-page .project-grid .project-evidence{margin-top:10px}
@media(min-width:1001px){
 .home-page .project-grid{row-gap:64px;grid-template-columns:minmax(0,6fr) minmax(0,5fr)}
 .home-page #more-work{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}
 .home-page .project-grid .project-narrow-left{grid-column:1}
 .home-page .project-grid .project-wide-right{grid-column:2}
 .home-page .project-grid .project-wide-left{grid-column:1}
 .home-page .project-grid .project-narrow-right{grid-column:2}
 .home-page .project-grid .project:not(.project-lead) .project-media{aspect-ratio:3/2}
}

/* Years anchor the awards list; programme and category sit in open text columns. */
.home-page .recognition{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:var(--edge);align-items:start}
.home-page .recognition>h2{grid-column:1}
.recognition-list{grid-column:2;min-width:0}
.recognition-year{display:grid;grid-template-columns:100px minmax(0,1fr);gap:28px;padding:25px 0 30px}
.recognition-year h3{font:500 26px/1 General Sans,Arial,sans-serif;letter-spacing:-.035em;margin:0}
.recognition-year-content{min-width:0}
.recognition-programme{display:grid;grid-template-columns:minmax(180px,220px) minmax(0,1fr);gap:22px}
.recognition-programme+.recognition-programme{margin-top:24px}
.recognition-programme h4{font:400 15px/1.45 General Sans,Arial,sans-serif;color:var(--muted);margin:3px 0 0}
.recognition-programme ul{list-style:none;padding:0;margin:0}
.recognition-programme li+li{margin-top:10px}
.recognition-programme a{font:400 18px/1.45 General Sans,Arial,sans-serif}
.recognition-programme a:hover{text-decoration:underline;text-underline-offset:var(--underline-offset)}
@media(max-width:1300px){
 .home-page .recognition{display:block}
 .recognition-list{margin-top:32px}
}
@media(max-width:1000px){
 .recognition-programme{display:block}
 .recognition-programme h4{margin:0 0 8px}
}
@media(max-width:640px){
 .recognition-list{margin-top:24px}
 .recognition-year{grid-template-columns:66px minmax(0,1fr);gap:16px;padding:22px 0 25px}
 .recognition-year h3{font-size:22px}
 .recognition-programme{display:block}
 .recognition-programme+.recognition-programme{margin-top:20px}
 .recognition-programme h4{font-size:13px;margin:0 0 7px}
 .recognition-programme a{font-size:15px;line-height:1.45}
 .recognition-programme li+li{margin-top:7px}
}

/* Interior pages reserve header space instead of placing controls over artwork. */
.site-header[data-surface=page]{position:relative;color:var(--ink);background:var(--page)}
.site-header[data-surface=page] .brand{color:var(--lime)}
/* Match the Instagram mark optically to the fish logo without shrinking its tap target. */
.instagram{width:48px;height:48px}
.instagram svg{width:32px;height:32px}
@media(max-width:640px){.instagram svg{width:30px;height:30px}}
/* One optical chevron treatment for homepage and catalogue captions. */
.work-caption .project-arrow{width:14px;height:14px;margin:0;color:var(--muted);position:relative;top:1px}

/* Preserve the original story sequence, with paired cards and larger lead projects. */
@media(max-width:640px){
 .home-page .featured-sequence .project-grid{display:grid;width:calc(100% - 32px);margin-inline:auto;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;row-gap:36px;padding:0;align-items:start}
 .home-page .featured-sequence .project-grid .project{grid-column:auto;width:auto;margin:0;min-width:0;order:0}
 .home-page .featured-sequence .project-grid .project .project-media{aspect-ratio:1}
 .home-page .featured-sequence .project-grid .project .project-meta{padding:10px 0 0}
 .home-page .featured-sequence .project-grid .project-title{gap:5px;align-items:baseline}
 .home-page .featured-sequence .project-grid .project-arrow{align-self:center;flex-shrink:0}
 .home-page .featured-sequence .project-grid .project h3{font-size:16px;line-height:1.3;overflow-wrap:break-word;min-width:0}
 .home-page .featured-sequence .project-grid .project-statement{font-size:14px;line-height:1.45;margin-top:5px}
 .home-page .featured-sequence .project-grid .project-evidence{font-size:12px;line-height:1.45;margin-top:8px}
 .home-page .featured-sequence .project-grid .project.project-lead{grid-column:1/-1}
 .home-page .featured-sequence .project-grid .project.project-lead .project-media{aspect-ratio:16/9}
 .home-page .featured-sequence .project-grid .project.project-lead h3{font-size:18px}
 .home-page .featured-sequence .project-grid .project.project-lead .project-statement{font-size:16px}
 .home-page .featured-sequence>.point-of-view-band{margin-block:var(--edge)}
 .home-page .featured-sequence .point-of-view{padding-block:64px}
}

/* Shared project-caption rhythm on homepage and Work. */
:root{--project-caption-gap:6px;--project-description-gap:3px}
.home-page .project-grid .project .project-meta{padding-top:var(--project-caption-gap)}
.home-page .featured-sequence .project-grid .project .project-meta{padding-top:var(--project-caption-gap)}
.home-page .project-grid .project-title{margin-bottom:0}
.home-page .project-grid .project-statement,
.home-page .featured-sequence .project-grid .project-statement{margin-top:var(--project-description-gap)}

/* Homepage section bands separate studio information from the work. */
.home-page .point-of-view-band{background:var(--surface-soft)}
.home-page .brand-statement{background:var(--page)}
.home-page .clients-band{background:var(--page)}
.home-page .more-projects-band{background:var(--surface-soft);margin-top:clamp(56px,6vw,96px)}
.home-page .more-projects-band .more-projects{padding-top:32px}
.home-page .more-projects-band+.clients-band{margin-top:0}

/* Title, description and award form one compact caption with three clear levels. */
.home-page .project-grid .project-statement{color:var(--muted)}
.home-page .project-grid .project-evidence,
.home-page .featured-sequence .project-grid .project-evidence{margin-top:4px;color:var(--quiet);line-height:1.4}

/* Compact caption leading, shared by homepage and catalogue. */
:root{--caption-title-leading:1.2;--caption-body-size:15px;--caption-body-leading:1.25;--caption-evidence-leading:1.3}
.home-page .project-grid .project h3,
.home-page .featured-sequence .project-grid .project h3{line-height:var(--caption-title-leading)}
.home-page .project-grid .project-statement,
.home-page .featured-sequence .project-grid .project-statement{line-height:var(--caption-body-leading)}
.home-page .project-grid .project-evidence,
.home-page .featured-sequence .project-grid .project-evidence{line-height:var(--caption-evidence-leading)}

/* Continue section separation from clients through awards and contact. */
.home-page .recognition-band{background:var(--surface-soft)}
.home-page .recognition-band .recognition{padding-block:clamp(64px,7vw,110px)}
.home-page .contact{background:var(--page);margin-top:0}
.home-page .home-learn-band{background:var(--surface-soft)}
@media(max-width:640px){.home-page .recognition-band .recognition{padding-block:56px}}

/* Reusable primary button. Every primary CTA uses this class and renderer. */
.button{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;min-height:56px;padding:0 40px;border:0;border-radius:999px;background:var(--lime-button);color:#fff;font:500 18px/1 General Sans,Arial,sans-serif;text-align:center;text-decoration:none;white-space:nowrap;box-shadow:none;transition:transform .16s}
.button>span{display:block;line-height:1;transform:translateY(-.06em)}
.button:hover,.button:active,.button.is-pressed{background:var(--lime-button);color:#fff;text-decoration:none}
.button:active,.button.is-pressed{transform:translateY(2px)}
@media(max-width:640px){.button{min-height:48px;padding-inline:20px;font-size:16px}}
@media(prefers-reduced-motion:reduce){.button{transition:none}}

/* Shared footer: a compact brand mark introduces studio context and navigation. */
.footer-band{padding-top:clamp(96px,9vw,144px);background:#fff;color:var(--quiet)}
.footer{padding-block:0 clamp(48px,5vw,72px)}
.footer p{margin:0}
.footer-brand{display:block;width:clamp(150px,12vw,184px);aspect-ratio:1560/422;margin-bottom:clamp(24px,2.5vw,36px);background:#A9C23F;line-height:0;-webkit-mask:url('/assets/limefish-full-logo.svg') center/contain no-repeat;mask:url('/assets/limefish-full-logo.svg') center/contain no-repeat}
.footer-brand img{display:block;width:100%;height:auto;opacity:0}
.footer-top{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);align-items:start}
.footer-about{grid-column:1/span 5;max-width:52ch;font-size:14px;line-height:1.5;letter-spacing:0}
.footer-nav{grid-column:7/span 4;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gutter);align-self:end}
.footer-link-group{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.footer-link-group a{font-size:13px;line-height:1.45}
.footer-link-group a:hover{text-decoration:underline;text-underline-offset:var(--underline-offset)}
.footer-copyright{grid-column:11/-1;align-self:end;justify-self:end;color:#8a8a8a;font-size:13px;line-height:1.45;white-space:nowrap}
@media(max-width:640px){
 .footer-band{padding-top:80px}
 .footer{padding-block:0 40px}
 .footer-brand{width:144px;margin-bottom:24px}
 .footer-top{display:block}
 .footer-about{width:100%;max-width:none;font-size:14px;line-height:1.5}
 .footer-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:46px}
 .footer-link-group{gap:7px}
 .footer-link-group a{font-size:13px}
 .footer .footer-copyright{width:100%;margin-top:40px;font-size:12px;white-space:normal;text-align:left;justify-self:stretch}
}

/* Shared visual-system primitives. Reuse before adding page-specific equivalents. */
:root{--section-space-standard:clamp(64px,8vw,120px);--section-space-medium:clamp(72px,8vw,120px);--section-space-large:clamp(84px,9vw,140px);--section-space-compact:clamp(48px,5vw,64px);--section-space-mobile:64px;--underline-offset:3px}
.editorial-heading{font-family:Quincy,Georgia,serif;font-weight:500;letter-spacing:-.035em;line-height:1.04}
.page-heading{font-family:Quincy,Georgia,serif;font-weight:500;letter-spacing:-.025em;line-height:1}
.eyebrow{font-size:16px;line-height:1.4;color:var(--muted)}
.text-link{display:inline-flex;align-items:center;width:max-content;max-width:100%;min-height:44px;margin-top:6px;color:var(--link);font-size:15px;line-height:1.4;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:var(--underline-offset)}
.section-space{padding-block:var(--section-space-standard)}
.section-space-medium{padding-block:var(--section-space-medium)}
.section-space-large-top{padding-top:var(--section-space-large)}
.section-space-large-bottom{padding-bottom:var(--section-space-large)}
.section-space-compact-top{padding-top:var(--section-space-compact)}
.section-space-compact-bottom{padding-bottom:var(--section-space-compact)}
.surface-page{background:var(--page)}
.surface-soft{background:var(--surface-soft)}
.desktop-nav [aria-current=page]{text-decoration:underline;text-underline-offset:var(--underline-offset);text-decoration-thickness:1px}
.page-theme-editorial{--page:#fff;--surface-soft:#f7f7f5;background:var(--page)}
html:has(>body.home-page){background:var(--hero-status-color,#fff)}
.home-page.page-theme-editorial{background:var(--hero-status-color,var(--page))}
.home-page main{background:var(--page)}
.interior-opening{--interior-opening-title-column:1/-1;--interior-opening-copy-column:4/-1;padding-block:76px var(--interior-opening-bottom,72px)}
.interior-opening--narrow-title{--interior-opening-title-width:14ch}
.interior-opening--roomy-tail{--interior-opening-bottom:88px;--interior-opening-mobile-bottom:50px}
.interior-opening-meta,.interior-opening-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter)}
.interior-opening-meta{align-items:baseline}.interior-opening-meta>.eyebrow{grid-column:1/span 3}.interior-opening-meta>.interior-location{grid-column:var(--interior-opening-copy-column);display:flex;flex-wrap:wrap;gap:0 6px}
.interior-opening-grid{align-items:end;margin-top:26px;row-gap:38px}
.interior-opening h1{grid-column:var(--interior-opening-title-column);grid-row:1;font-size:clamp(68px,8.7vw,140px);max-width:var(--interior-opening-title-width,13ch)}
.interior-opening h1 span{color:var(--interior-opening-accent,var(--lime))}
.interior-opening-intro{grid-column:var(--interior-opening-copy-column);grid-row:2;font-size:clamp(20px,1.9vw,28px);line-height:1.4;max-width:42ch;margin-bottom:0}
.interior-location{font-size:16px;line-height:1.5;color:var(--muted)}
.interior-section-heading{font-size:clamp(42px,4.5vw,70px)}
.supporting-caption{font-size:13px;line-height:1.4;color:var(--muted)}
:is(h2,h3).project-caption-title{font:500 17px/var(--caption-title-leading) General Sans,Arial,sans-serif;letter-spacing:0;margin:0;overflow-wrap:break-word;min-width:0}
p.project-caption-body{font:400 var(--caption-body-size)/var(--caption-body-leading) General Sans,Arial,sans-serif;letter-spacing:0;color:var(--muted);margin:var(--project-description-gap) 0 0;max-width:48ch;text-wrap:pretty}
@media(hover:hover){.text-link:hover{text-decoration:underline;text-underline-offset:var(--underline-offset)}}
@media(min-width:641px){.interior-opening--narrow-title h1 span{white-space:nowrap}}
@media(max-width:640px){
 body .mobile-full-bleed{width:100vw;max-width:none;margin-inline:calc(50% - 50vw)}
 .interior-opening{padding-block:44px var(--interior-opening-mobile-bottom,40px)}
 .interior-opening-meta,.interior-opening-grid{grid-template-columns:1fr}.interior-opening-meta>.eyebrow,.interior-opening-meta>.interior-location,.interior-opening h1,.interior-opening-intro{grid-column:1}
 .interior-opening-meta>.interior-location{margin-top:8px}.interior-opening-grid{margin-top:22px;gap:30px}
 .interior-opening h1,.interior-opening-intro{grid-row:auto}.interior-opening h1{font-size:clamp(54px,13.8vw,86px)}
 .interior-opening-intro{font-size:19px;max-width:none;margin:0}
 .eyebrow,.interior-location{font-size:15px}
 .interior-section-heading{font-size:42px}
 :is(h2,h3).project-caption-title{font-size:16px}
 p.project-caption-body{font-size:14px;max-width:none}
}

.scrub-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--focal,50% 50%);z-index:1;opacity:0;pointer-events:none}
.scrub-preview.is-visible{opacity:1}
