:root{--teal:#169bb8;--ink:#101214;--muted:#5d6469;--line:#d9e0e3;--max:1450px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.55;overflow-x:hidden}.top{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid transparent}.top nav{max-width:var(--max);margin:auto;height:58px;display:flex;align-items:center;gap:8px;padding:0 28px}.top nav:not(:has(.site-mark)){justify-content:flex-end}.top .site-mark{margin-right:auto;padding:0;line-height:1;font-size:30px;font-weight:800;letter-spacing:-.04em;white-space:nowrap}.top .site-mark span{color:var(--teal)}.top a{color:#000;text-decoration:none;font-size:13px;font-weight:700;letter-spacing:.08em;padding:10px 16px}.top a.active{background:var(--teal);color:#fff}.hero,.work,.creative,.about,.capabilities{width:min(100%,var(--max));margin:auto;padding-left:28px;padding-right:28px}.hero{display:grid;grid-template-columns:minmax(440px,1fr) minmax(0,1.12fr);gap:52px;align-items:center;padding-top:22px;padding-bottom:42px}.intro{align-self:center}.intro h1{font-size:clamp(72px,6.2vw,100px);line-height:.77;letter-spacing:-.045em;margin:0 0 30px;font-weight:800}.intro h1 span{color:var(--teal)}.role{font-weight:700;letter-spacing:.13em;font-size:14px}.rule{width:54px;height:3px;background:var(--teal);margin:24px 0 27px}.intro h2{font-size:38px;line-height:1.08;margin:0 0 25px;letter-spacing:-.02em}.lede,.section-intro p:not(.eyebrow),.about-copy p{font-size:16px;line-height:1.65}.lede{max-width:575px}.actions{display:flex;gap:35px;align-items:center;margin-top:34px}.button{display:inline-block;background:var(--teal);color:#fff;text-decoration:none;font-weight:700;font-size:13px;letter-spacing:.04em;padding:15px 25px}.textlink{color:#087f9b;text-decoration:none;border-bottom:2px solid var(--teal);font-weight:700;font-size:13px;letter-spacing:.06em;padding-bottom:4px}.hero-collage{display:grid;grid-template-columns:1.38fr .92fr;grid-template-rows:1fr 1fr;gap:8px;height:500px;align-self:center}.hero-collage figure{margin:0;overflow:hidden;background:#eee}.hero-collage figure:first-child{grid-row:1/3}.hero-collage img{width:100%;height:100%;object-fit:cover;display:block}.hero-collage .topcrop img{object-position:center 18%}.work,.creative,.about,.capabilities{border-top:1px solid var(--line);padding-top:58px;padding-bottom:58px}.work{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,370px);gap:58px;align-items:start}.section-intro .eyebrow,.eyebrow{color:#008daf;font-size:12px;font-weight:700;letter-spacing:.08em}.section-intro h2{font-size:29px;line-height:1.12;margin:18px 0;max-width:370px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.project{aspect-ratio:16/9;position:relative;overflow:hidden;color:white;background:#111;text-decoration:none}.project.large{grid-column:auto;height:auto}.project img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.project:hover img{transform:scale(1.025)}.project:after{content:"";position:absolute;inset:48% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.8))}.project div{position:absolute;z-index:2;left:24px;right:20px;bottom:18px;text-shadow:0 1px 3px rgba(0,0,0,.5)}.project h3{font-size:18px;margin:0 0 3px}.project p{font-size:13px;margin:0}.creative{display:grid;grid-template-columns:minmax(270px,300px) minmax(0,1fr);gap:50px}.carousel-wrap{min-width:0}.carousel-controls{display:flex;justify-content:flex-end;gap:8px;margin-bottom:10px}.carousel-controls button{border:1px solid var(--line);background:white;width:38px;height:34px;font-size:20px;cursor:pointer}.carousel{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.carousel::-webkit-scrollbar{display:none}.slide{flex:0 0 calc((100% - 16px)/3);height:315px;scroll-snap-align:start;overflow:hidden;background:#eee;cursor:pointer;position:relative}.slide>img{width:100%;height:100%;object-fit:cover}.proposal-slide{background:#f3f5f6;padding:18px;cursor:default}.proposal-covers{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;height:205px;align-items:center}.proposal-covers img{width:100%;height:100%;object-fit:cover;object-position:top}.proposal-label{position:absolute;left:18px;right:18px;bottom:15px;border-top:1px solid #d9e0e3;padding-top:16px}.proposal-label strong,.proposal-label span{display:block}.proposal-label{padding-top:16px}.proposal-label strong{font-size:14px}.proposal-label span{font-size:12px;margin-top:2px}.about{display:grid;grid-template-columns:minmax(220px,290px) minmax(0,1fr);gap:64px;align-items:center}.about-photo{border:3px solid var(--teal);padding:7px;width:100%;max-width:290px;align-self:start;margin-top:0}.about-photo img{width:100%;display:block}.about-copy{min-width:0}.about-copy h2{font-size:clamp(28px,2.35vw,36px);line-height:1.15;margin:22px 0 24px}.about-copy p{max-width:940px}.about-copy .textlink{display:inline-block;margin-top:8px}.capabilities{padding-bottom:70px}.cap-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:20px}.cap-grid>div{padding:0 28px;border-left:1px solid var(--line)}.cap-grid>div:first-child{padding-left:0;border-left:0}.cap-grid b{color:var(--teal);font-size:22px;font-weight:400}.cap-grid h3{font-size:13px}.cap-grid p{font-size:14px;line-height:1.6}footer{width:100%;background:#151718;color:#fff}.footer-inner{width:min(100%,var(--max));margin:auto;padding:54px 28px;display:grid;grid-template-columns:1.05fr .85fr .7fr;gap:70px;align-items:start}footer h2{font-size:40px;line-height:.9;margin:0}footer h2 span{color:var(--teal)}footer p{margin-top:0;max-width:350px;font-size:16px}footer a{color:#fff;text-decoration:none}.footer-links{display:flex;flex-direction:column;gap:13px;font-size:14px}.lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:100;align-items:center;justify-content:center;padding:40px}.lightbox.open{display:flex}.lightbox img{max-width:92vw;max-height:90vh}.lightbox button{position:absolute;right:24px;top:20px;background:none;border:0;color:#fff;font-size:40px;cursor:pointer}@media(max-width:1100px){.hero{grid-template-columns:minmax(360px,1fr) 1.05fr;gap:34px}.intro h2{font-size:34px}.hero-collage{height:450px}.work{grid-template-columns:minmax(0,1fr) 300px;gap:35px}.creative{grid-template-columns:240px minmax(0,1fr);gap:35px}.about{grid-template-columns:240px minmax(0,1fr);gap:40px}.about-copy h2{font-size:30px}.cap-grid{grid-template-columns:1fr 1fr;gap:30px}.cap-grid>div:nth-child(3){border-left:0;padding-left:0}}@media(max-width:850px){.hero{grid-template-columns:1fr;gap:36px}.hero-collage{height:440px}.work,.creative,.about{grid-template-columns:1fr}.work .project-grid{order:2}.work .work-intro{order:1}.section-intro h2{max-width:500px}.about-photo{max-width:260px}.footer-inner{grid-template-columns:1fr;gap:35px}.slide{flex-basis:60%}}@media(max-width:620px){.top nav{justify-content:center;padding:0 12px}.top a{padding:10px 11px}.hero,.work,.creative,.about,.capabilities{padding-left:20px;padding-right:20px}.intro h1{font-size:60px}.intro h2{font-size:31px}.actions{gap:20px;flex-wrap:wrap}.hero-collage{grid-template-columns:1.25fr .75fr;height:340px}.project-grid{grid-template-columns:1fr}.project.large{grid-column:auto;height:auto}.project{aspect-ratio:16/9}.cap-grid{grid-template-columns:1fr}.cap-grid>div{border-left:0;padding:0}.slide{flex-basis:82%}.proposal-covers{height:215px}footer h2{font-size:34px}}

.work-intro{padding-top:4px}.work-intro p:not(.eyebrow){max-width:360px}
.featured-links{margin-top:34px;padding-top:25px;border-top:1px solid var(--line)}.featured-links>.eyebrow{margin:0 0 14px}.featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.featured-grid a{color:var(--ink);text-decoration:none;padding:0 20px;border-left:1px solid var(--line);min-width:0}.featured-grid a:first-child{padding-left:0;border-left:0}.featured-grid strong,.featured-grid span{display:block}.featured-grid strong{font-size:14px;line-height:1.3}.featured-grid span{font-size:11px;color:var(--muted);margin-top:6px}.featured-grid a:hover strong{color:var(--teal)}@media(max-width:850px){.featured-grid{grid-template-columns:1fr}.featured-grid a,.featured-grid a:first-child{padding:13px 0;border-left:0;border-top:1px solid var(--line)}.featured-grid a:first-child{border-top:0}}

.slide>a{display:block;width:100%;height:100%}.slide>a>img{width:100%;height:100%;object-fit:cover;display:block}.proposal-covers a{display:block;height:100%;min-width:0}.proposal-covers a img{transition:transform .2s ease,opacity .2s ease}.proposal-covers a:hover img{transform:translateY(-3px);opacity:.88}

.footer-copyright{width:min(100%,var(--max));margin:auto;padding:0 28px 24px;color:#aeb5b9;font-size:11px;letter-spacing:.04em}
@media(max-width:620px){.top .site-mark{font-size:18px}.footer-copyright{text-align:center;padding-bottom:20px}}
/* v22: three non-overlapping groups of three */
.carousel{display:block;overflow:hidden}.carousel-page{display:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.carousel-page.active{display:grid}.carousel-page .slide{width:100%;height:315px;min-width:0}.carousel-page .slide>img{width:100%;height:100%;object-fit:cover;display:block;cursor:pointer}@media(max-width:850px){.carousel-page{grid-template-columns:repeat(3,minmax(230px,1fr));overflow-x:auto}}@media(max-width:620px){.carousel-page{grid-template-columns:repeat(3,minmax(260px,82vw));overflow-x:auto}}
/* v24: smooth, clipped three-at-a-time Selected Creative carousel */
.carousel{position:relative;display:block;overflow:hidden;min-height:315px}
.carousel-page{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;visibility:hidden;pointer-events:none;transform:translateX(100%)}
.carousel-page.active{visibility:visible;pointer-events:auto;transform:translateX(0)}
.carousel-page .slide{width:100%;height:315px;min-width:0}
.carousel-page .slide a{display:block;width:100%;height:100%}
.carousel-page .slide a>img{width:100%;height:100%;object-fit:cover;display:block}
@media (prefers-reduced-motion:reduce){.carousel-page{transition:none!important}}

/* v25 final: Selected Creative carousel */
.carousel{position:relative!important;display:block!important;overflow:hidden!important;min-height:315px}
.carousel-page{position:absolute!important;inset:0!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;width:100%!important;visibility:hidden;pointer-events:none;transform:translateX(100%);will-change:transform}
.carousel-page.active{visibility:visible;pointer-events:auto;transform:translateX(0)}
.carousel-page .slide{width:100%!important;height:315px!important;min-width:0!important;flex:none!important;overflow:hidden}
.carousel-page .slide a{display:block;width:100%;height:100%}
.carousel-page .slide a>img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:850px){.carousel{overflow:hidden!important}.carousel-page{grid-template-columns:repeat(3,minmax(0,1fr))!important;overflow:visible!important}}
@media(max-width:620px){.carousel-page{grid-template-columns:repeat(3,minmax(0,1fr))!important;overflow:visible!important}.carousel-page .slide{height:260px!important}.carousel{min-height:260px}}
@media(prefers-reduced-motion:reduce){.carousel-page{transition:none!important}}

/* v27: single-track Selected Creative carousel — one transform, no hidden page states */
.carousel{position:relative!important;display:block!important;overflow:hidden!important;min-height:315px}
.carousel-track{display:flex;width:300%;transform:translateX(0);transition:transform 420ms cubic-bezier(.22,.61,.36,1);will-change:transform}
.carousel-page{position:static!important;inset:auto!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;width:33.333333%!important;flex:0 0 33.333333%!important;visibility:visible!important;pointer-events:auto!important;transform:none!important}
.carousel-page .slide{width:100%!important;height:315px!important;min-width:0!important;flex:none!important;overflow:hidden}
.carousel-page .slide a{display:block;width:100%;height:100%}
.carousel-page .slide a>img{width:100%;height:100%;object-fit:cover;display:block}
.about-photo{margin-top:22px!important}
@media(max-width:850px){.carousel-page{grid-template-columns:repeat(3,minmax(0,1fr))!important}.about-photo{margin-top:0!important}}
@media(max-width:620px){.carousel-page .slide{height:260px!important}.carousel{min-height:260px}}
@media(prefers-reduced-motion:reduce){.carousel-track{transition:none!important}}
