/* September refinement: charcoal, paper and acid green; condensed typography. */
@font-face{font-family:DisplayTrial;src:url('assets/big-shoulders-display.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--display:DisplayTrial,'Arial Narrow',Impact,sans-serif}
html,body{overflow-x:clip}
h1,h2,h3{font-family:var(--display);font-weight:400;letter-spacing:-.015em!important;text-transform:uppercase}
h1 em,h2 em,h3 em,.page-display em{font-family:inherit;font-style:normal;font-size:inherit!important;font-weight:inherit;letter-spacing:inherit!important}
.hero h1{font-size:clamp(23px,2.1vw,33px);line-height:1.12}
.hero-line{font-size:clamp(68px,12.15vw,194px);font-weight:400;line-height:1.05;letter-spacing:-.025em}
.hero-word{font-size:clamp(98px,17.7vw,283px);font-weight:400;line-height:1.08;color:var(--ink)}
.word-current{min-width:0;letter-spacing:-.015em}
.hero-type{margin-top:30px}.hero-last{margin-top:-4px}.hero-aside{top:30%;right:0}
.hero h1,.page-intro h1,.case-hero h1{text-wrap:balance}
.section-meta h2{font-size:clamp(28px,3.15vw,46px);line-height:1.08}
.service-row h3{font-size:clamp(40px,5.7vw,87px);line-height:1.14}
.manifesto-copy h2,.results h2{font-size:clamp(42px,5.25vw,78px);line-height:1.09}
.manifesto-copy h2 em,.results h2 em{color:var(--ink)}
.page-display{font-size:clamp(85px,14vw,220px);line-height:1.12;font-weight:400}
.contact-title{font-size:clamp(76px,13vw,205px);line-height:1.13;font-weight:400}
.contact-title em{color:var(--green)}
.case-display{font-size:clamp(73px,11vw,172px);line-height:1.15;font-weight:400}
.backdrop-word,.work-title{font-weight:400;font-size:clamp(130px,24vw,375px);line-height:1.15}
.gallery-caption h2{font-size:clamp(28px,3vw,43px)}
.footer{background:var(--ink)}
.footer a:focus-visible,.footer button:focus-visible{outline-color:var(--green)}
.menu nav a:hover,.service-tabs a:hover{color:var(--ink);background:var(--green)}
.brand-accent{color:var(--ink)}

/* Without JavaScript, or with motion disabled, this is an ordinary linked gallery. */
.project-reel{background:var(--ink);color:var(--paper);position:relative;margin:0 12px}
.reel-stage{padding:45px var(--gutter)}
.reel-header{display:flex;justify-content:space-between;gap:30px;align-items:start}
.reel-header h2{font-size:clamp(24px,2.6vw,38px);line-height:1.12;max-width:500px}
.reel-header .kicker{color:var(--green)}
.reel-canvas{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:55px 0}
.reel-card{position:relative;display:block;isolation:isolate;background:#222223;aspect-ratio:4/3;box-shadow:0 15px 40px #22222322}
.reel-card img{width:100%;height:100%;object-fit:cover}
.reel-card-caption{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;align-items:end;gap:14px;background:linear-gradient(transparent,#222223e8);padding:40px 18px 17px;color:#fff;font-size:16px;line-height:1.2;pointer-events:none}
.reel-card-caption small{display:block;font-size:12px;margin-top:6px}.reel-card-caption>span:last-child{font-size:26px}
.reel-card:hover,.reel-card:focus-visible{z-index:8!important;outline:2px solid var(--green);outline-offset:5px}
.reel-card-2 img{object-position:center}
.reel-footer{display:flex;align-items:center;justify-content:space-between;gap:35px}
.reel-scroll{font-size:14px}.reel-scroll>span{margin-left:12px;color:var(--green)}
.reel-progress{height:2px;background:#ffffff30;max-width:250px;flex:1}
.reel-progress span{display:block;width:100%;height:100%;background:var(--green);transform-origin:left;transform:scaleX(0)}
.reel-footer .pill{font-size:14px}.reel-footer .pill:hover{background:var(--green);border-color:var(--green);color:var(--ink)}
.reel-motion{height:460svh}
.reel-motion .reel-stage{position:sticky;top:0;height:100svh;min-height:540px;overflow:hidden;padding:0}
.reel-motion .reel-header{position:absolute;top:32px;left:var(--gutter);right:var(--gutter);z-index:10;pointer-events:none}
.reel-motion .reel-canvas{display:block;position:absolute;inset:140px 0 120px;margin:0}
.reel-motion .reel-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);aspect-ratio:auto}
.reel-motion.reel-visible .reel-card{will-change:transform}
.reel-motion .reel-card-1{width:43vw;height:25vw;max-height:56vh;z-index:2}
.reel-motion .reel-card-2{width:23vw;height:30vw;max-height:65vh;z-index:3}
.reel-motion .reel-card-3{width:29vw;height:17vw;max-height:38vh;z-index:1}
.reel-motion .reel-card-4{width:26vw;height:23vw;max-height:48vh;z-index:4}
.reel-motion .reel-footer{position:absolute;bottom:30px;left:var(--gutter);right:var(--gutter);z-index:10}
.reel-motion .reel-card-caption{font-size:clamp(13px,1.35vw,19px)}
.motion-off .reel-scroll,.motion-off .reel-progress{display:none}
@media(min-width:1600px){.hero-line{font-size:194px}.hero-word{font-size:283px}}
@media(max-width:900px){.hero-aside em{font-size:36px}.hero-aside{font-size:17px}.reel-progress{max-width:130px}.reel-header h2{font-size:28px}.project-name{font-family:var(--display);letter-spacing:-.01em;font-size:40px;text-transform:uppercase}}
@media(max-width:600px){
 .hero-line{font-size:13.45vw;line-height:1.06}.hero-word{font-size:21.7vw;line-height:1.12}.hero-type{margin-top:42px}.hero-last{padding-bottom:74px;margin-top:0}.hero-aside{top:auto;bottom:0;font-size:15px}.hero-aside em{font-size:33px}.hero h1{font-size:25px}
 .contact-title{font-size:18vw;line-height:1.14}.contact-title em{display:block!important}
 .manifesto-copy h2,.results h2{font-size:42px}.page-display{font-size:17.6vw;line-height:1.15}.case-display{font-size:16vw}.work-title{font-size:30vw}.project-name{font-size:30px}
 .project-reel{margin:0 7px}.reel-stage{padding:32px 18px}.reel-header{display:block}.reel-header h2{font-size:26px;margin-top:15px}.reel-header .kicker{font-size:12px}
 .reel-canvas{grid-template-columns:1fr;gap:24px;margin:35px 0}.reel-card{aspect-ratio:4/3}.reel-card-caption{font-size:16px}
 .reel-footer{gap:15px;flex-wrap:wrap}.reel-footer .pill{font-size:13px;padding:13px 18px;gap:20px}.reel-scroll{font-size:12px}.reel-progress{display:none}
 .reel-motion{height:320svh}.reel-motion .reel-stage{min-height:570px}.reel-motion .reel-header{top:94px;left:20px;right:20px}.reel-motion .reel-canvas{inset:200px 0 105px}.reel-motion .reel-footer{left:20px;right:20px;bottom:25px}
 .reel-motion .reel-card-1{width:75vw;height:45vw;max-height:none}.reel-motion .reel-card-2{width:38vw;height:51vw;max-height:none}.reel-motion .reel-card-3{width:48vw;height:31vw;max-height:none}.reel-motion .reel-card-4{width:46vw;height:40vw;max-height:none}
 .reel-motion .reel-card-caption{font-size:12px;padding:24px 10px 10px}.reel-motion .reel-card-caption small{display:none}.reel-motion .reel-card-caption>span:last-child{font-size:20px}
}
@media(prefers-reduced-motion:reduce){.reel-scroll,.reel-progress{display:none}}
@media(max-height:550px) and (min-width:601px){.reel-motion .reel-stage{min-height:0}.reel-motion .reel-header h2{font-size:22px}.reel-motion .reel-canvas{inset:90px 0}.reel-motion .reel-footer{bottom:20px}}
/* Daltown-inspired trial: tall, tightly built forms, in the family's real black weight. */
h1,h2,h3,.hero-line,.hero-word,.page-display,.case-display,.contact-title,.backdrop-word,.work-title{font-weight:900}
.hero-line{font-size:clamp(72px,13.7vw,219px)}
.hero-word{font-size:clamp(103px,19.7vw,315px)}
.reel-filter-defs{position:absolute;pointer-events:none}
.reel-motion .reel-card.lens-active img{filter:var(--lens-filter)}
.reel-motion .reel-card:hover{outline:none}
.reel-motion .reel-card:focus-visible{outline:3px solid var(--green);outline-offset:5px}
.reel-motion .reel-card:focus-visible .reel-card-caption{opacity:1!important}
.reel-motion .reel-footer .pill{background:#222223e8}
.reel-motion .reel-footer .pill:hover{background:var(--green)}
.reel-motion .reel-scroll{background:#222223dd;padding:8px 11px;border-radius:20px}
@media(max-width:600px){.hero-line{font-size:14.6vw}.hero-word{font-size:23.5vw}}
@media(prefers-reduced-motion:reduce){.reel-card img{filter:none!important}}

/* Independent brand mark and lightweight dimensional treatment from the original PNG. */
.header-contact{margin-left:auto;margin-right:30px}
.brand-symbol-link{display:grid;place-items:center;width:58px;height:58px;background:var(--ink);border-radius:50%;flex:none}
.brand-symbol-link img{width:43px;height:42px;object-fit:contain;filter:brightness(0) invert(1)}
.reel-symbol{display:grid;place-items:center;margin:50px auto 20px;width:clamp(140px,23vw,330px);aspect-ratio:720/688;perspective:800px;pointer-events:none}
.reel-symbol-volume{width:100%;height:100%;position:relative;transform-style:preserve-3d;transform:rotateX(10deg) rotateY(-18deg) rotateZ(-7deg)}
.reel-symbol-volume img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.symbol-depth{filter:grayscale(1) brightness(1.4);transform:translateZ(calc(var(--depth) * 1.5px))}
.symbol-face{filter:brightness(0) invert(1);transform:translateZ(11px)}
.reel-motion .reel-symbol{position:absolute;top:calc(50% + 10px);left:50%;transform:translate(-50%,-50%);margin:0;z-index:0}
.reel-motion .reel-canvas{z-index:1}
.reel-visible .reel-symbol-volume{will-change:transform}
.showreel-section{padding:85px var(--gutter);background:var(--paper)}
.showreel-heading{display:flex;align-items:start;justify-content:space-between;gap:30px;margin-bottom:35px}
.showreel-heading h2{font-size:clamp(28px,3vw,44px);line-height:1.1;max-width:480px}
.showreel-poster{position:relative;background:var(--ink);aspect-ratio:16/7;min-height:320px;overflow:hidden;color:#fff}
.showreel-poster>img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);opacity:.42}
.showreel-word{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--display);font-weight:900;letter-spacing:-.02em;font-size:clamp(76px,15vw,230px)}
.showreel-caption{position:absolute;bottom:25px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:15px}
.showreel-status{font-size:12px;padding:9px 15px;border:1px solid #ffffff70;border-radius:30px;background:#222223cc}
.showreel-video{display:block;width:100%;aspect-ratio:16/9;background:var(--ink)}
.motion-off .reel-symbol-volume{transform:none}
@media(max-width:600px){
 .header-contact{display:none}.brand-symbol-link{width:46px;height:46px}.brand-symbol-link img{width:35px;height:34px}
 .reel-symbol{width:180px}.reel-motion .reel-symbol{top:calc(50% + 47.5px);width:clamp(135px,34vw,180px)}
 .showreel-section{padding:55px var(--gutter)}.showreel-heading{display:block;margin-bottom:25px}.showreel-heading h2{font-size:31px;margin-top:20px}
 .showreel-poster{aspect-ratio:4/3;min-height:270px}.showreel-word{font-size:21vw}.showreel-caption{bottom:18px;left:18px;right:18px;align-items:start;flex-direction:column;gap:12px;font-size:13px}.showreel-status{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.reel-symbol-volume{transform:none!important}}
