:root{--ink:#111;--muted:#666;--paper:#f4f2ed;--line:rgba(17,17,17,.13);--white:#fff;--accent:#d9ff43;--max:1320px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.55}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}.wrap{width:min(calc(100% - 64px),var(--max));margin:auto}.skip-link{position:fixed;left:12px;top:-60px;background:#fff;padding:10px 14px;z-index:1000}.skip-link:focus{top:12px}
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;color:#fff;transition:.3s ease;background:linear-gradient(rgba(0,0,0,.42),transparent)}.site-header.scrolled{background:rgba(12,12,12,.94);backdrop-filter:blur(16px)}.nav-wrap{height:82px;display:flex;align-items:center;justify-content:space-between}.wordmark{font-family:Manrope,sans-serif;font-size:22px;font-weight:800;letter-spacing:-.05em}.wordmark span{color:var(--accent)}.desktop-nav{display:flex;gap:34px;margin-left:auto;margin-right:40px}.desktop-nav a,.nav-cta{font-size:14px}.desktop-nav a{opacity:.8;transition:.2s}.desktop-nav a:hover{opacity:1}.nav-cta{border:1px solid rgba(255,255,255,.45);border-radius:999px;padding:10px 15px}.nav-cta span{margin-left:10px}.menu-btn,.mobile-nav{display:none}
.hero{min-height:94vh;background:#111;color:#fff;position:relative;overflow:hidden;display:flex;align-items:flex-end}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 35%,rgba(217,255,67,.12),transparent 27%),radial-gradient(circle at 20% 70%,rgba(255,255,255,.08),transparent 25%)}.hero-orbit{position:absolute;width:min(62vw,800px);height:min(62vw,800px);right:-10%;top:8%;border:1px solid rgba(255,255,255,.13);border-radius:50%;transform:rotate(-18deg)}.hero-orbit:before,.hero-orbit:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.09);border-radius:50%;inset:10%}.hero-orbit:after{inset:23%}.hero-orbit span{position:absolute;width:9px;height:9px;background:var(--accent);border-radius:50%;top:11%;left:35%;box-shadow:0 0 25px rgba(217,255,67,.5)}.hero-orbit span:nth-child(2){top:auto;left:auto;bottom:20%;right:7%;width:5px;height:5px;background:#fff}.hero-orbit span:nth-child(3){top:53%;left:18%;width:4px;height:4px;background:#fff}.hero-inner{position:relative;z-index:2;padding-top:160px;padding-bottom:70px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.17em;font-weight:700;margin:0 0 22px;opacity:.68}.hero-title{font:800 clamp(58px,9.3vw,140px)/.91 Manrope,sans-serif;letter-spacing:-.075em;margin:0;max-width:1100px}.hero-title em,.approach h2 em,.about h2 em,.contact h2 em{font-style:normal;color:var(--accent)}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:54px;max-width:1000px}.hero-bottom>p{max-width:560px;font-size:18px;color:#c8c8c8;margin:0}.hero-actions{display:flex;align-items:center;gap:24px}.button{display:inline-flex;align-items:center;gap:18px;border-radius:999px;padding:14px 19px;font-weight:700}.button-light{background:#fff;color:#111}.text-link{border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:4px}.hero-index{position:absolute;right:32px;bottom:32px;font-size:11px;letter-spacing:.15em;opacity:.45}
.section-pad{padding:130px 0}.statement{background:#fff}.statement-grid{display:grid;grid-template-columns:220px 1fr;gap:40px}.statement h2{font:600 clamp(35px,5vw,68px)/1.03 Manrope,sans-serif;letter-spacing:-.055em;margin:0;max-width:1000px}.statement h2 span{color:#8a8a8a}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:54px}.section-head h2,.capabilities h2{font:700 clamp(38px,5vw,70px)/1 Manrope,sans-serif;letter-spacing:-.06em;margin:0}.section-head h2 em{font-style:normal;font-weight:700;color:#6b705c}.section-note{max-width:380px;color:var(--muted);margin:0}
.case-study-link{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(460px,1.25fr);
  align-items:center;
  gap:48px;
  padding:36px 42px;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(255,255,255,.34);
  transition:transform .3s ease,background .3s ease,border-color .3s ease;
}
.case-study-link:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,.58);
  border-color:#c9c6bf;
}.case-study-content{min-width:0}.case-study-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.15em;font-weight:700;color:#777;margin:0 0 5px}.case-study-content h3{font:700 clamp(27px,3vw,40px)/1 Manrope;margin:0 0 8px;letter-spacing:-.05em}.case-study-services{margin:0;color:#555;font-size:14px}.case-study-services span{margin:0 5px;color:#999}.case-study-description{margin:8px 0 0;color:#777;font-size:14px}.case-study-cta{display:flex;align-items:center;justify-content:space-between;width:100%;box-sizing:border-box;padding:22px 28px;border-radius:999px;background:var(--accent);color:#111;font-weight:700;font-size:17px;line-height:1;white-space:nowrap}.case-study-cta strong{font-size:24px;font-weight:500;line-height:1}.all-work-head{margin:90px 0 32px;display:grid;grid-template-columns:1fr auto;align-items:end;gap:35px;border-top:1px solid var(--line);padding-top:32px}.all-work-head h3{font:700 clamp(38px,4.5vw,62px)/.95 Manrope;margin:0;letter-spacing:-.06em}.all-work-head h3 em{font-style:normal;color:#68704a}.more-work-actions{display:flex;align-items:flex-end;gap:30px}.more-work-actions .section-note{max-width:390px;margin:0}.view-all-work{border:1px solid #777;background:transparent;border-radius:999px;padding:12px 18px;white-space:nowrap;cursor:pointer;transition:.2s}.view-all-work:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.view-all-work span{margin-left:12px}.filters{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.filter{border:1px solid var(--line);background:transparent;padding:9px 13px;border-radius:999px;font-size:12px;cursor:pointer;transition:.2s}.filter:hover,.filter.active{background:var(--ink);color:#fff;border-color:var(--ink)}.portfolio-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.portfolio-card{position:relative;background:#e5e2dc;cursor:pointer;animation:cardIn .5s ease both;border-radius:2px;overflow:hidden}.portfolio-card.hide{display:none}.portfolio-card .thumb{position:relative;aspect-ratio:4/3;overflow:hidden;background:#ddd}.portfolio-card .thumb::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,0);transition:background .35s ease;pointer-events:none}.portfolio-card img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(35%);transform:scale(1);transition:filter .45s ease,transform .55s cubic-bezier(.2,.7,.2,1)}.portfolio-card .work-hover{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:flex-end;padding:18px;pointer-events:none}.portfolio-card .work-hover-hint{display:inline-flex;align-items:center;padding:9px 13px;background:rgba(255,255,255,.94);color:#111;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;border-radius:999px;opacity:0;transform:translateY(8px);transition:opacity .3s ease,transform .35s ease}.portfolio-card:hover img,.portfolio-card:focus-visible img{filter:grayscale(0%);transform:scale(1.025)}.portfolio-card:hover .thumb::after,.portfolio-card:focus-visible .thumb::after{background:rgba(0,0,0,.12)}.portfolio-card:hover .work-hover-hint,.portfolio-card:focus-visible .work-hover-hint{opacity:1;transform:translateY(0)}.portfolio-card .card-info{padding:18px 16px 21px;background:#e5e2dc}.portfolio-card h4{margin:0 0 5px;font:700 16px/1.25 Manrope;letter-spacing:-.02em}.portfolio-card p{margin:0;color:#777;font-size:12px;line-height:1.4}.portfolio-card:focus-visible{outline:3px solid #5d8b25;outline-offset:4px}.load-more{display:block;margin:36px auto 0;border:1px solid var(--ink);background:transparent;border-radius:999px;padding:12px 18px;cursor:pointer}.load-more:hover{background:var(--ink);color:#fff}
.capabilities{background:#111;color:#fff}.capabilities .section-note{color:#aaa}.capability-list{border-top:1px solid rgba(255,255,255,.18)}.capability-list article{display:grid;grid-template-columns:90px 1fr 30px;gap:20px;padding:28px 0;border-bottom:1px solid rgba(255,255,255,.18);align-items:start}.capability-list article>span{font-size:11px;opacity:.45}.capability-list h3{font:600 clamp(24px,3vw,42px) Manrope;margin:0 0 6px;letter-spacing:-.04em}.capability-list p{color:#9d9d9d;margin:0;max-width:650px}.capability-list b{font-size:22px;font-weight:400;color:var(--accent)}
.approach{background:#dedbd3}.approach-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:100px}.approach h2,.about h2,.contact h2{font:700 clamp(45px,6vw,82px)/.98 Manrope;letter-spacing:-.065em;margin:0}.approach h2 em{font-style:normal;color:#68704a}.steps{border-top:1px solid var(--line)}.steps>div{display:grid;grid-template-columns:55px 180px 1fr;gap:20px;padding:23px 0;border-bottom:1px solid var(--line)}.steps span{font-size:11px;opacity:.5}.steps h3{margin:0;font:700 17px Manrope}.steps p{margin:0;color:#686868}
.about{background:#fff}.about-grid{display:grid;grid-template-columns:.72fr 1fr;gap:100px;align-items:center}.about-photo{aspect-ratio:1/1;overflow:hidden;background:#ddd}.about-photo img{width:100%;height:100%;object-fit:cover}.about-copy .lead{font-size:22px;line-height:1.4;color:#333;max-width:720px;margin:36px 0 20px}.about-copy>p:not(.eyebrow){max-width:700px;color:#686868}.about-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.about-meta span{border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.contact{background:var(--accent)}.contact-inner .eyebrow{opacity:.65}.contact h2{color:#111}.contact-row{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-top:70px;border-top:1px solid rgba(17,17,17,.25);padding-top:25px}.contact-email{font:600 clamp(22px,3vw,38px) Manrope;letter-spacing:-.04em}.contact-links{display:flex;gap:22px}.contact-links a{font-weight:600;border-bottom:1px solid #111}
.footer{background:#111;color:#fff;padding:24px 0;font-size:12px}.footer .wrap{display:flex;justify-content:space-between}.floating-top{position:fixed;right:28px;bottom:28px;width:64px;height:64px;border:1px solid rgba(17,17,17,.12);border-radius:50%;background:#fff;color:#111;display:grid;place-items:center;font-size:28px;line-height:1;cursor:pointer;z-index:45;box-shadow:0 8px 30px rgba(0,0,0,.12);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .25s ease,visibility .25s ease,transform .25s ease}.floating-top.visible{opacity:1;visibility:visible;transform:none}.floating-top:hover{transform:translateY(-2px);box-shadow:0 12px 34px rgba(0,0,0,.16)}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.95);z-index:100;display:none;align-items:center;justify-content:center;padding:50px}.lightbox.active{display:flex}.lightbox figure{margin:0;max-width:min(82vw,1000px);max-height:88vh;text-align:center}.lightbox img{max-width:100%;max-height:80vh;width:auto;height:auto;margin:auto}.lightbox figcaption{color:#fff;margin-top:12px;font-size:13px}.lightbox button{position:absolute;background:none;border:0;color:#fff;cursor:pointer}.lightbox-close{top:24px;right:30px;font-size:40px}.lightbox-prev,.lightbox-next{top:50%;transform:translateY(-50%);font-size:32px;padding:20px}.lightbox-prev{left:18px}.lightbox-next{right:18px}
.reveal{animation:up .9s cubic-bezier(.2,.7,.2,1) both}.hero-bottom.reveal{animation-delay:.12s}@keyframes up{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}@keyframes cardIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:1000px){.wrap{width:min(calc(100% - 40px),var(--max))}.desktop-nav{gap:20px;margin-right:20px}.portfolio-grid{grid-template-columns:repeat(3,1fr)}.statement-grid,.approach-grid,.about-grid{grid-template-columns:1fr;gap:45px}.about-photo{max-width:560px}.hero-bottom{align-items:flex-start;gap:35px;flex-direction:column}.section-pad{padding:95px 0}}
@media(max-width:720px){.wrap{width:min(calc(100% - 28px),var(--max))}.nav-wrap{height:68px}.desktop-nav,.nav-cta{display:none}.menu-btn{display:flex;flex-direction:column;gap:6px;border:0;background:none;color:#fff;padding:8px}.menu-btn span{width:24px;height:1px;background:#fff}.mobile-nav{display:flex;position:absolute;left:0;right:0;top:68px;background:#111;flex-direction:column;padding:12px 20px 25px;transform:translateY(-140%);transition:.3s}.mobile-nav.open{transform:none}.mobile-nav a{padding:15px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:18px}.hero{min-height:88vh}.hero-inner{padding-top:120px;padding-bottom:45px}.hero-title{font-size:clamp(48px,15vw,86px)}.hero-bottom>p{font-size:16px}.hero-actions{flex-wrap:wrap}.hero-orbit{width:110vw;height:110vw;right:-55%;top:8%}.statement-grid{gap:10px}.statement h2{font-size:38px}.section-head,.all-work-head{display:block}.section-note{margin-top:18px}.case-study-link{grid-template-columns:minmax(0,1fr);gap:28px;padding:28px 24px;width:100%;box-sizing:border-box}.case-study-content{min-width:0}.case-study-cta{width:100%;min-width:0;box-sizing:border-box;padding:19px 22px;font-size:16px;justify-content:center}.more-work-actions{display:block}.more-work-actions .section-note{margin:18px 0}.view-all-work{margin-top:8px}.filters{justify-content:flex-start;margin-top:24px}.portfolio-grid{grid-template-columns:1fr 1fr;gap:12px}.portfolio-card .card-info{padding:14px 12px 17px}.portfolio-card h4{font-size:14px}.portfolio-card p{font-size:11px}.portfolio-card .work-hover{padding:12px}.portfolio-card .work-hover-hint{font-size:8px;padding:7px 10px}.all-work-head{margin-top:80px}.capability-list article{grid-template-columns:40px 1fr 20px;gap:12px}.capability-list p{font-size:14px}.steps>div{grid-template-columns:35px 1fr;gap:8px}.steps p{grid-column:2}.contact-row{display:block;margin-top:50px}.contact-links{margin-top:30px}.lightbox{padding:25px}.lightbox-prev{left:2px}.lightbox-next{right:2px}.lightbox-close{right:12px}.footer .wrap{display:block}.floating-top{width:56px;height:56px;right:16px;bottom:16px;font-size:24px}}
@media(max-width:460px){.portfolio-grid{grid-template-columns:1fr}.featured-card,.featured-card.large{min-height:400px}.button{font-size:13px}.section-pad{padding:75px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.portfolio-card{animation:none}.featured-card img,.portfolio-card img,.portfolio-card .work-hover-hint,.portfolio-card .thumb::after{transition:none}}

/* Case study */
.case-page{background:#f4f2ed}.case-hero{padding:180px 0 105px;background:#111;color:#fff}.case-hero-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:90px;align-items:end}.case-hero h1{font:800 clamp(54px,7.5vw,108px)/.94 Manrope,sans-serif;letter-spacing:-.075em;margin:0;max-width:1000px}.case-hero h1 em{font-style:normal;color:var(--accent)}.case-intro{font-size:19px;line-height:1.5;color:#bdbdbd;max-width:690px;margin:35px 0}.back-link{display:inline-block;color:#fff;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:5px}.case-meta{border-top:1px solid rgba(255,255,255,.2)}.case-meta div{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.2)}.case-meta span{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:10px;color:#888;margin-bottom:7px}.case-meta strong{font:600 15px Manrope;color:#eee}.case-feature{padding:34px 0 0;background:#111}.case-image{margin:0;background:#e6e3dd}.case-image img{width:100%;height:auto}.case-image figcaption{font-size:11px;color:#777;padding:10px 2px 0;text-transform:uppercase;letter-spacing:.08em}.case-image-tall{max-width:1050px;margin:auto}.case-copy{background:#fff}.case-copy-grid{display:grid;grid-template-columns:220px 1fr;gap:50px}.case-copy h2,.case-gallery h2{font:700 clamp(40px,5vw,70px)/1 Manrope;letter-spacing:-.06em;margin:0 0 30px}.case-copy h2 em,.case-gallery h2 em{font-style:normal;color:#777}.case-copy p:not(.eyebrow){max-width:780px;color:#606060;font-size:18px}.case-gallery{background:#dedbd3}.case-gallery-intro{margin-bottom:50px}.case-gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.case-next{background:var(--accent);padding:90px 0}.case-next a{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(17,17,17,.25);padding-top:24px;font:700 clamp(35px,5vw,70px) Manrope;letter-spacing:-.055em}.case-next strong{font-weight:400}
@media(max-width:900px){.case-hero-grid{grid-template-columns:1fr;gap:55px}.case-copy-grid{grid-template-columns:1fr;gap:15px}}
@media(max-width:720px){.case-hero{padding:135px 0 70px}.case-hero h1{font-size:clamp(46px,14vw,80px)}.case-intro{font-size:16px}.case-gallery-grid{grid-template-columns:1fr}.case-feature{padding-top:18px}}

/* Production polish */
:focus-visible{outline:3px solid #5d8b25;outline-offset:4px}.case-page :focus-visible{outline-color:var(--accent)}
.case-study-link:focus-visible,.view-all-work:focus-visible,.filter:focus-visible,.load-more:focus-visible,.floating-top:focus-visible{outline-offset:5px}
.approach h2 em{color:#315b20}
.case-brand-intro{background:#fff}.case-brand-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:80px;align-items:center}.case-brand-grid h2,.case-section-heading h2,.case-ai-copy h2,.case-summary h2{font:700 clamp(42px,5.6vw,78px)/.98 Manrope,sans-serif;letter-spacing:-.065em;margin:0 0 28px}.case-brand-grid h2 em,.case-section-heading h2 em,.case-ai-copy h2 em,.case-summary h2 em{font-style:normal;color:#315b20}.case-brand-grid>div>p:not(.eyebrow),.case-section-heading>p,.case-ai-copy>p:not(.eyebrow),.case-summary p:not(.eyebrow){color:#626262;font-size:18px;max-width:700px}.case-logo-card{margin:0;background:#fff;border:1px solid rgba(17,17,17,.08);border-radius:18px;overflow:hidden;box-shadow:0 20px 60px rgba(17,17,17,.07)}.case-logo-card img{width:100%;height:auto}.case-logo-card figcaption,.case-packaging-visual figcaption,.case-ad-visual figcaption,.case-ai-visual figcaption{padding:12px 16px 15px;color:#707070;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.case-product{background:#f4f2ed}.case-section-heading{max-width:900px;margin-bottom:50px}.case-product-logo{max-width:980px;margin:0 auto}.case-packaging{background:#111;color:#fff}.case-packaging .case-section-heading>p,.case-ad .case-section-heading>p{color:#a8a8a8}.case-packaging .case-section-heading h2 em{color:#9fca54}.split-heading{display:grid;grid-template-columns:1.1fr .7fr;gap:70px;align-items:end;max-width:none}.split-heading>p{margin:0 0 6px}.case-packaging-visual{margin:0 auto;max-width:1100px;background:#f4f4f1;border-radius:18px;padding:35px 35px 0;overflow:hidden}.case-packaging-visual img{width:100%;height:auto;max-height:780px;object-fit:contain}.case-ad{background:#fff}.case-ad-visual{margin:0 auto;max-width:920px;background:#f4f4f1;border-radius:18px;overflow:hidden;box-shadow:0 20px 70px rgba(17,17,17,.08)}.case-ad-visual img{width:100%;height:auto}.case-ai{background:#dedbd3}.case-ai-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:90px;align-items:center}.case-ai-copy{max-width:620px}.case-ai-visual{margin:0;max-width:680px;justify-self:end;background:#111;border-radius:18px;overflow:hidden}.case-ai-visual img{width:100%;height:auto}.case-ai-visual figcaption{color:#aaa}.case-summary{background:#fff}.case-summary-grid{display:grid;grid-template-columns:220px 1fr;gap:50px}.case-summary h2{margin-bottom:25px}.case-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}.case-tags span{border:1px solid var(--line);border-radius:999px;padding:9px 13px;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.case-page .floating-top{z-index:60}
@media(max-width:900px){.case-brand-grid,.case-ai-grid{grid-template-columns:1fr;gap:45px}.split-heading{grid-template-columns:1fr;gap:15px}.case-ai-visual{justify-self:stretch;max-width:720px}.case-summary-grid{grid-template-columns:1fr;gap:15px}}
@media(max-width:720px){.case-brand-grid h2,.case-section-heading h2,.case-ai-copy h2,.case-summary h2{font-size:clamp(40px,12vw,64px)}.case-brand-grid>div>p:not(.eyebrow),.case-section-heading>p,.case-ai-copy>p:not(.eyebrow),.case-summary p:not(.eyebrow){font-size:16px}.case-logo-card{border-radius:12px}.case-packaging-visual{padding:18px 18px 0;border-radius:12px}.case-ad-visual,.case-ai-visual{border-radius:12px}.case-section-heading{margin-bottom:35px}}
