@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Unbounded:wght@400;500;600;700&display=swap');

:root{--bg:#fff;--ink:#11120f;--green:#1d7247;--green-dark:#115f38;--red:#c42418;--accent:var(--green);--accent-ink:var(--green);--muted:#62655f;--line:rgba(17,18,15,.2);--pad:max(20px,4vw);--display:'Unbounded',sans-serif;--body:'Manrope',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:hidden}body.case-page{--bg:#fff}a{color:inherit}img{display:block;max-width:100%}button{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:3px solid var(--red);outline-offset:4px}.skip{position:fixed;left:20px;top:-80px;z-index:100;padding:12px 18px;background:#fff;color:#111}.skip:focus{top:20px}.progress{position:fixed;left:0;top:0;z-index:100;width:0;height:3px;background:var(--red)}
.shell{width:min(1500px,100%);margin:auto}.header{position:relative;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:18px var(--pad);border-bottom:1px solid var(--line)}.logo{display:flex;align-items:center;gap:13px;text-decoration:none;font:600 13px/1 var(--display);letter-spacing:.08em}.logo img{width:43px;height:43px}.menu{display:flex;align-items:center;gap:26px}.menu a{text-decoration:none;font-size:13px;font-weight:700}.menu .pill,.pill{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 19px;border:1px solid currentColor;border-radius:100px;text-decoration:none;font-weight:700;transition:.25s}.pill:hover{background:var(--ink);color:#fff;transform:translateY(-2px)}
.hero{position:relative;min-height:calc(100svh - 80px);display:grid;align-content:space-between;padding:clamp(55px,8vw,120px) var(--pad) 36px;overflow:hidden}.kicker{display:flex;align-items:center;gap:12px;margin:0 0 22px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.kicker:before{content:'';width:34px;height:2px;background:currentColor}.hero h1{position:relative;z-index:2;max-width:1280px;margin:0;font:600 clamp(50px,7.2vw,126px)/.92 var(--display);letter-spacing:-.045em}.hero-line{display:block;white-space:nowrap}.hero h1 .outline{color:transparent;-webkit-text-stroke:2px var(--ink);margin-left:.09em}.hero h1 .acid{color:var(--accent-ink);margin-left:.09em}.hero-bottom{position:relative;z-index:2;display:grid;grid-template-columns:1fr minmax(280px,470px);gap:40px;align-items:end;margin-top:60px}.hero-copy{margin:0;font-size:clamp(18px,2.3vw,29px);line-height:1.35}.hero-orbit{position:absolute;right:-4vw;top:6vw;width:clamp(240px,35vw,560px);aspect-ratio:1;border:1px solid var(--line);border-radius:50%;opacity:.72;pointer-events:none;will-change:transform}.hero-orbit:before,.hero-orbit:after{content:'';position:absolute;border-radius:50%}.hero-orbit:before{inset:15%;border:1px dashed var(--line)}.hero-orbit:after{width:20%;aspect-ratio:1;left:10%;top:12%;background:var(--red);box-shadow:0 0 80px rgba(196,36,24,.32)}.orbit-label{position:absolute;right:5%;bottom:20%;font:500 11px/1 var(--display);letter-spacing:.15em;transform:rotate(90deg)}
.marquee{overflow:hidden;border-block:1px solid var(--red);background:var(--red);color:#fff}.marquee-track{display:flex;width:max-content;animation:marquee 28s linear infinite}.marquee span{padding:16px 24px;font:600 12px/1 var(--display);letter-spacing:.08em;white-space:nowrap}.marquee span:after{content:'✳';margin-left:48px}@keyframes marquee{to{transform:translateX(-50%)}}
.intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;padding:clamp(90px,13vw,190px) var(--pad)}.intro h2{margin:0;font:500 clamp(42px,6.5vw,98px)/.98 var(--display);letter-spacing:-.06em}.intro-copy{max-width:660px;margin-left:auto}.intro-copy p{margin:0 0 28px;font-size:clamp(18px,2.1vw,28px);line-height:1.5}.micro{font-size:11px!important;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.work{border-top:1px solid var(--line)}.work-head{display:flex;align-items:end;justify-content:space-between;gap:30px;padding:72px var(--pad) 36px}.work-head h2{margin:0;font:500 clamp(48px,8vw,120px)/.9 var(--display);letter-spacing:-.07em}.work-count{font:500 12px/1 var(--display)}
.project{--tone:#fff;--project-ink:var(--ink);position:relative;display:grid;grid-template-columns:minmax(250px,.65fr) 1.35fr;min-height:720px;overflow:hidden;border-top:1px solid currentColor;background:var(--tone);color:var(--project-ink);text-decoration:none}.project-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(30px,4vw,62px)}.project-index{font:500 12px/1 var(--display);letter-spacing:.1em}.project h3{margin:40px 0 22px;font:600 clamp(44px,6.2vw,98px)/.92 var(--display);letter-spacing:-.065em;overflow-wrap:anywhere}.project-type{max-width:400px;margin:0;font-size:16px;line-height:1.5}.project-link{display:flex;align-items:center;gap:16px;margin-top:42px;font-weight:700}.project-link i{display:grid;place-items:center;width:48px;height:48px;border:1px solid currentColor;border-radius:50%;font-style:normal;transition:.3s}.project:hover .project-link i{transform:rotate(45deg);background:var(--project-ink);color:var(--tone)}.project-visual{position:relative;min-height:520px;margin:26px 26px 26px 0;overflow:hidden;border-radius:2px;background:#111}.project-visual img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .8s}.project:hover .project-visual img{transform:scale(1.045)}.project-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent 45%,rgba(255,255,255,.22) 50%,transparent 55%);transform:translateX(-130%);transition:transform 1s}.project:hover .project-visual:after{transform:translateX(130%)}.project-cream{--tone:#fff;--project-ink:var(--red)}.project-petro{--tone:var(--red);--project-ink:#fff}.project-aqua{--tone:#fff;--project-ink:var(--green)}.project-adda{--tone:var(--green);--project-ink:#fff}.project-adda .project-visual img{object-position:center 55%}
.capabilities{padding:clamp(90px,13vw,180px) var(--pad);background:var(--green-dark);color:#fff}.capabilities h2{max-width:1100px;margin:0 0 70px;font:500 clamp(44px,7vw,106px)/.95 var(--display);letter-spacing:-.06em}.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.24);border:1px solid rgba(255,255,255,.24)}.cap{min-height:210px;padding:28px;background:var(--green-dark)}.cap b{font:500 11px/1 var(--display);color:#fff}.cap h3{margin:58px 0 12px;font:500 21px/1.1 var(--display)}.cap p{margin:0;color:rgba(255,255,255,.7);line-height:1.55}
.contact{position:relative;overflow:hidden;padding:clamp(100px,15vw,220px) var(--pad);background:var(--red);color:#fff}.contact h2{position:relative;z-index:2;max-width:1250px;margin:0;font:600 clamp(54px,9vw,140px)/.9 var(--display);letter-spacing:-.075em}.contact-row{position:relative;z-index:2;display:flex;align-items:end;justify-content:space-between;gap:30px;margin-top:70px}.contact-row p{max-width:530px;margin:0;font-size:20px;line-height:1.5}.contact .pill{min-height:62px;padding:0 28px;font-size:16px}.contact .pill:hover{background:#fff;color:var(--red)}.contact-asterisk{position:absolute;right:-3vw;bottom:-16vw;font:400 52vw/1 var(--display);color:rgba(255,255,255,.1);pointer-events:none}.footer{display:flex;justify-content:space-between;gap:30px;padding:28px var(--pad);font-size:12px;background:var(--green-dark);color:#fff}
.reveal{opacity:0;transform:translateY(35px);transition:opacity .8s,transform .8s}.reveal.is-visible{opacity:1;transform:none}

/* case pages */
.case-hero{--case:var(--green);--case-ink:#fff;--case-line:rgba(255,255,255,.45);position:relative;min-height:82svh;display:grid;align-content:space-between;padding:clamp(60px,8vw,120px) var(--pad) 34px;background:var(--case);color:var(--case-ink);overflow:hidden}.case-hero .back{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;font-size:13px}.case-hero h1{position:relative;z-index:2;max-width:1400px;margin:60px 0 0;font:600 clamp(56px,11vw,175px)/.84 var(--display);letter-spacing:-.085em;overflow-wrap:anywhere}.case-meta{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid var(--case-line);padding-top:22px}.case-meta span{display:block;margin-bottom:7px;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.case-meta b{font-size:15px}.case-num{position:absolute;right:-.02em;top:-.1em;font:500 30vw/1 var(--display);color:rgba(255,255,255,.16)}.case-lead{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:clamp(90px,13vw,180px) var(--pad)}.case-lead h2,.case-section h2{margin:0;font:500 clamp(38px,5.5vw,78px)/1 var(--display);letter-spacing:-.055em}.case-lead p{max-width:650px;margin:0;font-size:clamp(20px,2.3vw,31px);line-height:1.48}.case-shot{padding:0 var(--pad)}.case-shot-frame{position:relative;min-height:50vw;max-height:900px;overflow:hidden;background:#ddd}.case-shot img{width:100%;height:100%;min-height:50vw;object-fit:cover}.case-shot-frame.contain img{object-fit:contain}.case-shot-note{display:flex;justify-content:space-between;gap:20px;padding:14px 0;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.case-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding:clamp(90px,12vw,170px) var(--pad)}.case-list{display:grid;gap:0}.case-list article{display:grid;grid-template-columns:60px 1fr;gap:20px;padding:26px 0;border-top:1px solid var(--line)}.case-list b{font:500 11px/1 var(--display);color:var(--red)}.case-list h3{margin:0 0 9px;font:500 22px/1.15 var(--display)}.case-list p{margin:0;color:var(--muted);line-height:1.55}.case-result{padding:clamp(80px,10vw,140px) var(--pad);background:var(--green-dark);color:#fff}.case-result q{display:block;max-width:1200px;font:500 clamp(38px,6vw,88px)/1.04 var(--display);letter-spacing:-.055em}.case-result p{max-width:560px;margin:36px 0 0;color:rgba(255,255,255,.7);font-size:18px;line-height:1.55}.next-case{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:60px var(--pad);background:var(--red);color:#fff;text-decoration:none}.next-case span{font-size:11px;text-transform:uppercase;letter-spacing:.12em}.next-case b{font:500 clamp(28px,5vw,70px)/1 var(--display)}

@media(max-width:900px){.hero-bottom,.intro,.case-lead,.case-section{grid-template-columns:1fr}.hero-orbit{opacity:.55}.project{grid-template-columns:1fr;min-height:auto}.project-copy{min-height:390px}.project-visual{margin:0 20px 20px;min-height:68vw}.cap-grid{grid-template-columns:1fr 1fr}.case-meta{grid-template-columns:1fr}.case-shot-frame,.case-shot img{min-height:70vw}.case-section{gap:45px}}
@media(max-width:620px){:root{--pad:18px}.header{padding-block:13px}.menu a:not(.pill){display:none}.menu .pill{min-height:44px;padding:0 14px}.hero{min-height:820px;padding-top:70px}.hero h1{font-size:clamp(46px,13.8vw,70px);letter-spacing:-.045em}.hero-line{white-space:normal}.hero-line:first-child .outline,.hero-line:nth-child(2) .acid{display:block;margin-left:0}.hero-bottom{margin-top:210px}.hero-orbit{top:300px;right:-70px;width:330px}.intro{padding-block:90px}.project-copy{min-height:360px}.project h3{font-size:clamp(39px,12vw,62px)}.project-visual{min-height:110vw}.cap-grid{grid-template-columns:1fr}.contact-row,.footer,.next-case{align-items:flex-start;flex-direction:column}.case-hero{min-height:720px}.case-hero h1{font-size:clamp(48px,15vw,80px)}.case-meta{margin-top:80px}.case-lead,.case-section{padding-block:80px}.case-shot-frame,.case-shot img{min-height:105vw}.case-list article{grid-template-columns:42px 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee-track{animation:none}.reveal{opacity:1;transform:none;transition:none}.project-visual img,.project-visual:after,.pill,.project-link i{transition:none}}
