:root{font-family:Arial,Helvetica,sans-serif;color:#171918;background:#f7f7f5;font-synthesis:none;scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0}a,button{font:inherit}a{color:inherit}button{cursor:pointer}
.site-shell{max-width:1560px;margin:auto;padding:0 clamp(22px,4vw,68px)}
.topbar{height:78px;border-bottom:1px solid #c7cbc6;display:flex;align-items:center}.topbar a{text-decoration:none}.wordmark{font-size:18px;letter-spacing:-.045em;font-weight:600}.wordmark:hover{text-decoration:underline;text-underline-offset:5px}
.eyebrow,.number,.gallery-heading>span{font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.eyebrow{color:#6b716b;margin:0}
.home-hero{min-height:370px;padding:clamp(58px,7vw,104px) 0 62px;display:flex;justify-content:space-between;align-items:end;gap:40px}.home-hero h1{font-size:clamp(64px,9vw,132px);line-height:.9;font-weight:500;letter-spacing:-.085em;margin:20px 0 0}.hero-discipline{font-size:clamp(20px,2.3vw,32px);line-height:1.2;letter-spacing:-.045em;margin:0 4px 3px 0;white-space:nowrap}.hero-discipline span{color:#9ca39c;padding:0 .15em}
.section-heading{border-top:1px solid #171918;padding:22px 0 30px}.section-heading h2{font-size:clamp(22px,2.6vw,34px);font-weight:500;letter-spacing:-.055em;margin:0}
.project-list{padding-bottom:clamp(80px,10vw,150px)}.project-link{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(32px,5vw,80px);align-items:stretch;min-width:0;text-decoration:none;border-top:1px solid #c7cbc6;padding:clamp(38px,4vw,64px) 0}.project-link:last-child{border-bottom:1px solid #c7cbc6}.project-link:focus-visible{outline:3px solid #171918;outline-offset:5px}.project-meta{position:relative;min-width:0;padding:8px 0 60px}.number{color:#707670}.project-meta h3{font-size:clamp(40px,5vw,76px);line-height:.98;letter-spacing:-.07em;font-weight:500;margin:clamp(24px,4vw,58px) 0 18px;max-width:600px}.project-brand{font-size:clamp(16px,1.5vw,22px);margin:0 0 24px;color:#464d46}.project-description{max-width:480px;font-size:clamp(15px,1.2vw,18px);line-height:1.5;color:#666d66;margin:0}.project-arrow{position:absolute;bottom:4px;left:0;font-size:30px;line-height:1}.project-image{height:clamp(360px,49vw,720px);min-width:0;background:#e7e9e5;display:flex;align-items:center;justify-content:center;overflow:hidden}.project-image img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transition:transform .35s ease}.project-link:hover .project-image img{transform:scale(1.025)}
.detail-hero{padding:clamp(54px,6vw,90px) 0 55px;border-bottom:1px solid #171918}.detail-hero .eyebrow{margin-bottom:25px}.detail-hero h1{font-weight:500;font-size:clamp(58px,7vw,104px);line-height:.94;letter-spacing:-.075em;margin:0 0 20px;max-width:1150px}.detail-brand{font-size:clamp(22px,2.4vw,32px);letter-spacing:-.04em;color:#525a52;margin:0 0 25px}.detail-description{font-size:clamp(16px,1.5vw,20px);line-height:1.5;color:#545b54;margin:0;max-width:720px}
.gallery-section{padding:26px 0 clamp(60px,7vw,110px)}.gallery-heading{display:flex;gap:20px;align-items:baseline;padding:0 0 24px}.gallery-heading h2{font-size:clamp(25px,3vw,42px);font-weight:500;letter-spacing:-.06em;line-height:1.1;margin:0}.gallery-heading>span{color:#777d77;width:36px}
.mosaic{column-count:4;column-gap:7px}.tile{display:block;break-inside:avoid;page-break-inside:avoid;width:100%;height:auto;margin:0 0 7px;border:0;padding:0;background:transparent;line-height:0;text-align:left}.tile img{display:block;width:100%;height:auto;object-fit:contain;transition:opacity .2s ease}.tile:hover img{opacity:.83}.tile:focus-visible{outline:3px solid #171918;outline-offset:2px}
.footer{border-top:1px solid #c7cbc6;padding:28px 0 34px;display:flex;justify-content:space-between;gap:20px;color:#6c736c;font-size:13px}.footer a{text-decoration:none}
dialog#viewer{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border:0;padding:0;background:transparent;color:white;overflow:hidden}dialog#viewer::backdrop{background:rgba(9,13,11,.91);backdrop-filter:blur(10px)}.viewer-stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:default}.viewer-stage img{display:block;max-width:calc(100vw - 54px);max-height:calc(100dvh - 98px);width:auto;height:auto;object-fit:contain;transform-origin:center center;touch-action:none;user-select:none;cursor:zoom-in;will-change:transform}.viewer-stage img.is-zoomed{cursor:grab}.viewer-stage img.is-dragging{cursor:grabbing}.viewer-caption{position:absolute;left:50%;bottom:17px;transform:translateX(-50%);max-width:calc(100vw - 110px);margin:0;font-size:12px;line-height:1.35;text-align:center;color:#e7ebe7;background:rgba(12,16,13,.55);border-radius:3px;padding:7px 10px;pointer-events:none}.viewer-caption:empty{display:none}#viewer-close{position:absolute;top:16px;right:18px;width:42px;height:42px;border:0;border-radius:50%;background:rgba(15,19,16,.58);color:#fff;font-size:29px;line-height:1;display:grid;place-items:center}#viewer-close:hover,#viewer-close:focus-visible{background:#fff;color:#171918}
.viewer-stage.is-reading{display:block;overflow-y:auto;overflow-x:hidden;padding:30px 0 85px;overscroll-behavior:contain;scrollbar-width:thin}.viewer-stage.is-reading img,.has-carousel .viewer-stage.is-reading img{width:auto;height:auto;max-width:none;max-height:none;margin:0 auto;transform:none!important;touch-action:pan-y;cursor:default;will-change:auto}.viewer-gallery-arrow{position:absolute;top:50%;z-index:3;transform:translateY(-50%);width:42px;height:42px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(12,16,13,.58);color:#fff;font-size:19px;line-height:1;display:grid;place-items:center}.viewer-gallery-prev{left:16px}.viewer-gallery-next{right:16px}.viewer-gallery-arrow:hover,.viewer-gallery-arrow:focus-visible{background:#fff;color:#171918}.viewer-gallery-arrow:disabled{opacity:.28;cursor:default}.viewer-gallery-arrow[hidden]{display:none}#viewer-close{z-index:4}
@media(max-width:900px){.home-hero{display:block;min-height:0;padding:80px 0 70px}.hero-discipline{margin-top:28px}.project-link{gap:32px}.project-image{height:clamp(350px,50vw,540px)}.mosaic{column-count:3}}
@media(max-width:650px){.topbar{height:70px}.wordmark{font-size:17px}.home-hero{padding:68px 0 58px}.home-hero h1{font-size:clamp(58px,14vw,88px)}.hero-discipline{font-size:21px;white-space:normal}.section-heading{padding-bottom:20px}.project-link{grid-template-columns:1fr;gap:22px;padding:36px 0}.project-meta{padding:0}.project-meta h3{font-size:clamp(42px,11vw,66px);margin:20px 35px 12px 0}.project-brand{margin-bottom:13px}.project-description{font-size:15px}.project-arrow{right:0;left:auto;bottom:auto;top:0}.project-image{height:clamp(310px,100vw,520px)}.detail-hero{padding:55px 0 40px}.detail-hero h1{font-size:clamp(49px,12vw,75px)}.gallery-heading{gap:8px;padding-bottom:18px}.gallery-heading h2{font-size:27px}.mosaic{column-count:2;column-gap:5px}.tile{margin-bottom:5px}.viewer-caption{bottom:11px}}

@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.project-image img,.tile img{transition:none}}

.project-image{height:auto;aspect-ratio:4/5}.project-image img{width:100%;height:100%;max-width:none;max-height:none}
@media(max-width:900px){.project-image{height:auto}}
@media(max-width:650px){.project-image{height:auto}}

.project-tags{display:flex;flex-wrap:wrap;gap:7px;list-style:none;padding:0;margin:25px 0 0}.project-tags li{border:1px solid #d8dcd6;border-radius:999px;padding:7px 11px;background:#eef0ec;color:#364036;font-size:12px;line-height:1.2;letter-spacing:.01em}.project-tags li[data-tag="Campaign Design"]{background:#ece6f5;border-color:#ded4ed;color:#4f3e67}.project-tags li[data-tag="Ad Design"]{background:#f5e8dd;border-color:#ebd4c2;color:#68452f}.project-tags li[data-tag="Email Design"]{background:#e2edf3;border-color:#c8dfe9;color:#2b4f61}.project-tags li[data-tag="Social Design"],.project-tags li[data-tag="Organic Social Design"]{background:#e3eee5;border-color:#c9ddcd;color:#315740}.project-tags li[data-tag="AI Image Gen"]{background:#f5edcf;border-color:#e8dca9;color:#5d4c1d}.project-tags li[data-tag="AI Image Editing"]{background:#f3e4ec;border-color:#e8cedb;color:#643d52}.detail-hero .project-tags{margin-top:28px}

.carousel-mosaic{column-count:1}.carousel-mosaic .tile{margin-bottom:0}.carousel-mosaic .tile img{width:100%;height:auto}
.has-carousel .viewer-stage{padding-bottom:115px}.has-carousel .viewer-stage img{max-height:calc(100dvh - 220px)}.has-carousel .viewer-caption{bottom:140px}
.viewer-carousel-controls{position:absolute;left:50%;bottom:96px;transform:translateX(-50%);display:flex;align-items:center;gap:13px;max-width:calc(100vw - 32px);z-index:3;white-space:nowrap}.viewer-carousel-controls[hidden],.viewer-slide-strip[hidden]{display:none}.viewer-carousel-controls button{border:1px solid rgba(255,255,255,.45);background:rgba(12,16,13,.78);color:#fff;border-radius:999px;padding:9px 14px;font-size:12px;line-height:1.2}.viewer-carousel-controls button:hover,.viewer-carousel-controls button:focus-visible,.viewer-carousel-controls button.is-active{background:#fff;color:#171918}.viewer-carousel-controls button:disabled{opacity:.35;cursor:default}.viewer-slide-nav{display:flex;align-items:center;gap:9px;color:#fff;font-size:12px}.viewer-slide-nav button{width:35px;height:35px;padding:0;display:grid;place-items:center;font-size:17px}.viewer-slide-nav span{min-width:54px;text-align:center}
.viewer-slide-strip{position:absolute;left:50%;bottom:9px;transform:translateX(-50%);display:flex;gap:6px;width:max-content;max-width:calc(100vw - 28px);overflow-x:auto;padding:6px;background:rgba(12,16,13,.74);border-radius:4px;scrollbar-width:thin;z-index:3}.viewer-slide-thumb{position:relative;flex:0 0 49px;width:49px;height:65px;padding:0;border:2px solid transparent;border-radius:2px;overflow:hidden;background:#394039;color:#fff}.viewer-slide-thumb img{display:block;width:100%;height:100%;object-fit:cover}.viewer-slide-thumb span{position:absolute;right:1px;bottom:1px;padding:2px 3px;background:rgba(0,0,0,.7);font-size:10px;line-height:1}.viewer-slide-thumb:hover,.viewer-slide-thumb:focus-visible,.viewer-slide-thumb.is-active{border-color:#fff}
@media(max-width:650px){.viewer-carousel-controls{bottom:95px;gap:8px}.viewer-carousel-controls button{padding:8px 11px}.has-carousel .viewer-caption{bottom:136px}}
@media(max-width:650px){.viewer-gallery-arrow{width:35px;height:35px}.viewer-gallery-prev{left:6px}.viewer-gallery-next{right:6px}.viewer-stage.is-reading{padding-top:54px}}
.project-tags li[data-tag="Brand Identity"]{background:#ece6f5;border-color:#ded4ed;color:#4f3e67}.project-tags li[data-tag="Grid Systems"]{background:#e2edf3;border-color:#c8dfe9;color:#2b4f61}.project-tags li[data-tag="Art Direction"]{background:#f5e8dd;border-color:#ebd4c2;color:#68452f}
.project-image-duo{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:10px;padding:18px;background:#202b3a}.project-image-duo img{min-height:0;object-fit:contain}
.gallery-subsection{border-top:1px solid #c7cbc6;padding:26px 0 44px}.gallery-subsection h3{font-size:clamp(20px,2vw,30px);font-weight:500;letter-spacing:-.04em;margin:0 0 22px}
.mosaic.mosaic-two,.mosaic.mosaic-three,.mosaic.mosaic-four,.mosaic.mosaic-wide{column-count:auto;display:grid;align-items:start;gap:7px}.mosaic.mosaic-two{grid-template-columns:repeat(2,minmax(0,1fr))}.mosaic.mosaic-three{grid-template-columns:repeat(3,minmax(0,1fr))}.mosaic.mosaic-four{grid-template-columns:repeat(4,minmax(0,1fr))}.mosaic.mosaic-wide{grid-template-columns:1fr}.mosaic.mosaic-two .tile,.mosaic.mosaic-three .tile,.mosaic.mosaic-four .tile,.mosaic.mosaic-wide .tile{margin:0}
@media(max-width:650px){.mosaic.mosaic-two,.mosaic.mosaic-wide{grid-template-columns:1fr}.mosaic.mosaic-three,.mosaic.mosaic-four{grid-template-columns:repeat(2,minmax(0,1fr))}.project-image-duo{padding:10px;gap:7px}}
.mosaic.mosaic-logo-compact{column-count:auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;gap:6px}
.mosaic.mosaic-logo-compact .tile{margin:0}
@media(max-width:900px){.mosaic.mosaic-logo-compact{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:650px){.mosaic.mosaic-logo-compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}}
.viewer-gallery-arrow{border:0;border-radius:0;background:transparent;color:#fff;padding:0;display:grid;place-items:center;cursor:pointer;filter:drop-shadow(0 1px 3px rgba(0,0,0,.65))}
.viewer-gallery-arrow svg{display:block;width:28px;height:28px}
.viewer-gallery-arrow:hover,.viewer-gallery-arrow:focus-visible{background:transparent;color:#fff;opacity:.7}
.viewer-carousel-controls .viewer-slide-nav button{border:0;border-radius:0;background:transparent;color:#fff;padding:0;display:grid;place-items:center;cursor:pointer}
.viewer-slide-nav button svg{display:block;width:21px;height:21px}
.viewer-carousel-controls .viewer-slide-nav button:hover,.viewer-carousel-controls .viewer-slide-nav button:focus-visible{background:transparent;color:#fff;opacity:.7}
