:root{--paper:#fff;--ink:#101010;--muted:#636363;--line:#dedede;--red:#111;--light:#f4f4f4;--lime:#d8f36a;--serif:Arial,Helvetica,sans-serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.6 var(--sans);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}[hidden]{display:none!important}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}img{display:block;width:100%;height:auto}p,h1,h2,h3,figure{margin:0}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #727f17;outline-offset:5px}::selection{background:var(--lime);color:#111}.wrap{width:calc(100% - 120px);max-width:1380px;margin-inline:auto}.skip-link{position:fixed;top:12px;left:12px;background:#111;color:white;z-index:100;padding:12px;transform:translateY(-200%)}.skip-link:focus{transform:none}.reading-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:60}.reading-progress span{display:block;width:100%;height:100%;background:var(--lime);transform:scaleX(0);transform-origin:left}.site-header{position:sticky;top:0;background:#ffffffed;backdrop-filter:blur(15px);z-index:30}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:84px}.wordmark{font:bold 2.25rem/1 var(--sans);letter-spacing:-.07em}.wordmark span{color:#888}nav{display:flex;gap:2.15rem}nav a{font-size:.95rem;position:relative;padding:.5rem 0}nav a:after{content:'';position:absolute;left:0;right:0;bottom:2px;height:1px;background:#111;transform:scaleX(0);transform-origin:left;transition:transform .25s}nav a:hover:after,nav a[aria-current]:after{transform:scaleX(1)}.button{border:1px solid var(--ink);background:var(--ink);color:var(--paper);border-radius:30px;display:inline-flex;align-items:center;justify-content:center;gap:1.4rem;padding:.85rem 1.4rem;font-size:.875rem;line-height:1.5;transition:background .2s,color .2s,transform .2s}.button:hover{background:var(--lime);color:#111;border-color:var(--lime);transform:translateY(-2px)}.button.outline{color:var(--ink);background:transparent}.button.outline:hover{background:var(--ink);color:white;border-color:var(--ink)}.button.compact{padding:.6rem 1.2rem}.text-link{display:inline-flex;align-items:center;gap:1.5rem;font-size:.875rem;padding:.4rem 0;border:0;border-bottom:1px solid currentColor;background:transparent;line-height:1.5}.text-link:hover{opacity:.65}.eyebrow{font-size:.75rem;font-weight:500;letter-spacing:.1em;line-height:1.5}.hero{text-align:center;padding-top:68px;padding-bottom:75px;overflow:clip}.hero-copy{position:relative;z-index:2}.hero .eyebrow{color:#777;margin-bottom:1.7rem}h1{font:normal clamp(3rem,5.4vw,5.5rem)/1.1 var(--sans);letter-spacing:-.045em}.accent-period{color:#7b8b30}.hero-text{font-size:1.1rem;line-height:1.55;margin:1.65rem auto 1rem;max-width:480px;color:#555}.hero-explore{margin-top:.4rem}.fan-stage{height:430px;position:relative;margin-top:50px;perspective:1200px;isolation:isolate}.fan-deck{--fan-step:190px;--fan-angle:9deg;--fan-lift:30px;position:absolute;inset:0}.fan-card{position:absolute;top:22px;left:50%;width:290px;height:355px;padding:0;border:0;border-radius:13px;overflow:hidden;background:#eee;box-shadow:0 20px 45px #0002;transform:translateX(calc(-50% + var(--slot)*var(--fan-step))) translateY(calc(var(--rise)*var(--fan-lift))) rotate(calc(var(--slot)*var(--fan-angle)));transition:box-shadow .3s,filter .3s;transform-origin:50% 100%;will-change:transform}.fan-card:nth-child(1){z-index:1}.fan-card:nth-child(2){z-index:3}.fan-card:nth-child(3){z-index:4}.fan-card:nth-child(4){z-index:2}.fan-card img{width:100%;height:100%;object-fit:cover}.fan-card:first-child img{object-position:50% 50%}.fan-card:hover,.fan-card:focus-visible{z-index:10;box-shadow:0 20px 55px #0004;filter:brightness(1.045)}.fan-card-label{position:absolute;left:12px;right:12px;bottom:12px;background:#fffffff2;border-radius:25px;padding:.55rem .65rem;font-size:.75rem;letter-spacing:.03em}.fan-caption{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:1rem;font-size:.75rem;letter-spacing:.05em}.fan-caption .text-link{font-size:.75rem}.partner-section{background:#080808;color:white;padding-block:100px}.partner-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:5rem;align-items:center}.partner-layout .eyebrow{color:#b1b1b1;margin-bottom:1.5rem}h2{font:normal clamp(2.6rem,4.1vw,4.5rem)/1.12 var(--sans);letter-spacing:-.045em}h2 em{font-style:normal;color:#858585}.partner-section h2{font-size:clamp(2.5rem,3.6vw,3.9rem)}.partner-section h2 em{color:var(--lime)}.partner-layout>div>p:last-child{color:#b5b5b5;margin-top:1.8rem}.capability-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.capability-grid>a,.capability-grid>button{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;text-align:left;background:#171717;color:white;padding:1.65rem;border:0;min-height:190px;transition:background .25s,color .25s}.capability-grid span{font-size:.75rem;letter-spacing:.05em;color:#b1b1b1}.capability-grid strong{font-size:1.75rem;font-weight:400;letter-spacing:-.035em;margin-block:1.2rem}.capability-grid small{font-size:.875rem;color:#b1b1b1}.capability-grid>a:hover,.capability-grid>button:hover{background:var(--lime);color:#111}.capability-grid>a:hover span,.capability-grid>button:hover span,.capability-grid>a:hover small,.capability-grid>button:hover small{color:#333}.work-section{padding-block:110px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:3rem;margin-bottom:3rem}.section-heading .eyebrow{margin-bottom:1.5rem}.section-aside{font-size:1rem;color:var(--muted);max-width:350px}.section-aside p{margin-top:1rem}.pill{display:inline-block;padding:.3rem .7rem;border:1px solid var(--line);border-radius:30px;font-size:.75rem;letter-spacing:.025em}.filter-bar{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;margin-bottom:2.5rem}.filter-bar button{background:transparent;border:1px solid var(--line);border-radius:30px;font-size:.875rem;padding:.5rem 1rem}.filter-bar button:hover,.filter-bar button[aria-pressed=true]{background:#111;border-color:#111;color:white}#work-count{margin-left:auto;font-size:.875rem;color:#777}.project-track{display:grid;grid-template-columns:1fr 1fr;gap:58px 42px;width:calc(100% - 120px);max-width:1380px;margin:auto}.project-card{min-width:0}.project-open{display:block;width:100%;text-align:left;padding:0;border:0;background:transparent}.project-visual{display:block;position:relative;overflow:hidden;background:#eee;border-radius:3px}.project-visual img{width:100%;aspect-ratio:1.46;object-fit:cover;transition:transform .6s}.project-open:hover img{transform:scale(1.045)}.project-label{position:absolute;left:15px;top:15px;background:#fffffff0;padding:.35rem .7rem;border-radius:30px;font-size:.75rem;letter-spacing:.025em}.project-plus{position:absolute;right:15px;bottom:15px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;font-size:1.4rem;background:#fff;transition:background .2s,transform .2s}.project-open:hover .project-plus{background:var(--lime);transform:rotate(45deg)}.project-card h3{font:normal 1.6rem/1.2 var(--sans);letter-spacing:-.035em;margin-top:1.2rem}.project-card p{font-size:.875rem;color:#777;margin-top:.45rem}.work-controls{display:none}.services-section{background:#090909;color:white;padding-block:100px}.services-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:5rem}.services-layout .eyebrow{color:#b1b1b1;margin-bottom:1.5rem}.services-layout h2 em{color:var(--lime)}.section-intro{margin-top:1.8rem;color:#b5b5b5}.service-tabs{display:flex;gap:1rem;border-bottom:1px solid #464646}.service-tabs button{flex:1;background:transparent;border:0;border-bottom:2px solid transparent;padding:1rem .1rem;text-align:left;color:#b5b5b5;font-size:.875rem}.service-tabs button[aria-selected=true]{border-color:var(--lime);color:var(--lime)}#service-content{padding-top:2rem}.service-kicker{font-size:.75rem;letter-spacing:.08em;color:#b5b5b5;margin-bottom:1rem}#service-title{font:normal 2.3rem/1.2 var(--sans);letter-spacing:-.035em;white-space:pre-line}#service-description{color:#b5b5b5;margin-block:1.5rem}#service-deliverables{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin:0 0 2rem;font-size:.875rem}#service-deliverables li{position:relative;padding-left:1rem}#service-deliverables li:before{content:'+';position:absolute;left:0;color:var(--lime)}.process-section{display:grid;grid-template-columns:1fr 1fr;gap:6rem;padding-block:110px}.process-intro{position:sticky;top:130px;align-self:start}.process-intro .eyebrow{margin-bottom:1.5rem}.process-intro>p:not(.eyebrow){margin-block:1.6rem;color:#666}.process-step{border-top:1px solid var(--line);padding:1.8rem 0 3rem}.step-number{font:normal 4.8rem/1 var(--sans);letter-spacing:-.075em;color:#bbb;transition:color .4s}.process-step.is-active .step-number{color:#111}.process-step h3{font:normal 1.85rem/1.2 var(--sans);letter-spacing:-.035em;margin:1.3rem 0 1rem}.process-step p{color:#666}.step-tag{font-size:.75rem;letter-spacing:.08em;display:block;margin-top:1.5rem}.statement-section{background:var(--lime);padding-block:100px}.scroll-statement{font:normal clamp(2.5rem,5.5vw,6rem)/1.16 var(--sans);letter-spacing:-.055em;max-width:1200px;margin:2.5rem 0 3rem}.scroll-statement span{color:#6b7934;transition:color .3s}.scroll-statement span.is-lit{color:#111}.statement-bottom{display:flex;align-items:center;justify-content:space-between;gap:2rem;border-top:1px solid #a8ba51;padding-top:1.8rem;font-size:.875rem}.faq-section{display:grid;grid-template-columns:1fr 1.15fr;gap:5rem;padding-block:110px}.faq-section .eyebrow{margin-bottom:1.5rem}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.45rem 0;cursor:pointer;list-style:none;font-size:1rem}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:1.4rem;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{color:#666;padding-bottom:1.5rem}.brief-section{background:#f3f3f3;padding-block:100px}.brief-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:4rem}#brief-form{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}label{display:flex;flex-direction:column;gap:.5rem;font-size:.875rem}label span{font-size:.75rem;color:#666}input,textarea,select{font-size:1rem;width:100%;min-width:0;background:white;color:#111;border:1px solid #b8b8b8;border-radius:5px;padding:.85rem}textarea{resize:vertical}input:focus,textarea:focus,select:focus{outline:2px solid #677824;outline-offset:2px}.full-field{grid-column:1/-1}.brief-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.8rem}.form-note,#brief-status{font-size:.875rem;color:#666}#brief-status{min-height:1.4em}.brief-preview{position:sticky;top:110px;align-self:start;background:white;border-top:3px solid #111;padding:2rem;overflow-wrap:anywhere}.brief-preview h3{font:normal 2.3rem/1.2 var(--sans);letter-spacing:-.04em;margin-block:1.5rem}.brief-preview>p:not(.eyebrow){margin-top:1.5rem;color:#666;white-space:pre-wrap}.brief-preview a{margin-top:1.5rem}.site-footer{background:#080808;color:white;padding-top:45px}.footer-top,.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:2rem;font-size:.75rem}.footer-top>p{letter-spacing:.08em}.footer-wordmark{font:bold clamp(5rem,20vw,20rem)/1.28 var(--sans);display:block;letter-spacing:-.085em}.footer-wordmark span{color:var(--lime)}.footer-bottom{border-top:1px solid #444;padding-block:1.5rem;color:#b5b5b5}.footer-bottom>span:nth-child(2){letter-spacing:.06em}.project-dialog{border:0;padding:0;width:min(1050px,calc(100% - 32px));max-height:92dvh;background:white;color:#111;overflow:hidden;border-radius:10px}.project-dialog::backdrop,#image-viewer::backdrop{background:#000c;backdrop-filter:blur(6px)}.dialog-close{position:absolute;right:14px;top:14px;z-index:3;border:1px solid #ddd;border-radius:30px;background:white;color:#111;padding:.6rem 1rem;font-size:.875rem}.dialog-scroll{max-height:92dvh;overflow-y:auto}.image-zoom{position:relative;display:block;width:100%;border:0;padding:0;background:transparent;cursor:zoom-in}.image-zoom img{max-height:540px;object-fit:cover}.image-caption{position:absolute;right:15px;bottom:15px;padding:.5rem .8rem;background:white;border-radius:25px;font-size:.75rem}.dialog-copy{padding:2.5rem}.dialog-copy h2{font-size:clamp(2.1rem,4vw,3.5rem);margin:1rem 0 1.25rem}.dialog-copy>p:not(.eyebrow){color:#666;margin-block:1.5rem}.dialog-copy>h3{font-size:.875rem}.project-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-block:1.5rem}.dialog-navigation{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1.5rem;border-top:1px solid var(--line);font-size:.875rem}#image-viewer{border:0;border-radius:6px;background:#111;color:white;padding:4rem 1rem 1rem;width:min(1500px,96vw);max-height:96dvh}#viewer-image{max-height:78dvh;width:100%;object-fit:contain}#image-viewer p{text-align:center;font-size:.875rem;margin-top:.7rem}.motion .reveal{opacity:0;transform:translateY(24px);transition:opacity .65s,transform .65s}.motion .reveal.is-visible{opacity:1;transform:none}
@media(max-width:1150px){.wrap,.project-track{width:calc(100% - 72px)}.partner-layout,.services-layout,.process-section,.faq-section{gap:3rem}.brief-layout{gap:2rem}.fan-card{width:255px;height:330px}.fan-stage{height:420px}.header-inner{gap:1.2rem}nav{gap:1.3rem}.hero{padding-top:55px}}
@media(max-width:850px){.wrap,.project-track{width:calc(100% - 40px)}.header-inner{min-height:78px}.wordmark{font-size:2rem}.header-inner .compact{display:none}nav a{font-size:.875rem}.hero{padding-top:45px;padding-bottom:50px}h1{font-size:clamp(2.7rem,6.3vw,4.5rem)}.hero-text{font-size:1rem}.fan-stage{height:340px;margin-top:35px}.fan-deck{--fan-step:130px;--fan-angle:8deg;--fan-lift:24px}.fan-card{width:210px;height:270px}.fan-caption{gap:1rem;font-size:.75rem}.fan-caption>span{max-width:155px}.partner-section,.services-section,.statement-section{padding-block:65px}.partner-layout,.services-layout{grid-template-columns:1fr;gap:2.5rem}.partner-section h2{font-size:2.9rem}.capability-grid>a,.capability-grid>button{min-height:170px}.section-heading{flex-direction:column;align-items:flex-start;gap:1.5rem}.section-aside{max-width:450px}.work-section{padding-block:65px}.project-track{gap:35px 22px}.project-card h3{font-size:1.3rem}.project-label{font-size:.75rem;left:10px;top:10px;letter-spacing:0}.project-plus{right:10px;bottom:10px;width:36px;height:36px}.project-visual img{aspect-ratio:1.2}.process-section{grid-template-columns:1fr;gap:3rem;padding-block:65px}.process-intro{position:static}.statement-bottom{flex-direction:column;align-items:flex-start;gap:1rem}.faq-section{grid-template-columns:1fr;gap:2rem;padding-block:65px}.brief-section{padding-block:65px}.brief-layout{grid-template-columns:1fr}.brief-preview{position:static}.footer-bottom{flex-wrap:wrap}.footer-bottom>span:nth-child(2){order:3;width:100%}}
@media(max-width:540px){.header-inner{flex-wrap:wrap;padding-block:15px;gap:.6rem}.header-inner nav{width:100%;justify-content:space-between;gap:.9rem}.wordmark{font-size:2.1rem}.hero .eyebrow{font-size:.75rem;letter-spacing:.055em}h1{font-size:clamp(2.35rem,8.5vw,3.1rem);letter-spacing:-.05em}.hero-text br:last-child{display:none}.hero-text{max-width:310px}.fan-stage{height:290px;width:100%;margin-top:25px;overflow:hidden}.fan-deck{--fan-step:80px;--fan-angle:7deg;--fan-lift:22px}.fan-card{width:155px;height:215px;top:15px;border-radius:8px;box-shadow:0 12px 25px #0002}.fan-card-label{font-size:.75rem;left:7px;right:7px;bottom:8px;padding:.35rem .15rem;letter-spacing:-.025em}.fan-caption{flex-wrap:wrap;justify-content:space-between;gap:.8rem}.fan-caption>span{max-width:none;width:100%;text-align:center}.fan-caption .text-link{font-size:.75rem}.capability-grid>a,.capability-grid>button{padding:1.1rem;min-height:165px}.capability-grid strong{font-size:1.5rem}.capability-grid small{font-size:.875rem}.partner-section h2{font-size:2.4rem}.project-track{grid-template-columns:1fr;gap:35px}.project-visual img{aspect-ratio:1.45}.project-card h3{font-size:1.5rem}#work-count{width:100%;margin-left:0;margin-top:.5rem}.filter-bar{gap:.45rem}.filter-bar button{padding:.5rem .85rem}.service-tabs{gap:.6rem}.service-tabs button{font-size:.875rem}#service-title{font-size:2rem}#service-deliverables{grid-template-columns:1fr}#brief-form{grid-template-columns:1fr}.brief-preview,.dialog-copy{padding:1.5rem}.project-actions{flex-direction:column}.footer-top{gap:1rem;align-items:flex-start}.footer-top p{max-width:160px}.footer-wordmark{font-size:20vw}.dialog-navigation{gap:.6rem}.project-dialog{width:calc(100% - 20px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion .reveal{opacity:1;transform:none}.scroll-statement span{color:#111}.fan-card{will-change:auto}}

/* Landscape gallery images and original portrait opening cards. */
.project-visual,.full-artwork .project-visual{display:flex;flex-direction:column;padding:0;background:transparent}
.project-visual img,.full-artwork .project-visual img{display:block;width:100%;height:auto;aspect-ratio:5/3;object-fit:cover;object-position:center;border-radius:3px}
.project-label,.full-artwork .project-label{position:static;align-self:flex-start;order:1;margin:10px 0 0;padding:0;background:transparent;line-height:20px;max-width:100%;border-radius:0}
.project-plus{display:none}
.project-open:hover img,.full-artwork .project-open:hover img{transform:none}
.fan-card,.fan-card.full-artwork{overflow:hidden;background:transparent}
.fan-card img,.fan-card.full-artwork img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.image-zoom img{width:100%;height:auto;max-height:65dvh;object-fit:contain;background:transparent}
.contact-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
@media(max-width:540px){
  .fan-stage{height:auto;width:100%;margin-top:25px;overflow:visible}
  .fan-deck{position:relative;inset:auto;display:flex;gap:14px;width:100%;overflow-x:auto;overflow-y:hidden;padding:15px 20px 28px;scroll-snap-type:x mandatory;scroll-padding-inline:20px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .fan-deck::-webkit-scrollbar{display:none}
  .fan-card,.fan-card.full-artwork{position:relative;top:auto;left:auto;flex:0 0 min(74vw,270px);width:min(74vw,270px);height:auto;aspect-ratio:4/5;transform:none!important;scroll-snap-align:center;border-radius:10px}
  .fan-caption #fan-motion{display:none}
}
.direct-contact{display:grid;gap:.65rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.direct-contact .eyebrow{margin-bottom:.2rem}
.direct-contact-link{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:0!important;padding:.8rem 1rem;border:1px solid var(--line);border-radius:6px;background:#f5f5f5;font-size:.875rem;line-height:1.35;transition:background .2s,border-color .2s}
.direct-contact-link:hover{background:var(--lime);border-color:var(--lime);opacity:1}
.direct-contact-link span:last-child{font-size:1rem}
@media(max-width:540px){.direct-contact-link{padding:.85rem}.direct-contact-link span:first-child{overflow-wrap:anywhere}}
