@font-face{font-family:Cormorant;src:url('fonts/cormorant-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Cormorant;src:url('fonts/cormorant-italic.ttf') format('truetype');font-style:italic;font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url('fonts/manrope-regular.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url('fonts/manrope-medium.ttf') format('truetype');font-weight:500;font-display:swap}
:root{--paper:#f7f7f2;--ink:#283f32;--muted:#697367;--line:#d9ded1;--forest:#304a3c;--sage:#e9edde;--lime:#d2dbad;--serif:Cormorant,Georgia,'Times New Roman',serif;--sans:Manrope,Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #818f45;outline-offset:6px}img{display:block;max-width:100%;object-fit:cover}p,h1,h2,h3,figure{margin:0}h1,h2,h3{font-weight:400}h2{font:400 clamp(2.5rem,4.1vw,4rem)/1.15 var(--serif);letter-spacing:-.045em;white-space:pre-line}.wrap{width:min(1328px,calc(100% - 112px));margin-inline:auto}.header{height:115px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:18px}.brand-name{font:400 3.6rem/.9 var(--serif);letter-spacing:-.07em}.brand-caption{max-width:116px;border-left:1px solid var(--line);padding-left:18px;font-size:.75rem;line-height:1.45;letter-spacing:.055em}.header nav{display:flex;align-items:center;gap:35px;font-size:.875rem}.header nav a{transition:color .2s}.header nav a:hover{color:#87954b}.header .nav-contact{margin-left:18px;border-bottom:1px solid var(--ink);padding-bottom:7px;display:flex;gap:28px}.nav-contact span{font-size:1.2rem}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1.02fr;gap:35px;min-height:710px;padding-top:15px;padding-bottom:20px}.hero-copy{padding-top:52px;display:flex;align-items:flex-start;flex-direction:column}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.75rem;line-height:1.6;display:flex;gap:16px;align-items:center}.tiny-line{display:inline-block;width:25px;height:1px;background:currentColor;flex-shrink:0}.hero h1{font:400 clamp(3.8rem,5.85vw,5.8rem)/1.025 var(--serif);letter-spacing:-.045em;margin-top:30px;margin-left:-4px}.hero h1 em{font-weight:400;color:#7d8960;letter-spacing:-.055em}.hero-description{max-width:355px;font-size:1rem;line-height:1.8;margin-top:28px;color:var(--muted)}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:46px;min-height:56px;padding:15px 24px;font-size:.875rem;transition:background .2s,transform .2s}.primary{background:var(--forest);color:white;margin-top:30px}.button span{font-size:1.4rem;line-height:1}.button:hover{background:#44634e;transform:translateY(-2px)}.hero-bottom{display:flex;align-items:center;gap:14px;margin-top:auto;padding-top:40px;color:var(--muted);font-size:.75rem;line-height:1.5}.small-circle{width:39px;height:39px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:1rem}.hero-visual{position:relative;min-width:0;min-height:690px;border-radius:170px 3px 3px 3px;overflow:hidden;background:#d4decb}.hero-visual>img{width:100%;height:100%;position:absolute;inset:0;object-position:52% center}.hero-visual:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(14,33,20,.6));pointer-events:none}.hero-visual figcaption{position:absolute;z-index:1;bottom:33px;left:31px;right:50px;color:white;display:flex;flex-direction:column;gap:7px}.image-caption{font:italic 1.45rem/1.3 var(--serif);max-width:300px}.photo-note{font-size:.75rem;letter-spacing:.025em;opacity:.86}.image-number{position:absolute;z-index:1;bottom:35px;right:25px;color:#fff;font-size:.75rem;writing-mode:vertical-rl;letter-spacing:.13em}.section-space{padding-block:110px}.about{display:grid;grid-template-columns:.72fr 1fr;gap:70px;padding-top:125px;padding-bottom:125px}.section-label{display:flex;gap:20px;align-items:baseline}.section-number{font:italic .875rem var(--serif);color:#818b78;letter-spacing:0}.about-content{max-width:685px}.about-paragraphs{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:32px;color:var(--muted);font-size:.9375rem;line-height:1.9}.quote-signature{border-top:1px solid var(--line);margin-top:33px;padding-top:27px;display:flex;align-items:center;gap:40px}.quote-signature p{font:italic 1.3rem/1.5 var(--serif);max-width:415px}.quote-signature span{font:italic 2.6rem var(--serif);color:#819066;transform:rotate(-8deg)}.services{background:var(--sage)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:70px;margin-bottom:54px}.section-heading h2{margin-top:23px}.section-intro{max-width:302px;color:var(--muted);font-size:.9375rem;line-height:1.8;margin-bottom:5px}.services-list{border-top:1px solid #c5cebb}.service{border-bottom:1px solid #c5cebb}.service summary{list-style:none;display:grid;grid-template-columns:55px 1.15fr 1fr 48px;align-items:center;gap:25px;padding:28px 0;cursor:pointer}.service summary::-webkit-details-marker{display:none}.service-index{font-size:.75rem;color:#7d8974}.service-title{font:400 clamp(1.35rem,2vw,1.75rem)/1.3 var(--serif);letter-spacing:-.025em}.service-short{color:var(--muted);font-size:.875rem;max-width:375px}.service-plus{justify-self:end;display:grid;place-items:center;width:42px;height:42px;border:1px solid #b6c1ab;border-radius:50%;font-size:1.5rem;font-weight:300;transition:transform .2s,background .2s}.service[open] .service-plus{transform:rotate(45deg);background:var(--lime)}.service-expanded{margin:0 80px 30px;max-width:790px;font-size:.9375rem;line-height:1.85;color:var(--muted);padding-left:0}.projects .section-heading{margin-bottom:26px}.demo-note{color:var(--muted);font-size:.75rem;line-height:1.6}.projects>.demo-note{margin-bottom:34px}.projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px 32px;align-items:start}.project-card:first-child{grid-column:1 / -1}.project-card button{display:block;width:100%;padding:0;border:0;background:none;text-align:left}.project-image{position:relative;overflow:hidden;background:#dbe0d1}.project-image>img{width:100%;aspect-ratio:1.45;transition:transform .65s;object-position:center}.project-card:first-child img{aspect-ratio:2.25;object-position:50% 64%}.project-card button:hover img{transform:scale(1.035)}.project-open{position:absolute;bottom:22px;right:22px;background:var(--paper);border-radius:50%;width:50px;height:50px;display:grid;place-items:center;font-size:1.4rem;transition:background .2s}.project-card button:hover .project-open{background:var(--lime)}.project-meta{display:flex;justify-content:space-between;gap:18px;align-items:baseline;margin-top:20px}.project-meta h3{font:400 1.75rem/1.3 var(--serif);letter-spacing:-.025em}.project-meta p{font-size:.75rem;color:var(--muted)}.project-caption{display:flex;align-items:center;gap:12px}.project-demo{font-size:.75rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.reviews{background:#eef0e6}.reviews-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.review-card{padding:0 10px 0 0}.review-card+.review-card{border-left:1px solid #d3d9c8;padding-left:70px}.quote-mark{font:400 4.8rem/.9 var(--serif);color:#899771;height:50px;display:block}.review-text{margin-inline:0;font:400 1.5rem/1.6 var(--serif);letter-spacing:-.02em;margin:14px 0 27px}.review-name{font-size:.875rem}.review-project{font-size:.75rem;color:var(--muted);margin-top:3px}.review-demo{font-size:.75rem;color:#69765e;display:block;margin-top:18px}.contact-section{background:var(--forest);color:#f2f3e9;padding-bottom:34px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px}.contact-section .eyebrow{color:#c0cbaa}.contact-section h2{font:400 clamp(3.9rem,7vw,6.75rem)/1.05 var(--serif);letter-spacing:-.055em;margin-top:30px}.contact-details{padding-top:38px;max-width:420px}.contact-description{font-size:1.1rem;line-height:1.8;color:#d4ddce;max-width:380px;margin-bottom:35px}.contact-link{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid #617362;font-size:1.1rem;gap:14px;overflow-wrap:anywhere}.contact-link:hover{color:#d2dbad}.contact-link span:last-child{font-size:1.5rem}.contact-empty{padding:22px 0;border-top:1px solid #617362;border-bottom:1px solid #617362;color:#d4ddce;font-size:.875rem}.location{color:#b8c6b2;font-size:.875rem;margin-top:22px}.contact-bottom{border-top:1px solid #617362;margin-top:85px;padding-top:27px;display:flex;align-items:center;justify-content:space-between;gap:30px}.contact-bottom>span{font:400 2.4rem/1 var(--serif);letter-spacing:-.06em}.contact-bottom p{font-size:.75rem;color:#bdc9b7}.contact-bottom a{display:grid;place-items:center;border:1px solid #83907c;width:40px;height:40px;border-radius:50%}.footer{padding-block:23px;display:flex;justify-content:space-between;gap:25px;font-size:.75rem;color:var(--muted)}dialog{padding:0;border:0;max-width:900px;width:calc(100% - 32px);max-height:92vh;background:var(--paper);color:var(--ink);overflow-y:auto}dialog::backdrop{background:rgba(19,32,23,.8);backdrop-filter:blur(5px)}dialog>img{width:100%;height:auto;max-height:55vh;object-fit:cover}.dialog-close{position:sticky;z-index:2;top:16px;float:right;margin:16px 16px -58px 0;background:var(--paper);border:none;border-radius:50%;width:42px;height:42px;font-size:1.8rem;line-height:1}.dialog-copy{padding:32px 40px 40px}.dialog-copy h2{margin:12px 0 20px;font-size:2.6rem}.dialog-copy>p:not(.eyebrow){max-width:650px;color:var(--muted)}.dialog-copy .demo-note{margin-top:15px}.skip-link{position:fixed;z-index:10;top:10px;left:20px;transform:translateY(-180%);padding:12px;background:var(--paper)}.skip-link:focus{transform:translateY(0)}.noscript-notice{padding:30px;background:#e3dfaf;position:fixed;bottom:0;z-index:10;width:100%}[hidden]{display:none!important}
@media(min-width:1600px){.hero{min-height:760px}.hero-visual{min-height:740px}.hero h1{font-size:6.2rem}.hero-copy{padding-top:72px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.header nav{gap:22px}.hero{gap:24px;min-height:650px}.hero-visual{min-height:625px;border-top-left-radius:130px}.hero h1{font-size:5.8vw}.hero-copy{padding-top:44px}.hero-description{max-width:320px}.section-space{padding-block:85px}.about{gap:50px;grid-template-columns:.5fr 1fr}.about-paragraphs{grid-template-columns:1fr;gap:18px}.section-heading{gap:40px}.service summary{grid-template-columns:35px 1.1fr 1fr 38px;gap:18px}.service-title{font-size:1.5rem}.service-short{font-size:.8125rem}.contact-grid{gap:70px}.reviews-grid{gap:36px}.review-card+.review-card{padding-left:36px}.review-text{font-size:1.3rem}}
@media(max-width:760px){html{scroll-padding-top:20px}.wrap{width:calc(100% - 40px)}.header{height:90px;position:relative;z-index:5}.brand-name{font-size:3rem}.brand-caption{font-size:.75rem;padding-left:12px;max-width:105px}.brand{gap:12px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;background:none;border:1px solid var(--line);border-radius:50%;padding:12px}.menu-toggle span{display:block;width:100%;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.header nav{display:none;position:absolute;top:80px;left:0;right:0;padding:24px;background:var(--paper);box-shadow:0 16px 30px #2339281a;flex-direction:column;align-items:stretch;gap:0}.header nav.is-open{display:flex}.header nav a{padding:12px 0;font-size:1rem}.header .nav-contact{margin-left:0;margin-top:10px;justify-content:space-between}.hero{grid-template-columns:1fr;padding-top:4px;gap:32px;padding-bottom:0}.hero-copy{padding-top:24px}.eyebrow{font-size:.75rem;letter-spacing:.11em;gap:12px}.hero h1{font-size:clamp(3.6rem,10.8vw,5.6rem);letter-spacing:-.055em;margin-top:24px;line-height:1.03}.hero h1 br:nth-of-type(2){display:initial}.hero h1 em{display:inline-block;margin-left:0}.hero-description{margin-top:24px;max-width:370px;font-size:.9375rem;line-height:1.8}.hero .button{margin-top:24px;min-height:54px}.hero-bottom{display:none}.hero-visual{height:500px;min-height:0;border-radius:100px 2px 2px 2px}.hero-visual>img{object-position:50% 55%}.hero-visual figcaption{bottom:25px;left:24px}.image-caption{font-size:1.35rem;max-width:235px}.photo-note{font-size:.75rem}.section-space{padding-block:70px}h2{font-size:2.55rem;line-height:1.16}.about{display:block}.section-label{margin-bottom:24px;gap:14px}.about-paragraphs{font-size:.9375rem;margin-top:26px;gap:18px}.quote-signature{gap:26px;margin-top:25px;padding-top:25px}.quote-signature p{font-size:1.15rem}.quote-signature span{font-size:2.2rem}.section-heading{display:block;margin-bottom:32px}.section-heading h2{margin-top:18px}.section-intro{max-width:370px;margin-top:22px;font-size:.9375rem}.service summary{grid-template-columns:24px 1fr 34px;gap:12px;padding:24px 0}.service-title{font-size:1.35rem}.service-short{grid-column:2;grid-row:2;font-size:.875rem;line-height:1.7;margin-top:0}.service-plus{grid-column:3;grid-row:1 / 3;width:34px;height:34px;font-size:1.2rem}.service-index{align-self:start;margin-top:5px}.service-expanded{margin:0 0 25px 36px;font-size:.875rem}.projects>.demo-note{margin-bottom:26px}.projects-grid{grid-template-columns:1fr;gap:33px}.project-card:first-child{grid-column:auto}.project-card:first-child img{aspect-ratio:1.25}.project-image>img{aspect-ratio:1.25}.project-open{width:43px;height:43px;bottom:18px;right:18px}.project-meta{margin-top:15px;align-items:start}.project-meta h3{font-size:1.55rem}.project-meta p{max-width:100px;text-align:right;font-size:.75rem;margin-top:4px}.project-caption{display:block}.project-demo{display:block;margin-top:5px}.reviews-grid{grid-template-columns:1fr;gap:32px}.review-card+.review-card{border-left:0;border-top:1px solid #d3d9c8;padding:33px 0 0}.review-text{font-size:1.35rem;line-height:1.6;margin-bottom:22px}.review-demo{margin-top:12px}.contact-grid{grid-template-columns:1fr;gap:30px}.contact-section h2{font-size:4.5rem;margin-top:25px}.contact-details{padding-top:0;max-width:100%}.contact-description{font-size:1rem;margin-bottom:26px;max-width:370px}.contact-link{font-size:1rem}.contact-bottom{margin-top:55px;gap:20px}.contact-bottom p{max-width:155px;font-size:.75rem}.contact-bottom>span{font-size:2rem}.contact-section{padding-bottom:28px}.footer{flex-direction:column;gap:7px;padding-block:20px;font-size:.75rem}.dialog-copy{padding:26px 23px}.dialog-copy h2{font-size:2rem}.dialog-copy>p{font-size:.9375rem}}
@media(max-width:380px){.wrap{width:calc(100% - 32px)}.hero h1{font-size:3.15rem}.hero-visual{height:420px}.contact-section h2{font-size:3.9rem}.project-meta{gap:10px}.project-meta h3{font-size:1.35rem}.project-meta p{font-size:.75rem}.contact-bottom p{max-width:135px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.hero h1{overflow-wrap:break-word}.about-paragraphs,.section-intro{font-size:1rem}.service-short{font-size:.9375rem}.hero-description{font-size:1rem}
