:root{--ink:#171915;--ink-soft:#242720;--bone:#f2eee4;--paper:#faf7ef;--sand:#d9d0bf;--orange:#e95420;--moss:#a8ad78;--line:rgba(23,25,21,.2);--sans:'Manrope',Arial,sans-serif;--serif:'Newsreader',Georgia,serif;--mono:'DM Mono',ui-monospace,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bone);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%}button{color:inherit;font:inherit}.skip-link{position:fixed;left:16px;top:-100px;z-index:100;background:var(--paper);padding:12px 18px;border:1px solid var(--ink)}.skip-link:focus{top:16px}
.site-header{height:84px;padding:0 3.2vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(242,238,228,.18);background:var(--ink);color:var(--bone);position:relative;z-index:30}.brand{display:inline-flex;align-items:center;gap:11px;font-weight:800;letter-spacing:-.045em;font-size:1.05rem}.brand-mark{width:33px;height:33px;padding:6px;fill:var(--ink);background:var(--orange)}.nav-links{display:flex;align-items:center;gap:clamp(20px,3vw,45px);font-size:.76rem;font-weight:600}.nav-links>a:not(.nav-call){color:#c8c7bf;transition:color .2s}.nav-links>a:not(.nav-call):hover{color:#fff}.nav-call{border-bottom:1px solid rgba(242,238,228,.6);padding-bottom:4px}.nav-call span{color:var(--orange);margin-left:7px}.menu-toggle{display:none;border:0;background:transparent;padding:10px}.menu-toggle span{display:block;width:25px;height:1px;margin:6px 0;background:currentColor}
.hero{min-height:calc(100vh - 84px);background:var(--ink);color:var(--bone);padding:4vw 3.2vw 3vw;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr auto;gap:2rem 6vw;overflow:hidden;position:relative}.hero:after{content:'BP';position:absolute;right:-2vw;bottom:-14vw;color:transparent;-webkit-text-stroke:1px rgba(242,238,228,.075);font:800 clamp(16rem,36vw,40rem)/.8 var(--sans);letter-spacing:-.12em;pointer-events:none}.hero-index{grid-column:1/-1;display:flex;justify-content:space-between;gap:30px;color:#81837b;font:.62rem var(--mono);text-transform:uppercase;letter-spacing:.08em}.hero-copy{align-self:center;max-width:1120px;z-index:1}.eyebrow,.section-no{display:block;font:.63rem var(--mono);letter-spacing:.12em;text-transform:uppercase}.eyebrow{color:var(--moss);margin-bottom:28px}.hero h1,.work h2,.approach h2,.proof-story h2,.process h2,.outcome h2,.services h2,.quote h2{margin:0;font-weight:500;letter-spacing:-.065em;line-height:.94}.hero h1{font-size:clamp(3.5rem,7.7vw,8.8rem);max-width:1200px}em{font-family:var(--serif);font-weight:400}.hero-lede{max-width:670px;color:#b7b7af;font-size:clamp(1rem,1.3vw,1.22rem);margin:38px 0 0}.hero-action{align-self:end;z-index:1;display:flex;flex-direction:column;align-items:flex-end;gap:15px}.hero-action>p{margin:0;text-align:right;color:#8d8f86;font-size:.69rem}.round-link{width:158px;height:158px;border-radius:50%;background:var(--orange);display:flex;flex-direction:column;justify-content:space-between;padding:29px;font-size:.79rem;font-weight:700;line-height:1.25;transition:transform .35s cubic-bezier(.2,.8,.2,1),background .2s}.round-link b{align-self:flex-end;font-size:1.3rem}.round-link:hover{transform:rotate(-5deg) scale(1.04);background:#ff6230}.hero-marquee{grid-column:1/-1;display:flex;align-items:center;gap:22px;color:#6d6f68;white-space:nowrap;font:.55rem var(--mono);letter-spacing:.1em;z-index:1}.hero-marquee i{width:4px;height:4px;background:var(--orange);transform:rotate(45deg)}
.work{padding:120px 3.2vw 150px;background:var(--bone)}.work-head{display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;align-items:end;max-width:1500px;margin:0 auto 100px}.section-no{color:#77776f;margin-bottom:22px}.work h2,.approach h2,.proof-story h2,.process h2,.outcome h2,.services h2,.quote h2{font-size:clamp(3rem,6vw,7rem)}.work-head p{margin:0 0 7px;max-width:430px;color:#656860;font-size:.95rem}.project{max-width:1500px;margin:0 auto 150px;display:grid;grid-template-columns:.3fr 1fr;gap:4vw;align-items:end}.project:last-child{margin-bottom:0}.project:nth-child(odd){grid-template-columns:1fr .3fr}.project:nth-child(odd) .project-copy{order:2}.project-copy{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start;padding-bottom:5px}.project-number{font:.64rem var(--mono);color:var(--orange);border:1px solid var(--line);border-radius:50%;width:34px;height:34px;display:grid;place-items:center}.project-copy p{margin:4px 0 28px;text-transform:uppercase;font:.59rem var(--mono);letter-spacing:.08em;color:#6d6e67}.project-copy h3{margin:0 0 20px;font-size:clamp(2rem,3vw,3.8rem);letter-spacing:-.06em;line-height:1;font-weight:600}.project-note{display:block;color:#686a64;font-size:.78rem;max-width:280px}.preview-shell{display:block;min-width:0;background:#e7e3da;box-shadow:0 22px 65px rgba(33,32,27,.15);transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}.preview-shell:hover{transform:translateY(-8px);box-shadow:0 35px 85px rgba(33,32,27,.22)}.preview-top{height:34px;display:flex;align-items:center;padding:0 12px;gap:6px;background:#d6d2c8;color:#74746e}.preview-top i{width:6px;height:6px;border-radius:50%;background:#a3a198}.preview-top b{margin:auto;font:400 .48rem var(--mono)}.preview-viewport{display:block;position:relative;overflow:hidden;aspect-ratio:16/10;background:#ccc}.preview-viewport iframe{position:absolute;left:0;top:0;width:1440px;height:900px;border:0;transform-origin:0 0;transform:scale(calc(min(68.5vw,1125px)/1440));pointer-events:none}.project:nth-child(odd) .preview-viewport iframe{transform:scale(calc(min(68.5vw,1125px)/1440))}.preview-open{height:54px;padding:0 18px;display:flex;justify-content:space-between;align-items:center;font:.64rem var(--mono);text-transform:uppercase;letter-spacing:.07em}.preview-open b{color:var(--orange);font-size:1rem}
.approach{background:var(--orange);color:#171915;padding:125px 6.5vw;display:grid;grid-template-columns:1.2fr .8fr;gap:10vw}.approach .section-no{color:#68200d}.approach-intro{max-width:760px;font-size:clamp(1.05rem,1.4vw,1.3rem);margin:40px 0 0}.approach-detail{align-self:end}.approach blockquote{margin:0 0 55px;font:italic 500 clamp(1.7rem,2.6vw,3rem)/1.1 var(--serif);letter-spacing:-.025em}.direct-note{border-top:1px solid rgba(23,25,21,.35);padding-top:20px;display:flex;justify-content:space-between;gap:20px;font:.61rem var(--mono);text-transform:uppercase}.direct-note a{font-weight:500;border-bottom:1px solid}
.proof-story{padding:130px 3.2vw 90px;background:var(--paper)}.story-copy{max-width:880px;margin:0 auto 80px}.story-copy p{max-width:560px;color:#666861;font-size:1.05rem;margin:32px 0 0}.story-photos{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:1.25fr .9fr .7fr;gap:14px;align-items:end}.story-photos figure{margin:0}.story-photos img{width:100%;height:500px;object-fit:cover;display:block;filter:saturate(.82)}.story-b img{height:410px}.story-c img{height:320px}.story-photos figcaption{display:grid;gap:5px;padding:16px 0;border-bottom:1px solid var(--line)}.story-photos figcaption span{color:#777971;font:.58rem var(--mono);text-transform:uppercase}.story-photos figcaption b{font-size:.82rem}.image-disclaimer{max-width:1500px;margin:16px auto 0;color:#85867f;font-size:.66rem}
.process{padding:140px 6.5vw;background:var(--ink-soft);color:var(--bone)}.process-head{display:grid;grid-template-columns:1.15fr .55fr;gap:9vw;align-items:end}.process-head .section-no{grid-column:1/-1;color:var(--moss)}.process-head p{color:#afb0a9;margin:0 0 8px}.steps{list-style:none;padding:0;margin:100px 0 0;border-top:1px solid #55574f}.steps li{display:grid;grid-template-columns:12% 38% 1fr;gap:2vw;padding:32px 0;border-bottom:1px solid #55574f;align-items:baseline}.steps li>span{color:var(--orange);font:.65rem var(--mono)}.steps h3{margin:0;font-size:clamp(1.4rem,2.2vw,2.4rem);letter-spacing:-.045em}.steps p{margin:0;max-width:450px;color:#aeb0a8}.help-line{display:grid;grid-template-columns:1fr 1.4fr auto;gap:4vw;align-items:center;margin-top:55px;padding:30px;background:var(--moss);color:var(--ink)}.help-line>span{font:500 .63rem var(--mono);text-transform:uppercase}.help-line p{margin:0;font-size:.82rem}.help-line a{font-size:.73rem;font-weight:800;border-bottom:1px solid}
.outcome{padding:125px 6.5vw;display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw;background:var(--sand)}.outcome-label>p{max-width:500px;color:#5c5e58;margin-top:32px}.outcome-list{border-top:1px solid var(--line)}.outcome-list article{display:grid;grid-template-columns:10% 42% 1fr;gap:2vw;padding:29px 0;border-bottom:1px solid var(--line);align-items:baseline}.outcome-list span{font:.62rem var(--mono);color:var(--orange)}.outcome-list h3{margin:0;font-size:1.05rem}.outcome-list p{margin:0;color:#65675f;font-size:.82rem}
.services{padding:135px 6.5vw;background:var(--bone)}.services-head{display:grid;grid-template-columns:1.1fr .55fr;gap:9vw;align-items:end;margin-bottom:95px}.services-head .section-no{grid-column:1/-1}.services-head p{color:#666861;margin:0 0 8px}.service-list{border-top:1px solid var(--line)}.service-list article{display:grid;grid-template-columns:8% 44% 1fr;gap:2vw;align-items:baseline;padding:25px 0;border-bottom:1px solid var(--line);transition:padding .25s,background .25s}.service-list article:hover{padding-left:14px;background:rgba(255,255,255,.3)}.service-list span{color:var(--orange);font:.62rem var(--mono)}.service-list h3{margin:0;font-size:clamp(1rem,1.5vw,1.38rem);letter-spacing:-.025em}.service-list p{margin:0;color:#6b6d65;font-size:.82rem}
.quote{background:var(--ink);color:var(--bone);padding:125px 6.5vw;display:grid;grid-template-columns:1fr .52fr;gap:10vw;align-items:end}.quote .section-no{color:var(--moss)}.quote-copy p{color:#aaaca4;max-width:650px;margin:35px 0 0}.quote-call{min-height:400px;background:var(--orange);color:var(--ink);padding:30px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .3s}.quote-call:hover{transform:rotate(1deg)}.quote-call span{font:.63rem var(--mono);text-transform:uppercase}.quote-call strong{font-size:clamp(4rem,7vw,7.5rem);line-height:.75;letter-spacing:-.08em}.quote-call b{align-self:flex-end;border-bottom:1px solid;font-size:.8rem}
footer{padding:34px 3.2vw;background:#0d0f0c;color:#8e9087;display:flex;align-items:center;gap:30px;font-size:.67rem}.footer-brand{color:var(--bone)}footer p{margin-right:auto}.mobile-call{display:none}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}.reveal.visible{opacity:1;transform:none}
@media(max-width:1100px){.hero{grid-template-columns:1fr}.hero-action{align-items:flex-start;flex-direction:row;align-self:start}.hero-action>p{text-align:left;align-self:center}.round-link{width:130px;height:130px;padding:24px}.project,.project:nth-child(odd){grid-template-columns:1fr}.project:nth-child(odd) .project-copy{order:0}.project-copy{max-width:560px}.preview-viewport iframe,.project:nth-child(odd) .preview-viewport iframe{transform:scale(calc(93.6vw/1440))}.approach,.outcome{grid-template-columns:1fr}.approach-detail{max-width:700px}.story-photos img{height:400px}.story-b img{height:340px}.story-c img{height:280px}}
@media(max-width:760px){body{padding-bottom:58px}.site-header{height:68px;padding:0 5vw}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:68px;left:0;right:0;background:var(--ink);padding:28px 5vw 35px;flex-direction:column;align-items:stretch;border-top:1px solid #3b3d37}.nav-links.open{display:flex}.nav-links a{padding:8px 0}.hero{min-height:calc(100svh - 68px);padding:38px 5vw 26px;grid-template-rows:auto 1fr auto auto}.hero-index span:last-child{display:none}.hero-copy{align-self:center}.hero h1{font-size:clamp(3.25rem,15vw,5.3rem)}.hero h1 br{display:none}.hero-lede{margin-top:26px}.hero-action{align-items:center}.hero-action>p{font-size:.62rem}.hero-marquee{overflow:hidden;gap:12px}.work{padding:85px 5vw 95px}.work-head,.approach,.process-head,.outcome,.services-head,.quote{grid-template-columns:1fr}.work-head{margin-bottom:65px;gap:25px}.work h2,.approach h2,.proof-story h2,.process h2,.outcome h2,.services h2,.quote h2{font-size:clamp(2.9rem,13vw,4.5rem)}.project{margin-bottom:48px;gap:22px}.project-copy{grid-template-columns:auto 1fr}.project-copy h3{font-size:2.2rem}.preview-top{height:28px}.preview-viewport{aspect-ratio:4/3}.preview-viewport iframe,.project:nth-child(odd) .preview-viewport iframe{transform:scale(calc(90vw/1440))}.preview-open{height:48px;font-size:.57rem}.approach,.process,.outcome,.services,.quote{padding:90px 5vw}.approach{gap:65px}.direct-note{flex-direction:column}.proof-story{padding:90px 5vw 70px}.story-copy{margin-bottom:50px}.story-photos{grid-template-columns:1fr 1fr}.story-a{grid-column:1/-1}.story-photos img,.story-b img,.story-c img{height:270px}.process-head{gap:30px}.steps{margin-top:60px}.steps li{grid-template-columns:12% 1fr}.steps li>div{display:grid;gap:8px}.steps p{grid-column:1/-1}.help-line{grid-template-columns:1fr}.outcome{gap:55px}.outcome-list article,.service-list article{grid-template-columns:12% 1fr}.outcome-list p,.service-list p{grid-column:2;margin-top:8px}.services-head{margin-bottom:60px;gap:28px}.service-list article{padding:23px 0}.quote{gap:55px}.quote-call{min-height:330px}footer{flex-direction:column;align-items:flex-start;gap:10px;padding:30px 5vw}footer p{margin:10px 0}.mobile-call{position:fixed;left:0;right:0;bottom:0;z-index:50;height:58px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:var(--orange);color:var(--ink);font-size:.76rem;font-weight:800}}
@media(max-width:480px){.hero-action>p{display:none}.round-link{width:116px;height:116px;padding:21px;font-size:.7rem}.story-photos{grid-template-columns:1fr}.story-a{grid-column:auto}.story-photos img,.story-b img,.story-c img{height:290px}.quote-call strong{font-size:5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
.preview-viewport iframe,.project:nth-child(odd) .preview-viewport iframe{width:160%;height:160%;transform:scale(.625)}
@media(max-width:760px){.preview-viewport iframe,.project:nth-child(odd) .preview-viewport iframe{width:220%;height:220%;transform:scale(.455)}}
