/* Portfolio index, collections and shared wayfinding. */
.mobile-categories{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;padding:15px 0;border-bottom:1px solid var(--line)}
.mobile-nav .mobile-categories a{font-size:12px;letter-spacing:0;line-height:1.6;border:0;padding:12px 0}
.mobile-nav .mobile-categories a[aria-current]{text-decoration:underline}
.portfolio-footer-nav{display:flex;align-items:center;flex-wrap:wrap;gap:18px 32px;padding-block:28px;border-bottom:1px solid var(--line)}
.portfolio-footer-nav>span{font-size:8px;letter-spacing:.1em;color:var(--muted);margin-right:auto}
.portfolio-footer-nav>a{font-size:10px}
.portfolio-footer-nav>a:hover{text-decoration:underline}
.service-actions{display:flex;gap:30px;flex-wrap:wrap}
.service-actions .service-discuss{font-size:10px}
.service-actions button{color:#bcc5a7}
.work-category-shortcuts{display:flex;flex-wrap:wrap;gap:9px 17px;margin-top:22px;max-width:340px}
.work-category-shortcuts a{font-size:10px;border-bottom:1px solid var(--line);padding-bottom:4px}
.work-category-shortcuts a:hover{border-color:var(--ink)}
.full-portfolio-link{display:flex;align-items:center;justify-content:space-between;gap:35px;border-top:1px solid var(--line);padding-top:30px;margin-top:65px}
.full-portfolio-link p{font-size:23px;letter-spacing:-.025em;line-height:1.5}
.full-portfolio-link p>span{display:block;font-size:12px;letter-spacing:0;color:var(--muted);margin-top:6px}
.collection-intro{padding-top:64px;padding-bottom:58px}
.collection-page section[id]{scroll-margin-top:72px}


.collection-lead{display:grid;grid-template-columns:1.8fr 1fr;gap:65px;align-items:end}
.collection-lead .section-kicker{font-size:9px;margin-bottom:24px}
.collection-lead h1{font-size:clamp(56px,7.4vw,112px);line-height:1.02;letter-spacing:-.065em}
.collection-lead h1 em{font-size:1.1em}
.collection-branding .collection-lead h1{font-size:clamp(50px,6.3vw,96px)}
.collection-packaging .collection-lead h1{font-size:clamp(50px,6.15vw,94px)}
.collection-intro-note{padding-bottom:8px}
.collection-intro-note p{font-size:13px;line-height:1.9;color:var(--muted);max-width:365px}
.collection-inventory{display:block;font-size:9px;letter-spacing:.08em;text-transform:uppercase;margin-top:26px;color:var(--ink)}
.collection-navigation{display:flex;align-items:center;border-block:1px solid var(--line);gap:30px;position:sticky;top:var(--header);z-index:45;background:var(--paper);padding-block:16px;overflow:auto;scrollbar-width:none}
.collection-navigation::-webkit-scrollbar{display:none}
.collection-navigation a{display:flex;align-items:center;gap:20px;flex-shrink:0;padding:10px 15px;font-size:11px;border-radius:2px;transition:background .2s}
.collection-navigation a>span{font-size:12px}
.collection-navigation a.is-current{background:var(--ink);color:var(--paper)}
.collection-navigation a:hover:not(.is-current){background:#e7eadc}
.collection-jump-links{display:flex;gap:22px;margin-top:25px}
.collection-jump-links a{font-size:10px;border-bottom:1px solid var(--line);padding-bottom:5px}
.discipline-section{padding-block:58px 90px}
.gallery-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:31px}
.gallery-section-heading h2{font-size:35px;line-height:1.2;letter-spacing:-.045em}
.gallery-section-heading p{font-size:11px;color:var(--muted);max-width:330px;line-height:1.8}
.discipline-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px 38px}
.discipline-card{min-width:0}
.discipline-preview{aspect-ratio:1.9;background:#eeede6;position:relative;overflow:hidden}
.discipline-preview>img{width:100%;height:100%;object-fit:contain;display:block}


.discipline-open{position:absolute;bottom:17px;right:17px;width:43px;height:43px;border-radius:50%;background:var(--paper);display:grid;place-items:center;transition:background .25s,transform .25s}
.discipline-open svg{width:20px;height:20px}
.discipline-card:hover .discipline-open{background:var(--lime);transform:rotate(45deg)}
.discipline-card-title{display:flex;align-items:baseline;gap:12px;margin-top:20px}
.discipline-number{font-size:8px;color:var(--muted)}
.discipline-card-title h3{font-size:23px;letter-spacing:-.035em}
.discipline-card-title>span:last-child{font-size:8px;line-height:1.7;margin-left:auto;color:var(--muted);text-align:right}
.discipline-card>p{font-size:11px;color:var(--muted);margin:6px 0 0 28px;line-height:1.8}
.portfolio-cases{border-top:1px solid var(--line)}
.identity-projects{padding-top:58px}
.identity-projects .project-card:nth-child(even){padding-top:65px}
.collection-gallery{padding-top:58px;padding-bottom:75px}
.collection-gallery+.collection-gallery{border-top:1px solid var(--line)}
.gallery-grid{--gallery-columns:3;--gallery-column-gap:23px;--gallery-row-gap:29px}
/* Source order runs across the columns; JavaScript packs their natural heights. */
.gallery-grid,.case-visuals .case-detail-images{display:grid;grid-template-columns:repeat(var(--gallery-columns),minmax(0,1fr));column-gap:var(--gallery-column-gap);row-gap:var(--gallery-row-gap);align-items:start}
.gallery-grid.is-masonry,.case-visuals .case-detail-images.is-masonry{display:block;position:relative}
.gallery-grid.is-masonry>figure,.case-visuals .case-detail-images.is-masonry>figure{position:absolute;top:0;left:0}
.collection-item{display:block;width:100%;min-width:0;margin:0}
.collection-item .zoom-image{aspect-ratio:auto;background:transparent}
.collection-item .zoom-image>img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.collection-item .zoom-image:hover>img{transform:none}

/* Complete case-study artwork uses its own natural proportions. */
.case-visuals{scroll-margin-top:calc(var(--header) + 30px)}
.case-visuals .case-detail-images{--gallery-columns:2;--gallery-column-gap:30px;--gallery-row-gap:34px}
.case-detail-images figure{display:block;width:100%;min-width:0;margin:0}
.case-detail-images figure:nth-child(2){padding-top:0}
.case-detail-images .zoom-image>img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.case-detail-images .zoom-image:hover>img{transform:none}
.case-detail-images figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:20px;line-height:1.7}
.case-detail-images figcaption small{font-size:8px;opacity:.65;flex-shrink:0}
.case-gallery-controls{align-items:flex-start}
.case-gallery-controls>div:first-child{flex:1;min-width:170px}
.case-gallery-controls #case-image-caption{font-size:11px;color:var(--muted);line-height:1.7}
.case-gallery-jump{display:inline-block;font-size:10px;margin-top:8px;text-underline-offset:4px}
.case-gallery-jump:hover{text-decoration:underline}
.gallery-thumbnails{flex-wrap:wrap;justify-content:flex-end;max-width:68%}
.gallery-thumb img{object-fit:contain}
@media(max-width:900px){.case-gallery-controls{flex-direction:column;gap:18px}.gallery-thumbnails{justify-content:flex-start;max-width:100%}}
@media(max-width:680px){.case-visuals .case-detail-images{--gallery-columns:1;--gallery-row-gap:27px}.case-gallery-controls #case-image-caption{font-size:10px}.case-gallery-jump{font-size:9px}.case-detail-images figcaption{font-size:10px}.gallery-thumbnails{gap:8px}.gallery-thumb{gap:7px;padding-right:8px}.gallery-thumb img{width:39px;height:39px}}
.collection-item .zoom-image>span{height:35px;width:35px;bottom:12px;right:12px;opacity:0;transform:translateY(5px);transition:opacity .25s,transform .25s}
.collection-item .zoom-image:hover>span,.collection-item .zoom-image:focus-visible>span{opacity:1;transform:translateY(0)}
.collection-item figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:15px;margin-top:12px;font-size:11px}
.collection-item figcaption small{font-size:8px;color:var(--muted)}
.gallery-case-link{font-size:9px;display:inline-block;border-bottom:1px solid var(--line);margin-top:8px}


