.tt-portfolio{--tt-navy:#173b4c;--tt-navy-dark:#0e2936;--tt-green:#8cc957;--tt-cream:#f4f2ec;--tt-ink:#1d2d34;--tt-muted:#66757b;background:var(--tt-cream);color:var(--tt-ink);padding:clamp(72px,8vw,120px) 24px}.tt-portfolio *{box-sizing:border-box}.tt-portfolio__shell{margin:0 auto;max-width:1180px}.tt-portfolio__intro{align-items:end;display:grid;gap:clamp(32px,7vw,96px);grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);margin-bottom:42px}.tt-eyebrow{color:#5f8f39;font-size:12px;font-weight:800;letter-spacing:.16em;line-height:1.2;margin:0 0 15px;text-transform:uppercase}.tt-portfolio__intro h2{color:var(--tt-navy);font-size:clamp(40px,5.6vw,72px);letter-spacing:-.045em;line-height:.98;margin:0;max-width:760px}.tt-portfolio__intro>p{color:var(--tt-muted);font-size:17px;line-height:1.75;margin:0 0 4px;max-width:550px}.tt-filters{border-bottom:1px solid rgba(23,59,76,.16);display:flex;gap:30px;margin-bottom:28px;overflow-x:auto;scrollbar-width:none}.tt-filters::-webkit-scrollbar{display:none}.tt-filter{appearance:none;background:none;border:0;color:#66757b;cursor:pointer;flex:0 0 auto;font:inherit;font-size:14px;font-weight:800;letter-spacing:.02em;padding:0 0 16px;position:relative}.tt-filter:after{background:var(--tt-green);bottom:-1px;content:"";height:3px;left:0;position:absolute;transform:scaleX(0);transform-origin:left;transition:transform .25s ease;width:100%}.tt-filter.is-active,.tt-filter:focus-visible,.tt-filter:hover{color:var(--tt-navy)}.tt-filter.is-active:after{transform:scaleX(1)}.tt-projects{display:grid;gap:16px;grid-auto-flow:dense;grid-auto-rows:245px;grid-template-columns:repeat(12,minmax(0,1fr))}.tt-project{grid-column:span 4;min-height:0;opacity:1;transform:translateY(0);transition:opacity .25s ease,transform .25s ease}.tt-project--feature{grid-column:span 8;grid-row:span 2}.tt-project--tall{grid-column:span 4;grid-row:span 2}.tt-project--wide{grid-column:span 8}.tt-project.is-hidden{display:none}.tt-project__trigger{appearance:none;background:var(--tt-navy);border:0;border-radius:4px;cursor:pointer;display:block;height:100%;overflow:hidden;padding:0;text-align:left;width:100%}.tt-project figure{height:100%;margin:0;overflow:hidden;position:relative}.tt-project figure:after{background:linear-gradient(180deg,transparent 30%,rgba(7,25,33,.1) 52%,rgba(7,25,33,.9));content:"";inset:0;position:absolute;transition:background .35s ease}.tt-project img{height:100%;object-fit:cover;transform:scale(1.001);transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s ease;width:100%}.tt-project figcaption{bottom:0;color:#fff;left:0;padding:clamp(22px,3vw,36px);position:absolute;right:0;z-index:2}.tt-project__type{display:block;font-size:11px;font-weight:800;letter-spacing:.13em;margin-bottom:9px;text-transform:uppercase}.tt-project strong{display:block;font-size:clamp(20px,2.2vw,30px);letter-spacing:-.025em;line-height:1.12;max-width:650px}.tt-project:not(.tt-project--feature) strong{font-size:clamp(18px,1.6vw,23px)}.tt-project__action{align-items:center;display:flex;font-size:13px;font-weight:800;gap:8px;margin-top:16px;opacity:0;transform:translateY(8px);transition:opacity .25s ease,transform .25s ease}.tt-project__action>span{color:var(--tt-green);font-size:18px}.tt-project__trigger:focus-visible img,.tt-project__trigger:hover img{transform:scale(1.045)}.tt-project__trigger:focus-visible figure:after,.tt-project__trigger:hover figure:after{background:linear-gradient(180deg,rgba(7,25,33,.06) 15%,rgba(7,25,33,.22) 48%,rgba(7,25,33,.94))}.tt-project__trigger:focus-visible .tt-project__action,.tt-project__trigger:hover .tt-project__action{opacity:1;transform:translateY(0)}.tt-project__trigger:focus-visible{outline:3px solid var(--tt-green);outline-offset:3px}.tt-portfolio__cta{align-items:center;background:var(--tt-navy);color:#fff;display:grid;gap:28px;grid-template-columns:1.25fr 1fr auto;margin-top:16px;padding:clamp(32px,5vw,58px)}.tt-portfolio__cta .tt-eyebrow{color:var(--tt-green);margin-bottom:10px}.tt-portfolio__cta h3{color:#fff;font-size:clamp(28px,3vw,42px);letter-spacing:-.035em;line-height:1.05;margin:0}.tt-portfolio__cta>p{color:hsla(0,0%,100%,.76);line-height:1.65;margin:0}.tt-portfolio__cta a{align-items:center;background:var(--tt-green);border-radius:2px;color:var(--tt-navy-dark);display:inline-flex;font-size:14px;font-weight:900;gap:14px;justify-content:center;min-height:54px;padding:14px 22px;text-decoration:none;transition:background .2s ease,transform .2s ease;white-space:nowrap}.tt-portfolio__cta a:focus-visible,.tt-portfolio__cta a:hover{background:#a2dc72;transform:translateY(-2px)}body.tt-lightbox-open{overflow:hidden}.tt-lightbox{align-items:center;display:none;inset:0;justify-content:center;padding:24px;position:fixed;z-index:999999}.tt-lightbox.is-open{display:flex}.tt-lightbox__backdrop{background:rgba(7,20,27,.94);border:0;cursor:zoom-out;inset:0;padding:0;position:absolute}.tt-lightbox__panel{color:#fff;max-width:1200px;position:relative;width:100%;z-index:1}.tt-lightbox__close{background:hsla(0,0%,100%,.12);border:1px solid hsla(0,0%,100%,.25);border-radius:50%;color:#fff;cursor:pointer;font-size:29px;height:44px;line-height:1;padding:0 0 4px;position:absolute;right:0;top:-58px;width:44px;z-index:3}.tt-lightbox__close,.tt-lightbox__stage{align-items:center;display:flex;justify-content:center}.tt-lightbox__stage{background:#081d27;height:min(68vh,720px);overflow:hidden;position:relative}.tt-lightbox__image{height:100%;object-fit:contain;width:100%}.tt-lightbox__nav{align-items:center;background:rgba(14,41,54,.76);border:1px solid hsla(0,0%,100%,.24);border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:21px;height:48px;justify-content:center;padding:0;position:absolute;top:50%;transform:translateY(-50%);width:48px;z-index:2}.tt-lightbox__prev{left:18px}.tt-lightbox__next{right:18px}.tt-lightbox__close:focus-visible,.tt-lightbox__close:hover,.tt-lightbox__nav:focus-visible,.tt-lightbox__nav:hover{background:var(--tt-green);color:var(--tt-navy-dark);outline:none}.tt-lightbox__details{align-items:end;display:flex;gap:24px;justify-content:space-between;padding:18px 0 14px}.tt-lightbox__meta{color:var(--tt-green);font-size:11px;font-weight:900;letter-spacing:.14em;margin:0 0 5px;text-transform:uppercase}.tt-lightbox__title{color:#fff;font-size:clamp(22px,3vw,34px);letter-spacing:-.025em;margin:0}.tt-lightbox__count{color:hsla(0,0%,100%,.7);flex:0 0 auto;font-size:13px;margin:0}.tt-lightbox__thumbs{display:flex;gap:8px;max-width:100%;overflow-x:auto;padding-bottom:4px}.tt-lightbox__thumb{background:#081d27;border:2px solid transparent;cursor:pointer;flex:0 0 82px;height:56px;opacity:.55;overflow:hidden;padding:0}.tt-lightbox__thumb img{height:100%;object-fit:cover;width:100%}.tt-lightbox__thumb.is-active{border-color:var(--tt-green);opacity:1}@media (max-width:900px){.tt-portfolio__intro{gap:24px;grid-template-columns:1fr}.tt-projects{grid-auto-rows:220px}.tt-project,.tt-project--wide{grid-column:span 6}.tt-project--feature{grid-column:span 12;grid-row:span 2}.tt-project--tall{grid-column:span 6;grid-row:span 2}.tt-portfolio__cta{grid-template-columns:1fr 1fr}.tt-portfolio__cta a{grid-column:1/-1}}@media (max-width:620px){.tt-portfolio{padding:62px 18px}.tt-portfolio__intro{margin-bottom:30px}.tt-filters{gap:22px}.tt-projects{display:block}.tt-project{height:300px;margin-bottom:12px}.tt-project--feature{height:420px}.tt-project__action{opacity:1;transform:none}.tt-portfolio__cta{display:block;padding:34px 26px}.tt-portfolio__cta>p{margin:18px 0 24px}.tt-portfolio__cta a{white-space:normal;width:100%}.tt-lightbox{padding:68px 12px 18px}.tt-lightbox__stage{height:58vh}.tt-lightbox__prev{left:10px}.tt-lightbox__next{right:10px}.tt-lightbox__nav{height:42px;width:42px}.tt-lightbox__close{right:0;top:-54px}.tt-lightbox__details{align-items:start}}@media (prefers-reduced-motion:reduce){.tt-filter:after,.tt-portfolio__cta a,.tt-project *{transition:none!important}}.tt-portfolio .tt-portfolio__cta h3,.tt-portfolio .tt-portfolio__intro h2{font-family:Source Sans Pro,sans-serif!important;font-weight:600!important;letter-spacing:normal!important;line-height:1.15!important}