:root{--ivory: #faf9f6;--ink: #242421;--text: #55554f;--muted: #6b6b64;--line: #dedbd5;--field-line: #8a877f;--focus: #766747;--serif: Marcellus, Georgia, serif;--sans: "DM Sans", Arial, sans-serif;--gutter: 6%;--header-height: 106px;font-family:var(--sans);color:var(--ink);background:var(--ivory);font-synthesis:none;-webkit-text-size-adjust:100%}*,*:before,*:after{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer}img{display:block;max-width:100%;height:auto}:focus-visible{outline:2px solid var(--focus);outline-offset:5px}[tabindex="-1"]:focus{outline:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;text-wrap:balance}h1{font-size:clamp(2.5rem,5.1vw,4.5rem);line-height:1.08;margin-bottom:32px}h2{font-size:clamp(2rem,3.8vw,3.375rem);line-height:1.14;margin-bottom:30px}h3{font-size:1.5rem;line-height:1.23;margin-bottom:13px}p{font-size:1rem;line-height:1.75;color:var(--text);text-wrap:pretty}.eyebrow{font-family:var(--sans);font-size:.6875rem;letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:var(--muted);line-height:1.7;margin:0 0 24px}.lead{max-width:480px;font-size:1.0625rem}.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}.skip-link{position:fixed;top:-100px;left:20px;padding:15px;background:#fff;z-index:30;font-size:.875rem}.skip-link:focus{top:10px}@media(max-width:600px){:root{--gutter: 7%;--header-height: 85px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.section,.page{max-width:1320px;padding:110px var(--gutter);margin:auto}.section{border-top:1px solid var(--line)}.page{min-height:75vh;padding-top:85px}.page-heading{margin-bottom:85px}.page-heading .lead{margin-bottom:0}.two-col{display:grid;grid-template-columns:1.1fr 1fr;column-gap:12%;row-gap:35px;align-items:center}.body-copy{max-width:460px}.body-copy p+p{margin-top:20px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px;gap:30px}.section-heading h2{margin-bottom:0}@media(max-width:900px){.section,.page{padding:75px var(--gutter)}.two-col{column-gap:7%}}@media(max-width:600px){.section,.page{padding:64px var(--gutter)}.page-heading{margin-bottom:45px}.two-col{grid-template-columns:1fr}.section-heading{align-items:start;flex-direction:column;gap:5px;margin-bottom:32px}.section-heading .arrow-link{padding-top:0}}.header{height:var(--header-height);display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;position:relative;z-index:10;background:var(--ivory)}.brand{display:flex;gap:10px;align-items:center}.brand-bee{height:38px;width:auto}.brand-word{height:23px;width:auto}.header nav{display:flex;gap:32px}.header nav a{font-size:.8125rem;position:relative;padding:10px 0}.header nav a:after{content:"";position:absolute;bottom:3px;left:0;width:0;height:1px;background:currentColor;transition:width .25s ease}.header nav a:hover:after,.header nav a[aria-current]:after{width:100%}.menu-toggle{display:none}.footer{border-top:1px solid var(--line);padding:40px 5.5%;display:flex;justify-content:space-between;align-items:center;gap:25px}.footer p,.footer a{font-size:.8125rem;margin:0}.footer .footer-name{font-family:var(--serif);font-size:1.6875rem;letter-spacing:-.05em}.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.footer-links a{padding:4px 0}.footer small{font-size:.6875rem;color:var(--muted);margin-top:6px}.arrow-link{display:inline-flex;gap:24px;align-items:center;font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500;padding:16px 0}.arrow-link>span[aria-hidden]{font-size:1.125rem;line-height:1;transition:transform .25s ease}.arrow-link:hover>span[aria-hidden],a:hover>.arrow-link>span[aria-hidden]{transform:translate(5px)}.arrow-link:empty,.arrow-link>span:empty{display:none}.button{background:var(--ink);color:#fff;border:1px solid var(--ink);padding:16px 22px;font-size:.8125rem;display:flex;align-items:center;gap:45px;transition:background .2s ease}.button:hover{background:#49483f}.button:disabled{opacity:.6;cursor:default}.picture{width:100%;height:100%;object-fit:cover;background:#efede8}.image-note{font-size:.75rem;color:var(--muted);margin:22px 0 0}.solutions-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:24px}.solution-card{display:block}.solution-card .picture{aspect-ratio:4 / 5;max-height:240px;transition:opacity .25s ease}.solution-card:hover .picture{opacity:.85}.solution-card h3{font-size:1.3125rem;letter-spacing:-.025em;margin-bottom:16px}.solution-number{display:block;font-size:.6875rem;color:var(--muted);margin:19px 0 10px}.solution-arrow{display:inline-block;transition:transform .25s ease}.solution-card:hover .solution-arrow{transform:translate(5px)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.project-card{display:block}.project-card>.picture{aspect-ratio:6 / 5;height:auto;transition:opacity .25s ease}.project-card:hover>.picture{opacity:.85}.project-card .eyebrow{margin:25px 0 12px}.project-card h3{max-width:300px}.project-card p:not(.eyebrow){font-size:.9375rem;line-height:1.7;max-width:330px;margin-bottom:7px}.contact-form{margin-top:35px}.contact-form label{display:block;font-size:.8125rem;margin-bottom:18px}.contact-form label span{color:var(--muted)}.contact-form input,.contact-form textarea{display:block;background:transparent;border:1px solid var(--field-line);border-radius:0;width:100%;padding:12px;margin-top:8px;color:inherit;font-size:1rem}.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline-offset:2px}.contact-form textarea{resize:vertical;min-height:120px;line-height:1.6}.contact-form textarea[readonly]{margin-top:12px;font-size:.875rem}.form-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-note,.form-status{font-size:.8125rem;line-height:1.6;margin:15px 0 0}.form-status:empty{display:none}.form-status--success,.form-status--error,.form-status--info{color:var(--ink);border-left:2px solid var(--ink);padding-left:12px}.form-status--error{border-left-color:#9a3324;color:#7c2a1e}@media(max-width:900px){.solutions-grid{grid-template-columns:repeat(3,1fr);gap:30px 20px}.project-grid{gap:20px}}@media(max-width:600px){.header{padding:0 var(--gutter)}.brand-bee{height:34px}.brand-word{height:20px}.menu-toggle{display:flex;gap:14px;background:none;border:0;color:inherit;padding:14px 0 14px 14px;font-size:.875rem}.header nav{display:none;position:absolute;top:calc(var(--header-height) - 5px);left:0;right:0;background:var(--ivory);padding:20px var(--gutter) 30px;border-bottom:1px solid var(--line)}.header nav.open{display:flex;flex-direction:column;gap:6px}.header nav a{font-size:1.125rem;align-self:start;padding:10px 0}.footer{padding:35px var(--gutter);flex-wrap:wrap;align-items:start}.footer-links{width:100%}.solutions-grid{grid-template-columns:repeat(2,1fr)}.solution-card .picture{max-height:none}.project-grid{grid-template-columns:1fr;gap:45px}.project-card p:not(.eyebrow),.project-card h3{max-width:none}}.hero{height:calc(100svh - var(--header-height));min-height:610px;position:relative;display:flex;justify-content:center;align-items:center;text-align:center;overflow:hidden}.hero-brand{transform:translateY(-25px);width:100%}.bee-glide{width:126px;margin:0 auto 34px}.bee-arc{position:relative}.hero-bee{width:100%}.hero-word{width:260px;margin:0 auto 40px}.hero-word img{width:100%}.tagline{font-family:var(--serif);font-size:1rem;letter-spacing:.14em;margin:0 25px 26px;color:var(--ink)}.hero-rule{display:block;width:28px;height:1px;background:#4e4e48;margin:0 auto 26px}.hero-location{margin:0 20px}.scroll-cue{position:absolute;bottom:28px;padding:6px 12px;font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase}.scroll-cue span{display:block;font-size:1.0625rem;margin-top:6px}.hero--animate .bee-glide{animation:bee-glide 2.6s cubic-bezier(.4,.3,.35,1) both;will-change:transform}.hero--animate .bee-arc{animation:bee-arc 2.6s both;will-change:transform}@keyframes bee-glide{0%{transform:translate(calc(-50vw - 100%))}to{transform:translate(0)}}@keyframes bee-arc{0%{transform:translateY(15vh) rotate(-12deg);animation-timing-function:cubic-bezier(.35,0,.45,1)}44%{transform:translateY(-32px) rotate(4deg);animation-timing-function:cubic-bezier(.45,0,.3,1)}to{transform:translateY(0) rotate(0)}}.hero--animate .hero-word,.hero--animate .tagline,.hero--animate .hero-rule,.hero--animate .hero-location,.hero--animate .scroll-cue{animation:hero-reveal 1s cubic-bezier(.2,.6,.2,1) both}.hero--animate .hero-word{animation-delay:2.3s}.hero--animate .tagline{animation-delay:2.8s}.hero--animate .hero-rule{animation-delay:3.1s}.hero--animate .hero-location{animation-delay:3.3s}.hero--animate .scroll-cue{animation-name:hero-fade;animation-delay:3.8s}@keyframes hero-reveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-fade{0%{opacity:0}to{opacity:1}}.hero-bee--normal{position:absolute;inset:0;height:100%;object-fit:contain;opacity:0}.hero--animate .bee-arc--two-poses .hero-bee--normal{animation:hero-fade .5s 2.5s ease reverse both}.hero--animate .bee-arc--two-poses .hero-bee--flex{animation:hero-fade .5s 2.5s ease both}@media(min-width:1600px){.bee-glide{width:145px}.hero-word{width:290px}}@media(max-width:600px){.hero{min-height:540px}.hero-brand{transform:translateY(-20px)}.bee-glide{width:105px;margin-bottom:28px}.hero-word{width:218px;margin-bottom:32px}.tagline{font-size:.875rem;letter-spacing:.09em;max-width:290px;margin-left:auto;margin-right:auto}.hero-location{font-size:.625rem;letter-spacing:.18em}.scroll-cue{bottom:20px}}@media(max-height:620px){.scroll-cue{display:none}}.about-preview{column-gap:18%}.about-preview>.picture{aspect-ratio:5 / 7;height:auto;max-width:340px;margin-left:auto}.closing{text-align:center;padding-top:120px;padding-bottom:120px}.closing h2{font-size:clamp(2.5rem,5vw,4.375rem)}.service-row{display:grid;grid-template-columns:35px 180px 1fr;gap:50px;padding:55px 0;border-top:1px solid var(--line);scroll-margin-top:20px;align-items:start}.service-row>.eyebrow{margin:8px 0 0}.service-row .picture{aspect-ratio:4 / 5;height:auto}.service-row h2{font-size:2.1875rem;margin-bottom:20px}.service-row p{max-width:570px}.service-row .service-scope{font-size:.875rem;color:var(--muted)}.all-projects{grid-template-columns:repeat(2,1fr);gap:70px 65px}.all-projects .project-card>.picture{aspect-ratio:4 / 3}.all-projects .project-card:nth-child(2n){padding-top:95px}.case-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:45px}.case-nav .eyebrow{margin:0}.case-nav .arrow-link{gap:12px}.case-intro{column-gap:9%}.case-intro:not(.two-col){max-width:700px}.case-intro .picture{aspect-ratio:6 / 7;height:auto;max-height:560px}.case-intro h1{font-size:clamp(2.375rem,4.5vw,3.875rem)}.case-study dl{border-top:1px solid var(--line);margin:30px 0 0;padding-top:20px}.case-study dl:empty{display:none}.case-study dl>div{display:grid;grid-template-columns:100px 1fr;font-size:.875rem;line-height:1.8;margin:10px 0}.case-study dd{margin:0;color:var(--muted)}.case-body{max-width:700px;margin:90px auto}.case-body:empty{display:none}.case-body section{padding:32px 0;border-bottom:1px solid var(--line)}.case-body section>:last-child{margin-bottom:0}.case-body .eyebrow{margin-bottom:18px}.case-statement{font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.3;letter-spacing:-.02em;color:var(--ink)}.case-body ul{list-style:none;padding:0;margin:0;color:var(--text);line-height:1.6}.case-body li{padding:6px 0 6px 22px;position:relative}.case-body li:before{content:"";position:absolute;left:0;top:1.1em;width:10px;height:1px;background:var(--muted)}.testimonial{margin:0;padding:40px 0;border-bottom:1px solid var(--line)}.testimonial blockquote{margin:0 0 16px;font-family:var(--serif);font-size:1.5rem;line-height:1.4}.testimonial figcaption{font-size:.875rem;color:var(--muted)}.case-pager{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding-top:30px}.case-pager a{font-family:var(--serif);font-size:1.25rem;line-height:1.3;max-width:45%}.case-pager a:last-child{text-align:right}.case-pager .eyebrow{display:block;margin-bottom:8px}.about-page{align-items:start;column-gap:15%;margin-bottom:120px}.about-page>.picture{aspect-ratio:5 / 7;height:auto}.about-page .body-copy{margin-bottom:16px}.approach-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin:60px 0 0;padding:0;list-style:none}.approach-grid>li{border-top:1px solid var(--line);padding-top:24px}.approach-grid p{font-size:.9375rem}.contact-page{align-items:start;column-gap:16%}.contact-page>.picture{aspect-ratio:1 / 2;height:auto;max-height:700px}.contact-page h1{font-size:clamp(2.5rem,4.2vw,3.75rem)}.contact-details{margin-top:35px;font-size:.875rem;display:flex;flex-wrap:wrap;gap:20px}.contact-details p{font-size:.875rem;margin:0}.not-found{min-height:60vh}@media(min-width:601px){.about-preview{grid-template-columns:1fr .8fr}.contact-page{grid-template-columns:1.1fr .8fr}}@media(min-width:601px)and (max-width:900px){.contact-page{grid-template-columns:1.1fr .7fr}}@media(max-width:900px){.service-row{grid-template-columns:25px 140px 1fr;gap:25px}.contact-page{column-gap:7%}.approach-grid{grid-template-columns:repeat(2,1fr)}.all-projects{gap:55px 30px}.all-projects .project-card:nth-child(2n){padding-top:60px}}@media(max-width:600px){.about-preview>.picture{width:75%;max-width:none}.closing{padding-top:85px;padding-bottom:85px}.service-row{grid-template-columns:30px 1fr;gap:18px;padding:35px 0}.service-row>.picture{width:145px}.service-row>div{grid-column:2}.service-row h2{font-size:1.8125rem}.all-projects{grid-template-columns:1fr;gap:45px}.all-projects .project-card:nth-child(2n){padding-top:0}.case-intro .picture{max-height:380px}.case-body{margin:45px auto}.case-pager a{font-size:1.0625rem}.about-page{margin-bottom:75px}.about-page>.picture{width:80%;margin-left:auto}.approach-grid{gap:22px}.contact-page>.picture{display:none}}