.collection-logos .gallery-grid{--gallery-columns:4}

.logo-presentations+.collection-gallery{border-top:1px solid var(--line)}
.marks-grid{--gallery-column-gap:23px}
.logo-mark-item figcaption{font-size:9px}
.logo-mark-item .zoom-image>span{width:29px;height:29px;right:8px;bottom:8px}
.logo-mark-item .zoom-image>span svg{width:14px;height:14px}
.collection-scope{background:#e6ebd9}
.collection-scope h2{font-size:clamp(34px,4vw,57px);line-height:1.15;letter-spacing:-.045em;margin-top:23px}
.scope-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:50px}
.scope-grid article{border-top:1px solid #aab39a;padding-top:21px}
.scope-grid article>span{font-size:9px;color:var(--muted)}
.scope-grid h3{font-size:21px;letter-spacing:-.025em;margin:17px 0 11px}
.scope-grid p{font-size:12px;color:#59634d;line-height:1.9;max-width:320px}
.scope-cta{display:flex;justify-content:space-between;gap:40px;align-items:center;margin-top:48px;border-top:1px solid #aab39a;padding-top:30px}
.scope-cta>p{font-size:20px;letter-spacing:-.025em}
.scope-cta .button{font-size:11px}
.other-disciplines{padding-block:65px}
.other-disciplines h2{font-size:33px;letter-spacing:-.04em;margin:18px 0 27px}
.other-disciplines>.container{width:auto}
.other-disciplines>div:last-child{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.other-disciplines>div:last-child>a{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:22px;font-size:20px;letter-spacing:-.025em}
.other-disciplines a small{display:block;font-size:9px;letter-spacing:0;color:var(--muted);margin-top:5px}
.other-disciplines a svg{width:20px;height:20px;transition:transform .25s}
.other-disciplines a:hover svg{transform:translate(3px,-3px)}
.reels-section{background:var(--dark);color:var(--paper)}
.reels-section>.container{display:grid;grid-template-columns:1fr 1.7fr;gap:60px;align-items:start}
.reels-intro h2{font-size:76px;letter-spacing:-.05em;line-height:1.1;margin:25px 0}
.reels-intro h2 em{font-size:1.14em}
.reels-intro p{font-size:12px;line-height:1.8;color:#b8bdae}
.reels-grid{display:grid;grid-template-columns:1fr 1fr;gap:27px}
.reel-player{position:relative;background:#11140e;aspect-ratio:9/16;overflow:hidden}
.reel-player video{width:100%;height:100%;object-fit:contain;display:block}
.reel-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:13px;color:white;font-size:10px;text-shadow:0 1px 8px #000;min-width:90px}
.reel-play>span{width:63px;height:63px;border-radius:50%;background:rgba(245,244,238,.94);color:var(--ink);font-size:20px;display:grid;place-items:center;padding-left:3px;text-shadow:none;transition:transform .2s}
.reel-play:hover>span{transform:scale(1.08)}
.reel-card figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:15px;margin-top:16px;font-size:12px}
.reel-card figcaption small{font-size:8px;color:#b8bdae}
.image-navigation{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:12px}
.image-navigation button{width:44px;height:40px;border:1px solid #616858;color:white;font-size:20px}
.image-navigation button:hover{background:#39412e}
.image-counter{font-size:10px;color:#d4d7cb;min-width:50px;text-align:center}
.image-dialog:has(.image-navigation:not([hidden]))>img{max-height:calc(100dvh - 180px)}
@media(max-width:1100px){.collection-lead{gap:40px;grid-template-columns:1.65fr 1fr}.collection-navigation{gap:14px}.collection-navigation a{font-size:10px;gap:13px;padding:10px 12px}.discipline-card-title{flex-wrap:wrap;gap:8px}.discipline-card-title>span:last-child{flex-basis:100%;margin-left:26px;text-align:left}.discipline-card-title h3{font-size:22px}.discipline-card>p{margin-left:26px}.scope-grid{gap:35px}.reels-section>.container{grid-template-columns:1fr 1.8fr;gap:35px}.reels-intro h2{font-size:62px}.portfolio-footer-nav{gap:17px 24px}.portfolio-footer-nav>a{font-size:9px}}
@media(max-width:900px){.collection-intro{padding-top:48px;padding-bottom:42px}.collection-lead{gap:30px;grid-template-columns:1.55fr 1fr}.collection-lead h1{font-size:8vw}.collection-branding .collection-lead h1,.collection-packaging .collection-lead h1{font-size:6.1vw}.collection-intro-note p{font-size:11px}.collection-inventory{font-size:8px;margin-top:20px}.collection-navigation{gap:7px;padding-block:12px}.collection-navigation a{padding:9px 10px;font-size:9px;gap:8px}.discipline-grid{gap:35px 25px}.gallery-section-heading h2{font-size:29px}.gallery-section-heading p{font-size:10px;max-width:260px}.discipline-card-title h3{font-size:20px}.discipline-card>p{font-size:10px}.gallery-grid{--gallery-column-gap:18px;--gallery-row-gap:25px}.collection-logos .gallery-grid{--gallery-columns:3}.marks-grid{--gallery-column-gap:18px}.collection-item figcaption{font-size:10px}.reels-section>.container{grid-template-columns:1fr;gap:30px}.reels-intro h2{font-size:61px;margin:15px 0}.reels-grid{max-width:630px;gap:25px}.scope-grid{gap:25px}.scope-grid h3{font-size:19px}.scope-grid p{font-size:11px}.scope-cta>p{font-size:18px}.other-disciplines>div:last-child>a{font-size:18px;gap:15px}.full-portfolio-link p{font-size:20px}.full-portfolio-link p>span{font-size:11px}}
@media(max-width:680px){.mobile-nav{padding-top:20px}.mobile-nav>a{font-size:28px;padding:16px 0}.mobile-nav>button{margin-top:25px}.portfolio-footer-nav{gap:14px 20px;padding-block:24px}.portfolio-footer-nav>span{flex-basis:100%;font-size:7px}.portfolio-footer-nav>a{font-size:9px}.service-actions{gap:0 20px}.work-category-shortcuts{gap:10px 18px;max-width:320px}.work-category-shortcuts a{font-size:10px}.full-portfolio-link{flex-direction:column;align-items:flex-start;gap:20px;margin-top:40px;padding-top:25px}.full-portfolio-link p{font-size:20px}.full-portfolio-link .button{font-size:11px;min-height:48px}.collection-intro{padding-top:34px;padding-bottom:33px}.collection-lead{grid-template-columns:1fr;gap:24px}.collection-lead .section-kicker{font-size:7px;margin-bottom:18px}.collection-lead h1{font-size:clamp(52px,13.3vw,81px)}.collection-branding .collection-lead h1{font-size:clamp(43px,10.9vw,68px)}.collection-packaging .collection-lead h1{font-size:clamp(40px,10.6vw,64px)}.collection-intro-note{padding-bottom:0}.collection-intro-note p{font-size:12px;max-width:420px;line-height:1.8}.collection-inventory{font-size:8px;margin-top:17px}.collection-jump-links{margin-top:20px}.collection-navigation{gap:5px;padding-block:11px}.collection-navigation a{font-size:10px;padding:10px 12px;gap:13px}.discipline-section{padding-block:37px 53px}.gallery-section-heading{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:25px}.gallery-section-heading h2{font-size:28px}.gallery-section-heading p{font-size:11px;max-width:330px}.discipline-grid{grid-template-columns:1fr;gap:34px}.discipline-preview{aspect-ratio:1.9}.discipline-card-title{margin-top:16px;gap:9px}.discipline-card-title h3{font-size:22px}.discipline-card-title>span:last-child{font-size:8px;flex-basis:auto;margin-left:auto;text-align:right;max-width:105px}.discipline-card>p{font-size:11px}.discipline-open{height:37px;width:37px;bottom:13px;right:13px}.identity-projects{padding-top:37px}.identity-projects .project-card:nth-child(even){padding-top:0}.collection-gallery{padding-top:37px;padding-bottom:47px}.gallery-grid{--gallery-columns:1;--gallery-column-gap:14px;--gallery-row-gap:24px}.collection-item .zoom-image>span{display:none}.collection-item figcaption{font-size:9px;gap:8px;margin-top:9px;line-height:1.6}.collection-item figcaption small{font-size:7px}.gallery-case-link{font-size:8px;margin-top:6px}.collection-logos .gallery-grid{--gallery-columns:1}.collection-logos .marks-grid{--gallery-columns:2}.marks-grid{--gallery-column-gap:14px}.logo-mark-item figcaption{font-size:8px}.logo-mark-item figcaption small{display:none}.collection-scope h2{font-size:35px;margin-top:20px}.scope-grid{grid-template-columns:1fr;gap:26px;margin-top:33px}.scope-grid article{padding-top:18px}.scope-grid h3{font-size:21px;margin-top:12px}.scope-grid p{font-size:12px;max-width:100%}.scope-cta{flex-direction:column;align-items:flex-start;gap:21px;margin-top:30px;padding-top:25px}.scope-cta>p{font-size:20px}.scope-cta .button{font-size:11px;min-height:48px}.other-disciplines{padding-block:43px}.other-disciplines h2{font-size:29px;margin:17px 0 25px}.other-disciplines>div:last-child{grid-template-columns:1fr;gap:22px}.other-disciplines>div:last-child>a{padding-top:18px;font-size:22px}.other-disciplines a small{font-size:9px}.reels-intro h2{font-size:63px}.reels-intro p{font-size:11px}.reels-grid{grid-template-columns:1fr;gap:27px}.reel-play>span{height:45px;width:45px;font-size:15px}.reel-play{font-size:8px;gap:8px}.reel-card figcaption{display:block;font-size:11px}.reel-card figcaption small{display:block;font-size:8px;margin-top:5px}.image-navigation{gap:22px;margin-top:10px}.collection-page .image-dialog>img{max-height:calc(100dvh - 180px)}}
@media(max-width:360px){.discipline-card-title>span:last-child{flex-basis:100%;margin-left:26px;text-align:left;max-width:none}.gallery-grid{--gallery-column-gap:11px;--gallery-row-gap:20px}.marks-grid{--gallery-column-gap:11px}.collection-packaging .collection-lead h1{font-size:10.3vw}.portfolio-footer-nav{gap:12px 15px}}
